@charset "UTF-8";
/* ==========================================================================
   Normalize.scss settings
   ========================================================================== */
/**
 * Includes legacy browser support IE6/7
 *
 * Set to false if you want to drop support for IE6 and IE7
 */
/* Base
   ========================================================================== */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS and IE text size adjust after device orientation change,
 *    without disabling user zoom.
 * 3. Corrects text resizing oddly in IE 6/7 when body `font-size` is set using
 *  `em` units.
 */
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 6/7/8/9 and Firefox 3.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
 * Prevents 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; }

/**
 * Addresses 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
   ========================================================================== */
/**
 * 1. Remove border when inside `a` element in IE 8/9/10.
 * 2. Improves image quality when scaled in IE 7.
 */
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.
 * Correct font family set oddly in IE 6, Safari 4/5, and Chrome.
 */
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.
 * 4. Improves appearance and consistency in all browsers.
 */
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.
 * 4. Removes inner spacing in IE 7 without affecting normal text inputs.
 *  Known issue: inner spacing remains in IE 6.
 */
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; }

/**
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 *  Known issue: excess padding remains in IE 6.
 */
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.
 */
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.
 * 3. Corrects text not wrapping in Firefox 3.
 * 4. Corrects alignment displayed oddly in IE 6/7.
 */
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; }

@-webkit-keyframes plyr-progress {
  to {
    background-position: 25px 0; } }

@keyframes plyr-progress {
  to {
    background-position: 25px 0; } }

@-webkit-keyframes plyr-popup {
  0% {
    opacity: 0.5;
    -webkit-transform: translateY(10px);
            transform: translateY(10px); }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@keyframes plyr-popup {
  0% {
    opacity: 0.5;
    -webkit-transform: translateY(10px);
            transform: translateY(10px); }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@-webkit-keyframes plyr-fade-in {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes plyr-fade-in {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

.plyr {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  direction: ltr;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 500;
  line-height: 1.7;
  max-width: 100%;
  min-width: 200px;
  position: relative;
  text-shadow: none;
  transition: box-shadow 0.3s ease; }
  .plyr video,
  .plyr audio {
    border-radius: inherit;
    height: auto;
    vertical-align: middle;
    width: 100%; }
  .plyr:focus {
    outline: 0; }

.plyr--full-ui {
  box-sizing: border-box; }
  .plyr--full-ui *,
  .plyr--full-ui *::after,
  .plyr--full-ui *::before {
    box-sizing: inherit; }

.plyr--full-ui a,
.plyr--full-ui button,
.plyr--full-ui input,
.plyr--full-ui label {
  -ms-touch-action: manipulation;
      touch-action: manipulation; }

.plyr__badge {
  background: #4f5b5f;
  border-radius: 2px;
  color: #fff;
  font-size: 9px;
  line-height: 1;
  padding: 3px 4px; }

.plyr--full-ui ::-webkit-media-text-track-container {
  display: none; }

.plyr__captions {
  -webkit-animation: plyr-fade-in 0.3s ease;
          animation: plyr-fade-in 0.3s ease;
  bottom: 0;
  color: #fff;
  display: none;
  font-size: 14px;
  left: 0;
  padding: 10px;
  position: absolute;
  text-align: center;
  -webkit-transform: translateY(-40px);
          transform: translateY(-40px);
  transition: -webkit-transform 0.4s ease-in-out;
  transition: transform 0.4s ease-in-out;
  width: 100%; }
  .plyr__captions span {
    background: rgba(0, 0, 0, 0.8);
    border-radius: 2px;
    -webkit-box-decoration-break: clone;
            box-decoration-break: clone;
    line-height: 185%;
    padding: 0.2em 0.5em;
    white-space: pre-wrap; }
    .plyr__captions span div {
      display: inline; }
  .plyr__captions span:empty {
    display: none; }
  @media (min-width: 480px) {
    .plyr__captions {
      font-size: 16px;
      padding: 20px; } }
  @media (min-width: 768px) {
    .plyr__captions {
      font-size: 18px; } }

.plyr--captions-active .plyr__captions {
  display: block; }

.plyr--hide-controls .plyr__captions {
  -webkit-transform: translateY(-15px);
          transform: translateY(-15px); }

.plyr__control {
  background: transparent;
  border: 0;
  border-radius: 3px;
  color: inherit;
  cursor: pointer;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  overflow: visible;
  padding: 7px;
  position: relative;
  transition: all 0.3s ease; }
  .plyr__control svg {
    display: block;
    fill: currentColor;
    height: 18px;
    pointer-events: none;
    width: 18px; }
  .plyr__control:focus {
    outline: 0; }
  .plyr__control.plyr__tab-focus {
    box-shadow: 0 0 0 3px rgba(237, 37, 37, 0.35);
    outline: 0; }

.plyr__control[aria-pressed='false'] .icon--pressed,
.plyr__control[aria-pressed='true'] .icon--not-pressed,
.plyr__control[aria-pressed='false'] .label--pressed,
.plyr__control[aria-pressed='true'] .label--not-pressed {
  display: none; }

.plyr--audio .plyr__control.plyr__tab-focus, .plyr--audio .plyr__control:hover, .plyr--audio .plyr__control[aria-expanded='true'] {
  background: #ed2525;
  color: #fff; }

.plyr__control--overlaid {
  background: rgba(237, 37, 37, 0.8);
  border: 0;
  border-radius: 100%;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);
  color: #fff;
  display: none;
  left: 50%;
  padding: 15px;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 2; }
  .plyr__control--overlaid svg {
    height: 20px;
    left: 2px;
    position: relative;
    width: 20px; }
  .plyr__control--overlaid:hover, .plyr__control--overlaid:focus {
    background: #ed2525; }

.plyr--playing .plyr__control--overlaid {
  opacity: 0;
  visibility: hidden; }

.plyr--full-ui.plyr--video .plyr__control--overlaid {
  display: block; }

.plyr--full-ui ::-webkit-media-controls {
  display: none; }

.plyr__controls {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-align: center; }
  .plyr__controls > .plyr__control,
  .plyr__controls .plyr__progress,
  .plyr__controls .plyr__time,
  .plyr__controls .plyr__menu {
    margin-left: 5px; }
    .plyr__controls > .plyr__control:first-child,
    .plyr__controls > .plyr__control:first-child + [data-plyr='pause'],
    .plyr__controls .plyr__progress:first-child,
    .plyr__controls .plyr__progress:first-child + [data-plyr='pause'],
    .plyr__controls .plyr__time:first-child,
    .plyr__controls .plyr__time:first-child + [data-plyr='pause'],
    .plyr__controls .plyr__menu:first-child,
    .plyr__controls .plyr__menu:first-child + [data-plyr='pause'] {
      margin-left: 0; }
  .plyr__controls .plyr__volume {
    margin-left: 5px; }
  @media (min-width: 480px) {
    .plyr__controls > .plyr__control,
    .plyr__controls .plyr__progress,
    .plyr__controls .plyr__time,
    .plyr__controls .plyr__menu {
      margin-left: 10px; }
    .plyr__controls > .plyr__control + .plyr__control,
    .plyr__controls .plyr__menu + .plyr__control,
    .plyr__controls > .plyr__control + .plyr__menu {
      margin-left: 5px; } }

.plyr--video .plyr__controls {
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.7));
  border-bottom-left-radius: inherit;
  border-bottom-right-radius: inherit;
  bottom: 0;
  color: #fff;
  left: 0;
  padding: 35px 10px 10px;
  position: absolute;
  right: 0;
  transition: opacity 0.4s ease-in-out, -webkit-transform 0.4s ease-in-out;
  transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out;
  z-index: 2; }
  .plyr--video .plyr__controls .plyr__control svg {
    -webkit-filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.15));
            filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.15)); }
  .plyr--video .plyr__controls .plyr__control.plyr__tab-focus, .plyr--video .plyr__controls .plyr__control:hover, .plyr--video .plyr__controls .plyr__control[aria-expanded='true'] {
    background: #ed2525;
    color: #fff; }

.plyr--audio .plyr__controls {
  background: #fff;
  border-radius: inherit;
  color: #4f5b5f;
  padding: 10px; }

.plyr--video.plyr--hide-controls .plyr__controls {
  opacity: 0;
  pointer-events: none;
  -webkit-transform: translateY(100%);
          transform: translateY(100%); }

.plyr [data-plyr='captions'],
.plyr [data-plyr='pip'],
.plyr [data-plyr='airplay'],
.plyr [data-plyr='fullscreen'] {
  display: none; }

.plyr--captions-enabled [data-plyr='captions'],
.plyr--pip-supported [data-plyr='pip'],
.plyr--airplay-supported [data-plyr='airplay'],
.plyr--fullscreen-enabled [data-plyr='fullscreen'] {
  display: inline-block; }

.plyr__video-embed {
  height: 0;
  padding-bottom: 56.25%;
  position: relative; }
  .plyr__video-embed iframe {
    border: 0;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    width: 100%; }
  .plyr__video-embed > div {
    padding-bottom: 200%;
    position: relative;
    -webkit-transform: translateY(-35.9375%);
            transform: translateY(-35.9375%); }

.plyr--full-ui .plyr__video-embed iframe {
  pointer-events: none; }

.plyr__menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative; }
  .plyr__menu .plyr__control svg {
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease; }
  .plyr__menu .plyr__control[aria-expanded='true'] svg {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg); }
  .plyr__menu .plyr__control[aria-expanded='true'] .plyr__tooltip {
    display: none; }
  .plyr__menu__container {
    -webkit-animation: plyr-popup 0.2s ease;
            animation: plyr-popup 0.2s ease;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 4px;
    bottom: 100%;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
    color: #4f5b5f;
    font-size: 16px;
    margin-bottom: 10px;
    position: absolute;
    right: -3px;
    text-align: left;
    white-space: nowrap;
    z-index: 1; }
    .plyr__menu__container > div {
      overflow: hidden;
      transition: height 0.35s cubic-bezier(0.4, 0, 0.2, 1), width 0.35s cubic-bezier(0.4, 0, 0.2, 1); }
    .plyr__menu__container::after {
      border: 4px solid transparent;
      border-top-color: rgba(255, 255, 255, 0.9);
      content: '';
      height: 0;
      position: absolute;
      right: 15px;
      top: 100%;
      width: 0; }
    .plyr__menu__container ul {
      list-style: none;
      margin: 0;
      overflow: hidden;
      padding: 7px; }
      .plyr__menu__container ul li {
        margin-top: 2px; }
        .plyr__menu__container ul li:first-child {
          margin-top: 0; }
    .plyr__menu__container .plyr__control {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      color: #4f5b5f;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      padding: 4px 14px;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;
      width: 100%; }
      .plyr__menu__container .plyr__control::after {
        border: 4px solid transparent;
        content: '';
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
                transform: translateY(-50%);
        transition: border-color 0.2s ease; }
      .plyr__menu__container .plyr__control--forward {
        padding-right: 28px; }
        .plyr__menu__container .plyr__control--forward::after {
          border-left-color: rgba(79, 91, 95, 0.8);
          right: 5px; }
        .plyr__menu__container .plyr__control--forward.plyr__tab-focus::after, .plyr__menu__container .plyr__control--forward:hover::after {
          border-left-color: currentColor; }
      .plyr__menu__container .plyr__control--back {
        font-weight: 500;
        margin: 7px;
        margin-bottom: 3px;
        padding-left: 28px;
        position: relative;
        width: calc(100% - 14px); }
        .plyr__menu__container .plyr__control--back::after {
          border-right-color: rgba(79, 91, 95, 0.8);
          left: 7px; }
        .plyr__menu__container .plyr__control--back::before {
          background: #b7c5cd;
          box-shadow: 0 1px 0 #fff;
          content: '';
          height: 1px;
          left: 0;
          margin-top: 4px;
          overflow: hidden;
          position: absolute;
          right: 0;
          top: 100%; }
        .plyr__menu__container .plyr__control--back.plyr__tab-focus::after, .plyr__menu__container .plyr__control--back:hover::after {
          border-right-color: currentColor; }
    .plyr__menu__container label.plyr__control {
      padding-left: 7px; }
      .plyr__menu__container label.plyr__control input[type='radio'] + span {
        background: rgba(0, 0, 0, 0.1);
        border-radius: 100%;
        display: block;
        -ms-flex-negative: 0;
            flex-shrink: 0;
        height: 16px;
        margin-right: 10px;
        position: relative;
        transition: all 0.3s ease;
        width: 16px; }
        .plyr__menu__container label.plyr__control input[type='radio'] + span::after {
          background: #fff;
          border-radius: 100%;
          content: '';
          height: 6px;
          left: 5px;
          opacity: 0;
          position: absolute;
          top: 5px;
          -webkit-transform: scale(0);
                  transform: scale(0);
          transition: -webkit-transform 0.3s ease, opacity 0.3s ease;
          transition: transform 0.3s ease, opacity 0.3s ease;
          width: 6px; }
      .plyr__menu__container label.plyr__control input[type='radio']:checked + span {
        background: #ed2525; }
        .plyr__menu__container label.plyr__control input[type='radio']:checked + span::after {
          opacity: 1;
          -webkit-transform: scale(1);
                  transform: scale(1); }
      .plyr__menu__container label.plyr__control input[type='radio']:focus + span {
        box-shadow: 0 0 0 3px rgba(237, 37, 37, 0.35);
        outline: 0; }
      .plyr__menu__container label.plyr__control.plyr__tab-focus input[type='radio'] + span,
      .plyr__menu__container label.plyr__control:hover input[type='radio'] + span {
        background: rgba(0, 0, 0, 0.1); }
    .plyr__menu__container .plyr__menu__value {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      margin-left: auto;
      margin-right: -7px;
      overflow: hidden;
      padding-left: 25px;
      pointer-events: none; }

.plyr__progress {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  position: relative; }
  .plyr__progress input[type='range'] {
    position: relative;
    z-index: 2; }
  .plyr__progress .plyr__tooltip {
    font-size: 14px;
    left: 0; }

.plyr__progress--buffer {
  -webkit-appearance: none;
  /* stylelint-disable-line */
  background: transparent;
  border: 0;
  border-radius: 100px;
  height: 6px;
  left: 0;
  margin: -3px 0 0;
  padding: 0;
  position: absolute;
  top: 50%;
  width: 100%; }
  .plyr__progress--buffer::-webkit-progress-bar {
    background: transparent;
    transition: width 0.2s ease; }
  .plyr__progress--buffer::-webkit-progress-value {
    background: currentColor;
    border-radius: 100px;
    min-width: 6px; }
  .plyr__progress--buffer::-moz-progress-bar {
    background: currentColor;
    border-radius: 100px;
    min-width: 6px;
    transition: width 0.2s ease; }
  .plyr__progress--buffer::-ms-fill {
    border-radius: 100px;
    transition: width 0.2s ease; }

.plyr--video .plyr__progress--buffer {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);
  color: rgba(255, 255, 255, 0.25); }

.plyr--audio .plyr__progress--buffer {
  color: rgba(183, 197, 205, 0.66); }

.plyr--loading .plyr__progress--buffer {
  -webkit-animation: plyr-progress 1s linear infinite;
          animation: plyr-progress 1s linear infinite;
  background-image: linear-gradient(-45deg, rgba(47, 52, 61, 0.6) 25%, transparent 25%, transparent 50%, rgba(47, 52, 61, 0.6) 50%, rgba(47, 52, 61, 0.6) 75%, transparent 75%, transparent);
  background-repeat: repeat-x;
  background-size: 25px 25px;
  color: transparent; }

.plyr--video.plyr--loading .plyr__progress--buffer {
  background-color: rgba(255, 255, 255, 0.25); }

.plyr--audio.plyr--loading .plyr__progress--buffer {
  background-color: rgba(183, 197, 205, 0.66); }

.plyr--full-ui input[type='range'] {
  -webkit-appearance: none;
  /* stylelint-disable-line */
  background: transparent;
  border: 0;
  border-radius: 28px;
  color: #ed2525;
  display: block;
  height: 20px;
  margin: 0;
  padding: 0;
  transition: box-shadow 0.3s ease;
  width: 100%; }
  .plyr--full-ui input[type='range']::-webkit-slider-runnable-track {
    background: transparent;
    border: 0;
    border-radius: 3px;
    height: 6px;
    transition: all 0.3s ease;
    -webkit-user-select: none;
            user-select: none;
    background-image: linear-gradient(to right, currentColor var(--value), transparent var(--value)); }
  .plyr--full-ui input[type='range']::-webkit-slider-thumb {
    background: #fff;
    border: 0;
    border-radius: 100%;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2);
    box-sizing: border-box;
    height: 14px;
    position: relative;
    transition: all 0.2s ease;
    width: 14px;
    -webkit-appearance: none;
    /* stylelint-disable-line */
    margin-top: -4px; }
  .plyr--full-ui input[type='range']::-moz-range-track {
    background: transparent;
    border: 0;
    border-radius: 3px;
    height: 6px;
    transition: all 0.3s ease;
    -moz-user-select: none;
         user-select: none; }
  .plyr--full-ui input[type='range']::-moz-range-thumb {
    background: #fff;
    border: 0;
    border-radius: 100%;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2);
    box-sizing: border-box;
    height: 14px;
    position: relative;
    transition: all 0.2s ease;
    width: 14px; }
  .plyr--full-ui input[type='range']::-moz-range-progress {
    background: currentColor;
    border-radius: 3px;
    height: 6px; }
  .plyr--full-ui input[type='range']::-ms-track {
    background: transparent;
    border: 0;
    border-radius: 3px;
    height: 6px;
    transition: all 0.3s ease;
    -ms-user-select: none;
        user-select: none;
    color: transparent; }
  .plyr--full-ui input[type='range']::-ms-fill-upper {
    background: transparent;
    border: 0;
    border-radius: 3px;
    height: 6px;
    transition: all 0.3s ease;
    -ms-user-select: none;
        user-select: none; }
  .plyr--full-ui input[type='range']::-ms-fill-lower {
    background: transparent;
    border: 0;
    border-radius: 3px;
    height: 6px;
    transition: all 0.3s ease;
    -ms-user-select: none;
        user-select: none;
    background: currentColor; }
  .plyr--full-ui input[type='range']::-ms-thumb {
    background: #fff;
    border: 0;
    border-radius: 100%;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2);
    box-sizing: border-box;
    height: 14px;
    position: relative;
    transition: all 0.2s ease;
    width: 14px;
    margin-top: 0; }
  .plyr--full-ui input[type='range']::-ms-tooltip {
    display: none; }
  .plyr--full-ui input[type='range']:focus {
    outline: 0; }
  .plyr--full-ui input[type='range']::-moz-focus-outer {
    border: 0; }
  .plyr--full-ui input[type='range'].plyr__tab-focus::-webkit-slider-runnable-track {
    box-shadow: 0 0 0 3px rgba(237, 37, 37, 0.35);
    outline: 0; }
  .plyr--full-ui input[type='range'].plyr__tab-focus::-moz-range-track {
    box-shadow: 0 0 0 3px rgba(237, 37, 37, 0.35);
    outline: 0; }
  .plyr--full-ui input[type='range'].plyr__tab-focus::-ms-track {
    box-shadow: 0 0 0 3px rgba(237, 37, 37, 0.35);
    outline: 0; }

.plyr--full-ui.plyr--video input[type='range']::-webkit-slider-runnable-track {
  background-color: rgba(255, 255, 255, 0.25); }

.plyr--full-ui.plyr--video input[type='range']::-moz-range-track {
  background-color: rgba(255, 255, 255, 0.25); }

.plyr--full-ui.plyr--video input[type='range']::-ms-track {
  background-color: rgba(255, 255, 255, 0.25); }

.plyr--full-ui.plyr--video input[type='range']:active::-webkit-slider-thumb {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2), 0 0 0 3px rgba(255, 255, 255, 0.5); }

.plyr--full-ui.plyr--video input[type='range']:active::-moz-range-thumb {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2), 0 0 0 3px rgba(255, 255, 255, 0.5); }

.plyr--full-ui.plyr--video input[type='range']:active::-ms-thumb {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2), 0 0 0 3px rgba(255, 255, 255, 0.5); }

.plyr--full-ui.plyr--audio input[type='range']::-webkit-slider-runnable-track {
  background-color: rgba(183, 197, 205, 0.66); }

.plyr--full-ui.plyr--audio input[type='range']::-moz-range-track {
  background-color: rgba(183, 197, 205, 0.66); }

.plyr--full-ui.plyr--audio input[type='range']::-ms-track {
  background-color: rgba(183, 197, 205, 0.66); }

.plyr--full-ui.plyr--audio input[type='range']:active::-webkit-slider-thumb {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2), 0 0 0 3px rgba(0, 0, 0, 0.1); }

.plyr--full-ui.plyr--audio input[type='range']:active::-moz-range-thumb {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2), 0 0 0 3px rgba(0, 0, 0, 0.1); }

.plyr--full-ui.plyr--audio input[type='range']:active::-ms-thumb {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2), 0 0 0 3px rgba(0, 0, 0, 0.1); }

.plyr__time {
  font-size: 14px; }

.plyr__time + .plyr__time::before {
  content: '\2044';
  margin-right: 10px; }

@media (max-width: 767px) {
  .plyr__time + .plyr__time {
    display: none; } }

.plyr--video .plyr__time {
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.15); }

.plyr__tooltip {
  background: rgba(255, 255, 255, 0.9);
  border-radius: 3px;
  bottom: 100%;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
  color: #4f5b5f;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.3;
  margin-bottom: 10px;
  opacity: 0;
  padding: 5px 7.5px;
  pointer-events: none;
  position: absolute;
  -webkit-transform: translate(-50%, 10px) scale(0.8);
          transform: translate(-50%, 10px) scale(0.8);
  -webkit-transform-origin: 50% 100%;
          transform-origin: 50% 100%;
  transition: -webkit-transform 0.2s 0.1s ease, opacity 0.2s 0.1s ease;
  transition: transform 0.2s 0.1s ease, opacity 0.2s 0.1s ease;
  z-index: 2; }
  .plyr__tooltip::before {
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 4px solid rgba(255, 255, 255, 0.9);
    bottom: -4px;
    content: '';
    height: 0;
    left: 50%;
    position: absolute;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 0;
    z-index: 2; }

.plyr .plyr__control:hover .plyr__tooltip,
.plyr .plyr__control.plyr__tab-focus .plyr__tooltip,
.plyr__tooltip--visible {
  opacity: 1;
  -webkit-transform: translate(-50%, 0) scale(1);
          transform: translate(-50%, 0) scale(1); }

.plyr .plyr__control:hover .plyr__tooltip {
  z-index: 3; }

.plyr__controls > .plyr__control:first-child .plyr__tooltip,
.plyr__controls > .plyr__control:first-child + .plyr__control .plyr__tooltip {
  left: 0;
  -webkit-transform: translate(0, 10px) scale(0.8);
          transform: translate(0, 10px) scale(0.8);
  -webkit-transform-origin: 0 100%;
          transform-origin: 0 100%; }
  .plyr__controls > .plyr__control:first-child .plyr__tooltip::before,
  .plyr__controls > .plyr__control:first-child + .plyr__control .plyr__tooltip::before {
    left: 16px; }

.plyr__controls > .plyr__control:last-child .plyr__tooltip {
  right: 0;
  -webkit-transform: translate(0, 10px) scale(0.8);
          transform: translate(0, 10px) scale(0.8);
  -webkit-transform-origin: 100% 100%;
          transform-origin: 100% 100%; }
  .plyr__controls > .plyr__control:last-child .plyr__tooltip::before {
    left: auto;
    right: 16px;
    -webkit-transform: translateX(50%);
            transform: translateX(50%); }

.plyr__controls > .plyr__control:first-child:hover .plyr__tooltip,
.plyr__controls > .plyr__control:first-child.plyr__tab-focus .plyr__tooltip,
.plyr__controls > .plyr__control:first-child .plyr__tooltip--visible,
.plyr__controls > .plyr__control:first-child + .plyr__control:hover .plyr__tooltip,
.plyr__controls > .plyr__control:first-child + .plyr__control.plyr__tab-focus .plyr__tooltip,
.plyr__controls > .plyr__control:first-child + .plyr__control .plyr__tooltip--visible,
.plyr__controls > .plyr__control:last-child:hover .plyr__tooltip,
.plyr__controls > .plyr__control:last-child.plyr__tab-focus .plyr__tooltip,
.plyr__controls > .plyr__control:last-child .plyr__tooltip--visible {
  -webkit-transform: translate(0, 0) scale(1);
          transform: translate(0, 0) scale(1); }

.plyr--video {
  overflow: hidden; }
  .plyr--video.plyr--menu-open {
    overflow: visible; }

.plyr__video-wrapper {
  background: #000;
  border-radius: inherit;
  overflow: hidden;
  position: relative;
  z-index: 0; }

.plyr__volume {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  position: relative; }
  .plyr__volume input[type='range'] {
    position: relative;
    z-index: 2; }
  @media (min-width: 480px) {
    .plyr__volume {
      max-width: 50px; } }
  @media (min-width: 768px) {
    .plyr__volume {
      max-width: 80px; } }

.plyr--is-ios .plyr__volume,
.plyr--is-ios [data-plyr='mute'] {
  display: none !important; }

.plyr--has-error {
  pointer-events: none; }
  .plyr--has-error::after {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background: black;
    color: #fff;
    content: attr(data-plyr-error);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 16px;
    height: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    left: 0;
    position: absolute;
    text-align: center;
    text-shadow: 0 1px 1px black;
    top: 0;
    width: 100%;
    z-index: 10; }

.plyr:-webkit-full-screen {
  background: #000;
  border-radius: 0 !important;
  height: 100%;
  margin: 0;
  width: 100%; }

.plyr:-moz-full-screen {
  background: #000;
  border-radius: 0 !important;
  height: 100%;
  margin: 0;
  width: 100%; }

.plyr:-ms-fullscreen {
  background: #000;
  border-radius: 0 !important;
  height: 100%;
  margin: 0;
  width: 100%; }

.plyr:fullscreen {
  background: #000;
  border-radius: 0 !important;
  height: 100%;
  margin: 0;
  width: 100%; }
  .plyr:-webkit-full-screen video {
    height: 100%; }
  .plyr:-moz-full-screen video {
    height: 100%; }
  .plyr:-ms-fullscreen video {
    height: 100%; }
  .plyr:fullscreen video {
    height: 100%; }
  .plyr:-webkit-full-screen .plyr__video-wrapper {
    height: 100%;
    width: 100%; }
  .plyr:-moz-full-screen .plyr__video-wrapper {
    height: 100%;
    width: 100%; }
  .plyr:-ms-fullscreen .plyr__video-wrapper {
    height: 100%;
    width: 100%; }
  .plyr:fullscreen .plyr__video-wrapper {
    height: 100%;
    width: 100%; }
  .plyr:-webkit-full-screen .plyr__video-embed {
    overflow: visible; }
  .plyr:-moz-full-screen .plyr__video-embed {
    overflow: visible; }
  .plyr:-ms-fullscreen .plyr__video-embed {
    overflow: visible; }
  .plyr:fullscreen .plyr__video-embed {
    overflow: visible; }
  .plyr:-webkit-full-screen.plyr--vimeo .plyr__video-wrapper {
    height: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%); }
  .plyr:-moz-full-screen.plyr--vimeo .plyr__video-wrapper {
    height: 0;
    top: 50%;
    transform: translateY(-50%); }
  .plyr:-ms-fullscreen.plyr--vimeo .plyr__video-wrapper {
    height: 0;
    top: 50%;
    transform: translateY(-50%); }
  .plyr:fullscreen.plyr--vimeo .plyr__video-wrapper {
    height: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%); }
  .plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen {
    display: block; }
  .plyr:-moz-full-screen .plyr__control .icon--exit-fullscreen {
    display: block; }
  .plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen {
    display: block; }
  .plyr:fullscreen .plyr__control .icon--exit-fullscreen {
    display: block; }
    .plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen + svg {
      display: none; }
    .plyr:-moz-full-screen .plyr__control .icon--exit-fullscreen + svg {
      display: none; }
    .plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen + svg {
      display: none; }
    .plyr:fullscreen .plyr__control .icon--exit-fullscreen + svg {
      display: none; }
  .plyr:-webkit-full-screen.plyr--hide-controls {
    cursor: none; }
  .plyr:-moz-full-screen.plyr--hide-controls {
    cursor: none; }
  .plyr:-ms-fullscreen.plyr--hide-controls {
    cursor: none; }
  .plyr:fullscreen.plyr--hide-controls {
    cursor: none; }
  @media (min-width: 1024px) {
    .plyr:-webkit-full-screen .plyr__captions {
      font-size: 21px; }
    .plyr:-moz-full-screen .plyr__captions {
      font-size: 21px; }
    .plyr:-ms-fullscreen .plyr__captions {
      font-size: 21px; }
    .plyr:fullscreen .plyr__captions {
      font-size: 21px; } }

/* stylelint-disable-next-line */
.plyr:-webkit-full-screen {
  background: #000;
  border-radius: 0 !important;
  height: 100%;
  margin: 0;
  width: 100%; }
  .plyr:-webkit-full-screen video {
    height: 100%; }
  .plyr:-webkit-full-screen .plyr__video-wrapper {
    height: 100%;
    width: 100%; }
  .plyr:-webkit-full-screen .plyr__video-embed {
    overflow: visible; }
  .plyr:-webkit-full-screen.plyr--vimeo .plyr__video-wrapper {
    height: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%); }
  .plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen {
    display: block; }
    .plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen + svg {
      display: none; }
  .plyr:-webkit-full-screen.plyr--hide-controls {
    cursor: none; }
  @media (min-width: 1024px) {
    .plyr:-webkit-full-screen .plyr__captions {
      font-size: 21px; } }

/* stylelint-disable-next-line */
.plyr:-moz-full-screen {
  background: #000;
  border-radius: 0 !important;
  height: 100%;
  margin: 0;
  width: 100%; }
  .plyr:-moz-full-screen video {
    height: 100%; }
  .plyr:-moz-full-screen .plyr__video-wrapper {
    height: 100%;
    width: 100%; }
  .plyr:-moz-full-screen .plyr__video-embed {
    overflow: visible; }
  .plyr:-moz-full-screen.plyr--vimeo .plyr__video-wrapper {
    height: 0;
    top: 50%;
    transform: translateY(-50%); }
  .plyr:-moz-full-screen .plyr__control .icon--exit-fullscreen {
    display: block; }
    .plyr:-moz-full-screen .plyr__control .icon--exit-fullscreen + svg {
      display: none; }
  .plyr:-moz-full-screen.plyr--hide-controls {
    cursor: none; }
  @media (min-width: 1024px) {
    .plyr:-moz-full-screen .plyr__captions {
      font-size: 21px; } }

/* stylelint-disable-next-line */
.plyr:-ms-fullscreen {
  background: #000;
  border-radius: 0 !important;
  height: 100%;
  margin: 0;
  width: 100%; }
  .plyr:-ms-fullscreen video {
    height: 100%; }
  .plyr:-ms-fullscreen .plyr__video-wrapper {
    height: 100%;
    width: 100%; }
  .plyr:-ms-fullscreen .plyr__video-embed {
    overflow: visible; }
  .plyr:-ms-fullscreen.plyr--vimeo .plyr__video-wrapper {
    height: 0;
    top: 50%;
    transform: translateY(-50%); }
  .plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen {
    display: block; }
    .plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen + svg {
      display: none; }
  .plyr:-ms-fullscreen.plyr--hide-controls {
    cursor: none; }
  @media (min-width: 1024px) {
    .plyr:-ms-fullscreen .plyr__captions {
      font-size: 21px; } }

.plyr--fullscreen-fallback {
  background: #000;
  border-radius: 0 !important;
  height: 100%;
  margin: 0;
  width: 100%;
  bottom: 0;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 10000000; }
  .plyr--fullscreen-fallback video {
    height: 100%; }
  .plyr--fullscreen-fallback .plyr__video-wrapper {
    height: 100%;
    width: 100%; }
  .plyr--fullscreen-fallback .plyr__video-embed {
    overflow: visible; }
  .plyr--fullscreen-fallback.plyr--vimeo .plyr__video-wrapper {
    height: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%); }
  .plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen {
    display: block; }
    .plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen + svg {
      display: none; }
  .plyr--fullscreen-fallback.plyr--hide-controls {
    cursor: none; }
  @media (min-width: 1024px) {
    .plyr--fullscreen-fallback .plyr__captions {
      font-size: 21px; } }

.plyr__ads {
  bottom: 0;
  cursor: pointer;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 3; }
  .plyr__ads::after {
    background: rgba(47, 52, 61, 0.8);
    border-radius: 2px;
    bottom: 10px;
    color: #fff;
    content: attr(data-badge-text);
    font-size: 11px;
    padding: 2px 6px;
    pointer-events: none;
    position: absolute;
    right: 10px;
    z-index: 3; }
  .plyr__ads::after:empty {
    display: none; }

.plyr__cues {
  background: currentColor;
  display: block;
  height: 6px;
  left: 0;
  margin: -3px 0 0;
  opacity: 0.8;
  position: absolute;
  top: 50%;
  width: 3px;
  z-index: 3; }

.plyr--no-transition {
  transition: none !important; }

.plyr--full-ui [hidden] {
  display: none; }

.plyr--full-ui [aria-hidden='true'] {
  display: none; }

.plyr__sr-only {
  clip: rect(1px, 1px, 1px, 1px);
  overflow: hidden;
  border: 0 !important;
  height: 1px !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important; }

.plyr__control--overlaid {
  background: transparent url("/dist/play-button.svg") no-repeat center center;
  background-size: 100px 100px;
  padding: 0;
  width: 100px;
  height: 100px;
  box-shadow: none;
  opacity: 0.8; }
  .plyr__control--overlaid svg {
    display: none; }
  .plyr__control--overlaid:hover, .plyr__control--overlaid:focus {
    background: transparent url("/dist/play-button.svg") no-repeat center center;
    background-size: 100px 100px;
    opacity: 1; }

html,
body {
  height: 100%;
  position: relative; }

.header {
  position: relative;
  width: 100%; }

@media (max-width: 767px) {
  .hide-mobile {
    display: none; } }

@media (min-width: 768px) {
  .hide-desktop {
    display: none; } }

body {
  color: #f2f2f2;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  background-color: #1a1a1a; }
  @media (max-width: 767px) {
    body {
      background-color: #1a1a1a !important;
      background-image: none !important; } }
  @media (min-width: 480px) and (max-width: 767px) {
    body {
      background-image: none !important;
      background-color: #1a1a1a !important; } }

a {
  color: #c9c9c9; }

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

@media (min-width: 768px) {
  .video--latest {
    margin-left: -25px;
    margin-right: -25px; } }

@media (min-width: 768px) {
  .header,
  nav.secondary ul,
  .video--single,
  .outer-wrapper {
    max-width: 768px;
    margin-left: auto;
    margin-right: auto; }
    .header:after,
    nav.secondary ul:after,
    .video--single:after,
    .outer-wrapper:after {
      content: " ";
      display: block;
      clear: both; } }

@media (min-width: 1024px) {
  .header,
  nav.secondary ul,
  .video--single,
  .outer-wrapper {
    max-width: 995px;
    margin-left: auto;
    margin-right: auto; }
    .header:after,
    nav.secondary ul:after,
    .video--single:after,
    .outer-wrapper:after {
      content: " ";
      display: block;
      clear: both; } }

.outer-wrapper:before {
  content: '';
  background-image: url("/dist/stripe.png");
  background-position: left top;
  background-repeat: repeat;
  background-color: #1a1a1a;
  display: block;
  position: relative;
  height: 60px;
  width: 100%; }
  @media (min--moz-device-pixel-ratio: 1.3), (-webkit-min-device-pixel-ratio: 1.3), (min-device-pixel-ratio: 1.3), (min-resolution: 1.3dppx) {
    .outer-wrapper:before {
      /* on retina, use image that's scaled by 2 */
      background-image: url("/dist/stripe_@2X.png");
      background-size: 4px 4px; } }
  @media (min-width: 768px) {
    .outer-wrapper:before {
      height: 35px; } }

.is-archive .outer-wrapper:before {
  display: none; }

.featured-page {
  line-height: 0; }
  @media (min-width: 768px) {
    .featured-page {
      margin-left: -25px;
      margin-right: -25px; }
      .featured-page.featured-page--image-left {
        padding-top: 25px;
        padding-right: 25px;
        padding-left: 25px; } }
  .featured-page .featured-page__link {
    outline: 0;
    text-decoration: none;
    color: white;
    display: block; }
  .featured-page.featured-page--image-left:after {
    content: "";
    display: table;
    clear: both; }
  .featured-page.featured-page--image-left .featured-page__thumb {
    line-height: 0;
    float: left;
    margin-right: 15px;
    width: 160px; }
    @media (min-width: 480px) and (max-width: 767px) {
      .featured-page.featured-page--image-left .featured-page__thumb {
        width: 200px; } }
    @media (min-width: 768px) {
      .featured-page.featured-page--image-left .featured-page__thumb {
        width: 351.500px; } }
    @media (min-width: 1024px) {
      .featured-page.featured-page--image-left .featured-page__thumb {
        width: 304.984px; } }
  .featured-page.featured-page--image-full .featured-page__thumb {
    line-height: 0;
    width: 100%;
    float: none; }
  .featured-page .featured-page__title {
    margin: 0 0 15px 0;
    font-family: "proxima-soft", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 47px;
    line-height: 47px;
    text-decoration: none;
    color: #f2f2f2; }
    @media (min-width: 480px) and (max-width: 767px) {
      .featured-page .featured-page__title {
        font-size: 55px;
        line-height: 55px; } }
    @media (min-width: 768px) {
      .featured-page .featured-page__title {
        font-size: 47px;
        line-height: 47px; } }
    @media (min-width: 1024px) {
      .featured-page .featured-page__title {
        font-size: 55px;
        line-height: 55px; } }
  .featured-page .featured-page__body {
    line-height: 1;
    padding-top: 25px;
    padding-bottom: 25px;
    margin-bottom: 0; }
  .featured-page.featured-page--image-left .featured-page__body {
    overflow: hidden;
    _overflow: hidden;
    zoom: 1; }
    @media (max-width: 767px) {
      .featured-page.featured-page--image-left .featured-page__body {
        padding-right: 25px; } }
    .featured-page.featured-page--image-left .featured-page__body.copy {
      margin-top: 0; }
  @media (min-width: 768px) {
    .featured-page.featured-page--image-full .featured-page__body {
      padding-left: 25px;
      padding-right: 25px; } }

.wrapper {
  padding: 0 0 25px 0; }
  .wrapper.archive, .wrapper.theme {
    background-image: url("/dist/stripe.png");
    background-position: left top;
    background-repeat: repeat; }
    @media (min--moz-device-pixel-ratio: 1.3), (-webkit-min-device-pixel-ratio: 1.3), (min-device-pixel-ratio: 1.3), (min-resolution: 1.3dppx) {
      .wrapper.archive, .wrapper.theme {
        /* on retina, use image that's scaled by 2 */
        background-image: url("/dist/stripe_@2X.png");
        background-size: 4px 4px; } }
  @media (min-width: 768px) {
    .wrapper {
      padding-left: 25px;
      padding-right: 25px;
      max-width: 768px;
      margin-left: auto;
      margin-right: auto; }
      .wrapper:after {
        content: " ";
        display: block;
        clear: both; }
      .wrapper .widget__items .video,
      .wrapper .archive__items .video {
        width: 50%;
        float: left;
        padding-left: 8px;
        padding-right: 8px; }
        .wrapper .widget__items .video:nth-child(2n + 1),
        .wrapper .archive__items .video:nth-child(2n + 1) {
          margin-left: 0;
          margin-right: -100%;
          clear: both; }
        .wrapper .widget__items .video:nth-child(2n + 2),
        .wrapper .archive__items .video:nth-child(2n + 2) {
          margin-left: 50%;
          margin-right: -100%;
          clear: none; }
      .wrapper .widget__items .video__thumb,
      .wrapper .archive__items .video__thumb {
        height: 198px; } }
  @media (min-width: 1024px) {
    .wrapper {
      max-width: 995px;
      margin-left: auto;
      margin-right: auto; }
      .wrapper:after {
        content: " ";
        display: block;
        clear: both; }
      .wrapper .widget__items .video,
      .wrapper .archive__items .video {
        width: 33.33333%;
        float: left;
        padding-left: 7.5px;
        padding-right: 7.5px; }
        .wrapper .widget__items .video:nth-child(3n + 1),
        .wrapper .archive__items .video:nth-child(3n + 1) {
          margin-left: 0;
          margin-right: -100%;
          clear: both; }
        .wrapper .widget__items .video:nth-child(3n + 2),
        .wrapper .archive__items .video:nth-child(3n + 2) {
          margin-left: 33.33333%;
          margin-right: -100%;
          clear: none; }
        .wrapper .widget__items .video:nth-child(3n + 3),
        .wrapper .archive__items .video:nth-child(3n + 3) {
          margin-left: 66.66667%;
          margin-right: -100%;
          clear: none; }
      .wrapper .widget__items .video__thumb,
      .wrapper .archive__items .video__thumb {
        height: 172px; } }

.header-inner {
  height: 100%; }

.widget__items,
.archive__items {
  margin-bottom: -15px; }
  .widget__items:after,
  .archive__items:after {
    content: "";
    display: table;
    clear: both; }
  .widget__items .video,
  .archive__items .video {
    margin-bottom: 15px; }
  @media (min-width: 768px) {
    .widget__items,
    .archive__items {
      margin-left: -7.5px;
      margin-right: -7.5px; } }

.widget {
  background-image: url("/dist/stripe.png");
  background-position: left top;
  background-repeat: repeat;
  padding: 25px 0;
  margin: 0; }
  @media (min--moz-device-pixel-ratio: 1.3), (-webkit-min-device-pixel-ratio: 1.3), (min-device-pixel-ratio: 1.3), (min-resolution: 1.3dppx) {
    .widget {
      /* on retina, use image that's scaled by 2 */
      background-image: url("/dist/stripe_@2X.png");
      background-size: 4px 4px; } }
  @media (min-width: 768px) {
    .widget {
      padding: 25px;
      margin: 0 -25px; } }
  .widget.widget--featured-page, .widget.widget--landing {
    padding-top: 0;
    padding-bottom: 0;
    background-image: none; }
    .widget.widget--featured-page:first-child, .widget.widget--landing:first-child {
      margin-top: 0; }
  .widget.widget--margin-bottom:after {
    content: "";
    height: 25px;
    display: block; }

.widget__title {
  margin-top: 0;
  margin-bottom: 25px;
  margin-left: 25px; }
  @media (min-width: 768px) {
    .widget__title {
      margin-left: 0; } }

.shadow-layer {
  display: none; }

.header a {
  text-decoration: none; }

.header {
  overflow: visible;
  position: relative; }

.navigation-container {
  height: 60px;
  width: 100%;
  position: relative; }
  @media (max-width: 767px) {
    .navigation-container {
      background-color: #a81616 !important; } }
  @media (min-width: 768px) {
    .navigation-container {
      height: 35px;
      position: relative;
      background: transparent; } }

nav.primary {
  display: none;
  position: absolute;
  top: 60px;
  left: 0;
  width: 100%;
  padding: 30px 40px 40px 40px;
  background-color: #333333;
  z-index: 13; }
  .nav-is-visible nav.primary {
    display: block; }
  nav.primary > ul {
    list-style: none;
    margin: 0;
    padding: 0; }
  nav.primary > ul > li {
    margin: 0;
    padding: 0; }
  nav.primary li {
    float: none; }
  nav.primary a {
    display: block;
    line-height: 46px;
    height: 46px;
    font-size: 26px;
    font-family: "proxima-soft", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-style: normal;
    font-weight: 500;
    font-weight: normal;
    font-variant: normal;
    color: #f2f2f2; }
  @media (min-width: 768px) {
    nav.primary {
      position: relative;
      padding: 0;
      display: block;
      z-index: 1;
      background: transparent;
      width: auto;
      top: 0; }
      nav.primary:after {
        content: "";
        display: table;
        clear: both; }
      nav.primary li {
        float: left;
        width: auto; }
        nav.primary li:first-child a {
          margin-left: 25px; }
        nav.primary li.active a {
          border-bottom: 2px solid currentColor; }
      nav.primary a {
        display: block;
        line-height: 35px;
        height: 35px;
        font-size: 18px;
        color: currentColor;
        padding: 0;
        margin: 0 8px; } }
  @media (min-width: 1024px) {
    nav.primary a {
      margin: 0 10px; } }

.header__branding {
  position: relative;
  width: 100%;
  text-align: center;
  padding-top: 29px;
  height: 105px;
  background: #db2e2e; }
  @media (min-width: 480px) and (max-width: 767px) {
    .header__branding {
      padding-top: 32px;
      height: 125px; } }
  @media (min-width: 768px) {
    .header__branding {
      background: transparent;
      overflow: hidden;
      padding: 0;
      height: auto; }
      .header__branding .header__link {
        line-height: 0; } }

.header__image {
  display: none; }
  @media (min-width: 768px) {
    .header__image {
      display: block;
      width: 768px;
      height: auto; } }
  @media (min-width: 1024px) {
    .header__image {
      width: 995px; } }

.header__logo,
.header__logo2 {
  outline: 0;
  vertical-align: top;
  position: relative;
  width: auto; }
  @media (min-width: 768px) {
    .header__logo,
    .header__logo2 {
      display: none; } }

.header__logo {
  display: none;
  height: 38px;
  margin-right: 10px; }
  @media (min-width: 480px) and (max-width: 767px) {
    .header__logo {
      height: 64px;
      display: inline-block; } }
  @media (min-width: 768px) {
    .header__logo {
      height: 30px;
      display: none; } }

.header__logo2 {
  height: 44px;
  margin-top: 2px; }
  @media (min-width: 480px) and (max-width: 767px) {
    .header__logo2 {
      height: 58px; } }
  @media (min-width: 768px) {
    .header__logo2 {
      height: 28px;
      margin-top: 1px; } }

.nav-toggle-container {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100; }
  @media (min-width: 768px) {
    .nav-toggle-container {
      top: 8px;
      display: none; } }

.nav-toggle,
.search-toggle {
  background-color: transparent;
  outline: 0;
  border: 0;
  position: relative;
  display: block;
  width: 56px;
  height: 60px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  white-space: nowrap;
  color: transparent; }

.nav-is-visible .nav-toggle {
  background-color: #333333; }

.nav-toggle span,
.nav-toggle span::before,
.nav-toggle span::after {
  position: absolute;
  display: inline-block;
  height: 3px;
  width: 25px;
  background: #f2f2f2; }

.nav-toggle span {
  position: absolute;
  top: 50%;
  right: 15px;
  margin-top: -2px; }

.nav-toggle span::before, .nav-toggle span::after {
  content: '';
  right: 0;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform-origin: 0% 50%;
          transform-origin: 0% 50%; }

.nav-toggle span::before {
  top: -6px; }

.nav-toggle span::after {
  top: 6px; }

body.nav-is-visible .nav-toggle span {
  background: rgba(242, 242, 242, 0); }

body.nav-is-visible .nav-toggle span::before, body.nav-is-visible .nav-toggle span::after {
  background: #f2f2f2; }

body.nav-is-visible .nav-toggle span::before {
  -webkit-transform: translateX(4px) translateY(-3px) rotate(45deg);
          transform: translateX(4px) translateY(-3px) rotate(45deg); }

body.nav-is-visible .nav-toggle span::after {
  -webkit-transform: translateX(4px) translateY(2px) rotate(-45deg);
          transform: translateX(4px) translateY(2px) rotate(-45deg); }

@media (min-width: 768px) {
  nav.secundary ul li.has-children:hover {
    background-color: #df4444; }
  nav.secundary ul li.has-children > a:after {
    margin-top: 11px; }
  nav.secundary ul ul {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: #db2e2e;
    padding: 0; }
  nav.secundary ul ul li {
    float: none;
    width: 200px; }
  nav.secundary ul ul a {
    line-height: 120%;
    padding: 10px 15px; }
    nav.secundary ul ul a:hover {
      background-color: #df4444; }
  nav.secundary ul ul ul {
    top: 0;
    left: 100%; }
  nav.secundary ul li:hover > ul {
    display: block; } }

@media (max-width: 767px) {
  li.navigation__facebook,
  li.navigation__twitter {
    float: left !important; } }

.navigation__facebook a,
.navigation__twitter a {
  width: 18px;
  overflow: hidden;
  text-align: center; }
  .navigation__facebook a:before,
  .navigation__twitter a:before {
    -webkit-font-smoothing: antialiased;
    text-rendering: geometricPrecision;
    -moz-osx-font-smoothing: grayscale;
    font-weight: normal;
    font-size: 20px;
    font-family: 'FontAwesome';
    display: inline-block; }

.navigation__twitter a {
  margin-left: 15px; }
  @media (min-width: 768px) {
    .navigation__twitter a {
      margin-left: 0; } }

.navigation__facebook a:before {
  content: '\f230'; }

.navigation__twitter a:before {
  content: '\f099'; }

li.whatsapp a {
  display: inline-block;
  position: relative;
  background-color: #25d366;
  font-size: 11px;
  border-radius: 2px;
  color: #fff;
  text-decoration: none;
  padding: 0 5px;
  vertical-align: top;
  padding-left: 25px;
  font-weight: bold; }
  li.whatsapp a .fa {
    position: absolute;
    left: 5px;
    top: 1px;
    font-size: 18px; }

article.video,
article.column {
  background-color: #db2e2e;
  position: relative; }
  article.video:after,
  article.column:after {
    content: "";
    display: table;
    clear: both; }
  article.video.video--single, article.video.video--latest,
  article.column.video--single,
  article.column.video--latest {
    background-color: transparent; }
    @media (max-width: 767px) {
      article.video.video--single, article.video.video--latest,
      article.column.video--single,
      article.column.video--latest {
        background-color: transparent !important; } }
  @media (min-width: 768px) {
    article.video,
    article.column {
      background: transparent; } }
  article.video > .video__inner,
  article.column > .video__inner {
    position: relative;
    width: 100%; }

img.video__thumb,
img.column__thumb {
  width: 100%;
  height: auto;
  width: 160px;
  height: 90px;
  float: left;
  margin-right: 10px; }
  @media (min-width: 480px) and (max-width: 767px) {
    img.video__thumb,
    img.column__thumb {
      width: 200px;
      height: 112px; } }
  @media (min-width: 768px) {
    img.video__thumb,
    img.column__thumb {
      float: none;
      width: 100%;
      margin: 0; } }
  .video--latest img.video__thumb, .video--latest
  img.column__thumb {
    height: auto;
    float: none;
    width: 100%;
    margin: 0; }

.video__meta,
.column__meta {
  padding: 8px 10px; }
  @media (min-width: 768px) {
    .video__meta,
    .column__meta {
      margin-left: 0;
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      z-index: 2; } }
  .video--latest .video__meta,
  .video--single .video__meta, .video--latest
  .column__meta,
  .video--single
  .column__meta {
    height: auto;
    min-height: 0;
    padding: 20px; }
  @media (min-width: 768px) {
    .video--latest .video__meta, .video--latest
    .column__meta {
      padding: 0 25px 25px 25px; }
      .video--latest .video__meta .video__date, .video--latest
      .column__meta .video__date {
        margin-bottom: 0; }
      .video--latest .video__meta .video__title, .video--latest
      .column__meta .video__title {
        margin-bottom: 5px; } }
  @media (min-width: 768px) {
    .video--single .video__meta, .video--single
    .column__meta {
      padding-top: 25px;
      background: transparent;
      position: relative;
      bottom: auto;
      left: 0; } }

.video__clamped-title-container > a {
  display: block;
  line-height: 26px;
  overflow: hidden;
  max-height: 52px; }
  @media (min-width: 480px) and (max-width: 767px) {
    .video__clamped-title-container > a {
      max-height: 68px;
      line-height: 34px; } }

.video__title,
.column__title {
  margin: 0;
  display: block;
  text-decoration: none;
  font-family: "proxima-soft", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: 700;
  font-size: 24px;
  color: #f2f2f2; }
  @media (min-width: 480px) and (max-width: 767px) {
    .video__title,
    .column__title {
      font-size: 32px; } }
  @media (min-width: 768px) {
    .video__title,
    .column__title {
      font-size: 24px; }
      .video--latest .video__title, .video--latest
      .column__title {
        width: 66%; } }
  .video--latest .video__title,
  .video--single .video__title, .video--latest
  .column__title,
  .video--single
  .column__title {
    margin-bottom: 10px;
    font-size: 47px;
    line-height: 47px; }
    @media (min-width: 480px) {
      .video--latest .video__title,
      .video--single .video__title, .video--latest
      .column__title,
      .video--single
      .column__title {
        font-size: 55px;
        line-height: 55px; } }

.video__date,
.column__date {
  font-family: "proxima-soft", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  margin-top: 5px;
  font-size: 12px;
  color: #f2f2f2;
  display: block; }
  @media (min-width: 768px) {
    .video__date,
    .column__date {
      font-size: 14px;
      color: #999999; } }
  .video--latest .video__date,
  .video--single .video__date, .video--latest
  .column__date,
  .video--single
  .column__date {
    font-size: 20px;
    color: #f2f2f2;
    margin: 0 0 20px 0; }
    @media (min-width: 768px) {
      .video--latest .video__date,
      .video--single .video__date, .video--latest
      .column__date,
      .video--single
      .column__date {
        font-size: 30px; } }

.video__thumb-link,
.column__thumb-link {
  display: block;
  line-height: 0;
  outline: 0;
  position: relative; }
  @media (min-width: 768px) {
    .video__thumb-link:after,
    .column__thumb-link:after {
      z-index: 1;
      content: "";
      position: absolute;
      display: block;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: transparent url("/dist/gradient1_@2X.png") repeat-x left bottom;
      background-size: 100% auto; } }

@media (min-width: 768px) {
  .video--latest .video__thumb-link {
    overflow: hidden;
    height: 300px; }
    .video--latest .video__thumb-link img.video__thumb {
      z-index: 1;
      position: absolute;
      left: 0;
      top: 50%;
      margin-top: -197px; }
    .video--latest .video__thumb-link:after {
      background: transparent url("/dist/gradient2_@2X.png") no-repeat left bottom; } }

@media (min-width: 1024px) {
  .video--latest .video__thumb-link img.video__thumb {
    margin-top: -273px; } }

.video__play-button {
  position: absolute;
  z-index: 2;
  height: 100px;
  width: auto;
  top: 50%;
  left: 50%;
  margin-left: -50px;
  margin-top: -50px; }
  @media (min-width: 768px) {
    .video__play-button {
      display: none; } }

.widget__title,
.more-link {
  font-family: "proxima-soft", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: 500;
  text-decoration: none;
  display: inline-block;
  font-size: 18px;
  color: #f2f2f2;
  padding: 1px 10px 0 10px;
  line-height: 34px;
  height: 34px;
  margin-left: 25px; }
  @media (max-width: 767px) {
    .widget__title,
    .more-link {
      color: #f2f2f2 !important;
      background-color: #333333 !important; } }
  @media (min-width: 768px) {
    .widget__title,
    .more-link {
      margin-left: 0;
      background: #db2e2e; } }
  .widget__title a,
  .more-link a {
    color: currentColor;
    text-decoration: none; }
    .widget__title a:after,
    .more-link a:after {
      content: "";
      display: inline-block;
      height: 0;
      width: 0;
      border-bottom: 6px solid transparent;
      border-left: 6px solid currentColor;
      border-top: 6px solid transparent;
      margin-left: 8px; }

.widget__more {
  display: none !important;
  margin-top: -7.5px;
  outline: 0;
  color: white;
  border: none;
  background: #f2f2f2;
  display: inline-block;
  text-decoration: none;
  line-height: 20px;
  padding: 6px 14px;
  border-radius: 0;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 14px;
  float: right; }
  .widget__more:after {
    content: '';
    display: inline-block;
    margin-left: 8px; }

span.nowrap {
  white-space: nowrap; }

figure.wp-caption {
  margin: 0 15px 0 0;
  padding: 0;
  display: inline-block;
  position: relative; }
  figure.wp-caption img,
  figure.wp-caption a {
    margin: 0;
    padding: 0;
    line-height: 0; }
  figure.wp-caption figcaption.wp-caption-text {
    font-size: 14px;
    line-height: 20px;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 10px;
    background: linear-gradient(to top, black, transparent); }

.video--single .mejs-container {
  outline: 0; }
  .video--single .mejs-container * {
    outline: none !important; }

.column--single {
  margin-bottom: 15px; }
  @media (min-width: 768px) {
    .column--single.column--portrait {
      max-width: 331px;
      margin-left: auto;
      margin-right: auto; } }

.video--single .video__meta,
.column--single .column__meta {
  color: #999999; }
  @media (max-width: 767px) {
    .video--single .video__meta,
    .column--single .column__meta {
      background-color: transparent !important; } }
  .video--single .video__meta:after,
  .column--single .column__meta:after {
    content: "";
    display: table;
    clear: both; }
  .video--single .video__meta .copy,
  .column--single .column__meta .copy {
    margin: 0 0 20px 0;
    padding-top: 0; }

.video__social,
.column__social {
  padding: 0 !important;
  margin-bottom: 10px;
  overflow: visible; }
  .video__social:after,
  .column__social:after {
    content: "";
    display: table;
    clear: both; }
  .video__social > ul,
  .column__social > ul {
    list-style: none;
    margin: 0;
    padding: 0; }
  .video__social > ul > li,
  .column__social > ul > li {
    margin: 0;
    padding: 0; }
  .video__social ul,
  .column__social ul {
    padding: 0 !important;
    margin: 0 !important; }
  .video__social li,
  .column__social li {
    line-height: 20px;
    height: 20px;
    float: left;
    /*&.fb,
        &.twitter {
            padding: 2px 0;
        }*/
    margin-right: 15px !important;
    margin-bottom: 7.5px !important; }
    .video__social li.yt,
    .column__social li.yt {
      line-height: 24px;
      height: 24px; }
    .video__social li:last-child,
    .column__social li:last-child {
      margin-right: 0 !important;
      margin-bottom: 0 !important; }
  @media (min-width: 768px) {
    .video__social li.whatsapp,
    .column__social li.whatsapp {
      display: none; } }

.archive-filter {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 200; }
  @media (min-width: 768px) {
    .archive-filter {
      top: 100px;
      bottom: 100px;
      height: auto;
      left: 50%;
      width: 728px;
      margin-left: -364px; }
      .archive-filter:after {
        content: "";
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: -1;
        background-color: rgba(0, 0, 0, 0.5); } }
  @media (min-width: 1024px) {
    .archive-filter {
      width: 955px;
      margin-left: -477.5px; } }
  .filter-is-visible .archive-filter {
    display: block; }
  .archive-filter > .archive-filter__inner {
    background-color: #333333;
    position: relative;
    width: 100%;
    height: 100%; }
  .archive-filter .archive-filter__header {
    position: absolute;
    top: 0;
    height: 80px;
    padding: 0 20px;
    width: 100%;
    z-index: 10; }
    .archive-filter .archive-filter__header h2 {
      font-family: "proxima-soft", "Helvetica Neue", Helvetica, Arial, sans-serif;
      font-style: normal;
      font-weight: 700;
      font-size: 32px;
      margin: 0;
      line-height: 80px; }
  .archive-filter .archive-filter__close {
    text-decoration: none;
    position: absolute;
    right: 20px;
    top: 16px;
    color: #f2f2f2;
    font-size: 32px; }
  .archive-filter .archive-filter__items {
    position: absolute;
    top: 80px;
    bottom: 80px;
    padding: 0 20px;
    width: 100%;
    overflow-y: auto;
    z-index: 10; }
  .archive-filter .archive-filter__actions {
    position: absolute;
    bottom: 0;
    background-color: #333333;
    text-align: right;
    width: 100%;
    margin: 0;
    padding: 20px; }

.filter-is-visible .shadow-layer {
  display: block; }

body.filter-is-visible {
  overflow: hidden; }

.query {
  padding: 15px 25px 0 25px; }
  .query:after {
    content: "";
    display: table;
    clear: both; }
  @media (min-width: 768px) {
    .query {
      padding-left: 0;
      padding-right: 0; } }

.controls {
  position: relative;
  padding: 25px; }
  .controls > ul {
    list-style: none;
    margin: 0;
    padding: 0; }
  .controls > ul > li {
    margin: 0;
    padding: 0; }
  .controls:after {
    content: "";
    display: table;
    clear: both; }
  @media (min-width: 768px) {
    .controls {
      padding-left: 0;
      padding-right: 0; } }
  .controls > ul {
    float: right; }
  .controls > ul > li {
    float: left;
    position: relative; }
    .controls > ul > li > ul {
      list-style: none;
      margin: 0;
      padding: 0; }
    .controls > ul > li > ul > li {
      margin: 0;
      padding: 0; }
    .controls > ul > li ul {
      display: none;
      position: absolute;
      z-index: 10;
      top: 100%;
      right: 0;
      background: #333333;
      padding: 0;
      box-shadow: 0 1px 1px rgba(26, 26, 26, 0.7); }
    .controls > ul > li ul li {
      float: none;
      width: 200px; }
    .sort-is-visible .controls > ul > li > ul {
      display: block; }
  .controls > ul > li > a,
  .controls > ul > li > ul > li.sort-control a {
    text-decoration: none;
    display: block;
    padding: 0 14px;
    line-height: 30px;
    height: 30px;
    font-family: "proxima-soft", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-style: normal;
    font-weight: 500;
    font-size: 18px;
    background: transparent;
    color: #f2f2f2; }
  .controls > ul > li > ul > li.sort-control a {
    color: #f2f2f2; }
    .controls > ul > li > ul > li.sort-control a.is-sorted, .controls > ul > li > ul > li.sort-control a:hover {
      color: #333333; }
    .controls > ul > li > ul > li.sort-control a:hover {
      background-color: #999999; }
    .controls > ul > li > ul > li.sort-control a.is-sorted {
      background-color: #f2f2f2;
      cursor: default; }
  .controls > ul > li > a.toggle-sort:after {
    content: '';
    display: inline-block;
    margin-left: 10px;
    vertical-align: top;
    height: 0;
    width: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px solid currentColor;
    margin-top: 12px; }
  .filter-is-visible .controls > ul > li > a.toggle-filter,
  .sort-is-visible .controls > ul > li > a.toggle-sort {
    background: #333333;
    color: #f2f2f2; }

.query__item {
  float: left;
  text-decoration: none;
  margin: 10px 10px 0 0;
  background-color: #1a1a1a;
  color: #f2f2f2;
  display: inline-block;
  position: relative;
  padding: 1px 10px 0 10px;
  font-family: "proxima-soft", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 18px;
  line-height: 30px;
  height: 30px;
  vertical-align: baseline;
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%; }
  .query__item:after {
    display: inline-block;
    content: "\00d7";
    font-size: 28px;
    margin-left: 10px;
    vertical-align: top; }

.pagination {
  margin: 10px 0; }
  .pagination:after {
    content: "";
    display: table;
    clear: both; }
  .pagination .prev,
  .pagination .next {
    outline: 0;
    color: white;
    border: none;
    background: #f2f2f2;
    display: inline-block;
    text-decoration: none;
    line-height: 20px;
    padding: 6px 14px;
    border-radius: 0;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 14px; }
  .pagination .prev {
    float: left; }
  .pagination .next {
    float: right; }

.archive__facet-title {
  font-family: "proxima-soft", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: 500;
  line-height: 50px;
  height: 50px;
  font-size: 26px;
  margin: 0 0 10px 0; }

.archive__facet-list {
  list-style: none;
  margin: 0 0 20px 0;
  padding: 0; }
  .archive__facet-list:after {
    content: "";
    display: table;
    clear: both; }

.archive__facet-item {
  line-height: 20px;
  margin-bottom: 15px; }
  .archive__facet-item .cb-label {
    cursor: pointer;
    color: #f2f2f2;
    margin-left: 3px; }
  .archive__facet-item input[type="checkbox"] {
    display: none; }
  .archive__facet-item input[type="checkbox"] + label {
    position: relative;
    display: inline-block;
    vertical-align: top;
    cursor: pointer;
    border: none;
    border-radius: 1px;
    outline: none;
    background-color: #f2f2f2;
    width: 20px;
    height: 20px;
    margin: 0;
    padding: 0; }
  .archive__facet-item input[type="checkbox"]:checked + label:after {
    content: "";
    width: 12px;
    height: 8px;
    position: absolute;
    top: 4px;
    left: 4px;
    border: 3px solid #db2e2e;
    border-top: none;
    border-right: none;
    background: transparent;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); }
  @media (min-width: 768px) {
    .archive__facet-item {
      width: 33.33333%;
      float: left;
      padding-left: 7.5px;
      padding-right: 7.5px;
      padding-left: 0;
      padding-right: 0; }
      .archive__facet-item:nth-child(3n + 1) {
        margin-left: 0;
        margin-right: -100%;
        clear: both; }
      .archive__facet-item:nth-child(3n + 2) {
        margin-left: 33.33333%;
        margin-right: -100%;
        clear: none; }
      .archive__facet-item:nth-child(3n + 3) {
        margin-left: 66.66667%;
        margin-right: -100%;
        clear: none; } }
  @media (min-width: 1024px) {
    .archive__facet-item {
      width: 33.33333%;
      float: left;
      padding-left: 7.5px;
      padding-right: 7.5px;
      padding-left: 0;
      padding-right: 0; }
      .archive__facet-item:nth-child(3n + 1) {
        margin-left: 0;
        margin-right: -100%;
        clear: both; }
      .archive__facet-item:nth-child(3n + 2) {
        margin-left: 33.33333%;
        margin-right: -100%;
        clear: none; }
      .archive__facet-item:nth-child(3n + 3) {
        margin-left: 66.66667%;
        margin-right: -100%;
        clear: none; } }

.archive__form button {
  outline: 0;
  color: white;
  border: none;
  background: #f2f2f2;
  display: inline-block;
  text-decoration: none;
  line-height: 20px;
  padding: 6px 14px;
  border-radius: 0;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 14px;
  background-color: transparent;
  border: 2px solid #f2f2f2;
  border-radius: 1px;
  color: #f2f2f2;
  padding: 8px 22px;
  margin-left: 6px;
  font-family: "proxima-soft", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 18px; }
  .archive__form button:hover {
    background-color: #f2f2f2;
    color: #333333; }

.loading {
  position: relative;
  display: none;
  width: 100%;
  padding: 0;
  text-align: center; }
  .loading img {
    margin: 25px 0 0 0;
    width: auto;
    height: 48px; }
    @media (min-width: 768px) {
      .loading img {
        height: 64px; } }

.no-results {
  margin: 25px;
  margin-bottom: 0;
  font-family: "proxima-soft", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: 700;
  color: #f2f2f2;
  font-size: 26px; }
  @media (min-width: 768px) {
    .no-results {
      margin-left: 0;
      font-size: 36px; } }

.result-count {
  font-family: "proxima-soft", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 18px;
  float: left;
  color: #f2f2f2;
  background: #333333;
  margin: 0;
  padding: 1px 10px 0 10px;
  line-height: 30px;
  height: 30px; }

.cover-image__container {
  position: relative;
  line-height: 0;
  overflow: hidden; }
  @media (min-width: 768px) {
    .cover-image__container {
      max-width: 768px;
      margin-left: auto;
      margin-right: auto; }
      .cover-image__container:after {
        content: " ";
        display: block;
        clear: both; } }
  @media (min-width: 1024px) {
    .cover-image__container {
      max-width: 995px;
      margin-left: auto;
      margin-right: auto; }
      .cover-image__container:after {
        content: " ";
        display: block;
        clear: both; } }

.cover-image__image {
  width: 100%;
  height: auto; }

.cover-image__title {
  display: block;
  margin: 20px 20px 0 20px;
  padding: 0;
  font-family: "proxima-soft", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: 700;
  color: #f2f2f2;
  font-size: 47px;
  line-height: 47px; }
  @media (min-width: 480px) {
    .cover-image__title {
      font-size: 55px;
      line-height: 55px; } }
  @media (min-width: 768px) {
    .cover-image__title {
      position: absolute;
      bottom: 0;
      left: 0;
      margin: 25px;
      z-index: 2; } }

.copy {
  margin: 0 20px;
  padding-top: 15px; }
  @media (min-width: 768px) {
    .copy {
      padding-top: 20px;
      margin: 0 auto; } }
  .copy p,
  .copy li {
    margin: 15px 0;
    color: #999999;
    line-height: 160%;
    font-size: 16px; }
    @media (min-width: 768px) {
      .copy p,
      .copy li {
        font-size: 14px; } }
    .copy p:first-child,
    .copy li:first-child {
      margin-top: 0; }
    .copy p:last-child,
    .copy li:last-child {
      margin-bottom: 0; }
  .copy ul,
  .copy ol {
    padding-left: 20px; }
  .copy .wrapper {
    margin-left: -25px;
    margin-right: -25px;
    padding-bottom: 0; }
  .copy h1 {
    font-size: 55px; }
  .copy h2 {
    font-size: 28px; }
  .copy h1,
  .copy h2,
  .copy h3,
  .copy h4 {
    margin: 0 0 15px 0;
    font-family: "proxima-soft", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-style: normal;
    font-weight: 600; }
  .copy blockquote {
    margin: 16px 10px;
    padding: 0.5em 10px;
    quotes: "“" "”" "‘" "’";
    font-style: italic; }
    .copy blockquote:before {
      color: currentColor;
      font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
      content: open-quote;
      font-size: 4em;
      line-height: 0.1em;
      margin-right: 0.25em;
      vertical-align: -0.38em; }
    .copy blockquote p {
      display: inline; }

.contact-form {
  width: 100%;
  margin: 10px 0 25px 0; }
  .contact-form:after {
    content: "";
    display: table;
    clear: both; }
  .contact-form .contact-form__error {
    display: inline-block;
    font-size: 16px;
    margin: 0 0 10px 0;
    background: #db2e2e;
    color: #f2f2f2;
    padding: 5px; }
    @media (min-width: 768px) {
      .contact-form .contact-form__error {
        font-size: 14px; } }
  .contact-form p {
    margin: 15px 0 25px 0; }
  @media (min-width: 768px) {
    .contact-form {
      width: 400px; } }
  .contact-form label {
    color: #f2f2f2;
    display: block;
    font-family: "proxima-soft", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-style: normal;
    font-weight: 600;
    margin-bottom: 15px;
    font-size: 18px; }
  .contact-form input,
  .contact-form textarea {
    -webkit-appearance: none;
    border-radius: 0;
    outline: 0;
    width: 100%;
    border: none;
    color: #1a1a1a;
    font-size: 14px;
    padding: 10px;
    line-height: 20px;
    margin: 0; }
  .contact-form textarea {
    resize: none;
    height: 120px; }
  .contact-form .form-group {
    margin: 20px 0; }
  .contact-form input[type="submit"] {
    background-color: #db2e2e;
    color: #f2f2f2;
    padding: 1px 10px 0 10px;
    width: auto;
    font-family: "proxima-soft", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-style: normal;
    font-weight: 500;
    font-size: 18px;
    line-height: 34px;
    height: 34px; }
  .contact-form .contact-form__captcha-container:after {
    content: "";
    display: table;
    clear: both; }
  .contact-form .contact-form__captcha-container img, .contact-form .contact-form__captcha-container input[type="text"] {
    float: left; }
  .contact-form .contact-form__captcha-container img {
    margin-right: 15px; }
  .contact-form .contact-form__captcha-container input[type="text"] {
    width: 150px; }

input[type="search"]::-ms-clear {
  display: none; }

input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
  display: none; }

.search-toggle {
  position: absolute;
  right: 0;
  top: 0;
  z-index: 101; }

@media (min-width: 768px) {
  .search-toggle {
    height: 35px;
    width: 35px; } }

.search-is-visible .search-toggle {
  background-color: #333333; }

.search-toggle::before, .search-toggle::after {
  content: '';
  position: absolute;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.search-toggle::before {
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
  -moz-osx-font-smoothing: grayscale;
  font-size: 28px;
  font-family: 'FontAwesome';
  display: block;
  position: absolute;
  content: "\f002";
  color: currentColor;
  top: 50%;
  left: 50%;
  margin-top: -15px;
  margin-left: -13px; }
  @media (max-width: 767px) {
    .search-toggle::before {
      color: #f2f2f2 !important; } }
  @media (min-width: 768px) {
    .search-toggle::before {
      font-size: 22px;
      margin-top: -13px;
      margin-left: -10px; } }

.search-toggle span {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0; }

.search-toggle span::before, .search-toggle span::after {
  content: '';
  position: absolute;
  display: inline-block;
  height: 3px;
  width: 22px;
  top: 50%;
  margin-top: -2px;
  left: 50%;
  margin-left: -11px;
  opacity: 0;
  background: white;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }
  @media (min-width: 768px) {
    .search-toggle span::before, .search-toggle span::after {
      height: 3px;
      width: 18px;
      margin-left: -9px; } }

.search-toggle span::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg); }

.search-toggle span::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg); }

.search-is-visible .search-toggle::before, .search-is-visible .search-toggle::after {
  opacity: 0; }

.search-is-visible .search-toggle span::before, .search-is-visible .search-toggle span::after {
  opacity: 1; }

.search-is-visible .search-toggle span::before {
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg); }

.search-is-visible .search-toggle span::after {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg); }

.search {
  display: none;
  position: absolute;
  right: 0;
  top: 100%;
  width: 100%;
  background: #333333;
  color: white;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  z-index: 13; }
  .search-is-visible .search {
    display: block; }
  @media (min-width: 768px) {
    .search {
      width: 465px; } }

.search__label {
  display: none; }

.search form {
  box-sizing: border-box;
  padding: 15px 20px;
  background: #333333; }

.search input {
  box-sizing: border-box;
  border: none;
  border-radius: 0;
  outline: none;
  box-shadow: none;
  background: transparent;
  color: #f2f2f2;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 20px;
  width: 100%;
  height: 36px;
  line-height: 100%;
  padding: 0;
  border-bottom: 2px solid #f2f2f2;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
  .search input:focus {
    outline: none; }

.search__suggestions {
  color: #f2f2f2; }
  .search__suggestions > ul {
    list-style: none;
    margin: 0;
    padding: 0; }
  .search__suggestions > ul > li {
    margin: 0;
    padding: 0; }
  .search__suggestions a {
    color: #f2f2f2; }
  .search__suggestions li {
    position: relative;
    margin: 0; }
    .search__suggestions li:first-child {
      font-size: 24px;
      font-family: "proxima-soft", "Helvetica Neue", Helvetica, Arial, sans-serif;
      font-style: normal;
      font-weight: 500;
      line-height: 40px; }
      .search__suggestions li:first-child a {
        padding-left: 15px; }
    @media (hover: hover) {
      .search__suggestions li.is-active {
        background-color: #db2e2e; } }
  .search__suggestions .search__item {
    padding: 10px; }
  .search__suggestions a {
    margin-bottom: 15px;
    display: block; }
    .search__suggestions a:after {
      content: "";
      display: table;
      clear: both; }
  .search__suggestions img {
    float: left;
    width: 120px;
    height: 68px;
    margin-right: 10px;
    background-color: #1a1a1a; }
  .search__suggestions h3 {
    margin: 0;
    margin-bottom: 5px;
    font-family: "proxima-soft", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 18px;
    line-height: 1; }
  .search__suggestions time {
    font-family: "proxima-soft", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 12px;
    color: #f2f2f2;
    display: block; }

body.lucky-live {
  background-color: black !important;
  background-position: top center;
  background-repeat: no-repeat;
  background-image: url("/dist/theatre_m_60.jpg"); }
  @media (min-width: 1024px) {
    body.lucky-live {
      background-image: url("/dist/theatre_l_60.jpg"); } }
  body.lucky-live .outer-wrapper:before {
    display: none; }
  body.lucky-live .navigation-container {
    background-color: transparent !important; }
    @media (min-width: 768px) {
      body.lucky-live .navigation-container {
        height: 56px; }
        body.lucky-live .navigation-container nav.primary a {
          height: 56px;
          line-height: 56px;
          color: #626262; } }
  body.lucky-live .search-toggle {
    display: none; }
  body.lucky-live .copy p.intro {
    font-family: "proxima-nova", sans-serif;
    font-style: normal;
    font-weight: 100;
    font-size: 20px; }
  body.lucky-live .wrapper .copy {
    padding-top: 0; }
    @media (min-width: 768px) {
      body.lucky-live .wrapper .copy {
        padding-left: 60px;
        padding-right: 60px; } }
    @media (min-width: 1024px) {
      body.lucky-live .wrapper .copy {
        padding-left: 120px;
        padding-right: 120px; } }
  body.lucky-live .cover-image__container {
    background-color: transparent !important; }
  body.lucky-live .tickets-button-container {
    text-align: right;
    margin: 30px 0;
    padding-left: 20px;
    padding-right: 20px; }
    @media (min-width: 768px) {
      body.lucky-live .tickets-button-container {
        margin: 40px 0; } }
  body.lucky-live .tickets-button,
  body.lucky-live .lucky-live-tickets-small {
    background-color: #ebd508;
    border-radius: 5px;
    padding: 2px 21px;
    color: black;
    font-family: "proxima-nova", sans-serif;
    font-style: normal;
    font-weight: 300;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 28px; }
  body.lucky-live .lucky-live-tickets-small {
    padding: 1px 8px;
    font-size: 14px; }
  body.lucky-live .image-container {
    margin: 20px -20px; }
    @media (min-width: 768px) {
      body.lucky-live .image-container {
        margin-left: 0;
        margin-right: 0; } }
    body.lucky-live .image-container img {
      width: 100%;
      height: auto; }
  body.lucky-live .lucky-live-tickets-table td {
    font-size: 14px;
    color: #999;
    line-height: 26px; }
    @media (min-width: 768px) {
      body.lucky-live .lucky-live-tickets-table td {
        font-size: 16px; } }
    body.lucky-live .lucky-live-tickets-table td:first-child {
      padding-right: 20px; }

.banner {
  line-height: 0;
  padding-bottom: 25px; }
  .banner picture,
  .banner img {
    width: 100%;
    height: auto; }
  .banner picture,
  .banner img,
  .banner a {
    line-height: 0;
    border: 0;
    outline: 0; }

.template-live .header-branding {
  background-color: #0e0e0e !important; }

@media (max-width: 767px) {
  .template-live .navigation-container {
    background-color: #0e0e0e !important; } }

@media (max-width: 767px) {
  .template-live .header__branding {
    padding-top: 0 !important;
    height: auto !important; } }

.template-live .outer-wrapper .wrapper,
.template-live .navigation-container {
  background-color: #0e0e0e; }

.template-live nav.primary li.active a {
  color: #f9f12e; }

.template-live .copy h1 {
  line-height: 100%;
  margin-bottom: 20px;
  margin-top: 40px;
  font-size: 36px; }
  @media (min-width: 768px) {
    .template-live .copy h1 {
      font-size: 44px; } }

.template-live .copy p {
  text-align: center;
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }
  @media (min-width: 768px) {
    .template-live .copy p {
      padding-left: 75px;
      padding-right: 75px; } }
  @media (min-width: 1024px) {
    .template-live .copy p {
      padding-left: 175px;
      padding-right: 175px; } }

.template-live .luckytv-helpt-cta {
  text-align: center;
  color: #f9f12e;
  font-weight: normal;
  margin-bottom: 40px; }
  .template-live .luckytv-helpt-cta a {
    color: #f9f12e; }

.copy .video.video--full-width {
  margin-left: -20px;
  margin-right: -20px; }
  .copy .video.video--full-width:first-child {
    margin-top: -20px; }
  @media (min-width: 768px) {
    .copy .video.video--full-width {
      margin-left: -25px;
      margin-right: -25px; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy5jc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL25vcm1hbGl6ZS1zY3NzL19ub3JtYWxpemUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9wbHlyL3NyYy9zYXNzL2xpYi9hbmltYXRpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9wbHlyL3NyYy9zYXNzL2Jhc2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9wbHlyL3NyYy9zYXNzL2xpYi9taXhpbnMuc2NzcyIsIl92YXJpYWJsZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9wbHlyL3NyYy9zYXNzL3NldHRpbmdzL3R5cGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9wbHlyL3NyYy9zYXNzL2NvbXBvbmVudHMvYmFkZ2VzLnNjc3MiLCJfcGxheWVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvcGx5ci9zcmMvc2Fzcy9zZXR0aW5ncy9iYWRnZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9wbHlyL3NyYy9zYXNzL2NvbXBvbmVudHMvY2FwdGlvbnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9wbHlyL3NyYy9zYXNzL3NldHRpbmdzL2NhcHRpb25zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvcGx5ci9zcmMvc2Fzcy9zZXR0aW5ncy9jb250cm9scy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3BseXIvc3JjL3Nhc3MvY29tcG9uZW50cy9jb250cm9sLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvcGx5ci9zcmMvc2Fzcy9jb21wb25lbnRzL2NvbnRyb2xzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvcGx5ci9zcmMvc2Fzcy9jb21wb25lbnRzL2VtYmVkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvcGx5ci9zcmMvc2Fzcy9saWIvZnVuY3Rpb25zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvcGx5ci9zcmMvc2Fzcy9jb21wb25lbnRzL21lbnVzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvcGx5ci9zcmMvc2Fzcy9zZXR0aW5ncy9tZW51cy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3BseXIvc3JjL3Nhc3MvY29tcG9uZW50cy9wcm9ncmVzcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3BseXIvc3JjL3Nhc3Mvc2V0dGluZ3Mvc2xpZGVycy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3BseXIvc3JjL3Nhc3Mvc2V0dGluZ3MvcHJvZ3Jlc3Muc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9wbHlyL3NyYy9zYXNzL2NvbXBvbmVudHMvc2xpZGVycy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3BseXIvc3JjL3Nhc3MvY29tcG9uZW50cy90aW1lcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3BseXIvc3JjL3Nhc3MvY29tcG9uZW50cy90b29sdGlwcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3BseXIvc3JjL3Nhc3Mvc2V0dGluZ3MvdG9vbHRpcHMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9wbHlyL3NyYy9zYXNzL2NvbXBvbmVudHMvdmlkZW8uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9wbHlyL3NyYy9zYXNzL2NvbXBvbmVudHMvdm9sdW1lLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvcGx5ci9zcmMvc2Fzcy9zdGF0ZXMvZXJyb3Iuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9wbHlyL3NyYy9zYXNzL3N0YXRlcy9mdWxsc2NyZWVuLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvcGx5ci9zcmMvc2Fzcy9wbHVnaW5zL2Fkcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3BseXIvc3JjL3Nhc3MvdXRpbHMvYW5pbWF0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvcGx5ci9zcmMvc2Fzcy91dGlscy9oaWRkZW4uc2NzcyIsIl9sYXlvdXQuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYnJlYWtwb2ludC1zYXNzL3N0eWxlc2hlZXRzL19icmVha3BvaW50LnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL3N1c3kvc2Fzcy9zdXN5L2xhbmd1YWdlL3N1c3kvX2JveC1zaXppbmcuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvc3VzeS9zYXNzL3N1c3kvb3V0cHV0L3N1cHBvcnQvX3JlbS5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9zdXN5L3Nhc3Mvc3VzeS9sYW5ndWFnZS9zdXN5L19jb250YWluZXIuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvc3VzeS9zYXNzL3N1c3kvb3V0cHV0L3N1cHBvcnQvX2NsZWFyZml4LnNjc3MiLCJfbWl4aW5zLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL3N1c3kvc2Fzcy9zdXN5L2xhbmd1YWdlL3N1c3kvX3NwYW4uc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvc3VzeS9zYXNzL3N1c3kvb3V0cHV0L3NoYXJlZC9fZGlyZWN0aW9uLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL3N1c3kvc2Fzcy9zdXN5L2xhbmd1YWdlL3N1c3kvX2d1dHRlcnMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvc3VzeS9zYXNzL3N1c3kvbGFuZ3VhZ2Uvc3VzeS9faXNvbGF0ZS5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9zdXN5L3Nhc3Mvc3VzeS9sYW5ndWFnZS9zdXN5L19nYWxsZXJ5LnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL3N1c3kvc2Fzcy9zdXN5L2xhbmd1YWdlL3N1c3kvX3Jvd3Muc2NzcyIsIl9uYXYuc2NzcyIsIl92aWRlby5zY3NzIiwiX21lZGlhLnNjc3MiLCJfc2luZ2xlLnNjc3MiLCJfYXJjaGl2ZS5zY3NzIiwiX3BhZ2Uuc2NzcyIsIl9zZWFyY2guc2NzcyIsIl9sdWNreS1saXZlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FDQWpCOztn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O0lBQ2pCLHFCQUFvQjtJQUNwQixpQkFBZ0IsRUFDbkI7RUFFMkI7SUFFeEIsaUJBQWdCO0tBQUcsaUJBQWlCO0lBQ3BDLFFBQU8sRUFFVjtJQzdGRDtNRFlKO1FBNkVzQyxvQkEzR3RCLEVBK0dYLEVBQUE7SUFMMkI7TUFJZixjQUFhLEVBQUs7RUM1Ri9CO0lEWUo7TUFxRlksbUJBbkhJO01Bb0hKLG9CQXBISSxFQXNIWCxFQUFBOztBQUdMO0VBQ0ksb0JBQXlCLEVBeUI1QjtFQTFCRDtJTWhJSSwwQ0FBeUM7SUFDekMsOEJBQTZCO0lBQzdCLDBCQUF5QixFTm1JeEI7SU05SkQ7TU55Sko7UU1wSlEsNkNBQTZDO1FBQzdDLDhDQUE2QjtRQUM3Qix5QkFxQjhDLEVOa0lqRCxFQUFBO0VDNUdEO0lEdUdKO01BT1EsbUJBaElRO01BaUlSLG9CQWpJUTtNRzNCWixpQkg4SjRCO01HOUo1QixrQkNxRG9DO01EckRwQyxtQkNxRG1FLEVKeUh0RTtNQTFCRDtRSzNKTSxhQUFZO1FBQ1osZUFBYztRQUNkLFlBQVcsRUFDWjtNTHFLTzs7UUdqS1IsV0l3STBDO1FKeEkxQyxZS0E0RDtRTEE1RCxrQk1xRnNCO1FOckZ0QixtQk1xRnNCLEVUNEV1QjtRQWJqRDs7VUdwSkksZU93RGlCO1VQeERqQixvQlFvRDZCO1VScEQ3QixZU1owQixFRG9GekI7UVg0RUw7O1VHcEpJLGlCSXdJMEM7VUp4STFDLG9CUW9ENkI7VVJwRDdCLFlTSjBCLEVENEV6QjtNWDBGTzs7UUFBZ0IsY0FBYSxFQUFLLEVBQUE7RUNySDFDO0lEdUdKO01HcEpJLGlCSHVLNEI7TUd2SzVCLGtCQ3FEb0M7TURyRHBDLG1CQ3FEbUUsRUp5SHRFO01LdExHO1FBQ0UsYUFBWTtRQUNaLGVBQWM7UUFDZCxZQUFXLEVBQ1o7TUx3Skw7O1FHcEpJLGlCSXdJMEM7UUp4STFDLFlLQTREO1FMQTVELG9CTXFGc0I7UU5yRnRCLHFCTXFGc0IsRVRxRnVCO1FBdEJqRDs7VUdwSkksZU93RGlCO1VQeERqQixvQlFvRDZCO1VScEQ3QixZU1owQixFRG9GekI7UVg0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eUI7SUFDekIsd0JBQXVCLEVBRTlCLEVBQUE7O0FBRWM7O0VBRVgsMEJBQXlCLEVBQzVCOztBQUVxQjtFQUFJLGVBdEJkLEVBc0JnQzs7QUFFdEM7RUFDRixrQkFBaUI7RUFDakIsb0JBQW1CO0VBQ25CLGlCQUFnQjtFQUNoQixnQkFBZSxFQUVsQjtFbkJ2RkQ7SW1CMkRKO01BMkJrQyxnQkFBZSxFQUM1QyxFQUFBOztBQTVCTDtFQStCUSxtQkFBa0I7RUFDbEIsZ0JBQWU7RUFDZixvQ0FBbUM7RUFDbkMsbUNBQWtDLEVBU3JDO0VuQnRHRDtJbUIyREo7TUFvQ1ksbUJBQWtCO01BQ2xCLG9CQUFtQixFQU0xQixFQUFBO0VuQnRHRDtJbUIyREo7TUF3Q1ksb0JBQW1CO01BQ25CLHFCQUFvQixFQUUzQixFQUFBOztBQTNDTDtFQStDUSxtQkFBa0I7RUFDbEIsZUFsRFE7RUFtRFIsb0JBQW1CO0VBQ25CLG9CQUFtQixFQUV0QjtFQURHO0lBQUksZUFyREksRUFxRGM7O0FBSXhCO0VBRUYsbUJBQWtCO0VBQ2xCLG9CQUFtQixFQU10QjtFQVRLO0lBQ2Msa0JBQWlCLEVBQUs7RW5Cbkh0QztJbUJrSEU7TUFNRSxtQkFBa0I7TUFDbEIsb0JBQW1CLEVBRTFCLEVBQUEiLCJmaWxlIjoic3R5bGVzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBOb3JtYWxpemUuc2NzcyBzZXR0aW5nc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogSW5jbHVkZXMgbGVnYWN5IGJyb3dzZXIgc3VwcG9ydCBJRTYvN1xuICpcbiAqIFNldCB0byBmYWxzZSBpZiB5b3Ugd2FudCB0byBkcm9wIHN1cHBvcnQgZm9yIElFNiBhbmQgSUU3XG4gKi9cbi8qIEJhc2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gKiAyLiBQcmV2ZW50IGlPUyBhbmQgSUUgdGV4dCBzaXplIGFkanVzdCBhZnRlciBkZXZpY2Ugb3JpZW50YXRpb24gY2hhbmdlLFxuICogICAgd2l0aG91dCBkaXNhYmxpbmcgdXNlciB6b29tLlxuICogMy4gQ29ycmVjdHMgdGV4dCByZXNpemluZyBvZGRseSBpbiBJRSA2Lzcgd2hlbiBib2R5IGBmb250LXNpemVgIGlzIHNldCB1c2luZ1xuICogIGBlbWAgdW5pdHMuXG4gKi9cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcbiAqIGFuZCBGaXJlZm94LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbiAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgNi83LzgvOSBhbmQgRmlyZWZveCAzLlxuICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBQcmV2ZW50cyBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcbiAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbiAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAqL1xuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogTGlua3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLyoqXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGZvY3VzZWQgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBhbHNvIGluIGFuXG4gKiBhY3RpdmUvaG92ZXIgc3RhdGUuXG4gKi9cbmE6YWN0aXZlLCBhOmhvdmVyIHtcbiAgb3V0bGluZTogMDsgfVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7IH1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqL1xuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qKlxuICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwOyB9XG5cbi8qKlxuICogQWRkcmVzc2VzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICovXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbiAgY29sb3I6ICMwMDA7IH1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4gKiAyLiBJbXByb3ZlcyBpbWFnZSBxdWFsaXR5IHdoZW4gc2NhbGVkIGluIElFIDcuXG4gKi9cbmltZyB7XG4gIGJvcmRlcjogMDsgfVxuXG4vKipcbiAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXG4gKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7IH1cblxuLyoqXG4gKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcbiAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKipcbiAqIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbiAqIENvcnJlY3QgZm9udCBmYW1pbHkgc2V0IG9kZGx5IGluIElFIDYsIFNhZmFyaSA0LzUsIGFuZCBDaHJvbWUuXG4gKi9cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTsgfVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbiAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbiAqL1xuLyoqXG4gKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4gKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKiA0LiBJbXByb3ZlcyBhcHBlYXJhbmNlIGFuZCBjb25zaXN0ZW5jeSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAzICovIH1cblxuLyoqXG4gKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbiAqL1xuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAqICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gKiA0LiBSZW1vdmVzIGlubmVyIHNwYWNpbmcgaW4gSUUgNyB3aXRob3V0IGFmZmVjdGluZyBub3JtYWwgdGV4dCBpbnB1dHMuXG4gKiAgS25vd24gaXNzdWU6IGlubmVyIHNwYWNpbmcgcmVtYWlucyBpbiBJRSA2LlxuICovXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyO1xuICAvKiAzICovIH1cblxuLyoqXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuXG4vKipcbiAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4gKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICogIEtub3duIGlzc3VlOiBleGNlc3MgcGFkZGluZyByZW1haW5zIGluIElFIDYuXG4gKi9cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gKi9cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICovXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuICovXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAqL1xuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuXG4gKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gKiAzLiBDb3JyZWN0cyB0ZXh0IG5vdCB3cmFwcGluZyBpbiBGaXJlZm94IDMuXG4gKiA0LiBDb3JyZWN0cyBhbGlnbm1lbnQgZGlzcGxheWVkIG9kZGx5IGluIElFIDYvNy5cbiAqL1xubGVnZW5kIHtcbiAgYm9yZGVyOiAwO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyoqXG4gKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKiBUYWJsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqL1xudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDsgfVxuXG50ZCxcbnRoIHtcbiAgcGFkZGluZzogMDsgfVxuXG5Aa2V5ZnJhbWVzIHBseXItcHJvZ3Jlc3Mge1xuICB0byB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMjVweCAwOyB9IH1cblxuQGtleWZyYW1lcyBwbHlyLXBvcHVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuQGtleWZyYW1lcyBwbHlyLWZhZGUtaW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLnBseXIge1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZGlyZWN0aW9uOiBsdHI7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjc7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWluLXdpZHRoOiAyMDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjNzIGVhc2U7IH1cbiAgLnBseXIgdmlkZW8sXG4gIC5wbHlyIGF1ZGlvIHtcbiAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICAgIGhlaWdodDogYXV0bztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5wbHlyOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbi5wbHlyLS1mdWxsLXVpIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICAucGx5ci0tZnVsbC11aSAqLFxuICAucGx5ci0tZnVsbC11aSAqOjphZnRlcixcbiAgLnBseXItLWZ1bGwtdWkgKjo6YmVmb3JlIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbi5wbHlyLS1mdWxsLXVpIGEsXG4ucGx5ci0tZnVsbC11aSBidXR0b24sXG4ucGx5ci0tZnVsbC11aSBpbnB1dCxcbi5wbHlyLS1mdWxsLXVpIGxhYmVsIHtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247IH1cblxuLnBseXJfX2JhZGdlIHtcbiAgYmFja2dyb3VuZDogIzRmNWI1ZjtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiA5cHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwYWRkaW5nOiAzcHggNHB4OyB9XG5cbi5wbHlyLS1mdWxsLXVpIDo6LXdlYmtpdC1tZWRpYS10ZXh0LXRyYWNrLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnBseXJfX2NhcHRpb25zIHtcbiAgYW5pbWF0aW9uOiBwbHlyLWZhZGUtaW4gMC4zcyBlYXNlO1xuICBib3R0b206IDA7XG4gIGNvbG9yOiAjZmZmO1xuICBkaXNwbGF5OiBub25lO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwcHgpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cyBlYXNlLWluLW91dDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnBseXJfX2NhcHRpb25zIHNwYW4ge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgYm94LWRlY29yYXRpb24tYnJlYWs6IGNsb25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxODUlO1xuICAgIHBhZGRpbmc6IDAuMmVtIDAuNWVtO1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsgfVxuICAgIC5wbHlyX19jYXB0aW9ucyBzcGFuIGRpdiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgLnBseXJfX2NhcHRpb25zIHNwYW46ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gICAgLnBseXJfX2NhcHRpb25zIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIHBhZGRpbmc6IDIwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGx5cl9fY2FwdGlvbnMge1xuICAgICAgZm9udC1zaXplOiAxOHB4OyB9IH1cblxuLnBseXItLWNhcHRpb25zLWFjdGl2ZSAucGx5cl9fY2FwdGlvbnMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ucGx5ci0taGlkZS1jb250cm9scyAucGx5cl9fY2FwdGlvbnMge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1cHgpOyB9XG5cbi5wbHlyX19jb250cm9sIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmbGV4LXNocmluazogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHBhZGRpbmc6IDdweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOyB9XG4gIC5wbHlyX19jb250cm9sIHN2ZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgIGhlaWdodDogMThweDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB3aWR0aDogMThweDsgfVxuICAucGx5cl9fY29udHJvbDpmb2N1cyB7XG4gICAgb3V0bGluZTogMDsgfVxuICAucGx5cl9fY29udHJvbC5wbHlyX190YWItZm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDIzNywgMzcsIDM3LCAwLjM1KTtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbi5wbHlyX19jb250cm9sW2FyaWEtcHJlc3NlZD0nZmFsc2UnXSAuaWNvbi0tcHJlc3NlZCxcbi5wbHlyX19jb250cm9sW2FyaWEtcHJlc3NlZD0ndHJ1ZSddIC5pY29uLS1ub3QtcHJlc3NlZCxcbi5wbHlyX19jb250cm9sW2FyaWEtcHJlc3NlZD0nZmFsc2UnXSAubGFiZWwtLXByZXNzZWQsXG4ucGx5cl9fY29udHJvbFthcmlhLXByZXNzZWQ9J3RydWUnXSAubGFiZWwtLW5vdC1wcmVzc2VkIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ucGx5ci0tYXVkaW8gLnBseXJfX2NvbnRyb2wucGx5cl9fdGFiLWZvY3VzLCAucGx5ci0tYXVkaW8gLnBseXJfX2NvbnRyb2w6aG92ZXIsIC5wbHlyLS1hdWRpbyAucGx5cl9fY29udHJvbFthcmlhLWV4cGFuZGVkPSd0cnVlJ10ge1xuICBiYWNrZ3JvdW5kOiAjZWQyNTI1O1xuICBjb2xvcjogI2ZmZjsgfVxuXG4ucGx5cl9fY29udHJvbC0tb3ZlcmxhaWQge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDIzNywgMzcsIDM3LCAwLjgpO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICBjb2xvcjogI2ZmZjtcbiAgZGlzcGxheTogbm9uZTtcbiAgbGVmdDogNTAlO1xuICBwYWRkaW5nOiAxNXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgei1pbmRleDogMjsgfVxuICAucGx5cl9fY29udHJvbC0tb3ZlcmxhaWQgc3ZnIHtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgbGVmdDogMnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMjBweDsgfVxuICAucGx5cl9fY29udHJvbC0tb3ZlcmxhaWQ6aG92ZXIsIC5wbHlyX19jb250cm9sLS1vdmVybGFpZDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogI2VkMjUyNTsgfVxuXG4ucGx5ci0tcGxheWluZyAucGx5cl9fY29udHJvbC0tb3ZlcmxhaWQge1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnBseXItLWZ1bGwtdWkucGx5ci0tdmlkZW8gLnBseXJfX2NvbnRyb2wtLW92ZXJsYWlkIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnBseXItLWZ1bGwtdWkgOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ucGx5cl9fY29udHJvbHMge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnBseXJfX2NvbnRyb2xzID4gLnBseXJfX2NvbnRyb2wsXG4gIC5wbHlyX19jb250cm9scyAucGx5cl9fcHJvZ3Jlc3MsXG4gIC5wbHlyX19jb250cm9scyAucGx5cl9fdGltZSxcbiAgLnBseXJfX2NvbnRyb2xzIC5wbHlyX19tZW51IHtcbiAgICBtYXJnaW4tbGVmdDogNXB4OyB9XG4gICAgLnBseXJfX2NvbnRyb2xzID4gLnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQsXG4gICAgLnBseXJfX2NvbnRyb2xzID4gLnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQgKyBbZGF0YS1wbHlyPSdwYXVzZSddLFxuICAgIC5wbHlyX19jb250cm9scyAucGx5cl9fcHJvZ3Jlc3M6Zmlyc3QtY2hpbGQsXG4gICAgLnBseXJfX2NvbnRyb2xzIC5wbHlyX19wcm9ncmVzczpmaXJzdC1jaGlsZCArIFtkYXRhLXBseXI9J3BhdXNlJ10sXG4gICAgLnBseXJfX2NvbnRyb2xzIC5wbHlyX190aW1lOmZpcnN0LWNoaWxkLFxuICAgIC5wbHlyX19jb250cm9scyAucGx5cl9fdGltZTpmaXJzdC1jaGlsZCArIFtkYXRhLXBseXI9J3BhdXNlJ10sXG4gICAgLnBseXJfX2NvbnRyb2xzIC5wbHlyX19tZW51OmZpcnN0LWNoaWxkLFxuICAgIC5wbHlyX19jb250cm9scyAucGx5cl9fbWVudTpmaXJzdC1jaGlsZCArIFtkYXRhLXBseXI9J3BhdXNlJ10ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnBseXJfX2NvbnRyb2xzIC5wbHlyX192b2x1bWUge1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gICAgLnBseXJfX2NvbnRyb2xzID4gLnBseXJfX2NvbnRyb2wsXG4gICAgLnBseXJfX2NvbnRyb2xzIC5wbHlyX19wcm9ncmVzcyxcbiAgICAucGx5cl9fY29udHJvbHMgLnBseXJfX3RpbWUsXG4gICAgLnBseXJfX2NvbnRyb2xzIC5wbHlyX19tZW51IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4OyB9XG4gICAgLnBseXJfX2NvbnRyb2xzID4gLnBseXJfX2NvbnRyb2wgKyAucGx5cl9fY29udHJvbCxcbiAgICAucGx5cl9fY29udHJvbHMgLnBseXJfX21lbnUgKyAucGx5cl9fY29udHJvbCxcbiAgICAucGx5cl9fY29udHJvbHMgPiAucGx5cl9fY29udHJvbCArIC5wbHlyX19tZW51IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7IH0gfVxuXG4ucGx5ci0tdmlkZW8gLnBseXJfX2NvbnRyb2xzIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50LCByZ2JhKDAsIDAsIDAsIDAuNykpO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBpbmhlcml0O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogaW5oZXJpdDtcbiAgYm90dG9tOiAwO1xuICBjb2xvcjogI2ZmZjtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogMzVweCAxMHB4IDEwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIDAuNHMgZWFzZS1pbi1vdXQ7XG4gIHotaW5kZXg6IDI7IH1cbiAgLnBseXItLXZpZGVvIC5wbHlyX19jb250cm9scyAucGx5cl9fY29udHJvbCBzdmcge1xuICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNSkpOyB9XG4gIC5wbHlyLS12aWRlbyAucGx5cl9fY29udHJvbHMgLnBseXJfX2NvbnRyb2wucGx5cl9fdGFiLWZvY3VzLCAucGx5ci0tdmlkZW8gLnBseXJfX2NvbnRyb2xzIC5wbHlyX19jb250cm9sOmhvdmVyLCAucGx5ci0tdmlkZW8gLnBseXJfX2NvbnRyb2xzIC5wbHlyX19jb250cm9sW2FyaWEtZXhwYW5kZWQ9J3RydWUnXSB7XG4gICAgYmFja2dyb3VuZDogI2VkMjUyNTtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4ucGx5ci0tYXVkaW8gLnBseXJfX2NvbnRyb2xzIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbiAgY29sb3I6ICM0ZjViNWY7XG4gIHBhZGRpbmc6IDEwcHg7IH1cblxuLnBseXItLXZpZGVvLnBseXItLWhpZGUtY29udHJvbHMgLnBseXJfX2NvbnRyb2xzIHtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsgfVxuXG4ucGx5ciBbZGF0YS1wbHlyPSdjYXB0aW9ucyddLFxuLnBseXIgW2RhdGEtcGx5cj0ncGlwJ10sXG4ucGx5ciBbZGF0YS1wbHlyPSdhaXJwbGF5J10sXG4ucGx5ciBbZGF0YS1wbHlyPSdmdWxsc2NyZWVuJ10ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5wbHlyLS1jYXB0aW9ucy1lbmFibGVkIFtkYXRhLXBseXI9J2NhcHRpb25zJ10sXG4ucGx5ci0tcGlwLXN1cHBvcnRlZCBbZGF0YS1wbHlyPSdwaXAnXSxcbi5wbHlyLS1haXJwbGF5LXN1cHBvcnRlZCBbZGF0YS1wbHlyPSdhaXJwbGF5J10sXG4ucGx5ci0tZnVsbHNjcmVlbi1lbmFibGVkIFtkYXRhLXBseXI9J2Z1bGxzY3JlZW4nXSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4ucGx5cl9fdmlkZW8tZW1iZWQge1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAucGx5cl9fdmlkZW8tZW1iZWQgaWZyYW1lIHtcbiAgICBib3JkZXI6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAucGx5cl9fdmlkZW8tZW1iZWQgPiBkaXYge1xuICAgIHBhZGRpbmctYm90dG9tOiAyMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTM1LjkzNzUlKTsgfVxuXG4ucGx5ci0tZnVsbC11aSAucGx5cl9fdmlkZW8tZW1iZWQgaWZyYW1lIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnBseXJfX21lbnUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnBseXJfX21lbnUgLnBseXJfX2NvbnRyb2wgc3ZnIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlOyB9XG4gIC5wbHlyX19tZW51IC5wbHlyX19jb250cm9sW2FyaWEtZXhwYW5kZWQ9J3RydWUnXSBzdmcge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgfVxuICAucGx5cl9fbWVudSAucGx5cl9fY29udHJvbFthcmlhLWV4cGFuZGVkPSd0cnVlJ10gLnBseXJfX3Rvb2x0aXAge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnBseXJfX21lbnVfX2NvbnRhaW5lciB7XG4gICAgYW5pbWF0aW9uOiBwbHlyLXBvcHVwIDAuMnMgZWFzZTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICBjb2xvcjogIzRmNWI1ZjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IC0zcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICAucGx5cl9fbWVudV9fY29udGFpbmVyID4gZGl2IHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zNXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSwgd2lkdGggMC4zNXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsgfVxuICAgIC5wbHlyX19tZW51X19jb250YWluZXI6OmFmdGVyIHtcbiAgICAgIGJvcmRlcjogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMTVweDtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIHdpZHRoOiAwOyB9XG4gICAgLnBseXJfX21lbnVfX2NvbnRhaW5lciB1bCB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBhZGRpbmc6IDdweDsgfVxuICAgICAgLnBseXJfX21lbnVfX2NvbnRhaW5lciB1bCBsaSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDJweDsgfVxuICAgICAgICAucGx5cl9fbWVudV9fY29udGFpbmVyIHVsIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbCB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgY29sb3I6ICM0ZjViNWY7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcGFkZGluZzogNHB4IDE0cHg7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sOjphZnRlciB7XG4gICAgICAgIGJvcmRlcjogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4ycyBlYXNlOyB9XG4gICAgICAucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sLS1mb3J3YXJkIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjhweDsgfVxuICAgICAgICAucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sLS1mb3J3YXJkOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHJnYmEoNzksIDkxLCA5NSwgMC44KTtcbiAgICAgICAgICByaWdodDogNXB4OyB9XG4gICAgICAgIC5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2wtLWZvcndhcmQucGx5cl9fdGFiLWZvY3VzOjphZnRlciwgLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbC0tZm9yd2FyZDpob3Zlcjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBjdXJyZW50Q29sb3I7IH1cbiAgICAgIC5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2wtLWJhY2sge1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBtYXJnaW46IDdweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI4cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE0cHgpOyB9XG4gICAgICAgIC5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2wtLWJhY2s6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IHJnYmEoNzksIDkxLCA5NSwgMC44KTtcbiAgICAgICAgICBsZWZ0OiA3cHg7IH1cbiAgICAgICAgLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbC0tYmFjazo6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjYjdjNWNkO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDAgI2ZmZjtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICB0b3A6IDEwMCU7IH1cbiAgICAgICAgLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbC0tYmFjay5wbHlyX190YWItZm9jdXM6OmFmdGVyLCAucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sLS1iYWNrOmhvdmVyOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBjdXJyZW50Q29sb3I7IH1cbiAgICAucGx5cl9fbWVudV9fY29udGFpbmVyIGxhYmVsLnBseXJfX2NvbnRyb2wge1xuICAgICAgcGFkZGluZy1sZWZ0OiA3cHg7IH1cbiAgICAgIC5wbHlyX19tZW51X19jb250YWluZXIgbGFiZWwucGx5cl9fY29udHJvbCBpbnB1dFt0eXBlPSdyYWRpbyddICsgc3BhbiB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICAgICB3aWR0aDogMTZweDsgfVxuICAgICAgICAucGx5cl9fbWVudV9fY29udGFpbmVyIGxhYmVsLnBseXJfX2NvbnRyb2wgaW5wdXRbdHlwZT0ncmFkaW8nXSArIHNwYW46OmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICAgICAgbGVmdDogNXB4O1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNXB4O1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZSwgb3BhY2l0eSAwLjNzIGVhc2U7XG4gICAgICAgICAgd2lkdGg6IDZweDsgfVxuICAgICAgLnBseXJfX21lbnVfX2NvbnRhaW5lciBsYWJlbC5wbHlyX19jb250cm9sIGlucHV0W3R5cGU9J3JhZGlvJ106Y2hlY2tlZCArIHNwYW4ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZWQyNTI1OyB9XG4gICAgICAgIC5wbHlyX19tZW51X19jb250YWluZXIgbGFiZWwucGx5cl9fY29udHJvbCBpbnB1dFt0eXBlPSdyYWRpbyddOmNoZWNrZWQgKyBzcGFuOjphZnRlciB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gICAgICAucGx5cl9fbWVudV9fY29udGFpbmVyIGxhYmVsLnBseXJfX2NvbnRyb2wgaW5wdXRbdHlwZT0ncmFkaW8nXTpmb2N1cyArIHNwYW4ge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgyMzcsIDM3LCAzNywgMC4zNSk7XG4gICAgICAgIG91dGxpbmU6IDA7IH1cbiAgICAgIC5wbHlyX19tZW51X19jb250YWluZXIgbGFiZWwucGx5cl9fY29udHJvbC5wbHlyX190YWItZm9jdXMgaW5wdXRbdHlwZT0ncmFkaW8nXSArIHNwYW4sXG4gICAgICAucGx5cl9fbWVudV9fY29udGFpbmVyIGxhYmVsLnBseXJfX2NvbnRyb2w6aG92ZXIgaW5wdXRbdHlwZT0ncmFkaW8nXSArIHNwYW4ge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cbiAgICAucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19tZW51X192YWx1ZSB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtN3B4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5wbHlyX19wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAucGx5cl9fcHJvZ3Jlc3MgaW5wdXRbdHlwZT0ncmFuZ2UnXSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7IH1cbiAgLnBseXJfX3Byb2dyZXNzIC5wbHlyX190b29sdGlwIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGVmdDogMDsgfVxuXG4ucGx5cl9fcHJvZ3Jlc3MtLWJ1ZmZlciB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSAqL1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgaGVpZ2h0OiA2cHg7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbjogLTNweCAwIDA7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5wbHlyX19wcm9ncmVzcy0tYnVmZmVyOjotd2Via2l0LXByb2dyZXNzLWJhciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggMC4ycyBlYXNlOyB9XG4gIC5wbHlyX19wcm9ncmVzcy0tYnVmZmVyOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcbiAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gICAgbWluLXdpZHRoOiA2cHg7IH1cbiAgLnBseXJfX3Byb2dyZXNzLS1idWZmZXI6Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gICAgbWluLXdpZHRoOiA2cHg7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggMC4ycyBlYXNlOyB9XG4gIC5wbHlyX19wcm9ncmVzcy0tYnVmZmVyOjotbXMtZmlsbCB7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggMC4ycyBlYXNlOyB9XG5cbi5wbHlyLS12aWRlbyAucGx5cl9fcHJvZ3Jlc3MtLWJ1ZmZlciB7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTsgfVxuXG4ucGx5ci0tYXVkaW8gLnBseXJfX3Byb2dyZXNzLS1idWZmZXIge1xuICBjb2xvcjogcmdiYSgxODMsIDE5NywgMjA1LCAwLjY2KTsgfVxuXG4ucGx5ci0tbG9hZGluZyAucGx5cl9fcHJvZ3Jlc3MtLWJ1ZmZlciB7XG4gIGFuaW1hdGlvbjogcGx5ci1wcm9ncmVzcyAxcyBsaW5lYXIgaW5maW5pdGU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHJnYmEoNDcsIDUyLCA2MSwgMC42KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDQ3LCA1MiwgNjEsIDAuNikgNTAlLCByZ2JhKDQ3LCA1MiwgNjEsIDAuNikgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBiYWNrZ3JvdW5kLXNpemU6IDI1cHggMjVweDtcbiAgY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5wbHlyLS12aWRlby5wbHlyLS1sb2FkaW5nIC5wbHlyX19wcm9ncmVzcy0tYnVmZmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTsgfVxuXG4ucGx5ci0tYXVkaW8ucGx5ci0tbG9hZGluZyAucGx5cl9fcHJvZ3Jlc3MtLWJ1ZmZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTgzLCAxOTcsIDIwNSwgMC42Nik7IH1cblxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT0ncmFuZ2UnXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSAqL1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAyOHB4O1xuICBjb2xvcjogI2VkMjUyNTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMjBweDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuM3MgZWFzZTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT0ncmFuZ2UnXTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgaGVpZ2h0OiA2cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIGN1cnJlbnRDb2xvciB2YXIoLS12YWx1ZSksIHRyYW5zcGFyZW50IHZhcigtLXZhbHVlKSk7IH1cbiAgLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT0ncmFuZ2UnXTo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNSksIDAgMCAwIDFweCByZ2JhKDQ3LCA1MiwgNjEsIDAuMik7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgd2lkdGg6IDE0cHg7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgKi9cbiAgICBtYXJnaW4tdG9wOiAtNHB4OyB9XG4gIC5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9J3JhbmdlJ106Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgaGVpZ2h0OiA2cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPSdyYW5nZSddOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTUpLCAwIDAgMCAxcHggcmdiYSg0NywgNTIsIDYxLCAwLjIpO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIHdpZHRoOiAxNHB4OyB9XG4gIC5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9J3JhbmdlJ106Oi1tb3otcmFuZ2UtcHJvZ3Jlc3Mge1xuICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgaGVpZ2h0OiA2cHg7IH1cbiAgLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT0ncmFuZ2UnXTo6LW1zLXRyYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGhlaWdodDogNnB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9J3JhbmdlJ106Oi1tcy1maWxsLXVwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGhlaWdodDogNnB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cbiAgLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT0ncmFuZ2UnXTo6LW1zLWZpbGwtbG93ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgaGVpZ2h0OiA2cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7IH1cbiAgLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT0ncmFuZ2UnXTo6LW1zLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTUpLCAwIDAgMCAxcHggcmdiYSg0NywgNTIsIDYxLCAwLjIpO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIHdpZHRoOiAxNHB4O1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT0ncmFuZ2UnXTo6LW1zLXRvb2x0aXAge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT0ncmFuZ2UnXTpmb2N1cyB7XG4gICAgb3V0bGluZTogMDsgfVxuICAucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPSdyYW5nZSddOjotbW96LWZvY3VzLW91dGVyIHtcbiAgICBib3JkZXI6IDA7IH1cbiAgLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT0ncmFuZ2UnXS5wbHlyX190YWItZm9jdXM6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgyMzcsIDM3LCAzNywgMC4zNSk7XG4gICAgb3V0bGluZTogMDsgfVxuICAucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPSdyYW5nZSddLnBseXJfX3RhYi1mb2N1czo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoMjM3LCAzNywgMzcsIDAuMzUpO1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT0ncmFuZ2UnXS5wbHlyX190YWItZm9jdXM6Oi1tcy10cmFjayB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoMjM3LCAzNywgMzcsIDAuMzUpO1xuICAgIG91dGxpbmU6IDA7IH1cblxuLnBseXItLWZ1bGwtdWkucGx5ci0tdmlkZW8gaW5wdXRbdHlwZT0ncmFuZ2UnXTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpOyB9XG5cbi5wbHlyLS1mdWxsLXVpLnBseXItLXZpZGVvIGlucHV0W3R5cGU9J3JhbmdlJ106Oi1tb3otcmFuZ2UtdHJhY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpOyB9XG5cbi5wbHlyLS1mdWxsLXVpLnBseXItLXZpZGVvIGlucHV0W3R5cGU9J3JhbmdlJ106Oi1tcy10cmFjayB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7IH1cblxuLnBseXItLWZ1bGwtdWkucGx5ci0tdmlkZW8gaW5wdXRbdHlwZT0ncmFuZ2UnXTphY3RpdmU6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNSksIDAgMCAwIDFweCByZ2JhKDQ3LCA1MiwgNjEsIDAuMiksIDAgMCAwIDNweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cblxuLnBseXItLWZ1bGwtdWkucGx5ci0tdmlkZW8gaW5wdXRbdHlwZT0ncmFuZ2UnXTphY3RpdmU6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICBib3gtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE1KSwgMCAwIDAgMXB4IHJnYmEoNDcsIDUyLCA2MSwgMC4yKSwgMCAwIDAgM3B4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuXG4ucGx5ci0tZnVsbC11aS5wbHlyLS12aWRlbyBpbnB1dFt0eXBlPSdyYW5nZSddOmFjdGl2ZTo6LW1zLXRodW1iIHtcbiAgYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNSksIDAgMCAwIDFweCByZ2JhKDQ3LCA1MiwgNjEsIDAuMiksIDAgMCAwIDNweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cblxuLnBseXItLWZ1bGwtdWkucGx5ci0tYXVkaW8gaW5wdXRbdHlwZT0ncmFuZ2UnXTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE4MywgMTk3LCAyMDUsIDAuNjYpOyB9XG5cbi5wbHlyLS1mdWxsLXVpLnBseXItLWF1ZGlvIGlucHV0W3R5cGU9J3JhbmdlJ106Oi1tb3otcmFuZ2UtdHJhY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE4MywgMTk3LCAyMDUsIDAuNjYpOyB9XG5cbi5wbHlyLS1mdWxsLXVpLnBseXItLWF1ZGlvIGlucHV0W3R5cGU9J3JhbmdlJ106Oi1tcy10cmFjayB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTgzLCAxOTcsIDIwNSwgMC42Nik7IH1cblxuLnBseXItLWZ1bGwtdWkucGx5ci0tYXVkaW8gaW5wdXRbdHlwZT0ncmFuZ2UnXTphY3RpdmU6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNSksIDAgMCAwIDFweCByZ2JhKDQ3LCA1MiwgNjEsIDAuMiksIDAgMCAwIDNweCByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cblxuLnBseXItLWZ1bGwtdWkucGx5ci0tYXVkaW8gaW5wdXRbdHlwZT0ncmFuZ2UnXTphY3RpdmU6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICBib3gtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE1KSwgMCAwIDAgMXB4IHJnYmEoNDcsIDUyLCA2MSwgMC4yKSwgMCAwIDAgM3B4IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuXG4ucGx5ci0tZnVsbC11aS5wbHlyLS1hdWRpbyBpbnB1dFt0eXBlPSdyYW5nZSddOmFjdGl2ZTo6LW1zLXRodW1iIHtcbiAgYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNSksIDAgMCAwIDFweCByZ2JhKDQ3LCA1MiwgNjEsIDAuMiksIDAgMCAwIDNweCByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cblxuLnBseXJfX3RpbWUge1xuICBmb250LXNpemU6IDE0cHg7IH1cblxuLnBseXJfX3RpbWUgKyAucGx5cl9fdGltZTo6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcMjA0NCc7XG4gIG1hcmdpbi1yaWdodDogMTBweDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnBseXJfX3RpbWUgKyAucGx5cl9fdGltZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5wbHlyLS12aWRlbyAucGx5cl9fdGltZSB7XG4gIHRleHQtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE1KTsgfVxuXG4ucGx5cl9fdG9vbHRpcCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3R0b206IDEwMCU7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICBjb2xvcjogIzRmNWI1ZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBvcGFjaXR5OiAwO1xuICBwYWRkaW5nOiA1cHggNy41cHg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDEwcHgpIHNjYWxlKDAuOCk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAxMDAlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyAwLjFzIGVhc2UsIG9wYWNpdHkgMC4ycyAwLjFzIGVhc2U7XG4gIHotaW5kZXg6IDI7IH1cbiAgLnBseXJfX3Rvb2x0aXA6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wOiA0cHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICAgIGJvdHRvbTogLTRweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBoZWlnaHQ6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgd2lkdGg6IDA7XG4gICAgei1pbmRleDogMjsgfVxuXG4ucGx5ciAucGx5cl9fY29udHJvbDpob3ZlciAucGx5cl9fdG9vbHRpcCxcbi5wbHlyIC5wbHlyX19jb250cm9sLnBseXJfX3RhYi1mb2N1cyAucGx5cl9fdG9vbHRpcCxcbi5wbHlyX190b29sdGlwLS12aXNpYmxlIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCkgc2NhbGUoMSk7IH1cblxuLnBseXIgLnBseXJfX2NvbnRyb2w6aG92ZXIgLnBseXJfX3Rvb2x0aXAge1xuICB6LWluZGV4OiAzOyB9XG5cbi5wbHlyX19jb250cm9scyA+IC5wbHlyX19jb250cm9sOmZpcnN0LWNoaWxkIC5wbHlyX190b29sdGlwLFxuLnBseXJfX2NvbnRyb2xzID4gLnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQgKyAucGx5cl9fY29udHJvbCAucGx5cl9fdG9vbHRpcCB7XG4gIGxlZnQ6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDEwcHgpIHNjYWxlKDAuOCk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAgMTAwJTsgfVxuICAucGx5cl9fY29udHJvbHMgPiAucGx5cl9fY29udHJvbDpmaXJzdC1jaGlsZCAucGx5cl9fdG9vbHRpcDo6YmVmb3JlLFxuICAucGx5cl9fY29udHJvbHMgPiAucGx5cl9fY29udHJvbDpmaXJzdC1jaGlsZCArIC5wbHlyX19jb250cm9sIC5wbHlyX190b29sdGlwOjpiZWZvcmUge1xuICAgIGxlZnQ6IDE2cHg7IH1cblxuLnBseXJfX2NvbnRyb2xzID4gLnBseXJfX2NvbnRyb2w6bGFzdC1jaGlsZCAucGx5cl9fdG9vbHRpcCB7XG4gIHJpZ2h0OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxMHB4KSBzY2FsZSgwLjgpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDEwMCU7IH1cbiAgLnBseXJfX2NvbnRyb2xzID4gLnBseXJfX2NvbnRyb2w6bGFzdC1jaGlsZCAucGx5cl9fdG9vbHRpcDo6YmVmb3JlIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxNnB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpOyB9XG5cbi5wbHlyX19jb250cm9scyA+IC5wbHlyX19jb250cm9sOmZpcnN0LWNoaWxkOmhvdmVyIC5wbHlyX190b29sdGlwLFxuLnBseXJfX2NvbnRyb2xzID4gLnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQucGx5cl9fdGFiLWZvY3VzIC5wbHlyX190b29sdGlwLFxuLnBseXJfX2NvbnRyb2xzID4gLnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQgLnBseXJfX3Rvb2x0aXAtLXZpc2libGUsXG4ucGx5cl9fY29udHJvbHMgPiAucGx5cl9fY29udHJvbDpmaXJzdC1jaGlsZCArIC5wbHlyX19jb250cm9sOmhvdmVyIC5wbHlyX190b29sdGlwLFxuLnBseXJfX2NvbnRyb2xzID4gLnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQgKyAucGx5cl9fY29udHJvbC5wbHlyX190YWItZm9jdXMgLnBseXJfX3Rvb2x0aXAsXG4ucGx5cl9fY29udHJvbHMgPiAucGx5cl9fY29udHJvbDpmaXJzdC1jaGlsZCArIC5wbHlyX19jb250cm9sIC5wbHlyX190b29sdGlwLS12aXNpYmxlLFxuLnBseXJfX2NvbnRyb2xzID4gLnBseXJfX2NvbnRyb2w6bGFzdC1jaGlsZDpob3ZlciAucGx5cl9fdG9vbHRpcCxcbi5wbHlyX19jb250cm9scyA+IC5wbHlyX19jb250cm9sOmxhc3QtY2hpbGQucGx5cl9fdGFiLWZvY3VzIC5wbHlyX190b29sdGlwLFxuLnBseXJfX2NvbnRyb2xzID4gLnBseXJfX2NvbnRyb2w6bGFzdC1jaGlsZCAucGx5cl9fdG9vbHRpcC0tdmlzaWJsZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApIHNjYWxlKDEpOyB9XG5cbi5wbHlyLS12aWRlbyB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLnBseXItLXZpZGVvLnBseXItLW1lbnUtb3BlbiB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLnBseXJfX3ZpZGVvLXdyYXBwZXIge1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7IH1cblxuLnBseXJfX3ZvbHVtZSB7XG4gIGZsZXg6IDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAucGx5cl9fdm9sdW1lIGlucHV0W3R5cGU9J3JhbmdlJ10ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAgIC5wbHlyX192b2x1bWUge1xuICAgICAgbWF4LXdpZHRoOiA1MHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBseXJfX3ZvbHVtZSB7XG4gICAgICBtYXgtd2lkdGg6IDgwcHg7IH0gfVxuXG4ucGx5ci0taXMtaW9zIC5wbHlyX192b2x1bWUsXG4ucGx5ci0taXMtaW9zIFtkYXRhLXBseXI9J211dGUnXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ucGx5ci0taGFzLWVycm9yIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgLnBseXItLWhhcy1lcnJvcjo6YWZ0ZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogYmxhY2s7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgY29udGVudDogYXR0cihkYXRhLXBseXItZXJyb3IpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1zaGFkb3c6IDAgMXB4IDFweCBibGFjaztcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMTA7IH1cblxuLnBseXI6ZnVsbHNjcmVlbiB7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5wbHlyOmZ1bGxzY3JlZW4gdmlkZW8ge1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAucGx5cjpmdWxsc2NyZWVuIC5wbHlyX192aWRlby13cmFwcGVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnBseXI6ZnVsbHNjcmVlbiAucGx5cl9fdmlkZW8tZW1iZWQge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9XG4gIC5wbHlyOmZ1bGxzY3JlZW4ucGx5ci0tdmltZW8gLnBseXJfX3ZpZGVvLXdyYXBwZXIge1xuICAgIGhlaWdodDogMDtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgLnBseXI6ZnVsbHNjcmVlbiAucGx5cl9fY29udHJvbCAuaWNvbi0tZXhpdC1mdWxsc2NyZWVuIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5wbHlyOmZ1bGxzY3JlZW4gLnBseXJfX2NvbnRyb2wgLmljb24tLWV4aXQtZnVsbHNjcmVlbiArIHN2ZyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5wbHlyOmZ1bGxzY3JlZW4ucGx5ci0taGlkZS1jb250cm9scyB7XG4gICAgY3Vyc29yOiBub25lOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAucGx5cjpmdWxsc2NyZWVuIC5wbHlyX19jYXB0aW9ucyB7XG4gICAgICBmb250LXNpemU6IDIxcHg7IH0gfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgKi9cbi5wbHlyOi13ZWJraXQtZnVsbC1zY3JlZW4ge1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTsgfVxuICAucGx5cjotd2Via2l0LWZ1bGwtc2NyZWVuIHZpZGVvIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnBseXI6LXdlYmtpdC1mdWxsLXNjcmVlbiAucGx5cl9fdmlkZW8td3JhcHBlciB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5wbHlyOi13ZWJraXQtZnVsbC1zY3JlZW4gLnBseXJfX3ZpZGVvLWVtYmVkIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICAucGx5cjotd2Via2l0LWZ1bGwtc2NyZWVuLnBseXItLXZpbWVvIC5wbHlyX192aWRlby13cmFwcGVyIHtcbiAgICBoZWlnaHQ6IDA7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gIC5wbHlyOi13ZWJraXQtZnVsbC1zY3JlZW4gLnBseXJfX2NvbnRyb2wgLmljb24tLWV4aXQtZnVsbHNjcmVlbiB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAucGx5cjotd2Via2l0LWZ1bGwtc2NyZWVuIC5wbHlyX19jb250cm9sIC5pY29uLS1leGl0LWZ1bGxzY3JlZW4gKyBzdmcge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAucGx5cjotd2Via2l0LWZ1bGwtc2NyZWVuLnBseXItLWhpZGUtY29udHJvbHMge1xuICAgIGN1cnNvcjogbm9uZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLnBseXI6LXdlYmtpdC1mdWxsLXNjcmVlbiAucGx5cl9fY2FwdGlvbnMge1xuICAgICAgZm9udC1zaXplOiAyMXB4OyB9IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lICovXG4ucGx5cjotbW96LWZ1bGwtc2NyZWVuIHtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnBseXI6LW1vei1mdWxsLXNjcmVlbiB2aWRlbyB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5wbHlyOi1tb3otZnVsbC1zY3JlZW4gLnBseXJfX3ZpZGVvLXdyYXBwZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAucGx5cjotbW96LWZ1bGwtc2NyZWVuIC5wbHlyX192aWRlby1lbWJlZCB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7IH1cbiAgLnBseXI6LW1vei1mdWxsLXNjcmVlbi5wbHlyLS12aW1lbyAucGx5cl9fdmlkZW8td3JhcHBlciB7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAucGx5cjotbW96LWZ1bGwtc2NyZWVuIC5wbHlyX19jb250cm9sIC5pY29uLS1leGl0LWZ1bGxzY3JlZW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLnBseXI6LW1vei1mdWxsLXNjcmVlbiAucGx5cl9fY29udHJvbCAuaWNvbi0tZXhpdC1mdWxsc2NyZWVuICsgc3ZnIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnBseXI6LW1vei1mdWxsLXNjcmVlbi5wbHlyLS1oaWRlLWNvbnRyb2xzIHtcbiAgICBjdXJzb3I6IG5vbmU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5wbHlyOi1tb3otZnVsbC1zY3JlZW4gLnBseXJfX2NhcHRpb25zIHtcbiAgICAgIGZvbnQtc2l6ZTogMjFweDsgfSB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSAqL1xuLnBseXI6LW1zLWZ1bGxzY3JlZW4ge1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTsgfVxuICAucGx5cjotbXMtZnVsbHNjcmVlbiB2aWRlbyB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5wbHlyOi1tcy1mdWxsc2NyZWVuIC5wbHlyX192aWRlby13cmFwcGVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnBseXI6LW1zLWZ1bGxzY3JlZW4gLnBseXJfX3ZpZGVvLWVtYmVkIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICAucGx5cjotbXMtZnVsbHNjcmVlbi5wbHlyLS12aW1lbyAucGx5cl9fdmlkZW8td3JhcHBlciB7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAucGx5cjotbXMtZnVsbHNjcmVlbiAucGx5cl9fY29udHJvbCAuaWNvbi0tZXhpdC1mdWxsc2NyZWVuIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5wbHlyOi1tcy1mdWxsc2NyZWVuIC5wbHlyX19jb250cm9sIC5pY29uLS1leGl0LWZ1bGxzY3JlZW4gKyBzdmcge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAucGx5cjotbXMtZnVsbHNjcmVlbi5wbHlyLS1oaWRlLWNvbnRyb2xzIHtcbiAgICBjdXJzb3I6IG5vbmU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5wbHlyOi1tcy1mdWxsc2NyZWVuIC5wbHlyX19jYXB0aW9ucyB7XG4gICAgICBmb250LXNpemU6IDIxcHg7IH0gfVxuXG4ucGx5ci0tZnVsbHNjcmVlbi1mYWxsYmFjayB7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTAwMDAwMDA7IH1cbiAgLnBseXItLWZ1bGxzY3JlZW4tZmFsbGJhY2sgdmlkZW8ge1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAucGx5ci0tZnVsbHNjcmVlbi1mYWxsYmFjayAucGx5cl9fdmlkZW8td3JhcHBlciB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5wbHlyLS1mdWxsc2NyZWVuLWZhbGxiYWNrIC5wbHlyX192aWRlby1lbWJlZCB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7IH1cbiAgLnBseXItLWZ1bGxzY3JlZW4tZmFsbGJhY2sucGx5ci0tdmltZW8gLnBseXJfX3ZpZGVvLXdyYXBwZXIge1xuICAgIGhlaWdodDogMDtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgLnBseXItLWZ1bGxzY3JlZW4tZmFsbGJhY2sgLnBseXJfX2NvbnRyb2wgLmljb24tLWV4aXQtZnVsbHNjcmVlbiB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAucGx5ci0tZnVsbHNjcmVlbi1mYWxsYmFjayAucGx5cl9fY29udHJvbCAuaWNvbi0tZXhpdC1mdWxsc2NyZWVuICsgc3ZnIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnBseXItLWZ1bGxzY3JlZW4tZmFsbGJhY2sucGx5ci0taGlkZS1jb250cm9scyB7XG4gICAgY3Vyc29yOiBub25lOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAucGx5ci0tZnVsbHNjcmVlbi1mYWxsYmFjayAucGx5cl9fY2FwdGlvbnMge1xuICAgICAgZm9udC1zaXplOiAyMXB4OyB9IH1cblxuLnBseXJfX2FkcyB7XG4gIGJvdHRvbTogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDM7IH1cbiAgLnBseXJfX2Fkczo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoNDcsIDUyLCA2MSwgMC44KTtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgYm90dG9tOiAxMHB4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1iYWRnZS10ZXh0KTtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgcGFkZGluZzogMnB4IDZweDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDEwcHg7XG4gICAgei1pbmRleDogMzsgfVxuICAucGx5cl9fYWRzOjphZnRlcjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4ucGx5cl9fY3VlcyB7XG4gIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogNnB4O1xuICBsZWZ0OiAwO1xuICBtYXJnaW46IC0zcHggMCAwO1xuICBvcGFjaXR5OiAwLjg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiAzcHg7XG4gIHotaW5kZXg6IDM7IH1cblxuLnBseXItLW5vLXRyYW5zaXRpb24ge1xuICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnBseXItLWZ1bGwtdWkgW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5wbHlyLS1mdWxsLXVpIFthcmlhLWhpZGRlbj0ndHJ1ZSddIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ucGx5cl9fc3Itb25seSB7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHggIWltcG9ydGFudDsgfVxuXG4ucGx5cl9fY29udHJvbC0tb3ZlcmxhaWQge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoXCIvZGlzdC9wbGF5LWJ1dHRvbi5zdmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwcHggMTAwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiAxMDBweDtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgb3BhY2l0eTogMC44OyB9XG4gIC5wbHlyX19jb250cm9sLS1vdmVybGFpZCBzdmcge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnBseXJfX2NvbnRyb2wtLW92ZXJsYWlkOmhvdmVyLCAucGx5cl9fY29udHJvbC0tb3ZlcmxhaWQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybChcIi9kaXN0L3BsYXktYnV0dG9uLnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMHB4IDEwMHB4O1xuICAgIG9wYWNpdHk6IDE7IH1cblxuaHRtbCxcbmJvZHkge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhpZGUtbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oaWRlLWRlc2t0b3Age1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5ib2R5IHtcbiAgY29sb3I6ICNmMmYyZjI7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYTFhMWE7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgYm9keSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWExYTFhICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIGJvZHkge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFhMWExYSAhaW1wb3J0YW50OyB9IH1cblxuYSB7XG4gIGNvbG9yOiAjYzljOWM5OyB9XG5cbiosICo6YmVmb3JlLCAqOmFmdGVyIHtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC52aWRlby0tbGF0ZXN0IHtcbiAgICBtYXJnaW4tbGVmdDogLTI1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMjVweDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyLFxuICBuYXYuc2Vjb25kYXJ5IHVsLFxuICAudmlkZW8tLXNpbmdsZSxcbiAgLm91dGVyLXdyYXBwZXIge1xuICAgIG1heC13aWR0aDogNzY4cHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICAgLmhlYWRlcjphZnRlcixcbiAgICBuYXYuc2Vjb25kYXJ5IHVsOmFmdGVyLFxuICAgIC52aWRlby0tc2luZ2xlOmFmdGVyLFxuICAgIC5vdXRlci13cmFwcGVyOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjbGVhcjogYm90aDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmhlYWRlcixcbiAgbmF2LnNlY29uZGFyeSB1bCxcbiAgLnZpZGVvLS1zaW5nbGUsXG4gIC5vdXRlci13cmFwcGVyIHtcbiAgICBtYXgtd2lkdGg6IDk5NXB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgIC5oZWFkZXI6YWZ0ZXIsXG4gICAgbmF2LnNlY29uZGFyeSB1bDphZnRlcixcbiAgICAudmlkZW8tLXNpbmdsZTphZnRlcixcbiAgICAub3V0ZXItd3JhcHBlcjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY2xlYXI6IGJvdGg7IH0gfVxuXG4ub3V0ZXItd3JhcHBlcjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2Rpc3Qvc3RyaXBlLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCB0b3A7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYTFhMWE7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogNjBweDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuMyksICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLjYgLyAyKSwgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMS4zKSwgKG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuMyksIChtaW4tcmVzb2x1dGlvbjogMS4zZHBweCkge1xuICAgIC5vdXRlci13cmFwcGVyOmJlZm9yZSB7XG4gICAgICAvKiBvbiByZXRpbmEsIHVzZSBpbWFnZSB0aGF0J3Mgc2NhbGVkIGJ5IDIgKi9cbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9kaXN0L3N0cmlwZV9AMlgucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA0cHggNHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm91dGVyLXdyYXBwZXI6YmVmb3JlIHtcbiAgICAgIGhlaWdodDogMzVweDsgfSB9XG5cbi5pcy1hcmNoaXZlIC5vdXRlci13cmFwcGVyOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZlYXR1cmVkLXBhZ2Uge1xuICBsaW5lLWhlaWdodDogMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuZmVhdHVyZWQtcGFnZSB7XG4gICAgICBtYXJnaW4tbGVmdDogLTI1cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0yNXB4OyB9XG4gICAgICAuZmVhdHVyZWQtcGFnZS5mZWF0dXJlZC1wYWdlLS1pbWFnZS1sZWZ0IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDI1cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjVweDsgfSB9XG4gIC5mZWF0dXJlZC1wYWdlIC5mZWF0dXJlZC1wYWdlX19saW5rIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmZlYXR1cmVkLXBhZ2UuZmVhdHVyZWQtcGFnZS0taW1hZ2UtbGVmdDphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuZmVhdHVyZWQtcGFnZS5mZWF0dXJlZC1wYWdlLS1pbWFnZS1sZWZ0IC5mZWF0dXJlZC1wYWdlX190aHVtYiB7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgIHdpZHRoOiAxNjBweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAuZmVhdHVyZWQtcGFnZS5mZWF0dXJlZC1wYWdlLS1pbWFnZS1sZWZ0IC5mZWF0dXJlZC1wYWdlX190aHVtYiB7XG4gICAgICAgIHdpZHRoOiAyMDBweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuZmVhdHVyZWQtcGFnZS5mZWF0dXJlZC1wYWdlLS1pbWFnZS1sZWZ0IC5mZWF0dXJlZC1wYWdlX190aHVtYiB7XG4gICAgICAgIHdpZHRoOiAzNTEuNTAwcHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5mZWF0dXJlZC1wYWdlLmZlYXR1cmVkLXBhZ2UtLWltYWdlLWxlZnQgLmZlYXR1cmVkLXBhZ2VfX3RodW1iIHtcbiAgICAgICAgd2lkdGg6IDMwNC45ODRweDsgfSB9XG4gIC5mZWF0dXJlZC1wYWdlLmZlYXR1cmVkLXBhZ2UtLWltYWdlLWZ1bGwgLmZlYXR1cmVkLXBhZ2VfX3RodW1iIHtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbm9uZTsgfVxuICAuZmVhdHVyZWQtcGFnZSAuZmVhdHVyZWQtcGFnZV9fdGl0bGUge1xuICAgIG1hcmdpbjogMCAwIDE1cHggMDtcbiAgICBmb250LWZhbWlseTogXCJwcm94aW1hLXNvZnRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogNDdweDtcbiAgICBsaW5lLWhlaWdodDogNDdweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6ICNmMmYyZjI7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLmZlYXR1cmVkLXBhZ2UgLmZlYXR1cmVkLXBhZ2VfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiA1NXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNTVweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuZmVhdHVyZWQtcGFnZSAuZmVhdHVyZWQtcGFnZV9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDQ3cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0N3B4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuZmVhdHVyZWQtcGFnZSAuZmVhdHVyZWQtcGFnZV9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDU1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA1NXB4OyB9IH1cbiAgLmZlYXR1cmVkLXBhZ2UgLmZlYXR1cmVkLXBhZ2VfX2JvZHkge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmZlYXR1cmVkLXBhZ2UuZmVhdHVyZWQtcGFnZS0taW1hZ2UtbGVmdCAuZmVhdHVyZWQtcGFnZV9fYm9keSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBfb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB6b29tOiAxOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAuZmVhdHVyZWQtcGFnZS5mZWF0dXJlZC1wYWdlLS1pbWFnZS1sZWZ0IC5mZWF0dXJlZC1wYWdlX19ib2R5IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjVweDsgfSB9XG4gICAgLmZlYXR1cmVkLXBhZ2UuZmVhdHVyZWQtcGFnZS0taW1hZ2UtbGVmdCAuZmVhdHVyZWQtcGFnZV9fYm9keS5jb3B5IHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmZlYXR1cmVkLXBhZ2UuZmVhdHVyZWQtcGFnZS0taW1hZ2UtZnVsbCAuZmVhdHVyZWQtcGFnZV9fYm9keSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4OyB9IH1cblxuLndyYXBwZXIge1xuICBwYWRkaW5nOiAwIDAgMjVweCAwOyB9XG4gIC53cmFwcGVyLmFyY2hpdmUsIC53cmFwcGVyLnRoZW1lIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvZGlzdC9zdHJpcGUucG5nXCIpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgdG9wO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQ7IH1cbiAgICBAbWVkaWEgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMS4zKSwgKC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIuNiAvIDIpLCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjMpLCAobWluLWRldmljZS1waXhlbC1yYXRpbzogMS4zKSwgKG1pbi1yZXNvbHV0aW9uOiAxLjNkcHB4KSB7XG4gICAgICAud3JhcHBlci5hcmNoaXZlLCAud3JhcHBlci50aGVtZSB7XG4gICAgICAgIC8qIG9uIHJldGluYSwgdXNlIGltYWdlIHRoYXQncyBzY2FsZWQgYnkgMiAqL1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvZGlzdC9zdHJpcGVfQDJYLnBuZ1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA0cHggNHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLndyYXBwZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgICAgIG1heC13aWR0aDogNzY4cHg7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgICAgLndyYXBwZXI6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAud3JhcHBlciAud2lkZ2V0X19pdGVtcyAudmlkZW8sXG4gICAgICAud3JhcHBlciAuYXJjaGl2ZV9faXRlbXMgLnZpZGVvIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogOHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7IH1cbiAgICAgICAgLndyYXBwZXIgLndpZGdldF9faXRlbXMgLnZpZGVvOm50aC1jaGlsZCgybiArIDEpLFxuICAgICAgICAud3JhcHBlciAuYXJjaGl2ZV9faXRlbXMgLnZpZGVvOm50aC1jaGlsZCgybiArIDEpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICAgICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAgIC53cmFwcGVyIC53aWRnZXRfX2l0ZW1zIC52aWRlbzpudGgtY2hpbGQoMm4gKyAyKSxcbiAgICAgICAgLndyYXBwZXIgLmFyY2hpdmVfX2l0ZW1zIC52aWRlbzpudGgtY2hpbGQoMm4gKyAyKSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDUwJTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICAgICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAud3JhcHBlciAud2lkZ2V0X19pdGVtcyAudmlkZW9fX3RodW1iLFxuICAgICAgLndyYXBwZXIgLmFyY2hpdmVfX2l0ZW1zIC52aWRlb19fdGh1bWIge1xuICAgICAgICBoZWlnaHQ6IDE5OHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC53cmFwcGVyIHtcbiAgICAgIG1heC13aWR0aDogOTk1cHg7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgICAgLndyYXBwZXI6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAud3JhcHBlciAud2lkZ2V0X19pdGVtcyAudmlkZW8sXG4gICAgICAud3JhcHBlciAuYXJjaGl2ZV9faXRlbXMgLnZpZGVvIHtcbiAgICAgICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNy41cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDcuNXB4OyB9XG4gICAgICAgIC53cmFwcGVyIC53aWRnZXRfX2l0ZW1zIC52aWRlbzpudGgtY2hpbGQoM24gKyAxKSxcbiAgICAgICAgLndyYXBwZXIgLmFyY2hpdmVfX2l0ZW1zIC52aWRlbzpudGgtY2hpbGQoM24gKyAxKSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgICAud3JhcHBlciAud2lkZ2V0X19pdGVtcyAudmlkZW86bnRoLWNoaWxkKDNuICsgMiksXG4gICAgICAgIC53cmFwcGVyIC5hcmNoaXZlX19pdGVtcyAudmlkZW86bnRoLWNoaWxkKDNuICsgMikge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgICAud3JhcHBlciAud2lkZ2V0X19pdGVtcyAudmlkZW86bnRoLWNoaWxkKDNuICsgMyksXG4gICAgICAgIC53cmFwcGVyIC5hcmNoaXZlX19pdGVtcyAudmlkZW86bnRoLWNoaWxkKDNuICsgMykge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgLndyYXBwZXIgLndpZGdldF9faXRlbXMgLnZpZGVvX190aHVtYixcbiAgICAgIC53cmFwcGVyIC5hcmNoaXZlX19pdGVtcyAudmlkZW9fX3RodW1iIHtcbiAgICAgICAgaGVpZ2h0OiAxNzJweDsgfSB9XG5cbi5oZWFkZXItaW5uZXIge1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLndpZGdldF9faXRlbXMsXG4uYXJjaGl2ZV9faXRlbXMge1xuICBtYXJnaW4tYm90dG9tOiAtMTVweDsgfVxuICAud2lkZ2V0X19pdGVtczphZnRlcixcbiAgLmFyY2hpdmVfX2l0ZW1zOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC53aWRnZXRfX2l0ZW1zIC52aWRlbyxcbiAgLmFyY2hpdmVfX2l0ZW1zIC52aWRlbyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAud2lkZ2V0X19pdGVtcyxcbiAgICAuYXJjaGl2ZV9faXRlbXMge1xuICAgICAgbWFyZ2luLWxlZnQ6IC03LjVweDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTcuNXB4OyB9IH1cblxuLndpZGdldCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9kaXN0L3N0cmlwZS5wbmdcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgdG9wO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0O1xuICBwYWRkaW5nOiAyNXB4IDA7XG4gIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMS4zKSwgKC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIuNiAvIDIpLCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjMpLCAobWluLWRldmljZS1waXhlbC1yYXRpbzogMS4zKSwgKG1pbi1yZXNvbHV0aW9uOiAxLjNkcHB4KSB7XG4gICAgLndpZGdldCB7XG4gICAgICAvKiBvbiByZXRpbmEsIHVzZSBpbWFnZSB0aGF0J3Mgc2NhbGVkIGJ5IDIgKi9cbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9kaXN0L3N0cmlwZV9AMlgucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA0cHggNHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLndpZGdldCB7XG4gICAgICBwYWRkaW5nOiAyNXB4O1xuICAgICAgbWFyZ2luOiAwIC0yNXB4OyB9IH1cbiAgLndpZGdldC53aWRnZXQtLWZlYXR1cmVkLXBhZ2UsIC53aWRnZXQud2lkZ2V0LS1sYW5kaW5nIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG4gICAgLndpZGdldC53aWRnZXQtLWZlYXR1cmVkLXBhZ2U6Zmlyc3QtY2hpbGQsIC53aWRnZXQud2lkZ2V0LS1sYW5kaW5nOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLndpZGdldC53aWRnZXQtLW1hcmdpbi1ib3R0b206YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgaGVpZ2h0OiAyNXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi53aWRnZXRfX3RpdGxlIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgbWFyZ2luLWxlZnQ6IDI1cHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLndpZGdldF9fdGl0bGUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG4uc2hhZG93LWxheWVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uaGVhZGVyIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmhlYWRlciB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLm5hdmlnYXRpb24tY29udGFpbmVyIHtcbiAgaGVpZ2h0OiA2MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5uYXZpZ2F0aW9uLWNvbnRhaW5lciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTgxNjE2ICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubmF2aWdhdGlvbi1jb250YWluZXIge1xuICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH0gfVxuXG5uYXYucHJpbWFyeSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA2MHB4O1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMzBweCA0MHB4IDQwcHggNDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzMzMztcbiAgei1pbmRleDogMTM7IH1cbiAgLm5hdi1pcy12aXNpYmxlIG5hdi5wcmltYXJ5IHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICBuYXYucHJpbWFyeSA+IHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIG5hdi5wcmltYXJ5ID4gdWwgPiBsaSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgbmF2LnByaW1hcnkgbGkge1xuICAgIGZsb2F0OiBub25lOyB9XG4gIG5hdi5wcmltYXJ5IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiA0NnB4O1xuICAgIGhlaWdodDogNDZweDtcbiAgICBmb250LXNpemU6IDI2cHg7XG4gICAgZm9udC1mYW1pbHk6IFwicHJveGltYS1zb2Z0XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgIGNvbG9yOiAjZjJmMmYyOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIG5hdi5wcmltYXJ5IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgdG9wOiAwOyB9XG4gICAgICBuYXYucHJpbWFyeTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgbmF2LnByaW1hcnkgbGkge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAgICAgbmF2LnByaW1hcnkgbGk6Zmlyc3QtY2hpbGQgYSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDI1cHg7IH1cbiAgICAgICAgbmF2LnByaW1hcnkgbGkuYWN0aXZlIGEge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBjdXJyZW50Q29sb3I7IH1cbiAgICAgIG5hdi5wcmltYXJ5IGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gICAgICAgIGhlaWdodDogMzVweDtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDAgOHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIG5hdi5wcmltYXJ5IGEge1xuICAgICAgbWFyZ2luOiAwIDEwcHg7IH0gfVxuXG4uaGVhZGVyX19icmFuZGluZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZy10b3A6IDI5cHg7XG4gIGhlaWdodDogMTA1cHg7XG4gIGJhY2tncm91bmQ6ICNkYjJlMmU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuaGVhZGVyX19icmFuZGluZyB7XG4gICAgICBwYWRkaW5nLXRvcDogMzJweDtcbiAgICAgIGhlaWdodDogMTI1cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuaGVhZGVyX19icmFuZGluZyB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgICAuaGVhZGVyX19icmFuZGluZyAuaGVhZGVyX19saW5rIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7IH0gfVxuXG4uaGVhZGVyX19pbWFnZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmhlYWRlcl9faW1hZ2Uge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogNzY4cHg7XG4gICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmhlYWRlcl9faW1hZ2Uge1xuICAgICAgd2lkdGg6IDk5NXB4OyB9IH1cblxuLmhlYWRlcl9fbG9nbyxcbi5oZWFkZXJfX2xvZ28yIHtcbiAgb3V0bGluZTogMDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogYXV0bzsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuaGVhZGVyX19sb2dvLFxuICAgIC5oZWFkZXJfX2xvZ28yIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uaGVhZGVyX19sb2dvIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAzOHB4O1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuaGVhZGVyX19sb2dvIHtcbiAgICAgIGhlaWdodDogNjRweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5oZWFkZXJfX2xvZ28ge1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5oZWFkZXJfX2xvZ28yIHtcbiAgaGVpZ2h0OiA0NHB4O1xuICBtYXJnaW4tdG9wOiAycHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuaGVhZGVyX19sb2dvMiB7XG4gICAgICBoZWlnaHQ6IDU4cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuaGVhZGVyX19sb2dvMiB7XG4gICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICBtYXJnaW4tdG9wOiAxcHg7IH0gfVxuXG4ubmF2LXRvZ2dsZS1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5uYXYtdG9nZ2xlLWNvbnRhaW5lciB7XG4gICAgICB0b3A6IDhweDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4ubmF2LXRvZ2dsZSxcbi5zZWFyY2gtdG9nZ2xlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG91dGxpbmU6IDA7XG4gIGJvcmRlcjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDU2cHg7XG4gIGhlaWdodDogNjBweDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLm5hdi1pcy12aXNpYmxlIC5uYXYtdG9nZ2xlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzMzMzsgfVxuXG4ubmF2LXRvZ2dsZSBzcGFuLFxuLm5hdi10b2dnbGUgc3Bhbjo6YmVmb3JlLFxuLm5hdi10b2dnbGUgc3Bhbjo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAzcHg7XG4gIHdpZHRoOiAyNXB4O1xuICBiYWNrZ3JvdW5kOiAjZjJmMmYyOyB9XG5cbi5uYXYtdG9nZ2xlIHNwYW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICByaWdodDogMTVweDtcbiAgbWFyZ2luLXRvcDogLTJweDsgfVxuXG4ubmF2LXRvZ2dsZSBzcGFuOjpiZWZvcmUsIC5uYXYtdG9nZ2xlIHNwYW46OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHJpZ2h0OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAlIDUwJTsgfVxuXG4ubmF2LXRvZ2dsZSBzcGFuOjpiZWZvcmUge1xuICB0b3A6IC02cHg7IH1cblxuLm5hdi10b2dnbGUgc3Bhbjo6YWZ0ZXIge1xuICB0b3A6IDZweDsgfVxuXG5ib2R5Lm5hdi1pcy12aXNpYmxlIC5uYXYtdG9nZ2xlIHNwYW4ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI0MiwgMjQyLCAyNDIsIDApOyB9XG5cbmJvZHkubmF2LWlzLXZpc2libGUgLm5hdi10b2dnbGUgc3Bhbjo6YmVmb3JlLCBib2R5Lm5hdi1pcy12aXNpYmxlIC5uYXYtdG9nZ2xlIHNwYW46OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogI2YyZjJmMjsgfVxuXG5ib2R5Lm5hdi1pcy12aXNpYmxlIC5uYXYtdG9nZ2xlIHNwYW46OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpIHRyYW5zbGF0ZVkoLTNweCkgcm90YXRlKDQ1ZGVnKTsgfVxuXG5ib2R5Lm5hdi1pcy12aXNpYmxlIC5uYXYtdG9nZ2xlIHNwYW46OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCkgdHJhbnNsYXRlWSgycHgpIHJvdGF0ZSgtNDVkZWcpOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICBuYXYuc2VjdW5kYXJ5IHVsIGxpLmhhcy1jaGlsZHJlbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RmNDQ0NDsgfVxuICBuYXYuc2VjdW5kYXJ5IHVsIGxpLmhhcy1jaGlsZHJlbiA+IGE6YWZ0ZXIge1xuICAgIG1hcmdpbi10b3A6IDExcHg7IH1cbiAgbmF2LnNlY3VuZGFyeSB1bCB1bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZDogI2RiMmUyZTtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIG5hdi5zZWN1bmRhcnkgdWwgdWwgbGkge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAyMDBweDsgfVxuICBuYXYuc2VjdW5kYXJ5IHVsIHVsIGEge1xuICAgIGxpbmUtaGVpZ2h0OiAxMjAlO1xuICAgIHBhZGRpbmc6IDEwcHggMTVweDsgfVxuICAgIG5hdi5zZWN1bmRhcnkgdWwgdWwgYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGY0NDQ0OyB9XG4gIG5hdi5zZWN1bmRhcnkgdWwgdWwgdWwge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIG5hdi5zZWN1bmRhcnkgdWwgbGk6aG92ZXIgPiB1bCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgbGkubmF2aWdhdGlvbl9fZmFjZWJvb2ssXG4gIGxpLm5hdmlnYXRpb25fX3R3aXR0ZXIge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7IH0gfVxuXG4ubmF2aWdhdGlvbl9fZmFjZWJvb2sgYSxcbi5uYXZpZ2F0aW9uX190d2l0dGVyIGEge1xuICB3aWR0aDogMThweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5uYXZpZ2F0aW9uX19mYWNlYm9vayBhOmJlZm9yZSxcbiAgLm5hdmlnYXRpb25fX3R3aXR0ZXIgYTpiZWZvcmUge1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIHRleHQtcmVuZGVyaW5nOiBnZW9tZXRyaWNQcmVjaXNpb247XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLm5hdmlnYXRpb25fX3R3aXR0ZXIgYSB7XG4gIG1hcmdpbi1sZWZ0OiAxNXB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5uYXZpZ2F0aW9uX190d2l0dGVyIGEge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG4ubmF2aWdhdGlvbl9fZmFjZWJvb2sgYTpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMjMwJzsgfVxuXG4ubmF2aWdhdGlvbl9fdHdpdHRlciBhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGYwOTknOyB9XG5cbmxpLndoYXRzYXBwIGEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI1ZDM2NjtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHBhZGRpbmc6IDAgNXB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIGxpLndoYXRzYXBwIGEgLmZhIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNXB4O1xuICAgIHRvcDogMXB4O1xuICAgIGZvbnQtc2l6ZTogMThweDsgfVxuXG5hcnRpY2xlLnZpZGVvLFxuYXJ0aWNsZS5jb2x1bW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGIyZTJlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgYXJ0aWNsZS52aWRlbzphZnRlcixcbiAgYXJ0aWNsZS5jb2x1bW46YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgYXJ0aWNsZS52aWRlby52aWRlby0tc2luZ2xlLCBhcnRpY2xlLnZpZGVvLnZpZGVvLS1sYXRlc3QsXG4gIGFydGljbGUuY29sdW1uLnZpZGVvLS1zaW5nbGUsXG4gIGFydGljbGUuY29sdW1uLnZpZGVvLS1sYXRlc3Qge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICBhcnRpY2xlLnZpZGVvLnZpZGVvLS1zaW5nbGUsIGFydGljbGUudmlkZW8udmlkZW8tLWxhdGVzdCxcbiAgICAgIGFydGljbGUuY29sdW1uLnZpZGVvLS1zaW5nbGUsXG4gICAgICBhcnRpY2xlLmNvbHVtbi52aWRlby0tbGF0ZXN0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGFydGljbGUudmlkZW8sXG4gICAgYXJ0aWNsZS5jb2x1bW4ge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH0gfVxuICBhcnRpY2xlLnZpZGVvID4gLnZpZGVvX19pbm5lcixcbiAgYXJ0aWNsZS5jb2x1bW4gPiAudmlkZW9fX2lubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuaW1nLnZpZGVvX190aHVtYixcbmltZy5jb2x1bW5fX3RodW1iIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDE2MHB4O1xuICBoZWlnaHQ6IDkwcHg7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICBpbWcudmlkZW9fX3RodW1iLFxuICAgIGltZy5jb2x1bW5fX3RodW1iIHtcbiAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgIGhlaWdodDogMTEycHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBpbWcudmlkZW9fX3RodW1iLFxuICAgIGltZy5jb2x1bW5fX3RodW1iIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuICAudmlkZW8tLWxhdGVzdCBpbWcudmlkZW9fX3RodW1iLCAudmlkZW8tLWxhdGVzdFxuICBpbWcuY29sdW1uX190aHVtYiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDsgfVxuXG4udmlkZW9fX21ldGEsXG4uY29sdW1uX19tZXRhIHtcbiAgcGFkZGluZzogOHB4IDEwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnZpZGVvX19tZXRhLFxuICAgIC5jb2x1bW5fX21ldGEge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB6LWluZGV4OiAyOyB9IH1cbiAgLnZpZGVvLS1sYXRlc3QgLnZpZGVvX19tZXRhLFxuICAudmlkZW8tLXNpbmdsZSAudmlkZW9fX21ldGEsIC52aWRlby0tbGF0ZXN0XG4gIC5jb2x1bW5fX21ldGEsXG4gIC52aWRlby0tc2luZ2xlXG4gIC5jb2x1bW5fX21ldGEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIHBhZGRpbmc6IDIwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnZpZGVvLS1sYXRlc3QgLnZpZGVvX19tZXRhLCAudmlkZW8tLWxhdGVzdFxuICAgIC5jb2x1bW5fX21ldGEge1xuICAgICAgcGFkZGluZzogMCAyNXB4IDI1cHggMjVweDsgfVxuICAgICAgLnZpZGVvLS1sYXRlc3QgLnZpZGVvX19tZXRhIC52aWRlb19fZGF0ZSwgLnZpZGVvLS1sYXRlc3RcbiAgICAgIC5jb2x1bW5fX21ldGEgLnZpZGVvX19kYXRlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgLnZpZGVvLS1sYXRlc3QgLnZpZGVvX19tZXRhIC52aWRlb19fdGl0bGUsIC52aWRlby0tbGF0ZXN0XG4gICAgICAuY29sdW1uX19tZXRhIC52aWRlb19fdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudmlkZW8tLXNpbmdsZSAudmlkZW9fX21ldGEsIC52aWRlby0tc2luZ2xlXG4gICAgLmNvbHVtbl9fbWV0YSB7XG4gICAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgbGVmdDogMDsgfSB9XG5cbi52aWRlb19fY2xhbXBlZC10aXRsZS1jb250YWluZXIgPiBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXgtaGVpZ2h0OiA1MnB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLnZpZGVvX19jbGFtcGVkLXRpdGxlLWNvbnRhaW5lciA+IGEge1xuICAgICAgbWF4LWhlaWdodDogNjhweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzNHB4OyB9IH1cblxuLnZpZGVvX190aXRsZSxcbi5jb2x1bW5fX3RpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LWZhbWlseTogXCJwcm94aW1hLXNvZnRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgY29sb3I6ICNmMmYyZjI7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAudmlkZW9fX3RpdGxlLFxuICAgIC5jb2x1bW5fX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMzJweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC52aWRlb19fdGl0bGUsXG4gICAgLmNvbHVtbl9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAyNHB4OyB9XG4gICAgICAudmlkZW8tLWxhdGVzdCAudmlkZW9fX3RpdGxlLCAudmlkZW8tLWxhdGVzdFxuICAgICAgLmNvbHVtbl9fdGl0bGUge1xuICAgICAgICB3aWR0aDogNjYlOyB9IH1cbiAgLnZpZGVvLS1sYXRlc3QgLnZpZGVvX190aXRsZSxcbiAgLnZpZGVvLS1zaW5nbGUgLnZpZGVvX190aXRsZSwgLnZpZGVvLS1sYXRlc3RcbiAgLmNvbHVtbl9fdGl0bGUsXG4gIC52aWRlby0tc2luZ2xlXG4gIC5jb2x1bW5fX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogNDdweDtcbiAgICBsaW5lLWhlaWdodDogNDdweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAgICAgLnZpZGVvLS1sYXRlc3QgLnZpZGVvX190aXRsZSxcbiAgICAgIC52aWRlby0tc2luZ2xlIC52aWRlb19fdGl0bGUsIC52aWRlby0tbGF0ZXN0XG4gICAgICAuY29sdW1uX190aXRsZSxcbiAgICAgIC52aWRlby0tc2luZ2xlXG4gICAgICAuY29sdW1uX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNTVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDU1cHg7IH0gfVxuXG4udmlkZW9fX2RhdGUsXG4uY29sdW1uX19kYXRlIHtcbiAgZm9udC1mYW1pbHk6IFwicHJveGltYS1zb2Z0XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBtYXJnaW4tdG9wOiA1cHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY29sb3I6ICNmMmYyZjI7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC52aWRlb19fZGF0ZSxcbiAgICAuY29sdW1uX19kYXRlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGNvbG9yOiAjOTk5OTk5OyB9IH1cbiAgLnZpZGVvLS1sYXRlc3QgLnZpZGVvX19kYXRlLFxuICAudmlkZW8tLXNpbmdsZSAudmlkZW9fX2RhdGUsIC52aWRlby0tbGF0ZXN0XG4gIC5jb2x1bW5fX2RhdGUsXG4gIC52aWRlby0tc2luZ2xlXG4gIC5jb2x1bW5fX2RhdGUge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBjb2xvcjogI2YyZjJmMjtcbiAgICBtYXJnaW46IDAgMCAyMHB4IDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC52aWRlby0tbGF0ZXN0IC52aWRlb19fZGF0ZSxcbiAgICAgIC52aWRlby0tc2luZ2xlIC52aWRlb19fZGF0ZSwgLnZpZGVvLS1sYXRlc3RcbiAgICAgIC5jb2x1bW5fX2RhdGUsXG4gICAgICAudmlkZW8tLXNpbmdsZVxuICAgICAgLmNvbHVtbl9fZGF0ZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDsgfSB9XG5cbi52aWRlb19fdGh1bWItbGluayxcbi5jb2x1bW5fX3RodW1iLWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIG91dGxpbmU6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudmlkZW9fX3RodW1iLWxpbms6YWZ0ZXIsXG4gICAgLmNvbHVtbl9fdGh1bWItbGluazphZnRlciB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKFwiL2Rpc3QvZ3JhZGllbnQxX0AyWC5wbmdcIikgcmVwZWF0LXggbGVmdCBib3R0b207XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bzsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudmlkZW8tLWxhdGVzdCAudmlkZW9fX3RodW1iLWxpbmsge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgaGVpZ2h0OiAzMDBweDsgfVxuICAgIC52aWRlby0tbGF0ZXN0IC52aWRlb19fdGh1bWItbGluayBpbWcudmlkZW9fX3RodW1iIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMTk3cHg7IH1cbiAgICAudmlkZW8tLWxhdGVzdCAudmlkZW9fX3RodW1iLWxpbms6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKFwiL2Rpc3QvZ3JhZGllbnQyX0AyWC5wbmdcIikgbm8tcmVwZWF0IGxlZnQgYm90dG9tOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAudmlkZW8tLWxhdGVzdCAudmlkZW9fX3RodW1iLWxpbmsgaW1nLnZpZGVvX190aHVtYiB7XG4gICAgbWFyZ2luLXRvcDogLTI3M3B4OyB9IH1cblxuLnZpZGVvX19wbGF5LWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMjtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgd2lkdGg6IGF1dG87XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtNTBweDtcbiAgbWFyZ2luLXRvcDogLTUwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnZpZGVvX19wbGF5LWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLndpZGdldF9fdGl0bGUsXG4ubW9yZS1saW5rIHtcbiAgZm9udC1mYW1pbHk6IFwicHJveGltYS1zb2Z0XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxOHB4O1xuICBjb2xvcjogI2YyZjJmMjtcbiAgcGFkZGluZzogMXB4IDEwcHggMCAxMHB4O1xuICBsaW5lLWhlaWdodDogMzRweDtcbiAgaGVpZ2h0OiAzNHB4O1xuICBtYXJnaW4tbGVmdDogMjVweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAud2lkZ2V0X190aXRsZSxcbiAgICAubW9yZS1saW5rIHtcbiAgICAgIGNvbG9yOiAjZjJmMmYyICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzMzMzICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAud2lkZ2V0X190aXRsZSxcbiAgICAubW9yZS1saW5rIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgYmFja2dyb3VuZDogI2RiMmUyZTsgfSB9XG4gIC53aWRnZXRfX3RpdGxlIGEsXG4gIC5tb3JlLWxpbmsgYSB7XG4gICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAud2lkZ2V0X190aXRsZSBhOmFmdGVyLFxuICAgIC5tb3JlLWxpbmsgYTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItbGVmdDogNnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICAgIGJvcmRlci10b3A6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cblxuLndpZGdldF9fbW9yZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgbWFyZ2luLXRvcDogLTcuNXB4O1xuICBvdXRsaW5lOiAwO1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBwYWRkaW5nOiA2cHggMTRweDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZsb2F0OiByaWdodDsgfVxuICAud2lkZ2V0X19tb3JlOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IDhweDsgfVxuXG5zcGFuLm5vd3JhcCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuZmlndXJlLndwLWNhcHRpb24ge1xuICBtYXJnaW46IDAgMTVweCAwIDA7XG4gIHBhZGRpbmc6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIGZpZ3VyZS53cC1jYXB0aW9uIGltZyxcbiAgZmlndXJlLndwLWNhcHRpb24gYSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDA7IH1cbiAgZmlndXJlLndwLWNhcHRpb24gZmlnY2FwdGlvbi53cC1jYXB0aW9uLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCBibGFjaywgdHJhbnNwYXJlbnQpOyB9XG5cbi52aWRlby0tc2luZ2xlIC5tZWpzLWNvbnRhaW5lciB7XG4gIG91dGxpbmU6IDA7IH1cbiAgLnZpZGVvLS1zaW5nbGUgLm1lanMtY29udGFpbmVyICoge1xuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uY29sdW1uLS1zaW5nbGUge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb2x1bW4tLXNpbmdsZS5jb2x1bW4tLXBvcnRyYWl0IHtcbiAgICAgIG1heC13aWR0aDogMzMxcHg7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfSB9XG5cbi52aWRlby0tc2luZ2xlIC52aWRlb19fbWV0YSxcbi5jb2x1bW4tLXNpbmdsZSAuY29sdW1uX19tZXRhIHtcbiAgY29sb3I6ICM5OTk5OTk7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLnZpZGVvLS1zaW5nbGUgLnZpZGVvX19tZXRhLFxuICAgIC5jb2x1bW4tLXNpbmdsZSAuY29sdW1uX19tZXRhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IH0gfVxuICAudmlkZW8tLXNpbmdsZSAudmlkZW9fX21ldGE6YWZ0ZXIsXG4gIC5jb2x1bW4tLXNpbmdsZSAuY29sdW1uX19tZXRhOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC52aWRlby0tc2luZ2xlIC52aWRlb19fbWV0YSAuY29weSxcbiAgLmNvbHVtbi0tc2luZ2xlIC5jb2x1bW5fX21ldGEgLmNvcHkge1xuICAgIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgICBwYWRkaW5nLXRvcDogMDsgfVxuXG4udmlkZW9fX3NvY2lhbCxcbi5jb2x1bW5fX3NvY2lhbCB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cbiAgLnZpZGVvX19zb2NpYWw6YWZ0ZXIsXG4gIC5jb2x1bW5fX3NvY2lhbDphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICAudmlkZW9fX3NvY2lhbCA+IHVsLFxuICAuY29sdW1uX19zb2NpYWwgPiB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAudmlkZW9fX3NvY2lhbCA+IHVsID4gbGksXG4gIC5jb2x1bW5fX3NvY2lhbCA+IHVsID4gbGkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC52aWRlb19fc29jaWFsIHVsLFxuICAuY29sdW1uX19zb2NpYWwgdWwge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDsgfVxuICAudmlkZW9fX3NvY2lhbCBsaSxcbiAgLmNvbHVtbl9fc29jaWFsIGxpIHtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgLyomLmZiLFxuICAgICAgICAmLnR3aXR0ZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMnB4IDA7XG4gICAgICAgIH0qL1xuICAgIG1hcmdpbi1yaWdodDogMTVweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDcuNXB4ICFpbXBvcnRhbnQ7IH1cbiAgICAudmlkZW9fX3NvY2lhbCBsaS55dCxcbiAgICAuY29sdW1uX19zb2NpYWwgbGkueXQge1xuICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICBoZWlnaHQ6IDI0cHg7IH1cbiAgICAudmlkZW9fX3NvY2lhbCBsaTpsYXN0LWNoaWxkLFxuICAgIC5jb2x1bW5fX3NvY2lhbCBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC52aWRlb19fc29jaWFsIGxpLndoYXRzYXBwLFxuICAgIC5jb2x1bW5fX3NvY2lhbCBsaS53aGF0c2FwcCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmFyY2hpdmUtZmlsdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDIwMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuYXJjaGl2ZS1maWx0ZXIge1xuICAgICAgdG9wOiAxMDBweDtcbiAgICAgIGJvdHRvbTogMTAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB3aWR0aDogNzI4cHg7XG4gICAgICBtYXJnaW4tbGVmdDogLTM2NHB4OyB9XG4gICAgICAuYXJjaGl2ZS1maWx0ZXI6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmFyY2hpdmUtZmlsdGVyIHtcbiAgICAgIHdpZHRoOiA5NTVweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNDc3LjVweDsgfSB9XG4gIC5maWx0ZXItaXMtdmlzaWJsZSAuYXJjaGl2ZS1maWx0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5hcmNoaXZlLWZpbHRlciA+IC5hcmNoaXZlLWZpbHRlcl9faW5uZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzMzMzM7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAuYXJjaGl2ZS1maWx0ZXIgLmFyY2hpdmUtZmlsdGVyX19oZWFkZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgaGVpZ2h0OiA4MHB4O1xuICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAxMDsgfVxuICAgIC5hcmNoaXZlLWZpbHRlciAuYXJjaGl2ZS1maWx0ZXJfX2hlYWRlciBoMiB7XG4gICAgICBmb250LWZhbWlseTogXCJwcm94aW1hLXNvZnRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA4MHB4OyB9XG4gIC5hcmNoaXZlLWZpbHRlciAuYXJjaGl2ZS1maWx0ZXJfX2Nsb3NlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIHRvcDogMTZweDtcbiAgICBjb2xvcjogI2YyZjJmMjtcbiAgICBmb250LXNpemU6IDMycHg7IH1cbiAgLmFyY2hpdmUtZmlsdGVyIC5hcmNoaXZlLWZpbHRlcl9faXRlbXMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDgwcHg7XG4gICAgYm90dG9tOiA4MHB4O1xuICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIHotaW5kZXg6IDEwOyB9XG4gIC5hcmNoaXZlLWZpbHRlciAuYXJjaGl2ZS1maWx0ZXJfX2FjdGlvbnMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzMzMztcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMjBweDsgfVxuXG4uZmlsdGVyLWlzLXZpc2libGUgLnNoYWRvdy1sYXllciB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbmJvZHkuZmlsdGVyLWlzLXZpc2libGUge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5xdWVyeSB7XG4gIHBhZGRpbmc6IDE1cHggMjVweCAwIDI1cHg7IH1cbiAgLnF1ZXJ5OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5xdWVyeSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cblxuLmNvbnRyb2xzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAyNXB4OyB9XG4gIC5jb250cm9scyA+IHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5jb250cm9scyA+IHVsID4gbGkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5jb250cm9sczphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29udHJvbHMge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG4gIC5jb250cm9scyA+IHVsIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLmNvbnRyb2xzID4gdWwgPiBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNvbnRyb2xzID4gdWwgPiBsaSA+IHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmNvbnRyb2xzID4gdWwgPiBsaSA+IHVsID4gbGkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgIC5jb250cm9scyA+IHVsID4gbGkgdWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiAjMzMzMzMzO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKDI2LCAyNiwgMjYsIDAuNyk7IH1cbiAgICAuY29udHJvbHMgPiB1bCA+IGxpIHVsIGxpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgd2lkdGg6IDIwMHB4OyB9XG4gICAgLnNvcnQtaXMtdmlzaWJsZSAuY29udHJvbHMgPiB1bCA+IGxpID4gdWwge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmNvbnRyb2xzID4gdWwgPiBsaSA+IGEsXG4gIC5jb250cm9scyA+IHVsID4gbGkgPiB1bCA+IGxpLnNvcnQtY29udHJvbCBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMCAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICBmb250LWZhbWlseTogXCJwcm94aW1hLXNvZnRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2YyZjJmMjsgfVxuICAuY29udHJvbHMgPiB1bCA+IGxpID4gdWwgPiBsaS5zb3J0LWNvbnRyb2wgYSB7XG4gICAgY29sb3I6ICNmMmYyZjI7IH1cbiAgICAuY29udHJvbHMgPiB1bCA+IGxpID4gdWwgPiBsaS5zb3J0LWNvbnRyb2wgYS5pcy1zb3J0ZWQsIC5jb250cm9scyA+IHVsID4gbGkgPiB1bCA+IGxpLnNvcnQtY29udHJvbCBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMzMzMzMzOyB9XG4gICAgLmNvbnRyb2xzID4gdWwgPiBsaSA+IHVsID4gbGkuc29ydC1jb250cm9sIGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzk5OTk5OTsgfVxuICAgIC5jb250cm9scyA+IHVsID4gbGkgPiB1bCA+IGxpLnNvcnQtY29udHJvbCBhLmlzLXNvcnRlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIC5jb250cm9scyA+IHVsID4gbGkgPiBhLnRvZ2dsZS1zb3J0OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wOiA2cHggc29saWQgY3VycmVudENvbG9yO1xuICAgIG1hcmdpbi10b3A6IDEycHg7IH1cbiAgLmZpbHRlci1pcy12aXNpYmxlIC5jb250cm9scyA+IHVsID4gbGkgPiBhLnRvZ2dsZS1maWx0ZXIsXG4gIC5zb3J0LWlzLXZpc2libGUgLmNvbnRyb2xzID4gdWwgPiBsaSA+IGEudG9nZ2xlLXNvcnQge1xuICAgIGJhY2tncm91bmQ6ICMzMzMzMzM7XG4gICAgY29sb3I6ICNmMmYyZjI7IH1cblxuLnF1ZXJ5X19pdGVtIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbWFyZ2luOiAxMHB4IDEwcHggMCAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWExYTFhO1xuICBjb2xvcjogI2YyZjJmMjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDFweCAxMHB4IDAgMTBweDtcbiAgZm9udC1mYW1pbHk6IFwicHJveGltYS1zb2Z0XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLnF1ZXJ5X19pdGVtOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29udGVudDogXCJcXDAwZDdcIjtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuXG4ucGFnaW5hdGlvbiB7XG4gIG1hcmdpbjogMTBweCAwOyB9XG4gIC5wYWdpbmF0aW9uOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5wYWdpbmF0aW9uIC5wcmV2LFxuICAucGFnaW5hdGlvbiAubmV4dCB7XG4gICAgb3V0bGluZTogMDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICBwYWRkaW5nOiA2cHggMTRweDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxNHB4OyB9XG4gIC5wYWdpbmF0aW9uIC5wcmV2IHtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAucGFnaW5hdGlvbiAubmV4dCB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5hcmNoaXZlX19mYWNldC10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcInByb3hpbWEtc29mdFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgZm9udC1zaXplOiAyNnB4O1xuICBtYXJnaW46IDAgMCAxMHB4IDA7IH1cblxuLmFyY2hpdmVfX2ZhY2V0LWxpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLmFyY2hpdmVfX2ZhY2V0LWxpc3Q6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLmFyY2hpdmVfX2ZhY2V0LWl0ZW0ge1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAuYXJjaGl2ZV9fZmFjZXQtaXRlbSAuY2ItbGFiZWwge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogI2YyZjJmMjtcbiAgICBtYXJnaW4tbGVmdDogM3B4OyB9XG4gIC5hcmNoaXZlX19mYWNldC1pdGVtIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuYXJjaGl2ZV9fZmFjZXQtaXRlbSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMXB4O1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmFyY2hpdmVfX2ZhY2V0LWl0ZW0gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogMTJweDtcbiAgICBoZWlnaHQ6IDhweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA0cHg7XG4gICAgbGVmdDogNHB4O1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICNkYjJlMmU7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuYXJjaGl2ZV9fZmFjZXQtaXRlbSB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDcuNXB4O1xuICAgICAgcGFkZGluZy1yaWdodDogNy41cHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgICAuYXJjaGl2ZV9fZmFjZXQtaXRlbTpudGgtY2hpbGQoM24gKyAxKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgLmFyY2hpdmVfX2ZhY2V0LWl0ZW06bnRoLWNoaWxkKDNuICsgMikge1xuICAgICAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgLmFyY2hpdmVfX2ZhY2V0LWl0ZW06bnRoLWNoaWxkKDNuICsgMykge1xuICAgICAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICAgICAgICBjbGVhcjogbm9uZTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuYXJjaGl2ZV9fZmFjZXQtaXRlbSB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDcuNXB4O1xuICAgICAgcGFkZGluZy1yaWdodDogNy41cHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgICAuYXJjaGl2ZV9fZmFjZXQtaXRlbTpudGgtY2hpbGQoM24gKyAxKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgLmFyY2hpdmVfX2ZhY2V0LWl0ZW06bnRoLWNoaWxkKDNuICsgMikge1xuICAgICAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgLmFyY2hpdmVfX2ZhY2V0LWl0ZW06bnRoLWNoaWxkKDNuICsgMykge1xuICAgICAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICAgICAgICBjbGVhcjogbm9uZTsgfSB9XG5cbi5hcmNoaXZlX19mb3JtIGJ1dHRvbiB7XG4gIG91dGxpbmU6IDA7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIHBhZGRpbmc6IDZweCAxNHB4O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmMmYyZjI7XG4gIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgY29sb3I6ICNmMmYyZjI7XG4gIHBhZGRpbmc6IDhweCAyMnB4O1xuICBtYXJnaW4tbGVmdDogNnB4O1xuICBmb250LWZhbWlseTogXCJwcm94aW1hLXNvZnRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMThweDsgfVxuICAuYXJjaGl2ZV9fZm9ybSBidXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gICAgY29sb3I6ICMzMzMzMzM7IH1cblxuLmxvYWRpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmxvYWRpbmcgaW1nIHtcbiAgICBtYXJnaW46IDI1cHggMCAwIDA7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiA0OHB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAubG9hZGluZyBpbWcge1xuICAgICAgICBoZWlnaHQ6IDY0cHg7IH0gfVxuXG4ubm8tcmVzdWx0cyB7XG4gIG1hcmdpbjogMjVweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1mYW1pbHk6IFwicHJveGltYS1zb2Z0XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogI2YyZjJmMjtcbiAgZm9udC1zaXplOiAyNnB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5uby1yZXN1bHRzIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgZm9udC1zaXplOiAzNnB4OyB9IH1cblxuLnJlc3VsdC1jb3VudCB7XG4gIGZvbnQtZmFtaWx5OiBcInByb3hpbWEtc29mdFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmbG9hdDogbGVmdDtcbiAgY29sb3I6ICNmMmYyZjI7XG4gIGJhY2tncm91bmQ6ICMzMzMzMzM7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMXB4IDEwcHggMCAxMHB4O1xuICBsaW5lLWhlaWdodDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4OyB9XG5cbi5jb3Zlci1pbWFnZV9fY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY292ZXItaW1hZ2VfX2NvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IDc2OHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICAgIC5jb3Zlci1pbWFnZV9fY29udGFpbmVyOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjbGVhcjogYm90aDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuY292ZXItaW1hZ2VfX2NvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IDk5NXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICAgIC5jb3Zlci1pbWFnZV9fY29udGFpbmVyOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjbGVhcjogYm90aDsgfSB9XG5cbi5jb3Zlci1pbWFnZV9faW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5jb3Zlci1pbWFnZV9fdGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAyMHB4IDIwcHggMCAyMHB4O1xuICBwYWRkaW5nOiAwO1xuICBmb250LWZhbWlseTogXCJwcm94aW1hLXNvZnRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjZjJmMmYyO1xuICBmb250LXNpemU6IDQ3cHg7XG4gIGxpbmUtaGVpZ2h0OiA0N3B4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAgIC5jb3Zlci1pbWFnZV9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiA1NXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDU1cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY292ZXItaW1hZ2VfX3RpdGxlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW46IDI1cHg7XG4gICAgICB6LWluZGV4OiAyOyB9IH1cblxuLmNvcHkge1xuICBtYXJnaW46IDAgMjBweDtcbiAgcGFkZGluZy10b3A6IDE1cHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvcHkge1xuICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gIC5jb3B5IHAsXG4gIC5jb3B5IGxpIHtcbiAgICBtYXJnaW46IDE1cHggMDtcbiAgICBjb2xvcjogIzk5OTk5OTtcbiAgICBsaW5lLWhlaWdodDogMTYwJTtcbiAgICBmb250LXNpemU6IDE2cHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5jb3B5IHAsXG4gICAgICAuY29weSBsaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDsgfSB9XG4gICAgLmNvcHkgcDpmaXJzdC1jaGlsZCxcbiAgICAuY29weSBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLmNvcHkgcDpsYXN0LWNoaWxkLFxuICAgIC5jb3B5IGxpOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY29weSB1bCxcbiAgLmNvcHkgb2wge1xuICAgIHBhZGRpbmctbGVmdDogMjBweDsgfVxuICAuY29weSAud3JhcHBlciB7XG4gICAgbWFyZ2luLWxlZnQ6IC0yNXB4O1xuICAgIG1hcmdpbi1yaWdodDogLTI1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgLmNvcHkgaDEge1xuICAgIGZvbnQtc2l6ZTogNTVweDsgfVxuICAuY29weSBoMiB7XG4gICAgZm9udC1zaXplOiAyOHB4OyB9XG4gIC5jb3B5IGgxLFxuICAuY29weSBoMixcbiAgLmNvcHkgaDMsXG4gIC5jb3B5IGg0IHtcbiAgICBtYXJnaW46IDAgMCAxNXB4IDA7XG4gICAgZm9udC1mYW1pbHk6IFwicHJveGltYS1zb2Z0XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAuY29weSBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDE2cHggMTBweDtcbiAgICBwYWRkaW5nOiAwLjVlbSAxMHB4O1xuICAgIHF1b3RlczogXCLigJxcIiBcIuKAnVwiIFwi4oCYXCIgXCLigJlcIjtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgICAuY29weSBibG9ja3F1b3RlOmJlZm9yZSB7XG4gICAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAgIGNvbnRlbnQ6IG9wZW4tcXVvdGU7XG4gICAgICBmb250LXNpemU6IDRlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwLjFlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC4yNWVtO1xuICAgICAgdmVydGljYWwtYWxpZ246IC0wLjM4ZW07IH1cbiAgICAuY29weSBibG9ja3F1b3RlIHAge1xuICAgICAgZGlzcGxheTogaW5saW5lOyB9XG5cbi5jb250YWN0LWZvcm0ge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAxMHB4IDAgMjVweCAwOyB9XG4gIC5jb250YWN0LWZvcm06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmNvbnRhY3QtZm9ybSAuY29udGFjdC1mb3JtX19lcnJvciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBtYXJnaW46IDAgMCAxMHB4IDA7XG4gICAgYmFja2dyb3VuZDogI2RiMmUyZTtcbiAgICBjb2xvcjogI2YyZjJmMjtcbiAgICBwYWRkaW5nOiA1cHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5jb250YWN0LWZvcm0gLmNvbnRhY3QtZm9ybV9fZXJyb3Ige1xuICAgICAgICBmb250LXNpemU6IDE0cHg7IH0gfVxuICAuY29udGFjdC1mb3JtIHAge1xuICAgIG1hcmdpbjogMTVweCAwIDI1cHggMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29udGFjdC1mb3JtIHtcbiAgICAgIHdpZHRoOiA0MDBweDsgfSB9XG4gIC5jb250YWN0LWZvcm0gbGFiZWwge1xuICAgIGNvbG9yOiAjZjJmMmYyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBcInByb3hpbWEtc29mdFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBmb250LXNpemU6IDE4cHg7IH1cbiAgLmNvbnRhY3QtZm9ybSBpbnB1dCxcbiAgLmNvbnRhY3QtZm9ybSB0ZXh0YXJlYSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgb3V0bGluZTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6ICMxYTFhMWE7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jb250YWN0LWZvcm0gdGV4dGFyZWEge1xuICAgIHJlc2l6ZTogbm9uZTtcbiAgICBoZWlnaHQ6IDEyMHB4OyB9XG4gIC5jb250YWN0LWZvcm0gLmZvcm0tZ3JvdXAge1xuICAgIG1hcmdpbjogMjBweCAwOyB9XG4gIC5jb250YWN0LWZvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RiMmUyZTtcbiAgICBjb2xvcjogI2YyZjJmMjtcbiAgICBwYWRkaW5nOiAxcHggMTBweCAwIDEwcHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZm9udC1mYW1pbHk6IFwicHJveGltYS1zb2Z0XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDM0cHg7XG4gICAgaGVpZ2h0OiAzNHB4OyB9XG4gIC5jb250YWN0LWZvcm0gLmNvbnRhY3QtZm9ybV9fY2FwdGNoYS1jb250YWluZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmNvbnRhY3QtZm9ybSAuY29udGFjdC1mb3JtX19jYXB0Y2hhLWNvbnRhaW5lciBpbWcsIC5jb250YWN0LWZvcm0gLmNvbnRhY3QtZm9ybV9fY2FwdGNoYS1jb250YWluZXIgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5jb250YWN0LWZvcm0gLmNvbnRhY3QtZm9ybV9fY2FwdGNoYS1jb250YWluZXIgaW1nIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH1cbiAgLmNvbnRhY3QtZm9ybSAuY29udGFjdC1mb3JtX19jYXB0Y2hhLWNvbnRhaW5lciBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgd2lkdGg6IDE1MHB4OyB9XG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi1tcy1jbGVhciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnNlYXJjaC10b2dnbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDEwMTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnNlYXJjaC10b2dnbGUge1xuICAgIGhlaWdodDogMzVweDtcbiAgICB3aWR0aDogMzVweDsgfSB9XG5cbi5zZWFyY2gtaXMtdmlzaWJsZSAuc2VhcmNoLXRvZ2dsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMzMzMzM7IH1cblxuLnNlYXJjaC10b2dnbGU6OmJlZm9yZSwgLnNlYXJjaC10b2dnbGU6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zZWFyY2gtdG9nZ2xlOjpiZWZvcmUge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgdGV4dC1yZW5kZXJpbmc6IGdlb21ldHJpY1ByZWNpc2lvbjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogXCJcXGYwMDJcIjtcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogLTE1cHg7XG4gIG1hcmdpbi1sZWZ0OiAtMTNweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuc2VhcmNoLXRvZ2dsZTo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZjJmMmYyICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuc2VhcmNoLXRvZ2dsZTo6YmVmb3JlIHtcbiAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgIG1hcmdpbi10b3A6IC0xM3B4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xMHB4OyB9IH1cblxuLnNlYXJjaC10b2dnbGUgc3BhbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwOyB9XG5cbi5zZWFyY2gtdG9nZ2xlIHNwYW46OmJlZm9yZSwgLnNlYXJjaC10b2dnbGUgc3Bhbjo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogM3B4O1xuICB3aWR0aDogMjJweDtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC0ycHg7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0xMXB4O1xuICBvcGFjaXR5OiAwO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5zZWFyY2gtdG9nZ2xlIHNwYW46OmJlZm9yZSwgLnNlYXJjaC10b2dnbGUgc3Bhbjo6YWZ0ZXIge1xuICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICB3aWR0aDogMThweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtOXB4OyB9IH1cblxuLnNlYXJjaC10b2dnbGUgc3Bhbjo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG5cbi5zZWFyY2gtdG9nZ2xlIHNwYW46OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuXG4uc2VhcmNoLWlzLXZpc2libGUgLnNlYXJjaC10b2dnbGU6OmJlZm9yZSwgLnNlYXJjaC1pcy12aXNpYmxlIC5zZWFyY2gtdG9nZ2xlOjphZnRlciB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNlYXJjaC1pcy12aXNpYmxlIC5zZWFyY2gtdG9nZ2xlIHNwYW46OmJlZm9yZSwgLnNlYXJjaC1pcy12aXNpYmxlIC5zZWFyY2gtdG9nZ2xlIHNwYW46OmFmdGVyIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2VhcmNoLWlzLXZpc2libGUgLnNlYXJjaC10b2dnbGUgc3Bhbjo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTsgfVxuXG4uc2VhcmNoLWlzLXZpc2libGUgLnNlYXJjaC10b2dnbGUgc3Bhbjo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cblxuLnNlYXJjaCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMzMzMzMzM7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAxMzsgfVxuICAuc2VhcmNoLWlzLXZpc2libGUgLnNlYXJjaCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnNlYXJjaCB7XG4gICAgICB3aWR0aDogNDY1cHg7IH0gfVxuXG4uc2VhcmNoX19sYWJlbCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnNlYXJjaCBmb3JtIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMTVweCAyMHB4O1xuICBiYWNrZ3JvdW5kOiAjMzMzMzMzOyB9XG5cbi5zZWFyY2ggaW5wdXQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI2YyZjJmMjtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDIwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDM2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2YyZjJmMjtcbiAgYXBwZWFyYW5jZTogbm9uZTsgfVxuICAuc2VhcmNoIGlucHV0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lOyB9XG5cbi5zZWFyY2hfX3N1Z2dlc3Rpb25zIHtcbiAgY29sb3I6ICNmMmYyZjI7IH1cbiAgLnNlYXJjaF9fc3VnZ2VzdGlvbnMgPiB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAuc2VhcmNoX19zdWdnZXN0aW9ucyA+IHVsID4gbGkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5zZWFyY2hfX3N1Z2dlc3Rpb25zIGEge1xuICAgIGNvbG9yOiAjZjJmMmYyOyB9XG4gIC5zZWFyY2hfX3N1Z2dlc3Rpb25zIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLnNlYXJjaF9fc3VnZ2VzdGlvbnMgbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwicHJveGltYS1zb2Z0XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBsaW5lLWhlaWdodDogNDBweDsgfVxuICAgICAgLnNlYXJjaF9fc3VnZ2VzdGlvbnMgbGk6Zmlyc3QtY2hpbGQgYSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTVweDsgfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAuc2VhcmNoX19zdWdnZXN0aW9ucyBsaS5pcy1hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGIyZTJlOyB9IH1cbiAgLnNlYXJjaF9fc3VnZ2VzdGlvbnMgLnNlYXJjaF9faXRlbSB7XG4gICAgcGFkZGluZzogMTBweDsgfVxuICAuc2VhcmNoX19zdWdnZXN0aW9ucyBhIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLnNlYXJjaF9fc3VnZ2VzdGlvbnMgYTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAuc2VhcmNoX19zdWdnZXN0aW9ucyBpbWcge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMjBweDtcbiAgICBoZWlnaHQ6IDY4cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxYTFhMWE7IH1cbiAgLnNlYXJjaF9fc3VnZ2VzdGlvbnMgaDMge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgZm9udC1mYW1pbHk6IFwicHJveGltYS1zb2Z0XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLnNlYXJjaF9fc3VnZ2VzdGlvbnMgdGltZSB7XG4gICAgZm9udC1mYW1pbHk6IFwicHJveGltYS1zb2Z0XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgY29sb3I6ICNmMmYyZjI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuYm9keS5sdWNreS1saXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2Rpc3QvdGhlYXRyZV9tXzYwLmpwZ1wiKTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgYm9keS5sdWNreS1saXZlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9kaXN0L3RoZWF0cmVfbF82MC5qcGdcIik7IH0gfVxuICBib2R5Lmx1Y2t5LWxpdmUgLm91dGVyLXdyYXBwZXI6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIGJvZHkubHVja3ktbGl2ZSAubmF2aWdhdGlvbi1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIGJvZHkubHVja3ktbGl2ZSAubmF2aWdhdGlvbi1jb250YWluZXIge1xuICAgICAgICBoZWlnaHQ6IDU2cHg7IH1cbiAgICAgICAgYm9keS5sdWNreS1saXZlIC5uYXZpZ2F0aW9uLWNvbnRhaW5lciBuYXYucHJpbWFyeSBhIHtcbiAgICAgICAgICBoZWlnaHQ6IDU2cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDU2cHg7XG4gICAgICAgICAgY29sb3I6ICM2MjYyNjI7IH0gfVxuICBib2R5Lmx1Y2t5LWxpdmUgLnNlYXJjaC10b2dnbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgYm9keS5sdWNreS1saXZlIC5jb3B5IHAuaW50cm8ge1xuICAgIGZvbnQtZmFtaWx5OiBcInByb3hpbWEtbm92YVwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogMTAwO1xuICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuICBib2R5Lmx1Y2t5LWxpdmUgLndyYXBwZXIgLmNvcHkge1xuICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICBib2R5Lmx1Y2t5LWxpdmUgLndyYXBwZXIgLmNvcHkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIGJvZHkubHVja3ktbGl2ZSAud3JhcHBlciAuY29weSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTIwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEyMHB4OyB9IH1cbiAgYm9keS5sdWNreS1saXZlIC5jb3Zlci1pbWFnZV9fY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9XG4gIGJvZHkubHVja3ktbGl2ZSAudGlja2V0cy1idXR0b24tY29udGFpbmVyIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBtYXJnaW46IDMwcHggMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgYm9keS5sdWNreS1saXZlIC50aWNrZXRzLWJ1dHRvbi1jb250YWluZXIge1xuICAgICAgICBtYXJnaW46IDQwcHggMDsgfSB9XG4gIGJvZHkubHVja3ktbGl2ZSAudGlja2V0cy1idXR0b24sXG4gIGJvZHkubHVja3ktbGl2ZSAubHVja3ktbGl2ZS10aWNrZXRzLXNtYWxsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJkNTA4O1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBwYWRkaW5nOiAycHggMjFweDtcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgZm9udC1mYW1pbHk6IFwicHJveGltYS1ub3ZhXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAyOHB4OyB9XG4gIGJvZHkubHVja3ktbGl2ZSAubHVja3ktbGl2ZS10aWNrZXRzLXNtYWxsIHtcbiAgICBwYWRkaW5nOiAxcHggOHB4O1xuICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICBib2R5Lmx1Y2t5LWxpdmUgLmltYWdlLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiAyMHB4IC0yMHB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICBib2R5Lmx1Y2t5LWxpdmUgLmltYWdlLWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAgIGJvZHkubHVja3ktbGl2ZSAuaW1hZ2UtY29udGFpbmVyIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICBib2R5Lmx1Y2t5LWxpdmUgLmx1Y2t5LWxpdmUtdGlja2V0cy10YWJsZSB0ZCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGNvbG9yOiAjOTk5O1xuICAgIGxpbmUtaGVpZ2h0OiAyNnB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICBib2R5Lmx1Y2t5LWxpdmUgLmx1Y2t5LWxpdmUtdGlja2V0cy10YWJsZSB0ZCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDsgfSB9XG4gICAgYm9keS5sdWNreS1saXZlIC5sdWNreS1saXZlLXRpY2tldHMtdGFibGUgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy1yaWdodDogMjBweDsgfVxuXG4uYmFubmVyIHtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAyNXB4OyB9XG4gIC5iYW5uZXIgcGljdHVyZSxcbiAgLmJhbm5lciBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuYmFubmVyIHBpY3R1cmUsXG4gIC5iYW5uZXIgaW1nLFxuICAuYmFubmVyIGEge1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbi50ZW1wbGF0ZS1saXZlIC5oZWFkZXItYnJhbmRpbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGUwZTBlICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50ZW1wbGF0ZS1saXZlIC5uYXZpZ2F0aW9uLWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzBlMGUwZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50ZW1wbGF0ZS1saXZlIC5oZWFkZXJfX2JyYW5kaW5nIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50OyB9IH1cblxuLnRlbXBsYXRlLWxpdmUgLm91dGVyLXdyYXBwZXIgLndyYXBwZXIsXG4udGVtcGxhdGUtbGl2ZSAubmF2aWdhdGlvbi1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGUwZTBlOyB9XG5cbi50ZW1wbGF0ZS1saXZlIG5hdi5wcmltYXJ5IGxpLmFjdGl2ZSBhIHtcbiAgY29sb3I6ICNmOWYxMmU7IH1cblxuLnRlbXBsYXRlLWxpdmUgLmNvcHkgaDEge1xuICBsaW5lLWhlaWdodDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgbWFyZ2luLXRvcDogNDBweDtcbiAgZm9udC1zaXplOiAzNnB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50ZW1wbGF0ZS1saXZlIC5jb3B5IGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogNDRweDsgfSB9XG5cbi50ZW1wbGF0ZS1saXZlIC5jb3B5IHAge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnRlbXBsYXRlLWxpdmUgLmNvcHkgcCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDc1cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA3NXB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC50ZW1wbGF0ZS1saXZlIC5jb3B5IHAge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNzVweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE3NXB4OyB9IH1cblxuLnRlbXBsYXRlLWxpdmUgLmx1Y2t5dHYtaGVscHQtY3RhIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogI2Y5ZjEyZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAudGVtcGxhdGUtbGl2ZSAubHVja3l0di1oZWxwdC1jdGEgYSB7XG4gICAgY29sb3I6ICNmOWYxMmU7IH1cblxuLmNvcHkgLnZpZGVvLnZpZGVvLS1mdWxsLXdpZHRoIHtcbiAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICBtYXJnaW4tcmlnaHQ6IC0yMHB4OyB9XG4gIC5jb3B5IC52aWRlby52aWRlby0tZnVsbC13aWR0aDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogLTIwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvcHkgLnZpZGVvLnZpZGVvLS1mdWxsLXdpZHRoIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMjVweDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTI1cHg7IH0gfVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE5vcm1hbGl6ZS5zY3NzIHNldHRpbmdzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBJbmNsdWRlcyBsZWdhY3kgYnJvd3NlciBzdXBwb3J0IElFNi83XG4gKlxuICogU2V0IHRvIGZhbHNlIGlmIHlvdSB3YW50IHRvIGRyb3Agc3VwcG9ydCBmb3IgSUU2IGFuZCBJRTdcbiAqL1xuXG4kbGVnYWN5X2Jyb3dzZXJfc3VwcG9ydDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8qIEJhc2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbiAqIDIuIFByZXZlbnQgaU9TIGFuZCBJRSB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIGRldmljZSBvcmllbnRhdGlvbiBjaGFuZ2UsXG4gKiAgICB3aXRob3V0IGRpc2FibGluZyB1c2VyIHpvb20uXG4gKiAzLiBDb3JyZWN0cyB0ZXh0IHJlc2l6aW5nIG9kZGx5IGluIElFIDYvNyB3aGVuIGJvZHkgYGZvbnQtc2l6ZWAgaXMgc2V0IHVzaW5nXG4gKiAgYGVtYCB1bml0cy5cbiAqL1xuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gIEBpZiAkbGVnYWN5X2Jyb3dzZXJfc3VwcG9ydCB7XG4gICAgKmZvbnQtc2l6ZTogMTAwJTsgLyogMyAqL1xuICB9XG59XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXG4gKiBhbmQgRmlyZWZveC5cbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4gKi9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDYvNy84LzkgYW5kIEZpcmVmb3ggMy5cbiAqIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG4gIEBpZiAkbGVnYWN5X2Jyb3dzZXJfc3VwcG9ydCB7XG4gICAgKmRpc3BsYXk6IGlubGluZTtcbiAgICAqem9vbTogMTtcbiAgfVxufVxuXG4vKipcbiAqIFByZXZlbnRzIG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxuICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuICovXG5cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBMaW5rc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogSW1wcm92ZSByZWFkYWJpbGl0eSBvZiBmb2N1c2VkIGVsZW1lbnRzIHdoZW4gdGhleSBhcmUgYWxzbyBpbiBhblxuICogYWN0aXZlL2hvdmVyIHN0YXRlLlxuICovXG5cbmEge1xuICAmOmFjdGl2ZSwgJjpob3ZlciB7XG4gICAgb3V0bGluZTogMDtcbiAgfTtcbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5AaWYgJGxlZ2FjeV9icm93c2VyX3N1cHBvcnQge1xuICBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDFlbSA0MHB4O1xuICB9XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICovXG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4gKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuQGlmICRsZWdhY3lfYnJvd3Nlcl9zdXBwb3J0IHtcbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgbWFyZ2luOiAwLjgzZW0gMDtcbiAgfVxuXG4gIGgzIHtcbiAgICBmb250LXNpemU6IDEuMTdlbTtcbiAgICBtYXJnaW46IDFlbSAwO1xuICB9XG5cbiAgaDQge1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIG1hcmdpbjogMS4zM2VtIDA7XG4gIH1cblxuICBoNSB7XG4gICAgZm9udC1zaXplOiAwLjgzZW07XG4gICAgbWFyZ2luOiAxLjY3ZW0gMDtcbiAgfVxuXG4gIGg2IHtcbiAgICBmb250LXNpemU6IDAuNjdlbTtcbiAgICBtYXJnaW46IDIuMzNlbSAwO1xuICB9XG59XG5cbi8qKlxuICogQWRkcmVzc2VzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICovXG5cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmYwO1xuICBjb2xvcjogIzAwMDtcbn1cblxuQGlmICRsZWdhY3lfYnJvd3Nlcl9zdXBwb3J0IHtcblxuICAvKipcbiAgICogQWRkcmVzc2VzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIElFIDYvNy5cbiAgICovXG5cbiAgcCxcbiAgcHJlIHtcbiAgICAqbWFyZ2luOiAxZW0gMDtcbiAgfVxuXG4gIC8qXG4gICAqIEFkZHJlc3NlcyBDU1MgcXVvdGVzIG5vdCBzdXBwb3J0ZWQgaW4gSUUgNi83LlxuICAgKi9cblxuICBxIHtcbiAgICAqcXVvdGVzOiBub25lO1xuICB9XG5cbiAgLypcbiAgICogQWRkcmVzc2VzIGBxdW90ZXNgIHByb3BlcnR5IG5vdCBzdXBwb3J0ZWQgaW4gU2FmYXJpIDQuXG4gICAqL1xuXG4gIHE6YmVmb3JlLFxuICBxOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBjb250ZW50OiBub25lO1xuICB9XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuQGlmICRsZWdhY3lfYnJvd3Nlcl9zdXBwb3J0IHtcblxuICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICBMaXN0c1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qXG4gICAqIEFkZHJlc3NlcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBJRSA2LzcuXG4gICAqL1xuXG4gIGRsLFxuICBtZW51LFxuICBvbCxcbiAgdWwge1xuICAgICptYXJnaW46IDFlbSAwO1xuICB9XG5cbiAgZGQge1xuICAgICptYXJnaW46IDAgMCAwIDQwcHg7XG4gIH1cblxuICAvKlxuICAgKiBBZGRyZXNzZXMgcGFkZGluZ3Mgc2V0IGRpZmZlcmVudGx5IGluIElFIDYvNy5cbiAgICovXG5cbiAgbWVudSxcbiAgb2wsXG4gIHVsIHtcbiAgICAqcGFkZGluZzogMCAwIDAgNDBweDtcbiAgfVxuXG4gIC8qXG4gICAqIENvcnJlY3RzIGxpc3QgaW1hZ2VzIGhhbmRsZWQgaW5jb3JyZWN0bHkgaW4gSUUgNy5cbiAgICovXG5cbiAgbmF2IHVsLFxuICBuYXYgb2wge1xuICAgICpsaXN0LXN0eWxlOiBub25lO1xuICAgICpsaXN0LXN0eWxlLWltYWdlOiBub25lO1xuICB9XG5cbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbiAqIDIuIEltcHJvdmVzIGltYWdlIHF1YWxpdHkgd2hlbiBzY2FsZWQgaW4gSUUgNy5cbiAqL1xuXG5pbWcge1xuICBib3JkZXI6IDA7XG4gIEBpZiAkbGVnYWN5X2Jyb3dzZXJfc3VwcG9ydCB7XG4gICAgKi1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IC8qIDIgKi9cbiAgfVxufVxuXG4vKipcbiAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAqL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICogQ29ycmVjdCBmb250IGZhbWlseSBzZXQgb2RkbHkgaW4gSUUgNiwgU2FmYXJpIDQvNSwgYW5kIENocm9tZS5cbiAqL1xuXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgQGlmICRsZWdhY3lfYnJvd3Nlcl9zdXBwb3J0IHtcbiAgICBfZm9udC1mYW1pbHk6ICdjb3VyaWVyIG5ldycsIG1vbm9zcGFjZTtcbiAgfVxuICBmb250LXNpemU6IDFlbTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbiAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbiAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbiAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqIDQuIEltcHJvdmVzIGFwcGVhcmFuY2UgYW5kIGNvbnNpc3RlbmN5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG4gIG1hcmdpbjogMDsgLyogMyAqL1xuICBAaWYgJGxlZ2FjeV9icm93c2VyX3N1cHBvcnQge1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMyAqL1xuICAgICp2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvKiAzICovXG4gIH1cbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbiAqL1xuXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAqICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gKiA0LiBSZW1vdmVzIGlubmVyIHNwYWNpbmcgaW4gSUUgNyB3aXRob3V0IGFmZmVjdGluZyBub3JtYWwgdGV4dCBpbnB1dHMuXG4gKiAgS25vd24gaXNzdWU6IGlubmVyIHNwYWNpbmcgcmVtYWlucyBpbiBJRSA2LlxuICovXG5cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gIGN1cnNvcjogcG9pbnRlcjsgLyogMyAqL1xuICBAaWYgJGxlZ2FjeV9icm93c2VyX3N1cHBvcnQge1xuICAgICpvdmVyZmxvdzogdmlzaWJsZTsgIC8qIDQgKi9cbiAgfVxufVxuXG4vKipcbiAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gKi9cblxuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8qKlxuICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4gKiAgS25vd24gaXNzdWU6IGV4Y2VzcyBwYWRkaW5nIHJlbWFpbnMgaW4gSUUgNi5cbiAqL1xuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgQGlmICRsZWdhY3lfYnJvd3Nlcl9zdXBwb3J0IHtcbiAgICAqaGVpZ2h0OiAxM3B4OyAvKiAzICovXG4gICAgKndpZHRoOiAxM3B4OyAvKiAzICovXG4gIH1cbn1cblxuLyoqXG4gKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuICogYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbiAqIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cbiAqL1xuXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICovXG5cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbiAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAqIDMuIENvcnJlY3RzIHRleHQgbm90IHdyYXBwaW5nIGluIEZpcmVmb3ggMy5cbiAqIDQuIENvcnJlY3RzIGFsaWdubWVudCBkaXNwbGF5ZWQgb2RkbHkgaW4gSUUgNi83LlxuICovXG5cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG4gIEBpZiAkbGVnYWN5X2Jyb3dzZXJfc3VwcG9ydCB7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMyAqL1xuICAgICptYXJnaW4tbGVmdDogLTdweDsgLyogNCAqL1xuICB9XG59XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG5cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qIFRhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gKi9cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7XG59IiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEFuaW1hdGlvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBrZXlmcmFtZXMgcGx5ci1wcm9ncmVzcyB7XG4gICAgdG8ge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkcGx5ci1wcm9ncmVzcy1sb2FkaW5nLXNpemUgMDtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgcGx5ci1wb3B1cCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgcGx5ci1mYWRlLWluIHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEJhc2Ugc3R5bGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQmFzZVxuLnBseXIge1xuICAgIEBpbmNsdWRlIHBseXItZm9udC1zbW9vdGhpbmcoJHBseXItZm9udC1zbW9vdGhpbmcpO1xuXG4gICAgZGlyZWN0aW9uOiBsdHI7XG4gICAgZm9udC1mYW1pbHk6ICRwbHlyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkcGx5ci1mb250LXdlaWdodC1yZWd1bGFyO1xuICAgIGxpbmUtaGVpZ2h0OiAkcGx5ci1saW5lLWhlaWdodDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjNzIGVhc2U7XG5cbiAgICAvLyBNZWRpYSBlbGVtZW50c1xuICAgIHZpZGVvLFxuICAgIGF1ZGlvIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAvLyBJZ25vcmUgZm9jdXNcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICB9XG59XG5cbi8vIGJvcmRlci1ib3ggZXZlcnl0aGluZ1xuLy8gaHR0cDovL3BhdWxpcmlzaC5jb20vMjAxMi9ib3gtc2l6aW5nLWJvcmRlci1ib3gtZnR3L1xuQGlmICRwbHlyLWJvcmRlci1ib3gge1xuICAgIC5wbHlyLS1mdWxsLXVpIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgICAgICAqLFxuICAgICAgICAqOjphZnRlcixcbiAgICAgICAgKjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIEZpeCAzMDBtcyBkZWxheVxuQGlmICRwbHlyLXRvdWNoLWFjdGlvbiB7XG4gICAgLnBseXItLWZ1bGwtdWkge1xuICAgICAgICBhLFxuICAgICAgICBidXR0b24sXG4gICAgICAgIGlucHV0LFxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNaXhpbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIE5pY2VyIGZvY3VzIHN0eWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gcGx5ci10YWItZm9jdXMoJGNvbG9yOiAkcGx5ci10YWItZm9jdXMtZGVmYXVsdC1jb2xvcikge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKCRjb2xvciwgMC4zNSk7XG4gICAgb3V0bGluZTogMDtcbn1cblxuLy8gRm9udCBzbW9vdGhpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIHBseXItZm9udC1zbW9vdGhpbmcoJG1vZGU6IHRydWUpIHtcbiAgICBAaWYgJG1vZGUge1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGF1dG87XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkO1xuICAgIH1cbn1cblxuLy8gPGlucHV0IHR5cGU9XCJyYW5nZVwiPiBzdHlsaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBwbHlyLXJhbmdlLXRyYWNrKCkge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAoJHBseXItcmFuZ2UtdHJhY2staGVpZ2h0IC8gMik7XG4gICAgaGVpZ2h0OiAkcGx5ci1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuQG1peGluIHBseXItcmFuZ2UtdGh1bWIoKSB7XG4gICAgYmFja2dyb3VuZDogJHBseXItcmFuZ2UtdGh1bWItYmc7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgYm94LXNoYWRvdzogJHBseXItcmFuZ2UtdGh1bWItc2hhZG93O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgaGVpZ2h0OiAkcGx5ci1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgd2lkdGg6ICRwbHlyLXJhbmdlLXRodW1iLWhlaWdodDtcbn1cblxuQG1peGluIHBseXItcmFuZ2UtdGh1bWItYWN0aXZlKCRjb2xvcjogcmdiYSgkcGx5ci1yYW5nZS10aHVtYi1iZywgMC41KSkge1xuICAgIGJveC1zaGFkb3c6ICRwbHlyLXJhbmdlLXRodW1iLXNoYWRvdywgMCAwIDAgJHBseXItcmFuZ2UtdGh1bWItYWN0aXZlLXNoYWRvdy13aWR0aCAkY29sb3I7XG59XG5cbi8vIEZ1bGxzY3JlZW4gc3R5bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBwbHlyLWZ1bGxzY3JlZW4tYWN0aXZlKCkge1xuICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICB2aWRlbyB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAucGx5cl9fdmlkZW8td3JhcHBlciB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnBseXJfX3ZpZGVvLWVtYmVkIHtcbiAgICAgICAgLy8gUmV2ZXJ0IG92ZXJmbG93IGNoYW5nZVxuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvLyBWaW1lbyByZXF1aXJlcyBzb21lIGRpZmZlcmVudCBzdHlsaW5nXG4gICAgJi5wbHlyLS12aW1lbyAucGx5cl9fdmlkZW8td3JhcHBlciB7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG5cbiAgICAvLyBEaXNwbGF5IGNvcnJlY3QgaWNvblxuICAgIC5wbHlyX19jb250cm9sIC5pY29uLS1leGl0LWZ1bGxzY3JlZW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICArIHN2ZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gSGlkZSBjdXJzb3IgaW4gZnVsbHNjcmVlbiB3aGVuIGNvbnRyb2xzIGhpZGRlblxuICAgICYucGx5ci0taGlkZS1jb250cm9scyB7XG4gICAgICAgIGN1cnNvcjogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBMYXJnZSBjYXB0aW9ucyBpbiBmdWxsIHNjcmVlbiBvbiBsYXJnZXIgc2NyZWVuc1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkcGx5ci1icC1sZykge1xuICAgICAgICAucGx5cl9fY2FwdGlvbnMge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkcGx5ci1mb250LXNpemUtY2FwdGlvbnMtbGFyZ2U7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBCcmVha3BvaW50c1xuJGw6IDEwMjRweDtcbiRtOiA3NjhweDtcbiRtaW4tczogNDgwcHg7XG4kbWluLXhzOiAzMjBweDtcbiRzOiA0ODBweCAoJG0gLSAxcHgpO1xuJHhzOiAzMjBweCAoJHMgLSAxcHgpO1xuJG1heC1zOiBtYXgtd2lkdGggKCRtIC0gMXB4KTtcblxuJGJsYWNrOiAjMWExYTFhO1xuJHdoaXRlOiAjZjJmMmYyO1xuJGdyZXk6ICMzMzMzMzM7XG4kcmVkOiAjZGIyZTJlO1xuJHJlZC1kYXJrOiAjYTgxNjE2O1xuJGdyZXktbWVkaXVtOiAjOTk5OTk5O1xuXG4kaGVhZGVyLWZvbnQ6ICdwcm94aW1hLXNvZnQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuJGhlYWRlci1mb250LWFsdDogJ3Byb3hpbWEtbm92YScsIHNhbnMtc2VyaWY7XG4kYm9keS1mb250OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFR5cG9ncmFwaHlcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRwbHlyLWZvbnQtZmFtaWx5OiBBdmVuaXIsICdBdmVuaXIgTmV4dCcsICdIZWx2ZXRpY2EgTmV1ZScsICdTZWdvZSBVSScsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kcGx5ci1mb250LXNpemUtYmFzZTogMTZweCAhZGVmYXVsdDtcbiRwbHlyLWZvbnQtc2l6ZS1zbWFsbDogMTRweCAhZGVmYXVsdDtcbiRwbHlyLWZvbnQtc2l6ZS1sYXJnZTogMThweCAhZGVmYXVsdDtcbiRwbHlyLWZvbnQtc2l6ZS14bGFyZ2U6IDIxcHggIWRlZmF1bHQ7XG5cbiRwbHlyLWZvbnQtc2l6ZS10aW1lOiAxNHB4ICFkZWZhdWx0O1xuJHBseXItZm9udC1zaXplLWJhZGdlOiA5cHggIWRlZmF1bHQ7XG5cbiRwbHlyLWZvbnQtd2VpZ2h0LXJlZ3VsYXI6IDUwMCAhZGVmYXVsdDtcbiRwbHlyLWZvbnQtd2VpZ2h0LWJvbGQ6IDYwMCAhZGVmYXVsdDtcblxuJHBseXItbGluZS1oZWlnaHQ6IDEuNyAhZGVmYXVsdDtcblxuJHBseXItZm9udC1zbW9vdGhpbmc6IHRydWUgIWRlZmF1bHQ7XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQmFkZ2VzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ucGx5cl9fYmFkZ2Uge1xuICAgIGJhY2tncm91bmQ6ICRwbHlyLWJhZGdlLWJnO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBjb2xvcjogJHBseXItYmFkZ2UtY29sb3I7XG4gICAgZm9udC1zaXplOiAkcGx5ci1mb250LXNpemUtYmFkZ2U7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgcGFkZGluZzogM3B4IDRweDtcbn1cbiIsIi8vJHBseXItY29sb3ItbWFpbjogJHJlZCAhZGVmYXVsdDtcbiRwbHlyLWNvbG9yLW1haW46ICNlZDI1MjUgIWRlZmF1bHQ7XG4kcGx5ci1jb2xvci1ndW5tZXRhbDogIzJmMzQzZCAhZGVmYXVsdDtcbiRwbHlyLWNvbG9yLWZpb3JkOiAjNGY1YjVmICFkZWZhdWx0O1xuJHBseXItY29sb3ItbHluY2g6ICM2YjdkODUgIWRlZmF1bHQ7XG4kcGx5ci1jb2xvci1oZWF0aGVyOiAjYjdjNWNkICFkZWZhdWx0O1xuJHBseXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQgIWRlZmF1bHQ7XG5cbkBpbXBvcnQgXCIuLi8uLi9ub2RlX21vZHVsZXMvcGx5ci9zcmMvc2Fzcy9wbHlyXCI7XG5cbi5wbHlyX19jb250cm9sLS1vdmVybGFpZCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKCcvZGlzdC9wbGF5LWJ1dHRvbi5zdmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMHB4IDEwMHB4O1xuICAgIHN2ZyB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgb3BhY2l0eTogMC44O1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKCcvZGlzdC9wbGF5LWJ1dHRvbi5zdmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDBweCAxMDBweDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmFkZ2VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kcGx5ci1iYWRnZS1iZzogJHBseXItY29sb3ItZmlvcmQgIWRlZmF1bHQ7XG4kcGx5ci1iYWRnZS1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDYXB0aW9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gSGlkZSBkZWZhdWx0IGNhcHRpb25zXG4ucGx5ci0tZnVsbC11aSA6Oi13ZWJraXQtbWVkaWEtdGV4dC10cmFjay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wbHlyX19jYXB0aW9ucyB7XG4gICAgYW5pbWF0aW9uOiBwbHlyLWZhZGUtaW4gMC4zcyBlYXNlO1xuICAgIGJvdHRvbTogMDtcbiAgICBjb2xvcjogJHBseXItY2FwdGlvbnMtY29sb3I7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmb250LXNpemU6ICRwbHlyLWZvbnQtc2l6ZS1jYXB0aW9ucy1zbWFsbDtcbiAgICBsZWZ0OiAwO1xuICAgIHBhZGRpbmc6ICRwbHlyLWNvbnRyb2wtc3BhY2luZztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtKCRwbHlyLWNvbnRyb2wtc3BhY2luZyAqIDQpKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cyBlYXNlLWluLW91dDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIHNwYW4ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcGx5ci1jYXB0aW9ucy1iZztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICBib3gtZGVjb3JhdGlvbi1icmVhazogY2xvbmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxODUlO1xuICAgICAgICBwYWRkaW5nOiAwLjJlbSAwLjVlbTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuXG4gICAgICAgIC8vIEZpcmVmb3ggYWRkcyBhIDxkaXY+IHdoZW4gdXNpbmcgZ2V0Q3VlQXNIVE1MKClcbiAgICAgICAgZGl2IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNwYW46ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkcGx5ci1icC1zbSkge1xuICAgICAgICBmb250LXNpemU6ICRwbHlyLWZvbnQtc2l6ZS1jYXB0aW9ucy1iYXNlO1xuICAgICAgICBwYWRkaW5nOiAoJHBseXItY29udHJvbC1zcGFjaW5nICogMik7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRwbHlyLWJwLW1kKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHBseXItZm9udC1zaXplLWNhcHRpb25zLW1lZGl1bTtcbiAgICB9XG59XG5cbi5wbHlyLS1jYXB0aW9ucy1hY3RpdmUgLnBseXJfX2NhcHRpb25zIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnBseXItLWhpZGUtY29udHJvbHMgLnBseXJfX2NhcHRpb25zIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSgkcGx5ci1jb250cm9sLXNwYWNpbmcgKiAxLjUpKTtcbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDYXB0aW9uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHBseXItY2FwdGlvbnMtYmc6IHJnYmEoIzAwMCwgMC44KSAhZGVmYXVsdDtcbiRwbHlyLWNhcHRpb25zLWNvbG9yOiAjZmZmICFkZWZhdWx0O1xuJHBseXItZm9udC1zaXplLWNhcHRpb25zLWJhc2U6ICRwbHlyLWZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJHBseXItZm9udC1zaXplLWNhcHRpb25zLXNtYWxsOiAkcGx5ci1mb250LXNpemUtc21hbGwgIWRlZmF1bHQ7XG4kcGx5ci1mb250LXNpemUtY2FwdGlvbnMtbWVkaXVtOiAkcGx5ci1mb250LXNpemUtbGFyZ2UgIWRlZmF1bHQ7XG4kcGx5ci1mb250LXNpemUtY2FwdGlvbnMtbGFyZ2U6ICRwbHlyLWZvbnQtc2l6ZS14bGFyZ2UgIWRlZmF1bHQ7XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ29udHJvbHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRwbHlyLWNvbnRyb2wtaWNvbi1zaXplOiAxOHB4ICFkZWZhdWx0O1xuJHBseXItY29udHJvbC1pY29uLXNpemUtbGFyZ2U6IDIwcHggIWRlZmF1bHQ7XG4kcGx5ci1jb250cm9sLXNwYWNpbmc6IDEwcHggIWRlZmF1bHQ7XG4kcGx5ci1jb250cm9sLXBhZGRpbmc6ICgkcGx5ci1jb250cm9sLXNwYWNpbmcgKiAwLjcpICFkZWZhdWx0O1xuJHBseXItY29udHJvbC1yYWRpdXM6IDNweCAhZGVmYXVsdDtcblxuJHBseXItdmlkZW8tY29udHJvbHMtYmc6ICMwMDAgIWRlZmF1bHQ7XG4kcGx5ci12aWRlby1jb250cm9sLWNvbG9yOiAjZmZmICFkZWZhdWx0O1xuJHBseXItdmlkZW8tY29udHJvbC1jb2xvci1ob3ZlcjogI2ZmZiAhZGVmYXVsdDtcbiRwbHlyLXZpZGVvLWNvbnRyb2wtYmctaG92ZXI6ICRwbHlyLWNvbG9yLW1haW4gIWRlZmF1bHQ7XG5cbiRwbHlyLWF1ZGlvLWNvbnRyb2xzLWJnOiAjZmZmICFkZWZhdWx0O1xuJHBseXItYXVkaW8tY29udHJvbC1jb2xvcjogJHBseXItY29sb3ItZmlvcmQgIWRlZmF1bHQ7XG4kcGx5ci1hdWRpby1jb250cm9sLWNvbG9yLWhvdmVyOiAjZmZmICFkZWZhdWx0O1xuJHBseXItYXVkaW8tY29udHJvbC1iZy1ob3ZlcjogJHBseXItY29sb3ItbWFpbiAhZGVmYXVsdDtcbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDb250cm9sIGJ1dHRvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5wbHlyX19jb250cm9sIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJHBseXItY29udHJvbC1yYWRpdXM7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvLyBJRTExXG4gICAgcGFkZGluZzogJHBseXItY29udHJvbC1wYWRkaW5nO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuXG4gICAgc3ZnIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgaGVpZ2h0OiAkcGx5ci1jb250cm9sLWljb24tc2l6ZTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAkcGx5ci1jb250cm9sLWljb24tc2l6ZTtcbiAgICB9XG5cbiAgICAvLyBEZWZhdWx0IGZvY3VzXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgfVxuXG4gICAgLy8gVGFiIGZvY3VzXG4gICAgJi5wbHlyX190YWItZm9jdXMge1xuICAgICAgICBAaW5jbHVkZSBwbHlyLXRhYi1mb2N1cygpO1xuICAgIH1cbn1cblxuLy8gQ2hhbmdlIGljb25zIG9uIHN0YXRlIGNoYW5nZVxuLnBseXJfX2NvbnRyb2xbYXJpYS1wcmVzc2VkPSdmYWxzZSddIC5pY29uLS1wcmVzc2VkLFxuLnBseXJfX2NvbnRyb2xbYXJpYS1wcmVzc2VkPSd0cnVlJ10gLmljb24tLW5vdC1wcmVzc2VkLFxuLnBseXJfX2NvbnRyb2xbYXJpYS1wcmVzc2VkPSdmYWxzZSddIC5sYWJlbC0tcHJlc3NlZCxcbi5wbHlyX19jb250cm9sW2FyaWEtcHJlc3NlZD0ndHJ1ZSddIC5sYWJlbC0tbm90LXByZXNzZWQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8vIEF1ZGlvIHN0eWxlc1xuLnBseXItLWF1ZGlvIC5wbHlyX19jb250cm9sIHtcbiAgICAmLnBseXJfX3RhYi1mb2N1cyxcbiAgICAmOmhvdmVyLFxuICAgICZbYXJpYS1leHBhbmRlZD0ndHJ1ZSddIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHBseXItYXVkaW8tY29udHJvbC1iZy1ob3ZlcjtcbiAgICAgICAgY29sb3I6ICRwbHlyLWF1ZGlvLWNvbnRyb2wtY29sb3ItaG92ZXI7XG4gICAgfVxufVxuXG4vLyBMYXJnZSBwbGF5IGJ1dHRvbiAodmlkZW8gb25seSlcbi5wbHlyX19jb250cm9sLS1vdmVybGFpZCB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgkcGx5ci12aWRlby1jb250cm9sLWJnLWhvdmVyLCAwLjgpO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKCMwMDAsIDAuMTUpO1xuICAgIGNvbG9yOiAkcGx5ci12aWRlby1jb250cm9sLWNvbG9yO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbGVmdDogNTAlO1xuICAgIHBhZGRpbmc6IGNlaWwoJHBseXItY29udHJvbC1zcGFjaW5nICogMS41KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgei1pbmRleDogMjtcblxuICAgIHN2ZyB7XG4gICAgICAgIGhlaWdodDogJHBseXItY29udHJvbC1pY29uLXNpemUtbGFyZ2U7XG4gICAgICAgIGxlZnQ6IDJweDsgLy8gT2Zmc2V0IHRvIG1ha2UgdGhlIHBsYXkgYnV0dG9uIGxvb2sgcmlnaHRcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogJHBseXItY29udHJvbC1pY29uLXNpemUtbGFyZ2U7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHBseXItdmlkZW8tY29udHJvbC1iZy1ob3ZlcjtcbiAgICB9XG59XG5cbi5wbHlyLS1wbGF5aW5nIC5wbHlyX19jb250cm9sLS1vdmVybGFpZCB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5wbHlyLS1mdWxsLXVpLnBseXItLXZpZGVvIC5wbHlyX19jb250cm9sLS1vdmVybGFpZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ29udHJvbHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEhpZGUgbmF0aXZlIGNvbnRyb2xzXG4ucGx5ci0tZnVsbC11aSA6Oi13ZWJraXQtbWVkaWEtY29udHJvbHMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8vIFBsYXliYWNrIGNvbnRyb2xzXG4ucGx5cl9fY29udHJvbHMge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAvLyBTcGFjaW5nXG4gICAgPiAucGx5cl9fY29udHJvbCxcbiAgICAucGx5cl9fcHJvZ3Jlc3MsXG4gICAgLnBseXJfX3RpbWUsXG4gICAgLnBseXJfX21lbnUge1xuICAgICAgICBtYXJnaW4tbGVmdDogKCRwbHlyLWNvbnRyb2wtc3BhY2luZyAvIDIpO1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQsXG4gICAgICAgICY6Zmlyc3QtY2hpbGQgKyBbZGF0YS1wbHlyPSdwYXVzZSddIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBseXJfX3ZvbHVtZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAoJHBseXItY29udHJvbC1zcGFjaW5nIC8gMik7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRwbHlyLWJwLXNtKSB7XG4gICAgICAgID4gLnBseXJfX2NvbnRyb2wsXG4gICAgICAgIC5wbHlyX19wcm9ncmVzcyxcbiAgICAgICAgLnBseXJfX3RpbWUsXG4gICAgICAgIC5wbHlyX19tZW51IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkcGx5ci1jb250cm9sLXNwYWNpbmc7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5wbHlyX19jb250cm9sICsgLnBseXJfX2NvbnRyb2wsXG4gICAgICAgIC5wbHlyX19tZW51ICsgLnBseXJfX2NvbnRyb2wsXG4gICAgICAgID4gLnBseXJfX2NvbnRyb2wgKyAucGx5cl9fbWVudSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogKCRwbHlyLWNvbnRyb2wtc3BhY2luZyAvIDIpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBWaWRlbyBjb250cm9sc1xuLnBseXItLXZpZGVvIC5wbHlyX19jb250cm9scyB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHJnYmEoJHBseXItdmlkZW8tY29udHJvbHMtYmcsIDApLCByZ2JhKCRwbHlyLXZpZGVvLWNvbnRyb2xzLWJnLCAwLjcpKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBpbmhlcml0O1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBpbmhlcml0O1xuICAgIGJvdHRvbTogMDtcbiAgICBjb2xvcjogJHBseXItdmlkZW8tY29udHJvbC1jb2xvcjtcbiAgICBsZWZ0OiAwO1xuICAgIHBhZGRpbmc6ICgkcGx5ci1jb250cm9sLXNwYWNpbmcgKiAzLjUpICRwbHlyLWNvbnRyb2wtc3BhY2luZyAkcGx5ci1jb250cm9sLXNwYWNpbmc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIDAuNHMgZWFzZS1pbi1vdXQ7XG4gICAgei1pbmRleDogMjtcblxuICAgIC5wbHlyX19jb250cm9sIHtcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAxcHggMXB4IHJnYmEoIzAwMCwgMC4xNSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSG92ZXIgYW5kIHRhYiBmb2N1c1xuICAgICAgICAmLnBseXJfX3RhYi1mb2N1cyxcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJlthcmlhLWV4cGFuZGVkPSd0cnVlJ10ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHBseXItdmlkZW8tY29udHJvbC1iZy1ob3ZlcjtcbiAgICAgICAgICAgIGNvbG9yOiAkcGx5ci12aWRlby1jb250cm9sLWNvbG9yLWhvdmVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBBdWRpbyBjb250cm9sc1xuLnBseXItLWF1ZGlvIC5wbHlyX19jb250cm9scyB7XG4gICAgYmFja2dyb3VuZDogJHBseXItYXVkaW8tY29udHJvbHMtYmc7XG4gICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbiAgICBjb2xvcjogJHBseXItYXVkaW8tY29udHJvbC1jb2xvcjtcbiAgICBwYWRkaW5nOiAkcGx5ci1jb250cm9sLXNwYWNpbmc7XG59XG5cbi8vIEhpZGUgY29udHJvbHNcbi5wbHlyLS12aWRlby5wbHlyLS1oaWRlLWNvbnRyb2xzIC5wbHlyX19jb250cm9scyB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG59XG5cbi8vIFNvbWUgb3B0aW9ucyBhcmUgaGlkZGVuIGJ5IGRlZmF1bHRcbi5wbHlyIFtkYXRhLXBseXI9J2NhcHRpb25zJ10sXG4ucGx5ciBbZGF0YS1wbHlyPSdwaXAnXSxcbi5wbHlyIFtkYXRhLXBseXI9J2FpcnBsYXknXSxcbi5wbHlyIFtkYXRhLXBseXI9J2Z1bGxzY3JlZW4nXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbi5wbHlyLS1jYXB0aW9ucy1lbmFibGVkIFtkYXRhLXBseXI9J2NhcHRpb25zJ10sXG4ucGx5ci0tcGlwLXN1cHBvcnRlZCBbZGF0YS1wbHlyPSdwaXAnXSxcbi5wbHlyLS1haXJwbGF5LXN1cHBvcnRlZCBbZGF0YS1wbHlyPSdhaXJwbGF5J10sXG4ucGx5ci0tZnVsbHNjcmVlbi1lbmFibGVkIFtkYXRhLXBseXI9J2Z1bGxzY3JlZW4nXSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEVtYmVkZGVkIHBsYXllcnNcbi8vIFlvdVR1YmUsIFZpbWVvLCBldGNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5wbHlyX192aWRlby1lbWJlZCB7XG4gICAgLy8gRGVmYXVsdCB0byAxNjo5IHJhdGlvIGJ1dCB0aGlzIGlzIHNldCBieSBKYXZhU2NyaXB0IGJhc2VkIG9uIGNvbmZpZ1xuICAgICRwYWRkaW5nOiAoKDEwMCAvIDE2KSAqIDkpO1xuICAgICRoZWlnaHQ6IDIwMDtcbiAgICAkb2Zmc2V0OiB0by1wZXJjZW50YWdlKCgkaGVpZ2h0IC0gJHBhZGRpbmcpIC8gKCRoZWlnaHQgLyA1MCkpO1xuXG4gICAgaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiB0by1wZXJjZW50YWdlKCRwYWRkaW5nKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBpZnJhbWUge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAvLyBWaW1lbyBoYWNrXG4gICAgPiBkaXYge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogdG8tcGVyY2VudGFnZSgkaGVpZ2h0KTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRvZmZzZXQpO1xuICAgIH1cbn1cbi8vIFRvIGFsbG93IG1vdXNlIGV2ZW50cyB0byBiZSBjYXB0dXJlZCBpZiBmdWxsIHN1cHBvcnRcbi5wbHlyLS1mdWxsLXVpIC5wbHlyX192aWRlby1lbWJlZCBpZnJhbWUge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFVzZWZ1bCBmdW5jdGlvbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBmdW5jdGlvbiB0by1wZXJjZW50YWdlKCRpbnB1dCkge1xuICAgIEByZXR1cm4gJGlucHV0ICogMSU7XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTWVudXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5wbHlyX19tZW51IHtcbiAgICBkaXNwbGF5OiBmbGV4OyAvLyBFZGdlIGZpeFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC8vIEFuaW1hdGUgdGhlIGljb25cbiAgICAucGx5cl9fY29udHJvbCBzdmcge1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xuICAgIH1cbiAgICAucGx5cl9fY29udHJvbFthcmlhLWV4cGFuZGVkPSd0cnVlJ10ge1xuICAgICAgICBzdmcge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSGlkZSB0b29sdGlwXG4gICAgICAgIC5wbHlyX190b29sdGlwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUaGUgYWN0dWFsIG1lbnUgY29udGFpbmVyXG4gICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgYW5pbWF0aW9uOiBwbHlyLXBvcHVwIDAuMnMgZWFzZTtcbiAgICAgICAgYmFja2dyb3VuZDogJHBseXItbWVudS1iZztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICBib3R0b206IDEwMCU7XG4gICAgICAgIGJveC1zaGFkb3c6ICRwbHlyLW1lbnUtc2hhZG93O1xuICAgICAgICBjb2xvcjogJHBseXItbWVudS1jb2xvcjtcbiAgICAgICAgZm9udC1zaXplOiAkcGx5ci1mb250LXNpemUtYmFzZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogLTNweDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuMzVzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksIHdpZHRoIDAuMzVzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBcnJvd1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBib3JkZXI6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRwbHlyLW1lbnUtYmc7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIH1cblxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRwbHlyLWNvbnRyb2wtcGFkZGluZztcblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDJweDtcblxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9wdGlvbnNcbiAgICAgICAgLnBseXJfX2NvbnRyb2wge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGNvbG9yOiAkcGx5ci1tZW51LWNvbG9yO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHBhZGRpbmc6IGNlaWwoJHBseXItY29udHJvbC1wYWRkaW5nIC8gMikgKCRwbHlyLWNvbnRyb2wtcGFkZGluZyAqIDIpO1xuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnMgZWFzZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tZm9yd2FyZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogY2VpbCgkcGx5ci1jb250cm9sLXBhZGRpbmcgKiA0KTtcblxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHJnYmEoJHBseXItbWVudS1jb2xvciwgMC44KTtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLnBseXJfX3RhYi1mb2N1czo6YWZ0ZXIsXG4gICAgICAgICAgICAgICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tYmFjayB7XG4gICAgICAgICAgICAgICAgJGhvcml6b250YWwtcGFkZGluZzogKCRwbHlyLWNvbnRyb2wtcGFkZGluZyAqIDIpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcGx5ci1mb250LXdlaWdodC1yZWd1bGFyO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogJHBseXItY29udHJvbC1wYWRkaW5nO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGZsb29yKCRwbHlyLWNvbnRyb2wtcGFkZGluZyAvIDIpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogY2VpbCgkcGx5ci1jb250cm9sLXBhZGRpbmcgKiA0KTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skaG9yaXpvbnRhbC1wYWRkaW5nfSk7XG5cbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogcmdiYSgkcGx5ci1tZW51LWNvbG9yLCAwLjgpO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAkcGx5ci1jb250cm9sLXBhZGRpbmc7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHBseXItbWVudS1ib3JkZXItY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDAgJHBseXItbWVudS1ib3JkZXItc2hhZG93LWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IGNlaWwoJHBseXItY29udHJvbC1wYWRkaW5nIC8gMik7XG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLnBseXJfX3RhYi1mb2N1czo6YWZ0ZXIsXG4gICAgICAgICAgICAgICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsYWJlbC5wbHlyX19jb250cm9sIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHBseXItY29udHJvbC1wYWRkaW5nO1xuXG4gICAgICAgICAgICBpbnB1dFt0eXBlPSdyYWRpbyddICsgc3BhbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgjMDAwLCAwLjEpO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJHBseXItY29udHJvbC1zcGFjaW5nO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZSwgb3BhY2l0eSAwLjNzIGVhc2U7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA2cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbnB1dFt0eXBlPSdyYWRpbyddOmNoZWNrZWQgKyBzcGFuIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcGx5ci1jb2xvci1tYWluO1xuXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW5wdXRbdHlwZT0ncmFkaW8nXTpmb2N1cyArIHNwYW4ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBseXItdGFiLWZvY3VzKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYucGx5cl9fdGFiLWZvY3VzIGlucHV0W3R5cGU9J3JhZGlvJ10gKyBzcGFuLFxuICAgICAgICAgICAgJjpob3ZlciBpbnB1dFt0eXBlPSdyYWRpbyddICsgc3BhbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgjMDAwLCAwLjEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gT3B0aW9uIHZhbHVlXG4gICAgICAgIC5wbHlyX19tZW51X192YWx1ZSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJHBseXItY29udHJvbC1wYWRkaW5nO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogY2VpbCgkcGx5ci1jb250cm9sLXBhZGRpbmcgKiAzLjUpO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTWVudXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRwbHlyLW1lbnUtYmc6IHJnYmEoI2ZmZiwgMC45KSAhZGVmYXVsdDtcbiRwbHlyLW1lbnUtY29sb3I6ICRwbHlyLWNvbG9yLWZpb3JkICFkZWZhdWx0O1xuJHBseXItbWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG4kcGx5ci1tZW51LWJvcmRlci1jb2xvcjogJHBseXItY29sb3ItaGVhdGhlciAhZGVmYXVsdDtcbiRwbHlyLW1lbnUtYm9yZGVyLXNoYWRvdy1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcbiRwbHlyLW1lbnUtc2hhZG93OiAwIDFweCAycHggcmdiYSgjMDAwLCAwLjE1KSAhZGVmYXVsdDtcbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBQbGF5YmFjayBwcm9ncmVzc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnBseXJfX3Byb2dyZXNzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IDE7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgaW5wdXRbdHlwZT0ncmFuZ2UnXSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICB9XG5cbiAgICAvLyBTZWVrIHRvb2x0aXAgdG8gc2hvdyB0aW1lXG4gICAgLnBseXJfX3Rvb2x0aXAge1xuICAgICAgICBmb250LXNpemU6ICRwbHlyLWZvbnQtc2l6ZS10aW1lO1xuICAgICAgICBsZWZ0OiAwO1xuICAgIH1cbn1cblxuLnBseXJfX3Byb2dyZXNzLS1idWZmZXIge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSAqL1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgICBoZWlnaHQ6ICRwbHlyLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbjogLSgkcGx5ci1yYW5nZS10cmFjay1oZWlnaHQgLyAyKSAwIDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmOjotd2Via2l0LXByb2dyZXNzLWJhciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjJzIGVhc2U7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gICAgICAgIG1pbi13aWR0aDogJHBseXItcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIH1cblxuICAgIC8vIE1vemlsbGFcbiAgICAmOjotbW96LXByb2dyZXNzLWJhciB7XG4gICAgICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gICAgICAgIG1pbi13aWR0aDogJHBseXItcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjJzIGVhc2U7XG4gICAgfVxuXG4gICAgLy8gTWljcm9zb2Z0XG4gICAgJjo6LW1zLWZpbGwge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggMC4ycyBlYXNlO1xuICAgIH1cbn1cblxuLnBseXItLXZpZGVvIC5wbHlyX19wcm9ncmVzcy0tYnVmZmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDFweCAxcHggcmdiYSgjMDAwLCAwLjE1KTtcbiAgICBjb2xvcjogJHBseXItdmlkZW8tcHJvZ3Jlc3MtYnVmZmVyZWQtYmc7XG59XG5cbi5wbHlyLS1hdWRpbyAucGx5cl9fcHJvZ3Jlc3MtLWJ1ZmZlciB7XG4gICAgY29sb3I6ICRwbHlyLWF1ZGlvLXByb2dyZXNzLWJ1ZmZlcmVkLWJnO1xufVxuXG4vLyBMb2FkaW5nIHN0YXRlXG4ucGx5ci0tbG9hZGluZyAucGx5cl9fcHJvZ3Jlc3MtLWJ1ZmZlciB7XG4gICAgYW5pbWF0aW9uOiBwbHlyLXByb2dyZXNzIDFzIGxpbmVhciBpbmZpbml0ZTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgIC00NWRlZyxcbiAgICAgICAgJHBseXItcHJvZ3Jlc3MtbG9hZGluZy1iZyAyNSUsXG4gICAgICAgIHRyYW5zcGFyZW50IDI1JSxcbiAgICAgICAgdHJhbnNwYXJlbnQgNTAlLFxuICAgICAgICAkcGx5ci1wcm9ncmVzcy1sb2FkaW5nLWJnIDUwJSxcbiAgICAgICAgJHBseXItcHJvZ3Jlc3MtbG9hZGluZy1iZyA3NSUsXG4gICAgICAgIHRyYW5zcGFyZW50IDc1JSxcbiAgICAgICAgdHJhbnNwYXJlbnRcbiAgICApO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICRwbHlyLXByb2dyZXNzLWxvYWRpbmctc2l6ZSAkcGx5ci1wcm9ncmVzcy1sb2FkaW5nLXNpemU7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ucGx5ci0tdmlkZW8ucGx5ci0tbG9hZGluZyAucGx5cl9fcHJvZ3Jlc3MtLWJ1ZmZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBseXItdmlkZW8tcHJvZ3Jlc3MtYnVmZmVyZWQtYmc7XG59XG5cbi5wbHlyLS1hdWRpby5wbHlyLS1sb2FkaW5nIC5wbHlyX19wcm9ncmVzcy0tYnVmZmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGx5ci1hdWRpby1wcm9ncmVzcy1idWZmZXJlZC1iZztcbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTbGlkZXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBBY3RpdmUgc3RhdGVcbiRwbHlyLXJhbmdlLXRodW1iLWFjdGl2ZS1zaGFkb3ctd2lkdGg6IDNweCAhZGVmYXVsdDtcblxuLy8gVGh1bWJcbiRwbHlyLXJhbmdlLXRodW1iLWhlaWdodDogMTRweCAhZGVmYXVsdDtcbiRwbHlyLXJhbmdlLXRodW1iLWJnOiAjZmZmICFkZWZhdWx0O1xuJHBseXItcmFuZ2UtdGh1bWItYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kcGx5ci1yYW5nZS10aHVtYi1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKCMwMDAsIDAuMTUpLCAwIDAgMCAxcHggcmdiYSgkcGx5ci1jb2xvci1ndW5tZXRhbCwgMC4yKSAhZGVmYXVsdDtcblxuLy8gVHJhY2tcbiRwbHlyLXJhbmdlLXRyYWNrLWhlaWdodDogNnB4ICFkZWZhdWx0O1xuJHBseXItcmFuZ2UtbWF4LWhlaWdodDogKCRwbHlyLXJhbmdlLXRodW1iLWFjdGl2ZS1zaGFkb3ctd2lkdGggKiAyKSArICRwbHlyLXJhbmdlLXRodW1iLWhlaWdodCAhZGVmYXVsdDtcblxuLy8gRmlsbFxuJHBseXItcmFuZ2UtZmlsbC1iZzogJHBseXItY29sb3ItbWFpbiAhZGVmYXVsdDtcblxuLy8gVHlwZSBzcGVjaWZpY1xuJHBseXItdmlkZW8tcmFuZ2UtdHJhY2stYmc6ICRwbHlyLXZpZGVvLXByb2dyZXNzLWJ1ZmZlcmVkLWJnICFkZWZhdWx0O1xuJHBseXItYXVkaW8tcmFuZ2UtdHJhY2stYmc6ICRwbHlyLWF1ZGlvLXByb2dyZXNzLWJ1ZmZlcmVkLWJnICFkZWZhdWx0O1xuJHBseXItYXVkaW8tcmFuZ2UtdGh1bWItc2hhZG93LWNvbG9yOiByZ2JhKCMwMDAsIDAuMSkgIWRlZmF1bHQ7XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUHJvZ3Jlc3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIExvYWRpbmdcbiRwbHlyLXByb2dyZXNzLWxvYWRpbmctc2l6ZTogMjVweCAhZGVmYXVsdDtcbiRwbHlyLXByb2dyZXNzLWxvYWRpbmctYmc6IHJnYmEoJHBseXItY29sb3ItZ3VubWV0YWwsIDAuNikgIWRlZmF1bHQ7XG5cbi8vIEJ1ZmZlcmVkXG4kcGx5ci12aWRlby1wcm9ncmVzcy1idWZmZXJlZC1iZzogcmdiYSgjZmZmLCAwLjI1KSAhZGVmYXVsdDtcbiRwbHlyLWF1ZGlvLXByb2dyZXNzLWJ1ZmZlcmVkLWJnOiByZ2JhKCRwbHlyLWNvbG9yLWhlYXRoZXIsIDAuNjYpICFkZWZhdWx0O1xuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNsaWRlciBpbnB1dHMgLSA8aW5wdXQgdHlwZT1cInJhbmdlXCI+XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPSdyYW5nZSddIHtcbiAgICAvLyBXZWJLaXRcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgKi9cbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogKCRwbHlyLXJhbmdlLXRodW1iLWhlaWdodCAqIDIpO1xuICAgIC8vIGNvbG9yIGlzIHVzZWQgaW4gSlMgdG8gcG9wdWxhdGUgbG93ZXIgZmlsbCBmb3IgV2ViS2l0XG4gICAgY29sb3I6ICRwbHlyLXJhbmdlLWZpbGwtYmc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAkcGx5ci1yYW5nZS1tYXgtaGVpZ2h0O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4zcyBlYXNlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgICAgICBAaW5jbHVkZSBwbHlyLXJhbmdlLXRyYWNrKCk7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgY3VycmVudENvbG9yIHZhcigtLXZhbHVlKSwgdHJhbnNwYXJlbnQgdmFyKC0tdmFsdWUpKTtcbiAgICB9XG5cbiAgICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgICAgIEBpbmNsdWRlIHBseXItcmFuZ2UtdGh1bWIoKTtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lICovXG4gICAgICAgIG1hcmdpbi10b3A6IC0oKCRwbHlyLXJhbmdlLXRodW1iLWhlaWdodCAtICRwbHlyLXJhbmdlLXRyYWNrLWhlaWdodCkgLyAyKTtcbiAgICB9XG5cbiAgICAvLyBNb3ppbGxhXG4gICAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgICAgIEBpbmNsdWRlIHBseXItcmFuZ2UtdHJhY2soKTtcbiAgICB9XG5cbiAgICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAgICAgQGluY2x1ZGUgcGx5ci1yYW5nZS10aHVtYigpO1xuICAgIH1cblxuICAgICY6Oi1tb3otcmFuZ2UtcHJvZ3Jlc3Mge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICgkcGx5ci1yYW5nZS10cmFjay1oZWlnaHQgLyAyKTtcbiAgICAgICAgaGVpZ2h0OiAkcGx5ci1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgfVxuXG4gICAgLy8gTWljcm9zb2Z0XG4gICAgJjo6LW1zLXRyYWNrIHtcbiAgICAgICAgQGluY2x1ZGUgcGx5ci1yYW5nZS10cmFjaygpO1xuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgJjo6LW1zLWZpbGwtdXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBwbHlyLXJhbmdlLXRyYWNrKCk7XG4gICAgfVxuXG4gICAgJjo6LW1zLWZpbGwtbG93ZXIge1xuICAgICAgICBAaW5jbHVkZSBwbHlyLXJhbmdlLXRyYWNrKCk7XG5cbiAgICAgICAgYmFja2dyb3VuZDogY3VycmVudENvbG9yO1xuICAgIH1cblxuICAgICY6Oi1tcy10aHVtYiB7XG4gICAgICAgIEBpbmNsdWRlIHBseXItcmFuZ2UtdGh1bWIoKTtcbiAgICAgICAgLy8gRm9yIHNvbWUgcmVhc29uLCBFZGdlIHVzZXMgdGhlIC13ZWJraXQgbWFyZ2luIGFib3ZlXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgJjo6LW1zLXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8vIEZvY3VzIHN0eWxlc1xuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgIH1cblxuICAgICY6Oi1tb3otZm9jdXMtb3V0ZXIge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgfVxuXG4gICAgJi5wbHlyX190YWItZm9jdXMge1xuICAgICAgICAmOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwbHlyLXRhYi1mb2N1cygpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwbHlyLXRhYi1mb2N1cygpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6LW1zLXRyYWNrIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBseXItdGFiLWZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFZpZGVvIHJhbmdlIGlucHV0c1xuLnBseXItLWZ1bGwtdWkucGx5ci0tdmlkZW8gaW5wdXRbdHlwZT0ncmFuZ2UnXSB7XG4gICAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGx5ci12aWRlby1yYW5nZS10cmFjay1iZztcbiAgICB9XG5cbiAgICAmOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBseXItdmlkZW8tcmFuZ2UtdHJhY2stYmc7XG4gICAgfVxuXG4gICAgJjo6LW1zLXRyYWNrIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBseXItdmlkZW8tcmFuZ2UtdHJhY2stYmc7XG4gICAgfVxuXG4gICAgLy8gUHJlc3NlZCBzdHlsZXNcbiAgICAmOmFjdGl2ZSB7XG4gICAgICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBseXItcmFuZ2UtdGh1bWItYWN0aXZlKCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBseXItcmFuZ2UtdGh1bWItYWN0aXZlKCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjotbXMtdGh1bWIge1xuICAgICAgICAgICAgQGluY2x1ZGUgcGx5ci1yYW5nZS10aHVtYi1hY3RpdmUoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gQXVkaW8gcmFuZ2UgaW5wdXRzXG4ucGx5ci0tZnVsbC11aS5wbHlyLS1hdWRpbyBpbnB1dFt0eXBlPSdyYW5nZSddIHtcbiAgICAmOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwbHlyLWF1ZGlvLXJhbmdlLXRyYWNrLWJnO1xuICAgIH1cblxuICAgICY6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGx5ci1hdWRpby1yYW5nZS10cmFjay1iZztcbiAgICB9XG5cbiAgICAmOjotbXMtdHJhY2sge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGx5ci1hdWRpby1yYW5nZS10cmFjay1iZztcbiAgICB9XG5cbiAgICAvLyBQcmVzc2VkIHN0eWxlc1xuICAgICY6YWN0aXZlIHtcbiAgICAgICAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgICAgICAgQGluY2x1ZGUgcGx5ci1yYW5nZS10aHVtYi1hY3RpdmUoJHBseXItYXVkaW8tcmFuZ2UtdGh1bWItc2hhZG93LWNvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgICAgICAgQGluY2x1ZGUgcGx5ci1yYW5nZS10aHVtYi1hY3RpdmUoJHBseXItYXVkaW8tcmFuZ2UtdGh1bWItc2hhZG93LWNvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Oi1tcy10aHVtYiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwbHlyLXJhbmdlLXRodW1iLWFjdGl2ZSgkcGx5ci1hdWRpby1yYW5nZS10aHVtYi1zaGFkb3ctY29sb3IpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRpbWVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5wbHlyX190aW1lIHtcbiAgICBmb250LXNpemU6ICRwbHlyLWZvbnQtc2l6ZS10aW1lO1xufVxuXG4vLyBNZWRpYSBkdXJhdGlvbiBoaWRkZW4gb24gc21hbGwgc2NyZWVuc1xuLnBseXJfX3RpbWUgKyAucGx5cl9fdGltZSB7XG4gICAgLy8gQWRkIGEgc2xhc2ggaW4gYmVmb3JlXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJ1xcMjA0NCc7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJHBseXItY29udHJvbC1zcGFjaW5nO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkcGx5ci1icC1zbS1tYXgpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi5wbHlyLS12aWRlbyAucGx5cl9fdGltZSB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKCMwMDAsIDAuMTUpO1xufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRvb2x0aXBzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ucGx5cl9fdG9vbHRpcCB7XG4gICAgYmFja2dyb3VuZDogJHBseXItdG9vbHRpcC1iZztcbiAgICBib3JkZXItcmFkaXVzOiAkcGx5ci10b29sdGlwLXJhZGl1cztcbiAgICBib3R0b206IDEwMCU7XG4gICAgYm94LXNoYWRvdzogJHBseXItdG9vbHRpcC1zaGFkb3c7XG4gICAgY29sb3I6ICRwbHlyLXRvb2x0aXAtY29sb3I7XG4gICAgZm9udC1zaXplOiAkcGx5ci1mb250LXNpemUtc21hbGw7XG4gICAgZm9udC13ZWlnaHQ6ICRwbHlyLWZvbnQtd2VpZ2h0LXJlZ3VsYXI7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBtYXJnaW4tYm90dG9tOiAoJHBseXItdG9vbHRpcC1wYWRkaW5nICogMik7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwYWRkaW5nOiAkcGx5ci10b29sdGlwLXBhZGRpbmcgKCRwbHlyLXRvb2x0aXAtcGFkZGluZyAqIDEuNSk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDEwcHgpIHNjYWxlKDAuOCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDEwMCU7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgMC4xcyBlYXNlLCBvcGFjaXR5IDAuMnMgMC4xcyBlYXNlO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICAvLyBUaGUgYmFja2dyb3VuZCB0cmlhbmdsZVxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkcGx5ci10b29sdGlwLWFycm93LXNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yaWdodDogJHBseXItdG9vbHRpcC1hcnJvdy1zaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItdG9wOiAkcGx5ci10b29sdGlwLWFycm93LXNpemUgc29saWQgJHBseXItdG9vbHRpcC1iZztcbiAgICAgICAgYm90dG9tOiAtJHBseXItdG9vbHRpcC1hcnJvdy1zaXplO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICB9XG59XG5cbi8vIERpc3BsYXlpbmdcbi5wbHlyIC5wbHlyX19jb250cm9sOmhvdmVyIC5wbHlyX190b29sdGlwLFxuLnBseXIgLnBseXJfX2NvbnRyb2wucGx5cl9fdGFiLWZvY3VzIC5wbHlyX190b29sdGlwLFxuLnBseXJfX3Rvb2x0aXAtLXZpc2libGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCkgc2NhbGUoMSk7XG59XG5cbi5wbHlyIC5wbHlyX19jb250cm9sOmhvdmVyIC5wbHlyX190b29sdGlwIHtcbiAgICB6LWluZGV4OiAzO1xufVxuXG4vLyBGaXJzdCB0b29sdGlwXG4ucGx5cl9fY29udHJvbHMgPiAucGx5cl9fY29udHJvbDpmaXJzdC1jaGlsZCAucGx5cl9fdG9vbHRpcCxcbi5wbHlyX19jb250cm9scyA+IC5wbHlyX19jb250cm9sOmZpcnN0LWNoaWxkICsgLnBseXJfX2NvbnRyb2wgLnBseXJfX3Rvb2x0aXAge1xuICAgIGxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMTBweCkgc2NhbGUoMC44KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDEwMCU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiAoJHBseXItY29udHJvbC1pY29uLXNpemUgLyAyKSArICRwbHlyLWNvbnRyb2wtcGFkZGluZztcbiAgICB9XG59XG5cbi8vIExhc3QgdG9vbHRpcFxuLnBseXJfX2NvbnRyb2xzID4gLnBseXJfX2NvbnRyb2w6bGFzdC1jaGlsZCAucGx5cl9fdG9vbHRpcCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMTBweCkgc2NhbGUoMC44KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDEwMCU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogKCRwbHlyLWNvbnRyb2wtaWNvbi1zaXplIC8gMikgKyAkcGx5ci1jb250cm9sLXBhZGRpbmc7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpO1xuICAgIH1cbn1cblxuLnBseXJfX2NvbnRyb2xzID4gLnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQsXG4ucGx5cl9fY29udHJvbHMgPiAucGx5cl9fY29udHJvbDpmaXJzdC1jaGlsZCArIC5wbHlyX19jb250cm9sLFxuLnBseXJfX2NvbnRyb2xzID4gLnBseXJfX2NvbnRyb2w6bGFzdC1jaGlsZCB7XG4gICAgJjpob3ZlciAucGx5cl9fdG9vbHRpcCxcbiAgICAmLnBseXJfX3RhYi1mb2N1cyAucGx5cl9fdG9vbHRpcCxcbiAgICAucGx5cl9fdG9vbHRpcC0tdmlzaWJsZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApIHNjYWxlKDEpO1xuICAgIH1cbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBUb29sdGlwc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHBseXItdG9vbHRpcC1iZzogcmdiYSgjZmZmLCAwLjkpICFkZWZhdWx0O1xuJHBseXItdG9vbHRpcC1jb2xvcjogJHBseXItY29sb3ItZmlvcmQgIWRlZmF1bHQ7XG4kcGx5ci10b29sdGlwLXBhZGRpbmc6ICgkcGx5ci1jb250cm9sLXNwYWNpbmcgLyAyKSAhZGVmYXVsdDtcbiRwbHlyLXRvb2x0aXAtYXJyb3ctc2l6ZTogNHB4ICFkZWZhdWx0O1xuJHBseXItdG9vbHRpcC1yYWRpdXM6IDNweCAhZGVmYXVsdDtcbiRwbHlyLXRvb2x0aXAtc2hhZG93OiAwIDFweCAycHggcmdiYSgjMDAwLCAwLjE1KSAhZGVmYXVsdDtcbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBWaWRlbyBzdHlsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5wbHlyLS12aWRlbyB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC8vIE1lbnUgb3BlblxuICAgICYucGx5ci0tbWVudS1vcGVuIHtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxufVxuXG4ucGx5cl9fdmlkZW8td3JhcHBlciB7XG4gICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vIFJlcXVpcmUgei1pbmRleCB0byBmb3JjZSBib3JkZXItcmFkaXVzXG4gICAgei1pbmRleDogMDtcbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBWb2x1bWVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5wbHlyX192b2x1bWUge1xuICAgIGZsZXg6IDE7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgaW5wdXRbdHlwZT0ncmFuZ2UnXSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHBseXItYnAtc20pIHtcbiAgICAgICAgbWF4LXdpZHRoOiA1MHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkcGx5ci1icC1tZCkge1xuICAgICAgICBtYXgtd2lkdGg6IDgwcHg7XG4gICAgfVxufVxuXG4vLyBIaWRlIHNvdW5kIGNvbnRyb2xzIG9uIGlPU1xuLy8gSXQncyBub3Qgc3VwcG9ydGVkIHRvIGNoYW5nZSB2b2x1bWUgdXNpbmcgSmF2YVNjcmlwdDpcbi8vIGh0dHBzOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9saWJyYXJ5L3NhZmFyaS9kb2N1bWVudGF0aW9uL0F1ZGlvVmlkZW8vQ29uY2VwdHVhbC9Vc2luZ19IVE1MNV9BdWRpb19WaWRlby9EZXZpY2UtU3BlY2lmaWNDb25zaWRlcmF0aW9ucy9EZXZpY2UtU3BlY2lmaWNDb25zaWRlcmF0aW9ucy5odG1sXG4ucGx5ci0taXMtaW9zIC5wbHlyX192b2x1bWUsXG4ucGx5ci0taXMtaW9zIFtkYXRhLXBseXI9J211dGUnXSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEVycm9yIHN0YXRlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ucGx5ci0taGFzLWVycm9yIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgjMDAwLCA5MCUpO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgY29udGVudDogYXR0cihkYXRhLXBseXItZXJyb3IpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmb250LXNpemU6ICRwbHlyLWZvbnQtc2l6ZS1iYXNlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdGV4dC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKCMwMDAsIDEwJSk7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgIH1cbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBGdWxsc2NyZWVuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ucGx5cjpmdWxsc2NyZWVuIHtcbiAgICBAaW5jbHVkZSBwbHlyLWZ1bGxzY3JlZW4tYWN0aXZlKCk7XG59XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSAqL1xuLnBseXI6LXdlYmtpdC1mdWxsLXNjcmVlbiB7XG4gICAgQGluY2x1ZGUgcGx5ci1mdWxsc2NyZWVuLWFjdGl2ZSgpO1xufVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgKi9cbi5wbHlyOi1tb3otZnVsbC1zY3JlZW4ge1xuICAgIEBpbmNsdWRlIHBseXItZnVsbHNjcmVlbi1hY3RpdmUoKTtcbn1cblxuLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lICovXG4ucGx5cjotbXMtZnVsbHNjcmVlbiB7XG4gICAgQGluY2x1ZGUgcGx5ci1mdWxsc2NyZWVuLWFjdGl2ZSgpO1xufVxuXG4vLyBGYWxsYmFjayBmb3IgdW5zdXBwb3J0ZWQgYnJvd3NlcnNcbi5wbHlyLS1mdWxsc2NyZWVuLWZhbGxiYWNrIHtcbiAgICBAaW5jbHVkZSBwbHlyLWZ1bGxzY3JlZW4tYWN0aXZlKCk7XG5cbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDEwMDAwMDAwO1xufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFkdmVydGlzbWVudHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5wbHlyX19hZHMge1xuICAgIGJvdHRvbTogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDM7IC8vIEFib3ZlIHRoZSBjb250cm9sc1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRwbHlyLWNvbG9yLWd1bm1ldGFsLCAwLjgpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgIGJvdHRvbTogJHBseXItY29udHJvbC1zcGFjaW5nO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgY29udGVudDogYXR0cihkYXRhLWJhZGdlLXRleHQpO1xuICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgIHBhZGRpbmc6IDJweCA2cHg7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAkcGx5ci1jb250cm9sLXNwYWNpbmc7XG4gICAgICAgIHotaW5kZXg6IDM7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXI6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLy8gQWR2ZXJ0aXNlbWVudCBjdWUncyBmb3IgdGhlIHByb2dyZXNzIGJhclxuLnBseXJfX2N1ZXMge1xuICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6ICRwbHlyLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbjogLSgkcGx5ci1yYW5nZS10cmFjay1oZWlnaHQgLyAyKSAwIDA7XG4gICAgb3BhY2l0eTogMC44O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB3aWR0aDogM3B4O1xuICAgIHotaW5kZXg6IDM7IC8vIEJldHdlZW4gcHJvZ3Jlc3MgYW5kIHRodW1iXG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQW5pbWF0aW9uIHV0aWxzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ucGx5ci0tbm8tdHJhbnNpdGlvbiB7XG4gICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEhpZGluZyBjb250ZW50IG5pY2VseVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQXR0cmlidXRlc1xuLnBseXItLWZ1bGwtdWkgW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wbHlyLS1mdWxsLXVpIFthcmlhLWhpZGRlbj0ndHJ1ZSddIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vLyBTY3JlZW4gcmVhZGVyIG9ubHkgZWxlbWVudHNcbi5wbHlyX19zci1vbmx5IHtcbiAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC8vICFpbXBvcnRhbnQgaXMgbm90IGFsd2F5cyBuZWVkZWRcbiAgICBAaWYgJHBseXItc3Itb25seS1pbXBvcnRhbnQge1xuICAgICAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgfVxufVxuIiwiaHRtbCxcbmJvZHkge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5oZWFkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludCgkbWF4LXMpIHtcbiAgICAuaGlkZS1tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludCgkbSkge1xuICAgIC5oaWRlLWRlc2t0b3Age1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLy9iYWNrZ3JvdW5kOiAtd2Via2l0LWltYWdlLXNldCggdXJsKCdwYXRoL3RvL2ltYWdlJykgMXgsIHVybCgncGF0aC90by9oaWdoLXJlcy1pbWFnZScpIDJ4IClcblxuYm9keSB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7IC8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvclxuXG4gICAgLy8gT3ZlcndyaXRlIGN1c3RvbSBiYWNrZ3JvdW5kIGNvbG9yIG9uIHNtYWxsIHNjcmVlbnNcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtYXgtcykge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2sgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzKSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5hIHsgY29sb3I6IGRhcmtlbigkd2hpdGUsIDE2JSk7IH1cblxuQGluY2x1ZGUgZ2xvYmFsLWJveC1zaXppbmcoYm9yZGVyLWJveCk7XG5cbiRndXR0ZXItc206IDE1cHg7XG4kZ3V0dGVyLWxnOiAyNXB4O1xuXG4kbS1jb250YWluZXI6IDc2OHB4O1xuJGwtY29udGFpbmVyOiA5OTVweDtcblxuLnZpZGVvLS1sYXRlc3Qge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG0pIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0kZ3V0dGVyLWxnO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kZ3V0dGVyLWxnO1xuICAgIH1cbn1cblxuLy8gQ29udGFpbmVyc1xuLmhlYWRlcixcbm5hdi5zZWNvbmRhcnkgdWwsXG4udmlkZW8tLXNpbmdsZSxcbi5vdXRlci13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtKSB7XG4gICAgICAgIEBpbmNsdWRlIGNvbnRhaW5lcigkbS1jb250YWluZXIpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRsKSB7XG4gICAgICAgIEBpbmNsdWRlIGNvbnRhaW5lcigkbC1jb250YWluZXIpO1xuICAgIH1cbn1cblxuLm91dGVyLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIHN0cmlwZWQtYmFyO1xuICAgIC5pcy1hcmNoaXZlICY6YmVmb3JlIHsgZGlzcGxheTogbm9uZTsgfVxufVxuXG4uZmVhdHVyZWQtcGFnZSB7XG4gICAgLy9wYWRkaW5nLWJvdHRvbTogJGd1dHRlci1sZyAqIDI7XG4gICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbSkge1xuICAgICAgICAvL3BhZGRpbmctYm90dG9tOiAkZ3V0dGVyLWxnO1xuXG4gICAgICAgICYuZmVhdHVyZWQtcGFnZS0taW1hZ2UtbGVmdCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogJGd1dHRlci1sZztcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXItbGc7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXItbGc7XG4gICAgICAgIH1cbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0kZ3V0dGVyLWxnO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kZ3V0dGVyLWxnO1xuICAgIH1cblxuICAgIC8vQGluY2x1ZGUgYnJlYWtwb2ludCgkbWF4LXMpIHsgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7IH1cblxuICAgIC5mZWF0dXJlZC1wYWdlX19saW5rIHtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICYuZmVhdHVyZWQtcGFnZS0taW1hZ2UtbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICAuZmVhdHVyZWQtcGFnZV9fdGh1bWIge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgICAgIHdpZHRoOiAxNjBweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHMpIHsgd2lkdGg6IDIwMHB4OyB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtKSB7IHdpZHRoOiAzNTEuNTAwcHg7IH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGwpIHsgd2lkdGg6IDMwNC45ODRweDsgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5mZWF0dXJlZC1wYWdlLS1pbWFnZS1mdWxsIHtcbiAgICAgICAgLmZlYXR1cmVkLXBhZ2VfX3RodW1iIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mZWF0dXJlZC1wYWdlX190aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDE1cHggMDtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zdHlsZSgkaGVhZGVyLWZvbnQsIDcwMCk7XG4gICAgICAgIGZvbnQtc2l6ZTogNDdweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQ3cHg7XG5cbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHMpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNTVweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1NXB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG0pIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNDdweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0N3B4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGwpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNTVweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1NXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZlYXR1cmVkLXBhZ2VfX2JvZHkge1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgcGFkZGluZy10b3A6IDI1cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgICYuZmVhdHVyZWQtcGFnZS0taW1hZ2UtbGVmdCAuZmVhdHVyZWQtcGFnZV9fYm9keSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1heC1zKSB7IHBhZGRpbmctcmlnaHQ6ICRndXR0ZXItbGc7IH1cbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgX292ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHpvb206IDE7XG4gICAgICAgICYuY29weSB7IG1hcmdpbi10b3A6IDA7IH1cbiAgICB9XG5cbiAgICAmLmZlYXR1cmVkLXBhZ2UtLWltYWdlLWZ1bGwgLmZlYXR1cmVkLXBhZ2VfX2JvZHkge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXItbGc7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyLWxnO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ud3JhcHBlciB7XG4gICAgcGFkZGluZzogMCAwICRndXR0ZXItbGcgMDtcbiAgICAmLmFyY2hpdmUsXG4gICAgJi50aGVtZSB7XG4gICAgICAgIEBpbmNsdWRlIHRleHR1cmUtYmFja2dyb3VuZCgpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGd1dHRlci1sZztcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGd1dHRlci1sZztcbiAgICAgICAgQGluY2x1ZGUgbGF5b3V0KDIgKDM1MXB4IDE2cHgpIGZsdWlkIGluc2lkZS1zdGF0aWMpO1xuICAgICAgICBAaW5jbHVkZSBjb250YWluZXIoNzY4cHgpO1xuICAgICAgICAud2lkZ2V0X19pdGVtcyxcbiAgICAgICAgLmFyY2hpdmVfX2l0ZW1zIHtcbiAgICAgICAgICAgIC52aWRlbyB7IEBpbmNsdWRlIGdhbGxlcnkoMSBvZiAyKTsgfVxuICAgICAgICAgICAgLnZpZGVvX190aHVtYiB7IGhlaWdodDogMTk4cHg7IH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRsKSB7XG4gICAgICAgIEBpbmNsdWRlIGxheW91dCgyICgzMDVweCAkZ3V0dGVyLXNtKSBmbHVpZCBpbnNpZGUtc3RhdGljKTtcbiAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyKDk5NXB4KTtcbiAgICAgICAgLndpZGdldF9faXRlbXMsXG4gICAgICAgIC5hcmNoaXZlX19pdGVtcyB7XG4gICAgICAgICAgICAudmlkZW8geyBAaW5jbHVkZSBnYWxsZXJ5KDEgb2YgMyk7IH1cbiAgICAgICAgICAgIC52aWRlb19fdGh1bWIgeyBoZWlnaHQ6IDE3MnB4OyB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5oZWFkZXItaW5uZXIgeyBoZWlnaHQ6IDEwMCU7IH1cblxuLndpZGdldF9faXRlbXMsXG4uYXJjaGl2ZV9faXRlbXMge1xuICAgIG1hcmdpbi1ib3R0b206IC0kZ3V0dGVyLXNtO1xuICAgIC8vcGFkZGluZy1ib3R0b206ICRndXR0ZXItbGc7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgLnZpZGVvIHsgbWFyZ2luLWJvdHRvbTogJGd1dHRlci1zbTsgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG0pIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGd1dHRlcigpICogLTE7XG4gICAgICAgIG1hcmdpbi1yaWdodDogZ3V0dGVyKCkgKiAtMTtcbiAgICB9XG59XG5cbi53aWRnZXQge1xuICAgIEBpbmNsdWRlIHRleHR1cmUtYmFja2dyb3VuZCgpO1xuXG4gICAgcGFkZGluZzogJGd1dHRlci1sZyAwO1xuICAgIC8vbWFyZ2luOiAkZ3V0dGVyLWxnIDA7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbSkge1xuICAgICAgICBwYWRkaW5nOiAkZ3V0dGVyLWxnO1xuICAgICAgICAvL21hcmdpbjogJGd1dHRlci1sZyAkZ3V0dGVyLWxnKi0xO1xuICAgICAgICBtYXJnaW46IDAgJGd1dHRlci1sZyotMTtcbiAgICB9XG5cbiAgICAmLndpZGdldC0tZmVhdHVyZWQtcGFnZSxcbiAgICAmLndpZGdldC0tbGFuZGluZyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIC8vbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYud2lkZ2V0LS1tYXJnaW4tYm90dG9tIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgaGVpZ2h0OiAkZ3V0dGVyLWxnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi53aWRnZXRfX3RpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206ICRndXR0ZXItbGc7XG4gICAgbWFyZ2luLWxlZnQ6ICRndXR0ZXItbGc7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbSkgeyBtYXJnaW4tbGVmdDogMDsgfVxufVxuXG4uc2hhZG93LWxheWVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBEZWZhdWx0IFZhcmlhYmxlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kQnJlYWtwb2ludC1TZXR0aW5nczogKFxuICAnZGVmYXVsdCBtZWRpYSc6IGFsbCxcbiAgJ2RlZmF1bHQgZmVhdHVyZSc6IG1pbi13aWR0aCxcbiAgJ2RlZmF1bHQgcGFpcic6IHdpZHRoLFxuXG4gICdmb3JjZSBhbGwgbWVkaWEgdHlwZSc6IGZhbHNlLFxuICAndG8gZW1zJzogZmFsc2UsXG4gICd0cmFuc2Zvcm0gcmVzb2x1dGlvbnMnOiB0cnVlLFxuXG4gICdubyBxdWVyaWVzJzogZmFsc2UsXG4gICdubyBxdWVyeSBmYWxsYmFja3MnOiBmYWxzZSxcblxuICAnYmFzZSBmb250IHNpemUnOiAxNnB4LFxuXG4gICdsZWdhY3kgc3ludGF4JzogZmFsc2Vcbik7XG5cbiRicmVha3BvaW50OiAoKSAhZGVmYXVsdDtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBJbXBvcnRzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgXCJicmVha3BvaW50L3NldHRpbmdzXCI7XG5AaW1wb3J0ICdicmVha3BvaW50L2NvbnRleHQnO1xuQGltcG9ydCAnYnJlYWtwb2ludC9oZWxwZXJzJztcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvcGFyc2Vycyc7XG5AaW1wb3J0ICdicmVha3BvaW50L25vLXF1ZXJ5JztcblxuQGltcG9ydCAnYnJlYWtwb2ludC9yZXNwb25kLXRvJztcblxuQGltcG9ydCBcImJyZWFrcG9pbnQvbGVnYWN5LXNldHRpbmdzXCI7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQnJlYWtwb2ludCBNaXhpblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBicmVha3BvaW50KCRxdWVyeSwgJG5vLXF1ZXJ5OiBmYWxzZSkge1xuICBAaW5jbHVkZSBsZWdhY3ktc2V0dGluZ3Mtd2FybmluZztcblxuICAvLyBSZXNldCBjb250ZXh0c1xuICBAaW5jbHVkZSBwcml2YXRlLWJyZWFrcG9pbnQtcmVzZXQtY29udGV4dHMoKTtcblxuICAkYnJlYWtwb2ludDogYnJlYWtwb2ludCgkcXVlcnksIGZhbHNlKTtcblxuICAkcXVlcnktc3RyaW5nOiBtYXAtZ2V0KCRicmVha3BvaW50LCAncXVlcnknKTtcbiAgJHF1ZXJ5LWZhbGxiYWNrOiBtYXAtZ2V0KCRicmVha3BvaW50LCAnZmFsbGJhY2snKTtcblxuICAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyOiBtYXAtZ2V0KCRicmVha3BvaW50LCAnY29udGV4dCBob2xkZXInKSAhZ2xvYmFsO1xuICAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50OiBtYXAtZ2V0KCRicmVha3BvaW50LCAncXVlcnkgY291bnQnKSAhZ2xvYmFsO1xuXG4gIC8vIEFsbG93IGZvciBhbiBhcy1uZWVkZWQgb3ZlcnJpZGUgb3IgdXNhZ2Ugb2Ygbm8gcXVlcnkgZmFsbGJhY2suXG4gIEBpZiAkbm8tcXVlcnkgIT0gZmFsc2Uge1xuICAgICRxdWVyeS1mYWxsYmFjazogJG5vLXF1ZXJ5O1xuICB9XG5cbiAgQGlmICRxdWVyeS1mYWxsYmFjayAhPSBmYWxzZSB7XG4gICAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQoJ25vLXF1ZXJ5JywgJHF1ZXJ5LWZhbGxiYWNrKTtcbiAgfVxuXG4gIC8vIFByaW50IE91dCBRdWVyeSBTdHJpbmdcbiAgQGlmIG5vdCBicmVha3BvaW50LWdldCgnbm8gcXVlcmllcycpIHtcbiAgICBAbWVkaWEgI3skcXVlcnktc3RyaW5nfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAaWYgYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpICE9IGZhbHNlIG9yIGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyaWVzJykgPT0gdHJ1ZSB7XG5cbiAgICAkdHlwZTogdHlwZS1vZihicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykpO1xuICAgICRwcmludDogZmFsc2U7XG5cbiAgICBAaWYgKCR0eXBlID09ICdib29sJykge1xuICAgICAgJHByaW50OiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoJHR5cGUgPT0gJ3N0cmluZycpIHtcbiAgICAgIEBpZiAkcXVlcnktZmFsbGJhY2sgPT0gYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpIHtcbiAgICAgICAgJHByaW50OiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAoJHR5cGUgPT0gJ2xpc3QnKSB7XG4gICAgICBAZWFjaCAkd3JhcHBlciBpbiBicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykge1xuICAgICAgICBAaWYgJHF1ZXJ5LWZhbGxiYWNrID09ICR3cmFwcGVyIHtcbiAgICAgICAgICAkcHJpbnQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBXcml0ZSBGYWxsYmFja1xuICAgIEBpZiAoJHF1ZXJ5LWZhbGxiYWNrICE9IGZhbHNlKSBhbmQgKCRwcmludCA9PSB0cnVlKSB7XG4gICAgICAkdHlwZS1mYWxsYmFjazogdHlwZS1vZigkcXVlcnktZmFsbGJhY2spO1xuXG4gICAgICBAaWYgKCR0eXBlLWZhbGxiYWNrICE9ICdib29sJykge1xuICAgICAgICAjeyRxdWVyeS1mYWxsYmFja30gJiB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgcHJpdmF0ZS1icmVha3BvaW50LXJlc2V0LWNvbnRleHRzKCk7XG59XG5cblxuQG1peGluIG1xKCRxdWVyeSwgJG5vLXF1ZXJ5OiBmYWxzZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRxdWVyeSwgJG5vLXF1ZXJ5KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIFN1c3kgQm94IFNpemluZ1xuLy8gPT09PT09PT09PT09PT09PT1cblxuLy8gR2xvYmFsIEJveCBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTZXQgYSBib3ggbW9kZWwgZ2xvYmFsbHkgb24gYWxsIGVsZW1lbnRzLlxuLy8gLSBbJGJveF06IGJvcmRlci1ib3ggfCBjb250ZW50LWJveFxuLy8gLSBbJGluaGVyaXRdOiB0cnVlIHwgZmFsc2VcbkBtaXhpbiBnbG9iYWwtYm94LXNpemluZyhcbiAgJGJveDogc3VzeS1nZXQoZ2xvYmFsLWJveC1zaXppbmcpLFxuICAkaW5oZXJpdDogZmFsc2Vcbikge1xuICAkaW5zcGVjdDogJGJveDtcblxuICBAaWYgJGluaGVyaXQge1xuICAgIEBhdC1yb290IHtcbiAgICAgICBodG1sIHsgQGluY2x1ZGUgb3V0cHV0KChib3gtc2l6aW5nOiAkYm94KSk7IH1cbiAgICAgICAqLCAqOmJlZm9yZSwgKjphZnRlciB7IGJveC1zaXppbmc6IGluaGVyaXQ7IH1cbiAgICAgfVxuICB9IEBlbHNlIHtcbiAgICAqLCAqOmJlZm9yZSwgKjphZnRlciB7IEBpbmNsdWRlIG91dHB1dCgoYm94LXNpemluZzogJGJveCkpOyB9XG4gIH1cblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QoZ2xvYmFsLWJveC1zaXppbmcsICRpbnNwZWN0KTtcbiAgQGluY2x1ZGUgdXBkYXRlLWJveC1tb2RlbCgkYm94KTtcbn1cblxuLy8gQm9yZGVyIEJveCBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG4vLyBBIGxlZ2FjeSBzaG9ydGN1dC4uLlxuLy8gLSBbJGluaGVyaXRdOiB0cnVlIHwgZmFsc2VcbkBtaXhpbiBib3JkZXItYm94LXNpemluZyhcbiAgJGluaGVyaXQ6IGZhbHNlXG4pIHtcbiAgQGluY2x1ZGUgZ2xvYmFsLWJveC1zaXppbmcoYm9yZGVyLWJveCwgJGluaGVyaXQpO1xufVxuXG4vLyBVcGRhdGUgQm94IE1vZGVsXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG4vLyBQUklWQVRFOiBVcGRhdGVzIGdsb2JhbCBib3ggbW9kZWwgc2V0dGluZ1xuQG1peGluIHVwZGF0ZS1ib3gtbW9kZWwoXG4gICRib3hcbikge1xuICBAaWYgJGJveCAhPSBzdXN5LWdldChnbG9iYWwtYm94LXNpemluZykge1xuICBAaW5jbHVkZSBzdXN5LXNldChnbG9iYWwtYm94LXNpemluZywgJGJveCk7XG4gIH1cbn1cbiIsIi8vIHJlbSBTdXBwb3J0XG4vLyA9PT09PT09PT09PVxuXG4vLyByZW1cbi8vIC0tLVxuLy8gQ2hlY2sgZm9yIGFuIGV4aXN0aW5nIHN1cHBvcnQgbWl4aW4sIG9yIG91dHB1dCBkaXJlY3RseS5cbi8vIC0gJHByb3AgIDogPGNzcyBwcm9wZXJ0eT5cbi8vIC0gJHZhbCAgIDogPGNzcyB2YWx1ZT5cbkBtaXhpbiBzdXN5LXJlbShcbiAgJHByb3AsXG4gICR2YWxcbikge1xuICAkX3JlcXM6IChcbiAgICB2YXJpYWJsZTogcmh5dGhtLXVuaXQgcmVtLXdpdGgtcHgtZmFsbGJhY2ssXG4gICAgbWl4aW46IHJlbSxcbiAgKTtcbiAgQGlmIHN1c3ktc3VwcG9ydChyZW0sICRfcmVxcywgJHdhcm46IGZhbHNlKSBhbmQgJHJoeXRobS11bml0ID09IHJlbSB7XG4gICAgQGluY2x1ZGUgcmVtKCRwcm9wLCAkdmFsKTtcbiAgfSBAZWxzZSB7XG4gICAgI3skcHJvcH06ICR2YWw7XG4gIH1cbn1cbiIsIi8vIENvbnRhaW5lciBTeW50YXhcbi8vID09PT09PT09PT09PT09PT1cblxuLy8gQ29udGFpbmVyIFttaXhpbl1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTZXQgYSBjb250YWluZXIgZWxlbWVudFxuLy8gLSBbJGxheW91dF0gIDogPHNldHRpbmdzPlxuQG1peGluIGNvbnRhaW5lcihcbiAgJGxheW91dDogJHN1c3lcbikge1xuICAkaW5zcGVjdCAgICA6ICRsYXlvdXQ7XG4gICRsYXlvdXQgICAgIDogcGFyc2UtZ3JpZCgkbGF5b3V0KTtcblxuICAkX3dpZHRoICAgICA6IGdldC1jb250YWluZXItd2lkdGgoJGxheW91dCk7XG4gICRfanVzdGlmeSAgIDogcGFyc2UtY29udGFpbmVyLXBvc2l0aW9uKHN1c3ktZ2V0KGNvbnRhaW5lci1wb3NpdGlvbiwgJGxheW91dCkpO1xuICAkX3Byb3BlcnR5ICA6IGlmKHN1c3ktZ2V0KG1hdGgsICRsYXlvdXQpID09IHN0YXRpYywgd2lkdGgsIG1heC13aWR0aCk7XG5cbiAgJF9ib3ggICAgICAgOiBzdXN5LWdldChib3gtc2l6aW5nLCAkbGF5b3V0KTtcblxuICBAaWYgJF9ib3gge1xuICAgIEBpbmNsdWRlIG91dHB1dCgoYm94LXNpemluZzogJF9ib3gpKTtcbiAgfVxuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChjb250YWluZXIsICRpbnNwZWN0KTtcbiAgQGluY2x1ZGUgZmxvYXQtY29udGFpbmVyKCRfd2lkdGgsICRfanVzdGlmeSwgJF9wcm9wZXJ0eSk7XG4gIEBpbmNsdWRlIHNob3ctZ3JpZCgkbGF5b3V0KTtcbn1cblxuLy8gQ29udGFpbmVyIFtmdW5jdGlvbl1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gY29udGFpbmVyIHdpZHRoXG4vLyAtIFskbGF5b3V0XSAgOiA8c2V0dGluZ3M+XG5AZnVuY3Rpb24gY29udGFpbmVyKFxuICAkbGF5b3V0OiAkc3VzeVxuKSB7XG4gICRsYXlvdXQ6IHBhcnNlLWdyaWQoJGxheW91dCk7XG4gIEByZXR1cm4gZ2V0LWNvbnRhaW5lci13aWR0aCgkbGF5b3V0KTtcbn1cblxuLy8gR2V0IENvbnRhaW5lciBXaWR0aFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2FsY3VsYXRlIHRoZSBjb250YWluZXIgd2lkdGhcbi8vIC0gWyRsYXlvdXRdOiA8c2V0dGluZ3M+XG5AZnVuY3Rpb24gZ2V0LWNvbnRhaW5lci13aWR0aChcbiAgJGxheW91dDogJHN1c3lcbikge1xuICAkbGF5b3V0ICAgICAgICAgOiBwYXJzZS1ncmlkKCRsYXlvdXQpO1xuICAkX3dpZHRoICAgICAgICAgOiBzdXN5LWdldChjb250YWluZXIsICRsYXlvdXQpO1xuICAkX2NvbHVtbi13aWR0aCAgOiBzdXN5LWdldChjb2x1bW4td2lkdGgsICRsYXlvdXQpO1xuICAkX21hdGggICAgICAgICAgOiBzdXN5LWdldChtYXRoLCAkbGF5b3V0KTtcblxuICBAaWYgbm90KCRfd2lkdGgpIG9yICRfd2lkdGggPT0gYXV0byB7XG4gICAgQGlmIHZhbGlkLWNvbHVtbi1tYXRoKCRfbWF0aCwgJF9jb2x1bW4td2lkdGgpIHtcbiAgICAgICRfY29sdW1ucyAgIDogc3VzeS1nZXQoY29sdW1ucywgJGxheW91dCk7XG4gICAgICAkX2d1dHRlcnMgICA6IHN1c3ktZ2V0KGd1dHRlcnMsICRsYXlvdXQpO1xuICAgICAgJF9zcHJlYWQgICAgOiBpZihpcy1zcGxpdCgkbGF5b3V0KSwgd2lkZSwgbmFycm93KTtcbiAgICAgICRfd2lkdGggICAgIDogc3VzeS1zdW0oJF9jb2x1bW5zLCAkX2d1dHRlcnMsICRfc3ByZWFkKSAqICRfY29sdW1uLXdpZHRoO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJF93aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRfd2lkdGg7XG59XG5cbi8vIFBhcnNlIENvbnRhaW5lciBQb3NpdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBQYXJzZSB0aGUgJGNvbnRhaW5lci1wb3NpdGlvbiBpbnRvIG1hcmdpbiB2YWx1ZXMuXG4vLyAtIFskanVzdGlmeV0gICA6IGxlZnQgfCBjZW50ZXIgfCByaWdodCB8IDxsZW5ndGg+IFs8bGVuZ3RoPl1cbkBmdW5jdGlvbiBwYXJzZS1jb250YWluZXItcG9zaXRpb24oXG4gICRqdXN0aWZ5OiBtYXAtZ2V0KCRzdXN5LWRlZmF1bHRzLCBjb250YWluZXItcG9zaXRpb24pXG4pIHtcbiAgJF9yZXR1cm46IGlmKCRqdXN0aWZ5ID09IGxlZnQsIDAsIGF1dG8pIGlmKCRqdXN0aWZ5ID09IHJpZ2h0LCAwLCBhdXRvKTtcblxuICBAaWYgbm90KGluZGV4KGxlZnQgcmlnaHQgY2VudGVyLCAkanVzdGlmeSkpIHtcbiAgICAkX3JldHVybjogbnRoKCRqdXN0aWZ5LCAxKTtcbiAgICAkX3JldHVybjogJF9yZXR1cm4gaWYobGVuZ3RoKCRqdXN0aWZ5KSA+IDEsIG50aCgkanVzdGlmeSwgMiksICRfcmV0dXJuKTtcbiAgfVxuXG4gIEByZXR1cm4gJF9yZXR1cm47XG59XG4iLCIvLyBTdXN5IEZhbGxiYWNrIENsZWFyZml4XG4vLyA9PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gQ2xlYXJmaXhcbi8vIC0tLS0tLS0tXG4vLyBDaGVjayBmb3IgYW4gZXhpc3Rpbmcgc3VwcG9ydCBtaXhpbiwgb3IgcHJvdmlkZSBhIHNpbXBsZSBmYWxsYmFjay5cbkBtaXhpbiBzdXN5LWNsZWFyZml4IHtcbiAgQGlmIHN1c3ktc3VwcG9ydChjbGVhcmZpeCwgKG1peGluOiBjbGVhcmZpeCkpIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfSBAZWxzZSB7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gY2xlYXJmaXgge1xuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxufVxuXG5AbWl4aW4gcmVzcG9uc2l2ZS1pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gaW1hZ2UtMngoJGltYWdlLCAkd2lkdGgsICRoZWlnaHQpIHtcbiAgICBAbWVkaWEgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMS4zKSxcbiAgICAoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi42LzIpLFxuICAgICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuMyksXG4gICAgKG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuMyksXG4gICAgKG1pbi1yZXNvbHV0aW9uOiAxLjNkcHB4KSB7XG4gICAgICAgIC8qIG9uIHJldGluYSwgdXNlIGltYWdlIHRoYXQncyBzY2FsZWQgYnkgMiAqL1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGltYWdlKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkd2lkdGggJGhlaWdodDtcbiAgICB9XG59XG5cbkBtaXhpbiBoZWFkZXItZm9udCB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udDtcbiAgICBsaW5lLWhlaWdodDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG59XG5cbkBtaXhpbiB0cnVuY2F0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG5AbWl4aW4gdGV4dHVyZS1iYWNrZ3JvdW5kKCkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Rpc3Qvc3RyaXBlLnBuZycpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgdG9wO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQ7XG4gICAgQGluY2x1ZGUgaW1hZ2UtMngoJy9kaXN0L3N0cmlwZV9AMlgucG5nJywgNHB4LCA0cHgpO1xufVxuXG5AbWl4aW4gYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgcGFkZGluZzogNnB4IDE0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG59XG5cbkBtaXhpbiByZXNldC1saXN0cyB7XG4gICAgJiA+IHVsIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgICAmID4gdWwgPiBsaSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG59XG5cbkBtaXhpbiBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDE2cHggMTBweDtcbiAgICBwYWRkaW5nOiAwLjVlbSAxMHB4O1xuICAgIHF1b3RlczogXCJcXDIwMUNcIlwiXFwyMDFEXCJcIlxcMjAxOFwiXCJcXDIwMTlcIjtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250O1xuICAgICAgICBjb250ZW50OiBvcGVuLXF1b3RlO1xuICAgICAgICBmb250LXNpemU6IDRlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDAuMWVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuMjVlbTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IC0wLjM4ZW07XG4gICAgfVxuICAgICYgcCB7IGRpc3BsYXk6IGlubGluZTsgfVxufVxuXG5AbWl4aW4gZm9udC1zdHlsZSgkZmFtaWx5LCAkd2VpZ2h0OiA0MDAsICRzdHlsZTogbm9ybWFsKSB7XG4gICAgZm9udC1mYW1pbHk6ICRmYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJHN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xufVxuXG5AbWl4aW4gY2hlY2tib3goKSB7XG4gICAgJiB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAgICR3aWR0aDogMjBweDtcbiAgICAkaGVpZ2h0OiAyMHB4O1xuICAgICR0b3A6IDRweDtcbiAgICAkbGVmdDogNHB4O1xuICAgICRtYXJrLXRoaWNrbmVzczogM3B4O1xuICAgICRtYXJrLXdpZHRoOiAxMnB4O1xuICAgICRtYXJrLWhlaWdodDogOHB4O1xuXG4gICAgJiArIGxhYmVsIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxcHg7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgd2lkdGg6ICR3aWR0aDsgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgICAgICBtYXJnaW46IDA7IHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgJjpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB3aWR0aDogJG1hcmstd2lkdGg7XG4gICAgICAgIGhlaWdodDogJG1hcmstaGVpZ2h0O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogJHRvcDtcbiAgICAgICAgbGVmdDogJGxlZnQ7XG4gICAgICAgIGJvcmRlcjogJG1hcmstdGhpY2tuZXNzIHNvbGlkICRyZWQ7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgfVxufVxuXG5AbWl4aW4gc3RyaXBlZC1iYXIoKVxue1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIEBpbmNsdWRlIHRleHR1cmUtYmFja2dyb3VuZCgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG0pIHtcbiAgICAgICAgICAgIGhlaWdodDogMzVweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIHRyaWFuZ2xlKCRzaXplLCAkY29sb3IsICRkaXJlY3Rpb24pIHtcbiAgICAkd2lkdGg6IG50aCgkc2l6ZSwgMSk7XG4gICAgJGhlaWdodDogbnRoKCRzaXplLCBsZW5ndGgoJHNpemUpKTtcbiAgICAkZm9yZWdyb3VuZC1jb2xvcjogbnRoKCRjb2xvciwgMSk7XG4gICAgJGJhY2tncm91bmQtY29sb3I6IGlmKGxlbmd0aCgkY29sb3IpID09IDIsIG50aCgkY29sb3IsIDIpLCB0cmFuc3BhcmVudCk7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHdpZHRoOiAwO1xuXG4gICAgQGlmICgkZGlyZWN0aW9uID09IHVwKSBvciAoJGRpcmVjdGlvbiA9PSBkb3duKSBvciAoJGRpcmVjdGlvbiA9PSByaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgICAgICAkd2lkdGg6ICR3aWR0aCAvIDI7XG4gICAgICAgICRoZWlnaHQ6IGlmKGxlbmd0aCgkc2l6ZSkgPiAxLCAkaGVpZ2h0LCAkaGVpZ2h0LzIpO1xuXG4gICAgICAgIEBpZiAkZGlyZWN0aW9uID09IHVwIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSByaWdodCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgICAgICAgIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGRvd24ge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICB9XG4gICAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSB1cC1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gdXAtbGVmdCkge1xuICAgICAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgICAgIEBpZiAkZGlyZWN0aW9uID09IHVwLXJpZ2h0IHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAgJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdXAtbGVmdCB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgfVxuICAgIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gZG93bi1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bi1sZWZ0KSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICAgICAgQGlmICRkaXJlY3Rpb24gPT0gZG93bi1yaWdodCB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGRvd24tbGVmdCB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgfVxuICAgIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtdXApIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcbiAgICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LWRvd24pIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkZm9yZWdyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcbiAgICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LXJpZ2h0KSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XG4gICAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1sZWZ0KSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XG4gICAgfVxufVxuIiwiLy8gU3BhbiBTeW50YXhcbi8vID09PT09PT09PT09XG5cbi8vIFNwYW4gW21peGluXVxuLy8gLS0tLS0tLS0tLS0tXG4vLyBTZXQgYSBzcGFubmluZyBlbGVtZW50IHVzaW5nIHNob3J0aGFuZCBzeW50YXguXG4vLyAtICRzcGFuICA6IDxzcGFuPlxuQG1peGluIHNwYW4oXG4gICRzcGFuXG4pIHtcbiAgJGluc3BlY3Q6ICRzcGFuO1xuICAkc3BhbjogcGFyc2Utc3Bhbigkc3Bhbik7XG4gICRvdXRwdXQ6IHNwYW4tbWF0aCgkc3Bhbik7XG4gICRuZXN0aW5nOiBzdXN5LWdldChzcGFuLCAkc3Bhbik7XG4gICRjbGVhcjogc3VzeS1nZXQoY2xlYXIsICRzcGFuKTtcblxuICAkYm94OiBzdXN5LWdldChib3gtc2l6aW5nLCAkc3Bhbik7XG4gICRjb250ZW50LWJveDogaWYoc3VzeS1nZXQoZ2xvYmFsLWJveC1zaXppbmcpICE9ICdib3JkZXItYm94JywgdHJ1ZSwgZmFsc2UpO1xuICAkYm94OiAkYm94IG9yIGlmKGlzLWluc2lkZSgkc3BhbikgYW5kICRjb250ZW50LWJveCwgYm9yZGVyLWJveCwgbnVsbCk7XG5cbiAgQGlmICRjbGVhciA9PSBicmVhayB7XG4gICAgQGluY2x1ZGUgYnJlYWs7XG4gIH0gQGVsc2UgaWYgJGNsZWFyID09IG5vYnJlYWsge1xuICAgIEBpbmNsdWRlIG5vYnJlYWs7XG4gIH1cblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3Qoc3BhbiwgJGluc3BlY3QpO1xuICBAaW5jbHVkZSBvdXRwdXQoKGJveC1zaXppbmc6ICRib3gpKTtcbiAgQGluY2x1ZGUgZmxvYXQtc3Bhbi1vdXRwdXQoJG91dHB1dC4uLik7XG5cbiAgQGlmIHZhbGlkLWNvbHVtbnMoJG5lc3RpbmcsIHNpbGVudCkge1xuICAgIEBpbmNsdWRlIG5lc3RlZCgkc3BhbikgeyBAY29udGVudDsgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBTcGFuIFtmdW5jdGlvbl1cbi8vIC0tLS0tLS0tLS0tLS0tLVxuLy8gUmV0dXJuIHRoZSB3aWR0aCBvZiBhIHNwYW4uXG4vLyAtICRzcGFuICA6IDxzcGFuPlxuQGZ1bmN0aW9uIHNwYW4oXG4gICRzcGFuXG4pIHtcbiAgQHJldHVybiBnZXQtc3Bhbi13aWR0aCgkc3Bhbik7XG59XG5cbi8vIFNwYW4gTWF0aFxuLy8gLS0tLS0tLS0tXG4vLyBHZXQgYWxsIHRoZSBzcGFuIHJlc3VsdHMuXG4vLyAtICRzcGFuOiA8bWFwPlxuQGZ1bmN0aW9uIHNwYW4tbWF0aChcbiAgJHNwYW5cbikge1xuICAkbmVzdCAgICAgICAgICAgICA6IGlmKHN1c3ktZ2V0KHJvbGUsICRzcGFuKSA9PSBuZXN0LCB0cnVlLCBmYWxzZSk7XG4gICRzcGxpdC1uZXN0ICAgICAgIDogaWYoaXMtc3BsaXQoJHNwYW4pIGFuZCAkbmVzdCwgdHJ1ZSwgZmFsc2UpO1xuICAkZWRnZSAgICAgICAgICAgICA6IGdldC1lZGdlKCRzcGFuKTtcbiAgJGxvY2F0aW9uICAgICAgICAgOiBnZXQtbG9jYXRpb24oJHNwYW4pO1xuXG4gICRmbG9hdCAgICAgICAgICAgIDogZnJvbTtcbiAgJHBhZGRpbmctYmVmb3JlICAgOiBudWxsO1xuICAkcGFkZGluZy1hZnRlciAgICA6IG51bGw7XG4gICRtYXJnaW4tYmVmb3JlICAgIDogbnVsbDtcbiAgJG1hcmdpbi1hZnRlciAgICAgOiBudWxsO1xuXG4gIC8vIGNhbGN1bGF0ZSB3aWR0aHNcbiAgJHNwcmVhZDogaW5kZXgobWFwLXZhbHVlcygkc3BhbiksIHNwcmVhZCk7XG4gICRzcGFuOiBpZigkc3BsaXQtbmVzdCBhbmQgbm90KCRzcHJlYWQpLCBtYXAtbWVyZ2UoJHNwYW4sIChzcHJlYWQ6IHdpZGUpKSwgJHNwYW4pO1xuICAkd2lkdGg6IGdldC1zcGFuLXdpZHRoKCRzcGFuKTtcbiAgJGd1dHRlcnM6IGdldC1ndXR0ZXJzKCRzcGFuKTtcblxuICAvLyBhcHBseSBndXR0ZXJzXG4gIEBpZiBpcy1pbnNpZGUoJHNwYW4pIHtcbiAgICBAaWYgbm90KHN1c3ktZ2V0KHJvbGUsICRzcGFuKSkge1xuICAgICAgJHBhZGRpbmctYmVmb3JlOiBtYXAtZ2V0KCRndXR0ZXJzLCBiZWZvcmUpO1xuICAgICAgJHBhZGRpbmctYWZ0ZXI6IG1hcC1nZXQoJGd1dHRlcnMsIGFmdGVyKTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBpZiBub3QoJHNwbGl0LW5lc3QpIHtcbiAgICAgICRtYXJnaW4tYmVmb3JlOiBtYXAtZ2V0KCRndXR0ZXJzLCBiZWZvcmUpO1xuICAgICAgJG1hcmdpbi1hZnRlcjogbWFwLWdldCgkZ3V0dGVycywgYWZ0ZXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIHNwZWNpYWwgbWFyZ2luIGhhbmRsaW5nXG4gIEBpZiBzdXN5LWdldChvdXRwdXQsICRzcGFuKSA9PSBpc29sYXRlIGFuZCAkbG9jYXRpb24ge1xuICAgICRtYXJnaW4tYmVmb3JlOiBnZXQtaXNvbGF0aW9uKCRzcGFuKTtcbiAgICAkbWFyZ2luLWFmdGVyOiAtMTAwJTtcbiAgfSBAZWxzZSBpZiAkZWRnZSB7XG4gICAgJGlzLXNwbGl0OiBpcy1zcGxpdCgkc3Bhbik7XG4gICAgJHBvczogc3VzeS1nZXQoZ3V0dGVyLXBvc2l0aW9uLCAkc3Bhbik7XG5cbiAgICBAaWYgJGVkZ2UgPT0gbGFzdCB7XG4gICAgICAkZmxvYXQ6IHN1c3ktZ2V0KGxhc3QtZmxvdywgJHNwYW4pO1xuICAgIH1cblxuICAgIEBpZiBub3QoJGlzLXNwbGl0KSB7XG4gICAgICBAaWYgJGVkZ2UgPT0gZnVsbCBvciAoJGVkZ2UgPT0gZmlyc3QgYW5kICRwb3MgPT0gYmVmb3JlKSB7XG4gICAgICAgICRtYXJnaW4tYmVmb3JlOiAwO1xuICAgICAgfVxuICAgICAgQGlmICRlZGdlID09IGZ1bGwgb3IgKCRlZGdlID09IGxhc3QgYW5kICRwb3MgPT0gYWZ0ZXIpIHtcbiAgICAgICAgJG1hcmdpbi1hZnRlcjogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gIEByZXR1cm4gKFxuICAgIHdpZHRoICAgICAgICAgICA6ICR3aWR0aCxcbiAgICBmbG9hdCAgICAgICAgICAgOiAkZmxvYXQsXG4gICAgbWFyZ2luLWJlZm9yZSAgIDogJG1hcmdpbi1iZWZvcmUsXG4gICAgbWFyZ2luLWFmdGVyICAgIDogJG1hcmdpbi1hZnRlcixcbiAgICBwYWRkaW5nLWJlZm9yZSAgOiAkcGFkZGluZy1iZWZvcmUsXG4gICAgcGFkZGluZy1hZnRlciAgIDogJHBhZGRpbmctYWZ0ZXIsXG4gICAgZmxvdyAgICAgICAgICAgIDogc3VzeS1nZXQoZmxvdywgJHNwYW4pLFxuICApO1xufVxuXG4vLyBHZXQgU3BhbiBXaWR0aFxuLy8gLS0tLS0tLS0tLS0tLS1cbi8vIFJldHVybiBzcGFuIHdpZHRoLlxuLy8gLSAkc3BhbjogPG1hcD5cbkBmdW5jdGlvbiBnZXQtc3Bhbi13aWR0aChcbiAgJHNwYW5cbikge1xuICAkc3BhbiAgICAgOiBwYXJzZS1zcGFuKCRzcGFuKTtcblxuICAkbiAgICAgICAgOiBzdXN5LWdldChzcGFuLCAkc3Bhbik7XG4gICRsb2NhdGlvbiA6IGdldC1sb2NhdGlvbigkc3Bhbik7XG4gICRjb2x1bW5zICA6IHN1c3ktZ2V0KGNvbHVtbnMsICRzcGFuKTtcbiAgJGd1dHRlcnMgIDogc3VzeS1nZXQoZ3V0dGVycywgJHNwYW4pO1xuICAkc3ByZWFkICAgOiBzdXN5LWdldChzcHJlYWQsICRzcGFuKTtcblxuICAkY29udGV4dCAgOiBudWxsO1xuICAkc3Bhbi1zdW0gOiBudWxsO1xuICAkd2lkdGggICAgOiBudWxsO1xuXG4gIEBpZiAkbiA9PSAnZnVsbCcge1xuICAgICRwb3M6IHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJHNwYW4pO1xuICAgICRyb2xlOiBzdXN5LWdldChyb2xlLCAkc3Bhbik7XG4gICAgJG46IGlmKCRwb3MgPT0gc3BsaXQgYW5kICRyb2xlICE9IG5lc3QsIHN1c3ktY291bnQoJGNvbHVtbnMpLCAxMDAlKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRuKSAhPSBudW1iZXIge1xuICAgIEB3YXJuIFwiKCN7dHlwZS1vZigkbil9KSAjeyRufSBpcyBub3QgYSB2YWxpZCBzcGFuLlwiO1xuICB9IEBlbHNlIGlmIHVuaXRsZXNzKCRuKSB7XG4gICAgJGNvbnRleHQ6IHN1c3ktc3VtKCRjb2x1bW5zLCAkZ3V0dGVycywgaWYoaXMtc3BsaXQoJHNwYW4pLCB3aWRlLCBuYXJyb3cpKTtcbiAgICAkc3ByZWFkOiBpZihpcy1pbnNpZGUoJHNwYW4pLCAkc3ByZWFkIG9yIHdpZGUsICRzcHJlYWQpO1xuICAgICRzcGFuLXN1bTogc3VzeSgkbiwgJGxvY2F0aW9uLCAkY29sdW1ucywgJGd1dHRlcnMsICRzcHJlYWQpO1xuXG4gICAgJF9tYXRoOiBzdXN5LWdldChtYXRoLCAkc3Bhbik7XG4gICAgJF9jb2x1bW4td2lkdGg6IHN1c3ktZ2V0KGNvbHVtbi13aWR0aCwgJHNwYW4pO1xuICAgIEBpZiAkX21hdGggPT0gc3RhdGljIHtcbiAgICAgICR3aWR0aDogJHNwYW4tc3VtICogdmFsaWQtY29sdW1uLW1hdGgoJF9tYXRoLCAkX2NvbHVtbi13aWR0aCk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJHNwYW4tc3VtIC8gJGNvbnRleHQpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgJHdpZHRoOiAkbjtcbiAgfVxuXG4gIEByZXR1cm4gJHdpZHRoO1xufVxuIiwiLy8gRGlyZWN0aW9uIEhlbHBlcnNcbi8vID09PT09PT09PT09PT09PT09XG5cbi8vIFN1c3kgRmxvdyBEZWZhdWx0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAtIFBSSVZBVEVcbkBpbmNsdWRlIHN1c3ktZGVmYXVsdHMoKFxuICBmbG93OiBsdHIsXG4pKTtcblxuLy8gR2V0IERpcmVjdGlvblxuLy8gLS0tLS0tLS0tLS0tLVxuLy8gUmV0dXJuIHRoZSAnZnJvbScgb3IgJ3RvJyBkaXJlY3Rpb24gb2YgYSBsdHIgb3IgcnRsIGZsb3cuXG4vLyAtIFskZmxvd10gIDogbHRyIHwgcnRsXG4vLyAtIFska2V5XSAgIDogZnJvbSB8IHRvXG5AZnVuY3Rpb24gZ2V0LWRpcmVjdGlvbihcbiAgJGZsb3c6IG1hcC1nZXQoJHN1c3ktZGVmYXVsdHMsIGZsb3cpLFxuICAka2V5OiBmcm9tXG4pIHtcbiAgJHJldHVybjogaWYoJGZsb3cgPT0gcnRsLCAoZnJvbTogcmlnaHQsIHRvOiBsZWZ0KSwgKGZyb206IGxlZnQsIHRvOiByaWdodCkpO1xuICBAcmV0dXJuIG1hcC1nZXQoJHJldHVybiwgJGtleSk7XG59XG5cbi8vIFRvXG4vLyAtLVxuLy8gUmV0dXJuIHRoZSAndG8nIGRpcmVjdGlvbiBvZiBhIGZsb3dcbi8vIC0gWyRmbG93XSAgOiBsdHIgfCBydGxcbkBmdW5jdGlvbiB0byhcbiAgJGZsb3c6IG1hcC1nZXQoJHN1c3ktZGVmYXVsdHMsIGZsb3cpXG4pIHtcbiAgQHJldHVybiBnZXQtZGlyZWN0aW9uKCRmbG93LCB0byk7XG59XG5cbi8vIEZyb21cbi8vIC0tLS1cbi8vIFJldHVybiB0aGUgJ2Zyb20nIGRpcmVjdGlvbiBvZiBhIGZsb3dcbi8vIC0gWyRmbG93XSAgOiBsdHIgfCBydGxcbkBmdW5jdGlvbiBmcm9tKFxuICAkZmxvdzogbWFwLWdldCgkc3VzeS1kZWZhdWx0cywgZmxvdylcbikge1xuICBAcmV0dXJuIGdldC1kaXJlY3Rpb24oJGZsb3csIGZyb20pO1xufVxuIiwiLy8gR3V0dGVyIFN5bnRheFxuLy8gPT09PT09PT09PT09PVxuXG5cbi8vIEd1dHRlcnNcbi8vIC0tLS0tLS1cbi8vIFNldCBndXR0ZXJzIG9uIGFuIGVsZW1lbnQuXG4vLyAtIFskc3Bhbl0gICA6IDxzZXR0aW5ncz5cbkBtaXhpbiBndXR0ZXJzKFxuICAkc3BhbjogJHN1c3lcbikge1xuICAkaW5zcGVjdCAgOiAkc3BhbjtcbiAgJHNwYW4gICAgIDogcGFyc2UtZ3V0dGVycygkc3Bhbik7XG4gICRfZ3V0dGVycyA6IGdldC1ndXR0ZXJzKCRzcGFuKTtcblxuICAkX291dHB1dDogKFxuICAgIGJlZm9yZTogbWFwLWdldCgkX2d1dHRlcnMsIGJlZm9yZSksXG4gICAgYWZ0ZXI6IG1hcC1nZXQoJF9ndXR0ZXJzLCBhZnRlciksXG4gICAgZmxvdzogc3VzeS1nZXQoZmxvdywgJHNwYW4pLFxuICApO1xuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChndXR0ZXJzLCAkaW5zcGVjdCk7XG5cbiAgQGlmIGlzLWluc2lkZSgkc3Bhbikge1xuICAgIEBpbmNsdWRlIHBhZGRpbmctb3V0cHV0KCRfb3V0cHV0Li4uKTtcbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgbWFyZ2luLW91dHB1dCgkX291dHB1dC4uLik7XG4gIH1cbn1cblxuQG1peGluIGd1dHRlcihcbiAgJHNwYW46ICRzdXN5XG4pIHtcbiAgQGluY2x1ZGUgZ3V0dGVycygkc3Bhbik7XG59XG5cblxuLy8gR3V0dGVyXG4vLyAtLS0tLS1cbi8vIFJldHVybiB0aGUgd2lkdGggb2YgYSBndXR0ZXIuXG4vLyAtIFskc3Bhbl0gICA6IDxzZXR0aW5ncz5cbkBmdW5jdGlvbiBndXR0ZXIoXG4gICRzcGFuOiAkc3VzeVxuKSB7XG4gICRzcGFuOiBwYXJzZS1ndXR0ZXJzKCRzcGFuKTtcblxuICAkX2d1dHRlcnM6IGdldC1ndXR0ZXJzKCRzcGFuKTtcbiAgJF9ndXR0ZXJzOiBtYXAtZ2V0KCRfZ3V0dGVycywgYmVmb3JlKSBvciBtYXAtZ2V0KCRfZ3V0dGVycywgYWZ0ZXIpO1xuXG4gIEByZXR1cm4gJF9ndXR0ZXJzO1xufVxuXG5AZnVuY3Rpb24gZ3V0dGVycyhcbiAgJHNwYW46ICRzdXN5XG4pIHtcbiAgQHJldHVybiBndXR0ZXIoJHNwYW4pO1xufVxuXG5cbi8vIEdldCBHdXR0ZXIgV2lkdGhcbi8vIC0tLS0tLS0tLS0tLS0tLS1cbi8vIFJldHVybiBndXR0ZXIgd2lkdGguXG4vLyAtIFskY29udGV4dF06IDxjb250ZXh0PlxuQGZ1bmN0aW9uIGdldC1ndXR0ZXItd2lkdGgoXG4gICRjb250ZXh0OiAkc3VzeVxuKSB7XG4gICRjb250ZXh0ICA6IHBhcnNlLWd1dHRlcnMoJGNvbnRleHQpO1xuXG4gICRfZ3V0dGVycyA6IHN1c3ktZ2V0KGd1dHRlcnMsICRjb250ZXh0KTtcbiAgJF9ndXR0ZXIgIDogc3VzeS1nZXQoZ3V0dGVyLW92ZXJyaWRlLCAkY29udGV4dCk7XG5cbiAgQGlmICRfZ3V0dGVycyBhbmQgKCRfZ3V0dGVycyA+IDApIGFuZCBub3QoJF9ndXR0ZXIpIHtcbiAgICAkX2NvbHVtbi13aWR0aDogc3VzeS1nZXQoY29sdW1uLXdpZHRoLCAkY29udGV4dCk7XG4gICAgJF9tYXRoOiBndXR0ZXItbWF0aCgkY29udGV4dCk7XG4gICAgQGlmICRfbWF0aCA9PSBzdGF0aWMge1xuICAgICAgJF9ndXR0ZXI6ICRfZ3V0dGVycyAqIHZhbGlkLWNvbHVtbi1tYXRoKCRfbWF0aCwgJF9jb2x1bW4td2lkdGgpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJF9jb2x1bW5zIDogc3VzeS1nZXQoY29sdW1ucywgJGNvbnRleHQpO1xuICAgICAgJF9zcHJlYWQgIDogaWYoaXMtc3BsaXQoJGNvbnRleHQpLCB3aWRlLCBzdXN5LWdldChzcHJlYWQsICRjb250ZXh0KSk7XG4gICAgICAkX2d1dHRlciAgOiBwZXJjZW50YWdlKCRfZ3V0dGVycyAvIHN1c3ktc3VtKCRfY29sdW1ucywgJF9ndXR0ZXJzLCAkX3NwcmVhZCkpO1xuICAgIH1cbiAgfVxuXG4gICRfZ3V0dGVyOiBpZigkX2d1dHRlciA9PSAnbm8tZ3V0dGVycycgb3IgJF9ndXR0ZXIgPT0gJ25vLWd1dHRlcicsIG51bGwsICRfZ3V0dGVyKTtcblxuICBAcmV0dXJuICRfZ3V0dGVyO1xufVxuXG5cbi8vIEdldCBHdXR0ZXJzXG4vLyAtLS0tLS0tLS0tLVxuLy8gUmV0dXJuIGJlZm9yZSBhbmQgYWZ0ZXIgZ3V0dGVyIHZhbHVlcy5cbi8vIC0gWyRjb250ZXh0XTogPGNvbnRleHQ+XG5AZnVuY3Rpb24gZ2V0LWd1dHRlcnMoXG4gICRjb250ZXh0OiAkc3VzeVxuKSB7XG4gICRjb250ZXh0ICAgICAgICAgICAgOiBwYXJzZS1ndXR0ZXJzKCRjb250ZXh0KTtcblxuICAkX2d1dHRlci1wb3NpdGlvbiAgIDogc3VzeS1nZXQoZ3V0dGVyLXBvc2l0aW9uLCAkY29udGV4dCk7XG4gICRfZ3V0dGVyICAgICAgICAgICAgOiBnZXQtZ3V0dGVyLXdpZHRoKCRjb250ZXh0KTtcblxuICAkX3JldHVybiAgICAgICAgICAgIDogKGJlZm9yZTogbnVsbCwgYWZ0ZXI6IG51bGwpO1xuXG4gIEBpZiBpcy1zcGxpdCgkY29udGV4dCkgYW5kICRfZ3V0dGVyIHtcbiAgICAkX2d1dHRlcjogJF9ndXR0ZXIgLyAyO1xuICAgICRfcmV0dXJuOiBtYXAtbWVyZ2UoJF9yZXR1cm4sIChiZWZvcmU6ICRfZ3V0dGVyLCBhZnRlcjogJF9ndXR0ZXIpKTtcbiAgfSBAZWxzZSB7XG4gICAgJF9yZXR1cm46IG1hcC1tZXJnZSgkX3JldHVybiwgKCRfZ3V0dGVyLXBvc2l0aW9uOiAkX2d1dHRlcikpO1xuICB9XG5cbiAgQHJldHVybiAkX3JldHVybjtcbn1cblxuXG4vLyBJcyBJbnNpZGVcbi8vIC0tLS0tLS0tLVxuLy8gUmV0dXJucyB0cnVlIGlmIGd1dHRlcnMgYXJlIGluc2lkZS5cbi8vICRjb250ZXh0OiA8Y29udGV4dD5cbkBmdW5jdGlvbiBpcy1pbnNpZGUoXG4gICRjb250ZXh0XG4pIHtcbiAgJF9pbnNpZGU6IGluc2lkZSBpbnNpZGUtc3RhdGljO1xuICAkX2d1dHRlci1wb3NpdGlvbjogc3VzeS1nZXQoZ3V0dGVyLXBvc2l0aW9uLCAkY29udGV4dCk7XG5cbiAgQHJldHVybiBpZihpbmRleCgkX2luc2lkZSwgJF9ndXR0ZXItcG9zaXRpb24pLCB0cnVlLCBmYWxzZSk7XG59XG5cblxuLy8gSXMgU3BsaXRcbi8vIC0tLS0tLS0tXG4vLyBSZXR1cm5zIHRydWUgaWYgZ3V0dGVycyBhcmUgc3BsaXQuXG4vLyAkY29udGV4dDogPGNvbnRleHQ+XG5AZnVuY3Rpb24gaXMtc3BsaXQoXG4gICRjb250ZXh0XG4pIHtcbiAgJF9zcGxpdDogc3BsaXQgaW5zaWRlIGluc2lkZS1zdGF0aWM7XG4gICRfZ3V0dGVyLXBvc2l0aW9uOiBzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRjb250ZXh0KTtcblxuICBAcmV0dXJuIGlmKGluZGV4KCRfc3BsaXQsICRfZ3V0dGVyLXBvc2l0aW9uKSwgdHJ1ZSwgZmFsc2UpO1xufVxuXG5cbi8vIEd1dHRlciBNYXRoXG4vLyAtLS0tLS0tLS0tLVxuLy8gUmV0dXJuIHRoZSBtYXRoIHRvIHVzZSBmb3IgZ3V0dGVyIGNhbGN1bGF0aW9uc1xuLy8gJGNvbnRleHQ6IDxjb250ZXh0PlxuQGZ1bmN0aW9uIGd1dHRlci1tYXRoKFxuICAkY29udGV4dDogJHN1c3lcbikge1xuICAkX3JldHVybiAgOiBzdXN5LWdldChtYXRoLCAkY29udGV4dCk7XG4gICRfcmV0dXJuICA6IGlmKHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJGNvbnRleHQpID09IGluc2lkZS1zdGF0aWMsIHN0YXRpYywgJF9yZXR1cm4pO1xuXG4gIEByZXR1cm4gJF9yZXR1cm47XG59XG4iLCIvLyBJc29sYXRpb24gU3ludGF4XG4vLyA9PT09PT09PT09PT09PT09XG5cblxuLy8gSXNvbGF0ZSBbTWl4aW5dXG4vLyAtLS0tLS0tLS0tLS0tLS1cbi8vIFNldCBpc29sYXRpb24gYXMgYW4gb3ZlcnJpZGUuXG4vLyAtICRsb2NhdGlvbjogPHNwYW4+XG5AbWl4aW4gaXNvbGF0ZShcbiAgJGlzb2xhdGU6IDFcbikge1xuICAkaW5zcGVjdDogJGlzb2xhdGU7XG5cbiAgJG91dHB1dDogKFxuICAgIHB1c2g6IGlzb2xhdGUoJGlzb2xhdGUpLFxuICAgIGZsb3c6IHN1c3ktZ2V0KGZsb3csICRpc29sYXRlKSxcbiAgKTtcblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QoaXNvbGF0ZSwgJGluc3BlY3QpO1xuICBAaW5jbHVkZSBpc29sYXRlLW91dHB1dCgkb3V0cHV0Li4uKTtcbn1cblxuXG4vLyBJc29sYXRlIFtmdW5jdGlvbl1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUmV0dXJuIGFuIGlzb2xhdGlvbiBvZmZzZXQgd2lkdGguXG4vLyAtICRsb2NhdGlvbjogPHNwYW4+XG5AZnVuY3Rpb24gaXNvbGF0ZShcbiAgJGlzb2xhdGU6IDFcbikge1xuICAkaXNvbGF0ZTogcGFyc2Utc3BhbigkaXNvbGF0ZSk7XG4gICRpc29sYXRpb246IHN1c3ktZ2V0KHNwYW4sICRpc29sYXRlKTtcblxuICBAaWYgJGlzb2xhdGlvbiBhbmQgbm90KGdldC1sb2NhdGlvbigkaXNvbGF0ZSkpIHtcbiAgICAkbmV3OiAoXG4gICAgICBzcGFuOiBudWxsLFxuICAgICAgbG9jYXRpb246ICRpc29sYXRpb24sXG4gICAgKTtcbiAgICAkaXNvbGF0ZTogbWFwLW1lcmdlKCRpc29sYXRlLCAkbmV3KTtcbiAgfVxuXG4gIEByZXR1cm4gZ2V0LWlzb2xhdGlvbigkaXNvbGF0ZSk7XG59XG5cblxuLy8gR2V0IElzb2xhdGlvblxuLy8gLS0tLS0tLS0tLS0tLVxuLy8gUmV0dXJuIHRoZSBpc29sYXRpb24gb2Zmc2V0IHdpZHRoXG4vLyAtICRpbnB1dDogPG1hcD5cbkBmdW5jdGlvbiBnZXQtaXNvbGF0aW9uKFxuICAkaW5wdXRcbikge1xuICAkbG9jYXRpb24gICA6IGdldC1sb2NhdGlvbigkaW5wdXQpO1xuICAkY29sdW1ucyAgICA6IHN1c3ktZ2V0KGNvbHVtbnMsICRpbnB1dCk7XG4gICR3aWR0aCAgICAgIDogbnVsbDtcblxuICBAaWYgdHlwZS1vZigkbG9jYXRpb24pID09IG51bWJlciBhbmQgbm90KHVuaXRsZXNzKCRsb2NhdGlvbikpIHtcbiAgICAkd2lkdGg6ICRsb2NhdGlvbjtcbiAgfSBAZWxzZSBpZiAkbG9jYXRpb24ge1xuICAgICRwdXNoOiAkbG9jYXRpb24gLSAxO1xuICAgIEBpZiAkcHVzaCA+IDAge1xuICAgICAgJHB1c2g6IG1hcC1tZXJnZSgkaW5wdXQsIChcbiAgICAgICAgc3BhbjogJHB1c2gsXG4gICAgICAgIGxvY2F0aW9uOiAxLFxuICAgICAgICBzcHJlYWQ6IHdpZGUsXG4gICAgICApKTtcbiAgICAgICR3aWR0aDogZ2V0LXNwYW4td2lkdGgoJHB1c2gpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRpbnB1dCkgPT0gc3BsaXRcbiAgICAgIGFuZCBzdXN5LWdldChndXR0ZXJzLCAkaW5wdXQpID4gMCB7XG4gICAgJHdpZHRoOiBpZigkd2lkdGggPT0gbnVsbCwgZ3V0dGVycygkaW5wdXQpLCAkd2lkdGggKyBndXR0ZXJzKCRpbnB1dCkpO1xuICB9XG5cbiAgQHJldHVybiAkd2lkdGggb3IgMDtcbn1cbiIsIi8vIEdhbGxlcnkgU3ludGF4XG4vLyA9PT09PT09PT09PT09PVxuXG4vLyBHYWxsZXJ5XG4vLyAtLS0tLS0tXG4vLyBDcmVhdGUgYW4gaXNvbGF0ZWQgZ2FsbGVyeVxuLy8gLSAkc3BhbiAgICAgICAgOiA8c3Bhbj5cbi8vIC0gWyRzZWxlY3Rvcl0gIDogY2hpbGQgfCBvZi10eXBlXG5AbWl4aW4gZ2FsbGVyeShcbiAgJHNwYW4sXG4gICRzZWxlY3RvcjogY2hpbGRcbikge1xuICAkaW5zcGVjdCAgICA6ICRzcGFuO1xuICAkc3BhbiAgICAgICA6IHBhcnNlLXNwYW4oJHNwYW4pO1xuICAkc3BhbiAgICAgICA6IG1hcC1tZXJnZSgkc3BhbiwgKGxvY2F0aW9uOiAxKSk7XG5cbiAgJG4gICAgICAgICAgICA6IHN1c3ktZ2V0KHNwYW4sICRzcGFuKTtcbiAgJGNvbHVtbnMgICAgICA6IHN1c3ktZ2V0KGNvbHVtbnMsICRzcGFuKTtcbiAgJGNvbnRleHQgICAgICA6IHN1c3ktY291bnQoJGNvbHVtbnMpO1xuICAkZmxvdyAgICAgICAgIDogc3VzeS1nZXQoZmxvdywgJHNwYW4pO1xuXG4gICRpbnNpZGUgICAgICAgOiBpcy1pbnNpZGUoJHNwYW4pO1xuICAkZnJvbSAgICAgICAgIDogZnJvbSgkZmxvdyk7XG4gICRsaW5lICAgICAgICAgOiBmbG9vcigkY29udGV4dCAvICRuKTtcbiAgJHN5bW1ldHJpY2FsICA6IGlzLXN5bW1ldHJpY2FsKCRjb2x1bW5zKTtcblxuICAkb3V0cHV0OiAoXG4gICAgd2lkdGggICAgICAgICAgICAgOiBudWxsLFxuICAgIGZsb2F0ICAgICAgICAgICAgIDogZnJvbSxcbiAgICBtYXJnaW4tYmVmb3JlICAgICA6IG51bGwsXG4gICAgbWFyZ2luLWFmdGVyICAgICAgOiBudWxsLFxuICAgIHBhZGRpbmctYmVmb3JlICAgIDogbnVsbCxcbiAgICBwYWRkaW5nLWFmdGVyICAgICA6IG51bGwsXG4gICAgZmxvdyAgICAgICAgICAgICAgOiAkZmxvdyxcbiAgKTtcblxuICBAaWYgJGluc2lkZSB7XG4gICAgJGd1dHRlcnM6IGdldC1ndXR0ZXJzKCRzcGFuKTtcbiAgICAkb3V0cHV0OiBtYXAtbWVyZ2UoJG91dHB1dCwgKFxuICAgICAgcGFkZGluZy1iZWZvcmU6IG1hcC1nZXQoJGd1dHRlcnMsIGJlZm9yZSksXG4gICAgICBwYWRkaW5nLWFmdGVyOiBtYXAtZ2V0KCRndXR0ZXJzLCBhZnRlciksXG4gICAgKSk7XG4gIH1cblxuICBAaWYgJHN5bW1ldHJpY2FsIHtcbiAgICAkb3V0cHV0OiBtYXAtbWVyZ2UoJG91dHB1dCwgKHdpZHRoOiBnZXQtc3Bhbi13aWR0aCgkc3BhbikpKTtcbiAgfVxuXG4gICRib3ggICAgICAgICAgOiBzdXN5LWdldChib3gtc2l6aW5nLCAkc3Bhbik7XG4gICRnbG9iYWwtYm94ICAgOiBpZihzdXN5LWdldChnbG9iYWwtYm94LXNpemluZykgPT0gJ2JvcmRlci1ib3gnLCB0cnVlLCBmYWxzZSk7XG5cbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KGdhbGxlcnksICRpbnNwZWN0KTtcblxuICAvLyBDb2xsZWN0aXZlIE91dHB1dFxuICBAaWYgJGJveCA9PSBib3JkZXItYm94IG9yICgkaW5zaWRlIGFuZCBub3QoJGJveCkgYW5kIG5vdCgkZ2xvYmFsLWJveCkpIHtcbiAgICBAaW5jbHVkZSBvdXRwdXQoKGJveC1zaXppbmc6IGJvcmRlci1ib3gpKTtcbiAgfSBAZWxzZSBpZiAkYm94ID09IGNvbnRlbnQtYm94IHtcbiAgICBAaW5jbHVkZSBvdXRwdXQoKGJveC1zaXppbmc6IGNvbnRlbnQtYm94KSk7XG4gIH1cblxuICBAaW5jbHVkZSBmbG9hdC1zcGFuLW91dHB1dCgkb3V0cHV0Li4uKTtcblxuICAvLyBJbmRpdmlkdWFsIExvb3BcbiAgQGZvciAkaXRlbSBmcm9tIDEgdGhyb3VnaCAkbGluZSB7XG4gICAgJG50aDogJyN7JGxpbmV9biArICN7JGl0ZW19JztcbiAgICAmOm50aC0jeyRzZWxlY3Rvcn0oI3skbnRofSkge1xuICAgICAgLy8gSW5kaXZpZHVhbCBQcmVwXG4gICAgICAkb3V0cHV0OiAoXG4gICAgICAgIHdpZHRoICAgICAgICAgICAgIDogaWYoJHN5bW1ldHJpY2FsLCBudWxsLCBnZXQtc3Bhbi13aWR0aCgkc3BhbikpLFxuICAgICAgICBmbG9hdCAgICAgICAgICAgICA6IG51bGwsXG4gICAgICAgIG1hcmdpbi1iZWZvcmUgICAgIDogZ2V0LWlzb2xhdGlvbigkc3BhbiksXG4gICAgICAgIG1hcmdpbi1hZnRlciAgICAgIDogLTEwMCUsXG4gICAgICAgIHBhZGRpbmctYmVmb3JlICAgIDogbnVsbCxcbiAgICAgICAgcGFkZGluZy1hZnRlciAgICAgOiBudWxsLFxuICAgICAgICBmbG93ICAgICAgICAgICAgICA6ICRmbG93LFxuICAgICAgKTtcblxuICAgICAgLy8gSW5kaXZpZHVhbCBPdXRwdXRcbiAgICAgIEBpbmNsdWRlIGZsb2F0LXNwYW4tb3V0cHV0KCRvdXRwdXQuLi4pO1xuXG4gICAgICBAaWYgZ2V0LWVkZ2UoJHNwYW4pID09IGZpcnN0IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWs7XG4gICAgICAgIEBpbmNsdWRlIGZpcnN0KCRzcGFuKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBub2JyZWFrO1xuICAgICAgfVxuXG4gICAgICAvLyBJbmRpdmlkdWFsIExvY2F0aW9uIEluY3JlbWVudFxuICAgICAgJGxvY2F0aW9uOiBnZXQtbG9jYXRpb24oJHNwYW4pICsgJG47XG4gICAgICAkbG9jYXRpb246IGlmKCRsb2NhdGlvbiA+ICRjb250ZXh0LCAxLCAkbG9jYXRpb24pO1xuICAgICAgJHNwYW46IG1hcC1tZXJnZSgkc3BhbiwgKGxvY2F0aW9uOiAkbG9jYXRpb24pKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFJvdyBTdGFydCAmIEVuZFxuLy8gPT09PT09PT09PT09PT09XG5cbi8vIEJyZWFrXG4vLyAtLS0tLVxuLy8gQXBwbHkgdG8gYW55IGVsZW1lbnQgdGhhdCBzaG91bGQgZm9yY2UgYSBsaW5lIGJyZWFrLlxuQG1peGluIGJyZWFrIHtcbiAgQGluY2x1ZGUgb3V0cHV0KChjbGVhcjogYm90aCkpO1xufVxuXG5cbi8vIE5vQnJlYWtcbi8vIC0tLS0tLS1cbi8vIENhbmNlbCB0aGUgYnJlYWsoKSBlZmZlY3QsIGUuZy4gd2hlbiB1c2luZyBtZWRpYSBxdWVyaWVzLlxuQG1peGluIG5vYnJlYWsge1xuICBAaW5jbHVkZSBvdXRwdXQoKGNsZWFyOiBub25lKSk7XG59XG5cblxuLy8gRnVsbFxuLy8gLS0tLVxuLy8gLSBbJGNvbnRleHRdOiA8bGF5b3V0IHNob3J0aGFuZD5cbkBtaXhpbiBmdWxsKFxuICAkY29udGV4dDogJHN1c3lcbikge1xuICAkaW5zcGVjdCA6ICRjb250ZXh0O1xuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QoZnVsbCwgJGluc3BlY3QpO1xuICBAaW5jbHVkZSBzcGFuKGZ1bGwgb2YgcGFyc2UtZ3JpZCgkY29udGV4dCkgYnJlYWspO1xufVxuXG5cbi8vIEZpcnN0XG4vLyAtLS0tLVxuLy8gLSBbJGNvbnRleHRdOiA8c2V0dGluZ3M+XG5AbWl4aW4gZmlyc3QoXG4gICRjb250ZXh0OiAkc3VzeVxuKSB7XG4gICRpbnNwZWN0ICA6ICRjb250ZXh0O1xuICAkY29udGV4dCAgOiBwYXJzZS1ncmlkKCRjb250ZXh0KTtcbiAgJGZsb3cgICAgIDogc3VzeS1nZXQoZmxvdywgJGNvbnRleHQpO1xuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChmaXJzdCwgJGluc3BlY3QpO1xuICBAaWYgbm90KGlzLXNwbGl0KCRjb250ZXh0KSkge1xuICAgIEBpbmNsdWRlIGZsb2F0LWZpcnN0KCRmbG93KTtcbiAgfVxufVxuXG5AbWl4aW4gYWxwaGEoXG4gICRjb250ZXh0OiAkc3VzeVxuKSB7XG4gIEBpbmNsdWRlIGZpcnN0KCRjb250ZXh0KTtcbn1cblxuXG4vLyBMYXN0XG4vLyAtLS0tXG4vLyAtIFskY29udGV4dF06IDxzZXR0aW5ncz5cbkBtaXhpbiBsYXN0KFxuICAkY29udGV4dDogJHN1c3lcbikge1xuICAkaW5zcGVjdCAgOiAkY29udGV4dDtcbiAgJGNvbnRleHQgIDogcGFyc2UtZ3JpZCgkY29udGV4dCk7XG5cbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KGxhc3QsICRpbnNwZWN0KTtcblxuICAkb3V0cHV0OiAoXG4gICAgZmxvdzogc3VzeS1nZXQoZmxvdywgJGNvbnRleHQpLFxuICAgIGxhc3QtZmxvdzogc3VzeS1nZXQobGFzdC1mbG93LCAkY29udGV4dCksXG4gICAgbWFyZ2luOiBpZihpcy1zcGxpdCgkY29udGV4dCksIG51bGwsIDApLFxuICApO1xuXG4gIEBpbmNsdWRlIGZsb2F0LWxhc3QoJG91dHB1dC4uLik7XG59XG5cbkBtaXhpbiBvbWVnYShcbiAgJGNvbnRleHQ6ICRzdXN5XG4pIHtcbiAgQGluY2x1ZGUgbGFzdCgkY29udGV4dCk7XG59XG5cblxuLy8gR2V0IEVkZ2Vcbi8vIC0tLS0tLS0tXG4vLyBDYWxjdWxhdGUgZWRnZSB2YWx1ZSBiYXNlZCBvbiBsb2NhdGlvbiwgaWYgcG9zc2libGVcbkBmdW5jdGlvbiBnZXQtZWRnZShcbiAgJHNwYW5cbikge1xuICAkc3BhbiAgICAgICA6IHBhcnNlLXNwYW4oJHNwYW4pO1xuICAkZWRnZSAgICAgICA6IHN1c3ktZ2V0KGVkZ2UsICRzcGFuKTtcblxuICBAaWYgbm90KCRlZGdlKSB7XG4gICAgJGNvdW50OiBzdXN5LWNvdW50KHN1c3ktZ2V0KGNvbHVtbnMsICRzcGFuKSk7XG4gICAgJGxvY2F0aW9uOiBzdXN5LWdldChsb2NhdGlvbiwgJHNwYW4pO1xuICAgICRuOiBzdXN5LWdldChzcGFuLCAkc3Bhbik7XG5cbiAgICAkbnVtYmVyOiBpZih0eXBlLW9mKCRsb2NhdGlvbikgPT0gbnVtYmVyLCB0cnVlLCBmYWxzZSk7XG4gICAgJGluZGV4OiBpZigkbnVtYmVyIGFuZCB1bml0bGVzcygkbG9jYXRpb24pLCB0cnVlLCBmYWxzZSk7XG5cbiAgICBAaWYgJG4gPT0gJGNvdW50IHtcbiAgICAgICRlZGdlOiBmdWxsO1xuICAgIH0gQGVsc2UgaWYgJGxvY2F0aW9uIGFuZCAkbiBhbmQgJGluZGV4IHtcbiAgICAgIEBpZiAkbG9jYXRpb24gPT0gMSB7XG4gICAgICAgICRlZGdlOiBpZigkbiA9PSAkY291bnQsIGZ1bGwsIGZpcnN0KTtcbiAgICAgIH0gQGVsc2UgaWYgJGxvY2F0aW9uICsgJG4gLSAxID09ICRjb3VudCB7XG4gICAgICAgICRlZGdlOiBsYXN0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkZWRnZSA9PSBhbHBoYSBvciAkZWRnZSA9PSBvbWVnYSB7XG4gICAgJGVkZ2U6IGlmKCRlZGdlID09IGFscGhhLCBmaXJzdCwgbGFzdCk7XG4gIH1cblxuICBAcmV0dXJuICRlZGdlO1xufVxuXG5cbi8vIEdldCBMb2NhdGlvblxuLy8gLS0tLS0tLS0tLS0tXG4vLyBDYWxjdWxhdGUgbG9jYXRpb24gdmFsdWUgYmFzZWQgb24gZWRnZSwgaWYgcG9zc2libGVcbkBmdW5jdGlvbiBnZXQtbG9jYXRpb24oXG4gICRzcGFuXG4pIHtcbiAgJHNwYW4gICAgICAgOiBwYXJzZS1zcGFuKCRzcGFuKTtcbiAgJGxvY2F0aW9uICAgOiBzdXN5LWdldChsb2NhdGlvbiwgJHNwYW4pO1xuICAkZWRnZSAgICAgICA6IGdldC1lZGdlKCRzcGFuKTtcbiAgJG4gICAgICAgICAgOiBzdXN5LWdldChzcGFuLCAkc3Bhbik7XG5cbiAgQGlmICRlZGdlIGFuZCBub3QoJGxvY2F0aW9uKSBhbmQgdHlwZS1vZigkbikgPT0gbnVtYmVyIGFuZCB1bml0bGVzcygkbikge1xuICAgIEBpZiAkZWRnZSA9PSBmaXJzdCB7XG4gICAgICAkbG9jYXRpb246IDE7XG4gICAgfSBAZWxzZSBpZiAkZWRnZSA9PSBsYXN0IHtcbiAgICAgICRsb2NhdGlvbjogc3VzeS1jb3VudChzdXN5LWdldChjb2x1bW5zLCAkc3BhbikpIC0gJG4gKyAxO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJGxvY2F0aW9uXG59XG4iLCIuaGVhZGVyIGEgeyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmhlYWRlciB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubmF2aWdhdGlvbi1jb250YWluZXIge1xuICAgIGhlaWdodDogNjBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWF4LXMpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZC1kYXJrICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG0pIHtcbiAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxufVxuXG5uYXYucHJpbWFyeSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA2MHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMzBweCA0MHB4IDQwcHggNDBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleTtcbiAgICB6LWluZGV4OiAxMztcbiAgICAubmF2LWlzLXZpc2libGUgJiB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgQGluY2x1ZGUgcmVzZXQtbGlzdHM7XG4gICAgbGkgeyBmbG9hdDogbm9uZTsgfVxuXG4gICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBsaW5lLWhlaWdodDogNDZweDtcbiAgICAgICAgaGVpZ2h0OiA0NnB4O1xuICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc3R5bGUoJGhlYWRlci1mb250LCA1MDApO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtKSB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAvL2JhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQgYSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmFjdGl2ZSBhIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgY3VycmVudENvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICAgICAgICAgIGhlaWdodDogMzVweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDhweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRsKSB7XG4gICAgICAgIGEgeyBtYXJnaW46IDAgMTBweDsgfVxuICAgIH1cbn1cblxuLmhlYWRlcl9fYnJhbmRpbmcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IC8vIGNlbnRlciBMdWNreVRWIGxvZ28gb24gc21hbGwgc2NyZWVuc1xuICAgIHBhZGRpbmctdG9wOiAyOXB4O1xuICAgIGhlaWdodDogMTA1cHg7XG4gICAgYmFja2dyb3VuZDogJHJlZDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzMnB4O1xuICAgICAgICBoZWlnaHQ6IDEyNXB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAvL21pbi1oZWlnaHQ6IDEwNXB4O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIC5oZWFkZXJfX2xpbmsgeyBsaW5lLWhlaWdodDogMDsgfVxuICAgIH1cbn1cblxuLmhlYWRlcl9faW1hZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDc2OHB4O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGwpIHtcbiAgICAgICAgd2lkdGg6IDk5NXB4O1xuICAgIH1cbn1cblxuLmhlYWRlcl9fbG9nbyxcbi5oZWFkZXJfX2xvZ28yIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLmhlYWRlcl9fbG9nbyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBoZWlnaHQ6IDM4cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHMpIHtcbiAgICAgICAgaGVpZ2h0OiA2NHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG0pIHtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLmhlYWRlcl9fbG9nbzIge1xuICAgIGhlaWdodDogNDRweDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzKSB7XG4gICAgICAgIGhlaWdodDogNThweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbSkge1xuICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDFweDtcbiAgICB9XG4gICAgbWFyZ2luLXRvcDogMnB4O1xufVxuXG4vLyBIYW1idXJnZXJcbi5uYXYtdG9nZ2xlLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtKSB7XG4gICAgICAgIHRvcDogOHB4O1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLm5hdi10b2dnbGUsXG4uc2VhcmNoLXRvZ2dsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiA1NnB4O1xuICAgIGhlaWdodDogNjBweDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ubmF2LXRvZ2dsZSB7XG4gICAgLm5hdi1pcy12aXNpYmxlICYgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleTsgfVxuICAgIHNwYW4sXG4gICAgc3Bhbjo6YmVmb3JlLFxuICAgIHNwYW46OmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIH1cbiAgICBzcGFuIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgfVxuICAgIHNwYW46OmJlZm9yZSwgc3Bhbjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICAgICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMCUgNTAlO1xuICAgIH1cbiAgICBzcGFuOjpiZWZvcmUge1xuICAgICAgICB0b3A6IC02cHg7XG4gICAgfVxuICAgIHNwYW46OmFmdGVyIHtcbiAgICAgICAgdG9wOiA2cHg7XG4gICAgfVxuICAgIGJvZHkubmF2LWlzLXZpc2libGUgJiB7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDApO1xuICAgICAgICB9XG4gICAgICAgIHNwYW46OmJlZm9yZSwgc3Bhbjo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDEpO1xuICAgICAgICB9XG4gICAgICAgIHNwYW46OmJlZm9yZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KSB0cmFuc2xhdGVZKC0zcHgpIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIH1cbiAgICAgICAgc3Bhbjo6YWZ0ZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCkgdHJhbnNsYXRlWSgycHgpIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBEcm9wZG93biBUT0RPXG4kbmF2LWFjdGl2ZTogbGlnaHRlbigkcmVkLCA1JSk7XG5AaW5jbHVkZSBicmVha3BvaW50KCRtKSB7XG4gICAgbmF2LnNlY3VuZGFyeSB7XG4gICAgICAgIHVsIGxpLmhhcy1jaGlsZHJlbjpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6ICRuYXYtYWN0aXZlOyB9XG4gICAgICAgIHVsIGxpLmhhcy1jaGlsZHJlbiA+IGEge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgLy9AaW5jbHVkZSB0cmlhbmdsZSgxMnB4LCB3aGl0ZSwgZG93bik7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTFweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB1bCB1bCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRyZWQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgICAgIHVsIHVsIGxpIHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgICB9XG4gICAgICAgIHVsIHVsIGEge1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi1hY3RpdmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTIwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICAgICAgfVxuICAgICAgICB1bCB1bCB1bCB7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAxMDAlXG4gICAgICAgIH1cbiAgICAgICAgdWwgbGk6aG92ZXIgPiB1bCB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgfVxufVxuXG5saS5uYXZpZ2F0aW9uX19mYWNlYm9vayxcbmxpLm5hdmlnYXRpb25fX3R3aXR0ZXIge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1heC1zKSB7IGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbn1cblxuLm5hdmlnYXRpb25fX2ZhY2Vib29rIGEsXG4ubmF2aWdhdGlvbl9fdHdpdHRlciBhIHtcbiAgICB3aWR0aDogMThweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICB0ZXh0LXJlbmRlcmluZzogZ2VvbWV0cmljUHJlY2lzaW9uO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxufVxuXG4ubmF2aWdhdGlvbl9fdHdpdHRlciBhIHtcbiAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbn1cblxuLm5hdmlnYXRpb25fX2ZhY2Vib29rIGE6YmVmb3JlIHsgY29udGVudDogJ1xcZjIzMCc7IH1cbi5uYXZpZ2F0aW9uX190d2l0dGVyIGE6YmVmb3JlIHsgY29udGVudDogJ1xcZjA5OSc7IH1cbmxpLndoYXRzYXBwIHtcbiAgICBhIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyNWQzNjY7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgLy8gTm8gaG92ZXIgb24gdG91Y2hcbiAgICAgICAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCMyNWQzNjYsIDEwJSk7XG4gICAgICAgIH1cbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAuZmEge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogNXB4O1xuICAgICAgICAgICAgdG9wOiAxcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJcbi8vIE5vdGU6IGNvbmZsaWN0IHdpdGggTW9kZXJuaXpyIGNsYXNzZXMgb24gcm9vdCB0YWdcbmFydGljbGUudmlkZW8sXG5hcnRpY2xlLmNvbHVtbiB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmLnZpZGVvLS1zaW5nbGUsXG4gICAgJi52aWRlby0tbGF0ZXN0IHtcbiAgICAgICAgLy8gT24gYWxsIHNjcmVlbnMgdGhlIHNpbmdsZSBhbmQgbGF0ZXN0IG5lZWQgdG8gaGF2ZSBhIHRyYW5zcGFyZW50IGJhY2tnb3VuZFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWF4LXMpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtKSB7XG4gICAgICAgIC8vIE9uIGRlc2t0b3AgdmVyc2lvbiB0aGUgYmFja2dyb3VuZCBuZWVkcyB0byBiZSB0cmFuc3BhcmVudFxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAmID4gLnZpZGVvX19pbm5lciB7XG4gICAgICAgIC8vIElubmVyIHJlbGF0aXZlIGNvbnRhaW5lciB0byBwb3NpdGlvbiB0aGUgbWV0YSBjb250YWluZXJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi52aWRlby0tbGF0ZXN0LFxuLnZpZGVvLS1zaW5nbGUge1xuICAgIC8vbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICAvL3BhZGRpbmctYm90dG9tOiAzNXB4O1xuICAgIC8vIFdoeSBpcyB0aGUgY29sb3Igb2YgaGVhZGVyIGJsZWVkaW5nIGluIHRoaXMgZWxlbWVudCA+IG9ubHkgb255IG1vYmlsZSB2ZXJzaW9uXG59XG5cbi52aWRlby0tbGF0ZXN0IHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIC8vYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICB9XG59XG5cbmltZy52aWRlb19fdGh1bWIsXG5pbWcuY29sdW1uX190aHVtYiB7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbWFnZTtcbiAgICB3aWR0aDogMTYwcHg7XG4gICAgaGVpZ2h0OiA5MHB4O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzKSB7XG4gICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgaGVpZ2h0OiAxMTJweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbSkge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgLnZpZGVvLS1sYXRlc3QgJiB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuXG4udmlkZW9fX21ldGEsXG4uY29sdW1uX19tZXRhIHtcbiAgICBwYWRkaW5nOiA4cHggMTBweDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIC8vYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkYmxhY2ssIHJnYmEoJGJsYWNrLCAwLjMpIDEwMCUpO1xuICAgIH1cbiAgICAudmlkZW8tLWxhdGVzdCAmLFxuICAgIC52aWRlby0tc2luZ2xlICYge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgfVxuXG4gICAgLnZpZGVvLS1sYXRlc3QgJiB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG0pIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMjVweCAyNXB4IDI1cHg7XG4gICAgICAgICAgICAudmlkZW9fX2RhdGUgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAgICAgICAudmlkZW9fX3RpdGxlIHsgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudmlkZW8tLXNpbmdsZSAmIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbSkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDI1cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi52aWRlb19fY2xhbXBlZC10aXRsZS1jb250YWluZXIgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1heC1oZWlnaHQ6IDUycHg7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkcykge1xuICAgICAgICBtYXgtaGVpZ2h0OiA2OHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzRweDtcbiAgICB9XG59XG5cbi52aWRlb19fdGl0bGUsXG4uY29sdW1uX190aXRsZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaW5jbHVkZSBmb250LXN0eWxlKCRoZWFkZXItZm9udCwgNzAwKTtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgY29sb3I6ICR3aGl0ZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHMpIHsgZm9udC1zaXplOiAzMnB4OyB9IC8vIGlQaG9uZSA2XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgLnZpZGVvLS1sYXRlc3QgJiB7IHdpZHRoOiA2NiU7IH1cbiAgICB9XG5cbiAgICAudmlkZW8tLWxhdGVzdCAmLFxuICAgIC52aWRlby0tc2luZ2xlICYge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAvL2ZvbnQtd2VpZ2h0OiA3MDA7IC8vIEV2ZXJ5dGhpbmcgc2VtaWJvbGRcbiAgICAgICAgZm9udC1zaXplOiA0N3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogNDdweDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLXMpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNTVweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1NXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4udmlkZW9fX2RhdGUsXG4uY29sdW1uX19kYXRlIHtcbiAgICBAaW5jbHVkZSBmb250LXN0eWxlKCRoZWFkZXItZm9udCwgNDAwKTtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbSkge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGNvbG9yOiAkZ3JleS1tZWRpdW07XG4gICAgfVxuICAgIC52aWRlby0tbGF0ZXN0ICYsXG4gICAgLnZpZGVvLS1zaW5nbGUgJiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMjBweCAwO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtKSB7IGZvbnQtc2l6ZTogMzBweDsgfVxuXG4gICAgfVxufVxuXG4udmlkZW9fX3RodW1iLWxpbmssXG4uY29sdW1uX190aHVtYi1saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBvdXRsaW5lOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG0pIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgdG9wOiAwOyBsZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoJy9kaXN0L2dyYWRpZW50MV9AMlgucG5nJykgcmVwZWF0LXggbGVmdCBib3R0b207XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnZpZGVvLS1sYXRlc3Qge1xuICAgIC8vIExhdGVzdCB2aWRlbyBoYXMgYSBkaWZmZXJlbnQgdGh1bWItbGluayAoY3JvcHBpbmcpXG4gICAgLnZpZGVvX190aHVtYi1saW5rIHtcbiAgICAgICAgLy8gT24gbGFyZ2VyIHNjcmVlbnMgdGh1bWJuYWlsIG11c3QgYmUgY3V0LW9mZlxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtKSB7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgaGVpZ2h0OiAzMDBweDtcbiAgICAgICAgICAgIGltZy52aWRlb19fdGh1bWIge1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTE5N3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjphZnRlciB7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCgnL2Rpc3QvZ3JhZGllbnQyX0AyWC5wbmcnKSBuby1yZXBlYXQgbGVmdCBib3R0b207IH1cbiAgICAgICAgfVxuICAgICAgICAvLyBDaGVjayBwb3NpdGlvbmluZ1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRsKSB7XG4gICAgICAgICAgICBpbWcudmlkZW9fX3RodW1iIHsgbWFyZ2luLXRvcDogLTI3M3B4OyB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi52aWRlb19fcGxheS1idXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGhlaWdodDogMTAwcHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtNTBweDtcbiAgICBtYXJnaW4tdG9wOiAtNTBweDtcbiAgICAvLyBTaG93IGZhdXggcGxheSBidXR0b24gb25seSBvbiBsYXJnZSBzY3JlZW5zXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLndpZGdldF9fdGl0bGUsXG4ubW9yZS1saW5rIHtcbiAgICBAaW5jbHVkZSBmb250LXN0eWxlKCRoZWFkZXItZm9udCwgNTAwKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHBhZGRpbmc6IDFweCAxMHB4IDAgMTBweDtcbiAgICBsaW5lLWhlaWdodDogMzRweDtcbiAgICBoZWlnaHQ6IDM0cHg7XG4gICAgbWFyZ2luLWxlZnQ6ICRndXR0ZXItbGc7XG5cbiAgICAvLyBPdmVyd3JpdGUgdGhlIGN1c3RvbSBjb2xvcnMgb24gc21hbGwgc2NyZWVuc1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1heC1zKSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcmVkOyAvLyBEZWZhdWx0IGNvbG9yIG9uIGRlc2t0b3AgZGlmZmVyZW50IGZyb20gc21hbGwgc2NyZWVuc1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKDEycHgsIGN1cnJlbnRDb2xvciwgcmlnaHQpO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gVE9ETyByZW1vdmVcbi53aWRnZXRfX21vcmUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiAtJGd1dHRlci1zbS8yO1xuICAgIEBpbmNsdWRlIGJ1dHRvbjtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgfVxufVxuXG4vLyBVdGlsaXR5IGNsYXNzIHRvIHByZXZlbnQgd29yZCBicmVhayBvZmZcbnNwYW4ubm93cmFwIHsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuIiwiZmlndXJlLndwLWNhcHRpb24ge1xuICAgIG1hcmdpbjogMCAxNXB4IDAgMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaW1nLFxuICAgIGEge1xuICAgICAgICBtYXJnaW46IDA7IHBhZGRpbmc6IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIH1cbiAgICBmaWdjYXB0aW9uLndwLWNhcHRpb24tdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgYmxhY2ssIHRyYW5zcGFyZW50KTtcbiAgICB9XG59XG4iLCIudmlkZW8tLXNpbmdsZSAubWVqcy1jb250YWluZXIge1xuICAgIG91dGxpbmU6IDA7XG4gICAgKiB7IG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDsgfVxufVxuXG4uY29sdW1uLS1zaW5nbGUge1xuICAgIG1hcmdpbi1ib3R0b206ICRndXR0ZXItc207XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbSkge1xuICAgICAgICAmLmNvbHVtbi0tcG9ydHJhaXQge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAzMzFweDsgLy8gb3JpZ2luYWwgd2lkdGggb2YgcG9ydHJhaXQgY29sdW1uc1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi52aWRlby0tc2luZ2xlIC52aWRlb19fbWV0YSxcbi5jb2x1bW4tLXNpbmdsZSAuY29sdW1uX19tZXRhIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtYXgtcykgeyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9XG4gICAgY29sb3I6ICRncmV5LW1lZGl1bTtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAuY29weSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxufVxuXG4udmlkZW9fX3NvY2lhbCxcbi5jb2x1bW5fX3NvY2lhbCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgQGluY2x1ZGUgcmVzZXQtbGlzdHM7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuXG4gICAgdWwge1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGxpIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIC8qJi5mYixcbiAgICAgICAgJi50d2l0dGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDJweCAwO1xuICAgICAgICB9Ki9cblxuICAgICAgICAmLnl0IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkZ3V0dGVyLXNtICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRndXR0ZXItc20vMiAhaW1wb3J0YW50O1xuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy9saS5mYiB7IG1pbi13aWR0aDogMTYwcHg7IH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG0pIHtcbiAgICAgICAgbGkud2hhdHNhcHAgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgfVxuXG59XG5cblxuIiwiLmFyY2hpdmUtZmlsdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogMjAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbSkge1xuICAgICAgICB0b3A6IDEwMHB4O1xuICAgICAgICBib3R0b206IDEwMHB4O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgd2lkdGg6ICRtLWNvbnRhaW5lciAtIDQwO1xuICAgICAgICBtYXJnaW4tbGVmdDogKCRtLWNvbnRhaW5lciAtIDQwKS8yICogLTE7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC41KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGwpIHtcbiAgICAgICAgd2lkdGg6ICRsLWNvbnRhaW5lciAtIDQwO1xuICAgICAgICBtYXJnaW4tbGVmdDogKCRsLWNvbnRhaW5lciAtIDQwKS8yICogLTE7XG4gICAgfVxuXG4gICAgLmZpbHRlci1pcy12aXNpYmxlICYgeyBkaXNwbGF5OiBibG9jazsgfVxuICAgICYgPiAuYXJjaGl2ZS1maWx0ZXJfX2lubmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXk7XG4gICAgICAgIC8vYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAwLjcpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICAgIC5hcmNoaXZlLWZpbHRlcl9faGVhZGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc3R5bGUoJGhlYWRlci1mb250LCA3MDApO1xuICAgICAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDgwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYXJjaGl2ZS1maWx0ZXJfX2Nsb3NlIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICB0b3A6IDE2cHg7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICB9XG5cbiAgICAuYXJjaGl2ZS1maWx0ZXJfX2l0ZW1zIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDgwcHg7XG4gICAgICAgIGJvdHRvbTogODBweDtcbiAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgfVxuXG4gICAgLmFyY2hpdmUtZmlsdGVyX19hY3Rpb25zIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmV5O1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICB9XG59XG5cbi5maWx0ZXItaXMtdmlzaWJsZSAuc2hhZG93LWxheWVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuYm9keS5maWx0ZXItaXMtdmlzaWJsZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnF1ZXJ5IHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBwYWRkaW5nOiAxNXB4IDI1cHggMCAyNXB4O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG0pIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAvL3BhZGRpbmctbGVmdDogNy41cHg7XG4gICAgICAgIC8vcGFkZGluZy1yaWdodDogNy41cHg7XG4gICAgfVxufVxuXG4uY29udHJvbHMge1xuICAgIEBpbmNsdWRlIHJlc2V0LWxpc3RzO1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAyNXB4O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG0pIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAvL3BhZGRpbmctbGVmdDogNy41cHg7XG4gICAgICAgIC8vcGFkZGluZy1yaWdodDogNy41cHg7XG4gICAgfVxuICAgICYgPiB1bCB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgLy8mLmNvbnRyb2xzX19zb3J0aW5nIHsgZmxvYXQ6IGxlZnQ7IH1cbiAgICB9XG4gICAgJiA+IHVsID4gbGkge1xuICAgICAgICBAaW5jbHVkZSByZXNldC1saXN0czsgLy8gZHJvcGRvd25zXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGdyZXk7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAwLjcpO1xuICAgICAgICB9XG4gICAgICAgIHVsIGxpIHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgICB9XG4gICAgICAgIC5zb3J0LWlzLXZpc2libGUgJiA+IHVsIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgICB9XG5cbiAgICAmID4gdWwgPiBsaSA+IGEsXG4gICAgJiA+IHVsID4gbGkgPiB1bCA+IGxpLnNvcnQtY29udHJvbCBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMCAxNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgaGVpZ2h0OjMwcHg7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc3R5bGUoJGhlYWRlci1mb250LCA1MDApO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgICAmID4gdWwgPiBsaSA+IHVsID4gbGkuc29ydC1jb250cm9sIGEge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAgICYuaXMtc29ydGVkLFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JleTtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogJGdyZXktbWVkaXVtOyB9XG4gICAgICAgICYuaXMtc29ydGVkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYgPiB1bCA+IGxpID4gYSB7XG4gICAgICAgICYudG9nZ2xlLXNvcnQge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJpYW5nbGUoMTJweCwgY3VycmVudENvbG9yLCBkb3duKTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZpbHRlci1pcy12aXNpYmxlICYudG9nZ2xlLWZpbHRlcixcbiAgICAgICAgLnNvcnQtaXMtdmlzaWJsZSAmLnRvZ2dsZS1zb3J0IHtcbiAgICAgICAgICAgIC8vIFByb2JsZW06IGNhbm5vdCBnZXQgYnV0dG9uIGluIGZyb250IHdoZW4gdXNpbmcgc2hhZG93IGxheWVyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JleTtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLnF1ZXJ5X19pdGVtIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbWFyZ2luOiAxMHB4IDEwcHggMCAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBwYWRkaW5nOiAxcHggMTBweCAwIDEwcHg7XG4gICAgQGluY2x1ZGUgZm9udC1zdHlsZSgkaGVhZGVyLWZvbnQsIDUwMCk7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICBAaW5jbHVkZSB0cnVuY2F0ZSgpO1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgIC8vIENsb3NlIGJ1dHRvbiBvbiB0YWdcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBjb250ZW50OiBcIlxcMDBkN1wiO1xuICAgICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cbn1cblxuLnBhZ2luYXRpb24ge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIG1hcmdpbjogMTBweCAwO1xuICAgIC5wcmV2LFxuICAgIC5uZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uO1xuICAgIH1cblxuICAgIC5wcmV2IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLm5leHQge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxufVxuXG4uYXJjaGl2ZV9fZmFjZXQtdGl0bGUge1xuICAgIEBpbmNsdWRlIGZvbnQtc3R5bGUoJGhlYWRlci1mb250LCA1MDApO1xuICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICAgIGhlaWdodDogNTBweDtcbiAgICBmb250LXNpemU6IDI2cHg7XG4gICAgbWFyZ2luOiAwIDAgMTBweCAwO1xufVxuXG4uYXJjaGl2ZV9fZmFjZXQtbGlzdCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLmFyY2hpdmVfX2ZhY2V0LWl0ZW0ge1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIC5jYi1sYWJlbCB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDNweDtcbiAgICB9XG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgICAgQGluY2x1ZGUgY2hlY2tib3goKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtKSB7XG4gICAgICAgIEBpbmNsdWRlIGdhbGxlcnkoNiBvZiAxOCk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRsKSB7XG4gICAgICAgIEBpbmNsdWRlIGdhbGxlcnkoOCBvZiAyNCk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLmFyY2hpdmVfX2Zvcm0ge1xuICAgIGJ1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICR3aGl0ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMXB4O1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBwYWRkaW5nOiA4cHggMjJweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDZweDtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zdHlsZSgkaGVhZGVyLWZvbnQsIDUwMCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBjb2xvcjogJGdyZXk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5sb2FkaW5nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBpbWcge1xuICAgICAgICBtYXJnaW46ICRndXR0ZXItbGcgMCAwIDA7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG0pIHsgaGVpZ2h0OiA2NHB4OyB9XG4gICAgfVxufVxuXG4ubm8tcmVzdWx0cyB7XG4gICAgbWFyZ2luOiAkZ3V0dGVyLWxnO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgQGluY2x1ZGUgZm9udC1zdHlsZSgkaGVhZGVyLWZvbnQsIDcwMCk7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBmb250LXNpemU6IDI2cHg7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgZm9udC1zaXplOiAzNnB4O1xuICAgIH1cbn1cblxuLnJlc3VsdC1jb3VudCB7XG4gICAgQGluY2x1ZGUgZm9udC1zdHlsZSgkaGVhZGVyLWZvbnQsIDUwMCk7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgYmFja2dyb3VuZDogJGdyZXk7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDFweCAxMHB4IDAgMTBweDtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG59XG4iLCIuY292ZXItaW1hZ2VfX2NvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbSkge1xuICAgICAgICBAaW5jbHVkZSBjb250YWluZXIoNzY4cHgpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRsKSB7XG4gICAgICAgIEBpbmNsdWRlIGNvbnRhaW5lcig5OTVweCk7XG4gICAgfVxufVxuXG4uY292ZXItaW1hZ2VfX2ltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cbi5jb3Zlci1pbWFnZV9fdGl0bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMjBweCAyMHB4IDAgMjBweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIEBpbmNsdWRlIGZvbnQtc3R5bGUoJGhlYWRlci1mb250LCA3MDApO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC1zaXplOiA0N3B4O1xuICAgIGxpbmUtaGVpZ2h0OiA0N3B4O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1zKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNTVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDU1cHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG0pIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7IGxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbjogMjVweDtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICB9XG59XG5cbi5jb3B5IHtcbiAgICBtYXJnaW46IDAgMjBweDtcbiAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG4gICAgcCxcbiAgICBsaSB7XG4gICAgICAgIG1hcmdpbjogMTVweCAwO1xuICAgICAgICBjb2xvcjogJGdyZXktbWVkaXVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMTYwJTtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtKSB7IGZvbnQtc2l6ZTogMTRweDsgfVxuICAgICAgICAmOmZpcnN0LWNoaWxkIHsgbWFyZ2luLXRvcDogMDsgfVxuICAgICAgICAmOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgfVxuXG4gICAgdWwsXG4gICAgb2wge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgfVxuXG4gICAgLndyYXBwZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogLSRndXR0ZXItbGc7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLSRndXR0ZXItbGc7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cblxuICAgIGgxIHsgZm9udC1zaXplOiA1NXB4OyB9XG4gICAgaDIgeyBmb250LXNpemU6IDI4cHg7IH1cbiAgICBoMSxcbiAgICBoMixcbiAgICBoMyxcbiAgICBoNCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDE1cHggMDtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zdHlsZSgkaGVhZGVyLWZvbnQsIDYwMCk7XG4gICAgfVxuICAgIGJsb2NrcXVvdGUgeyBAaW5jbHVkZSBibG9ja3F1b3RlOyB9XG59XG5cblxuLmNvbnRhY3QtZm9ybSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAuY29udGFjdC1mb3JtX19lcnJvciB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBtYXJnaW46IDAgMCAxMHB4IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICRyZWQ7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbSkgeyBmb250LXNpemU6IDE0cHg7IH1cbiAgICB9XG5cbiAgICBwIHsgbWFyZ2luOiAxNXB4IDAgMjVweCAwOyB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbSkge1xuICAgICAgICB3aWR0aDogNDAwcHg7XG4gICAgfVxuICAgIG1hcmdpbjogMTBweCAwIDI1cHggMDtcbiAgICBsYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBAaW5jbHVkZSBmb250LXN0eWxlKCRoZWFkZXItZm9udCwgNjAwKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgIH1cblxuICAgIGlucHV0LFxuICAgIHRleHRhcmVhIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIHRleHRhcmVhIHtcbiAgICAgICAgcmVzaXplOiBub25lO1xuICAgICAgICBoZWlnaHQ6IDEyMHB4O1xuICAgIH1cblxuICAgIC5mb3JtLWdyb3VwIHsgbWFyZ2luOiAyMHB4IDA7IH1cblxuICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBwYWRkaW5nOiAxcHggMTBweCAwIDEwcHg7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBAaW5jbHVkZSBmb250LXN0eWxlKCRoZWFkZXItZm9udCwgNTAwKTtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzRweDtcbiAgICAgICAgaGVpZ2h0OiAzNHB4O1xuICAgIH1cblxuICAgIC5jb250YWN0LWZvcm1fX2NhcHRjaGEtY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIGltZywgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cbiAgICAgICAgaW1nIHsgbWFyZ2luLXJpZ2h0OiAxNXB4OyB9XG4gICAgICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHsgd2lkdGg6IDE1MHB4OyB9XG4gICAgfVxuXG59XG5cbiIsImlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi1tcy1jbGVhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNlYXJjaC10b2dnbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogMTAxO1xufVxuXG4uc2VhcmNoLXRvZ2dsZSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtKSB7XG4gICAgICAgIGhlaWdodDogMzVweDtcbiAgICAgICAgd2lkdGg6IDM1cHg7XG4gICAgfVxuXG4gICAgLnNlYXJjaC1pcy12aXNpYmxlICYgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleTsgfVxuXG4gICAgJjo6YmVmb3JlLCAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICAgICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIHRleHQtcmVuZGVyaW5nOiBnZW9tZXRyaWNQcmVjaXNpb247XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxmMDAyXCI7XG5cbiAgICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWF4LXMpIHsgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O31cbiAgICAgICAgLy93aWR0aDogMjhweDsgaGVpZ2h0OiAyOHB4O1xuICAgICAgICB0b3A6IDUwJTsgbGVmdDogNTAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMTVweDsgbWFyZ2luLWxlZnQ6IC0xM3B4O1xuICAgICAgICAvL2JhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCgnL2Rpc3Qvc2VhcmNoLnN2ZycpIG5vLXJlcGVhdDtcbiAgICAgICAgLy9iYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG0pIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICAgIC8vMjB4MjJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xM3B4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc3BhbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgICBzcGFuOjpiZWZvcmUsIHNwYW46OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTFweDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICAgICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbSkge1xuICAgICAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtOXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc3Bhbjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIH1cbiAgICBzcGFuOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgfVxuXG4gICAgLnNlYXJjaC1pcy12aXNpYmxlICYge1xuICAgICAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICAgICAgc3Bhbjo6YmVmb3JlLCBzcGFuOjphZnRlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICAgIHNwYW46OmJlZm9yZSB7IHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7IH1cbiAgICAgICAgc3Bhbjo6YWZ0ZXIgeyB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cbiAgICB9XG59XG5cbi5zZWFyY2gge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLnNlYXJjaC1pcy12aXNpYmxlICYgeyBkaXNwbGF5OiBibG9jazsgfVxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogJGdyZXk7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB6LWluZGV4OiAxMztcbiAgICAvL2JveC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKCRibGFjaywgMC43KTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtKSB7XG4gICAgICAgIC8vIEdldCBjb250YWluZXIgd2lkdGggLyAyXG4gICAgICAgIHdpZHRoOiA0NjVweDtcbiAgICB9XG5cbn1cblxuLnNlYXJjaF9fbGFiZWwgeyBkaXNwbGF5OiBub25lOyB9XG5cbi5zZWFyY2ggZm9ybSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwYWRkaW5nOiAxNXB4IDIwcHg7XG4gICAgYmFja2dyb3VuZDogJGdyZXk7XG59XG5cbi5zZWFyY2ggaW5wdXQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgQGluY2x1ZGUgZm9udC1zdHlsZSgkYm9keS1mb250KTtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICR3aGl0ZTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICY6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG59XG5cbi5zZWFyY2hfX3N1Z2dlc3Rpb25zIHtcbiAgICBAaW5jbHVkZSByZXNldC1saXN0cztcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGEgeyBjb2xvcjogJHdoaXRlOyB9XG4gICAgbGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAvLyBGaXJzdCBjaGlsZCBpcyBsaW5rIHRvIGZ1bGwgc2VhcmNoXG4gICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXN0eWxlKCRoZWFkZXItZm9udCwgNTAwKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgICAgICAmLmlzLWFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6ICRyZWQ7IH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWFyY2hfX2l0ZW0ge1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgLy9wYWRkaW5nOiAxMHB4IDIwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGd1dHRlci1zbTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogMTIwcHg7XG4gICAgICAgIGhlaWdodDogNjhweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgfVxuICAgIGgzIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc3R5bGUoJGhlYWRlci1mb250LCA3MDApO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cbiAgICB0aW1lIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zdHlsZSgkaGVhZGVyLWZvbnQsIDQwMCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuIiwiYm9keS5sdWNreS1saXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Rpc3QvdGhlYXRyZV9tXzYwLmpwZycpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGwpIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvZGlzdC90aGVhdHJlX2xfNjAuanBnJyk7IH1cblxuICAgIC5vdXRlci13cmFwcGVyOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm5hdmlnYXRpb24tY29udGFpbmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgLy8gT3ZlcnJpZGUgY3VzdG9tIHRoZW1lIHNldHRpbmdzXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG0pIHtcbiAgICAgICAgICAgIGhlaWdodDogNTZweDtcbiAgICAgICAgICAgIG5hdi5wcmltYXJ5IGEge1xuICAgICAgICAgICAgICAgIGhlaWdodDogNTZweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNTZweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzYyNjI2MjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWFyY2gtdG9nZ2xlIHsgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgLmNvcHkgcC5pbnRybyB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc3R5bGUoJGhlYWRlci1mb250LWFsdCwgMTAwKTtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgIH1cblxuICAgIC53cmFwcGVyIC5jb3B5IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG0pIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbCkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMjBweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEyMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvdmVyLWltYWdlX19jb250YWluZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC50aWNrZXRzLWJ1dHRvbi1jb250YWluZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgbWFyZ2luOiAzMHB4IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtKSB7XG4gICAgICAgICAgICBtYXJnaW46IDQwcHggMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50aWNrZXRzLWJ1dHRvbixcbiAgICAubHVja3ktbGl2ZS10aWNrZXRzLXNtYWxsIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZDUwODtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICBwYWRkaW5nOiAycHggMjFweDtcbiAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgICBAaW5jbHVkZSBmb250LXN0eWxlKCRoZWFkZXItZm9udC1hbHQsIDMwMCk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgIH1cblxuICAgIC5sdWNreS1saXZlLXRpY2tldHMtc21hbGwge1xuICAgICAgICBwYWRkaW5nOiAxcHggOHB4O1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgfVxuXG4gICAgLmltYWdlLWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbjogMjBweCAtMjBweDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbSkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmx1Y2t5LWxpdmUtdGlja2V0cy10YWJsZSB7XG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG0pIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb2xvcjogIzk5OTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4uYmFubmVyIHtcbiAgICBwaWN0dXJlLFxuICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgcGljdHVyZSxcbiAgICBpbWcsXG4gICAgYSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgfVxuICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xufVxuXG4keWVsbG93OiAjZjlmMTJlO1xuXG4udGVtcGxhdGUtbGl2ZSB7XG4gICAgLmhlYWRlci1icmFuZGluZyB7IGJhY2tncm91bmQtY29sb3I6ICMwZTBlMGUgIWltcG9ydGFudDsgfVxuICAgIC5uYXZpZ2F0aW9uLWNvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1heC1zKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGUwZTBlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVhZGVyX19icmFuZGluZyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1heC1zKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3V0ZXItd3JhcHBlciAud3JhcHBlcixcbiAgICAubmF2aWdhdGlvbi1jb250YWluZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGUwZTBlO1xuICAgIH1cblxuICAgIG5hdi5wcmltYXJ5IGxpLmFjdGl2ZSBhIHsgY29sb3I6ICR5ZWxsb3c7IH1cblxuICAgIC5jb3B5IGgxIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbSkgeyBmb250LXNpemU6IDQ0cHg7IH1cbiAgICB9XG5cbiAgICAuY29weSBwIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDc1cHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA3NXB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGwpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTc1cHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNzVweDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLmx1Y2t5dHYtaGVscHQtY3RhIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjb2xvcjogJHllbGxvdztcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgICAgYSB7IGNvbG9yOiAkeWVsbG93OyB9XG4gICAgfVxufVxuXG4uY29weSAudmlkZW8udmlkZW8tLWZ1bGwtd2lkdGgge1xuICAgICY6Zmlyc3QtY2hpbGQgeyBtYXJnaW4tdG9wOiAtMjBweDsgfVxuICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0yMHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTI1cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTI1cHg7XG4gICAgfVxufVxuXG5cbiJdfQ== */
