@charset "UTF-8";
/* ==========================================================================
    Base file, all includes, defines & custom mixins should be added here
    ========================================================================= */
/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Correct the line height in all browsers.
 * 3. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
/* Document
   ========================================================================== */
html {
  font-family: sans-serif;
  /* 1 */
  line-height: 1.15;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 3 */
  -webkit-text-size-adjust: 100%;
  /* 3 */
}

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

/**
 * Setting font style back to default
 */
address {
  font-style: normal;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

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

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

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

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

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

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

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

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

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

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

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

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

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

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

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

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

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

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

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

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

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

/*
* Heavily based on the CSS for https://github.com/mapshakers/leaflet-icon-pulse
*
* Modified to get rid of the opaque circle, and tweaked the pulse to be subtler.
*/
.leaflet-visualclick-icon {
  border-radius: 100%;
  pointer-events: none;
}

.leaflet-visualclick-icon:after {
  content: "";
  border-radius: 100%;
  height: 60px;
  width: 60px;
  position: absolute;
  margin-left: -30px;
  margin-top: -30px;
  pointer-events: none;
  box-shadow: inset 0 0 25px -1px #E1E3E4, 0 0 10px -1px #C5C5C5;
  animation: visualclick-pulsate 0.7s ease-out;
  animation-iteration-count: 1;
  animation-delay: 0s;
  opacity: 0;
}

.leaflet-visualclick-icon-touch:after {
  content: "";
  border-radius: 100%;
  height: 140px;
  width: 140px;
  position: absolute;
  margin-left: -70px;
  margin-top: -70px;
  pointer-events: none;
  box-shadow: inset 0 0 25px -1px #E1E3E4, 0 0 10px -1px #C5C5C5;
  animation: visualclick-pulsate-touch 0.7s ease-out;
  animation-iteration-count: 1;
  animation-delay: 0s;
  opacity: 0;
}

@keyframes visualclick-pulsate {
  0% {
    transform: scale(0.5);
    opacity: 1;
  }
  100% {
    transform: scale(1.3);
    opacity: 0;
  }
}

@keyframes visualclick-pulsate-touch {
  from {
    transform: scale(1);
    opacity: 0.8;
  }
  to {
    transform: scale(0.2);
    opacity: 0.0;
  }
}

.leaflet-pane.leaflet-ie10-visual-click-pane-pane {
  z-index: 300;
}

/* required styles */
.leaflet-map-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-pane,
.leaflet-tile-container,
.leaflet-overlay-pane,
.leaflet-shadow-pane,
.leaflet-marker-pane,
.leaflet-popup-pane,
.leaflet-overlay-pane svg,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
  position: absolute;
  left: 0;
  top: 0;
}

.leaflet-container {
  overflow: hidden;
  -ms-touch-action: none;
  touch-action: none;
}

.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
      user-select: none;
  -webkit-user-drag: none;
}

.leaflet-marker-icon,
.leaflet-marker-shadow {
  display: block;
}

/* map is broken in FF if you have max-width: 100% on tiles */
.leaflet-container img {
  max-width: none !important;
}

/* stupid Android 2 doesn't understand "max-width: none" properly */
.leaflet-container img.leaflet-image-layer {
  max-width: 15000px !important;
}

.leaflet-tile {
  filter: inherit;
  visibility: hidden;
}

.leaflet-tile-loaded {
  visibility: inherit;
}

.leaflet-zoom-box {
  width: 0;
  height: 0;
}

/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
.leaflet-overlay-pane svg {
  -moz-user-select: none;
}

.leaflet-tile-pane {
  z-index: 2;
}

.leaflet-objects-pane {
  z-index: 3;
}

.leaflet-overlay-pane {
  z-index: 4;
}

.leaflet-shadow-pane {
  z-index: 5;
}

.leaflet-marker-pane {
  z-index: 6;
}

.leaflet-popup-pane {
  z-index: 7;
}

.leaflet-vml-shape {
  width: 1px;
  height: 1px;
}

.lvml {
  behavior: url(#default#VML);
  display: inline-block;
  position: absolute;
}

/* control positioning */
.leaflet-control {
  position: relative;
  z-index: 7;
  pointer-events: auto;
}

.leaflet-top,
.leaflet-bottom {
  position: absolute;
  z-index: 1000;
  pointer-events: none;
}

.leaflet-top {
  top: 0;
}

.leaflet-right {
  right: 0;
}

.leaflet-bottom {
  bottom: 0;
}

.leaflet-left {
  left: 0;
}

.leaflet-control {
  float: left;
  clear: both;
}

.leaflet-right .leaflet-control {
  float: right;
}

.leaflet-top .leaflet-control {
  margin-top: 10px;
}

.leaflet-bottom .leaflet-control {
  margin-bottom: 10px;
}

.leaflet-left .leaflet-control {
  margin-left: 10px;
}

.leaflet-right .leaflet-control {
  margin-right: 10px;
}

/* zoom and fade animations */
.leaflet-fade-anim .leaflet-tile,
.leaflet-fade-anim .leaflet-popup {
  opacity: 0;
  transition: opacity 0.2s linear;
}

.leaflet-fade-anim .leaflet-tile-loaded,
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
  opacity: 1;
}

.leaflet-zoom-anim .leaflet-zoom-animated {
  transition: transform 0.25s cubic-bezier(0, 0, 0.25, 1);
}

.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile,
.leaflet-touching .leaflet-zoom-animated {
  transition: none;
}

.leaflet-zoom-anim .leaflet-zoom-hide {
  visibility: hidden;
}

/* cursors */
.leaflet-clickable {
  cursor: pointer;
}

.leaflet-container {
  cursor: -moz-grab;
}

.leaflet-popup-pane,
.leaflet-control {
  cursor: auto;
}

.leaflet-dragging .leaflet-container,
.leaflet-dragging .leaflet-clickable {
  cursor: move;
  cursor: -moz-grabbing;
}

/* visual tweaks */
.leaflet-container {
  background: #ddd;
  outline: 0;
}

.leaflet-container a {
  color: #0078A8;
}

.leaflet-container a.leaflet-active {
  outline: 2px solid orange;
}

.leaflet-zoom-box {
  border: 2px dotted #38f;
  background: rgba(255, 255, 255, 0.5);
}

/* general typography */
.leaflet-container {
  font: 12px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif;
}

/* general toolbar styles */
.leaflet-bar {
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.65);
  border-radius: 4px;
}

.leaflet-bar a,
.leaflet-bar a:hover {
  background-color: #fff;
  border-bottom: 1px solid #ccc;
  width: 26px;
  height: 26px;
  line-height: 26px;
  display: block;
  text-align: center;
  text-decoration: none;
  color: black;
}

.leaflet-bar a,
.leaflet-control-layers-toggle {
  background-position: 50% 50%;
  background-repeat: no-repeat;
  display: block;
}

.leaflet-bar a:hover {
  background-color: #f4f4f4;
}

.leaflet-bar a:first-child {
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
}

.leaflet-bar a:last-child {
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
  border-bottom: none;
}

.leaflet-bar a.leaflet-disabled {
  cursor: default;
  background-color: #f4f4f4;
  color: #bbb;
}

.leaflet-touch .leaflet-bar a {
  width: 30px;
  height: 30px;
  line-height: 30px;
}

/* zoom control */
.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
  font: bold 18px 'Lucida Console', Monaco, monospace;
  text-indent: 1px;
}

.leaflet-control-zoom-out {
  font-size: 20px;
}

.leaflet-touch .leaflet-control-zoom-in {
  font-size: 22px;
}

.leaflet-touch .leaflet-control-zoom-out {
  font-size: 24px;
}

/* layers control */
.leaflet-control-layers {
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.4);
  background: #fff;
  border-radius: 5px;
}

.leaflet-control-layers-toggle {
  background-image: url(images/layers.png);
  width: 36px;
  height: 36px;
}

.leaflet-retina .leaflet-control-layers-toggle {
  background-image: url(images/layers-2x.png);
  background-size: 26px 26px;
}

.leaflet-touch .leaflet-control-layers-toggle {
  width: 44px;
  height: 44px;
}

.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
  display: none;
}

.leaflet-control-layers-expanded .leaflet-control-layers-list {
  display: block;
  position: relative;
}

.leaflet-control-layers-expanded {
  padding: 6px 10px 6px 6px;
  color: #333;
  background: #fff;
}

.leaflet-control-layers-selector {
  margin-top: 2px;
  position: relative;
  top: 1px;
}

.leaflet-control-layers label {
  display: block;
}

.leaflet-control-layers-separator {
  height: 0;
  border-top: 1px solid #ddd;
  margin: 5px -10px 5px -6px;
}

/* attribution and scale controls */
.leaflet-container .leaflet-control-attribution {
  background: #fff;
  background: rgba(255, 255, 255, 0.7);
  margin: 0;
}

.leaflet-control-attribution,
.leaflet-control-scale-line {
  padding: 0 5px;
  color: #333;
}

.leaflet-control-attribution a {
  text-decoration: none;
}

.leaflet-control-attribution a:hover {
  text-decoration: underline;
}

.leaflet-container .leaflet-control-attribution,
.leaflet-container .leaflet-control-scale {
  font-size: 11px;
}

.leaflet-left .leaflet-control-scale {
  margin-left: 5px;
}

.leaflet-bottom .leaflet-control-scale {
  margin-bottom: 5px;
}

.leaflet-control-scale-line {
  border: 2px solid #777;
  border-top: none;
  line-height: 1.1;
  padding: 2px 5px 1px;
  font-size: 11px;
  white-space: nowrap;
  overflow: hidden;
  box-sizing: content-box;
  background: #fff;
  background: rgba(255, 255, 255, 0.5);
}

.leaflet-control-scale-line:not(:first-child) {
  border-top: 2px solid #777;
  border-bottom: none;
  margin-top: -2px;
}

.leaflet-control-scale-line:not(:first-child):not(:last-child) {
  border-bottom: 2px solid #777;
}

.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
  box-shadow: none;
}

.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
  border: 2px solid rgba(0, 0, 0, 0.2);
  background-clip: padding-box;
}

/* popup */
.leaflet-popup {
  position: absolute;
  text-align: center;
}

.leaflet-popup-content-wrapper {
  padding: 1px;
  text-align: left;
  border-radius: 12px;
}

.leaflet-popup-content {
  margin: 13px 19px;
  line-height: 1.4;
}

.leaflet-popup-content p {
  margin: 18px 0;
}

.leaflet-popup-tip-container {
  margin: 0 auto;
  width: 40px;
  height: 20px;
  position: relative;
  overflow: hidden;
}

.leaflet-popup-tip {
  width: 17px;
  height: 17px;
  padding: 1px;
  margin: -10px auto 0;
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
  background: white;
  box-shadow: 0 3px 14px rgba(0, 0, 0, 0.4);
}

.leaflet-container a.leaflet-popup-close-button {
  position: absolute;
  top: 0;
  right: 0;
  padding: 4px 4px 0 0;
  text-align: center;
  width: 18px;
  height: 14px;
  font: 16px/14px Tahoma, Verdana, sans-serif;
  color: #c3c3c3;
  text-decoration: none;
  font-weight: bold;
  background: transparent;
}

.leaflet-container a.leaflet-popup-close-button:hover {
  color: #999;
}

.leaflet-popup-scrolled {
  overflow: auto;
  border-bottom: 1px solid #ddd;
  border-top: 1px solid #ddd;
}

.leaflet-oldie .leaflet-popup-content-wrapper {
  zoom: 1;
}

.leaflet-oldie .leaflet-popup-tip {
  width: 24px;
  margin: 0 auto;
  -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
  filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
}

.leaflet-oldie .leaflet-popup-tip-container {
  margin-top: -1px;
}

.leaflet-oldie .leaflet-control-zoom,
.leaflet-oldie .leaflet-control-layers,
.leaflet-oldie .leaflet-popup-content-wrapper,
.leaflet-oldie .leaflet-popup-tip {
  border: 1px solid #999;
}

/* div icon */
.leaflet-div-icon {
  background: #fff;
  border: 1px solid #666;
}

/*!
 * animate.css -https://daneden.github.io/animate.css/
 * Version - 3.7.2
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2019 Daniel Eden
 */

@keyframes bounce {
  from,
  20%,
  53%,
  80%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translate3d(0, 0, 0);
  }
  40%,
  43% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -30px, 0);
  }
  70% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -15px, 0);
  }
  90% {
    transform: translate3d(0, -4px, 0);
  }
}

.bounce {
  animation-name: bounce;
  -ms-transform-origin: center bottom;
      transform-origin: center bottom;
}

@keyframes flash {
  from,
  50%,
  to {
    opacity: 1;
  }
  25%,
  75% {
    opacity: 0;
  }
}

.flash {
  animation-name: flash;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@keyframes pulse {
  from {
    transform: scale3d(1, 1, 1);
  }
  50% {
    transform: scale3d(1.05, 1.05, 1.05);
  }
  to {
    transform: scale3d(1, 1, 1);
  }
}

.pulse {
  animation-name: pulse;
}

@keyframes rubberBand {
  from {
    transform: scale3d(1, 1, 1);
  }
  30% {
    transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    transform: scale3d(1.05, 0.95, 1);
  }
  to {
    transform: scale3d(1, 1, 1);
  }
}

.rubberBand {
  animation-name: rubberBand;
}

@keyframes shake {
  from,
  to {
    transform: translate3d(0, 0, 0);
  }
  10%,
  30%,
  50%,
  70%,
  90% {
    transform: translate3d(-10px, 0, 0);
  }
  20%,
  40%,
  60%,
  80% {
    transform: translate3d(10px, 0, 0);
  }
}

.shake {
  animation-name: shake;
}

@keyframes headShake {
  0% {
    transform: translateX(0);
  }
  6.5% {
    transform: translateX(-6px) rotateY(-9deg);
  }
  18.5% {
    transform: translateX(5px) rotateY(7deg);
  }
  31.5% {
    transform: translateX(-3px) rotateY(-5deg);
  }
  43.5% {
    transform: translateX(2px) rotateY(3deg);
  }
  50% {
    transform: translateX(0);
  }
}

.headShake {
  animation-timing-function: ease-in-out;
  animation-name: headShake;
}

@keyframes swing {
  20% {
    transform: rotate3d(0, 0, 1, 15deg);
  }
  40% {
    transform: rotate3d(0, 0, 1, -10deg);
  }
  60% {
    transform: rotate3d(0, 0, 1, 5deg);
  }
  80% {
    transform: rotate3d(0, 0, 1, -5deg);
  }
  to {
    transform: rotate3d(0, 0, 1, 0deg);
  }
}

.swing {
  -ms-transform-origin: top center;
      transform-origin: top center;
  animation-name: swing;
}

@keyframes tada {
  from {
    transform: scale3d(1, 1, 1);
  }
  10%,
  20% {
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }
  30%,
  50%,
  70%,
  90% {
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  40%,
  60%,
  80% {
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
  to {
    transform: scale3d(1, 1, 1);
  }
}

.tada {
  animation-name: tada;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@keyframes wobble {
  from {
    transform: translate3d(0, 0, 0);
  }
  15% {
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }
  30% {
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }
  45% {
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }
  60% {
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }
  75% {
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}

.wobble {
  animation-name: wobble;
}

@keyframes jello {
  from,
  11.1%,
  to {
    transform: translate3d(0, 0, 0);
  }
  22.2% {
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }
  33.3% {
    transform: skewX(6.25deg) skewY(6.25deg);
  }
  44.4% {
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }
  55.5% {
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }
  66.6% {
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }
  77.7% {
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }
  88.8% {
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}

.jello {
  animation-name: jello;
  -ms-transform-origin: center;
      transform-origin: center;
}

@keyframes heartBeat {
  0% {
    transform: scale(1);
  }
  14% {
    transform: scale(1.3);
  }
  28% {
    transform: scale(1);
  }
  42% {
    transform: scale(1.3);
  }
  70% {
    transform: scale(1);
  }
}

.heartBeat {
  animation-name: heartBeat;
  animation-duration: 1.3s;
  animation-timing-function: ease-in-out;
}

@keyframes bounceIn {
  from,
  20%,
  40%,
  60%,
  80%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  20% {
    transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    opacity: 1;
    transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    transform: scale3d(0.97, 0.97, 0.97);
  }
  to {
    opacity: 1;
    transform: scale3d(1, 1, 1);
  }
}

.bounceIn {
  animation-duration: 0.75s;
  animation-name: bounceIn;
}

@keyframes bounceInDown {
  from,
  60%,
  75%,
  90%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: translate3d(0, -3000px, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(0, 25px, 0);
  }
  75% {
    transform: translate3d(0, -10px, 0);
  }
  90% {
    transform: translate3d(0, 5px, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}

.bounceInDown {
  animation-name: bounceInDown;
}

@keyframes bounceInLeft {
  from,
  60%,
  75%,
  90%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: translate3d(-3000px, 0, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(25px, 0, 0);
  }
  75% {
    transform: translate3d(-10px, 0, 0);
  }
  90% {
    transform: translate3d(5px, 0, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}

.bounceInLeft {
  animation-name: bounceInLeft;
}

@keyframes bounceInRight {
  from,
  60%,
  75%,
  90%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    transform: translate3d(3000px, 0, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(-25px, 0, 0);
  }
  75% {
    transform: translate3d(10px, 0, 0);
  }
  90% {
    transform: translate3d(-5px, 0, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}

.bounceInRight {
  animation-name: bounceInRight;
}

@keyframes bounceInUp {
  from,
  60%,
  75%,
  90%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    transform: translate3d(0, 3000px, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(0, -20px, 0);
  }
  75% {
    transform: translate3d(0, 10px, 0);
  }
  90% {
    transform: translate3d(0, -5px, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}

.bounceInUp {
  animation-name: bounceInUp;
}

@keyframes bounceOut {
  20% {
    transform: scale3d(0.9, 0.9, 0.9);
  }
  50%,
  55% {
    opacity: 1;
    transform: scale3d(1.1, 1.1, 1.1);
  }
  to {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
}

.bounceOut {
  animation-duration: 0.75s;
  animation-name: bounceOut;
}

@keyframes bounceOutDown {
  20% {
    transform: translate3d(0, 10px, 0);
  }
  40%,
  45% {
    opacity: 1;
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }
}

.bounceOutDown {
  animation-name: bounceOutDown;
}

@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    transform: translate3d(20px, 0, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0);
  }
}

.bounceOutLeft {
  animation-name: bounceOutLeft;
}

@keyframes bounceOutRight {
  20% {
    opacity: 1;
    transform: translate3d(-20px, 0, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
  }
}

.bounceOutRight {
  animation-name: bounceOutRight;
}

@keyframes bounceOutUp {
  20% {
    transform: translate3d(0, -10px, 0);
  }
  40%,
  45% {
    opacity: 1;
    transform: translate3d(0, 20px, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }
}

.bounceOutUp {
  animation-name: bounceOutUp;
}

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

.fadeIn {
  animation-name: fadeIn;
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.fadeInDown {
  animation-name: fadeInDown;
}

@keyframes fadeInDownBig {
  from {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.fadeInDownBig {
  animation-name: fadeInDownBig;
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.fadeInLeft {
  animation-name: fadeInLeft;
}

@keyframes fadeInLeftBig {
  from {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.fadeInLeftBig {
  animation-name: fadeInLeftBig;
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.fadeInRight {
  animation-name: fadeInRight;
}

@keyframes fadeInRightBig {
  from {
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.fadeInRightBig {
  animation-name: fadeInRightBig;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.fadeInUp {
  animation-name: fadeInUp;
}

@keyframes fadeInUpBig {
  from {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.fadeInUpBig {
  animation-name: fadeInUpBig;
}

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

.fadeOut {
  animation-name: fadeOut;
}

@keyframes fadeOutDown {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }
}

.fadeOutDown {
  animation-name: fadeOutDown;
}

@keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }
}

.fadeOutDownBig {
  animation-name: fadeOutDownBig;
}

@keyframes fadeOutLeft {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }
}

.fadeOutLeft {
  animation-name: fadeOutLeft;
}

@keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0);
  }
}

.fadeOutLeftBig {
  animation-name: fadeOutLeftBig;
}

@keyframes fadeOutRight {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }
}

.fadeOutRight {
  animation-name: fadeOutRight;
}

@keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
  }
}

.fadeOutRightBig {
  animation-name: fadeOutRightBig;
}

@keyframes fadeOutUp {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }
}

.fadeOutUp {
  animation-name: fadeOutUp;
}

@keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }
}

.fadeOutUpBig {
  animation-name: fadeOutUpBig;
}

@keyframes flip {
  from {
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    animation-timing-function: ease-out;
  }
  40% {
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    animation-timing-function: ease-out;
  }
  50% {
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    animation-timing-function: ease-in;
  }
  80% {
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    animation-timing-function: ease-in;
  }
  to {
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    animation-timing-function: ease-in;
  }
}

.animated.flip {
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  animation-name: flip;
}

@keyframes flipInX {
  from {
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    animation-timing-function: ease-in;
  }
  60% {
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  to {
    transform: perspective(400px);
  }
}

.flipInX {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  animation-name: flipInX;
}

@keyframes flipInY {
  from {
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    animation-timing-function: ease-in;
  }
  60% {
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }
  80% {
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }
  to {
    transform: perspective(400px);
  }
}

.flipInY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  animation-name: flipInY;
}

@keyframes flipOutX {
  from {
    transform: perspective(400px);
  }
  30% {
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }
  to {
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}

.flipOutX {
  animation-duration: 0.75s;
  animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
}

@keyframes flipOutY {
  from {
    transform: perspective(400px);
  }
  30% {
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }
  to {
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}

.flipOutY {
  animation-duration: 0.75s;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  animation-name: flipOutY;
}

@keyframes lightSpeedIn {
  from {
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
  60% {
    transform: skewX(20deg);
    opacity: 1;
  }
  80% {
    transform: skewX(-5deg);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}

.lightSpeedIn {
  animation-name: lightSpeedIn;
  animation-timing-function: ease-out;
}

@keyframes lightSpeedOut {
  from {
    opacity: 1;
  }
  to {
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}

.lightSpeedOut {
  animation-name: lightSpeedOut;
  animation-timing-function: ease-in;
}

@keyframes rotateIn {
  from {
    transform-origin: center;
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }
  to {
    transform-origin: center;
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

.rotateIn {
  animation-name: rotateIn;
}

@keyframes rotateInDownLeft {
  from {
    transform-origin: left bottom;
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
  to {
    transform-origin: left bottom;
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

.rotateInDownLeft {
  animation-name: rotateInDownLeft;
}

@keyframes rotateInDownRight {
  from {
    transform-origin: right bottom;
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    transform-origin: right bottom;
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

.rotateInDownRight {
  animation-name: rotateInDownRight;
}

@keyframes rotateInUpLeft {
  from {
    transform-origin: left bottom;
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    transform-origin: left bottom;
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

.rotateInUpLeft {
  animation-name: rotateInUpLeft;
}

@keyframes rotateInUpRight {
  from {
    transform-origin: right bottom;
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }
  to {
    transform-origin: right bottom;
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

.rotateInUpRight {
  animation-name: rotateInUpRight;
}

@keyframes rotateOut {
  from {
    transform-origin: center;
    opacity: 1;
  }
  to {
    transform-origin: center;
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}

.rotateOut {
  animation-name: rotateOut;
}

@keyframes rotateOutDownLeft {
  from {
    transform-origin: left bottom;
    opacity: 1;
  }
  to {
    transform-origin: left bottom;
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}

.rotateOutDownLeft {
  animation-name: rotateOutDownLeft;
}

@keyframes rotateOutDownRight {
  from {
    transform-origin: right bottom;
    opacity: 1;
  }
  to {
    transform-origin: right bottom;
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}

.rotateOutDownRight {
  animation-name: rotateOutDownRight;
}

@keyframes rotateOutUpLeft {
  from {
    transform-origin: left bottom;
    opacity: 1;
  }
  to {
    transform-origin: left bottom;
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}

.rotateOutUpLeft {
  animation-name: rotateOutUpLeft;
}

@keyframes rotateOutUpRight {
  from {
    transform-origin: right bottom;
    opacity: 1;
  }
  to {
    transform-origin: right bottom;
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}

.rotateOutUpRight {
  animation-name: rotateOutUpRight;
}

@keyframes hinge {
  0% {
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }
  20%,
  60% {
    transform: rotate3d(0, 0, 1, 80deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }
  40%,
  80% {
    transform: rotate3d(0, 0, 1, 60deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }
  to {
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}

.hinge {
  animation-duration: 2s;
  animation-name: hinge;
}

@keyframes jackInTheBox {
  from {
    opacity: 0;
    transform: scale(0.1) rotate(30deg);
    transform-origin: center bottom;
  }
  50% {
    transform: rotate(-10deg);
  }
  70% {
    transform: rotate(3deg);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

.jackInTheBox {
  animation-name: jackInTheBox;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@keyframes rollIn {
  from {
    opacity: 0;
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.rollIn {
  animation-name: rollIn;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@keyframes rollOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}

.rollOut {
  animation-name: rollOut;
}

@keyframes zoomIn {
  from {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}

.zoomIn {
  animation-name: zoomIn;
}

@keyframes zoomInDown {
  from {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

.zoomInDown {
  animation-name: zoomInDown;
}

@keyframes zoomInLeft {
  from {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

.zoomInLeft {
  animation-name: zoomInLeft;
}

@keyframes zoomInRight {
  from {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

.zoomInRight {
  animation-name: zoomInRight;
}

@keyframes zoomInUp {
  from {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

.zoomInUp {
  animation-name: zoomInUp;
}

@keyframes zoomOut {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 0;
  }
}

.zoomOut {
  animation-name: zoomOut;
}

@keyframes zoomOutDown {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform-origin: center bottom;
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

.zoomOutDown {
  animation-name: zoomOutDown;
}

@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  }
  to {
    opacity: 0;
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform-origin: left center;
  }
}

.zoomOutLeft {
  animation-name: zoomOutLeft;
}

@keyframes zoomOutRight {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
  }
  to {
    opacity: 0;
    transform: scale(0.1) translate3d(2000px, 0, 0);
    transform-origin: right center;
  }
}

.zoomOutRight {
  animation-name: zoomOutRight;
}

@keyframes zoomOutUp {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform-origin: center bottom;
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

.zoomOutUp {
  animation-name: zoomOutUp;
}

@keyframes slideInDown {
  from {
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}

.slideInDown {
  animation-name: slideInDown;
}

@keyframes slideInLeft {
  from {
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}

.slideInLeft {
  animation-name: slideInLeft;
}

@keyframes slideInRight {
  from {
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}

.slideInRight {
  animation-name: slideInRight;
}

@keyframes slideInUp {
  from {
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}

.slideInUp {
  animation-name: slideInUp;
}

@keyframes slideOutDown {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(0, 100%, 0);
  }
}

.slideOutDown {
  animation-name: slideOutDown;
}

@keyframes slideOutLeft {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(-100%, 0, 0);
  }
}

.slideOutLeft {
  animation-name: slideOutLeft;
}

@keyframes slideOutRight {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(100%, 0, 0);
  }
}

.slideOutRight {
  animation-name: slideOutRight;
}

@keyframes slideOutUp {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(0, -100%, 0);
  }
}

.slideOutUp {
  animation-name: slideOutUp;
}

.animated {
  animation-duration: 1s;
  animation-fill-mode: both;
}

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

.animated.delay-1s {
  animation-delay: 1s;
}

.animated.delay-2s {
  animation-delay: 2s;
}

.animated.delay-3s {
  animation-delay: 3s;
}

.animated.delay-4s {
  animation-delay: 4s;
}

.animated.delay-5s {
  animation-delay: 5s;
}

.animated.fast {
  animation-duration: 800ms;
}

.animated.faster {
  animation-duration: 500ms;
}

.animated.slow {
  animation-duration: 2s;
}

.animated.slower {
  animation-duration: 3s;
}

@media (print), (prefers-reduced-motion: reduce) {
  .animated {
    animation-duration: 1ms !important;
    transition-duration: 1ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* 
 * Leaflet Control Search v1.8.4 - 2015-09-05 
 * 
 * Copyright 2015 Stefano Cudini 
 * stefano.cudini@gmail.com 
 * http://labs.easyblog.it/ 
 * 
 * Licensed under the MIT license. 
 * 
 * Demo: 
 * http://labs.easyblog.it/maps/leaflet-search/ 
 * 
 * Source: 
 * git@github.com:stefanocudini/leaflet-search.git 
 * 
 */
.leaflet-container .leaflet-control-search {
  position: relative;
  float: left;
  background: #fff;
  color: #1978cf;
  border-radius: 4px;
  background-color: rgba(255, 255, 255, 0.8);
  z-index: 1000;
  box-shadow: 0 1px 7px rgba(0, 0, 0, 0.65);
  margin-left: 10px;
  margin-top: 10px;
}

.leaflet-control-search.search-exp {
  /*expanded*/
  box-shadow: 0 1px 7px #999;
  background: #fff;
}

.leaflet-control-search .search-input {
  display: block;
  float: left;
  background: #fff;
  border: 1px solid #666;
  border-radius: 2px;
  height: 18px;
  padding: 0 18px 0 2px;
  margin: 3px 0 3px 3px;
}

.leaflet-control-search.search-load .search-input {
  background: url("../images/loader.gif") no-repeat center right #fff;
}

.leaflet-control-search.search-load .search-cancel {
  visibility: hidden;
}

.leaflet-control-search .search-cancel {
  display: block;
  width: 22px;
  height: 18px;
  position: absolute;
  right: 22px;
  margin: 3px 0;
  background: url("../images/search-icon.png") no-repeat 0 -46px;
  text-decoration: none;
  filter: alpha(opacity=80);
  opacity: 0.8;
}

.leaflet-control-search .search-cancel:hover {
  filter: alpha(opacity=100);
  opacity: 1;
}

.leaflet-control-search .search-cancel span {
  display: none;
  /* comment for cancel button imageless */
  font-size: 18px;
  line-height: 20px;
  color: #ccc;
  font-weight: bold;
}

.leaflet-control-search .search-cancel:hover span {
  color: #aaa;
}

.leaflet-control-search .search-button {
  display: block;
  float: left;
  width: 26px;
  height: 26px;
  background: url("../images/search-icon.png") no-repeat 2px 2px;
  border-radius: 4px;
}

.leaflet-control-search .search-button:hover {
  background: url("../images/search-icon.png") no-repeat 2px -22px;
}

.leaflet-control-search .search-tooltip {
  position: absolute;
  top: 100%;
  left: 0;
  float: left;
  list-style: none;
  padding-left: 0;
  min-width: 120px;
  max-height: 122px;
  box-shadow: 1px 1px 6px rgba(0, 0, 0, 0.4);
  background-color: rgba(0, 0, 0, 0.25);
  z-index: 1010;
  overflow-y: auto;
  overflow-x: hidden;
  cursor: pointer;
}

.leaflet-control-search .search-tip {
  margin: 2px;
  padding: 2px 4px;
  display: block;
  color: black;
  background: #eee;
  border-radius: .25em;
  text-decoration: none;
  white-space: nowrap;
  vertical-align: center;
}

.leaflet-control-search .search-tip-select,
.leaflet-control-search .search-tip:hover,
.leaflet-control-search .search-button:hover {
  background-color: #fff;
}

.leaflet-control-search .search-alert {
  cursor: pointer;
  clear: both;
  font-size: .75em;
  margin-bottom: 5px;
  padding: 0 .25em;
  color: #e00;
  font-weight: bold;
  border-radius: .25em;
}

@keyframes a {
  0% {
    transform: translate(-50%, -50%) rotateX(0) rotateY(0);
  }
  50% {
    transform: translate(-50%, -50%) rotateX(-180deg) rotateY(0);
  }
  to {
    transform: translate(-50%, -50%) rotateX(-180deg) rotateY(-180deg);
  }
}

.fluidbox {
  outline: none;
}

.fluidbox__overlay {
  background-color: rgba(255, 255, 255, 0.85);
  cursor: pointer;
  cursor: zoom-out;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  top: -100%;
  left: 0;
  bottom: -100%;
  right: 0;
  transition: all .5s ease-in-out;
}

.fluidbox--opened .fluidbox__overlay {
  pointer-events: auto;
}

.fluidbox__wrap {
  background-position: center center;
  background-size: cover;
  margin: 0 auto;
  position: relative;
  transition: all .5s ease-in-out;
}

.fluidbox--closed .fluidbox__thumb, .fluidbox__thumb {
  transition: opacity 0s ease-in-out 0s;
}

.fluidbox__ghost {
  background-size: 100% 100%;
  background-position: center center;
  background-repeat: no-repeat;
  position: absolute;
  transition: opacity 0s 0s,transform .5s 0s;
}

.fluidbox--opened .fluidbox__ghost {
  cursor: pointer;
  cursor: zoom-out;
}

.fluidbox--closed .fluidbox__ghost {
  transition: opacity 0s .5s,transform .5s 0s;
}

.fluidbox__loader {
  opacity: 0;
  perspective: 200px;
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

.fluidbox__loader:before {
  background-color: rgba(255, 255, 255, 0.85);
  content: '';
  transform-style: preserve-3d;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20%;
  padding-bottom: 20%;
  -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
  transition-property: transform;
  transition-duration: .5s;
  transition-delay: 0s;
}

.fluidbox--loading .fluidbox__loader {
  opacity: 1;
  transition: opacity .5s ease-in-out .5s;
}

.fluidbox--loading .fluidbox__loader:before {
  animation: a 1s 0s infinite ease-in-out forwards;
}

/*# sourceMappingURL=fluidbox.min.css.map */
/* ---------------------------------------------------------------------------
    rem

    Calculates rem values for the given font sizes in pixels

    Also provides px based fallback for browsers without rem support (IE8)
*/
/* ---------------------------------------------------------------------------
    flexEmbed

    Flexible media embeds

    For use with media embeds – such as videos, slideshows, or even images –
    that need to retain a specific aspect ratio but adapt to the width of their
    containing element.

    Based on https://github.com/suitcss/flex-embed/blob/master/flex-embed.css

    Example:
    .item-to-flex{
        @include flexEmbed(1000, 480);
        background-image: url('http://placeimg.com/1000/480/any');
        background-position: 50%;
        background-repeat: no-repeat;
        background-size: cover;
        margin: 0 auto;
        max-height: 480px;
        max-width: 1000px;
    }

    Arguments:
    $width       : The width of the element
    $height      : The height of the element
    $hasItem     : [optional] Add extra output if element contains an iframe, object, embed, etc
    $itemClass   : [optional] Class of element to be positioned inside container
*/
.green {
  color: #7ebe38;
}

/* =============================================
   Grid setup. Also see: http://susy.oddbird.net/demos/grid-types/
   ============================================= */
.wrapper {
  box-sizing: border-box;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.wrapper:after {
  content: " ";
  display: block;
  clear: both;
}

@media (min-width: 60em) {
  .wrapper {
    box-sizing: border-box;
    max-width: 77.3124999986em;
    margin-left: auto;
    margin-right: auto;
  }
  .wrapper:after {
    content: " ";
    display: block;
    clear: both;
  }
}

@media (min-width: 0) and (max-width: 80em) {
  .wrapper {
    padding-left: 15px;
    padding-right: 15px;
  }
}

.wrapper--rel {
  position: relative;
}

html {
  font-size: 81.25%;
  line-height: 2.1em;
}

@media (min-width: 60em) {
  html {
    font-size: 100%;
    line-height: 2.4em;
  }
}

h1, h2, h3, h4, ol > li:before {
  font-weight: 700;
}

.button, .matrix__item .freeform-row button, .button__input--checkbox label span, .contact .tab__content button, h5, h6, label, .nav__item a, .breadcrumbs {
  font-weight: 600;
}

.nav .js-site-nav.active li.has-children ul a, .hero .subtitel {
  font-weight: 400;
}

body {
  padding: 0;
  margin: 0;
}

p,
ol,
ul,
blockquote {
  font-size: 1rem;
  line-height: 2.1rem;
  margin-top: 2.1rem;
  padding-top: 0rem;
  padding-bottom: 0rem;
  margin-bottom: 2.1rem;
}

@media (min-width: 60em) {
  p,
  ol,
  ul,
  blockquote {
    font-size: 1rem;
    line-height: 2.4rem;
  }
}

@media (min-width: 60em) {
  p,
  ol,
  ul,
  blockquote {
    margin-top: 2.4rem;
    padding-top: 0rem;
    padding-bottom: 0rem;
    margin-bottom: 2.4rem;
  }
}

.flexit {
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  position: relative;
}

.flexit--desktop {
  display: block;
  height: auto;
}

@media (min-width: 60em) {
  .flexit--desktop {
    display: -ms-flexbox;
    display: flex;
    height: 100%;
  }
}

.flexit__compatibility {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.flexit__compatibility--desktop {
  position: static;
  left: auto;
  right: auto;
  height: auto;
  width: auto;
}

@media (min-width: 60em) {
  .flexit__compatibility--desktop {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
  }
}

.flexit__compatibility--mobile {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

@media (min-width: 60em) {
  .flexit__compatibility--mobile {
    position: static;
    left: auto;
    right: auto;
    height: auto;
    width: auto;
  }
}

.flexit__helper {
  display: table;
  height: 100%;
  width: 100%;
}

.flexit__helper--desktop {
  display: block;
  height: auto;
  width: auto;
}

@media (min-width: 60em) {
  .flexit__helper--desktop {
    display: table;
    height: 100%;
    width: 100%;
  }
}

.flexit__helper--mobile {
  display: table;
  height: 100%;
  width: 100%;
}

@media (min-width: 60em) {
  .flexit__helper--mobile {
    display: block;
    height: auto;
    width: auto;
  }
}

.flexit__holder {
  display: table-cell;
  vertical-align: middle;
}

.flexit__holder--desktop {
  display: block;
  vertical-align: inherit;
}

@media (min-width: 60em) {
  .flexit__holder--desktop {
    display: table-cell;
    vertical-align: middle;
  }
}

.flexit__holder--mobile {
  display: table-cell;
  vertical-align: middle;
}

@media (min-width: 60em) {
  .flexit__holder--mobile {
    display: block;
    vertical-align: inherit;
  }
}

.matrix__item {
  margin-bottom: 2.1rem;
}

@media (min-width: 60em) {
  .matrix__item {
    margin-bottom: 2.4rem;
  }
}

@media (min-width: 60em) {
  .matrix__item {
    margin-bottom: 3.15rem;
  }
}

@media (min-width: 60em) and (min-width: 60em) {
  .matrix__item {
    margin-bottom: 3.6rem;
  }
}

.matrix__left {
  position: relative;
}

@media (min-width: 60em) {
  .matrix__left {
    box-sizing: border-box;
    width: 48.1002425223%;
    float: left;
    margin-right: 3.7995149554%;
  }
}

.matrix__right {
  position: relative;
}

@media (min-width: 60em) {
  .matrix__right {
    box-sizing: border-box;
    width: 48.1002425223%;
    float: right;
    margin-right: 0;
  }
}

.matrix__text p {
  margin-top: 0;
}

.matrix__item--team {
  height: auto;
  overflow: hidden;
}

@media (min-width: 45em) {
  .matrix__item--team .employee {
    box-sizing: border-box;
    width: 28.0672268909%;
    float: left;
    margin-right: 7.8991596637%;
  }
  .matrix__item--team .employee:nth-of-type(3n+3) {
    box-sizing: border-box;
    width: 28.0672268909%;
    float: right;
    margin-right: 0;
  }
}

html {
  box-sizing: border-box;
  font-family: "Titillium Web", arial, sans-serif;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #5b6277;
}

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

body {
  padding: 0;
  margin: 0;
  overflow-x: hidden;
}

.date {
  font-size: 0.9230769231rem;
  line-height: 2.1rem;
  color: #1a245c;
  padding-right: 10px;
}

@media (min-width: 60em) {
  .date {
    font-size: 0.875rem;
    line-height: 1.2rem;
  }
}

.drift-open-chat {
  cursor: pointer;
}

.relative {
  position: relative;
}

.button, .matrix__item .freeform-row button, .button__input--checkbox label span, .contact .tab__content button {
  font-size: 1rem;
  line-height: 2.1rem;
  display: inline-block;
  vertical-align: top;
  text-align: center;
  border-radius: 2px;
  color: #fff;
  text-decoration: none;
  border: 0;
  outline: none;
  padding: 5px 38px;
}

@media (min-width: 60em) {
  .button, .matrix__item .freeform-row button, .button__input--checkbox label span, .contact .tab__content button {
    font-size: 1rem;
    line-height: 2.4rem;
  }
}

.button__primary, .matrix__item .freeform-row button, .contact .tab__content button {
  background-color: #7ebe38;
  padding: 5px 16px;
}

.button__primary img, .matrix__item .freeform-row button img, .contact .tab__content button img {
  padding-right: 8px;
}

.button__primary:hover, .matrix__item .freeform-row button:hover, .contact .tab__content button:hover {
  color: #fff;
  background-color: #73af32;
}

.button__tags, .button__input--checkbox label span {
  border-radius: 100px;
  padding: 5px 38px;
  margin-bottom: 5px;
}

.button__tags--light, .button__input--checkbox label span {
  color: #1a245c;
  background-color: #e5e8f0;
}

.button__tags--light:hover, .button__input--checkbox label span:hover {
  color: #1a245c;
  background-color: #dee0e9;
}

.button__tags--dark, .button__input--checkbox label input:checked + span {
  background-color: #1a245c;
}

.button__tags--dark:hover, .button__input--checkbox label input:checked + span:hover {
  color: #fff;
  background-color: #151e4d;
}

.button__naked {
  padding: 0;
  position: relative;
}

.button__naked--primary {
  color: #7ebe38;
}

.button__naked--primary:after {
  content: '';
  background-image: url("/assets/images/pijltje-rechts-groen.svg");
  background-repeat: no-repeat;
  background-position: center;
  height: 12px;
  width: 12px;
  position: absolute;
  right: -20px;
  transition: ease 0.2s;
  top: 0.7rem;
}

@media (min-width: 45em) {
  .button__naked--primary:after {
    top: 0.9rem;
  }
}

.button__naked--primary:hover:after {
  right: -25px;
}

.button__naked--secondary {
  color: #1a245c;
}

.button__naked--secondary:after {
  content: '';
  background-image: url("/assets/images/pijltje-rechts-blauw.svg");
  background-repeat: no-repeat;
  background-position: center;
  height: 12px;
  width: 12px;
  position: absolute;
  right: -20px;
  transition: ease 0.2s;
  top: 0.7rem;
}

@media (min-width: 45em) {
  .button__naked--secondary:after {
    right: 30px;
    top: 0.9rem;
  }
}

.button__naked--secondary:hover:after {
  right: 15px;
}

.button__naked--white {
  color: #fff;
}

.button__naked--white:after {
  content: '';
  background-image: url("/assets/images/pijltje-rechts-wit.svg");
  background-repeat: no-repeat;
  background-position: center;
  height: 12px;
  width: 12px;
  position: absolute;
  right: -20px;
  transition: ease 0.2s;
  top: 0.7rem;
}

@media (min-width: 45em) {
  .button__naked--white:after {
    top: 0.9rem;
  }
}

.button__naked--white:hover {
  color: #fff;
}

.button__naked--white:hover :after {
  right: -25px;
}

.button__naked--light {
  color: #1a245c;
  background-color: #e5e8f0;
}

.button__naked--light:hover {
  color: #1a245c;
  background-color: #dee0e9;
}

.button__naked--light.active {
  color: #fff;
  background-color: #1a245c;
}

.button--right {
  margin-top: 20px;
}

@media (min-width: 45em) {
  .button--right {
    margin: 20px;
    float: right;
  }
}

h1 {
  font-size: 2.3846153846rem;
  line-height: 3.15rem;
  margin-top: 2.1rem;
  padding-top: 0rem;
  padding-bottom: 0rem;
  margin-bottom: 2.1rem;
  color: #fff;
}

@media (min-width: 60em) {
  h1 {
    font-size: 3rem;
    line-height: 3.6rem;
  }
}

@media (min-width: 60em) {
  h1 {
    margin-top: 2.4rem;
    padding-top: 0rem;
    padding-bottom: 0rem;
    margin-bottom: 2.4rem;
  }
}

h2 {
  font-size: 2.0769230769rem;
  line-height: 3.15rem;
  margin-top: 2.1rem;
  padding-top: 0rem;
  padding-bottom: 0rem;
  margin-bottom: 2.1rem;
  color: #1a245c;
}

@media (min-width: 60em) {
  h2 {
    font-size: 2.5625rem;
    line-height: 3.6rem;
  }
}

@media (min-width: 60em) {
  h2 {
    margin-top: 2.4rem;
    padding-top: 0rem;
    padding-bottom: 0rem;
    margin-bottom: 2.4rem;
  }
}

h3 {
  font-size: 1.4615384615rem;
  line-height: 2.1rem;
  margin-top: 2.1rem;
  padding-top: 0rem;
  padding-bottom: 0rem;
  margin-bottom: 2.1rem;
  color: #1a245c;
}

@media (min-width: 60em) {
  h3 {
    font-size: 1.625rem;
    line-height: 2.4rem;
  }
}

@media (min-width: 60em) {
  h3 {
    margin-top: 2.4rem;
    padding-top: 0rem;
    padding-bottom: 0rem;
    margin-bottom: 2.4rem;
  }
}

h3.green {
  color: #7ebe38;
}

h4 {
  font-size: 1.3076923077rem;
  line-height: 2.1rem;
  margin-top: 2.1rem;
  padding-top: 0rem;
  padding-bottom: 0rem;
  margin-bottom: 2.1rem;
  color: #1a245c;
}

@media (min-width: 60em) {
  h4 {
    font-size: 1.375rem;
    line-height: 2.4rem;
  }
}

@media (min-width: 60em) {
  h4 {
    margin-top: 2.4rem;
    padding-top: 0rem;
    padding-bottom: 0rem;
    margin-bottom: 2.4rem;
  }
}

h5 {
  font-size: 1.1538461538rem;
  line-height: 2.1rem;
  margin-top: 2.1rem;
  padding-top: 0rem;
  padding-bottom: 0rem;
  margin-bottom: 2.1rem;
  color: #1a245c;
}

@media (min-width: 60em) {
  h5 {
    font-size: 1.1875rem;
    line-height: 2.4rem;
  }
}

@media (min-width: 60em) {
  h5 {
    margin-top: 2.4rem;
    padding-top: 0rem;
    padding-bottom: 0rem;
    margin-bottom: 2.4rem;
  }
}

h6 {
  font-size: 1rem;
  line-height: 2.1rem;
  margin-top: 2.1rem;
  padding-top: 0rem;
  padding-bottom: 0rem;
  margin-bottom: 2.1rem;
  color: #1a245c;
}

@media (min-width: 60em) {
  h6 {
    font-size: 1rem;
    line-height: 2.4rem;
  }
}

@media (min-width: 60em) {
  h6 {
    margin-top: 2.4rem;
    padding-top: 0rem;
    padding-bottom: 0rem;
    margin-bottom: 2.4rem;
  }
}

h6.small {
  font-size: 0.7692307692rem;
  line-height: 2.1rem;
  margin-top: 1.05rem;
  padding-top: 0rem;
  padding-bottom: 0rem;
  margin-bottom: 1.05rem;
}

@media (min-width: 60em) {
  h6.small {
    font-size: 0.75rem;
    line-height: 1.2rem;
  }
}

@media (min-width: 60em) {
  h6.small {
    margin-top: 1.2rem;
    padding-top: 0rem;
    padding-bottom: 0rem;
    margin-bottom: 1.2rem;
  }
}

h6.green {
  color: #7ebe38;
}

::-moz-selection {
  text-shadow: none;
  color: #fff;
  background-color: #7ebe38;
}

::selection {
  color: #fff;
  background-color: #7ebe38;
  text-shadow: none;
}

a:hover {
  text-decoration: none;
  color: #73af32;
}

a,
a[href^=tel] {
  color: #7ebe38;
  text-decoration: none;
  transition: all ease .15s;
}

ul,
ol {
  list-style: none;
  margin-left: 0;
  padding-left: 0;
}

@media (min-width: 60em) {
  ul,
  ol {
    padding-left: 0;
  }
}

ul li {
  position: relative;
  padding-left: 2em;
}

ul li:before {
  font-size: 32px;
  content: '•';
  color: #7ebe38;
  display: block;
  position: absolute;
  top: -4px;
  left: 0;
}

ol {
  counter-reset: list;
}

ol > li {
  position: relative;
  padding-left: 2em;
}

ol > li:before {
  counter-increment: list;
  content: counter(list) ".";
  color: #7ebe38;
  display: inline-block;
  position: absolute;
  left: 0;
}

ol > li:nth-child(10n) ~ li:before, ol > li:nth-child(10n):before {
  content: counter(list);
}

ol > li p {
  margin: 0;
}

ul ol,
ol ul {
  padding-top: 0;
}

ul.benefits__list li:before {
  content: '';
  background-image: url("/assets/images/check-groen.svg");
  top: 0.9rem;
  height: 10px;
  width: 14px;
}

img {
  vertical-align: middle;
  max-width: 100%;
  height: auto;
}

img.rounded {
  border-radius: 200px;
  overflow: hidden;
}

figure {
  margin: 0;
  position: relative;
  clear: both;
  width: 100%;
}

hr {
  border: 0;
  height: 1px;
  width: 100%;
  background-color: #dfe0e5;
  margin-top: 1.05rem;
  padding-top: 0rem;
  padding-bottom: 0rem;
  margin-bottom: 1.05rem;
}

@media (min-width: 60em) {
  hr {
    margin-top: 1.2rem;
    padding-top: 0rem;
    padding-bottom: 0rem;
    margin-bottom: 1.2rem;
  }
}

input:focus {
  outline: none;
}

.input--text,
.input--text:valid {
  font-size: 0.9230769231rem;
  line-height: 2.1rem;
  height: 27px;
  display: block;
  margin: 0;
  border-radius: 2px;
}

@media (min-width: 60em) {
  .input--text,
  .input--text:valid {
    font-size: 0.875rem;
    line-height: 1.2rem;
  }
}

@media (min-width: 60em) {
  .input--text,
  .input--text:valid {
    height: 38px;
  }
}

.input--error,
.input--text:invalid {
  border: 2px solid #be3838;
}

input,
textarea {
  outline: none;
  padding: 27px 14px;
  border: 2px solid #dfe0e5;
  transition: .2s all;
  color: #5b6277;
}

input:focus,
textarea:focus {
  border-color: #151e4d;
}

textarea {
  display: block;
}

.button__input--checkbox {
  padding: 0;
}

.button__input--checkbox label {
  float: left;
  position: relative;
  overflow: hidden;
}

.button__input--checkbox label span {
  text-align: center;
  display: block;
  cursor: pointer;
}

.button__input--checkbox label input {
  position: absolute;
  top: -20px;
}

.button__input--checkbox label input:checked + span {
  color: #fff;
}

label {
  font-size: 1rem;
  line-height: 2.1rem;
  color: #1a245c;
  display: block;
  width: 100%;
}

@media (min-width: 60em) {
  label {
    font-size: 1rem;
    line-height: 2.4rem;
  }
}

nav ul {
  padding: 0;
  margin: 0;
  display: none;
}

nav ul.active {
  display: block;
}

nav ul.active ul {
  display: block;
}

nav li {
  padding: 0;
  margin: 0;
  display: block;
  position: static;
}

nav li:before {
  content: '';
}

@media (min-width: 60em) {
  nav {
    height: 160px;
  }
}

.nav .baseNav {
  height: 56px;
}

@media (min-width: 60em) {
  .nav .baseNav {
    height: 80px;
  }
}

.nav .baseNav:before {
  height: 56px;
}

@media (min-width: 60em) {
  .nav .baseNav:before {
    height: 80px;
  }
}

.nav .js-site-nav.active {
  overflow: hidden;
  height: 0;
  min-height: 0;
  background-color: #f9faff;
  text-align: left;
}

@media only screen and (min-width: 1035px) {
  .nav .js-site-nav.active {
    padding-left: 55px;
    padding-right: 55px;
  }
}

.nav .js-site-nav.active a {
  color: #1a245c;
  font-size: 1rem;
  line-height: 2.1rem;
  text-decoration: none;
}

@media (min-width: 60em) {
  .nav .js-site-nav.active a {
    font-size: 1rem;
    line-height: 2.4rem;
  }
}

.nav .js-site-nav.active li {
  line-height: 2.5;
  margin-top: 0rem;
  padding-top: 1.05rem;
  padding-bottom: 1.05rem;
  margin-bottom: 0rem;
  text-align: center;
  position: relative;
  border-bottom: 2px solid rgba(249, 252, 253, 0.12);
}

.nav .js-site-nav.active li img {
  display: none;
}

@media (min-width: 60em) {
  .nav .js-site-nav.active li {
    margin-top: 0rem;
    padding-top: 1.2rem;
    padding-bottom: 1.2rem;
    margin-bottom: 0rem;
  }
}

@media (min-width: 60em) {
  .nav .js-site-nav.active li.has-children.level1 {
    position: initial;
  }
}

.nav .js-site-nav.active li.has-children:after {
  content: '';
  position: absolute;
  top: 18px;
  right: 10%;
  width: 30px;
  height: 30px;
  background-image: url("/assets/images/plus-icon-blauw.svg");
  background-repeat: no-repeat;
  z-index: 9999;
}

.nav .js-site-nav.active li.has-children ul {
  display: none;
  margin-top: 0rem;
  padding-top: 0rem;
  padding-bottom: 0rem;
  margin-bottom: 0rem;
}

@media (min-width: 60em) {
  .nav .js-site-nav.active li.has-children ul {
    margin-top: 0rem;
    padding-top: 0rem;
    padding-bottom: 0rem;
    margin-bottom: 0rem;
  }
}

.nav .js-site-nav.active li.has-children ul a {
  font-size: 1rem;
  line-height: 2.1rem;
}

@media (min-width: 60em) {
  .nav .js-site-nav.active li.has-children ul a {
    font-size: 1rem;
    line-height: 2.4rem;
  }
}

@media (min-width: 60em) {
  .nav .js-site-nav.active li.has-children ul a {
    display: block;
  }
}

.nav .js-site-nav.active li.has-children ul li {
  border: 0;
  padding: 0;
}

.nav .js-site-nav.active li.has-children ul li:after {
  content: none;
}

.nav .js-site-nav.active li.has-children.active ul {
  display: inline;
}

.nav .js-site-nav.active li.has-children.active:after {
  top: 25px;
  background-image: url("/assets/images/min-icon-blauw.svg");
}

@media (min-width: 60em) {
  .nav .js-site-nav.active {
    background-color: inherit;
    height: inherit;
  }
  .nav .js-site-nav.active li {
    text-align: left;
  }
}

.baseNav {
  position: relative;
}

.baseNav:before {
  content: '';
  left: -15px;
  right: -15px;
  position: absolute;
  z-index: -1;
  height: 80px;
  bottom: 0;
  border-top: 1px solid #dee0e9;
  background-color: #f9faff;
}

@media (min-width: 60em) {
  .baseNav:before {
    left: -100%;
    right: -100%;
  }
}

.nav__item {
  font-size: 0.9230769231rem;
  line-height: 2.1rem;
  width: 100%;
}

@media (min-width: 60em) {
  .nav__item {
    font-size: 0.875rem;
    line-height: 1.2rem;
  }
}

.nav__item a {
  color: #1a245c;
  font-size: 0.9230769231rem;
  line-height: 2.1rem;
}

@media (min-width: 60em) {
  .nav__item a {
    font-size: 0.875rem;
    line-height: 1.2rem;
  }
}

@media (min-width: 60em) {
  .nav__item {
    display: inline-block;
    width: auto;
    padding-top: 20px;
    padding-bottom: 22px;
    padding-right: 30px;
  }
  .nav__item a {
    color: #1a245c;
  }
}

@media (min-width: 60em) {
  .nav .level1 ul {
    display: inline-block !important;
  }
  .nav .level1:hover ul {
    display: inline !important;
    visibility: visible !important;
  }
  .nav .js-site-nav.active {
    overflow: inherit;
  }
  .nav li.level2,
  .nav li.level3 {
    position: relative;
    z-index: 9999;
    display: block;
  }
  .nav li.has-children:after {
    content: none !important;
  }
  .nav li.level2 {
    width: 200px;
    float: left;
    display: block;
    padding-top: 20px;
  }
  .nav li.level2 > a {
    font-weight: 600 !important;
  }
  .nav li.level3 a {
    font-weight: 300;
  }
  .nav li.level1 img {
    padding-left: 8px;
    display: inline !important;
    transition: all ease 0.8s;
  }
  .nav li.level1:hover img {
    -ms-transform: scaleY(-1);
        transform: scaleY(-1);
    filter: FlipV;
    -ms-filter: "FlipV";
  }
  .nav .level1 ul {
    position: absolute;
    z-index: 99999;
  }
  .nav .level1 ul li {
    padding: 5px 0;
  }
  .nav .level1 > ul {
    padding-top: 40px !important;
    padding-left: 30px;
    visibility: hidden;
    margin-left: -30px;
  }
  .nav .level1 > ul li {
    opacity: 0;
  }
  .nav .level1 > ul:before {
    content: ' ';
    border-right: 1px solid #dfe0e5;
    border-left: 1px solid #dfe0e5;
    background-color: #f9faff;
    width: 100%;
    max-height: 0;
    height: 0;
    position: absolute;
    left: 0;
    right: 0;
    top: 22px;
    bottom: 0;
  }
  .nav .level1:hover > ul {
    display: block !important;
  }
  .nav .level1:hover > ul li:nth-child(1) {
    transition-delay: 0.32s;
  }
  .nav .level1:hover > ul li:nth-child(2) {
    transition-delay: 0.39s;
  }
  .nav .level1:hover > ul li:nth-child(3) {
    transition-delay: 0.46s;
  }
  .nav .level1:hover > ul li:nth-child(4) {
    transition-delay: 0.53s;
  }
  .nav .level1:hover > ul li:nth-child(5) {
    transition-delay: 0.6s;
  }
  .nav .level1:hover > ul li:nth-child(6) {
    transition-delay: 0.67s;
  }
  .nav .level1:hover > ul li:nth-child(7) {
    transition-delay: 0.74s;
  }
  .nav .level1:hover > ul li:nth-child(8) {
    transition-delay: 0.81s;
  }
  .nav .level1:hover > ul li:nth-child(9) {
    transition-delay: 0.88s;
  }
  .nav .level1:hover > ul li:nth-child(10) {
    transition-delay: 0.95s;
  }
  .nav .level1:hover > ul li:nth-child(11) {
    transition-delay: 1.02s;
  }
  .nav .level1:hover > ul li:nth-child(12) {
    transition-delay: 1.09s;
  }
  .nav .level1:hover > ul li:nth-child(13) {
    transition-delay: 1.16s;
  }
  .nav .level1:hover > ul li:nth-child(14) {
    transition-delay: 1.23s;
  }
  .nav .level1:hover > ul li:nth-child(15) {
    transition-delay: 1.3s;
  }
  .nav .level1:hover > ul li:nth-child(16) {
    transition-delay: 1.37s;
  }
  .nav .level1:hover > ul li:nth-child(17) {
    transition-delay: 1.44s;
  }
  .nav .level1:hover > ul li:nth-child(18) {
    transition-delay: 1.51s;
  }
  .nav .level1:hover > ul li:nth-child(19) {
    transition-delay: 1.58s;
  }
  .nav .level1:hover > ul li {
    opacity: 1;
    transition: all ease 0.4s;
  }
  .nav .level1:hover > ul:before {
    max-height: 330px;
    height: 330px;
    transition: height ease 0.5s;
  }
  .nav .level1.simple {
    padding-bottom: 20px;
  }
  .nav .level1.simple:hover > a {
    color: #7ebe38;
  }
  .nav .level1.simple > ul:before {
    height: 100%;
    max-width: 340px;
  }
  .nav .level1.simple .level2 {
    width: 100%;
  }
  .nav .level1.simple .level2 a {
    font-weight: 300 !important;
  }
}

.js-base-nav-fixed {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  height: 80px;
  z-index: 999;
  max-width: 1238px;
  margin: 0 auto;
}

.logo-placeholder {
  display: inline;
}

.logo-placeholder img {
  margin-right: 20px;
  max-width: 100px;
}

.sitesBorderTop {
  border-top: 1px solid #dfe0e5;
}

.sites {
  height: 81px;
}

@media only screen and (max-width: 767px) {
  .sites {
    height: 57px;
  }
}

.sites img {
  max-width: 70%;
}

@media (min-width: 45em) {
  .sites {
    height: initial;
  }
}

.sites__site {
  display: none;
  height: 56px;
  margin: 0;
  vertical-align: middle;
}

.sites__site.active {
  display: table-cell;
}

.sites__site.visible {
  display: table-cell;
}

@media (min-width: 45em) {
  .sites__site {
    height: 80px;
    border-right: 1px solid transparent;
    background-color: #f9faff;
    background-color: #fff;
    transition: background 0.1s;
    border-left: 1px solid #dfe0e5;
    border-top: 0;
    padding: 14px 14px;
  }
  .sites__site img {
    max-width: 90px;
  }
}

@media (min-width: 72em) {
  .sites__site {
    padding: 18px 14px;
  }
  .sites__site img {
    max-width: inherit;
  }
}

.sites__site a {
  display: block;
}

.sites__site img {
  filter: grayscale(100%);
  transition: all 0.2s;
}

@media (min-width: 45em) {
  .sites__site:last-child {
    border-right: 1px solid #dfe0e5;
  }
}

.sites__site:hover, .sites__site.active {
  border-top: 0;
  border-right: 0;
  position: relative;
}

@media (min-width: 45em) {
  .sites__site:hover, .sites__site.active {
    border-left: 1px solid #dee0e9;
    border-right: 1px solid transparent;
    background-color: #f9faff;
  }
}

.sites__site:hover img, .sites__site.active img {
  filter: grayscale(0);
}

@media (min-width: 45em) {
  .sites__site:hover:before, .sites__site.active:before {
    content: '';
    position: absolute;
    right: -3px;
    bottom: -1px;
    top: 0;
    width: 1px;
    background-color: #fff;
    z-index: 9;
  }
  .sites__site:hover:after, .sites__site.active:after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -2px;
    height: 2px;
    background-color: #f9faff;
    z-index: 9;
  }
  .sites__site:hover:last-of-type, .sites__site.active:last-of-type {
    border-right: 1px solid #dee0e9;
  }
}

.sites__site:hover:before, .sites__site.active:before {
  content: none;
}

.sites .button--right--abs {
  top: 8px;
  position: absolute;
  right: 15px;
  height: 49px;
}

@media only screen and (max-width: 767px) {
  .sites .button--right--abs {
    height: 41px;
  }
}

@media (min-width: 45em) {
  .sites .button--right--abs {
    top: 15px;
    height: initial;
  }
}

.sites__quote {
  display: none;
}

@media (min-width: 45em) {
  .sites__quote {
    display: table-cell;
    padding: 21px;
    color: #7ebe38;
    font-weight: 500;
  }
}

.site {
  position: relative;
}

.nav__contact {
  display: none;
  position: absolute;
  right: 0;
  z-index: 999;
  height: 100%;
  top: 0;
}

.nav__contact.navContact--mobile {
  display: inherit;
  left: 0;
  right: inherit;
  position: relative;
}

@media (min-width: 60em) {
  .nav__contact {
    display: inherit;
  }
  .nav__contact.navContact--mobile {
    display: none;
  }
}

.nav__contact .navContact {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  height: 100%;
}

.nav__contact .navContact p.small {
  font-size: 12px;
  line-height: 20px;
  color: #5b6277;
  margin: 0;
}

.nav__contact .navContact h6 {
  margin-top: 0rem;
  padding-top: 0rem;
  padding-bottom: 0rem;
  margin-bottom: 0rem;
  color: #7ebe38;
  line-height: 1rem;
}

@media (min-width: 60em) {
  .nav__contact .navContact h6 {
    margin-top: 0rem;
    padding-top: 0rem;
    padding-bottom: 0rem;
    margin-bottom: 0rem;
  }
}

.nav__contact .navContact h6.small {
  color: #1a245c;
}

.nav__contact .navContact__left {
  width: 30px;
}

.nav__contact .navContact__item {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  padding: 0 16px;
}

.nav__contact .navContact__item--small .navContact__right {
  width: 30px;
}

.navContact--mobile {
  float: left;
}

.openingstijden {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
}

.openingstijden h6 {
  margin: 0;
  margin-right: 10px;
  line-height: 1.2rem;
}

.navContactToggle {
  background-color: #1a245c;
  cursor: pointer;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  color: #fff;
  font-weight: 600;
  font-size: 13px;
  border-radius: 2px;
  padding: 6px 15px;
  width: 107px;
}

.navContactToggle span {
  margin-right: 8px;
}

.navContactToggle--closed {
  display: block;
}

.navContactToggle--open {
  display: none;
}

.navContactToggle.active .navContactToggle--closed {
  display: none;
}

.navContactToggle.active .navContactToggle--open {
  display: block;
}

.navContactWrapper {
  display: none;
  padding: 16px 0;
  min-width: 240px;
  border-top: #dadce5 1px solid;
}

.navContactWrapper.active {
  display: block;
  margin-top: 56px;
  position: absolute;
  left: -16px;
  top: 0;
  background: #f9faff;
}

.navContactWrapper .navContact__item .navContact__right {
  width: 100%;
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: #dadce5 1px solid;
}

.navContactWrapper .navContact__item:last-child .navContact__right {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}

.navContactBg {
  pointer-events: none;
  width: 100vw;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  position: absolute;
  z-index: 99;
  display: none;
  left: 0;
  top: 0;
}

.navContactBg.active {
  display: block;
}

@media (min-width: 45em) {
  .topNav {
    margin-top: 0.42rem;
  }
}

@media (min-width: 45em) and (min-width: 60em) {
  .topNav {
    margin-top: 0.48rem;
  }
}

@media (min-width: 45em) {
  .topNav__logo {
    box-sizing: border-box;
    width: 13.5004042038%;
    float: left;
    margin-right: 3.7995149554%;
  }
  .topNav__logo img.inactive {
    filter: grayscale(100%);
    transition: all ease 0.5s;
  }
  .topNav__logo img.inactive:hover {
    filter: grayscale(0);
  }
  .topNav__description {
    box-sizing: border-box;
    width: 82.7000808408%;
    float: right;
    margin-right: 0;
  }
}

.topNav__mobileDesc h6 {
  padding: 0;
  margin: 0;
  text-align: center;
}

.topNav__mobileDesc h6 a {
  color: inherit;
  text-decoration: underline;
}

@media (min-width: 45em) {
  .topNav--inactive {
    margin-top: 2px;
  }
  .topNav--inactive h6 {
    margin-top: 11px;
    margin-bottom: 5px;
  }
  .topNav--inactive img {
    height: 20px;
    margin-top: 8px;
    margin-bottom: 8px;
    vertical-align: top;
  }
}

.fixed {
  position: fixed;
}

.pin-t {
  top: 0;
  left: 0;
  padding-left: 15px;
  right: 0;
  margin: 0 auto;
}

.transition-up {
  margin-top: -58px;
  opacity: 0;
  transition: .3s all;
}

.transition-down {
  margin-top: 0;
  opacity: 1;
  transition: .3s all;
}

.topbarFixed {
  z-index: 9999;
  width: 100%;
  max-width: 77.3124999986em;
}

.topbarFixed.fixed .sites {
  background-color: #fff;
}

.topbarFixed.fixed .sites:before {
  left: -100%;
  right: -100%;
  content: '';
  position: absolute;
  z-index: -1;
  height: 81px;
  top: -1px;
  background-color: #fff;
}

.cookienotice {
  width: 100%;
  left: 0;
  right: 0;
  background-color: #fff;
  position: fixed;
  max-width: 1237px;
  margin: 0 auto;
  padding: 40px;
  text-align: left;
  color: #5b6277;
  border: 2px solid #7ebe38;
  z-index: 9999999;
}

@media only screen and (max-width: 767px) {
  .cookienotice {
    padding: 10px 20px;
  }
}

.cookienotice--top {
  top: 0;
}

.cookienotice--bottom {
  bottom: 0;
}

.cookienotice strong {
  color: #5b6277;
  font-weight: 800;
  font-size: 20px;
  margin-bottom: 10px;
}

.cookienotice p a {
  color: #7ebe38;
}

.cookienotice p,
.cookienotice .cookienotice__button {
  font-size: 13px;
  margin: 0;
  color: #5b6277;
  line-height: 1.5;
}

@media only screen and (max-width: 767px) {
  .cookienotice p,
  .cookienotice .cookienotice__button {
    font-size: 11px;
  }
}

.cookienotice .cookienotice__button {
  cursor: pointer;
  text-decoration: none;
  margin-top: 20px;
}

.cookienotice .cookienotice__button--decline {
  color: #8f95a9;
}

.cookienotice .cookienotice__button--accept {
  background-color: #7ebe38;
  color: #fff;
  font-weight: 700;
  display: inline-block;
  padding: 10px 30px;
}

.cookienotice .cookienotice__button--decline {
  background-color: #fff;
  color: #5b6277;
  font-weight: 700;
  display: inline-block;
  padding: 10px 30px 10px 0;
}

.cookienotice.hide {
  display: none;
}

.nav__hamburger {
  position: absolute;
  top: 1px;
  z-index: 999;
  right: -15px;
  width: 90px;
  height: 56px;
  -ms-transform: rotate(0deg);
      transform: rotate(0deg);
  transition: .5s ease-in-out;
  background-color: #1a245c;
  cursor: pointer;
  display: block;
}

@media (min-width: 60em) {
  .nav__hamburger {
    display: none;
  }
}

.nav__hamburger:before {
  content: 'Menu';
  position: absolute;
  top: 21px;
  left: 15px;
  color: #fff;
  font-weight: 700;
  font-size: 10px;
  line-height: 17px;
}

.nav__hamburger.open:before {
  content: 'Sluit';
}

.nav__hamburger span {
  display: block;
  position: absolute;
  height: 2px;
  width: 16px;
  background-color: #fff;
  border-radius: 9px;
  opacity: 1;
  right: 25px;
  -ms-transform: rotate(0deg);
      transform: rotate(0deg);
  transition: .2s ease-in-out;
}

.nav__hamburger span:nth-child(1) {
  top: 22px;
}

.nav__hamburger span:nth-child(2), .nav__hamburger span:nth-child(3) {
  width: 20px;
  margin-right: -2px;
  top: 28px;
}

.nav__hamburger span:nth-child(4) {
  top: 34px;
}

.nav__hamburger.open span:nth-child(1) {
  opacity: 0;
}

.nav__hamburger.open span:nth-child(2) {
  -ms-transform: rotate(45deg);
      transform: rotate(45deg);
}

.nav__hamburger.open span:nth-child(3) {
  -ms-transform: rotate(-45deg);
      transform: rotate(-45deg);
}

.nav__hamburger.open span:nth-child(4) {
  opacity: 0;
}

.bar {
  padding: 14px 27px;
  width: 100%;
  margin-top: 6.3rem;
  border: 1px solid #dfe0e5;
}

@media (min-width: 60em) {
  .bar {
    margin-top: 7.2rem;
  }
}

.bar img {
  max-width: 100%;
  height: auto;
}

@media (min-width: 60em) {
  .bar {
    height: 260px;
  }
}

@media (min-width: 45em) {
  .bar {
    height: 230px;
    padding: 14px 41px;
  }
  .bar .button, .bar .matrix__item .freeform-row button, .matrix__item .freeform-row .bar button, .bar .button__input--checkbox label span, .button__input--checkbox label .bar span, .bar .contact .tab__content button, .contact .tab__content .bar button {
    margin-bottom: 1.05rem;
  }
}

@media (min-width: 45em) and (min-width: 60em) {
  .bar .button, .bar .matrix__item .freeform-row button, .matrix__item .freeform-row .bar button, .bar .button__input--checkbox label span, .button__input--checkbox label .bar span, .bar .contact .tab__content button, .contact .tab__content .bar button {
    margin-bottom: 1.2rem;
  }
}

@media (min-width: 45em) {
  .bar h3 {
    max-width: 190px;
    margin-top: 0rem;
    padding-top: 0rem;
    padding-bottom: 0rem;
    margin-bottom: 0rem;
    margin-bottom: 1.05rem;
  }
}

@media (min-width: 45em) and (min-width: 60em) {
  .bar h3 {
    margin-top: 0rem;
    padding-top: 0rem;
    padding-bottom: 0rem;
    margin-bottom: 0rem;
  }
}

@media (min-width: 45em) and (min-width: 60em) {
  .bar h3 {
    margin-bottom: 1.2rem;
  }
}

@media (min-width: 45em) {
  .bar .contact {
    float: left;
  }
  .bar .contact h6 {
    margin-top: 0rem;
    padding-top: 0rem;
    padding-bottom: 0rem;
    margin-bottom: 0rem;
    color: #7ebe38;
    line-height: 1rem;
  }
}

@media (min-width: 45em) and (min-width: 60em) {
  .bar .contact h6 {
    margin-top: 0rem;
    padding-top: 0rem;
    padding-bottom: 0rem;
    margin-bottom: 0rem;
  }
}

@media (min-width: 45em) {
  .bar .contact h6.small {
    color: #1a245c;
  }
  .bar .contact__left {
    float: left;
    width: 30px;
  }
  .bar .contact__right {
    float: left;
    margin-right: 10px;
  }
  .bar .contact__item {
    float: right;
  }
  .bar .contact__item--small .navContact__right {
    width: 30px;
  }
}

@media (min-width: 45em) {
  .bar__left {
    box-sizing: border-box;
    width: 30.800323363%;
    float: left;
    margin-right: 3.7995149554%;
  }
}

@media (min-width: 45em) {
  .bar__right {
    box-sizing: border-box;
    width: 65.4001616815%;
    float: right;
    margin-right: 0;
  }
  .bar__right img {
    margin: -46px -3px;
    max-height: 260px;
  }
}

@media only screen and (max-width: 1300px) {
  .bar__right img:nth-last-child(-n+1) {
    display: none;
  }
}

@media only screen and (max-width: 1024px) {
  .bar__right img:nth-last-child(-n+2) {
    display: none;
  }
}

@media only screen and (max-width: 900px) {
  .bar__right img:nth-last-child(-n+3) {
    display: none;
  }
}

@media only screen and (max-width: 767px) {
  .bar__right img:nth-last-child(-n+4) {
    display: none;
  }
  .bar__right img {
    max-height: 230px;
    position: absolute;
    z-index: 0;
    right: 0;
    top: -39px;
  }
}

@media only screen and (max-width: 767px) {
  .bar {
    position: relative;
  }
  .bar h3 {
    position: relative;
    z-index: 1;
  }
  .bar .contact__item {
    margin-top: 10px;
    display: inline-block;
    width: 40%;
    height: auto;
    overflow: hidden;
  }
  .bar .contact__item h6 {
    margin: 0;
  }
}

.heroCard {
  height: auto;
  overflow: hidden;
  margin-top: 0rem;
  padding-top: 0rem;
  padding-bottom: 0rem;
  margin-bottom: 0rem;
  background-color: #fff;
  position: relative;
  z-index: 20;
}

@media (min-width: 60em) {
  .heroCard {
    margin-top: 0rem;
    padding-top: 0rem;
    padding-bottom: 0rem;
    margin-bottom: 0rem;
  }
}

@media (min-width: 45em) {
  .heroCard {
    padding-left: 0;
    padding-right: 0;
    margin-top: -4.2rem;
    padding-top: 4.2rem;
    padding-bottom: 4.2rem;
    margin-bottom: 2.1rem;
    overflow: hidden;
    border: 1px solid #dfe0e5;
  }
}

@media (min-width: 45em) and (min-width: 60em) {
  .heroCard {
    margin-top: -4.8rem;
    padding-top: 4.8rem;
    padding-bottom: 4.8rem;
    margin-bottom: 2.4rem;
  }
}

.heroCard__text {
  margin-top: 2.1rem;
  margin-bottom: 2.1rem;
}

@media (min-width: 60em) {
  .heroCard__text {
    margin-top: 2.4rem;
  }
}

@media (min-width: 45em) {
  .heroCard__text {
    margin-top: 0rem;
    text-align: center;
  }
}

@media (min-width: 45em) and (min-width: 60em) {
  .heroCard__text {
    margin-top: 0rem;
  }
}

@media (min-width: 60em) {
  .heroCard__text {
    margin-bottom: 2.4rem;
  }
}

.heroCard__text h3,
.heroCard__text h6 {
  margin: 0;
}

.heroCard__text--top {
  margin-bottom: 0rem;
  clear: both;
  padding-top: 27px;
}

@media (min-width: 60em) {
  .heroCard__text--top {
    margin-bottom: 0rem;
  }
}

@media (min-width: 45em) {
  .heroCard__text--top {
    padding-top: 55px;
  }
}

.heroCard__item {
  font-size: 0.9230769231rem;
  line-height: 2.1rem;
}

@media (min-width: 60em) {
  .heroCard__item {
    font-size: 0.875rem;
    line-height: 1.2rem;
  }
}

@media (min-width: 45em) {
  .heroCard__item {
    box-sizing: border-box;
    width: 25%;
    float: left;
    padding-left: 30px;
    position: relative;
    padding-right: 30px;
    border-right: 1px solid #dfe0e5;
    height: 490px;
  }
  .heroCard__item:nth-of-type(4n + 4) {
    box-sizing: border-box;
    width: 25%;
    float: right;
    border-right: 0;
  }
  .heroCard__item p {
    color: #5b6277;
    font-size: 0.9230769231rem;
    line-height: 2.1rem;
    line-height: 2rem !important;
  }
}

@media (min-width: 45em) and (min-width: 60em) {
  .heroCard__item p {
    font-size: 0.875rem;
    line-height: 1.2rem;
  }
}

@media (min-width: 45em) {
  .heroCard__item p strong {
    color: #1a245c;
  }
  .heroCard__item p a {
    font-weight: 600;
  }
}

.heroCard__item img {
  padding-right: 8px;
}

.heroCard__item h6 {
  margin-top: 0rem;
  padding-top: 0rem;
  padding-bottom: 0rem;
  margin-bottom: 0rem;
  margin-top: 1.05rem;
}

@media (min-width: 60em) {
  .heroCard__item h6 {
    margin-top: 0rem;
    padding-top: 0rem;
    padding-bottom: 0rem;
    margin-bottom: 0rem;
  }
}

@media (min-width: 60em) {
  .heroCard__item h6 {
    margin-top: 1.2rem;
  }
}

@media (min-width: 60em) {
  .heroCard__item--length3 {
    box-sizing: border-box;
    width: 33.3333333333%;
    float: left;
    height: inherit;
  }
  .heroCard__item--length3:last-child {
    box-sizing: border-box;
    width: 33.3333333333%;
    float: right;
    border-right: 0;
  }
  .heroCard__item--length2 {
    box-sizing: border-box;
    width: 50%;
    float: left;
    height: inherit;
  }
  .heroCard__item--length2:last-child {
    box-sizing: border-box;
    width: 50%;
    float: right;
    border-right: 0;
  }
  .heroCard__item--solo {
    color: #9a9999;
  }
}

.heroCard__item .bottom {
  position: relative;
  padding: 0;
  margin: 10px 0 30px;
}

@media (min-width: 60em) {
  .heroCard__item .bottom {
    position: absolute;
    bottom: 0;
  }
}

.heroCard__item .bottom h6 {
  color: #7ebe38;
}

.heroCard__item .bottom h6 img {
  padding-left: 8px;
}

.heroCard__collapse {
  transition: all ease-in-out 0.5s;
}

.heroCard__collapse.active .heroCard__collapse--title:after {
  -ms-transform: rotate(90deg);
      transform: rotate(90deg);
}

.heroCard__collapse.active .heroCard__collapse--title:before {
  -ms-transform: rotate(180deg);
      transform: rotate(180deg);
}

.heroCard__collapse.active .heroCard__collapse--content {
  max-height: 350px;
  transition: all ease 1s;
}

.heroCard__collapse--title {
  position: relative;
  max-width: 98%;
  border-top: 1px solid #dfe0e5;
}

.heroCard__collapse--title img {
  padding: 20px 10px 20px 0;
}

@media (min-width: 45em) {
  .heroCard__collapse--title {
    max-height: 60px;
    overflow: hidden;
    border-top: 0;
  }
  .heroCard__collapse--title:after, .heroCard__collapse--title:before {
    content: none !important;
  }
}

.heroCard__collapse--title:after {
  position: absolute;
  content: '';
  right: 24px;
  top: 16px;
  background-color: #1a245c;
  height: 16px;
  width: 2px;
  margin-top: 5px;
  transition: all ease-in-out 0.5s;
}

.heroCard__collapse--title:before {
  position: absolute;
  content: '';
  background-color: #1a245c;
  right: 17px;
  top: 23px;
  height: 2px;
  width: 16px;
  margin-top: 5px;
  transition: all ease-in-out 0.6s;
}

.heroCard__collapse--content {
  max-height: 0;
  overflow: hidden;
  transition: all ease-in-out 0.5s;
}

@media (min-width: 60em) {
  .heroCard__collapse--content {
    max-height: inherit;
  }
}

.share {
  border-top: 1px solid #dfe0e5;
  margin-top: 2.1rem;
}

@media (min-width: 60em) {
  .share {
    margin-top: 2.4rem;
  }
}

@media (min-width: 60em) {
  .share {
    float: left;
    width: 100%;
    text-align: right;
    padding-right: 40px;
  }
}

.share img {
  vertical-align: middle;
  max-width: 48px;
}

.share a {
  margin-left: 14px;
  margin-right: 14px;
}

.share__bar {
  text-align: left;
}

.share__item {
  display: inline-block;
}

@media (min-width: 60em) {
  .share h6 {
    display: inline-block;
  }
}

.news--horizontal h3 {
  text-align: center;
}

@media (min-width: 45em) {
  .news--horizontal .newsCard__item {
    box-sizing: border-box;
    width: 48.1002425223%;
    float: left;
    margin-right: 3.7995149554%;
  }
  .news--horizontal .newsCard__item:nth-of-type(2n+2) {
    box-sizing: border-box;
    width: 48.1002425223%;
    float: right;
    margin-right: 0;
  }
}

.newsCard .flexit__holder {
  width: 100%;
}

.newsCard__item {
  height: auto;
  border: 1px solid #dfe0e5;
  display: block;
  transition: border 0.2s ease;
  margin-top: 2.1rem;
}

@media (min-width: 60em) {
  .newsCard__item {
    margin-top: 2.4rem;
  }
}

.newsCard__item h6 {
  color: #7ebe38;
  margin-top: 0rem;
  padding-top: 0rem;
  padding-bottom: 0rem;
  margin-bottom: 0rem;
}

@media (min-width: 60em) {
  .newsCard__item h6 {
    margin-top: 0rem;
    padding-top: 0rem;
    padding-bottom: 0rem;
    margin-bottom: 0rem;
  }
}

.newsCard__item .button__tags, .newsCard__item .button__input--checkbox label span, .button__input--checkbox label .newsCard__item span {
  font-size: 0.7692307692rem;
  line-height: 2.1rem;
  padding: 0px 14px;
  vertical-align: middle;
}

@media (min-width: 60em) {
  .newsCard__item .button__tags, .newsCard__item .button__input--checkbox label span, .button__input--checkbox label .newsCard__item span {
    font-size: 0.75rem;
    line-height: 1.2rem;
  }
}

@media (min-width: 60em) {
  .newsCard__item .button__tags, .newsCard__item .button__input--checkbox label span, .button__input--checkbox label .newsCard__item span {
    padding: 5px 27px;
  }
}

.newsCard__item .button__tags:hover, .newsCard__item .button__input--checkbox label span:hover, .button__input--checkbox label .newsCard__item span:hover {
  background: #e5e8f0;
}

.newsCard__item:hover {
  border-color: #7ebe38;
}

.newsCard__image {
  box-sizing: border-box;
  width: 25%;
  float: left;
  margin-top: -1px;
  margin-bottom: -1px;
  margin-left: -1px;
}

.newsCard__text {
  box-sizing: border-box;
  width: 73.6842105263%;
  float: right;
  margin-right: 0;
}

.newsCard .content {
  display: table-cell;
  vertical-align: middle;
  padding-left: 10px;
  padding-right: 10px;
}

@media (min-width: 60em) {
  .newsCard__image {
    box-sizing: border-box;
    width: 33.3333333333%;
    float: left;
  }
  .newsCard__text {
    padding-left: 10px;
    box-sizing: border-box;
    width: 65.4001616815%;
    float: right;
    margin-right: 0;
  }
}

.popUp {
  background-color: #fff;
  max-width: 1400px;
  border-radius: 5px;
  margin: 10px 20px;
  position: relative;
  width: 89%;
}

@media only screen and (min-width: 1400px) {
  .popUp {
    margin-left: auto;
    margin-right: auto;
  }
}

.popUp__right {
  padding: 20px;
}

@media (min-width: 45em) {
  .popUp__right {
    box-sizing: border-box;
    width: 48.1002425223%;
    float: right;
    margin-right: 0;
    padding: 30px;
  }
}

.popUp__left {
  height: 300px;
  background-size: cover;
  background-position: center center;
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
}

@media (min-width: 45em) {
  .popUp__left {
    box-sizing: border-box;
    width: 48.1002425223%;
    float: left;
    margin-right: 3.7995149554%;
    height: 550px;
  }
}

.popUp .js-close-button {
  position: absolute;
  top: -21px;
  outline: 0;
  cursor: pointer;
  z-index: 999;
  background-color: transparent;
  border: 0;
  right: -21px;
}

.popUp .js-close-button:hover img {
  box-shadow: 0 4px 6px 0 rgba(0, 0, 0, 0.6);
}

.popUp .js-close-button img {
  transition: all ease 0.3s;
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.5);
  border-radius: 90px;
}

.animalCards {
  border-radius: 1px;
  width: 100%;
}

.animalCards__item {
  background: #fff;
}

.animalCards__item--icon {
  margin-top: 1.05rem;
  padding-top: 1.05rem;
  padding-bottom: 1.05rem;
  margin-bottom: 1.05rem;
  text-align: center;
}

@media (min-width: 60em) {
  .animalCards__item--icon {
    margin-top: 1.2rem;
    padding-top: 1.2rem;
    padding-bottom: 1.2rem;
    margin-bottom: 1.2rem;
  }
}

@media only screen and (max-width: 960px) {
  .animalCards__item--icon img {
    float: left;
    margin-left: 20px !important;
  }
}

@media (min-width: 45em) {
  .animalCards__item--icon img {
    float: none;
  }
}

.animalCards {
  border-radius: 1px;
  width: 100%;
  height: auto;
  overflow: hidden;
}

.animalCards__item {
  background: #fff;
  display: block;
}

.animalCards__item--dark {
  background: #1a245c;
}

@media (min-width: 45em) {
  .animalCards__item--dark {
    box-sizing: border-box;
    width: 48.1002425223%;
    float: left;
    margin-right: 3.7995149554%;
  }
  .animalCards__item--dark:nth-child(2n+2) {
    box-sizing: border-box;
    width: 48.1002425223%;
    float: right;
    margin-right: 0;
  }
}

.animalCards__item--image {
  background: transparent;
  margin-bottom: 2.1rem;
  transition: all ease 0.2s;
  box-sizing: border-box;
  width: 47.3684210526%;
  float: left;
  margin-right: 5.2631578947%;
}

@media (min-width: 60em) {
  .animalCards__item--image {
    margin-bottom: 2.4rem;
  }
}

.animalCards__item--image img {
  box-shadow: 0 5px 10px 0 rgba(0, 28, 105, 0.1);
  border-radius: 3px;
  transition: all ease 0.2s;
}

.animalCards__item--image:nth-child(2n+2) {
  box-sizing: border-box;
  width: 47.3684210526%;
  float: right;
  margin-right: 0;
}

@media (min-width: 45em) {
  .animalCards__item--image {
    box-sizing: border-box;
    width: 46.0504201682%;
    float: left;
    margin-right: 7.8991596637%;
  }
  .animalCards__item--image:nth-child(2n+2) {
    box-sizing: border-box;
    width: 46.0504201682%;
    float: right;
    margin-right: 0;
  }
}

.animalCards__item--image:hover img {
  box-shadow: 0 5px 10px 0 rgba(0, 28, 105, 0.3);
}

.animalCards__item--image:hover a:after {
  right: -25px;
}

.animalCards__item--icon {
  margin-top: 1.05rem;
  padding-top: 1.05rem;
  padding-bottom: 1.05rem;
  margin-bottom: 1.05rem;
  text-align: center;
  overflow: hidden;
}

@media (min-width: 60em) {
  .animalCards__item--icon {
    margin-top: 1.2rem;
    padding-top: 1.2rem;
    padding-bottom: 1.2rem;
    margin-bottom: 1.2rem;
  }
}

@media (min-width: 45em) {
  .animalCards__item--icon {
    height: 75px;
    height: inherit;
  }
}

.animalCards__item--icon:hover {
  box-shadow: 0 5px 10px 0 rgba(0, 28, 105, 0.1);
}

.animalCards__item--icon img {
  height: 40px;
  display: block;
}

@media (min-width: 45em) {
  .animalCards__item--icon img {
    margin: 4px auto 0 !important;
  }
}

.animalCards__item--icon span {
  float: right;
  margin-right: 40px;
  margin-top: 10px;
}

@media (min-width: 45em) {
  .animalCards__item--icon span {
    width: 100%;
  }
}

@media (min-width: 45em) {
  .animalCards__item--icon span,
  .animalCards__item--icon img {
    float: initial;
    margin: 0;
  }
}

.specialism {
  background-color: #fff;
  border: 1px solid #dfe0e5;
  padding: 27px;
}

@media (min-width: 45em) {
  .specialism {
    padding: 27px;
  }
}

.specialism h4 {
  margin-top: 0rem;
  padding-top: 0rem;
  padding-bottom: 0rem;
  margin-bottom: 0rem;
  margin-bottom: 1.05rem;
}

@media (min-width: 60em) {
  .specialism h4 {
    margin-top: 0rem;
    padding-top: 0rem;
    padding-bottom: 0rem;
    margin-bottom: 0rem;
  }
}

@media (min-width: 60em) {
  .specialism h4 {
    margin-bottom: 1.2rem;
  }
}

.specialism .button, .specialism .matrix__item .freeform-row button, .matrix__item .freeform-row .specialism button, .specialism .button__input--checkbox label span, .button__input--checkbox label .specialism span, .specialism .contact .tab__content button, .contact .tab__content .specialism button {
  width: 100%;
  text-align: left;
}

.specialism .button:after, .specialism .matrix__item .freeform-row button:after, .matrix__item .freeform-row .specialism button:after, .specialism .button__input--checkbox label span:after, .button__input--checkbox label .specialism span:after, .specialism .contact .tab__content button:after, .contact .tab__content .specialism button:after {
  right: 0;
}

.specialism .button:hover:after, .specialism .matrix__item .freeform-row button:hover:after, .matrix__item .freeform-row .specialism button:hover:after, .specialism .button__input--checkbox label span:hover:after, .button__input--checkbox label .specialism span:hover:after, .specialism .contact .tab__content button:hover:after, .contact .tab__content .specialism button:hover:after {
  right: -10px;
}

@media (min-width: 45em) {
  .specialism__item {
    margin-bottom: 1.05rem;
    box-sizing: border-box;
    width: 46.0504201682%;
    float: left;
    margin-right: 7.8991596637%;
  }
}

@media (min-width: 45em) and (min-width: 60em) {
  .specialism__item {
    margin-bottom: 1.2rem;
  }
}

@media (min-width: 45em) {
  .specialism__item:nth-child(2n+3) {
    box-sizing: border-box;
    width: 46.0504201682%;
    float: right;
    margin-right: 0;
  }
}

.employee {
  text-align: center;
}

.employee__image {
  box-shadow: 0 5px 10px 0 rgba(0, 28, 105, 0.1);
  border-radius: 200px;
  margin: 0 auto;
  margin-bottom: 1.05rem;
  max-width: 170px;
}

@media (min-width: 60em) {
  .employee__image {
    margin-bottom: 1.2rem;
  }
}

.employee__text {
  min-height: 100px;
}

.employee h6 {
  margin-top: 0rem;
  padding-top: 0rem;
  padding-bottom: 0rem;
  margin-bottom: 0rem;
}

@media (min-width: 60em) {
  .employee h6 {
    margin-top: 0rem;
    padding-top: 0rem;
    padding-bottom: 0rem;
    margin-bottom: 0rem;
  }
}

.employee--expanded {
  margin-bottom: 20px;
}

.employee--expanded a {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: start;
      align-items: flex-start;
  gap: 8px;
}

@media (min-width: 30em) {
  .employee--expanded a {
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-align: center;
        align-items: center;
    gap: 40px;
  }
}

.employee--expanded__image {
  box-shadow: 0 5px 10px 0 rgba(0, 28, 105, 0.1);
  border-radius: 200px;
  width: 120px;
  height: 120px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.employee--expanded__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.employee--expanded__text {
  width: 100%;
  -ms-flex-positive: 1;
      flex-grow: 1;
}

.employee--expanded__text h4 {
  margin: 0;
  line-height: 32px;
}

.employee--expanded__text h6 {
  margin: 0;
  line-height: 27px;
}

.employee--expanded__text p {
  margin: 8px 0 0 0;
  color: #5b6277;
  font-size: 14px;
  line-height: 24px;
}

.stories h3 > a {
  float: right;
  margin-right: 20px;
}

.stories__item {
  border: 1px solid #dfe0e5;
  padding: 27px;
}

.stories__image {
  box-sizing: border-box;
  width: 21.0526315789%;
  float: left;
  margin-right: 5.2631578947%;
}

@media (min-width: 45em) {
  .stories__image {
    box-sizing: border-box;
    width: 30.800323363%;
    float: left;
    margin-right: 3.7995149554%;
  }
}

.stories__title {
  box-sizing: border-box;
  width: 73.6842105263%;
  float: right;
  margin-right: 0;
}

.stories__title h6 {
  margin-top: 0rem;
  padding-top: 0rem;
  padding-bottom: 0rem;
  margin-bottom: 0rem;
}

@media (min-width: 60em) {
  .stories__title h6 {
    margin-top: 0rem;
    padding-top: 0rem;
    padding-bottom: 0rem;
    margin-bottom: 0rem;
  }
}

@media (min-width: 45em) {
  .stories__title {
    box-sizing: border-box;
    width: 65.4001616815%;
    float: right;
    margin-right: 0;
  }
}

.pagination {
  text-align: center;
  margin-top: 2.1rem;
  padding-top: 0rem;
  padding-bottom: 0rem;
  margin-bottom: 2.1rem;
  margin-top: 2.1rem;
}

@media (min-width: 60em) {
  .pagination {
    margin-top: 2.4rem;
    padding-top: 0rem;
    padding-bottom: 0rem;
    margin-bottom: 2.4rem;
  }
}

@media (min-width: 60em) {
  .pagination {
    margin-top: 2.4rem;
  }
}

.pagination .current,
.pagination a {
  margin-left: 8px;
  margin-right: 8px;
}

.breadcrumbs {
  font-size: 0.9230769231rem;
  line-height: 2.1rem;
  padding: 0;
  margin: 0;
  margin-bottom: 1.05rem;
}

@media (min-width: 60em) {
  .breadcrumbs {
    font-size: 0.875rem;
    line-height: 1.2rem;
  }
}

@media (min-width: 60em) {
  .breadcrumbs {
    margin-bottom: 1.2rem;
  }
}

.breadcrumbs li {
  padding: 0;
  padding-left: 14px;
  margin: 0;
  display: inline;
}

.breadcrumbs li:before {
  content: none;
}

.breadcrumbs li:first-child {
  padding-left: 0;
}

.breadcrumbs img {
  margin-left: 14px;
  width: auto;
}

.breadcrumbs a {
  color: #fff;
}

.breadcrumbs--dark a {
  color: #1a245c;
}

footer {
  margin-top: 2.1rem;
  padding-top: 4.2rem;
  padding-bottom: 0rem;
  margin-bottom: 0rem;
}

@media (min-width: 60em) {
  footer {
    margin-top: 2.4rem;
    padding-top: 4.8rem;
    padding-bottom: 0rem;
    margin-bottom: 0rem;
  }
}

@media (min-width: 45em) {
  footer .footer__newsletter {
    margin-top: 2.1rem;
    box-sizing: border-box;
    width: 48.1002425223%;
    float: left;
    margin-right: 3.7995149554%;
  }
}

@media (min-width: 45em) and (min-width: 60em) {
  footer .footer__newsletter {
    margin-top: 2.4rem;
  }
}

@media (min-width: 45em) {
  footer .mc-field-group {
    box-sizing: border-box;
    width: 48.1002425223%;
    float: left;
    margin-right: 3.7995149554%;
  }
  footer .mc-field-group:nth-of-type(even) {
    box-sizing: border-box;
    width: 48.1002425223%;
    float: right;
    margin-right: 0;
  }
}

@media (min-width: 45em) {
  footer .mc-field-group.input-group {
    box-sizing: border-box;
    width: 100%;
    float: left;
    margin-left: 0;
    margin-right: 0;
  }
}

footer .mc-field-group.input-group ul {
  margin-top: 5px;
}

footer .mc-field-group.input-group li {
  padding: 0;
}

footer .mc-field-group.input-group li:before {
  content: none;
}

footer .mc-field-group.input-group li input,
footer .mc-field-group.input-group li label {
  display: inline;
  margin-right: 20px;
}

@media (min-width: 45em) {
  footer .footer__facebook {
    margin-top: 2.1rem;
    margin-bottom: 6.3rem;
    box-sizing: border-box;
    width: 48.1002425223%;
    float: right;
    margin-right: 0;
  }
}

@media (min-width: 45em) and (min-width: 60em) {
  footer .footer__facebook {
    margin-top: 2.4rem;
  }
}

@media (min-width: 45em) and (min-width: 60em) {
  footer .footer__facebook {
    margin-bottom: 7.2rem;
  }
}

footer .footer--rel {
  position: relative;
  margin-bottom: 4.2rem;
}

@media (min-width: 60em) {
  footer .footer--rel {
    margin-bottom: 4.8rem;
  }
}

footer .footer__first {
  height: auto;
  overflow: hidden;
}

footer .footer__first:before {
  content: '';
  position: absolute;
  right: 0;
  top: 0;
  left: 0;
  background: linear-gradient(90deg, #fff 20%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0) 70%);
  z-index: -1;
  height: 100%;
}

@media (min-width: 45em) {
  footer .footer__first:before {
    left: 50%;
  }
}

footer .footer__first:after {
  content: '';
  position: absolute;
  right: 0;
  top: 0;
  left: 0;
  z-index: -2;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-image: url("/assets/images/placeholder.png");
}

@media (min-width: 45em) {
  footer .footer__first:after {
    left: 50%;
  }
}

footer .footer__links {
  height: auto;
  overflow: hidden;
  margin-top: 0rem;
  padding-top: 2.1rem;
  padding-bottom: 4.2rem;
  margin-bottom: 0rem;
}

@media (min-width: 60em) {
  footer .footer__links {
    margin-top: 0rem;
    padding-top: 2.4rem;
    padding-bottom: 4.8rem;
    margin-bottom: 0rem;
  }
}

footer .footerLinks__item a {
  color: #5b6277;
}

footer .footerLinks__item h6 {
  margin-top: 0;
  margin-bottom: 20px;
}

footer .footerLinks__item p {
  margin-top: 0;
}

@media (min-width: 45em) {
  footer .footerLinks__item {
    box-sizing: border-box;
    width: 22.1503637834%;
    float: left;
    margin-right: 3.7995149554%;
  }
  footer .footerLinks__item:nth-of-type(4n+4) {
    box-sizing: border-box;
    width: 22.1503637834%;
    float: right;
    margin-right: 0;
  }
}

footer .footerPraktijken {
  border-top: 1px solid rgba(223, 224, 229, 0.5);
  border-bottom: 1px solid rgba(223, 224, 229, 0.5);
  height: auto;
  overflow: hidden;
  margin-top: 0rem;
  padding-top: 2.1rem;
  padding-bottom: 2.1rem;
  margin-bottom: 0rem;
}

@media (min-width: 60em) {
  footer .footerPraktijken {
    margin-top: 0rem;
    padding-top: 2.4rem;
    padding-bottom: 2.4rem;
    margin-bottom: 0rem;
  }
}

footer .footerPraktijken .small {
  font-size: 0.9230769231rem;
  line-height: 2.1rem;
}

@media (min-width: 60em) {
  footer .footerPraktijken .small {
    font-size: 0.875rem;
    line-height: 1.2rem;
  }
}

footer .footerPraktijken__item img {
  padding-right: 8px;
}

@media (min-width: 45em) {
  footer .footerPraktijken__item {
    box-sizing: border-box;
    width: 48.1002425223%;
    float: left;
    margin-right: 3.7995149554%;
  }
  footer .footerPraktijken__item:nth-of-type(2n+2) {
    box-sizing: border-box;
    width: 48.1002425223%;
    float: right;
    margin-right: 0;
  }
}

@media (min-width: 60em) {
  footer .footerPraktijken__item {
    box-sizing: border-box;
    width: 22.1503637834%;
    float: left;
    margin-right: 3.7995149554%;
  }
  footer .footerPraktijken__item:nth-of-type(2n+2) {
    box-sizing: border-box;
    width: 22.1503637834%;
    float: left;
    margin-right: 3.7995149554%;
  }
  footer .footerPraktijken__item:nth-of-type(4n+4) {
    box-sizing: border-box;
    width: 22.1503637834%;
    float: right;
    margin-right: 0;
  }
}

footer .lowerFooter {
  margin-top: 0rem;
  padding-top: 4.2rem;
  padding-bottom: 4.2rem;
  margin-bottom: 0rem;
}

@media (min-width: 60em) {
  footer .lowerFooter {
    margin-top: 0rem;
    padding-top: 4.8rem;
    padding-bottom: 4.8rem;
    margin-bottom: 0rem;
  }
}

@media (min-width: 45em) {
  footer .lowerFooter__first {
    box-sizing: border-box;
    width: 22.1503637834%;
    float: left;
    margin-right: 3.7995149554%;
  }
  footer .lowerFooter__center {
    box-sizing: border-box;
    width: 48.1002425223%;
    float: left;
    margin-right: 3.7995149554%;
  }
  footer .lowerFooter__last {
    box-sizing: border-box;
    width: 22.1503637834%;
    float: right;
    margin-right: 0;
  }
}

article .breadcrumbs {
  margin-top: 2.1rem;
  margin-bottom: 2.1rem;
}

@media (min-width: 60em) {
  article .breadcrumbs {
    margin-top: 2.4rem;
  }
}

@media (min-width: 60em) {
  article .breadcrumbs {
    margin-bottom: 2.4rem;
  }
}

article img {
  width: 100%;
}

article h1,
article h2,
article h3,
article h4,
article h5,
article h6 {
  margin-top: 1.05rem;
  padding-top: 0rem;
  padding-bottom: 0rem;
  margin-bottom: 1.05rem;
}

@media (min-width: 60em) {
  article h1,
  article h2,
  article h3,
  article h4,
  article h5,
  article h6 {
    margin-top: 1.2rem;
    padding-top: 0rem;
    padding-bottom: 0rem;
    margin-bottom: 1.2rem;
  }
}

.form__row {
  height: auto;
  overflow: hidden;
}

.form__row input[type="submit"] {
  margin-top: 2.1rem;
  cursor: pointer;
}

@media (min-width: 60em) {
  .form__row input[type="submit"] {
    margin-top: 2.4rem;
  }
}

.form__field {
  margin-top: 2.1rem;
}

@media (min-width: 60em) {
  .form__field {
    margin-top: 2.4rem;
  }
}

@media (min-width: 60em) {
  .form__field {
    box-sizing: border-box;
    width: 48.1002425223%;
    float: left;
    margin-right: 3.7995149554%;
  }
  .form__field:nth-of-type(2n + 2) {
    box-sizing: border-box;
    width: 48.1002425223%;
    float: right;
    margin-right: 0;
  }
}

.form__field input,
.form__field textarea {
  width: 100%;
}

@media (min-width: 60em) {
  .form__field--full {
    box-sizing: border-box;
    width: 100%;
    float: left;
    margin-left: 0;
    margin-right: 0;
  }
}

@media only screen and (max-width: 767px) {
  .freeform-column {
    -ms-flex: inherit !important;
        flex: inherit !important;
  }
  .freeform-row {
    display: block !important;
  }
}

.sidebar {
  margin-top: 6.3rem;
}

@media (min-width: 60em) {
  .sidebar {
    margin-top: 7.2rem;
  }
}

.sidebar__inner {
  padding: 27px;
  position: relative;
  border: 1px solid #dfe0e5;
}

.sidebar__inner h6 {
  margin-top: 0rem;
  padding-top: 0rem;
  padding-bottom: 0rem;
  margin-bottom: 0rem;
}

@media (min-width: 60em) {
  .sidebar__inner h6 {
    margin-top: 0rem;
    padding-top: 0rem;
    padding-bottom: 0rem;
    margin-bottom: 0rem;
  }
}

.sidebar__inner--global .small {
  font-size: 0.7692307692rem;
  line-height: 2.1rem;
  color: #9a9999;
  padding-left: 4px;
}

@media (min-width: 60em) {
  .sidebar__inner--global .small {
    font-size: 0.75rem;
    line-height: 1.2rem;
  }
}

.sidebar__inner--global .button__primary, .sidebar__inner--global .matrix__item .freeform-row button, .matrix__item .freeform-row .sidebar__inner--global button, .sidebar__inner--global .contact .tab__content button, .contact .tab__content .sidebar__inner--global button {
  z-index: 99;
  position: relative;
  margin-top: 250px;
}

.sidebar__inner--local .sidebar__logo {
  padding: 20px;
  text-align: center;
  z-index: 99;
  position: relative;
  margin-top: 200px;
  margin-bottom: 20px;
  background-color: #fff;
  box-shadow: 0 5px 30px 0 rgba(36, 44, 82, 0.1);
}

.sidebar__inner h4 {
  z-index: 99;
  max-width: 180px;
  position: relative;
  margin-top: 0rem;
  padding-top: 0rem;
  padding-bottom: 0rem;
  margin-bottom: 0rem;
}

@media (min-width: 60em) {
  .sidebar__inner h4 {
    margin-top: 0rem;
    padding-top: 0rem;
    padding-bottom: 0rem;
    margin-bottom: 0rem;
  }
}

.sidebar__tom img {
  position: absolute;
  top: -50px;
  z-index: 1;
  right: 0;
  max-height: 260px;
}

.sidebar__news {
  border: 1px solid #dfe0e5;
  text-align: center;
}

.sidebar__news h6.small {
  font-size: 0.9230769231rem;
  line-height: 2.1rem;
}

@media (min-width: 60em) {
  .sidebar__news h6.small {
    font-size: 0.875rem;
    line-height: 1.2rem;
  }
}

.sidebar__news .sidebar__text {
  margin-top: 1.05rem;
  padding-top: 0rem;
  padding-bottom: 0rem;
  margin-bottom: 1.05rem;
}

@media (min-width: 60em) {
  .sidebar__news .sidebar__text {
    margin-top: 1.2rem;
    padding-top: 0rem;
    padding-bottom: 0rem;
    margin-bottom: 1.2rem;
  }
}

.sidebar__news .sidebar__text h6 {
  margin-top: 0rem;
  padding-top: 0rem;
  padding-bottom: 0rem;
  margin-bottom: 0rem;
}

@media (min-width: 60em) {
  .sidebar__news .sidebar__text h6 {
    margin-top: 0rem;
    padding-top: 0rem;
    padding-bottom: 0rem;
    margin-bottom: 0rem;
  }
}

.sidebar__news .sidebar__text p {
  margin-top: 0rem;
  padding-top: 0rem;
  padding-bottom: 0rem;
  margin-bottom: 0rem;
  font-size: 0.9230769231rem;
  line-height: 2.1rem;
}

@media (min-width: 60em) {
  .sidebar__news .sidebar__text p {
    margin-top: 0rem;
    padding-top: 0rem;
    padding-bottom: 0rem;
    margin-bottom: 0rem;
  }
}

@media (min-width: 60em) {
  .sidebar__news .sidebar__text p {
    font-size: 0.875rem;
    line-height: 1.2rem;
  }
}

.sidebar__menu .button, .sidebar__menu .matrix__item .freeform-row button, .matrix__item .freeform-row .sidebar__menu button, .sidebar__menu .button__input--checkbox label span, .button__input--checkbox label .sidebar__menu span, .sidebar__menu .contact .tab__content button, .contact .tab__content .sidebar__menu button {
  width: 100%;
  text-align: left;
}

.sidebar__menu .button:after, .sidebar__menu .matrix__item .freeform-row button:after, .matrix__item .freeform-row .sidebar__menu button:after, .sidebar__menu .button__input--checkbox label span:after, .button__input--checkbox label .sidebar__menu span:after, .sidebar__menu .contact .tab__content button:after, .contact .tab__content .sidebar__menu button:after {
  right: 0;
}

.sidebar__menu .button:hover:after, .sidebar__menu .matrix__item .freeform-row button:hover:after, .matrix__item .freeform-row .sidebar__menu button:hover:after, .sidebar__menu .button__input--checkbox label span:hover:after, .button__input--checkbox label .sidebar__menu span:hover:after, .sidebar__menu .contact .tab__content button:hover:after, .contact .tab__content .sidebar__menu button:hover:after {
  right: -10px;
}

.sidebar__item a {
  text-align: left;
}

.hero {
  position: relative;
}

@media (min-width: 45em) {
  .hero {
    height: 650px;
  }
}

.hero video {
  width: 100%;
}

@media (min-width: 45em) {
  .hero video {
    min-width: 100%;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    margin-left: auto;
    margin-right: auto;
  }
}

.hero__wrapper {
  position: absolute;
  width: 100%;
  height: 100%;
}

.hero__bg {
  height: 350px;
  background-size: cover;
  background-repeat: none;
  background-position: center;
}

@media (min-width: 45em) {
  .hero__bg {
    height: 650px;
    overflow: hidden;
    position: relative;
  }
}

.hero__text {
  margin-left: -15px;
  margin-right: -15px;
}

@media (min-width: 45em) {
  .hero__text {
    height: 100px;
    z-index: 10;
    max-width: 1237px;
    position: absolute;
    top: calc(50% - 34px);
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0;
  }
}

@media (min-width: 0) and (max-width: 80em) {
  .hero__text {
    padding-right: 15px;
    padding-left: 15px;
  }
}

.hero__overlay {
  z-index: 9;
  margin-top: -6.3rem;
  padding-bottom: 82px;
  background: linear-gradient(0deg, #64b044 80%, rgba(100, 176, 68, 0) 100%);
}

@media (min-width: 60em) {
  .hero__overlay {
    margin-top: -7.2rem;
  }
}

@media (min-width: 45em) {
  .hero__overlay {
    margin-top: 0rem;
    position: absolute;
    background: linear-gradient(90deg, #7ebe38 0%, rgba(100, 176, 68, 0) 70%);
    height: 650px;
    bottom: 0;
    left: 0;
    right: 0;
    top: 0;
  }
}

@media (min-width: 45em) and (min-width: 60em) {
  .hero__overlay {
    margin-top: 0rem;
  }
}

.hero h1 {
  margin-top: 0rem;
  padding-top: 0rem;
  padding-bottom: 0rem;
  margin-bottom: 0rem;
}

@media (min-width: 60em) {
  .hero h1 {
    margin-top: 0rem;
    padding-top: 0rem;
    padding-bottom: 0rem;
    margin-bottom: 0rem;
  }
}

@media (min-width: 45em) {
  .hero h1 {
    max-width: 630px;
  }
}

.hero .subtitel {
  margin-top: 0rem;
  padding-top: 0rem;
  padding-bottom: 0rem;
  margin-bottom: 0rem;
  color: #fff;
}

@media (min-width: 45em) {
  .hero .subtitel {
    max-width: 630px;
  }
}

@media (min-width: 60em) {
  .hero .subtitel {
    margin-top: 0rem;
    padding-top: 0rem;
    padding-bottom: 0rem;
    margin-bottom: 0rem;
  }
}

.hero__animals {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  z-index: 10;
  max-width: 1237px;
}

@media (min-width: 0) and (max-width: 80em) {
  .hero__animals {
    padding-left: 15px;
    padding-right: 15px;
  }
}

.hero__animals .animalCards {
  float: right;
}

@media (min-width: 45em) {
  .hero__animals .animalCards {
    width: 240px;
    margin-right: 0;
    margin-top: 20px;
  }
}

@media (min-width: 60em) {
  header {
    box-sizing: border-box;
    width: 13.5004042038%;
    float: left;
    margin-right: 3.7995149554%;
    margin-left: 8.6499595796%;
  }
}

@media (min-width: 45em) {
  .contentSidebar .sidebar {
    box-sizing: border-box;
    width: 65.4001616815%;
    float: left;
    margin-right: 3.7995149554%;
    margin-left: 17.2999191592%;
  }
}

@media (min-width: 60em) {
  .contentSidebar .sidebar {
    box-sizing: border-box;
    width: 22.1503637834%;
    float: left;
    margin-right: 3.7995149554%;
    margin-left: -77.8496362166%;
  }
}

@media (min-width: 45em) {
  .contentSidebar .sidebar--right {
    box-sizing: border-box;
    width: 65.4001616815%;
    float: left;
    margin-right: 3.7995149554%;
    margin-left: 0%;
  }
}

@media (min-width: 60em) {
  .contentSidebar .sidebar--right {
    box-sizing: border-box;
    width: 22.1503637834%;
    float: right;
    margin-right: 0;
    margin-left: 0%;
  }
}

.contentSidebar .content h1 {
  color: #1a245c;
}

@media (min-width: 45em) {
  .contentSidebar .content {
    box-sizing: border-box;
    width: 65.4001616815%;
    float: left;
    margin-right: 3.7995149554%;
    margin-left: 17.2999191592%;
  }
}

@media (min-width: 60em) {
  .contentSidebar .content {
    box-sizing: border-box;
    width: 48.1002425223%;
    float: left;
    margin-right: 3.7995149554%;
    margin-left: 0%;
    margin-left: 25.9498787389%;
  }
}

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

.page--404 video {
  margin-top: 2.1rem;
  margin-bottom: 2.1rem;
  max-width: 100%;
  height: auto;
}

@media (min-width: 60em) {
  .page--404 video {
    margin-top: 2.4rem;
  }
}

@media (min-width: 60em) {
  .page--404 video {
    margin-bottom: 2.4rem;
  }
}

@media (min-width: 45em) {
  .page__left {
    box-sizing: border-box;
    width: 48.1002425223%;
    float: left;
    margin-right: 3.7995149554%;
  }
}

@media (min-width: 45em) {
  .page__right {
    box-sizing: border-box;
    width: 48.1002425223%;
    float: right;
    margin-right: 0;
  }
}

.nieuws-overzicht .tagsFilter {
  background-color: #fff;
  border: 1px solid #dfe0e5;
  margin-top: -4.2rem;
  padding-left: 20px 14px;
  z-index: 10;
  position: relative;
}

@media (min-width: 60em) {
  .nieuws-overzicht .tagsFilter {
    margin-top: -4.8rem;
  }
}

.nieuws-overzicht .tagsFilter h4 {
  margin-top: 0rem;
  padding-top: 0rem;
  padding-bottom: 0rem;
  margin-bottom: 0rem;
  margin-bottom: 1.05rem;
}

@media (min-width: 60em) {
  .nieuws-overzicht .tagsFilter h4 {
    margin-top: 0rem;
    padding-top: 0rem;
    padding-bottom: 0rem;
    margin-bottom: 0rem;
  }
}

@media (min-width: 60em) {
  .nieuws-overzicht .tagsFilter h4 {
    margin-bottom: 1.2rem;
  }
}

@media (min-width: 60em) {
  .nieuws-overzicht .tagsFilter {
    margin-top: -3.15rem;
    box-sizing: border-box;
    width: 48.1002425223%;
    float: left;
    margin-right: 3.7995149554%;
  }
}

@media (min-width: 60em) and (min-width: 60em) {
  .nieuws-overzicht .tagsFilter {
    margin-top: -3.6rem;
  }
}

@media (min-width: 60em) {
  .nieuws-overzicht .tagsFilter {
    padding: 27px;
  }
}

.nieuws-overzicht .tagsFilter .button__primary, .nieuws-overzicht .tagsFilter .matrix__item .freeform-row button, .matrix__item .freeform-row .nieuws-overzicht .tagsFilter button, .nieuws-overzicht .tagsFilter .contact .tab__content button, .contact .tab__content .nieuws-overzicht .tagsFilter button {
  margin-top: 2.1rem;
}

@media (min-width: 60em) {
  .nieuws-overzicht .tagsFilter .button__primary, .nieuws-overzicht .tagsFilter .matrix__item .freeform-row button, .matrix__item .freeform-row .nieuws-overzicht .tagsFilter button, .nieuws-overzicht .tagsFilter .contact .tab__content button, .contact .tab__content .nieuws-overzicht .tagsFilter button {
    margin-top: 2.4rem;
  }
}

@media (min-width: 60em) {
  .nieuws-overzicht .bodyText {
    box-sizing: border-box;
    width: 48.1002425223%;
    float: right;
    margin-right: 0;
  }
}

.zoeken h1 {
  color: #1a245c;
}

.zoeken input[type="submit"] {
  margin-top: 2.1rem;
}

@media (min-width: 60em) {
  .zoeken input[type="submit"] {
    margin-top: 2.4rem;
  }
}

@media (min-width: 60em) {
  .zoeken article {
    box-sizing: border-box;
    width: 48.1002425223%;
    float: left;
    margin-right: 3.7995149554%;
    margin-left: 25.9498787389%;
  }
}

@media (min-width: 60em) {
  .zoeken.resultaten .sidebar {
    box-sizing: border-box;
    width: 22.1503637834%;
    float: left;
    margin-right: 3.7995149554%;
  }
}

@media (min-width: 60em) {
  .zoeken.resultaten article {
    box-sizing: border-box;
    width: 48.1002425223%;
    float: left;
    margin-right: 3.7995149554%;
    margin-left: 0%;
  }
}

.locatieZoeker #app {
  height: auto;
  overflow: hidden;
}

.locatieZoeker h1 {
  margin-top: 0rem;
  padding-top: 0rem;
  padding-bottom: 0rem;
  margin-bottom: 0rem;
  margin-bottom: 1.05rem;
  color: #1a245c;
}

@media (min-width: 60em) {
  .locatieZoeker h1 {
    margin-top: 0rem;
    padding-top: 0rem;
    padding-bottom: 0rem;
    margin-bottom: 0rem;
  }
}

@media (min-width: 60em) {
  .locatieZoeker h1 {
    margin-bottom: 1.2rem;
  }
}

.locatieZoeker .sidebar {
  height: 550px;
  margin-top: 0;
  overflow: hidden;
}

@media (min-width: 45em) {
  .locatieZoeker .sidebar {
    box-sizing: border-box;
    width: 33.3333333333%;
    float: left;
    overflow: hidden;
    border-right: 1px solid #dfe0e5;
    height: 900px;
  }
}

.locatieZoeker main input {
  width: 100%;
}

.locatieZoeker .pad2 {
  padding: 20px;
}

.locatieZoeker .quiet {
  color: #888;
}

.locatieZoeker .map {
  height: 400px;
}

@media (min-width: 45em) {
  .locatieZoeker .map {
    box-sizing: border-box;
    width: 66.6666666667%;
    float: right;
    overflow: hidden;
    border-right: 1px solid #dfe0e5;
    height: 900px;
  }
}

.locatieZoeker .heading {
  background: #fff;
  border-bottom: 1px solid #dfe0e5;
  height: auto;
  padding: 10px;
}

.locatieZoeker #listingDiv {
  overflow: auto;
  width: 100%;
}

.locatieZoeker .listings {
  overflow: auto;
  height: 270px;
}

@media (min-width: 45em) {
  .locatieZoeker .listings {
    padding-bottom: 380px;
    height: 100%;
  }
}

.locatieZoeker .listings .left {
  float: right;
}

.locatieZoeker .listings .right {
  line-height: 1.5rem;
}

.locatieZoeker .sidebar fieldset {
  padding: 0;
  margin: 0;
  border: 0;
  margin-top: 10px;
  position: relative;
  z-index: 1;
}

.locatieZoeker .listings .item {
  display: block;
  border-bottom: 1px solid #dfe0e5;
  padding: 10px;
  text-decoration: none;
}

.locatieZoeker .listings .item:last-child {
  border-bottom: none;
}

.locatieZoeker .listings .item .title {
  display: block;
  color: #1a245c;
  font-weight: 700;
}

.locatieZoeker .listings .item .title small {
  font-weight: 400;
}

.locatieZoeker .listings .item.active .title,
.locatieZoeker .listings .item .title:hover {
  color: #7ebe38;
}

.locatieZoeker .listings .item.active {
  background-color: #f8f8f8;
}

.locatieZoeker #storeinfo {
  padding: 2px 10px;
  display: none;
  background-color: #7ebe38;
  color: #fff;
}

@media (min-width: 45em) {
  .locatieZoeker #storeinfo {
    padding: 10px 10px 20px;
  }
}

.locatieZoeker #storeinfo h4 {
  color: #fff;
  margin-top: 0rem;
  padding-top: 0rem;
  padding-bottom: 0rem;
  margin-bottom: 0rem;
}

@media (min-width: 60em) {
  .locatieZoeker #storeinfo h4 {
    margin-top: 0rem;
    padding-top: 0rem;
    padding-bottom: 0rem;
    margin-bottom: 0rem;
  }
}

.locatieZoeker #storeinfo a {
  color: #fff;
}

.locatieZoeker ::-webkit-scrollbar {
  width: 3px;
  height: 3px;
  border-left: 0;
  background: rgba(0, 0, 0, 0.1);
}

.locatieZoeker ::-webkit-scrollbar-track {
  background: none;
}

.locatieZoeker ::-webkit-scrollbar-thumb {
  background: #00853e;
  border-radius: 0;
}

.locatieZoeker .clearfix {
  display: block;
}

.locatieZoeker .clearfix:after {
  content: '.';
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

.locatieZoeker .leaflet-container .leaflet-marker-icon {
  cursor: pointer;
}

.locatieZoeker #closeButton {
  float: right;
}

.locatieZoeker #closeButton:hover,
.locatieZoeker :focus {
  color: #7ebe38;
  cursor: pointer;
}

.locatieZoeker #searchIcon:hover,
.locatieZoeker :focus {
  color: #7ebe38;
  cursor: pointer;
}

.locatieZoeker #infoClose {
  float: right;
}

.locatieZoeker #searchIcon {
  float: right;
  font-size: 26px;
  margin-top: 1px;
}

@media screen and (max-width: 900px) {
  .locatieZoeker #searchIcon {
    font-size: 16px;
  }
}

.verhalen-overzicht .stories__item {
  margin-bottom: 4.2rem;
}

@media (min-width: 60em) {
  .verhalen-overzicht .stories__item {
    margin-bottom: 4.8rem;
  }
}

@media (min-width: 45em) {
  .verhalen-overzicht .stories__item {
    box-sizing: border-box;
    width: 48.1002425223%;
    float: left;
    margin-right: 3.7995149554%;
  }
  .verhalen-overzicht .stories__item:nth-of-type(2n+2) {
    box-sizing: border-box;
    width: 48.1002425223%;
    float: right;
    margin-right: 0;
  }
}

.contact .breadcrumbs {
  margin-top: 2.1rem;
}

@media (min-width: 60em) {
  .contact .breadcrumbs {
    margin-top: 2.4rem;
  }
}

.contact h1 {
  color: #1a245c;
}

@media (min-width: 60em) {
  .contact article {
    margin-left: 25.9498787389%;
    box-sizing: border-box;
    width: 48.1002425223%;
    float: left;
    margin-right: 3.7995149554%;
  }
}

.contact .maps {
  height: 400px;
  margin-bottom: 2.1rem;
}

@media (min-width: 60em) {
  .contact .maps {
    margin-bottom: 2.4rem;
  }
}

.contact .contactForm {
  margin-bottom: 2.1rem;
}

@media (min-width: 60em) {
  .contact .contactForm {
    margin-bottom: 2.4rem;
  }
}

.contact .tab__content {
  display: none;
}

.contact .tab__content.active {
  display: block;
}

@media (min-width: 45em) {
  .home .about {
    box-sizing: border-box;
    width: 48.1002425223%;
    float: left;
    margin-right: 3.7995149554%;
  }
  .home .news {
    box-sizing: border-box;
    width: 48.1002425223%;
    float: right;
    margin-right: 0;
  }
  .home .benefits {
    box-sizing: border-box;
    width: 48.1002425223%;
    float: left;
    margin-right: 3.7995149554%;
  }
  .home .stories {
    box-sizing: border-box;
    width: 48.1002425223%;
    float: right;
    margin-right: 0;
  }
}

@media (min-width: 45em) {
  .praktijken .about {
    box-sizing: border-box;
    width: 48.1002425223%;
    float: left;
    margin-right: 3.7995149554%;
  }
  .praktijken .employees {
    box-sizing: border-box;
    width: 48.1002425223%;
    float: right;
    margin-right: 0;
  }
  .praktijken .employees h3 a {
    float: right;
    margin-right: 20px;
  }
  .praktijken .employees .employee {
    box-sizing: border-box;
    width: 28.0672268909%;
    float: left;
    margin-right: 7.8991596637%;
  }
  .praktijken .employees .employee:nth-of-type(3n+3) {
    box-sizing: border-box;
    width: 28.0672268909%;
    float: right;
    margin-right: 0;
  }
}

.diersoorten-overzicht .animals,
.diersoorten-overzicht .specialism,
.diersoorten-entry .animals,
.diersoorten-entry .specialism {
  margin-top: -4.2rem;
  z-index: 10;
  position: relative;
}

@media (min-width: 60em) {
  .diersoorten-overzicht .animals,
  .diersoorten-overzicht .specialism,
  .diersoorten-entry .animals,
  .diersoorten-entry .specialism {
    margin-top: -4.8rem;
  }
}

@media (min-width: 45em) {
  .diersoorten-overzicht .animals,
  .diersoorten-overzicht .specialism,
  .diersoorten-entry .animals,
  .diersoorten-entry .specialism {
    margin-top: -3.15rem;
    box-sizing: border-box;
    width: 48.1002425223%;
    float: left;
    margin-right: 3.7995149554%;
  }
}

@media (min-width: 45em) and (min-width: 60em) {
  .diersoorten-overzicht .animals,
  .diersoorten-overzicht .specialism,
  .diersoorten-entry .animals,
  .diersoorten-entry .specialism {
    margin-top: -3.6rem;
  }
}

@media (min-width: 45em) {
  .diersoorten-overzicht .bodyText,
  .diersoorten-entry .bodyText {
    box-sizing: border-box;
    width: 48.1002425223%;
    float: right;
    margin-right: 0;
  }
}

.diersoorten-overzicht .stories,
.diersoorten-entry .stories {
  margin-top: 4.2rem;
}

@media (min-width: 60em) {
  .diersoorten-overzicht .stories,
  .diersoorten-entry .stories {
    margin-top: 4.8rem;
  }
}

.creditsNiice {
  display: flex;
  flex-direction: row;
  background-color: #fff;
  font-size: 12px;
  color: #828282;
  font-weight: 400;
  letter-spacing: .53px;
  padding: 20px 30px;
  width: 100%;
}

.creditsNiice__right {
  line-height: 0;
  color: inherit;
  margin-left: auto;
  text-transform: uppercase;
  text-align: center;
}

/* Niice credits CSS */
.credits{--color:#0C1C25;padding-top:4px;padding-bottom:4px;width:68px;height:24px;color:#0C1C25;color:var(--color);display:flex;justify-content:center;align-items:center;align-self:center;z-index:0;margin-bottom: 48px}.credits-smile{width:22px;height:16px;line-height:16px;position:relative;transform:rotate(90deg);transition:transform .2s .2s ease}.credits-text{width:0;height:16px;overflow:hidden;transition:width .2s ease}.eye{position:absolute;top:0;left:0}.credits.visible-credits .credits-smile{animation:smile .8s ease;transform:rotate(0deg);transition-delay:.8s}.credits.visible-credits .credits-text{width:46px;transition:width .3s .7s ease}.credits.visible-credits .eye{animation:wink .2s .25s cubic-bezier(0,0,1,1)}@media only screen and (min-width:768px){.credits:hover .credits-smile{animation:smile .8s ease;transform:rotate(0deg);transition-delay:.8s}.credits:hover .credits-text{width:46px;transition:width .3s .7s ease}.credits:hover .eye{animation:wink .2s .25s cubic-bezier(0,0,1,1)}}@keyframes smile{0%{transform:rotate(90deg) translateX(0)}25%{transform:rotate(92deg) translateX(-4px)}50%{transform:rotate(102deg) translateX(0)}75%{transform:rotate(90deg)}100%{transform:rotate(0deg)}}@keyframes wink{50%{transform:scale(.125,1.25)}}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLmNzcyIsInN0eWxlLnNjc3MiLCJ2ZW5kb3IvX25vcm1hbGl6ZS5zY3NzIiwidmVuZG9yL0wuVmlzdWFsQ2xpY2suY3NzIiwidmVuZG9yL2xlYWZsZXQuY3NzIiwidmVuZG9yL2FuaW1hdGUuY3NzIiwidmVuZG9yL2xlYWZsZXQtc2VhcmNoLnNyYy5jc3MiLCJ2ZW5kb3Ivc2xpY2suc2NzcyIsInV0aWxpdGllcy9fbWl4aW5zLnNjc3MiLCJ1dGlsaXRpZXMvX3BhbGV0dGVzLnNjc3MiLCJ1dGlsaXRpZXMvX2dyaWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9vdXRwdXQvc3VwcG9ydC9fcmVtLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fY29udGFpbmVyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvb3V0cHV0L3N1cHBvcnQvX2NsZWFyZml4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fYnJlYWtwb2ludC1wbHVnaW4uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy90eXBlc2l6ZS9zYXNzL3R5cGVzaXplL19taXhpbnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy90eXBlc2l6ZS9zYXNzL3R5cGVzaXplL19mdW5jdGlvbnMuc2NzcyIsInV0aWxpdGllcy9fdHlwb2dyYXBoeS5zY3NzIiwidXRpbGl0aWVzL19mbGV4aXQuc2NzcyIsInV0aWxpdGllcy9fbWF0cml4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fc3Bhbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L291dHB1dC9zaGFyZWQvX2RpcmVjdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L2xhbmd1YWdlL3N1c3kvX2d1dHRlcnMuc2NzcyIsImF0b21zL19odG1sLnNjc3MiLCJ1dGlsaXRpZXMvX3ZhcmlhYmxlcy5zY3NzIiwiYXRvbXMvX2JvZHkuc2NzcyIsImF0b21zL19idXR0b25zLnNjc3MiLCJhdG9tcy9faGVhZGluZ3Muc2NzcyIsImF0b21zL190ZXh0LXNlbGVjdGlvbi5zY3NzIiwiYXRvbXMvX2xpbmtzLnNjc3MiLCJhdG9tcy9fbGlzdHMuc2NzcyIsImF0b21zL19pbWcuc2NzcyIsImF0b21zL19oci5zY3NzIiwiYXRvbXMvX2lucHV0cy5zY3NzIiwiYXRvbXMvX2xhYmVscy5zY3NzIiwiYXRvbXMvX2NyZWRpdHNOaWljZS5zY3NzIiwibW9sZWN1bGVzL19uYXYuc2NzcyIsIm1vbGVjdWxlcy9fbmF2LXNpdGVzLnNjc3MiLCJtb2xlY3VsZXMvX25hdi1jb250YWN0LnNjc3MiLCJtb2xlY3VsZXMvX25hdi10b3BOYXYuc2NzcyIsIm1vbGVjdWxlcy9fY29va2llbm90aWNlLnNjc3MiLCJtb2xlY3VsZXMvX25hdi1oYW1idXJnZXIuc2NzcyIsIm1vbGVjdWxlcy9fYmFyLnNjc3MiLCJtb2xlY3VsZXMvX2hlcm9DYXJkLnNjc3MiLCJtb2xlY3VsZXMvX3NoYXJlLnNjc3MiLCJtb2xlY3VsZXMvX25ld3NDYXJkLnNjc3MiLCJtb2xlY3VsZXMvX3BvcC11cC5zY3NzIiwibW9sZWN1bGVzL19hbmltYWxDYXJkcy5zY3NzIiwibW9sZWN1bGVzL19lbXBsb3llZXMuc2NzcyIsIm1vbGVjdWxlcy9fc3Rvcmllc1Nwb3RsaWdodC5zY3NzIiwibW9sZWN1bGVzL19wYWdpbmF0aW9uLnNjc3MiLCJtb2xlY3VsZXMvX2JyZWFkY3J1bWJzLnNjc3MiLCJvcmdhbmlzbXMvX2Zvb3Rlci5zY3NzIiwib3JnYW5pc21zL19hcnRpY2xlLnNjc3MiLCJvcmdhbmlzbXMvX2Zvcm0uc2NzcyIsIm9yZ2FuaXNtcy9fc2lkZWJhci5zY3NzIiwib3JnYW5pc21zL19oZXJvLnNjc3MiLCJ0ZW1wbGF0ZXMvX3BhZ2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9sYW5ndWFnZS9zdXN5L19tYXJnaW5zLnNjc3MiLCJ0ZW1wbGF0ZXMvX25pZXV3cy5zY3NzIiwidGVtcGxhdGVzL19zZWFyY2guc2NzcyIsInRlbXBsYXRlcy9fbG9jYXRpZS16b2VrZXIuc2NzcyIsInRlbXBsYXRlcy9fdmVyaGFsZW4uc2NzcyIsInRlbXBsYXRlcy9fY29udGFjdC5zY3NzIiwidGVtcGxhdGVzL19ob21lLnNjc3MiLCJ0ZW1wbGF0ZXMvX3ByYWt0aWprZW4uc2NzcyIsInRlbXBsYXRlcy9fZGllcnNvb3J0ZW4uc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUNBakI7O2dGQUVnRjtBQ0ZoRiw0RUFBNEU7QUFFNUU7Ozs7O0dBS0c7QUFFSDtnRkFDZ0Y7QUFFaEY7RUFDSSx3QkFBdUI7RUFBRSxPQUFPO0VBQ2hDLGtCQUFpQjtFQUFFLE9BQU87RUFDMUIsMkJBQTBCO0VBQUUsT0FBTztFQUNuQywrQkFBOEI7RUFBRSxPQUFPO0NBQzFDOztBQUVEO2dGQUNnRjtBQUVoRjs7R0FFRztBQUVIO0VBQ0ksVUFBUztDQUNaOztBQUVEOztHQUVHO0FBRUg7RUFDSSxtQkFBa0I7Q0FDckI7O0FBRUQ7O0dBRUc7QUFFSDs7Ozs7O0VBTUksZUFBYztDQUNqQjs7QUFFRDs7O0dBR0c7QUFFSDtFQUNJLGVBQWM7RUFDZCxpQkFBZ0I7Q0FDbkI7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOzs7R0FHRztBQUVIOzs7RUFFTyxPQUFPO0VBQ1YsZUFBYztDQUNqQjs7QUFFRDs7R0FFRztBQUVIO0VBQ0ksaUJBQWdCO0NBQ25COztBQUVEOzs7R0FHRztBQUVIO0VBQ0ksd0JBQXVCO0VBQUUsT0FBTztFQUNoQyxVQUFTO0VBQUUsT0FBTztFQUNsQixrQkFBaUI7RUFBRSxPQUFPO0NBQzdCOztBQUVEOzs7R0FHRztBQUVIO0VBQ0ksa0NBQWlDO0VBQUUsT0FBTztFQUMx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MUMsWVVBNEQ7SVZBNUQsNEJXNEQ4RTtHSHpEN0U7Q25CaTBKSjs7QW1CaDBKRztFQUNJLG1CQUFrQjtDQUlyQjs7QUxzQkQ7RUszQkE7SVJKQSx1QkRJc0I7SUNKdEIsc0JTd0kwQztJVHhJMUMsYVVBdUU7SVZBdkUsZ0JTa0ZvQjtHRHpFbkI7Q25CMDBKSjs7QW1CdDBKSTtFQUdPLGNBQWE7Q0FDaEI7O0FBUUw7RUFDSSxhQUFZO0VBQ1osaUJBQWdCO0NBU25COztBTExEO0VLTkM7SVJ6QkQsdUJESXNCO0lDSnRCLHNCU3dJMEM7SVR4STFDLFlVQTREO0lWQTVELDRCVzREOEU7R0h6QnpFO0VBVko7SVJ6QkQsdUJESXNCO0lDSnRCLHNCU3dJMEM7SVR4STFDLGFVQXVFO0lWQXZFLGdCU2tGb0I7R0RqRFA7Q25CODBKaEI7O0FFdDNKRDtFcUJYSSx1QkFBc0I7RUFDdEIsZ0RDaUI0QztFRGY1QyxtQkFBa0I7RUFHbEIsb0NBQW1DO0VBR25DLG1DQUFrQztFQUNsQyxlZFV3QjtDY1QzQjs7QUFFRDs7O0VBR0ksb0JBQW1CO0NBQ3RCOztBckJRRDtFdUJ6QkksV0FBVTtFQUNWLFVBQVM7RUFDVCxtQkFBa0I7Q0FDckI7O0FBRUQ7RVZ1SkksMkJDekZnRjtFRDBGaEYsb0JDMUZnRjtFUzVEaEYsZWhCK0JpQjtFZ0I5QmpCLG9CQUFtQjtDQUN0Qjs7QVh3Q0c7RVc1Q0o7SVZ1Skksb0JDekZnRjtJRDBGaEYsb0JDMUZnRjtHUzFEbkY7Q3pCMjVKQTs7QXlCejVKRDtFQUNJLGdCQUFlO0NBQ2xCOztBQUVEO0VBQ0ksbUJBQWtCO0NBQ3JCOztBQ2xCRDtFWDZKSSxnQkN6RmdGO0VEMEZoRixvQkMxRmdGO0VVakVoRixzQkFBcUI7RUFDckIsb0JBQW1CO0VBQ25CLG1CQUFrQjtFQUNsQixtQkFBa0I7RUFDbEIsWWpCd0JjO0VpQnZCZCxzQkFBcUI7RUFDckIsVUFBUztFQUNULGNBQWE7RUFDYixrQlY0RytGO0NVY2xHOztBWm5GRztFWWxESjtJWDZKSSxnQkN6RmdGO0lEMEZoRixvQkMxRmdGO0dVaUVuRjtDMUI2ekpBOztBMEJ0N0pHO0VBQ0ksMEJqQnNCYTtFaUJyQmIsa0JWeUcyRjtDVWpHOUY7O0FBVkE7RUFJTyxtQkFBa0I7Q0FDckI7O0FBTEo7RUFPTyxZQUFXO0VBQ1gsMEJqQmNTO0NpQmJaOztBQUVMO0VBQ0kscUJBQW9CO0VBQ3BCLGtCVjhGMkY7RVU3RjNGLG1CQUFrQjtDQWdCckI7O0FBZkc7RUFDSSxlakJXUztFaUJWVCwwQmpCY1M7Q2lCVFo7O0FBUEE7RUFJTyxlakJRSztFaUJQTCwwQmpCVUs7Q2lCVFI7O0FBRUw7RUFDSSwwQmpCR1M7Q2lCRVo7O0FBTkE7RUFHTyxZakJQRTtFaUJRRiwwQmpCREs7Q2lCRVI7O0FBR1Q7RUFDSSxXQUFVO0VBQ1YsbUJBQWtCO0NBZ0ZyQjs7QUEvRUc7RUFDSSxlakJaUztDaUIrQlo7O0FBcEJBO0VBR08sWUFBVztFQUNYLGlFQUFnRTtFQUNoRSw2QkFBNEI7RUFDNUIsNEJBQTJCO0VBQzNCLGFBQVk7RUFDWixZQUFXO0VBQ1gsbUJBQWtCO0VBQ2xCLGFBQVk7RUFDWixzQkFBcUI7RUFDckIsWUFBVztDQUlkOztBWlpUO0VZSks7SUFjVyxZQUFXO0dBRWxCO0MxQnU4Slo7O0EwQnY5SlE7RUFrQk8sYUFBWTtDQUNmOztBQUVMO0VBQ0ksZWpCN0JTO0NpQmlEWjs7QUFyQkE7RUFHTyxZQUFXO0VBQ1gsaUVBQWdFO0VBQ2hFLDZCQUE0QjtFQUM1Qiw0QkFBMkI7RUFDM0IsYUFBWTtFQUNaLFlBQVc7RUFDWCxtQkFBa0I7RUFDbEIsYUFBWTtFQUNaLHNCQUFxQjtFQUNyQixZQUFXO0NBS2Q7O0FabENUO0VZaUJLO0lBY1csWUFBVztJQUNYLFlBQVc7R0FFbEI7QzFCNjhKWjs7QTBCOTlKUTtFQW1CTyxZQUFXO0NBQ2Q7O0FBRUw7RUFDSSxZakIzRE07Q2lCaUZUOztBQXZCQTtFQUdPLFlBQVc7RUFDWCwrREFBOEQ7RUFDOUQsNkJBQTRCO0VBQzVCLDRCQUEyQjtFQUMzQixhQUFZO0VBQ1osWUFBVztFQUNYLG1CQUFrQjtFQUNsQixhQUFZO0VBQ1osc0JBQXFCO0VBQ3JCLFlBQVc7Q0FJZDs7QVp2RFQ7RVl1Q0s7SUFjVyxZQUFXO0dBRWxCO0MxQm05Slo7O0EwQm4rSlE7RUFrQk8sWWpCNUVFO0NpQmdGTDs7QUF0Qko7RUFvQlcsYUFBWTtDQUNmOztBQUdUO0VBQ0ksZWpCM0VTO0VpQjRFVCwwQmpCeEVTO0NpQmlGWjs7QUFYQTtFQUlPLGVqQjlFSztFaUIrRUwsMEJqQjVFSztDaUI2RVI7O0FBTko7RUFRTyxZakIxRkU7RWlCMkZGLDBCakJuRks7Q2lCb0ZSOztBQUdUO0VBQ0ksaUJBQWdCO0NBS25COztBWmxGRDtFWTRFQTtJQUdRLGFBQVk7SUFDWixhQUFZO0dBRW5CO0MxQjA5Sko7O0FFdGlLRDtFYXFHSSwyQkN6RmdGO0VEMEZoRixxQkMxRmdGO0VEaEI1RSxtQkNnQjRFO0VEaEI1RSxrQkNnQjRFO0VEaEI1RSxxQkNnQjRFO0VEaEI1RSxzQkNnQjRFO0VXaEVoRixZbEIyQmM7Q2tCMUJqQjs7QWI2Q0c7RVpNSjtJYXFHSSxnQkN6RmdGO0lEMEZoRixvQkMxRmdGO0dXL0RuRjtDM0IwbUtBOztBYzdqS0c7RVpNSjtJYUpRLG1CQ2dCNEU7SURoQjVFLGtCQ2dCNEU7SURoQjVFLHFCQ2dCNEU7SURoQjVFLHNCQ2dCNEU7R1cvRG5GO0MzQm1uS0E7O0EyQmpuS0Q7RVpzSkksMkJDekZnRjtFRDBGaEYscUJDMUZnRjtFRGhCNUUsbUJDZ0I0RTtFRGhCNUUsa0JDZ0I0RTtFRGhCNUUscUJDZ0I0RTtFRGhCNUUsc0JDZ0I0RTtFV3pEaEYsZWxCNEJpQjtDa0IzQnBCOztBYnNDRztFYTNDSjtJWnNKSSxxQkN6RmdGO0lEMEZoRixvQkMxRmdGO0dXeERuRjtDM0I2bktBOztBY3ZsS0c7RWEzQ0o7SVo2Q1EsbUJDZ0I0RTtJRGhCNUUsa0JDZ0I0RTtJRGhCNUUscUJDZ0I0RTtJRGhCNUUsc0JDZ0I0RTtHV3hEbkY7QzNCc29LQTs7QTJCcG9LRDtFWitJSSwyQkN6RmdGO0VEMEZoRixvQkMxRmdGO0VEaEI1RSxtQkNnQjRFO0VEaEI1RSxrQkNnQjRFO0VEaEI1RSxxQkNnQjRFO0VEaEI1RSxzQkNnQjRFO0VXbERoRixlbEJxQmlCO0NrQmpCcEI7O0FiNEJHO0VhcENKO0laK0lJLG9CQ3pGZ0Y7SUQwRmhGLG9CQzFGZ0Y7R1c5Q25GO0MzQjZvS0E7O0Fjam5LRztFYXBDSjtJWnNDUSxtQkNnQjRFO0lEaEI1RSxrQkNnQjRFO0lEaEI1RSxxQkNnQjRFO0lEaEI1RSxzQkNnQjRFO0dXOUNuRjtDM0JzcEtBOztBMkI5cEtEO0VBTVEsZWxCZWE7Q2tCZGhCOztBQUdMO0VacUlJLDJCQ3pGZ0Y7RUQwRmhGLG9CQzFGZ0Y7RURoQjVFLG1CQ2dCNEU7RURoQjVFLGtCQ2dCNEU7RURoQjVFLHFCQ2dCNEU7RURoQjVFLHNCQ2dCNEU7RVd4Q2hGLGVsQldpQjtDa0JWcEI7O0FicUJHO0VhMUJKO0lacUlJLG9CQ3pGZ0Y7SUQwRmhGLG9CQzFGZ0Y7R1d2Q25GO0MzQm9xS0E7O0FjL29LRztFYTFCSjtJWjRCUSxtQkNnQjRFO0lEaEI1RSxrQkNnQjRFO0lEaEI1RSxxQkNnQjRFO0lEaEI1RSxzQkNnQjRFO0dXdkNuRjtDM0I2cUtBOztBMkIzcUtEO0VaOEhJLDJCQ3pGZ0Y7RUQwRmhGLG9CQzFGZ0Y7RURoQjVFLG1CQ2dCNEU7RURoQjVFLGtCQ2dCNEU7RURoQjVFLHFCQ2dCNEU7RURoQjVFLHNCQ2dCNEU7RVdqQ2hGLGVsQklpQjtDa0JIcEI7O0FiY0c7RWFuQko7SVo4SEkscUJDekZnRjtJRDBGaEYsb0JDMUZnRjtHV2hDbkY7QzNCdXJLQTs7QWN6cUtHO0VhbkJKO0lacUJRLG1CQ2dCNEU7SURoQjVFLGtCQ2dCNEU7SURoQjVFLHFCQ2dCNEU7SURoQjVFLHNCQ2dCNEU7R1doQ25GO0MzQmdzS0E7O0EyQjlyS0Q7RVp1SEksZ0JDekZnRjtFRDBGaEYsb0JDMUZnRjtFRGhCNUUsbUJDZ0I0RTtFRGhCNUUsa0JDZ0I0RTtFRGhCNUUscUJDZ0I0RTtFRGhCNUUsc0JDZ0I0RTtFVzFCaEYsZWxCSGlCO0NrQldwQjs7QWJBRztFYVpKO0ladUhJLGdCQ3pGZ0Y7SUQwRmhGLG9CQzFGZ0Y7R1dsQm5GO0MzQm1zS0E7O0FjbnNLRztFYVpKO0laY1EsbUJDZ0I0RTtJRGhCNUUsa0JDZ0I0RTtJRGhCNUUscUJDZ0I0RTtJRGhCNUUsc0JDZ0I0RTtHV2xCbkY7QzNCNHNLQTs7QTJCeHRLRDtFWnVISSwyQkN6RmdGO0VEMEZoRixvQkMxRmdGO0VEaEI1RSxvQkNnQjRFO0VEaEI1RSxrQkNnQjRFO0VEaEI1RSxxQkNnQjRFO0VEaEI1RSx1QkNnQjRFO0NXdEIvRTs7QWJJRDtFYVpKO0ladUhJLG1CQ3pGZ0Y7SUQwRmhGLG9CQzFGZ0Y7R1d0Qi9FO0MzQmd1S0o7O0FjNXRLRztFYVpKO0laY1EsbUJDZ0I0RTtJRGhCNUUsa0JDZ0I0RTtJRGhCNUUscUJDZ0I0RTtJRGhCNUUsc0JDZ0I0RTtHV3RCL0U7QzNCeXVLSjs7QTJCanZLRDtFQVVRLGVsQmJhO0NrQmNoQjs7QUNqREw7RUFDSSxrQkFBaUI7RUFDakIsWW5CNkJjO0VtQjVCZCwwQm5CZ0NpQjtDbUIvQnBCOztBQUVEO0VBQ0ksWW5Cd0JjO0VtQnZCZCwwQm5CMkJpQjtFbUIxQmpCLGtCQUFpQjtDQUNwQjs7QUNWRDtFQUNJLHNCQUFxQjtFQUNyQixlcEJnQ2lCO0NvQi9CcEI7O0FBY0Q7O0VBRUksZXBCZ0JpQjtFb0JmakIsc0JBQXFCO0VBQ3JCLDBCQUF5QjtDQUM1Qjs7QUN0QkQ7O0VBRUksaUJBQWdCO0VBQ2hCLGVBQWM7RUFDZCxnQkFBZTtDQUlsQjs7QWhCMENHO0VnQmxESjs7SUFNUSxnQkFBZTtHQUV0QjtDOUJ5ektBOztBOEJ2ektEO0VBQ0ksbUJBQWtCO0VBQ2xCLGtCQUFpQjtDQVVwQjs7QUFaRDtFQUlRLGdCQUFlO0VBQ2YsYUFBYTtFQUNiLGVyQm1CYTtFcUJsQmIsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixVQUFTO0VBQ1QsUUFBTztDQUNWOztBQUdMO0VBQ0ksb0JBQW1CO0NBeUJ0Qjs7QUExQkQ7RUFHUSxtQkFBa0I7RUFDbEIsa0JBQWlCO0NBcUJwQjs7QUF6Qkw7RUFPWSx3QkFBdUI7RUFDdkIsMkJBQTBCO0VBQzFCLGVy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RTtJRGhCNUUsa0JDZ0I0RTtJRGhCNUUscUJDZ0I0RTtJRGhCNUUsb0JDZ0I0RTtHMEI5QzNFO0MxQzJtTlI7O0FjL2tORztFNEJsREo7STNCb0RRLHNCQ2dCNEU7RzBCOUMzRTtDMUNpbk5SOztBY3JsTkc7RTRCbERKO0lBd0JZLFlBQVc7R0F1QmQ7RUEvQ1Q7STNCb0RRLGlCQ2dCNEU7SURoQjVFLGtCQ2dCNEU7SURoQjVFLHFCQ2dCNEU7SURoQjVFLG9CQ2dCNEU7STBCekNwRSxlakNRSztJaUNQTCxrQkFBaUI7R0FDcEI7QzFDd25OWjs7QWNubU5HO0U0QmxESjtJM0JvRFEsaUJDZ0I0RTtJRGhCNUUsa0JDZ0I0RTtJRGhCNUUscUJDZ0I0RTtJRGhCNUUsb0JDZ0I0RTtHMEJ2Q3ZFO0MxQ2lvTlo7O0FjNW1ORztFNEJsREo7SUErQmdCLGVqQ1FLO0dpQ1BSO0VBaENiO0lBa0NnQixZQUFXO0lBQ1gsWUFBVztHQUNkO0VBcENiO0lBc0NnQixZQUFXO0lBQ1gsbUJBQWtCO0dBQ3JCO0VBeENiO0lBMENnQixhQUFZO0dBSWY7RUE5Q2I7SUE0Q29CLFlBQVc7R0FDZDtDMUNxb05oQjs7QWNob05HO0U0QkRBO0kvQjlCQSx1QkRJc0I7SUNKdEIscUJTd0kwQztJVHhJMUMsWVVBNEQ7SVZBNUQsNEJXNEQ4RTtHb0IxQjdFO0MxQ3dvTko7O0FjM29ORztFNEJJQTtJL0JuQ0EsdUJESXNCO0lDSnRCLHNCU3dJMEM7SVR4STFDLGFVQXVFO0lWQXZFLGdCU2tGb0I7R3NCVG5CO0VBdENBO0lBSVcsbUJBQWtCO0lBQ2xCLGtCQUFpQjtHQUNwQjtDMUNncE5aOztBMEM5b05PO0VBUkg7SUFVVyxjQUFhO0dBQ2hCO0MxQ2lwTlo7O0EwQzlvTk87RUFkSDtJQWdCVyxjQUFhO0dBQ2hCO0MxQ2lwTlo7O0EwQzlvTk87RUFwQkg7SUFzQlcsY0FBYTtHQUNoQjtDMUNpcE5aOztBMEM5b05PO0VBMUJIO0lBNEJXLGNBQWE7R0FDaEI7RUE3QlI7SUErQlcsa0JBQWlCO0lBQ2pCLG1CQUFrQjtJQUNsQixXQUFVO0lBQ1YsU0FBUTtJQUNSLFdBQVU7R0FDYjtDMUNpcE5aOztBMEM3b05HO0VBOUZKO0lBK0ZRLG1CQUFrQjtHQWdCekI7RUEvR0Q7SUFpR1ksbUJBQWtCO0lBQ2xCLFdBQVU7R0FDYjtFQW5HVDtJQXFHWSxpQkFBZ0I7SUFDaEIsc0JBQXFCO0lBQ3JCLFdBQVU7SUFDVixhQUFZO0lBQ1osaUJBQWdCO0dBSW5CO0VBN0dUO0lBMkdnQixVQUFTO0dBQ1o7QzFDbXBOWjs7QTJDL3ZORDtFQUNJLGFBQVk7RUFDWixpQkFBZ0I7RTVCa0RaLGlCQ2dCNEU7RURoQjVFLGtCQ2dCNEU7RURoQjVFLHFCQ2dCNEU7RURoQjVFLG9CQ2dCNEU7RTJCaEVoRix1QmxDMkJjO0VrQzFCZCxtQkFBa0I7RUFDbEIsWUFBVztDQWlLZDs7QTdCckhHO0U2QmxESjtJNUJvRFEsaUJDZ0I0RTtJRGhCNUUsa0JDZ0I0RTtJRGhCNUUscUJDZ0I0RTtJRGhCNUUsb0JDZ0I0RTtHMkJtR25GO0MzQzZtTkE7O0FjbHVORztFNkJsREo7SUFRUSxnQkFBZTtJQUNmLGlCQUFnQjtJNUIyQ2hCLG9CQ2dCNEU7SURoQjVFLG9CQ2dCNEU7SURoQjVFLHVCQ2dCNEU7SURoQjVFLHNCQ2dCNEU7STJCekQ1RSxpQkFBZ0I7SUFDaEIsMEJsQ2dCYztHa0MySXJCO0MzQzBuTkE7O0FjL3VORztFNkJsREo7STVCb0RRLG9CQ2dCNEU7SURoQjVFLG9CQ2dCNEU7SURoQjVFLHVCQ2dCNEU7SURoQjVFLHNCQ2dCNEU7RzJCbUduRjtDM0Ntb05BOztBMkM1eE5HO0U1QnNDSSxtQkNnQjRFO0VEaEI1RSxzQkNnQjRFO0MyQm5DL0U7O0E3QmlCRDtFNkJwQ0E7STVCc0NJLG1CQ2dCNEU7RzJCbkMvRTtDM0NveE5KOztBY253Tkc7RTZCcENBO0k1QnNDSSxpQkNnQjRFO0kyQmxEeEUsbUJBQWtCO0dBZXpCO0MzQzJ4Tko7O0FjMXdORztFNkJwQ0E7STVCc0NJLGlCQ2dCNEU7RzJCbkMvRTtDM0NpeU5KOztBY2h4Tkc7RTZCcENBO0k1QnNDSSxzQkNnQjRFO0cyQm5DL0U7QzNDdXlOSjs7QTJDMXpOSTs7RUFTTyxVQUFTO0NBQ1o7O0FBQ0Q7RTVCMkJBLG9CQ2dCNEU7RTJCekN4RSxZQUFXO0VBQ1gsa0IzQjJGdUY7QzJCdkYxRjs7QTdCa0JMO0U2QnpCSTtJNUIyQkEsb0JDZ0I0RTtHMkJwQzNFO0MzQ3l6TlI7O0FjdnlORztFNkJ6Qkk7SUFLUSxrQjNCeUZtRjtHMkJ2RjFGO0MzQyt6TlI7O0EyQzd6Tkc7RTVCMkhBLDJCQ3pGZ0Y7RUQwRmhGLG9CQzFGZ0Y7QzJCa0MvRTs7QTdCcEREO0U2QmhCQTtJNUIySEEsb0JDekZnRjtJRDBGaEYsb0JDMUZnRjtHMkJrQy9FO0MzQ3F3Tko7O0FjenpORztFNkJoQkE7SWhDZkEsdUJESXNCO0lDSnRCLFdTd0kwQztJVHhJMUMsWVVBNEQ7SXNCbUJwRCxtQkFBa0I7SUFDbEIsbUJBQWtCO0lBQ2xCLG9CQUFtQjtJQUNuQixnQ2xDYlU7SWtDY1YsY0FBYTtHQTREcEI7RUFwRUE7SWhDZkQsdUJESXNCO0lDSnRCLFdTd0kwQztJVHhJMUMsYVVBdUU7SXNCMEIzRCxnQkFBZTtHQUNsQjtFQVpSO0lBY1csZWxDdEJLO0lNbUlqQiwyQkN6RmdGO0lEMEZoRixvQkMxRmdGO0kyQmxCcEUsNkJBQTRCO0dBTy9CO0MzQyswTlo7O0FjdDFORztFNkJoQkM7STVCMkhELG9CQ3pGZ0Y7SUQwRmhGLG9CQzFGZ0Y7RzJCWHZFO0MzQ3MxTlo7O0FjNzFORztFNkJoQkM7SUFrQmUsZWxDYkM7R2tDY0o7RUFuQlo7SUFxQmUsaUJBQWdCO0dBQ25CO0MzQ2cyTmhCOztBMkN0M05JO0VBMEJPLG1CQUFrQjtDQUNyQjs7QUEzQko7RTVCa0JHLGlCQ2dCNEU7RURoQjVFLGtCQ2dCNEU7RURoQjVFLHFCQ2dCNEU7RURoQjVFLG9CQ2dCNEU7RURoQjVFLG9CQ2dCNEU7QzJCSDNFOztBN0JmTDtFNkJoQkM7STVCa0JHLGlCQ2dCNEU7SURoQjVFLGtCQ2dCNEU7SURoQjVFLHFCQ2dCNEU7SURoQjVFLG9CQ2dCNEU7RzJCSDNFO0MzQzQyTlI7O0FjMzNORztFNkJo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cENRUztFTWlCYixpQkNnQjRFO0VEaEI1RSxrQkNnQjRFO0VEaEI1RSxxQkNnQjRFO0VEaEI1RSxvQkNnQjRFO0M2QnZDM0U7O0EvQnFCTDtFK0I5QkM7STlCZ0NHLGlCQ2dCNEU7SURoQjVFLGtCQ2dCNEU7SURoQjVFLHFCQ2dCNEU7SURoQjVFLG9CQ2dCNEU7RzZCdkMzRTtDN0Npb09SOztBNkMxb09JO0U5QnlJRCwyQkN6RmdGO0VEMEZoRixvQkMxRmdGO0U2QnBDeEUsa0I3QnVGdUY7RTZCdEZ2Rix1QkFBc0I7Q0FPekI7O0EvQlVMO0UrQjlCQztJOUJ5SUQsbUJDekZnRjtJRDBGaEYsb0JDMUZnRjtHNkI1QjNFO0M3Q29vT1I7O0FjMW5PRztFK0I5QkM7SUFlVyxrQjdCb0ZtRjtHNkIvRTFGO0M3QzBvT1I7O0E2QzlwT0k7RUFrQlcsb0JwQ0tLO0NvQ0pSOztBQW5CUjtFQXNCTyxzQnBDUFM7Q29DUVo7O0FBRUw7RWxDMUJBLHVCREpzQjtFQ0l0QixXU3dJMEM7RVR4STFDLFlVQTREO0V3QjRCeEQsaUJBQWdCO0VBQ2hCLG9CQUFtQjtFQUNuQixrQkFBaUI7Q0FDcEI7O0FBQ0Q7RWxDaENBLHVCREpzQjtFQ0l0QixzQlN3STBDO0VUeEkxQyxhVUF1RTtFVkF2RSxnQlNrRm9CO0N5QmhEbkI7O0FBckNMO0VBdUNRLG9CQUFtQjtFQUNuQix1QkFBc0I7RUFDdEIsbUJBQWtCO0VBQ2xCLG9CQUFtQjtDQUN0Qjs7QS9CVEQ7RStCTEE7SWxDMUJBLHVCRElzQjtJQ0p0QixzQlN3STBDO0lUeEkxQyxZVUE0RDtHd0I0Q3ZEO0VBWkw7SUFjUSxtQkFBa0I7SWxDOUMxQix1QkRJc0I7SUNKdEIsc0JTd0kwQztJVHhJMUMsYVVBdUU7SVZBdkUsZ0JTa0ZvQjtHeUJsQ2Y7QzdDcXFPUjs7QThDeHVPRDtFQUNJLHVCQUFzQjtFQUN0QixrQkFBaUI7RUFDakIsbUJBQWtCO0VBQ2xCLGtCQUFpQjtFQUNqQixtQkFBa0I7RUFDbEIsV0FBVTtDQXlDYjs7QUF4Q0c7RUFQSjtJQVFRLGtCQUFpQjtJQUNqQixtQkFBa0I7R0FzQ3pCO0M5Q3lzT0E7O0E4Qzd1T0c7RUFDSSxjQUFhO0NBS2hCOztBaENpQ0Q7RWdDdkNBO0luQ1FBLHVCRElzQjtJQ0p0QixzQlN3STBDO0lUeEkxQyxhVUF1RTtJVkF2RSxnQlNrRm9CO0kwQnRGWixjQUFhO0dBRXBCO0M5Q3V2T0o7O0E4Q3R2T0c7RUFDSSxjQUFhO0VBQ2IsdUJBQXNCO0VBQ3RCLG1DQUFrQztFQUNsQyw0QkFBMkI7RUFDM0IsK0JBQThCO0NBS2pDOztBaENzQkQ7RWdDaENBO0luQ0NBLHVCRElzQjtJQ0p0QixzQlN3STBDO0lUeEkxQyxZVUE0RDtJVkE1RCw0Qlc0RDhFO0l3QnJEdEUsY0FBYTtHQUVwQjtDOUNnd09KOztBOEM1eE9EO0VBOEJRLG1CQUFrQjtFQUNsQixXQUFVO0VBQ1YsV0FBVTtFQUNWLGdCQUFlO0VBQ2YsYUFBWTtFQUNaLDhCQUE2QjtFQUM3QixVQUFTO0VBQ1QsYUFBWTtDQVNmOztBQTlDTDtFQXVDWSwyQ0FBMEM7Q0FDN0M7O0FBeENUO0VBMENZLDBCQUF5QjtFQUN6QiwyQ0FBMEM7RUFDMUMsb0JBQW1CO0NBQ3RCOztBQzdDVDtFQUNJLG1CQUFrQjtFQUNsQixZQUFXO0NBaUJkOztBQWhCRztFQUNJLGlCdEMyQlU7Q3NDYmI7O0FBYkc7RWhDK0NBLG9CQ2dCNEU7RURoQjVFLHFCQ2dCNEU7RURoQjVFLHdCQ2dCNEU7RURoQjVFLHVCQ2dCNEU7RStCN0R4RSxtQkFBa0I7Q0FVckI7O0FqQ2lDTDtFaUM3Q0k7SWhDK0NBLG1CQ2dCNEU7SURoQjVFLG9CQ2dCNEU7SURoQjVFLHVCQ2dCNEU7SURoQjVFLHNCQ2dCNEU7RytCbkQzRTtDL0Mwek9SOztBK0NsME9lO0VBSlA7SUFLVyxZQUFXO0lBQ1gsNkJBQTRCO0dBS25DO0MvQ2swT1o7O0FjaHlPRztFaUM3Q0s7SUFTVyxZQUFXO0dBRWxCO0MvQ3cwT1o7O0ErQ3gxT0Q7RUFzQkksbUJBQWtCO0VBQ2xCLFlBQVc7RUFDWCxhQUFZO0VBQ1osaUJBQWdCO0NBNkVuQjs7QUFuR0c7RUF3QkksaUJ0Q0lVO0VzQ0hWLGVBQWM7Q0F5RWpCOztBQXhFRztFQUNJLG9CdENTUztDc0NGWjs7QWpDYUw7RWlDckJJO0lwQ1ZKLHVCRElzQjtJQ0p0QixzQlN3STBDO0lUeEkxQyxZVUE0RDtJVkE1RCw0Qlc0RDhFO0d5QjFDekU7RUFSQTtJcENWTCx1QkRJc0I7SUNKdEIsc0JTd0kwQztJVHhJMUMsYVVBdUU7SVZBdkUsZ0JTa0ZvQjtHMkJsRVA7Qy9DdzFPaEI7O0ErQ3IxT087RUFDSSx3QkFBdUI7RWhDYTNCLHNCQ2dCNEU7RStCM0J4RSwwQkFBeUI7RXBDdEJqQyx1QkRKc0I7RUNJdEIsc0JTd0kwQztFVHhJMUMsWVVBNEQ7RVZBNUQsNEJXNEQ4RTtDeUJkekU7O0FqQ2ZMO0VpQ1pJO0loQ2NBLHNCQ2dCNEU7RytCSDNFO0MvQzQwT1I7O0ErQ3YyT1E7RUFLTywrQ0FBOEM7RUFDOUMsbUJBQWtCO0VBQ2xCLDBCQUF5QjtDQUM1Qjs7QUFSSjtFcENuQkwsdUJESnNCO0VDSXRCLHNCU3dJMEM7RVR4STFDLGFVQXVFO0VWQXZFLGdCU2tGb0I7QzJCbkRYOztBakNBVDtFaUNaSTtJcENuQkosdUJESXNCO0lDSnRCLHNCU3dJMEM7SVR4STFDLFlVQTREO0lWQTVELDRCVzREOEU7R3lCZHpFO0VBM0JBO0lwQ25CTCx1QkRJc0I7SUNKdEIsc0JTd0kwQztJVHhJMUMsYVVBdUU7SVZBdkUsZ0JTa0ZvQjtHMkI5Q1A7Qy9DdzNPaEI7O0ErQ3o0T1E7RUFxQlcsK0NBQThDO0NBQ2pEOztBQXRCUjtFQXdCVyxhQUFZO0NBQ2Y7O0FBMURUO0VoQytDQSxvQkNnQjRFO0VEaEI1RSxxQkNnQjRFO0VEaEI1RSx3QkNnQjRFO0VEaEI1RSx1QkNnQjRFO0UrQkF4RSxtQkFBa0I7RUFDbEIsaUJBQWdCO0NBK0JuQjs7QWpDbERMO0VpQzdDSTtJaEMrQ0EsbUJDZ0I0RTtJRGhCNUUsb0JDZ0I0RTtJRGhCNUUsdUJDZ0I0RTtJRGhCNUUsc0JDZ0I0RTtHK0JnQzNFO0MvQ3EyT1I7O0FjdjVPRztFaUM3Q0k7SUFrRVEsYUFBWTtJQUNaLGdCQUFlO0dBNEJ0QjtDL0M0Mk9SOztBK0M5NE9RO0VBU08sK0NBQThDO0NBQ2pEOztBQXZFSjtFQTBFTyxhQUFZO0VBQ1osZUFBYztDQUlqQjs7QWpDbENUO0VpQzdDSztJQTZFVyw4QkFBNkI7R0FFcEM7Qy9DMjRPWjs7QStDNzVPUTtFQW9CTyxhQUFZO0VBQ1osbUJBQWtCO0VBQ2xCLGlCQUFnQjtDQUluQjs7QWpDMUNUO0VpQ2dCSztJQXdCVyxZQUFXO0dBRWxCO0MvQys0T1o7O0FjejdPRztFaUNnQks7O0lBOEJXLGVBQWM7SUFDZCxVQUFTO0dBQ1o7Qy9DaTVPaEI7O0ErQzM0T0Q7RUFDSSx1QnRDMUVjO0VzQzJFZCwwQnRDOUVrQjtFc0MrRWxCLGMvQlkrRjtDK0JlbEc7O0FqQ3BGRztFaUNzREo7SUFLUSxjL0JVMkY7RytCZWxHO0MvQ3kzT0E7O0ErQ3Y1T0Q7RWhDcERRLGlCQ2dCNEU7RURoQjVFLGtCQ2dCNEU7RURoQjVFLHFCQ2dCNEU7RURoQjVFLG9CQ2dCNEU7RURoQjVFLHVCQ2dCNEU7QytCOEMvRTs7QWpDaEVEO0VpQ3NESjtJaENwRFEsaUJDZ0I0RTtJRGhCNUUsa0JDZ0I0RTtJRGhCNUUscUJDZ0I0RTtJRGhCNUUsb0JDZ0I0RTtHK0I4Qy9FO0MvQzg1T0o7O0FjOTlPRztFaUNzREo7SWhDcERRLHNCQ2dCNEU7RytCOEMvRTtDL0NvNk9KOztBK0M5Nk9EO0VBWVEsWUFBVztFQUNYLGlCQUFnQjtDQU9uQjs7QUFwQkw7RUFlWSxTQUFRO0NBQ1g7O0FBaEJUO0VBa0JZLGFBQVk7Q0FDZjs7QWpDekVMO0VpQzJFQTtJaEN6RUksdUJDZ0I0RTtJTGpEaEYsdUJESXNCO0lDSnRCLHNCU3dJMEM7SVR4STFDLFlVQTREO0lWQTVELDRCVzREOEU7R3lCc0Q3RTtDL0MwNk9KOztBYzcvT0c7RWlDMkVBO0loQ3pFSSxzQkNnQjRFO0crQmlFL0U7Qy9DZzdPSjs7QWNuZ1BHO0VpQzJFQztJcEMxR0QsdUJESXNCO0lDSnRCLHNCU3dJMEM7SVR4STFDLGFVQXVFO0lWQXZFLGdCU2tGb0I7RzJCOEJYO0MvQzY3T1o7O0FnRGhrUEQ7RUFDSSxtQkFBa0I7Q0EwRHJCOztBQXpERztFQUNJLCtDQUE4QztFQUM5QyxxQkFBb0I7RUFDcEIsZUFBYztFakMrQ2QsdUJDZ0I0RTtFZ0M3RDVFLGlCQUFnQjtDQUNuQjs7QWxDMENEO0VrQ2hEQTtJakNrREksc0JDZ0I0RTtHZ0M1RC9FO0NoRDBrUEo7O0FnRHprUEc7RUFDSSxrQkFBaUI7Q0FDcEI7O0FBWEw7RWpDb0RRLGlCQ2dCNEU7RURoQjVFLGtCQ2dCNEU7RURoQjVFLHFCQ2dCNEU7RURoQjVFLG9CQ2dCNEU7Q2dDdEQvRTs7QWxDb0NEO0VrQ2xESjtJakNvRFEsaUJDZ0I0RTtJRGhCNUUsa0JDZ0I0RTtJRGhCNUUscUJDZ0I0RTtJRGhCNUUsb0JDZ0I0RTtHZ0N0RC9FO0NoRHdsUEo7O0FnRHZsUEc7RUFDSSxvQkFBbUI7Q0EwQ3RCOztBQTNDQTtFQUdPLHFCQUFhO0VBQWIsY0FBYTtFQUNiLDJCQUFzQjtNQUF0Qix1QkFBc0I7RUFDdEIsc0JBQXVCO01BQXZCLHdCQUF1QjtFQUN2QixTQUFRO0NBTVg7O0FsQ3VCTDtFa0NuQ0M7SUFRVyx3QkFBbUI7UUFBbkIsb0JBQW1CO0lBQ25CLHVCQUFtQjtRQUFuQixvQkFBbUI7SUFDbkIsVUFBUztHQUVoQjtDaEQ4bFBSOztBZ0Q3bFBPO0VBQ0ksK0NBQThDO0VBQzlDLHFCQUFvQjtFQUNwQixhQUFZO0VBQ1osY0FBYTtFQUNiLHFCQUFjO01BQWQsZUFBYztDQU1qQjs7QUFYQTtFQU9PLFlBQVc7RUFDWCxhQUFZO0VBQ1oscUJBQWlCO0tBQWpCLGtCQUFpQjtDQUNwQjs7QUFFTDtFQUNJLFlBQVc7RUFDWCxxQkFBWTtNQUFaLGFBQVk7Q0FlZjs7QUFqQkE7RUFJTyxVQUFTO0VBQ1Qsa0JBQWlCO0NBQ3BCOztBQU5KO0VBUU8sVUFBUztFQUNULGtCQUFpQjtDQUNwQjs7QUFWSjtFQVlPLGtCQUFpQjtFQUNqQixlQUFjO0VBQ2QsZ0JBQWU7RUFDZixrQkFBaUI7Q0FDcEI7O0FDeERiO0VBRVEsYUFBWTtFQUNaLG1CQUFrQjtDQUNyQjs7QUFDRDtFQUNJLDBCeENzQmM7RXdDckJkLGNqQ2dIMkY7Q2lDL0c5Rjs7QUFDRDtFdENVQSx1QkRKc0I7RUNJdEIsc0JTd0kwQztFVHhJMUMsWVVBNEQ7RVZBNUQsNEJXNEQ4RTtDMkJqRTdFOztBbkNvQ0Q7RW1DekNBO0l0Q1VBLHVCRElzQjtJQ0p0QixxQlN3STBDO0lUeEkxQyxZVUE0RDtJVkE1RCw0Qlc0RDhFO0cyQmpFN0U7Q2pENnFQSjs7QWlENXFQRztFdENJQSx1QkRKc0I7RUNJdEIsc0JTd0kwQztFVHhJMUMsYVVBdUU7RVZBdkUsZ0JTa0ZvQjtDNkI5RW5COztBQVJBO0VsQ3FDRyxpQkNnQjRFO0VEaEI1RSxrQkNnQjRFO0VEaEI1RSxxQkNnQjRFO0VEaEI1RSxvQkNnQjRFO0NpQ2xEM0U7O0FuQ2dDTDtFbUNuQ0M7SWxDcUNHLGlCQ2dCNEU7SURoQjVFLGtCQ2dCNEU7SURoQjVFLHFCQ2dCNEU7SURoQjVFLG9CQ2dCNEU7R2lDbEQzRTtDakRrc1BSOztBY2xxUEc7RW1DbkNBO0l0Q0lBLHVCRElzQjtJQ0p0QixzQlN3STBDO0lUeEkxQyxhVUF1RTtJVkF2RSxnQlNrRm9CO0c2QjlFbkI7Q2pEd3NQSjs7QWtEL3RQRDtFQUNJLG1CQUFrQjtFbkNtRGQsbUJDZ0I0RTtFRGhCNUUsa0JDZ0I0RTtFRGhCNUUscUJDZ0I0RTtFRGhCNUUsc0JDZ0I0RTtFRGhCNUUsbUJDZ0I0RTtDa0MzRG5GOztBcEN5Q0c7RW9DbERKO0luQ29EUSxtQkNnQjRFO0lEaEI1RSxrQkNnQjRFO0lEaEI1RSxxQkNnQjRFO0lEaEI1RSxzQkNnQjRFO0drQzNEbkY7Q2xEd3VQQTs7QWMvclBHO0VvQ2xESjtJbkNvRFEsbUJDZ0I0RTtHa0MzRG5GO0NsRDh1UEE7O0FrRHZ2UEQ7O0VBTVEsaUJBQWdCO0VBQ2hCLGtCQUFpQjtDQUNwQjs7QUNSTDtFcEM2SkksMkJDekZnRjtFRDBGaEYsb0JDMUZnRjtFbUNqRWhGLFdBQVU7RUFDVixVQUFTO0VwQ2dETCx1QkNnQjRFO0NtQ3JDbkY7O0FyQ21CRztFcUNsREo7SXBDNkpJLG9CQ3pGZ0Y7SUQwRmhGLG9CQzFGZ0Y7R21DckNuRjtDbkQ2dVBBOztBYzF0UEc7RXFDbERKO0lwQ29EUSxzQkNnQjRFO0dtQ3JDbkY7Q25EbXZQQTs7QW1EbHhQRDtFQVFRLFdBQVU7RUFDVixtQm5DOEcyRjtFbUM3RzNGLFVBQVM7RUFPVCxnQkFBZTtDQUNsQjs7QUFsQkw7RUFZWSxjQUFhO0NBQ2hCOztBQWJUO0VBZVksZ0JBQWU7Q0FDbEI7O0FBaEJUO0VBb0JRLGtCbkNtRzJGO0VtQ2xHM0YsWUFBVztDQUNkOztBQXRCTDtFQXdCUSxZMUNPVTtDMENOYjs7QUFDQTtFQUVPLGUxQ1dTO0MwQ1ZaOztBQzdCVDtFckNvRFEsbUJDZ0I0RTtFRGhCNUUsb0JDZ0I0RTtFRGhCNUUscUJDZ0I0RTtFRGhCNUUsb0JDZ0I0RTtDb0MrRW5GOztBdENqR0c7RXNDbERKO0lyQ29EUSxtQkNnQjRFO0lEaEI1RSxvQkNnQjRFO0lEaEI1RSxxQkNnQjRFO0lEaEI1RSxvQkNnQjRFO0dvQytFbkY7Q3BEMnFQQTs7QWM1d1BHO0VzQ2xESjtJckNvRFEsbUJDZ0I0RTtJTGpEaEYsdUJESXNCO0lDSnRCLHNCU3dJMEM7SVR4STFDLFlVQTREO0lWQTVELDRCVzREOEU7RzhCeEU3RTtDcERtMFBKOztBY3h4UEc7RXNDbERKO0lyQ29EUSxtQkNnQjRFO0dvQzdEL0U7Q3BEeTBQSjs7QWM5eFBHO0VzQ2xESjtJekNtQkksdUJESXNCO0lDSnRCLHNCU3dJMEM7SVR4STFDLFlVQTREO0lWQTVELDRCVzREOEU7RzhCaEU3RTtFQWZMO0l6Q21CSSx1QkRJc0I7SUNKdEIsc0JTd0kwQztJVHhJMUMsYVVBdUU7SVZBdkUsZ0JTa0ZvQjtHZ0N4Rlg7Q3BEczFQWjs7QWNqelBHO0VzQ2xESjtJekNtQkksdUJESXNCO0lDSnRCLFlTd0kwQztJVHhJMUMsWVVBNEQ7SVZBNUQsZVMrRXFCO0lUL0VyQixnQlNrRm9CO0dnQ25FbkI7Q3BENjBQSjs7QW9ELzJQRDtFQXFCWSxnQkFBZTtDQUNsQjs7QUF0QlQ7RUEyQlksV0FBVTtDQU1iOztBQWpDVDtFQXlCZ0IsY0FBYTtDQUNoQjs7QUExQmI7O0VBOEJnQixnQkFBZTtFQUNmLG1CQUFrQjtDQUNyQjs7QXRDa0JUO0VzQ2xESjtJckNvRFEsbUJDZ0I0RTtJRGhCNUUsc0JDZ0I0RTtJTGpEaEYsdUJESXNCO0lDSnRCLHNCU3dJMEM7SVR4STFDLGFVQXVFO0lWQXZFLGdCU2tGb0I7R2dDNURuQjtDcERxMlBKOztBYzUxUEc7RXNDbERKO0lyQ29EUSxtQkNnQjRFO0dvQzNCL0U7Q3BEMjJQSjs7QWNsMlBHO0VzQ2xESjtJckNvRFEsc0JDZ0I0RTtHb0MzQi9FO0NwRGkzUEo7O0FvRDE1UEQ7RUEyQ1EsbUJBQWtCO0VyQ1NsQixzQkNnQjRFO0NvQ3ZCL0U7O0F0Q0tEO0VzQ2xESjtJckNvRFEsc0JDZ0I0RTtHb0N2Qi9FO0NwRHczUEo7O0FvRHI2UEQ7RUErQ1EsYUFBWTtFQUNaLGlCQUFnQjtDQTZCbkI7O0FBN0VMO0VBa0RZLFlBQVc7RUFDWCxtQkFBa0I7RUFDbEIsU0FBUTtFQUNSLE9BQU07RUFDTixRQUFPO0VBQ1AsdUdBQXNIO0VBQ3RILFlBQVc7RUFDWCxhQUFZO0NBSWY7O0F0Q1hMO0VzQ2xESjtJQTJEZ0IsVUFBUztHQUVoQjtDcEQ4M1BSOztBb0QzN1BEO0VBK0RZLFlBQVc7RUFDWCxtQkFBa0I7RUFDbEIsU0FBUTtFQUNSLE9BQU07RUFDTixRQUFPO0VBQ1AsWUFBVztFQUNYLGFBQVk7RUFDWix1QkFBc0I7RUFDdEIsNEJBQTJCO0VBQzNCLHdEQUF1RDtDQUkxRDs7QXRDMUJMO0VzQ2xESjtJQTBFZ0IsVUFBUztHQUVoQjtDcERrNFBSOztBb0Q5OFBEO0VBK0VRLGFBQVk7RUFDWixpQkFBZ0I7RXJDNUJoQixpQkNnQjRFO0VEaEI1RSxvQkNnQjRFO0VEaEI1RSx1QkNnQjRFO0VEaEI1RSxvQkNnQjRFO0NvQ2MvRTs7QXRDaENEO0VzQ2xESjtJckNvRFEsaUJDZ0I0RTtJRGhCNUUsb0JDZ0I0RTtJRGhCNUUsdUJDZ0I0RTtJRGhCNUUsb0JDZ0I0RTtHb0NjL0U7Q3BEODRQSjs7QW9EaCtQRDtFQXNGZ0IsZTNDNURLO0MyQzZEUjs7QUF2RmI7RUF5RmdCLGNBQWE7RUFDYixvQkFBbUI7Q0FDdEI7O0FBM0ZiO0VBNkZnQixjQUFhO0NBQ2hCOztBdEM1Q1Q7RXNDbERKO0l6Q21CSSx1QkRJc0I7SUNKdEIsc0JTd0kwQztJVHhJMUMsWVVBNEQ7SVZBNUQsNEJXNEQ4RTtHOEJzQnpFO0VBckdUO0l6Q21CSSx1QkRJc0I7SUNKdEIsc0JTd0kwQztJVHhJMUMsYVVBdUU7SVZBdkUsZ0JTa0ZvQjtHZ0NGUDtDcEQ2NVBoQjs7QW9EaGdRRDtFQXdHUSwrQzNDNUVjO0UyQzZFZCxrRDNDN0VjO0UyQzhFZCxhQUFZO0VBQ1osaUJBQWdCO0VyQ3ZEaEIsaUJDZ0I0RTtFRGhCNUUsb0JDZ0I0RTtFRGhCNUUsdUJDZ0I0RTtFRGhCNUUsb0JDZ0I0RTtDb0NnRS9FOztBdENsRkQ7RXNDbERKO0lyQ29EUSxpQkNnQjRFO0lEaEI1RSxvQkNnQjRFO0lEaEI1RSx1QkNnQjRFO0lEaEI1RSxvQkNnQjRFO0dvQ2dFL0U7Q3BEZzVQSjs7QW9EcGhRRDtFckM2SkksMkJDekZnRjtFRDBGaEYsb0JDMUZnRjtDb0MyQzNFOztBdEM3REw7RXNDbERKO0lyQzZKSSxvQkN6RmdGO0lEMEZoRixvQkMxRmdGO0dvQzJDM0U7Q3BEaTdQUjs7QW9EaGlRRDtFQWtIZ0IsbUJBQWtCO0NBQ3JCOztBdENqRVQ7RXNDbERKO0l6Q21CSSx1QkRJc0I7SUNKdEIsc0JTd0kwQztJVHhJMUMsWVVBNEQ7SVZBNUQsNEJXNEQ4RTtHOEJvRHpFO0VBbklUO0l6Q21CSSx1QkRJc0I7SUNKdEIsc0JTd0kwQztJVHhJMUMsYVVBdUU7SVZBdkUsZ0JTa0ZvQjtHZ0NtQlA7Q3BEKzdQaEI7O0FjcmdRRztFc0NsREo7SXpDbUJJLHVCRElzQjtJQ0p0QixzQlN3STBDO0lUeEkxQyxZVUE0RDtJVkE1RCw0Qlc0RDhFO0c4Qm9EekU7RUFuSVQ7SXpDbUJJLHVCRElzQjtJQ0p0QixzQlN3STBDO0lUeEkxQyxZVUE0RDtJVkE1RCw0Qlc0RDhFO0c4QitDakU7RUE5SGpCO0l6Q21CSSx1QkRJc0I7SUNKdEIsc0JTd0kwQztJVHhJMUMsYVVBdUU7SVZBdkUsZ0JTa0ZvQjtHZ0M0QlA7Q3BEaTlQaEI7O0FvRGxsUUQ7RXJDb0RRLGlCQ2dCNEU7RURoQjVFLG9CQ2dCNEU7RURoQjVFLHVCQ2dCNEU7RURoQjVFLG9CQ2dCNEU7Q29DOEUvRTs7QXRDaEdEO0VzQ2xESjtJckNvRFEsaUJDZ0I0RTtJRGhCNUUsb0JDZ0I0RTtJRGhCNUUsdUJDZ0I0RTtJRGhCNUUsb0JDZ0I0RTtHb0M4RS9FO0NwRGc5UEo7O0FjaGpRRztFc0NsREo7SXpDbUJJLHVCRElzQjtJQ0p0QixzQlN3STBDO0lUeEkxQyxZVUE0RDtJVkE1RCw0Qlc0RDhFO0c4QjJEckU7RUExSWI7SXpDbUJJLHVCRElzQjtJQ0p0QixzQlN3STBDO0lUeEkxQyxZVUE0RDtJVkE1RCw0Qlc0RDhFO0c4QjhEckU7RUE3SWI7SXpDbUJJLHVCRElzQjtJQ0p0QixzQlN3STBDO0lUeEkxQyxhVUF1RTtJVkF2RSxnQlNrRm9CO0dnQzJDWDtDcEQ2K1BaOztBcUQ3blFEO0V0Q29EUSxtQkNnQjRFO0VEaEI1RSxzQkNnQjRFO0NxQ2hFL0U7O0F2QzhDRDtFdUNsREo7SXRDb0RRLG1CQ2dCNEU7R3FDaEUvRTtDckRvb1FKOztBY3RsUUc7RXVDbERKO0l0Q29EUSxzQkNnQjRFO0dxQ2hFL0U7Q3JEMG9RSjs7QXFEOW9RRDtFQU1RLFlBQVc7Q0FDZDs7QUFQTDs7Ozs7O0V0Q29EUSxvQkNnQjRFO0VEaEI1RSxrQkNnQjRFO0VEaEI1RSxxQkNnQjRFO0VEaEI1RSx1QkNnQjRFO0NxQ3JEL0U7O0F2Q21DRDtFdUNsREo7Ozs7OztJdENvRFEsbUJDZ0I0RTtJRGhCNUUsa0JDZ0I0RTtJRGhCNUUscUJDZ0I0RTtJRGhCNUUsc0JDZ0I0RTtHcUNyRC9FO0NyRDZwUUo7O0FzRDNxUUc7RUFDSSxhQUFZO0VBQ1osaUJBQWdCO0NBS25COztBQVBBO0V2Q21ERyxtQkNnQjRFO0VzQzlEeEUsZ0JBQWU7Q0FDbEI7O0F4QzJDTDtFd0NqREM7SXZDbURHLG1CQ2dCNEU7R3NDN0QzRTtDdERxclFSOztBc0RuclFHO0V2QzJDSSxtQkNnQjRFO0NzQzFDL0U7O0F4Q3dCRDtFd0N6Q0E7SXZDMkNJLG1CQ2dCNEU7R3NDMUMvRTtDdEQ0cVFKOztBY3BwUUc7RXdDekNBO0kzQ1VBLHVCRElzQjtJQ0p0QixzQlN3STBDO0lUeEkxQyxZVUE0RDtJVkE1RCw0Qlc0RDhFO0dnQ3JEN0U7RUFqQkE7STNDVUQsdUJESXNCO0lDSnRCLHNCU3dJMEM7SVR4STFDLGFVQXVFO0lWQXZFLGdCU2tGb0I7R2tDdEZYO0N0RDBzUVo7O0FzRGh0UUk7O0VBVU8sWUFBVztDQUNkOztBeEM4Qkw7RXdDN0JJO0kzQ0ZKLHVCRElzQjtJQ0p0QixZU3dJMEM7SVR4STFDLFlVQTREO0lWQTVELGVTK0VxQjtJVC9FckIsZ0JTa0ZvQjtHa0M1RWY7Q3REaXRRUjs7QXNEN3NRRDtFQUNJO0lBQ0ksNkJBQXdCO1FBQXhCLHlCQUF3QjtHQUMzQjtFQUNEO0lBQ0ksMEJBQXlCO0dBQzVCO0N0RGd0UUo7O0F1RG52UUQ7RXhDb0RRLG1CQ2dCNEU7Q3VDYW5GOztBekMvQkc7RXlDbERKO0l4Q29EUSxtQkNnQjRFO0d1Q2FuRjtDdkQ0cVFBOztBdUQzdlFHO0VBQ0ksY3ZDb0gyRjtFdUNuSDNGLG1CQUFrQjtFQUNsQiwwQjlDdUJjO0M4Q1dqQjs7QUFyQ0E7RXhDa0RHLGlCQ2dCNEU7RURoQjVFLGtCQ2dCNEU7RURoQjVFLHFCQ2dCNEU7RURoQjVFLG9CQ2dCNEU7Q3VDNUQzRTs7QXpDMENMO0V5Q2hEQztJeENrREcsaUJDZ0I0RTtJRGhCNUUsa0JDZ0I0RTtJRGhCNUUscUJDZ0I0RTtJRGhCNUUsb0JDZ0I0RTtHdUM1RDNFO0N2RDJ3UVI7O0F1RDF3UVE7RXhDb0pMLDJCQ3pGZ0Y7RUQwRmhGLG9CQzFGZ0Y7RXVDeERwRSxlOUNlK0I7RThDZC9CLGtCQUFpQjtDQUNwQjs7QXpDb0NUO0V5Q3pDSztJeENvSkwsbUJDekZnRjtJRDBGaEYsb0JDMUZnRjtHdUN0RHZFO0N2RG14UVo7O0F1RHh4UVE7RUFPTyxZQUFXO0VBQ1gsbUJBQWtCO0VBQ2xCLGtCQUFpQjtDQUNwQjs7QUFFSjtFQUVPLGNBQWE7RUFDYixtQkFBa0I7RUFDbEIsWUFBVztFQUNYLG1CQUFrQjtFQUNsQixrQkFBaUI7RUFDakIsb0JBQW1CO0VBQ25CLHVCOUNFRTtFOENERiwrQ0FBOEM7Q0FDakQ7O0FBN0JSO0VBZ0NPLFlBQVc7RUFDWCxpQkFBZ0I7RUFDaEIsbUJBQWtCO0V4Q2dCdEIsaUJDZ0I0RTtFRGhCNUUsa0JDZ0I0RTtFRGhCNUUscUJDZ0I0RTtFRGhCNUUsb0JDZ0I0RTtDdUM5QjNFOztBekNZTDtFeUNoREM7SXhDa0RHLGlCQ2dCNEU7SURoQjVFLGtCQ2dCNEU7SURoQjVFLHFCQ2dCNEU7SURoQjVFLG9CQ2dCNEU7R3VDOUIzRTtDdkQreFFSOztBdUQ3eFFJO0VBRU8sbUJBQWtCO0VBQ2xCLFdBQVU7RUFDVixXQUFVO0VBQ1YsU0FBUTtFQUNSLGtCQUFpQjtDQUNwQjs7QUFFTDtFQUNJLDBCOUN0QmM7RThDdUJkLG1CQUFrQjtDQWNyQjs7QUFoQkE7RXhDNEdELDJCQ3pGZ0Y7RUQwRmhGLG9CQzFGZ0Y7Q3VDZDNFOztBekNKTDtFeUNEQztJeEM0R0Qsb0JDekZnRjtJRDBGaEYsb0JDMUZnRjtHdUNkM0U7Q3ZEd3lRUjs7QXVEN3lRSTtFeENHRyxvQkNnQjRFO0VEaEI1RSxrQkNnQjRFO0VEaEI1RSxxQkNnQjRFO0VEaEI1RSx1QkNnQjRFO0N1Q0ozRTs7QXpDZEw7RXlDREM7SXhDR0csbUJDZ0I0RTtJRGhCNUUsa0JDZ0I0RTtJRGhCNUUscUJDZ0I0RTtJRGhCNUUsc0JDZ0I0RTtHdUNKM0U7Q3ZEOHlRUjs7QXVEN3pRSTtFeENHRyxpQkNnQjRFO0VEaEI1RSxrQkNnQjRFO0VEaEI1RSxxQkNnQjRFO0VEaEI1RSxvQkNnQjRFO0N1Q1R2RTs7QXpDVFQ7RXlDREM7SXhDR0csaUJDZ0I0RTtJRGhCNUUsa0JDZ0I0RTtJRGhCNUUscUJDZ0I0RTtJRGhCNUUsb0JDZ0I0RTtHdUNUdkU7Q3ZEbTBRWjs7QXVENzBRSTtFeENHRyxpQkNnQjRFO0VEaEI1RSxrQkNnQjRFO0VEaEI1RSxxQkNnQjRFO0VEaEI1RSxvQkNnQjRFO0VEeUZoRiwyQkN6RmdGO0VEMEZoRixvQkMxRmdGO0N1Q0x2RTs7QXpDYlQ7RXlDREM7SXhDR0csaUJDZ0I0RTtJRGhCNUUsa0JDZ0I0RTtJRGhCNUUscUJDZ0I0RTtJRGhCNUUsb0JDZ0I0RTtHdUNMdkU7Q3ZEaTFRWjs7QWM5MVFHO0V5Q0RDO0l4QzRHRCxvQkN6RmdGO0lEMEZoRixvQkMxRmdGO0d1Q0x2RTtDdkR3MVFaOztBdURyMVFJO0VBRU8sWUFBVztFQUNYLGlCQUFnQjtDQU9uQjs7QUFWSjtFQUtXLFNBQVE7Q0FDWDs7QUFOUjtFQVFXLGFBQVk7Q0FDZjs7QUFHVDtFQUNJLGlCQUFnQjtDQUNuQjs7QUNoRkw7RUFDSSxtQkFBa0I7Q0F5R3JCOztBMUN4REc7RTBDbERKO0lBR1EsY0FBYTtHQXVHcEI7Q3hEdzBRQTs7QXdEbDdRRDtFQU1RLFlBQVc7Q0FXZDs7QTFDaUNEO0UwQ2xESjtJQVFZLGdCQUFlO0lBQ2YsbUJBQWtCO0lBQ2xCLE9BQU07SUFDTixTQUFRO0lBQ1IsUUFBTztJQUNQLFVBQVM7SUFDVCxrQkFBaUI7SUFDakIsbUJBQWtCO0dBRXpCO0N4RGs3UUo7O0F3RGo3UUc7RUFDSSxtQkFBa0I7RUFDbEIsWUFBVztFQUNYLGFBQVk7Q0FDZjs7QUFDRDtFQUNJLGNBQWE7RUFDYix1QkFBc0I7RUFDdEIsd0JBQXVCO0VBQ3ZCLDRCQUEyQjtDQU05Qjs7QTFDaUJEO0UwQzNCQTtJQU1RLGNBQWE7SUFDYixpQkFBZ0I7SUFDaEIsbUJBQWtCO0dBRXpCO0N4RHU3UUo7O0F3RHQ3UUc7RUFDSSxtQkFBa0I7RUFDbEIsb0JBQW1CO0NBZ0J0Qjs7QTFDRkQ7RTBDaEJBO0lBSVEsY0FBYTtJQUNiLFlBQVc7SUFDWCxrQkFBaUI7SUFDakIsbUJBQWtCO0lBQ2xCLHNCQUFxQjtJQUNyQixRQUFPO0lBQ1AsU0FBUTtJQUNSLFVBQVM7SUFDVCxVQUFTO0dBTWhCO0N4RHU3UUo7O0FjejdRRztFMENoQkE7SUFlUSxvQkFBbUI7SUFDbkIsbUJBQWtCO0dBRXpCO0N4RDg3UUo7O0F3RDc3UUc7RUFDSSxXQUFVO0V6Q0ZWLG9CQ2dCNEU7RXdDWjVFLHFCeEMrRDJGO0V3QzlEM0YsMkVBQTBFO0NBVzdFOztBMUNsQkQ7RTBDR0E7SXpDREksb0JDZ0I0RTtHd0NBL0U7Q3hEMjdRSjs7QWM3OFFHO0UwQ0dBO0l6Q0RJLGlCQ2dCNEU7SXdDUnhFLG1CQUFrQjtJQUNsQiwwRUFBeUU7SUFDekUsY0FBYTtJQUNiLFVBQVM7SUFDVCxRQUFPO0lBQ1AsU0FBUTtJQUNSLE9BQU07R0FFYjtDeER3OFFKOztBYzE5UUc7RTBDR0E7SXpDREksaUJDZ0I0RTtHd0NBL0U7Q3hEODhRSjs7QXdEbGhSRDtFekNvRFEsaUJDZ0I0RTtFRGhCNUUsa0JDZ0I0RTtFRGhCNUUscUJDZ0I0RTtFRGhCNUUsb0JDZ0I0RTtDd0NNL0U7O0ExQ3hCRDtFMENsREo7SXpDb0RRLGlCQ2dCNEU7SURoQjVFLGtCQ2dCNEU7SURoQjVFLHFCQ2dCNEU7SURoQjVFLG9CQ2dCNEU7R3dDTS9FO0N4RHc5UUo7O0FjaC9RRztFMENsREo7SUF3RVksaUJBQWdCO0dBRXZCO0N4RDg5UUo7O0F3RHhpUkQ7RXpDb0RRLGlCQ2dCNEU7RURoQjVFLGtCQ2dCNEU7RURoQjVFLHFCQ2dCNEU7RURoQjVFLG9CQ2dCNEU7RXdDYTVFLFkvQ2xEVTtDK0NtRGI7O0ExQ2hDRDtFMENsREo7SUE2RVksaUJBQWdCO0dBS3ZCO0N4RG8rUUo7O0FjcGdSRztFMENsREo7SXpDb0RRLGlCQ2dCNEU7SURoQjVFLGtCQ2dCNEU7SURoQjVFLHFCQ2dCNEU7SURoQjVFLG9CQ2dCNEU7R3dDYy9FO0N4RDYrUUo7O0F3RDUrUUc7RUFDSSxtQkFBa0I7RUFDbEIsT0FBTTtFQUNOLFFBQU87RUFDUCxTQUFRO0VBQ1IsVUFBUztFQUNULGFBQVk7RUFDWixZQUFXO0VBQ1gsa0JBQWlCO0NBY3BCOztBMUN2REQ7RTBDaUNBO0lBVVEsbUJBQWtCO0lBQ2xCLG9CQUFtQjtHQVcxQjtDeER3K1FKOztBd0Q5L1FJO0VBY08sYUFBWTtDQU9mOztBMUN0REw7RTBDaUNDO0lBaUJXLGFBQVk7SUFDWixnQkFBZTtJQUNmLGlCQUFnQjtHQUV2QjtDeERxL1FSOztBYzNpUkc7RTJDakRKO0k5Q2tCSSx1QkRJc0I7SUNKdEIsc0JTd0kwQztJVHhJMUMsWVVBNEQ7SVZBNUQsNEJXNEQ4RTtJWDVEOUUsMkJTd0kwQztHcUNySjdDO0N6RG1tUkE7O0FjdmpSRztFMkMxQ0o7STlDV0ksdUJESXNCO0lDSnRCLHNCU3dJMEM7SVR4STFDLFlVQTREO0lWQTVELDRCVzREOEU7SVg1RDlFLDRCU3dJMEM7R3FDL0h6QztDekR5bFJKOztBY25rUkc7RTJDMUNKO0k5Q1dJLHVCRElzQjtJQ0p0QixzQlN3STBDO0lUeEkxQyxZVUE0RDtJVkE1RCw0Qlc0RDhFO0lYNUQ5RSw2QitDeUNxRTtHRGhDcEU7Q3pEcW1SSjs7QWMva1JHO0UyQzFDSjtJOUNXSSx1QkRJc0I7SUNKdEIsc0JTd0kwQztJVHhJMUMsWVVBNEQ7SVZBNUQsNEJXNEQ4RTtJWDVEOUUsZ0JTd0kwQztHcUNoSXJDO0N6RGtuUlI7O0FjM2xSRztFMkMxQ0o7STlDV0ksdUJESXNCO0lDSnRCLHNCU3dJMEM7SVR4STFDLGFVQXVFO0lWQXZFLGdCU2tGb0I7SVRsRnBCLGdCK0N5Q3FFO0dEakNoRTtDekQ4blJSOztBeURqcFJEO0VBdUJZLGVoRFFTO0NnRFBaOztBM0NrQkw7RTJDMUNKO0k5Q1dJLHVCRElzQjtJQ0p0QixzQlN3STBDO0lUeEkxQyxZVUE0RDtJVkE1RCw0Qlc0RDhFO0lYNUQ5RSw0QlN3STBDO0dxQ2pIekM7Q3pEK25SSjs7QWN2blJHO0UyQzFDSjtJOUNXSSx1QkRJc0I7SUNKdEIsc0JTd0kwQztJVHhJMUMsWVVBNEQ7SVZBNUQsNEJXNEQ4RTtJWDVEOUUsZ0JTd0kwQztJVHhJMUMsNEJTd0kwQztHcUNqSHpDO0N6RDRvUko7O0F5RHhvUkc7RUFDSSxpQkFBZ0I7Q0FPbkI7O0FBUkE7RTFDTUcsbUJDZ0I0RTtFRGhCNUUsc0JDZ0I0RTtFeUNqQnhFLGdCQUFlO0VBQ2YsYUFBWTtDQUNmOztBM0NITDtFMkNKQztJMUNNRyxtQkNnQjRFO0d5Q2YzRTtDekRrcFJSOztBY3JwUkc7RTJDSkM7STFDTUcsc0JDZ0I0RTtHeUNmM0U7Q3pEd3BSUjs7QWMzcFJHO0UyQ0tBO0k5Q3BDQSx1QkRJc0I7SUNKdEIsc0JTd0kwQztJVHhJMUMsWVVBNEQ7SVZBNUQsNEJXNEQ4RTtHbUNwQjdFO0N6RDZwUko7O0FjdHFSRztFMkNVQTtJOUN6Q0EsdUJESXNCO0lDSnRCLHNCU3dJMEM7SVR4STFDLGFVQXVFO0lWQXZFLGdCU2tGb0I7R3FDckNuQjtDekRtcVJKOztBMkRudVJEO0VBRVEsdUJsRDZCVTtFa0Q1QlYsMEJsRHlCYztFTXdCZCxvQkNnQjRFO0UyQy9ENUUsd0IzQ2tIMkY7RTJDakgzRixZQUFXO0VBQ1gsbUJBQWtCO0NBZXJCOztBN0M0QkQ7RTZDbERKO0k1Q29EUSxvQkNnQjRFO0cyQzlDL0U7QzNENHRSSjs7QTJEbHZSRDtFNUNvRFEsaUJDZ0I0RTtFRGhCNUUsa0JDZ0I0RTtFRGhCNUUscUJDZ0I0RTtFRGhCNUUsb0JDZ0I0RTtFRGhCNUUsdUJDZ0I0RTtDMkN6RDNFOztBN0N1Q0w7RTZDbERKO0k1Q29EUSxpQkNnQjRFO0lEaEI1RSxrQkNnQjRFO0lEaEI1RSxxQkNnQjRFO0lEaEI1RSxvQkNnQjRFO0cyQ3pEM0U7QzNEd3ZSUjs7QWNqdFJHO0U2Q2xESjtJNUNvRFEsc0JDZ0I0RTtHMkN6RDNFO0MzRDh2UlI7O0FjdnRSRztFNkNsREo7STVDb0RRLHFCQ2dCNEU7SUxqRGhGLHVCRElzQjtJQ0p0QixzQlN3STBDO0lUeEkxQyxZVUE0RDtJVkE1RCw0Qlc0RDhFO0dxQ3pEN0U7QzNEK3ZSSjs7QWNudVJHO0U2Q2xESjtJNUNvRFEsb0JDZ0I0RTtHMkM5Qy9FO0MzRHF3Uko7O0FjenVSRztFNkNsREo7SUFpQlksYzNDc0d1RjtHMkNqRzlGO0MzRDJ3Uko7O0EyRGp5UkQ7RTVDb0RRLG1CQ2dCNEU7QzJDL0MzRTs7QTdDNkJMO0U2Q2xESjtJNUNvRFEsbUJDZ0I0RTtHMkMvQzNFO0MzRHN4UlI7O0FjenZSRztFNkNsREo7SWhEbUJJLHVCRElzQjtJQ0p0QixzQlN3STBDO0lUeEkxQyxhVUF1RTtJVkF2RSxnQlNrRm9CO0d1QzFFbkI7QzNEMnhSSjs7QTREdHpSRDtFQUVRLGVuRHFDYTtDbURwQ2hCOztBQUhMO0U3Q29EUSxtQkNnQjRFO0M0QzlEL0U7O0E5QzRDRDtFOENsREo7STdDb0RRLG1CQ2dCNEU7RzRDOUQvRTtDNUQ4elJKOztBY2x4Ukc7RThDbERKO0lqRG1CSSx1QkRJc0I7SUNKdEIsc0JTd0kwQztJVHhJMUMsWVVBNEQ7SVZBNUQsNEJXNEQ4RTtJWDVEOUUsNEJTd0kwQztHd0MvSXpDO0M1RG8wUko7O0FjOXhSRztFOENsREo7SWpEbUJJLHVCRElzQjtJQ0p0QixzQlN3STBDO0lUeEkxQyxZVUE0RDtJVkE1RCw0Qlc0RDhFO0dzQzdEekU7QzVEeTBSUjs7QWN6eVJHO0U4Q2xESjtJakRtQkksdUJESXNCO0lDSnRCLHNCU3dJMEM7SVR4STFDLFlVQTREO0lWQTVELDRCVzREOEU7SVg1RDlFLGdCU3dJMEM7R3dDbklyQztDNUQrMFJSOztBNkR2MlJEO0VBRVEsYUFBWTtFQUNaLGlCQUFnQjtDQUNuQjs7QUFKTDtFOUNvRFEsaUJDZ0I0RTtFRGhCNUUsa0JDZ0I0RTtFRGhCNUUscUJDZ0I0RTtFRGhCNUUsb0JDZ0I0RTtFRGhCNUUsdUJDZ0I0RTtFNkM1RDVFLGVwRCtCYTtDb0Q5QmhCOztBL0N5Q0Q7RStDbERKO0k5Q29EUSxpQkNnQjRFO0lEaEI1RSxrQkNnQjRFO0lEaEI1RSxxQkNnQjRFO0lEaEI1RSxvQkNnQjRFO0c2QzNEL0U7QzdEcTNSSjs7QWM1MFJHO0UrQ2xESjtJOUNvRFEsc0JDZ0I0RTtHNkMzRC9FO0M3RDIzUko7O0E2RHA0UkQ7RUFXUSxjQUFhO0VBQ2IsY0FBYTtFQUNiLGlCQUFnQjtDQU9uQjs7QS9DOEJEO0UrQ2xESjtJbERtQkksdUJESXNCO0lDSnRCLHNCU3dJMEM7SVR4STFDLFlVQTREO0l3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QjRFO0MrQ2pFL0U7O0FqRCtDRDtFaURsREo7SWhEb0RRLG1CQ2dCNEU7RytDakUvRTtDL0Rpb1NKOztBK0Rwb1NEO0VBS1EsZXREa0NhO0NzRGpDaEI7O0FqRDRDRDtFaURsREo7SXBEbUJJLDRCU3dJMEM7SVR4STFDLHVCRElzQjtJQ0p0QixzQlN3STBDO0lUeEkxQyxZVUE0RDtJVkE1RCw0Qlc0RDhFO0d5Q25FN0U7Qy9Ed29TSjs7QStEcHBTRDtFQWNRLGNBQWE7RWhEc0NiLHNCQ2dCNEU7QytDcEQvRTs7QWpEa0NEO0VpRGxESjtJaERvRFEsc0JDZ0I0RTtHK0NwRC9FO0MvRCtvU0o7O0ErRC9wU0Q7RWhEb0RRLHNCQ2dCNEU7QytDakQvRTs7QWpEK0JEO0VpRGxESjtJaERvRFEsc0JDZ0I0RTtHK0NqRC9FO0MvRHNwU0o7O0ErRHpxU0Q7RUFzQlksY0FBYTtDQVFoQjs7QUE5QlQ7RUF3QmdCLGVBQWM7Q0FDakI7O0FqRHlCVDtFa0RsREo7SXJEbUJJLHVCRElzQjtJQ0p0QixzQlN3STBDO0lUeEkxQyxZVUE0RDtJVkE1RCw0Qlc0RDhFO0cwQzNFekU7RUFKVDtJckRtQkksdUJESXNCO0lDSnRCLHNCU3dJMEM7SVR4STFDLGFVQXVFO0lWQXZFLGdCU2tGb0I7RzRDN0ZmO0VBUlQ7SXJEbUJJLHVCRElzQjtJQ0p0QixzQlN3STBDO0lUeEkxQyxZVUE0RDtJVkE1RCw0Qlc0RDhFO0cwQ25FekU7RUFaVDtJckRtQkksdUJESXNCO0lDSnRCLHNCU3dJMEM7SVR4STFDLGFVQXVFO0lWQXZFLGdCU2tGb0I7RzRDckZmO0NoRW9zU1I7O0FjbHFTRztFbURsREo7SXREbUJJLHVCRElzQjtJQ0p0QixzQlN3STBDO0lUeEkxQyxZVUE0RDtJVkE1RCw0Qlc0RDhFO0cyQzNFekU7RUFKVDtJdERtQkksdUJESXNCO0lDSnRCLHNCU3dJMEM7SVR4STFDLGFVQXVFO0lWQXZFLGdCU2tGb0I7RzZDcEZmO0VBakJUO0lBUWdCLGFBQVk7SUFDWixtQkFBa0I7R0FDckI7RUFWYjtJdERtQkksdUJESXNCO0lDSnRCLHNCU3dJMEM7SVR4STFDLFlVQTREO0lWQTVELDRCVzREOEU7RzJDL0RyRTtFQWhCYjtJdERtQkksdUJESXNCO0lDSnRCLHNCU3dJMEM7SVR4STFDLGFVQXVFO0lWQXZFLGdCU2tGb0I7RzZDdEZQO0NqRTR1U2hCOztBa0UzdlNEOzs7O0VuRG9EUSxvQkNnQjRFO0VrRC9ENUUsWUFBVztFQUNYLG1CQUFrQjtDQUtyQjs7QXBEdUNEO0VvRGxESjs7OztJbkRvRFEsb0JDZ0I0RTtHa0R6RC9FO0NsRWt3U0o7O0FjM3RTRztFb0RsREo7Ozs7SW5Eb0RRLHFCQ2dCNEU7SUxqRGhGLHVCRElzQjtJQ0p0QixzQlN3STBDO0lUeEkxQyxZVUE0RDtJVkE1RCw0Qlc0RDhFO0c0Q3BFN0U7Q2xFaXhTSjs7QWMxdVNHO0VvRGxESjs7OztJbkRvRFEsb0JDZ0I0RTtHa0R6RC9FO0NsRTB4U0o7O0FjbnZTRztFb0RsREo7O0l2RG1CSSx1QkRJc0I7SUNKdEIsc0JTd0kwQztJVHhJMUMsYVVBdUU7SVZBdkUsZ0JTa0ZvQjtHOENyRm5CO0NsRWl5U0o7O0FrRWp6U0Q7O0VuRG9EUSxtQkNnQjRFO0NrRGpEL0U7O0FwRCtCRDtFb0RsREo7O0luRG9EUSxtQkNnQjRFO0drRGpEL0U7Q2xFMHlTSiIsImZpbGUiOiJzdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIEJhc2UgZmlsZSwgYWxsIGluY2x1ZGVzLCBkZWZpbmVzICYgY3VzdG9tIG1peGlucyBzaG91bGQgYmUgYWRkZWQgaGVyZVxuICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qISBub3JtYWxpemUuY3NzIHY1LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICovXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMiAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMyAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDMgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIFNldHRpbmcgZm9udCBzdHlsZSBiYWNrIHRvIGRlZmF1bHRcbiAqL1xuYWRkcmVzcyB7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZm9vdGVyLFxuaGVhZGVyLFxubmF2LFxuc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5tYWluIHtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAxICovXG4gIGhlaWdodDogMDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0cztcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmUtd2lkdGg6IDA7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cbmF1ZGlvLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICovXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qKlxuICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cbmJ1dHRvbixcbmlucHV0IHtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAvKiAxICovXG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gKi9cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICovXG5kZXRhaWxzLFxubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBTY3JpcHRpbmdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5jYW52YXMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogSGlkZGVuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gKi9cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLypcbiogSGVhdmlseSBiYXNlZCBvbiB0aGUgQ1NTIGZvciBodHRwczovL2dpdGh1Yi5jb20vbWFwc2hha2Vycy9sZWFmbGV0LWljb24tcHVsc2VcbipcbiogTW9kaWZpZWQgdG8gZ2V0IHJpZCBvZiB0aGUgb3BhcXVlIGNpcmNsZSwgYW5kIHR3ZWFrZWQgdGhlIHB1bHNlIHRvIGJlIHN1YnRsZXIuXG4qL1xuLmxlYWZsZXQtdmlzdWFsY2xpY2staWNvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ubGVhZmxldC12aXN1YWxjbGljay1pY29uOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgaGVpZ2h0OiA2MHB4O1xuICB3aWR0aDogNjBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tbGVmdDogLTMwcHg7XG4gIG1hcmdpbi10b3A6IC0zMHB4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDI1cHggLTFweCAjRTFFM0U0LCAwIDAgMTBweCAtMXB4ICNDNUM1QzU7XG4gIGFuaW1hdGlvbjogdmlzdWFsY2xpY2stcHVsc2F0ZSAwLjdzIGVhc2Utb3V0O1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxO1xuICBhbmltYXRpb24tZGVsYXk6IDBzO1xuICBvcGFjaXR5OiAwO1xufVxuXG4ubGVhZmxldC12aXN1YWxjbGljay1pY29uLXRvdWNoOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgaGVpZ2h0OiAxNDBweDtcbiAgd2lkdGg6IDE0MHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1sZWZ0OiAtNzBweDtcbiAgbWFyZ2luLXRvcDogLTcwcHg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMjVweCAtMXB4ICNFMUUzRTQsIDAgMCAxMHB4IC0xcHggI0M1QzVDNTtcbiAgYW5pbWF0aW9uOiB2aXN1YWxjbGljay1wdWxzYXRlLXRvdWNoIDAuN3MgZWFzZS1vdXQ7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7XG4gIGFuaW1hdGlvbi1kZWxheTogMHM7XG4gIG9wYWNpdHk6IDA7XG59XG5cbkBrZXlmcmFtZXMgdmlzdWFsY2xpY2stcHVsc2F0ZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHZpc3VhbGNsaWNrLXB1bHNhdGUtdG91Y2gge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDAuODtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjIpO1xuICAgIG9wYWNpdHk6IDAuMDtcbiAgfVxufVxuXG4ubGVhZmxldC1wYW5lLmxlYWZsZXQtaWUxMC12aXN1YWwtY2xpY2stcGFuZS1wYW5lIHtcbiAgei1pbmRleDogMzAwO1xufVxuXG4vKiByZXF1aXJlZCBzdHlsZXMgKi9cbi5sZWFmbGV0LW1hcC1wYW5lLFxuLmxlYWZsZXQtdGlsZSxcbi5sZWFmbGV0LW1hcmtlci1pY29uLFxuLmxlYWZsZXQtbWFya2VyLXNoYWRvdyxcbi5sZWFmbGV0LXRpbGUtcGFuZSxcbi5sZWFmbGV0LXRpbGUtY29udGFpbmVyLFxuLmxlYWZsZXQtb3ZlcmxheS1wYW5lLFxuLmxlYWZsZXQtc2hhZG93LXBhbmUsXG4ubGVhZmxldC1tYXJrZXItcGFuZSxcbi5sZWFmbGV0LXBvcHVwLXBhbmUsXG4ubGVhZmxldC1vdmVybGF5LXBhbmUgc3ZnLFxuLmxlYWZsZXQtem9vbS1ib3gsXG4ubGVhZmxldC1pbWFnZS1sYXllcixcbi5sZWFmbGV0LWxheWVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG59XG5cbi5sZWFmbGV0LWNvbnRhaW5lciB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cblxuLmxlYWZsZXQtdGlsZSxcbi5sZWFmbGV0LW1hcmtlci1pY29uLFxuLmxlYWZsZXQtbWFya2VyLXNoYWRvdyB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LXVzZXItZHJhZzogbm9uZTtcbn1cblxuLmxlYWZsZXQtbWFya2VyLWljb24sXG4ubGVhZmxldC1tYXJrZXItc2hhZG93IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIG1hcCBpcyBicm9rZW4gaW4gRkYgaWYgeW91IGhhdmUgbWF4LXdpZHRoOiAxMDAlIG9uIHRpbGVzICovXG4ubGVhZmxldC1jb250YWluZXIgaW1nIHtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qIHN0dXBpZCBBbmRyb2lkIDIgZG9lc24ndCB1bmRlcnN0YW5kIFwibWF4LXdpZHRoOiBub25lXCIgcHJvcGVybHkgKi9cbi5sZWFmbGV0LWNvbnRhaW5lciBpbWcubGVhZmxldC1pbWFnZS1sYXllciB7XG4gIG1heC13aWR0aDogMTUwMDBweCAhaW1wb3J0YW50O1xufVxuXG4ubGVhZmxldC10aWxlIHtcbiAgZmlsdGVyOiBpbmhlcml0O1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5sZWFmbGV0LXRpbGUtbG9hZGVkIHtcbiAgdmlzaWJpbGl0eTogaW5oZXJpdDtcbn1cblxuLmxlYWZsZXQtem9vbS1ib3gge1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKiB3b3JrYXJvdW5kIGZvciBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD04ODgzMTkgKi9cbi5sZWFmbGV0LW92ZXJsYXktcGFuZSBzdmcge1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xufVxuXG4ubGVhZmxldC10aWxlLXBhbmUge1xuICB6LWluZGV4OiAyO1xufVxuXG4ubGVhZmxldC1vYmplY3RzLXBhbmUge1xuICB6LWluZGV4OiAzO1xufVxuXG4ubGVhZmxldC1vdmVybGF5LXBhbmUge1xuICB6LWluZGV4OiA0O1xufVxuXG4ubGVhZmxldC1zaGFkb3ctcGFuZSB7XG4gIHotaW5kZXg6IDU7XG59XG5cbi5sZWFmbGV0LW1hcmtlci1wYW5lIHtcbiAgei1pbmRleDogNjtcbn1cblxuLmxlYWZsZXQtcG9wdXAtcGFuZSB7XG4gIHotaW5kZXg6IDc7XG59XG5cbi5sZWFmbGV0LXZtbC1zaGFwZSB7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xufVxuXG4ubHZtbCB7XG4gIGJlaGF2aW9yOiB1cmwoI2RlZmF1bHQjVk1MKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi8qIGNvbnRyb2wgcG9zaXRpb25pbmcgKi9cbi5sZWFmbGV0LWNvbnRyb2wge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDc7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG4ubGVhZmxldC10b3AsXG4ubGVhZmxldC1ib3R0b20ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwMDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ubGVhZmxldC10b3Age1xuICB0b3A6IDA7XG59XG5cbi5sZWFmbGV0LXJpZ2h0IHtcbiAgcmlnaHQ6IDA7XG59XG5cbi5sZWFmbGV0LWJvdHRvbSB7XG4gIGJvdHRvbTogMDtcbn1cblxuLmxlYWZsZXQtbGVmdCB7XG4gIGxlZnQ6IDA7XG59XG5cbi5sZWFmbGV0LWNvbnRyb2wge1xuICBmbG9hdDogbGVmdDtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5sZWFmbGV0LXJpZ2h0IC5sZWFmbGV0LWNvbnRyb2wge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi5sZWFmbGV0LXRvcCAubGVhZmxldC1jb250cm9sIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuLmxlYWZsZXQtYm90dG9tIC5sZWFmbGV0LWNvbnRyb2wge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4ubGVhZmxldC1sZWZ0IC5sZWFmbGV0LWNvbnRyb2wge1xuICBtYXJnaW4tbGVmdDogMTBweDtcbn1cblxuLmxlYWZsZXQtcmlnaHQgLmxlYWZsZXQtY29udHJvbCB7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbn1cblxuLyogem9vbSBhbmQgZmFkZSBhbmltYXRpb25zICovXG4ubGVhZmxldC1mYWRlLWFuaW0gLmxlYWZsZXQtdGlsZSxcbi5sZWFmbGV0LWZhZGUtYW5pbSAubGVhZmxldC1wb3B1cCB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGxpbmVhcjtcbiAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgbGluZWFyO1xuICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgbGluZWFyO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgbGluZWFyO1xufVxuXG4ubGVhZmxldC1mYWRlLWFuaW0gLmxlYWZsZXQtdGlsZS1sb2FkZWQsXG4ubGVhZmxldC1mYWRlLWFuaW0gLmxlYWZsZXQtbWFwLXBhbmUgLmxlYWZsZXQtcG9wdXAge1xuICBvcGFjaXR5OiAxO1xufVxuXG4ubGVhZmxldC16b29tLWFuaW0gLmxlYWZsZXQtem9vbS1hbmltYXRlZCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4yNXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpO1xuICAtbW96LXRyYW5zaXRpb246IC1tb3otdHJhbnNmb3JtIDAuMjVzIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKTtcbiAgLW8tdHJhbnNpdGlvbjogLW8tdHJhbnNmb3JtIDAuMjVzIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjVzIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKTtcbn1cblxuLmxlYWZsZXQtem9vbS1hbmltIC5sZWFmbGV0LXRpbGUsXG4ubGVhZmxldC1wYW4tYW5pbSAubGVhZmxldC10aWxlLFxuLmxlYWZsZXQtdG91Y2hpbmcgLmxlYWZsZXQtem9vbS1hbmltYXRlZCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogbm9uZTtcbiAgLW1vei10cmFuc2l0aW9uOiBub25lO1xuICAtby10cmFuc2l0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBub25lO1xufVxuXG4ubGVhZmxldC16b29tLWFuaW0gLmxlYWZsZXQtem9vbS1oaWRlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKiBjdXJzb3JzICovXG4ubGVhZmxldC1jbGlja2FibGUge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5sZWFmbGV0LWNvbnRhaW5lciB7XG4gIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xuICBjdXJzb3I6IC1tb3otZ3JhYjtcbn1cblxuLmxlYWZsZXQtcG9wdXAtcGFuZSxcbi5sZWFmbGV0LWNvbnRyb2wge1xuICBjdXJzb3I6IGF1dG87XG59XG5cbi5sZWFmbGV0LWRyYWdnaW5nIC5sZWFmbGV0LWNvbnRhaW5lcixcbi5sZWFmbGV0LWRyYWdnaW5nIC5sZWFmbGV0LWNsaWNrYWJsZSB7XG4gIGN1cnNvcjogbW92ZTtcbiAgY3Vyc29yOiAtd2Via2l0LWdyYWJiaW5nO1xuICBjdXJzb3I6IC1tb3otZ3JhYmJpbmc7XG59XG5cbi8qIHZpc3VhbCB0d2Vha3MgKi9cbi5sZWFmbGV0LWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQ6ICNkZGQ7XG4gIG91dGxpbmU6IDA7XG59XG5cbi5sZWFmbGV0LWNvbnRhaW5lciBhIHtcbiAgY29sb3I6ICMwMDc4QTg7XG59XG5cbi5sZWFmbGV0LWNvbnRhaW5lciBhLmxlYWZsZXQtYWN0aXZlIHtcbiAgb3V0bGluZTogMnB4IHNvbGlkIG9yYW5nZTtcbn1cblxuLmxlYWZsZXQtem9vbS1ib3gge1xuICBib3JkZXI6IDJweCBkb3R0ZWQgIzM4ZjtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuXG4vKiBnZW5lcmFsIHR5cG9ncmFwaHkgKi9cbi5sZWFmbGV0LWNvbnRhaW5lciB7XG4gIGZvbnQ6IDEycHgvMS41IFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbn1cblxuLyogZ2VuZXJhbCB0b29sYmFyIHN0eWxlcyAqL1xuLmxlYWZsZXQtYmFyIHtcbiAgYm94LXNoYWRvdzogMCAxcHggNXB4IHJnYmEoMCwgMCwgMCwgMC42NSk7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLmxlYWZsZXQtYmFyIGEsXG4ubGVhZmxldC1iYXIgYTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuICB3aWR0aDogMjZweDtcbiAgaGVpZ2h0OiAyNnB4O1xuICBsaW5lLWhlaWdodDogMjZweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogYmxhY2s7XG59XG5cbi5sZWFmbGV0LWJhciBhLFxuLmxlYWZsZXQtY29udHJvbC1sYXllcnMtdG9nZ2xlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5sZWFmbGV0LWJhciBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDtcbn1cblxuLmxlYWZsZXQtYmFyIGE6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7XG59XG5cbi5sZWFmbGV0LWJhciBhOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5sZWFmbGV0LWJhciBhLmxlYWZsZXQtZGlzYWJsZWQge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7XG4gIGNvbG9yOiAjYmJiO1xufVxuXG4ubGVhZmxldC10b3VjaCAubGVhZmxldC1iYXIgYSB7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xufVxuXG4vKiB6b29tIGNvbnRyb2wgKi9cbi5sZWFmbGV0LWNvbnRyb2wtem9vbS1pbixcbi5sZWFmbGV0LWNvbnRyb2wtem9vbS1vdXQge1xuICBmb250OiBib2xkIDE4cHggJ0x1Y2lkYSBDb25zb2xlJywgTW9uYWNvLCBtb25vc3BhY2U7XG4gIHRleHQtaW5kZW50OiAxcHg7XG59XG5cbi5sZWFmbGV0LWNvbnRyb2wtem9vbS1vdXQge1xuICBmb250LXNpemU6IDIwcHg7XG59XG5cbi5sZWFmbGV0LXRvdWNoIC5sZWFmbGV0LWNvbnRyb2wtem9vbS1pbiB7XG4gIGZvbnQtc2l6ZTogMjJweDtcbn1cblxuLmxlYWZsZXQtdG91Y2ggLmxlYWZsZXQtY29udHJvbC16b29tLW91dCB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbn1cblxuLyogbGF5ZXJzIGNvbnRyb2wgKi9cbi5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzIHtcbiAgYm94LXNoYWRvdzogMCAxcHggNXB4IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xufVxuXG4ubGVhZmxldC1jb250cm9sLWxheWVycy10b2dnbGUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1hZ2VzL2xheWVycy5wbmcpO1xuICB3aWR0aDogMzZweDtcbiAgaGVpZ2h0OiAzNnB4O1xufVxuXG4ubGVhZmxldC1yZXRpbmEgLmxlYWZsZXQtY29udHJvbC1sYXllcnMtdG9nZ2xlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlcy9sYXllcnMtMngucG5nKTtcbiAgYmFja2dyb3VuZC1zaXplOiAyNnB4IDI2cHg7XG59XG5cbi5sZWFmbGV0LXRvdWNoIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLXRvZ2dsZSB7XG4gIHdpZHRoOiA0NHB4O1xuICBoZWlnaHQ6IDQ0cHg7XG59XG5cbi5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLWxpc3QsXG4ubGVhZmxldC1jb250cm9sLWxheWVycy1leHBhbmRlZCAubGVhZmxldC1jb250cm9sLWxheWVycy10b2dnbGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubGVhZmxldC1jb250cm9sLWxheWVycy1leHBhbmRlZCAubGVhZmxldC1jb250cm9sLWxheWVycy1saXN0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmxlYWZsZXQtY29udHJvbC1sYXllcnMtZXhwYW5kZWQge1xuICBwYWRkaW5nOiA2cHggMTBweCA2cHggNnB4O1xuICBjb2xvcjogIzMzMztcbiAgYmFja2dyb3VuZDogI2ZmZjtcbn1cblxuLmxlYWZsZXQtY29udHJvbC1sYXllcnMtc2VsZWN0b3Ige1xuICBtYXJnaW4tdG9wOiAycHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxcHg7XG59XG5cbi5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzIGxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLXNlcGFyYXRvciB7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7XG4gIG1hcmdpbjogNXB4IC0xMHB4IDVweCAtNnB4O1xufVxuXG4vKiBhdHRyaWJ1dGlvbiBhbmQgc2NhbGUgY29udHJvbHMgKi9cbi5sZWFmbGV0LWNvbnRhaW5lciAubGVhZmxldC1jb250cm9sLWF0dHJpYnV0aW9uIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICBtYXJnaW46IDA7XG59XG5cbi5sZWFmbGV0LWNvbnRyb2wtYXR0cmlidXRpb24sXG4ubGVhZmxldC1jb250cm9sLXNjYWxlLWxpbmUge1xuICBwYWRkaW5nOiAwIDVweDtcbiAgY29sb3I6ICMzMzM7XG59XG5cbi5sZWFmbGV0LWNvbnRyb2wtYXR0cmlidXRpb24gYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmxlYWZsZXQtY29udHJvbC1hdHRyaWJ1dGlvbiBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5sZWFmbGV0LWNvbnRhaW5lciAubGVhZmxldC1jb250cm9sLWF0dHJpYnV0aW9uLFxuLmxlYWZsZXQtY29udGFpbmVyIC5sZWFmbGV0LWNvbnRyb2wtc2NhbGUge1xuICBmb250LXNpemU6IDExcHg7XG59XG5cbi5sZWFmbGV0LWxlZnQgLmxlYWZsZXQtY29udHJvbC1zY2FsZSB7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG59XG5cbi5sZWFmbGV0LWJvdHRvbSAubGVhZmxldC1jb250cm9sLXNjYWxlIHtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4ubGVhZmxldC1jb250cm9sLXNjYWxlLWxpbmUge1xuICBib3JkZXI6IDJweCBzb2xpZCAjNzc3O1xuICBib3JkZXItdG9wOiBub25lO1xuICBsaW5lLWhlaWdodDogMS4xO1xuICBwYWRkaW5nOiAycHggNXB4IDFweDtcbiAgZm9udC1zaXplOiAxMXB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuXG4ubGVhZmxldC1jb250cm9sLXNjYWxlLWxpbmU6bm90KDpmaXJzdC1jaGlsZCkge1xuICBib3JkZXItdG9wOiAycHggc29saWQgIzc3NztcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgbWFyZ2luLXRvcDogLTJweDtcbn1cblxuLmxlYWZsZXQtY29udHJvbC1zY2FsZS1saW5lOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzc3Nztcbn1cblxuLmxlYWZsZXQtdG91Y2ggLmxlYWZsZXQtY29udHJvbC1hdHRyaWJ1dGlvbixcbi5sZWFmbGV0LXRvdWNoIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLFxuLmxlYWZsZXQtdG91Y2ggLmxlYWZsZXQtYmFyIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLmxlYWZsZXQtdG91Y2ggLmxlYWZsZXQtY29udHJvbC1sYXllcnMsXG4ubGVhZmxldC10b3VjaCAubGVhZmxldC1iYXIge1xuICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG59XG5cbi8qIHBvcHVwICovXG4ubGVhZmxldC1wb3B1cCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ubGVhZmxldC1wb3B1cC1jb250ZW50LXdyYXBwZXIge1xuICBwYWRkaW5nOiAxcHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG59XG5cbi5sZWFmbGV0LXBvcHVwLWNvbnRlbnQge1xuICBtYXJnaW46IDEzcHggMTlweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLmxlYWZsZXQtcG9wdXAtY29udGVudCBwIHtcbiAgbWFyZ2luOiAxOHB4IDA7XG59XG5cbi5sZWFmbGV0LXBvcHVwLXRpcC1jb250YWluZXIge1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubGVhZmxldC1wb3B1cC10aXAge1xuICB3aWR0aDogMTdweDtcbiAgaGVpZ2h0OiAxN3B4O1xuICBwYWRkaW5nOiAxcHg7XG4gIG1hcmdpbjogLTEwcHggYXV0byAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIC1vLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xufVxuXG4ubGVhZmxldC1wb3B1cC1jb250ZW50LXdyYXBwZXIsXG4ubGVhZmxldC1wb3B1cC10aXAge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgYm94LXNoYWRvdzogMCAzcHggMTRweCByZ2JhKDAsIDAsIDAsIDAuNCk7XG59XG5cbi5sZWFmbGV0LWNvbnRhaW5lciBhLmxlYWZsZXQtcG9wdXAtY2xvc2UtYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBwYWRkaW5nOiA0cHggNHB4IDAgMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxNHB4O1xuICBmb250OiAxNnB4LzE0cHggVGFob21hLCBWZXJkYW5hLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogI2MzYzNjMztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi5sZWFmbGV0LWNvbnRhaW5lciBhLmxlYWZsZXQtcG9wdXAtY2xvc2UtYnV0dG9uOmhvdmVyIHtcbiAgY29sb3I6ICM5OTk7XG59XG5cbi5sZWFmbGV0LXBvcHVwLXNjcm9sbGVkIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDtcbn1cblxuLmxlYWZsZXQtb2xkaWUgLmxlYWZsZXQtcG9wdXAtY29udGVudC13cmFwcGVyIHtcbiAgem9vbTogMTtcbn1cblxuLmxlYWZsZXQtb2xkaWUgLmxlYWZsZXQtcG9wdXAtdGlwIHtcbiAgd2lkdGg6IDI0cHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5NYXRyaXgoTTExPTAuNzA3MTA2NzgsIE0xMj0wLjcwNzEwNjc4LCBNMjE9LTAuNzA3MTA2NzgsIE0yMj0wLjcwNzEwNjc4KVwiO1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5NYXRyaXgoTTExPTAuNzA3MTA2NzgsIE0xMj0wLjcwNzEwNjc4LCBNMjE9LTAuNzA3MTA2NzgsIE0yMj0wLjcwNzEwNjc4KTtcbn1cblxuLmxlYWZsZXQtb2xkaWUgLmxlYWZsZXQtcG9wdXAtdGlwLWNvbnRhaW5lciB7XG4gIG1hcmdpbi10b3A6IC0xcHg7XG59XG5cbi5sZWFmbGV0LW9sZGllIC5sZWFmbGV0LWNvbnRyb2wtem9vbSxcbi5sZWFmbGV0LW9sZGllIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLFxuLmxlYWZsZXQtb2xkaWUgLmxlYWZsZXQtcG9wdXAtY29udGVudC13cmFwcGVyLFxuLmxlYWZsZXQtb2xkaWUgLmxlYWZsZXQtcG9wdXAtdGlwIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzk5OTtcbn1cblxuLyogZGl2IGljb24gKi9cbi5sZWFmbGV0LWRpdi1pY29uIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzY2Njtcbn1cblxuLyohXG4gKiBhbmltYXRlLmNzcyAtaHR0cHM6Ly9kYW5lZGVuLmdpdGh1Yi5pby9hbmltYXRlLmNzcy9cbiAqIFZlcnNpb24gLSAzLjcuMlxuICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIC0gaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqIENvcHlyaWdodCAoYykgMjAxOSBEYW5pZWwgRWRlblxuICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlIHtcbiAgZnJvbSxcbiAgMjAlLFxuICA1MyUsXG4gIDgwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbiAgNDAlLFxuICA0MyUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKTtcbiAgfVxuICA3MCUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKTtcbiAgfVxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC00cHgsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlIHtcbiAgZnJvbSxcbiAgMjAlLFxuICA1MyUsXG4gIDgwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbiAgNDAlLFxuICA0MyUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKTtcbiAgfVxuICA3MCUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKTtcbiAgfVxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC00cHgsIDApO1xuICB9XG59XG5cbi5ib3VuY2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2U7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZsYXNoIHtcbiAgZnJvbSxcbiAgNTAlLFxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAyNSUsXG4gIDc1JSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsYXNoIHtcbiAgZnJvbSxcbiAgNTAlLFxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAyNSUsXG4gIDc1JSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uZmxhc2gge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGFzaDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsYXNoO1xufVxuXG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBwdWxzZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTtcbiAgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcHVsc2Uge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7XG4gIH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG4ucHVsc2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBwdWxzZTtcbiAgYW5pbWF0aW9uLW5hbWU6IHB1bHNlO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcnViYmVyQmFuZCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcbiAgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcbiAgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcbiAgfVxuICA2NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTUsIDEuMDUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjk1LCAxLjA1LCAxKTtcbiAgfVxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDAuOTUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAwLjk1LCAxKTtcbiAgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcnViYmVyQmFuZCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcbiAgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcbiAgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcbiAgfVxuICA2NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTUsIDEuMDUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjk1LCAxLjA1LCAxKTtcbiAgfVxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDAuOTUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAwLjk1LCAxKTtcbiAgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG5cbi5ydWJiZXJCYW5kIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcnViYmVyQmFuZDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJ1YmJlckJhbmQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzaGFrZSB7XG4gIGZyb20sXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuICAxMCUsXG4gIDMwJSxcbiAgNTAlLFxuICA3MCUsXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgfVxuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2hha2Uge1xuICBmcm9tLFxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbiAgMTAlLFxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgfVxufVxuXG4uc2hha2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzaGFrZTtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgaGVhZFNoYWtlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuICA2LjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCkgcm90YXRlWSgtOWRlZyk7XG4gIH1cbiAgMTguNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgcm90YXRlWSg3ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KSByb3RhdGVZKDdkZWcpO1xuICB9XG4gIDMxLjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGVZKC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlWSgtNWRlZyk7XG4gIH1cbiAgNDMuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlWSgzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpO1xuICB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgaGVhZFNoYWtlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuICA2LjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCkgcm90YXRlWSgtOWRlZyk7XG4gIH1cbiAgMTguNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgcm90YXRlWSg3ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KSByb3RhdGVZKDdkZWcpO1xuICB9XG4gIDMxLjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGVZKC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlWSgtNWRlZyk7XG4gIH1cbiAgNDMuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlWSgzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpO1xuICB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5cbi5oZWFkU2hha2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaGVhZFNoYWtlO1xuICBhbmltYXRpb24tbmFtZTogaGVhZFNoYWtlO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3dpbmcge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7XG4gIH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XG4gIH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcbiAgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gIH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc3dpbmcge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7XG4gIH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XG4gIH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcbiAgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gIH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpO1xuICB9XG59XG5cbi5zd2luZyB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3dpbmc7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHRhZGEge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbiAgMTAlLFxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG4gIDMwJSxcbiAgNTAlLFxuICA3MCUsXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB0YWRhIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG4gIDEwJSxcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgfVxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgfVxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG5cbi50YWRhIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdGFkYTtcbiAgYW5pbWF0aW9uLW5hbWU6IHRhZGE7XG59XG5cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHdvYmJsZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG4gIDE1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgfVxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgfVxuICA0NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XG4gIH1cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcbiAgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB3b2JibGUge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuICAxNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gIH1cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gIH1cbiAgNDUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDJkZWcpO1xuICB9XG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMWRlZyk7XG4gIH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbi53b2JibGUge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB3b2JibGU7XG4gIGFuaW1hdGlvbi1uYW1lOiB3b2JibGU7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBqZWxsbyB7XG4gIGZyb20sXG4gIDExLjElLFxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbiAgMjIuMiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcbiAgfVxuICAzMy4zJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7XG4gIH1cbiAgNDQuNCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XG4gIH1cbiAgNTUuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XG4gIH1cbiAgNjYuNiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTtcbiAgfVxuICA3Ny43JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYyNWRlZykgc2tld1koMC4zOTA2MjVkZWcpO1xuICB9XG4gIDg4LjglIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMTI1ZGVnKSBza2V3WSgtMC4xOTUzMTI1ZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGplbGxvIHtcbiAgZnJvbSxcbiAgMTEuMSUsXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuICAyMi4yJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpO1xuICB9XG4gIDMzLjMlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTtcbiAgfVxuICA0NC40JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTtcbiAgfVxuICA1NS41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKTtcbiAgfVxuICA2Ni42JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xuICB9XG4gIDc3LjclIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMC4zOTA2MjVkZWcpIHNrZXdZKDAuMzkwNjI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7XG4gIH1cbiAgODguOCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMTI1ZGVnKSBza2V3WSgtMC4xOTUzMTI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxMjVkZWcpIHNrZXdZKC0wLjE5NTMxMjVkZWcpO1xuICB9XG59XG5cbi5qZWxsbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGplbGxvO1xuICBhbmltYXRpb24tbmFtZTogamVsbG87XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBoZWFydEJlYXQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbiAgMTQlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gIH1cbiAgMjglIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuICA0MiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgfVxuICA3MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgaGVhcnRCZWF0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG4gIDE0JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICB9XG4gIDI4JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbiAgNDIlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gIH1cbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuXG4uaGVhcnRCZWF0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaGVhcnRCZWF0O1xuICBhbmltYXRpb24tbmFtZTogaGVhcnRCZWF0O1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMS4zcztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjNzO1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluIHtcbiAgZnJvbSxcbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgfVxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gIH1cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gIH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gIH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcbiAgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTcsIDAuOTcsIDAuOTcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjk3LCAwLjk3LCAwLjk3KTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VJbiB7XG4gIGZyb20sXG4gIDIwJSxcbiAgNDAlLFxuICA2MCUsXG4gIDgwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gIH1cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICB9XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xuICB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XG4gIH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjk3LCAwLjk3LCAwLjk3KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45NywgMC45NywgMC45Nyk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG5cbi5ib3VuY2VJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjc1cztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjc1cztcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW47XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluRG93biB7XG4gIGZyb20sXG4gIDYwJSxcbiAgNzUlLFxuICA5MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICB9XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMDAwcHgsIDApO1xuICB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKTtcbiAgfVxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gIH1cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5Eb3duIHtcbiAgZnJvbSxcbiAgNjAlLFxuICA3NSUsXG4gIDkwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gIH1cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCk7XG4gIH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApO1xuICB9XG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgfVxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcbiAgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLmJvdW5jZUluRG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluRG93bjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluTGVmdCB7XG4gIGZyb20sXG4gIDYwJSxcbiAgNzUlLFxuICA5MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICB9XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApO1xuICB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTtcbiAgfVxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5MZWZ0IHtcbiAgZnJvbSxcbiAgNjAlLFxuICA3NSUsXG4gIDkwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gIH1cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCk7XG4gIH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApO1xuICB9XG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgfVxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLmJvdW5jZUluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluTGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluUmlnaHQge1xuICBmcm9tLFxuICA2MCUsXG4gIDc1JSxcbiAgOTAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgfVxuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKTtcbiAgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKTtcbiAgfVxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICB9XG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5SaWdodCB7XG4gIGZyb20sXG4gIDYwJSxcbiAgNzUlLFxuICA5MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICB9XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApO1xuICB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApO1xuICB9XG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gIH1cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLmJvdW5jZUluUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5SaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluVXAge1xuICBmcm9tLFxuICA2MCUsXG4gIDc1JSxcbiAgOTAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgfVxuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKTtcbiAgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgfVxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICB9XG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5VcCB7XG4gIGZyb20sXG4gIDYwJSxcbiAgNzUlLFxuICA5MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICB9XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApO1xuICB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICB9XG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gIH1cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTtcbiAgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLmJvdW5jZUluVXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblVwO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dCB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xuICB9XG4gIDUwJSxcbiAgNTUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VPdXQge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcbiAgfVxuICA1MCUsXG4gIDU1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICB9XG59XG5cbi5ib3VuY2VPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC43NXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC43NXM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dERvd24ge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICB9XG4gIDQwJSxcbiAgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0RG93biB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gIH1cbiAgNDAlLFxuICA0NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gIH1cbn1cblxuLmJvdW5jZU91dERvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXREb3duO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0RG93bjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dExlZnQge1xuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VPdXRMZWZ0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG59XG5cbi5ib3VuY2VPdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dExlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dFJpZ2h0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG59XG5cbi5ib3VuY2VPdXRSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0UmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRVcCB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgfVxuICA0MCUsXG4gIDQ1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dFVwIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICB9XG4gIDQwJSxcbiAgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG59XG5cbi5ib3VuY2VPdXRVcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0VXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uZmFkZUluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVJbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd25CaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluRG93bkJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVJbkRvd25CaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duQmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bkJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbi5mYWRlSW5MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbi5mYWRlSW5MZWZ0QmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluTGVmdEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRCaWc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVJblJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5SaWdodEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbi5mYWRlSW5SaWdodEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0QmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRCaWc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVJblVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5VcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbi5mYWRlSW5VcEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluVXBCaWc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5mYWRlT3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0RG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0RG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXREb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0RG93bkJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICB9XG59XG5cbi5mYWRlT3V0RG93bkJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duQmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd25CaWc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG59XG5cbi5mYWRlT3V0TGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0TGVmdEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXRMZWZ0QmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dExlZnRCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdEJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG59XG5cbi5mYWRlT3V0UmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRSaWdodEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG59XG5cbi5mYWRlT3V0UmlnaHRCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHRCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHRCaWc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0VXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXRVcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0VXBCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG59XG5cbi5mYWRlT3V0VXBCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBCaWc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE3MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE3MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMC45NSwgMC45NSwgMC45NSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgwLjk1LCAwLjk1LCAwLjk1KSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGlwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE3MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE3MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMC45NSwgMC45NSwgMC45NSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgwLjk1LCAwLjk1LCAwLjk1KSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cbn1cblxuLmFuaW1hdGVkLmZsaXAge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcEluWCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTtcbiAgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsaXBJblgge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtNWRlZyk7XG4gIH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cbn1cblxuLmZsaXBJblgge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YO1xuICBhbmltYXRpb24tbmFtZTogZmxpcEluWDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBJblkge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7XG4gIH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGlwSW5ZIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpO1xuICB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG59XG5cbi5mbGlwSW5ZIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcEluWTtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJblk7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwT3V0WCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsaXBPdXRYIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5mbGlwT3V0WCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjc1cztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjc1cztcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcE91dFg7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBPdXRZIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmxpcE91dFkge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmZsaXBPdXRZIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDAuNzVzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDAuNzVzO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WTtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRZO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZEluIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xuICB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbiB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC01ZGVnKTtcbiAgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLmxpZ2h0U3BlZWRJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbjtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbGlnaHRTcGVlZE91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ubGlnaHRTcGVlZE91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0O1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbiB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5yb3RhdGVJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluO1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW47XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbkRvd25MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ucm90YXRlSW5Eb3duTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93bkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnJvdGF0ZUluRG93blJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25SaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluVXBMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluVXBMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ucm90YXRlSW5VcExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBMZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5VcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnJvdGF0ZUluVXBSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5yb3RhdGVPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXREb3duTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXREb3duTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnJvdGF0ZU91dERvd25MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93bkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXREb3duUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5yb3RhdGVPdXREb3duUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnJvdGF0ZU91dFVwTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwTGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dFVwUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dFVwUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ucm90YXRlT3V0VXBSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgaGluZ2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB9XG4gIDIwJSxcbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgfVxuICA0MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgaGluZ2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB9XG4gIDIwJSxcbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgfVxuICA0MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5oaW5nZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAycztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAycztcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaGluZ2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBoaW5nZTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGphY2tJblRoZUJveCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMSkgcm90YXRlKDMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMSkgcm90YXRlKDMwZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpO1xuICB9XG4gIDcwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzZGVnKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGphY2tJblRoZUJveCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMSkgcm90YXRlKDMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMSkgcm90YXRlKDMwZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpO1xuICB9XG4gIDcwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzZGVnKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuXG4uamFja0luVGhlQm94IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogamFja0luVGhlQm94O1xuICBhbmltYXRpb24tbmFtZTogamFja0luVGhlQm94O1xufVxuXG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cbkAtd2Via2l0LWtleWZyYW1lcyByb2xsSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTEyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTEyMGRlZyk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb2xsSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTEyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTEyMGRlZyk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLnJvbGxJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvbGxJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvbGxJbjtcbn1cblxuLyogb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm9sbE91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAxMjBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm9sbE91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAxMjBkZWcpO1xuICB9XG59XG5cbi5yb2xsT3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm9sbE91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnpvb21JbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbjtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21Jbjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbkRvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21JbkRvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgfVxufVxuXG4uem9vbUluRG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5Eb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgem9vbUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG5cbi56b29tSW5MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbkxlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgem9vbUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgfVxufVxuXG4uem9vbUluUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JblJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21JblVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gIH1cbn1cblxuLnpvb21JblVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5VcDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi56b29tT3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0RG93biB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXREb3duIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG5cbi56b29tT3V0RG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXREb3duO1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dERvd247XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0TGVmdCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tT3V0TGVmdCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gIH1cbn1cblxuLnpvb21PdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0TGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXRSaWdodCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXRSaWdodCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbiAgfVxufVxuXG4uem9vbU91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dFJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dFVwIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgem9vbU91dFVwIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG5cbi56b29tT3V0VXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0VXA7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0VXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluRG93biB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZUluRG93biB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLnNsaWRlSW5Eb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluRG93bjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVJbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5MZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVJblJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJblJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJblVwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZUluVXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVJblVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJblVwO1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJblVwO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXREb3duIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlT3V0RG93biB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cblxuLnNsaWRlT3V0RG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0RG93bjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVPdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRMZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZU91dFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVPdXRSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRVcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlT3V0VXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cbn1cblxuLnNsaWRlT3V0VXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRVcDtcbn1cblxuLmFuaW1hdGVkIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG59XG5cbi5hbmltYXRlZC5pbmZpbml0ZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xufVxuXG4uYW5pbWF0ZWQuZGVsYXktMXMge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMXM7XG4gIGFuaW1hdGlvbi1kZWxheTogMXM7XG59XG5cbi5hbmltYXRlZC5kZWxheS0ycyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAycztcbiAgYW5pbWF0aW9uLWRlbGF5OiAycztcbn1cblxuLmFuaW1hdGVkLmRlbGF5LTNzIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDNzO1xuICBhbmltYXRpb24tZGVsYXk6IDNzO1xufVxuXG4uYW5pbWF0ZWQuZGVsYXktNHMge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogNHM7XG4gIGFuaW1hdGlvbi1kZWxheTogNHM7XG59XG5cbi5hbmltYXRlZC5kZWxheS01cyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiA1cztcbiAgYW5pbWF0aW9uLWRlbGF5OiA1cztcbn1cblxuLmFuaW1hdGVkLmZhc3Qge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogODAwbXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogODAwbXM7XG59XG5cbi5hbmltYXRlZC5mYXN0ZXIge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNTAwbXM7XG59XG5cbi5hbmltYXRlZC5zbG93IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDJzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDJzO1xufVxuXG4uYW5pbWF0ZWQuc2xvd2VyIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDNzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDNzO1xufVxuXG5AbWVkaWEgKHByaW50KSwgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuYW5pbWF0ZWQge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxbXMgIWltcG9ydGFudDtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDFtcyAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMW1zICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMW1zICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxICFpbXBvcnRhbnQ7XG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qIFxuICogTGVhZmxldCBDb250cm9sIFNlYXJjaCB2MS44LjQgLSAyMDE1LTA5LTA1IFxuICogXG4gKiBDb3B5cmlnaHQgMjAxNSBTdGVmYW5vIEN1ZGluaSBcbiAqIHN0ZWZhbm8uY3VkaW5pQGdtYWlsLmNvbSBcbiAqIGh0dHA6Ly9sYWJzLmVhc3libG9nLml0LyBcbiAqIFxuICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLiBcbiAqIFxuICogRGVtbzogXG4gKiBodHRwOi8vbGFicy5lYXN5YmxvZy5pdC9tYXBzL2xlYWZsZXQtc2VhcmNoLyBcbiAqIFxuICogU291cmNlOiBcbiAqIGdpdEBnaXRodWIuY29tOnN0ZWZhbm9jdWRpbmkvbGVhZmxldC1zZWFyY2guZ2l0IFxuICogXG4gKi9cbi5sZWFmbGV0LWNvbnRhaW5lciAubGVhZmxldC1jb250cm9sLXNlYXJjaCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGNvbG9yOiAjMTk3OGNmO1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDRweDtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xuICB6LWluZGV4OiAxMDAwO1xuICBib3gtc2hhZG93OiAwIDFweCA3cHggcmdiYSgwLCAwLCAwLCAwLjY1KTtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi5sZWFmbGV0LWNvbnRyb2wtc2VhcmNoLnNlYXJjaC1leHAge1xuICAvKmV4cGFuZGVkKi9cbiAgYm94LXNoYWRvdzogMCAxcHggN3B4ICM5OTk7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG59XG5cbi5sZWFmbGV0LWNvbnRyb2wtc2VhcmNoIC5zZWFyY2gtaW5wdXQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM2NjY7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICBwYWRkaW5nOiAwIDE4cHggMCAycHg7XG4gIG1hcmdpbjogM3B4IDAgM3B4IDNweDtcbn1cblxuLmxlYWZsZXQtY29udHJvbC1zZWFyY2guc2VhcmNoLWxvYWQgLnNlYXJjaC1pbnB1dCB7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9sb2FkZXIuZ2lmXCIpIG5vLXJlcGVhdCBjZW50ZXIgcmlnaHQgI2ZmZjtcbn1cblxuLmxlYWZsZXQtY29udHJvbC1zZWFyY2guc2VhcmNoLWxvYWQgLnNlYXJjaC1jYW5jZWwge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5sZWFmbGV0LWNvbnRyb2wtc2VhcmNoIC5zZWFyY2gtY2FuY2VsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAyMnB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDIycHg7XG4gIG1hcmdpbjogM3B4IDA7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9zZWFyY2gtaWNvbi5wbmdcIikgbm8tcmVwZWF0IDAgLTQ2cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTgwKTtcbiAgb3BhY2l0eTogMC44O1xufVxuXG4ubGVhZmxldC1jb250cm9sLXNlYXJjaCAuc2VhcmNoLWNhbmNlbDpob3ZlciB7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0xMDApO1xuICBvcGFjaXR5OiAxO1xufVxuXG4ubGVhZmxldC1jb250cm9sLXNlYXJjaCAuc2VhcmNoLWNhbmNlbCBzcGFuIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgLyogY29tbWVudCBmb3IgY2FuY2VsIGJ1dHRvbiBpbWFnZWxlc3MgKi9cbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgY29sb3I6ICNjY2M7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4ubGVhZmxldC1jb250cm9sLXNlYXJjaCAuc2VhcmNoLWNhbmNlbDpob3ZlciBzcGFuIHtcbiAgY29sb3I6ICNhYWE7XG59XG5cbi5sZWFmbGV0LWNvbnRyb2wtc2VhcmNoIC5zZWFyY2gtYnV0dG9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMjZweDtcbiAgaGVpZ2h0OiAyNnB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvc2VhcmNoLWljb24ucG5nXCIpIG5vLXJlcGVhdCAycHggMnB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5sZWFmbGV0LWNvbnRyb2wtc2VhcmNoIC5zZWFyY2gtYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL3NlYXJjaC1pY29uLnBuZ1wiKSBuby1yZXBlYXQgMnB4IC0yMnB4O1xufVxuXG4ubGVhZmxldC1jb250cm9sLXNlYXJjaCAuc2VhcmNoLXRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWluLXdpZHRoOiAxMjBweDtcbiAgbWF4LWhlaWdodDogMTIycHg7XG4gIGJveC1zaGFkb3c6IDFweCAxcHggNnB4IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgei1pbmRleDogMTAxMDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5sZWFmbGV0LWNvbnRyb2wtc2VhcmNoIC5zZWFyY2gtdGlwIHtcbiAgbWFyZ2luOiAycHg7XG4gIHBhZGRpbmc6IDJweCA0cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogYmxhY2s7XG4gIGJhY2tncm91bmQ6ICNlZWU7XG4gIGJvcmRlci1yYWRpdXM6IC4yNWVtO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBjZW50ZXI7XG59XG5cbi5sZWFmbGV0LWNvbnRyb2wtc2VhcmNoIC5zZWFyY2gtdGlwLXNlbGVjdCxcbi5sZWFmbGV0LWNvbnRyb2wtc2VhcmNoIC5zZWFyY2gtdGlwOmhvdmVyLFxuLmxlYWZsZXQtY29udHJvbC1zZWFyY2ggLnNlYXJjaC1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG4ubGVhZmxldC1jb250cm9sLXNlYXJjaCAuc2VhcmNoLWFsZXJ0IHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjbGVhcjogYm90aDtcbiAgZm9udC1zaXplOiAuNzVlbTtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBwYWRkaW5nOiAwIC4yNWVtO1xuICBjb2xvcjogI2UwMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGJvcmRlci1yYWRpdXM6IC4yNWVtO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZVgoMCkgcm90YXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGVYKDApIHJvdGF0ZVkoMCk7XG4gIH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZVgoLTE4MGRlZykgcm90YXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGVYKC0xODBkZWcpIHJvdGF0ZVkoMCk7XG4gIH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlWCgtMTgwZGVnKSByb3RhdGVZKC0xODBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZVgoLTE4MGRlZykgcm90YXRlWSgtMTgwZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGEge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGVYKDApIHJvdGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlWCgwKSByb3RhdGVZKDApO1xuICB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGVYKC0xODBkZWcpIHJvdGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlWCgtMTgwZGVnKSByb3RhdGVZKDApO1xuICB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZVgoLTE4MGRlZykgcm90YXRlWSgtMTgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGVYKC0xODBkZWcpIHJvdGF0ZVkoLTE4MGRlZyk7XG4gIH1cbn1cblxuLmZsdWlkYm94IHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLmZsdWlkYm94X19vdmVybGF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjdXJzb3I6IHpvb20tb3V0O1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IC0xMDAlO1xuICBsZWZ0OiAwO1xuICBib3R0b206IC0xMDAlO1xuICByaWdodDogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2UtaW4tb3V0O1xufVxuXG4uZmx1aWRib3gtLW9wZW5lZCAuZmx1aWRib3hfX292ZXJsYXkge1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cblxuLmZsdWlkYm94X193cmFwIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2UtaW4tb3V0O1xufVxuXG4uZmx1aWRib3gtLWNsb3NlZCAuZmx1aWRib3hfX3RodW1iLCAuZmx1aWRib3hfX3RodW1iIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDBzIGVhc2UtaW4tb3V0IDBzO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDBzIGVhc2UtaW4tb3V0IDBzO1xufVxuXG4uZmx1aWRib3hfX2dob3N0IHtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDBzIDBzLC13ZWJraXQtdHJhbnNmb3JtIC41cyAwcztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwcyAwcywtd2Via2l0LXRyYW5zZm9ybSAuNXMgMHM7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMHMgMHMsdHJhbnNmb3JtIC41cyAwcztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwcyAwcyx0cmFuc2Zvcm0gLjVzIDBzLC13ZWJraXQtdHJhbnNmb3JtIC41cyAwcztcbn1cblxuLmZsdWlkYm94LS1vcGVuZWQgLmZsdWlkYm94X19naG9zdCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY3Vyc29yOiB6b29tLW91dDtcbn1cblxuLmZsdWlkYm94LS1jbG9zZWQgLmZsdWlkYm94X19naG9zdCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwcyAuNXMsLXdlYmtpdC10cmFuc2Zvcm0gLjVzIDBzO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDBzIC41cywtd2Via2l0LXRyYW5zZm9ybSAuNXMgMHM7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMHMgLjVzLHRyYW5zZm9ybSAuNXMgMHM7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMHMgLjVzLHRyYW5zZm9ybSAuNXMgMHMsLXdlYmtpdC10cmFuc2Zvcm0gLjVzIDBzO1xufVxuXG4uZmx1aWRib3hfX2xvYWRlciB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmU6IDIwMHB4O1xuICBwZXJzcGVjdGl2ZTogMjAwcHg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbn1cblxuLmZsdWlkYm94X19sb2FkZXI6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KTtcbiAgY29udGVudDogJyc7XG4gIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogMjAlO1xuICBwYWRkaW5nLWJvdHRvbTogMjAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLC13ZWJraXQtdHJhbnNmb3JtO1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IC41cztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjVzO1xuICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbn1cblxuLmZsdWlkYm94LS1sb2FkaW5nIC5mbHVpZGJveF9fbG9hZGVyIHtcbiAgb3BhY2l0eTogMTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IC41cyBlYXNlLWluLW91dCAuNXM7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjVzIGVhc2UtaW4tb3V0IC41cztcbn1cblxuLmZsdWlkYm94LS1sb2FkaW5nIC5mbHVpZGJveF9fbG9hZGVyOmJlZm9yZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBhIDFzIDBzIGluZmluaXRlIGVhc2UtaW4tb3V0IGZvcndhcmRzO1xuICBhbmltYXRpb246IGEgMXMgMHMgaW5maW5pdGUgZWFzZS1pbi1vdXQgZm9yd2FyZHM7XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPWZsdWlkYm94Lm1pbi5jc3MubWFwICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICByZW1cblxuICAgIENhbGN1bGF0ZXMgcmVtIHZhbHVlcyBmb3IgdGhlIGdpdmVuIGZvbnQgc2l6ZXMgaW4gcGl4ZWxzXG5cbiAgICBBbHNvIHByb3ZpZGVzIHB4IGJhc2VkIGZhbGxiYWNrIGZvciBicm93c2VycyB3aXRob3V0IHJlbSBzdXBwb3J0IChJRTgpXG4qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgZmxleEVtYmVkXG5cbiAgICBGbGV4aWJsZSBtZWRpYSBlbWJlZHNcblxuICAgIEZvciB1c2Ugd2l0aCBtZWRpYSBlbWJlZHMg4oCTIHN1Y2ggYXMgdmlkZW9zLCBzbGlkZXNob3dzLCBvciBldmVuIGltYWdlcyDigJNcbiAgICB0aGF0IG5lZWQgdG8gcmV0YWluIGEgc3BlY2lmaWMgYXNwZWN0IHJhdGlvIGJ1dCBhZGFwdCB0byB0aGUgd2lkdGggb2YgdGhlaXJcbiAgICBjb250YWluaW5nIGVsZW1lbnQuXG5cbiAgICBCYXNlZCBvbiBodHRwczovL2dpdGh1Yi5jb20vc3VpdGNzcy9mbGV4LWVtYmVkL2Jsb2IvbWFzdGVyL2ZsZXgtZW1iZWQuY3NzXG5cbiAgICBFeGFtcGxlOlxuICAgIC5pdGVtLXRvLWZsZXh7XG4gICAgICAgIEBpbmNsdWRlIGZsZXhFbWJlZCgxMDAwLCA0ODApO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHA6Ly9wbGFjZWltZy5jb20vMTAwMC80ODAvYW55Jyk7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1heC1oZWlnaHQ6IDQ4MHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDEwMDBweDtcbiAgICB9XG5cbiAgICBBcmd1bWVudHM6XG4gICAgJHdpZHRoICAgICAgIDogVGhlIHdpZHRoIG9mIHRoZSBlbGVtZW50XG4gICAgJGhlaWdodCAgICAgIDogVGhlIGhlaWdodCBvZiB0aGUgZWxlbWVudFxuICAgICRoYXNJdGVtICAgICA6IFtvcHRpb25hbF0gQWRkIGV4dHJhIG91dHB1dCBpZiBlbGVtZW50IGNvbnRhaW5zIGFuIGlmcmFtZSwgb2JqZWN0LCBlbWJlZCwgZXRjXG4gICAgJGl0ZW1DbGFzcyAgIDogW29wdGlvbmFsXSBDbGFzcyBvZiBlbGVtZW50IHRvIGJlIHBvc2l0aW9uZWQgaW5zaWRlIGNvbnRhaW5lclxuKi9cbi5ncmVlbiB7XG4gIGNvbG9yOiAjN2ViZTM4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEdyaWQgc2V0dXAuIEFsc28gc2VlOiBodHRwOi8vc3VzeS5vZGRiaXJkLm5ldC9kZW1vcy9ncmlkLXR5cGVzL1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ud3JhcHBlciB7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi53cmFwcGVyOmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjbGVhcjogYm90aDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLndyYXBwZXIge1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtYXgtd2lkdGg6IDc3LjMxMjQ5OTk5ODZlbTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbiAgLndyYXBwZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAwKSBhbmQgKG1heC13aWR0aDogODBlbSkge1xuICAud3JhcHBlciB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIH1cbn1cblxuLndyYXBwZXItLXJlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuaHRtbCB7XG4gIGZvbnQtc2l6ZTogODEuMjUlO1xuICBsaW5lLWhlaWdodDogMi4xZW07XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIGh0bWwge1xuICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICBsaW5lLWhlaWdodDogMi40ZW07XG4gIH1cbn1cblxuaDEsIGgyLCBoMywgaDQsIG9sID4gbGk6YmVmb3JlIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLmJ1dHRvbiwgLm1hdHJpeF9faXRlbSAuZnJlZWZvcm0tcm93IGJ1dHRvbiwgLmJ1dHRvbl9faW5wdXQtLWNoZWNrYm94IGxhYmVsIHNwYW4sIC5jb250YWN0IC50YWJfX2NvbnRlbnQgYnV0dG9uLCBoNSwgaDYsIGxhYmVsLCAubmF2X19pdGVtIGEsIC5icmVhZGNydW1icyB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5uYXYgLmpzLXNpdGUtbmF2LmFjdGl2ZSBsaS5oYXMtY2hpbGRyZW4gdWwgYSwgLmhlcm8gLnN1YnRpdGVsIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuYm9keSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbn1cblxucCxcbm9sLFxudWwsXG5ibG9ja3F1b3RlIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMi4xcmVtO1xuICBtYXJnaW4tdG9wOiAyLjFyZW07XG4gIHBhZGRpbmctdG9wOiAwcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi4xcmVtO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICBwLFxuICBvbCxcbiAgdWwsXG4gIGJsb2NrcXVvdGUge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMi40cmVtO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIHAsXG4gIG9sLFxuICB1bCxcbiAgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luLXRvcDogMi40cmVtO1xuICAgIHBhZGRpbmctdG9wOiAwcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTtcbiAgfVxufVxuXG4uZmxleGl0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5mbGV4aXQtLWRlc2t0b3Age1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAuZmxleGl0LS1kZXNrdG9wIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG4uZmxleGl0X19jb21wYXRpYmlsaXR5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5mbGV4aXRfX2NvbXBhdGliaWxpdHktLWRlc2t0b3Age1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogYXV0bztcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLmZsZXhpdF9fY29tcGF0aWJpbGl0eS0tZGVza3RvcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4uZmxleGl0X19jb21wYXRpYmlsaXR5LS1tb2JpbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLmZsZXhpdF9fY29tcGF0aWJpbGl0eS0tbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi5mbGV4aXRfX2hlbHBlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uZmxleGl0X19oZWxwZXItLWRlc2t0b3Age1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogYXV0bztcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLmZsZXhpdF9faGVscGVyLS1kZXNrdG9wIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLmZsZXhpdF9faGVscGVyLS1tb2JpbGUge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLmZsZXhpdF9faGVscGVyLS1tb2JpbGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4uZmxleGl0X19ob2xkZXIge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uZmxleGl0X19ob2xkZXItLWRlc2t0b3Age1xuICBkaXNwbGF5OiBibG9jaztcbiAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5mbGV4aXRfX2hvbGRlci0tZGVza3RvcCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG59XG5cbi5mbGV4aXRfX2hvbGRlci0tbW9iaWxlIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLmZsZXhpdF9faG9sZGVyLS1tb2JpbGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0O1xuICB9XG59XG5cbi5tYXRyaXhfX2l0ZW0ge1xuICBtYXJnaW4tYm90dG9tOiAyLjFyZW07XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5tYXRyaXhfX2l0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAubWF0cml4X19pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzLjE1cmVtO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSBhbmQgKG1pbi13aWR0aDogNjBlbSkge1xuICAubWF0cml4X19pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzLjZyZW07XG4gIH1cbn1cblxuLm1hdHJpeF9fbGVmdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLm1hdHJpeF9fbGVmdCB7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiA0OC4xMDAyNDI1MjIzJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDMuNzk5NTE0OTU1NCU7XG4gIH1cbn1cblxuLm1hdHJpeF9fcmlnaHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5tYXRyaXhfX3JpZ2h0IHtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDQ4LjEwMDI0MjUyMjMlO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuLm1hdHJpeF9fdGV4dCBwIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLm1hdHJpeF9faXRlbS0tdGVhbSB7XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLm1hdHJpeF9faXRlbS0tdGVhbSAuZW1wbG95ZWUge1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMjguMDY3MjI2ODkwOSU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiA3Ljg5OTE1OTY2MzclO1xuICB9XG4gIC5tYXRyaXhfX2l0ZW0tLXRlYW0gLmVtcGxveWVlOm50aC1vZi10eXBlKDNuKzMpIHtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDI4LjA2NzIyNjg5MDklO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtZmFtaWx5OiBcIlRpdGlsbGl1bSBXZWJcIiwgYXJpYWwsIHNhbnMtc2VyaWY7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIGNvbG9yOiAjNWI2Mjc3O1xufVxuXG4qLFxuKjpiZWZvcmUsXG4qOmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cblxuYm9keSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuXG4uZGF0ZSB7XG4gIGZvbnQtc2l6ZTogMC45MjMwNzY5MjMxcmVtO1xuICBsaW5lLWhlaWdodDogMi4xcmVtO1xuICBjb2xvcjogIzFhMjQ1YztcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLmRhdGUge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMnJlbTtcbiAgfVxufVxuXG4uZHJpZnQtb3Blbi1jaGF0IHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ucmVsYXRpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5idXR0b24sIC5tYXRyaXhfX2l0ZW0gLmZyZWVmb3JtLXJvdyBidXR0b24sIC5idXR0b25fX2lucHV0LS1jaGVja2JveCBsYWJlbCBzcGFuLCAuY29udGFjdCAudGFiX19jb250ZW50IGJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDIuMXJlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nOiA1cHggMzhweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLmJ1dHRvbiwgLm1hdHJpeF9faXRlbSAuZnJlZWZvcm0tcm93IGJ1dHRvbiwgLmJ1dHRvbl9faW5wdXQtLWNoZWNrYm94IGxhYmVsIHNwYW4sIC5jb250YWN0IC50YWJfX2NvbnRlbnQgYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuNHJlbTtcbiAgfVxufVxuXG4uYnV0dG9uX19wcmltYXJ5LCAubWF0cml4X19pdGVtIC5mcmVlZm9ybS1yb3cgYnV0dG9uLCAuY29udGFjdCAudGFiX19jb250ZW50IGJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3ZWJlMzg7XG4gIHBhZGRpbmc6IDVweCAxNnB4O1xufVxuXG4uYnV0dG9uX19wcmltYXJ5IGltZywgLm1hdHJpeF9faXRlbSAuZnJlZWZvcm0tcm93IGJ1dHRvbiBpbWcsIC5jb250YWN0IC50YWJfX2NvbnRlbnQgYnV0dG9uIGltZyB7XG4gIHBhZGRpbmctcmlnaHQ6IDhweDtcbn1cblxuLmJ1dHRvbl9fcHJpbWFyeTpob3ZlciwgLm1hdHJpeF9faXRlbSAuZnJlZWZvcm0tcm93IGJ1dHRvbjpob3ZlciwgLmNvbnRhY3QgLnRhYl9fY29udGVudCBidXR0b246aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzczYWYzMjtcbn1cblxuLmJ1dHRvbl9fdGFncywgLmJ1dHRvbl9faW5wdXQtLWNoZWNrYm94IGxhYmVsIHNwYW4ge1xuICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgcGFkZGluZzogNXB4IDM4cHg7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLmJ1dHRvbl9fdGFncy0tbGlnaHQsIC5idXR0b25fX2lucHV0LS1jaGVja2JveCBsYWJlbCBzcGFuIHtcbiAgY29sb3I6ICMxYTI0NWM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNWU4ZjA7XG59XG5cbi5idXR0b25fX3RhZ3MtLWxpZ2h0OmhvdmVyLCAuYnV0dG9uX19pbnB1dC0tY2hlY2tib3ggbGFiZWwgc3Bhbjpob3ZlciB7XG4gIGNvbG9yOiAjMWEyNDVjO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVlMGU5O1xufVxuXG4uYnV0dG9uX190YWdzLS1kYXJrLCAuYnV0dG9uX19pbnB1dC0tY2hlY2tib3ggbGFiZWwgaW5wdXQ6Y2hlY2tlZCArIHNwYW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWEyNDVjO1xufVxuXG4uYnV0dG9uX190YWdzLS1kYXJrOmhvdmVyLCAuYnV0dG9uX19pbnB1dC0tY2hlY2tib3ggbGFiZWwgaW5wdXQ6Y2hlY2tlZCArIHNwYW46aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE1MWU0ZDtcbn1cblxuLmJ1dHRvbl9fbmFrZWQge1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5idXR0b25fX25ha2VkLS1wcmltYXJ5IHtcbiAgY29sb3I6ICM3ZWJlMzg7XG59XG5cbi5idXR0b25fX25ha2VkLS1wcmltYXJ5OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9hc3NldHMvaW1hZ2VzL3Bpamx0amUtcmVjaHRzLWdyb2VuLnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBoZWlnaHQ6IDEycHg7XG4gIHdpZHRoOiAxMnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAtMjBweDtcbiAgdHJhbnNpdGlvbjogZWFzZSAwLjJzO1xuICB0b3A6IDAuN3JlbTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLmJ1dHRvbl9fbmFrZWQtLXByaW1hcnk6YWZ0ZXIge1xuICAgIHRvcDogMC45cmVtO1xuICB9XG59XG5cbi5idXR0b25fX25ha2VkLS1wcmltYXJ5OmhvdmVyOmFmdGVyIHtcbiAgcmlnaHQ6IC0yNXB4O1xufVxuXG4uYnV0dG9uX19uYWtlZC0tc2Vjb25kYXJ5IHtcbiAgY29sb3I6ICMxYTI0NWM7XG59XG5cbi5idXR0b25fX25ha2VkLS1zZWNvbmRhcnk6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2Fzc2V0cy9pbWFnZXMvcGlqbHRqZS1yZWNodHMtYmxhdXcuc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGhlaWdodDogMTJweDtcbiAgd2lkdGg6IDEycHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IC0yMHB4O1xuICB0cmFuc2l0aW9uOiBlYXNlIDAuMnM7XG4gIHRvcDogMC43cmVtO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDVlbSkge1xuICAuYnV0dG9uX19uYWtlZC0tc2Vjb25kYXJ5OmFmdGVyIHtcbiAgICByaWdodDogMzBweDtcbiAgICB0b3A6IDAuOXJlbTtcbiAgfVxufVxuXG4uYnV0dG9uX19uYWtlZC0tc2Vjb25kYXJ5OmhvdmVyOmFmdGVyIHtcbiAgcmlnaHQ6IDE1cHg7XG59XG5cbi5idXR0b25fX25ha2VkLS13aGl0ZSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uYnV0dG9uX19uYWtlZC0td2hpdGU6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2Fzc2V0cy9pbWFnZXMvcGlqbHRqZS1yZWNodHMtd2l0LnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBoZWlnaHQ6IDEycHg7XG4gIHdpZHRoOiAxMnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAtMjBweDtcbiAgdHJhbnNpdGlvbjogZWFzZSAwLjJzO1xuICB0b3A6IDAuN3JlbTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLmJ1dHRvbl9fbmFrZWQtLXdoaXRlOmFmdGVyIHtcbiAgICB0b3A6IDAuOXJlbTtcbiAgfVxufVxuXG4uYnV0dG9uX19uYWtlZC0td2hpdGU6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmJ1dHRvbl9fbmFrZWQtLXdoaXRlOmhvdmVyIDphZnRlciB7XG4gIHJpZ2h0OiAtMjVweDtcbn1cblxuLmJ1dHRvbl9fbmFrZWQtLWxpZ2h0IHtcbiAgY29sb3I6ICMxYTI0NWM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNWU4ZjA7XG59XG5cbi5idXR0b25fX25ha2VkLS1saWdodDpob3ZlciB7XG4gIGNvbG9yOiAjMWEyNDVjO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVlMGU5O1xufVxuXG4uYnV0dG9uX19uYWtlZC0tbGlnaHQuYWN0aXZlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYTI0NWM7XG59XG5cbi5idXR0b24tLXJpZ2h0IHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLmJ1dHRvbi0tcmlnaHQge1xuICAgIG1hcmdpbjogMjBweDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbn1cblxuaDEge1xuICBmb250LXNpemU6IDIuMzg0NjE1Mzg0NnJlbTtcbiAgbGluZS1oZWlnaHQ6IDMuMTVyZW07XG4gIG1hcmdpbi10b3A6IDIuMXJlbTtcbiAgcGFkZGluZy10b3A6IDByZW07XG4gIHBhZGRpbmctYm90dG9tOiAwcmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjFyZW07XG4gIGNvbG9yOiAjZmZmO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICBoMSB7XG4gICAgZm9udC1zaXplOiAzcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAzLjZyZW07XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgaDEge1xuICAgIG1hcmdpbi10b3A6IDIuNHJlbTtcbiAgICBwYWRkaW5nLXRvcDogMHJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMHJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07XG4gIH1cbn1cblxuaDIge1xuICBmb250LXNpemU6IDIuMDc2OTIzMDc2OXJlbTtcbiAgbGluZS1oZWlnaHQ6IDMuMTVyZW07XG4gIG1hcmdpbi10b3A6IDIuMXJlbTtcbiAgcGFkZGluZy10b3A6IDByZW07XG4gIHBhZGRpbmctYm90dG9tOiAwcmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjFyZW07XG4gIGNvbG9yOiAjMWEyNDVjO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICBoMiB7XG4gICAgZm9udC1zaXplOiAyLjU2MjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDMuNnJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICBoMiB7XG4gICAgbWFyZ2luLXRvcDogMi40cmVtO1xuICAgIHBhZGRpbmctdG9wOiAwcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTtcbiAgfVxufVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMS40NjE1Mzg0NjE1cmVtO1xuICBsaW5lLWhlaWdodDogMi4xcmVtO1xuICBtYXJnaW4tdG9wOiAyLjFyZW07XG4gIHBhZGRpbmctdG9wOiAwcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi4xcmVtO1xuICBjb2xvcjogIzFhMjQ1Yztcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuNHJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICBoMyB7XG4gICAgbWFyZ2luLXRvcDogMi40cmVtO1xuICAgIHBhZGRpbmctdG9wOiAwcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTtcbiAgfVxufVxuXG5oMy5ncmVlbiB7XG4gIGNvbG9yOiAjN2ViZTM4O1xufVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogMS4zMDc2OTIzMDc3cmVtO1xuICBsaW5lLWhlaWdodDogMi4xcmVtO1xuICBtYXJnaW4tdG9wOiAyLjFyZW07XG4gIHBhZGRpbmctdG9wOiAwcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi4xcmVtO1xuICBjb2xvcjogIzFhMjQ1Yztcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgaDQge1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuNHJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICBoNCB7XG4gICAgbWFyZ2luLXRvcDogMi40cmVtO1xuICAgIHBhZGRpbmctdG9wOiAwcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTtcbiAgfVxufVxuXG5oNSB7XG4gIGZvbnQtc2l6ZTogMS4xNTM4NDYxNTM4cmVtO1xuICBsaW5lLWhlaWdodDogMi4xcmVtO1xuICBtYXJnaW4tdG9wOiAyLjFyZW07XG4gIHBhZGRpbmctdG9wOiAwcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi4xcmVtO1xuICBjb2xvcjogIzFhMjQ1Yztcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgaDUge1xuICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjRyZW07XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgaDUge1xuICAgIG1hcmdpbi10b3A6IDIuNHJlbTtcbiAgICBwYWRkaW5nLXRvcDogMHJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMHJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07XG4gIH1cbn1cblxuaDYge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjFyZW07XG4gIG1hcmdpbi10b3A6IDIuMXJlbTtcbiAgcGFkZGluZy10b3A6IDByZW07XG4gIHBhZGRpbmctYm90dG9tOiAwcmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjFyZW07XG4gIGNvbG9yOiAjMWEyNDVjO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICBoNiB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjRyZW07XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgaDYge1xuICAgIG1hcmdpbi10b3A6IDIuNHJlbTtcbiAgICBwYWRkaW5nLXRvcDogMHJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMHJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07XG4gIH1cbn1cblxuaDYuc21hbGwge1xuICBmb250LXNpemU6IDAuNzY5MjMwNzY5MnJlbTtcbiAgbGluZS1oZWlnaHQ6IDIuMXJlbTtcbiAgbWFyZ2luLXRvcDogMS4wNXJlbTtcbiAgcGFkZGluZy10b3A6IDByZW07XG4gIHBhZGRpbmctYm90dG9tOiAwcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjA1cmVtO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICBoNi5zbWFsbCB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjJyZW07XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgaDYuc21hbGwge1xuICAgIG1hcmdpbi10b3A6IDEuMnJlbTtcbiAgICBwYWRkaW5nLXRvcDogMHJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMHJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjJyZW07XG4gIH1cbn1cblxuaDYuZ3JlZW4ge1xuICBjb2xvcjogIzdlYmUzODtcbn1cblxuOjotbW96LXNlbGVjdGlvbiB7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzdlYmUzODtcbn1cblxuOjpzZWxlY3Rpb24ge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzdlYmUzODtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbmE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjNzNhZjMyO1xufVxuXG5hLFxuYVtocmVmXj10ZWxdIHtcbiAgY29sb3I6ICM3ZWJlMzg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UgLjE1cztcbn1cblxudWwsXG5vbCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIHVsLFxuICBvbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cbnVsIGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDJlbTtcbn1cblxudWwgbGk6YmVmb3JlIHtcbiAgZm9udC1zaXplOiAzMnB4O1xuICBjb250ZW50OiAn4oCiJztcbiAgY29sb3I6ICM3ZWJlMzg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTRweDtcbiAgbGVmdDogMDtcbn1cblxub2wge1xuICBjb3VudGVyLXJlc2V0OiBsaXN0O1xufVxuXG5vbCA+IGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDJlbTtcbn1cblxub2wgPiBsaTpiZWZvcmUge1xuICBjb3VudGVyLWluY3JlbWVudDogbGlzdDtcbiAgY29udGVudDogY291bnRlcihsaXN0KSBcIi5cIjtcbiAgY29sb3I6ICM3ZWJlMzg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xufVxuXG5vbCA+IGxpOm50aC1jaGlsZCgxMG4pIH4gbGk6YmVmb3JlLCBvbCA+IGxpOm50aC1jaGlsZCgxMG4pOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IGNvdW50ZXIobGlzdCk7XG59XG5cbm9sID4gbGkgcCB7XG4gIG1hcmdpbjogMDtcbn1cblxudWwgb2wsXG5vbCB1bCB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuXG51bC5iZW5lZml0c19fbGlzdCBsaTpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2Fzc2V0cy9pbWFnZXMvY2hlY2stZ3JvZW4uc3ZnXCIpO1xuICB0b3A6IDAuOXJlbTtcbiAgaGVpZ2h0OiAxMHB4O1xuICB3aWR0aDogMTRweDtcbn1cblxuaW1nIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbmltZy5yb3VuZGVkIHtcbiAgYm9yZGVyLXJhZGl1czogMjAwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjbGVhcjogYm90aDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbmhyIHtcbiAgYm9yZGVyOiAwO1xuICBoZWlnaHQ6IDFweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZmUwZTU7XG4gIG1hcmdpbi10b3A6IDEuMDVyZW07XG4gIHBhZGRpbmctdG9wOiAwcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS4wNXJlbTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgaHIge1xuICAgIG1hcmdpbi10b3A6IDEuMnJlbTtcbiAgICBwYWRkaW5nLXRvcDogMHJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMHJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjJyZW07XG4gIH1cbn1cblxuaW5wdXQ6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4uaW5wdXQtLXRleHQsXG4uaW5wdXQtLXRleHQ6dmFsaWQge1xuICBmb250LXNpemU6IDAuOTIzMDc2OTIzMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDIuMXJlbTtcbiAgaGVpZ2h0OiAyN3B4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5pbnB1dC0tdGV4dCxcbiAgLmlucHV0LS10ZXh0OnZhbGlkIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjJyZW07XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLmlucHV0LS10ZXh0LFxuICAuaW5wdXQtLXRleHQ6dmFsaWQge1xuICAgIGhlaWdodDogMzhweDtcbiAgfVxufVxuXG4uaW5wdXQtLWVycm9yLFxuLmlucHV0LS10ZXh0OmludmFsaWQge1xuICBib3JkZXI6IDJweCBzb2xpZCAjYmUzODM4O1xufVxuXG5pbnB1dCxcbnRleHRhcmVhIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgcGFkZGluZzogMjdweCAxNHB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAjZGZlMGU1O1xuICB0cmFuc2l0aW9uOiAuMnMgYWxsO1xuICBjb2xvcjogIzViNjI3Nztcbn1cblxuaW5wdXQ6Zm9jdXMsXG50ZXh0YXJlYTpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzE1MWU0ZDtcbn1cblxudGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmJ1dHRvbl9faW5wdXQtLWNoZWNrYm94IHtcbiAgcGFkZGluZzogMDtcbn1cblxuLmJ1dHRvbl9faW5wdXQtLWNoZWNrYm94IGxhYmVsIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmJ1dHRvbl9faW5wdXQtLWNoZWNrYm94IGxhYmVsIHNwYW4ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5idXR0b25fX2lucHV0LS1jaGVja2JveCBsYWJlbCBpbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMjBweDtcbn1cblxuLmJ1dHRvbl9faW5wdXQtLWNoZWNrYm94IGxhYmVsIGlucHV0OmNoZWNrZWQgKyBzcGFuIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbmxhYmVsIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMi4xcmVtO1xuICBjb2xvcjogIzFhMjQ1YztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICBsYWJlbCB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjRyZW07XG4gIH1cbn1cblxuLmNyZWRpdHNOaWljZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY29sb3I6ICM4MjgyODI7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxldHRlci1zcGFjaW5nOiAuNTNweDtcbiAgcGFkZGluZzogMjBweCAzMHB4O1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jcmVkaXRzTmlpY2VfX2xlZnQge1xuICBmbG9hdDogbGVmdDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogIzgyODI4MjtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNDAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5jcmVkaXRzTmlpY2VfX2xlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2lkdGg6IDQ5JTtcbiAgICBtYXJnaW4tcmlnaHQ6IDIlO1xuICB9XG59XG5cbi5jcmVkaXRzTmlpY2VfX3JpZ2h0IHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZsb2F0OiByaWdodDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLmNyZWRpdHNOaWljZV9fcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHdpZHRoOiA0OSU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbi5jcmVkaXRzTmlpY2VfX3JpZ2h0IGltZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNyZWRpdHNOaWljZV9fcmlnaHQgYSB7XG4gIGZvbnQtZmFtaWx5OiBPcGVuIFNhbnM7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uY3JlZGl0c05paWNlIC5uaWljZSB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbm5hdiB1bCB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxubmF2IHVsLmFjdGl2ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5uYXYgdWwuYWN0aXZlIHVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbm5hdiBsaSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG59XG5cbm5hdiBsaTpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgbmF2IHtcbiAgICBoZWlnaHQ6IDE2MHB4O1xuICB9XG59XG5cbi5uYXYgLmJhc2VOYXYge1xuICBoZWlnaHQ6IDU2cHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5uYXYgLmJhc2VOYXYge1xuICAgIGhlaWdodDogODBweDtcbiAgfVxufVxuXG4ubmF2IC5iYXNlTmF2OmJlZm9yZSB7XG4gIGhlaWdodDogNTZweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLm5hdiAuYmFzZU5hdjpiZWZvcmUge1xuICAgIGhlaWdodDogODBweDtcbiAgfVxufVxuXG4ubmF2IC5qcy1zaXRlLW5hdi5hY3RpdmUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBoZWlnaHQ6IDA7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWZhZmY7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAzNXB4KSB7XG4gIC5uYXYgLmpzLXNpdGUtbmF2LmFjdGl2ZSB7XG4gICAgcGFkZGluZy1sZWZ0OiA1NXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDU1cHg7XG4gIH1cbn1cblxuLm5hdiAuanMtc2l0ZS1uYXYuYWN0aXZlIGEge1xuICBjb2xvcjogIzFhMjQ1YztcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMi4xcmVtO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5uYXYgLmpzLXNpdGUtbmF2LmFjdGl2ZSBhIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuNHJlbTtcbiAgfVxufVxuXG4ubmF2IC5qcy1zaXRlLW5hdi5hY3RpdmUgbGkge1xuICBsaW5lLWhlaWdodDogMi41O1xuICBtYXJnaW4tdG9wOiAwcmVtO1xuICBwYWRkaW5nLXRvcDogMS4wNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuMDVyZW07XG4gIG1hcmdpbi1ib3R0b206IDByZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgcmdiYSgyNDksIDI1MiwgMjUzLCAwLjEyKTtcbn1cblxuLm5hdiAuanMtc2l0ZS1uYXYuYWN0aXZlIGxpIGltZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5uYXYgLmpzLXNpdGUtbmF2LmFjdGl2ZSBsaSB7XG4gICAgbWFyZ2luLXRvcDogMHJlbTtcbiAgICBwYWRkaW5nLXRvcDogMS4ycmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjJyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMHJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAubmF2IC5qcy1zaXRlLW5hdi5hY3RpdmUgbGkuaGFzLWNoaWxkcmVuLmxldmVsMSB7XG4gICAgcG9zaXRpb246IGluaXRpYWw7XG4gIH1cbn1cblxuLm5hdiAuanMtc2l0ZS1uYXYuYWN0aXZlIGxpLmhhcy1jaGlsZHJlbjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMThweDtcbiAgcmlnaHQ6IDEwJTtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2Fzc2V0cy9pbWFnZXMvcGx1cy1pY29uLWJsYXV3LnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgei1pbmRleDogOTk5OTtcbn1cblxuLm5hdiAuanMtc2l0ZS1uYXYuYWN0aXZlIGxpLmhhcy1jaGlsZHJlbiB1bCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IDByZW07XG4gIHBhZGRpbmctdG9wOiAwcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMHJlbTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLm5hdiAuanMtc2l0ZS1uYXYuYWN0aXZlIGxpLmhhcy1jaGlsZHJlbiB1bCB7XG4gICAgbWFyZ2luLXRvcDogMHJlbTtcbiAgICBwYWRkaW5nLXRvcDogMHJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMHJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwcmVtO1xuICB9XG59XG5cbi5uYXYgLmpzLXNpdGUtbmF2LmFjdGl2ZSBsaS5oYXMtY2hpbGRyZW4gdWwgYSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDIuMXJlbTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLm5hdiAuanMtc2l0ZS1uYXYuYWN0aXZlIGxpLmhhcy1jaGlsZHJlbiB1bCBhIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuNHJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAubmF2IC5qcy1zaXRlLW5hdi5hY3RpdmUgbGkuaGFzLWNoaWxkcmVuIHVsIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5uYXYgLmpzLXNpdGUtbmF2LmFjdGl2ZSBsaS5oYXMtY2hpbGRyZW4gdWwgbGkge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5uYXYgLmpzLXNpdGUtbmF2LmFjdGl2ZSBsaS5oYXMtY2hpbGRyZW4gdWwgbGk6YWZ0ZXIge1xuICBjb250ZW50OiBub25lO1xufVxuXG4ubmF2IC5qcy1zaXRlLW5hdi5hY3RpdmUgbGkuaGFzLWNoaWxkcmVuLmFjdGl2ZSB1bCB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cblxuLm5hdiAuanMtc2l0ZS1uYXYuYWN0aXZlIGxpLmhhcy1jaGlsZHJlbi5hY3RpdmU6YWZ0ZXIge1xuICB0b3A6IDI1cHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9hc3NldHMvaW1hZ2VzL21pbi1pY29uLWJsYXV3LnN2Z1wiKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLm5hdiAuanMtc2l0ZS1uYXYuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgIGhlaWdodDogaW5oZXJpdDtcbiAgfVxuICAubmF2IC5qcy1zaXRlLW5hdi5hY3RpdmUgbGkge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn1cblxuLmJhc2VOYXYge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5iYXNlTmF2OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBsZWZ0OiAtMTVweDtcbiAgcmlnaHQ6IC0xNXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IC0xO1xuICBoZWlnaHQ6IDgwcHg7XG4gIGJvdHRvbTogMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZWUwZTk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWZhZmY7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5iYXNlTmF2OmJlZm9yZSB7XG4gICAgbGVmdDogLTEwMCU7XG4gICAgcmlnaHQ6IC0xMDAlO1xuICB9XG59XG5cbi5uYXZfX2l0ZW0ge1xuICBmb250LXNpemU6IDAuOTIzMDc2OTIzMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDIuMXJlbTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5uYXZfX2l0ZW0ge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMnJlbTtcbiAgfVxufVxuXG4ubmF2X19pdGVtIGEge1xuICBjb2xvcjogIzFhMjQ1YztcbiAgZm9udC1zaXplOiAwLjkyMzA3NjkyMzFyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjFyZW07XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5uYXZfX2l0ZW0gYSB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4ycmVtO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5uYXZfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjJweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICB9XG4gIC5uYXZfX2l0ZW0gYSB7XG4gICAgY29sb3I6ICMxYTI0NWM7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLm5hdiAubGV2ZWwxIHVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICAubmF2IC5sZXZlbDE6aG92ZXIgdWwge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICAgIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgfVxuICAubmF2IC5qcy1zaXRlLW5hdi5hY3RpdmUge1xuICAgIG92ZXJmbG93OiBpbmhlcml0O1xuICB9XG4gIC5uYXYgbGkubGV2ZWwyLFxuICAubmF2IGxpLmxldmVsMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDk5OTk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLm5hdiBsaS5oYXMtY2hpbGRyZW46YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAubmF2IGxpLmxldmVsMiB7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICB9XG4gIC5uYXYgbGkubGV2ZWwyID4gYSB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50O1xuICB9XG4gIC5uYXYgbGkubGV2ZWwzIGEge1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIH1cbiAgLm5hdiBsaS5sZXZlbDEgaW1nIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAwLjhzO1xuICB9XG4gIC5uYXYgbGkubGV2ZWwxOmhvdmVyIGltZyB7XG4gICAgLW1vei10cmFuc2Zvcm06IHNjYWxlWSgtMSk7XG4gICAgLW8tdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgICBmaWx0ZXI6IEZsaXBWO1xuICAgIC1tcy1maWx0ZXI6IFwiRmxpcFZcIjtcbiAgfVxuICAubmF2IC5sZXZlbDEgdWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiA5OTk5OTtcbiAgfVxuICAubmF2IC5sZXZlbDEgdWwgbGkge1xuICAgIHBhZGRpbmc6IDVweCAwO1xuICB9XG4gIC5uYXYgLmxldmVsMSA+IHVsIHtcbiAgICBwYWRkaW5nLXRvcDogNDBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgbWFyZ2luLWxlZnQ6IC0zMHB4O1xuICB9XG4gIC5uYXYgLmxldmVsMSA+IHVsIGxpIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIC5uYXYgLmxldmVsMSA+IHVsOmJlZm9yZSB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkZmUwZTU7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGZlMGU1O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWZhZmY7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAyMnB4O1xuICAgIGJvdHRvbTogMDtcbiAgfVxuICAubmF2IC5sZXZlbDE6aG92ZXIgPiB1bCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICAubmF2IC5sZXZlbDE6aG92ZXIgPiB1bCBsaTpudGgtY2hpbGQoMSkge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMzJzO1xuICB9XG4gIC5uYXYgLmxldmVsMTpob3ZlciA+IHVsIGxpOm50aC1jaGlsZCgyKSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMC4zOXM7XG4gIH1cbiAgLm5hdiAubGV2ZWwxOmhvdmVyID4gdWwgbGk6bnRoLWNoaWxkKDMpIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjQ2cztcbiAgfVxuICAubmF2IC5sZXZlbDE6aG92ZXIgPiB1bCBsaTpudGgtY2hpbGQoNCkge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuNTNzO1xuICB9XG4gIC5uYXYgLmxldmVsMTpob3ZlciA+IHVsIGxpOm50aC1jaGlsZCg1KSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMC42cztcbiAgfVxuICAubmF2IC5sZXZlbDE6aG92ZXIgPiB1bCBsaTpudGgtY2hpbGQoNikge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuNjdzO1xuICB9XG4gIC5uYXYgLmxldmVsMTpob3ZlciA+IHVsIGxpOm50aC1jaGlsZCg3KSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMC43NHM7XG4gIH1cbiAgLm5hdiAubGV2ZWwxOmhvdmVyID4gdWwgbGk6bnRoLWNoaWxkKDgpIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjgxcztcbiAgfVxuICAubmF2IC5sZXZlbDE6aG92ZXIgPiB1bCBsaTpudGgtY2hpbGQoOSkge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuODhzO1xuICB9XG4gIC5uYXYgLmxldmVsMTpob3ZlciA+IHVsIGxpOm50aC1jaGlsZCgxMCkge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuOTVzO1xuICB9XG4gIC5uYXYgLmxldmVsMTpob3ZlciA+IHVsIGxpOm50aC1jaGlsZCgxMSkge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDEuMDJzO1xuICB9XG4gIC5uYXYgLmxldmVsMTpob3ZlciA+IHVsIGxpOm50aC1jaGlsZCgxMikge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDEuMDlzO1xuICB9XG4gIC5uYXYgLmxldmVsMTpob3ZlciA+IHVsIGxpOm50aC1jaGlsZCgxMykge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDEuMTZzO1xuICB9XG4gIC5uYXYgLmxldmVsMTpob3ZlciA+IHVsIGxpOm50aC1jaGlsZCgxNCkge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDEuMjNzO1xuICB9XG4gIC5uYXYgLmxldmVsMTpob3ZlciA+IHVsIGxpOm50aC1jaGlsZCgxNSkge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDEuM3M7XG4gIH1cbiAgLm5hdiAubGV2ZWwxOmhvdmVyID4gdWwgbGk6bnRoLWNoaWxkKDE2KSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMS4zN3M7XG4gIH1cbiAgLm5hdiAubGV2ZWwxOmhvdmVyID4gdWwgbGk6bnRoLWNoaWxkKDE3KSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMS40NHM7XG4gIH1cbiAgLm5hdiAubGV2ZWwxOmhvdmVyID4gdWwgbGk6bnRoLWNoaWxkKDE4KSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMS41MXM7XG4gIH1cbiAgLm5hdiAubGV2ZWwxOmhvdmVyID4gdWwgbGk6bnRoLWNoaWxkKDE5KSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMS41OHM7XG4gIH1cbiAgLm5hdiAubGV2ZWwxOmhvdmVyID4gdWwgbGkge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UgMC40cztcbiAgfVxuICAubmF2IC5sZXZlbDE6aG92ZXIgPiB1bDpiZWZvcmUge1xuICAgIG1heC1oZWlnaHQ6IDMzMHB4O1xuICAgIGhlaWdodDogMzMwcHg7XG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IGVhc2UgMC41cztcbiAgfVxuICAubmF2IC5sZXZlbDEuc2ltcGxlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgfVxuICAubmF2IC5sZXZlbDEuc2ltcGxlOmhvdmVyID4gYSB7XG4gICAgY29sb3I6ICM3ZWJlMzg7XG4gIH1cbiAgLm5hdiAubGV2ZWwxLnNpbXBsZSA+IHVsOmJlZm9yZSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1heC13aWR0aDogMzQwcHg7XG4gIH1cbiAgLm5hdiAubGV2ZWwxLnNpbXBsZSAubGV2ZWwyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAubmF2IC5sZXZlbDEuc2ltcGxlIC5sZXZlbDIgYSB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5qcy1iYXNlLW5hdi1maXhlZCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBoZWlnaHQ6IDgwcHg7XG4gIHotaW5kZXg6IDk5OTtcbiAgbWF4LXdpZHRoOiAxMjM4cHg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4ubG9nby1wbGFjZWhvbGRlciB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cblxuLmxvZ28tcGxhY2Vob2xkZXIgaW1nIHtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICBtYXgtd2lkdGg6IDEwMHB4O1xufVxuXG4uc2l0ZXNCb3JkZXJUb3Age1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2RmZTBlNTtcbn1cblxuLnNpdGVzIHtcbiAgaGVpZ2h0OiA4MXB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5zaXRlcyB7XG4gICAgaGVpZ2h0OiA1N3B4O1xuICB9XG59XG5cbi5zaXRlcyBpbWcge1xuICBtYXgtd2lkdGg6IDcwJTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLnNpdGVzIHtcbiAgICBoZWlnaHQ6IGluaXRpYWw7XG4gIH1cbn1cblxuLnNpdGVzX19zaXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiA1NnB4O1xuICBtYXJnaW46IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5zaXRlc19fc2l0ZS5hY3RpdmUge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xufVxuXG4uc2l0ZXNfX3NpdGUudmlzaWJsZSB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC5zaXRlc19fc2l0ZSB7XG4gICAgaGVpZ2h0OiA4MHB4O1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWZhZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMXM7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGZlMGU1O1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgcGFkZGluZzogMTRweCAxNHB4O1xuICB9XG4gIC5zaXRlc19fc2l0ZSBpbWcge1xuICAgIG1heC13aWR0aDogOTBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzJlbSkge1xuICAuc2l0ZXNfX3NpdGUge1xuICAgIHBhZGRpbmc6IDE4cHggMTRweDtcbiAgfVxuICAuc2l0ZXNfX3NpdGUgaW1nIHtcbiAgICBtYXgtd2lkdGg6IGluaGVyaXQ7XG4gIH1cbn1cblxuLnNpdGVzX19zaXRlIGEge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnNpdGVzX19zaXRlIGltZyB7XG4gIC13ZWJraXQtZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7XG4gIGZpbHRlcjogZ3JheXNjYWxlKDEwMCUpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLnNpdGVzX19zaXRlOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkZmUwZTU7XG4gIH1cbn1cblxuLnNpdGVzX19zaXRlOmhvdmVyLCAuc2l0ZXNfX3NpdGUuYWN0aXZlIHtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC5zaXRlc19fc2l0ZTpob3ZlciwgLnNpdGVzX19zaXRlLmFjdGl2ZSB7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGVlMGU5O1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWZhZmY7XG4gIH1cbn1cblxuLnNpdGVzX19zaXRlOmhvdmVyIGltZywgLnNpdGVzX19zaXRlLmFjdGl2ZSBpbWcge1xuICAtd2Via2l0LWZpbHRlcjogZ3JheXNjYWxlKDApO1xuICBmaWx0ZXI6IGdyYXlzY2FsZSgwKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLnNpdGVzX19zaXRlOmhvdmVyOmJlZm9yZSwgLnNpdGVzX19zaXRlLmFjdGl2ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogLTNweDtcbiAgICBib3R0b206IC0xcHg7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICB6LWluZGV4OiA5O1xuICB9XG4gIC5zaXRlc19fc2l0ZTpob3ZlcjphZnRlciwgLnNpdGVzX19zaXRlLmFjdGl2ZTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAtMnB4O1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWZhZmY7XG4gICAgei1pbmRleDogOTtcbiAgfVxuICAuc2l0ZXNfX3NpdGU6aG92ZXI6bGFzdC1vZi10eXBlLCAuc2l0ZXNfX3NpdGUuYWN0aXZlOmxhc3Qtb2YtdHlwZSB7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2RlZTBlOTtcbiAgfVxufVxuXG4uc2l0ZXNfX3NpdGU6aG92ZXI6YmVmb3JlLCAuc2l0ZXNfX3NpdGUuYWN0aXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IG5vbmU7XG59XG5cbi5zaXRlcyAuYnV0dG9uLS1yaWdodC0tYWJzIHtcbiAgdG9wOiA4cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDE1cHg7XG4gIGhlaWdodDogNDlweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuc2l0ZXMgLmJ1dHRvbi0tcmlnaHQtLWFicyB7XG4gICAgaGVpZ2h0OiA0MXB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC5zaXRlcyAuYnV0dG9uLS1yaWdodC0tYWJzIHtcbiAgICB0b3A6IDE1cHg7XG4gICAgaGVpZ2h0OiBpbml0aWFsO1xuICB9XG59XG5cbi5zaXRlc19fcXVvdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDVlbSkge1xuICAuc2l0ZXNfX3F1b3RlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHBhZGRpbmc6IDIxcHg7XG4gICAgY29sb3I6ICM3ZWJlMzg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxufVxuXG4uc2l0ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm5hdl9fY29udGFjdCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDk5OTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0b3A6IDA7XG59XG5cbi5uYXZfX2NvbnRhY3QubmF2Q29udGFjdC0tbW9iaWxlIHtcbiAgZGlzcGxheTogaW5oZXJpdDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IGluaGVyaXQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLm5hdl9fY29udGFjdCB7XG4gICAgZGlzcGxheTogaW5oZXJpdDtcbiAgfVxuICAubmF2X19jb250YWN0Lm5hdkNvbnRhY3QtLW1vYmlsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ubmF2X19jb250YWN0IC5uYXZDb250YWN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ubmF2X19jb250YWN0IC5uYXZDb250YWN0IHAuc21hbGwge1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBjb2xvcjogIzViNjI3NztcbiAgbWFyZ2luOiAwO1xufVxuXG4ubmF2X19jb250YWN0IC5uYXZDb250YWN0IGg2IHtcbiAgbWFyZ2luLXRvcDogMHJlbTtcbiAgcGFkZGluZy10b3A6IDByZW07XG4gIHBhZGRpbmctYm90dG9tOiAwcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwcmVtO1xuICBjb2xvcjogIzdlYmUzODtcbiAgbGluZS1oZWlnaHQ6IDFyZW07XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5uYXZfX2NvbnRhY3QgLm5hdkNvbnRhY3QgaDYge1xuICAgIG1hcmdpbi10b3A6IDByZW07XG4gICAgcGFkZGluZy10b3A6IDByZW07XG4gICAgcGFkZGluZy1ib3R0b206IDByZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMHJlbTtcbiAgfVxufVxuXG4ubmF2X19jb250YWN0IC5uYXZDb250YWN0IGg2LnNtYWxsIHtcbiAgY29sb3I6ICMxYTI0NWM7XG59XG5cbi5uYXZfX2NvbnRhY3QgLm5hdkNvbnRhY3RfX2xlZnQge1xuICB3aWR0aDogMzBweDtcbn1cblxuLm5hdl9fY29udGFjdCAubmF2Q29udGFjdF9faXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAgMTZweDtcbn1cblxuLm5hdl9fY29udGFjdCAubmF2Q29udGFjdF9faXRlbS0tc21hbGwgLm5hdkNvbnRhY3RfX3JpZ2h0IHtcbiAgd2lkdGg6IDMwcHg7XG59XG5cbi5uYXZDb250YWN0LS1tb2JpbGUge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLm9wZW5pbmdzdGlqZGVuIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLm9wZW5pbmdzdGlqZGVuIGg2IHtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjJyZW07XG59XG5cbi5uYXZDb250YWN0VG9nZ2xlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFhMjQ1YztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBwYWRkaW5nOiA2cHggMTVweDtcbiAgd2lkdGg6IDEwN3B4O1xufVxuXG4ubmF2Q29udGFjdFRvZ2dsZSBzcGFuIHtcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG59XG5cbi5uYXZDb250YWN0VG9nZ2xlLS1jbG9zZWQge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm5hdkNvbnRhY3RUb2dnbGUtLW9wZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubmF2Q29udGFjdFRvZ2dsZS5hY3RpdmUgLm5hdkNvbnRhY3RUb2dnbGUtLWNsb3NlZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5uYXZDb250YWN0VG9nZ2xlLmFjdGl2ZSAubmF2Q29udGFjdFRvZ2dsZS0tb3BlbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubmF2Q29udGFjdFdyYXBwZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxNnB4IDA7XG4gIG1pbi13aWR0aDogMjQwcHg7XG4gIGJvcmRlci10b3A6ICNkYWRjZTUgMXB4IHNvbGlkO1xufVxuXG4ubmF2Q29udGFjdFdyYXBwZXIuYWN0aXZlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDU2cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTE2cHg7XG4gIHRvcDogMDtcbiAgYmFja2dyb3VuZDogI2Y5ZmFmZjtcbn1cblxuLm5hdkNvbnRhY3RXcmFwcGVyIC5uYXZDb250YWN0X19pdGVtIC5uYXZDb250YWN0X19yaWdodCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTZweDtcbiAgYm9yZGVyLWJvdHRvbTogI2RhZGNlNSAxcHggc29saWQ7XG59XG5cbi5uYXZDb250YWN0V3JhcHBlciAubmF2Q29udGFjdF9faXRlbTpsYXN0LWNoaWxkIC5uYXZDb250YWN0X19yaWdodCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBib3JkZXItYm90dG9tOiAwO1xufVxuXG4ubmF2Q29udGFjdEJnIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogOTk7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbn1cblxuLm5hdkNvbnRhY3RCZy5hY3RpdmUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLnRvcE5hdiB7XG4gICAgbWFyZ2luLXRvcDogMC40MnJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDVlbSkgYW5kIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLnRvcE5hdiB7XG4gICAgbWFyZ2luLXRvcDogMC40OHJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDVlbSkge1xuICAudG9wTmF2X19sb2dvIHtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEzLjUwMDQwNDIwMzglO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMy43OTk1MTQ5NTU0JTtcbiAgfVxuICAudG9wTmF2X19sb2dvIGltZy5pbmFjdGl2ZSB7XG4gICAgLXdlYmtpdC1maWx0ZXI6IGdyYXlzY2FsZSgxMDAlKTtcbiAgICBmaWx0ZXI6IGdyYXlzY2FsZSgxMDAlKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAwLjVzO1xuICB9XG4gIC50b3BOYXZfX2xvZ28gaW1nLmluYWN0aXZlOmhvdmVyIHtcbiAgICAtd2Via2l0LWZpbHRlcjogZ3JheXNjYWxlKDApO1xuICAgIGZpbHRlcjogZ3JheXNjYWxlKDApO1xuICB9XG4gIC50b3BOYXZfX2Rlc2NyaXB0aW9uIHtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDgyLjcwMDA4MDg0MDglO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuLnRvcE5hdl9fbW9iaWxlRGVzYyBoNiB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udG9wTmF2X19tb2JpbGVEZXNjIGg2IGEge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC50b3BOYXYtLWluYWN0aXZlIHtcbiAgICBtYXJnaW4tdG9wOiAycHg7XG4gIH1cbiAgLnRvcE5hdi0taW5hY3RpdmUgaDYge1xuICAgIG1hcmdpbi10b3A6IDExcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICB9XG4gIC50b3BOYXYtLWluYWN0aXZlIGltZyB7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgfVxufVxuXG4uZml4ZWQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG59XG5cbi5waW4tdCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICByaWdodDogMDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi50cmFuc2l0aW9uLXVwIHtcbiAgbWFyZ2luLXRvcDogLTU4cHg7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IC4zcyBhbGw7XG59XG5cbi50cmFuc2l0aW9uLWRvd24ge1xuICBtYXJnaW4tdG9wOiAwO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiAuM3MgYWxsO1xufVxuXG4udG9wYmFyRml4ZWQge1xuICB6LWluZGV4OiA5OTk5O1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA3Ny4zMTI0OTk5OTg2ZW07XG59XG5cbi50b3BiYXJGaXhlZC5maXhlZCAuc2l0ZXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG4udG9wYmFyRml4ZWQuZml4ZWQgLnNpdGVzOmJlZm9yZSB7XG4gIGxlZnQ6IC0xMDAlO1xuICByaWdodDogLTEwMCU7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IC0xO1xuICBoZWlnaHQ6IDgxcHg7XG4gIHRvcDogLTFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuLmNvb2tpZW5vdGljZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBtYXgtd2lkdGg6IDEyMzdweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDQwcHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGNvbG9yOiAjNWI2Mjc3O1xuICBib3JkZXI6IDJweCBzb2xpZCAjN2ViZTM4O1xuICB6LWluZGV4OiA5OTk5OTk5O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5jb29raWVub3RpY2Uge1xuICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgfVxufVxuXG4uY29va2llbm90aWNlLS10b3Age1xuICB0b3A6IDA7XG59XG5cbi5jb29raWVub3RpY2UtLWJvdHRvbSB7XG4gIGJvdHRvbTogMDtcbn1cblxuLmNvb2tpZW5vdGljZSBzdHJvbmcge1xuICBjb2xvcjogIzViNjI3NztcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uY29va2llbm90aWNlIHAgYSB7XG4gIGNvbG9yOiAjN2ViZTM4O1xufVxuXG4uY29va2llbm90aWNlIHAsXG4uY29va2llbm90aWNlIC5jb29raWVub3RpY2VfX2J1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogIzViNjI3NztcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuY29va2llbm90aWNlIHAsXG4gIC5jb29raWVub3RpY2UgLmNvb2tpZW5vdGljZV9fYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gIH1cbn1cblxuLmNvb2tpZW5vdGljZSAuY29va2llbm90aWNlX19idXR0b24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuLmNvb2tpZW5vdGljZSAuY29va2llbm90aWNlX19idXR0b24tLWRlY2xpbmUge1xuICBjb2xvcjogIzhmOTVhOTtcbn1cblxuLmNvb2tpZW5vdGljZSAuY29va2llbm90aWNlX19idXR0b24tLWFjY2VwdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3ZWJlMzg7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXdlaWdodDogNzAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDEwcHggMzBweDtcbn1cblxuLmNvb2tpZW5vdGljZSAuY29va2llbm90aWNlX19idXR0b24tLWRlY2xpbmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogIzViNjI3NztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAxMHB4IDMwcHggMTBweCAwO1xufVxuXG4uY29va2llbm90aWNlLmhpZGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubmF2X19oYW1idXJnZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMXB4O1xuICB6LWluZGV4OiA5OTk7XG4gIHJpZ2h0OiAtMTVweDtcbiAgd2lkdGg6IDkwcHg7XG4gIGhlaWdodDogNTZweDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIHRyYW5zaXRpb246IC41cyBlYXNlLWluLW91dDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFhMjQ1YztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLm5hdl9faGFtYnVyZ2VyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5uYXZfX2hhbWJ1cmdlcjpiZWZvcmUge1xuICBjb250ZW50OiAnTWVudSc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAyMXB4O1xuICBsZWZ0OiAxNXB4O1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBsaW5lLWhlaWdodDogMTdweDtcbn1cblxuLm5hdl9faGFtYnVyZ2VyLm9wZW46YmVmb3JlIHtcbiAgY29udGVudDogJ1NsdWl0Jztcbn1cblxuLm5hdl9faGFtYnVyZ2VyIHNwYW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDJweDtcbiAgd2lkdGg6IDE2cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDlweDtcbiAgb3BhY2l0eTogMTtcbiAgcmlnaHQ6IDI1cHg7XG4gIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB0cmFuc2l0aW9uOiAuMnMgZWFzZS1pbi1vdXQ7XG59XG5cbi5uYXZfX2hhbWJ1cmdlciBzcGFuOm50aC1jaGlsZCgxKSB7XG4gIHRvcDogMjJweDtcbn1cblxuLm5hdl9faGFtYnVyZ2VyIHNwYW46bnRoLWNoaWxkKDIpLCAubmF2X19oYW1idXJnZXIgc3BhbjpudGgtY2hpbGQoMykge1xuICB3aWR0aDogMjBweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMnB4O1xuICB0b3A6IDI4cHg7XG59XG5cbi5uYXZfX2hhbWJ1cmdlciBzcGFuOm50aC1jaGlsZCg0KSB7XG4gIHRvcDogMzRweDtcbn1cblxuLm5hdl9faGFtYnVyZ2VyLm9wZW4gc3BhbjpudGgtY2hpbGQoMSkge1xuICBvcGFjaXR5OiAwO1xufVxuXG4ubmF2X19oYW1idXJnZXIub3BlbiBzcGFuOm50aC1jaGlsZCgyKSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cblxuLm5hdl9faGFtYnVyZ2VyLm9wZW4gc3BhbjpudGgtY2hpbGQoMykge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xufVxuXG4ubmF2X19oYW1idXJnZXIub3BlbiBzcGFuOm50aC1jaGlsZCg0KSB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5iYXIge1xuICBwYWRkaW5nOiAxNHB4IDI3cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiA2LjNyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZmUwZTU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5iYXIge1xuICAgIG1hcmdpbi10b3A6IDcuMnJlbTtcbiAgfVxufVxuXG4uYmFyIGltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAuYmFyIHtcbiAgICBoZWlnaHQ6IDI2MHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC5iYXIge1xuICAgIGhlaWdodDogMjMwcHg7XG4gICAgcGFkZGluZzogMTRweCA0MXB4O1xuICB9XG4gIC5iYXIgLmJ1dHRvbiwgLmJhciAubWF0cml4X19pdGVtIC5mcmVlZm9ybS1yb3cgYnV0dG9uLCAubWF0cml4X19pdGVtIC5mcmVlZm9ybS1yb3cgLmJhciBidXR0b24sIC5iYXIgLmJ1dHRvbl9faW5wdXQtLWNoZWNrYm94IGxhYmVsIHNwYW4sIC5idXR0b25fX2lucHV0LS1jaGVja2JveCBsYWJlbCAuYmFyIHNwYW4sIC5iYXIgLmNvbnRhY3QgLnRhYl9fY29udGVudCBidXR0b24sIC5jb250YWN0IC50YWJfX2NvbnRlbnQgLmJhciBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMDVyZW07XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIGFuZCAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5iYXIgLmJ1dHRvbiwgLmJhciAubWF0cml4X19pdGVtIC5mcmVlZm9ybS1yb3cgYnV0dG9uLCAubWF0cml4X19pdGVtIC5mcmVlZm9ybS1yb3cgLmJhciBidXR0b24sIC5iYXIgLmJ1dHRvbl9faW5wdXQtLWNoZWNrYm94IGxhYmVsIHNwYW4sIC5idXR0b25fX2lucHV0LS1jaGVja2JveCBsYWJlbCAuYmFyIHNwYW4sIC5iYXIgLmNvbnRhY3QgLnRhYl9fY29udGVudCBidXR0b24sIC5jb250YWN0IC50YWJfX2NvbnRlbnQgLmJhciBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMnJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDVlbSkge1xuICAuYmFyIGgzIHtcbiAgICBtYXgtd2lkdGg6IDE5MHB4O1xuICAgIG1hcmdpbi10b3A6IDByZW07XG4gICAgcGFkZGluZy10b3A6IDByZW07XG4gICAgcGFkZGluZy1ib3R0b206IDByZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMHJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjA1cmVtO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0NWVtKSBhbmQgKG1pbi13aWR0aDogNjBlbSkge1xuICAuYmFyIGgzIHtcbiAgICBtYXJnaW4tdG9wOiAwcmVtO1xuICAgIHBhZGRpbmctdG9wOiAwcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDByZW07XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIGFuZCAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5iYXIgaDMge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMnJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDVlbSkge1xuICAuYmFyIC5jb250YWN0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAuYmFyIC5jb250YWN0IGg2IHtcbiAgICBtYXJnaW4tdG9wOiAwcmVtO1xuICAgIHBhZGRpbmctdG9wOiAwcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDByZW07XG4gICAgY29sb3I6ICM3ZWJlMzg7XG4gICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIGFuZCAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5iYXIgLmNvbnRhY3QgaDYge1xuICAgIG1hcmdpbi10b3A6IDByZW07XG4gICAgcGFkZGluZy10b3A6IDByZW07XG4gICAgcGFkZGluZy1ib3R0b206IDByZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMHJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDVlbSkge1xuICAuYmFyIC5jb250YWN0IGg2LnNtYWxsIHtcbiAgICBjb2xvcjogIzFhMjQ1YztcbiAgfVxuICAuYmFyIC5jb250YWN0X19sZWZ0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMzBweDtcbiAgfVxuICAuYmFyIC5jb250YWN0X19yaWdodCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICB9XG4gIC5iYXIgLmNvbnRhY3RfX2l0ZW0ge1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxuICAuYmFyIC5jb250YWN0X19pdGVtLS1zbWFsbCAubmF2Q29udGFjdF9fcmlnaHQge1xuICAgIHdpZHRoOiAzMHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC5iYXJfX2xlZnQge1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMzAuODAwMzIzMzYzJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDMuNzk5NTE0OTU1NCU7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLmJhcl9fcmlnaHQge1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogNjUuNDAwMTYxNjgxNSU7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuICAuYmFyX19yaWdodCBpbWcge1xuICAgIG1hcmdpbjogLTQ2cHggLTNweDtcbiAgICBtYXgtaGVpZ2h0OiAyNjBweDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEzMDBweCkge1xuICAuYmFyX19yaWdodCBpbWc6bnRoLWxhc3QtY2hpbGQoLW4rMSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgLmJhcl9fcmlnaHQgaW1nOm50aC1sYXN0LWNoaWxkKC1uKzIpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgLmJhcl9fcmlnaHQgaW1nOm50aC1sYXN0LWNoaWxkKC1uKzMpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmJhcl9fcmlnaHQgaW1nOm50aC1sYXN0LWNoaWxkKC1uKzQpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5iYXJfX3JpZ2h0IGltZyB7XG4gICAgbWF4LWhlaWdodDogMjMwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAtMzlweDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5iYXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAuYmFyIGgzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgfVxuICAuYmFyIC5jb250YWN0X19pdGVtIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogNDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG4gIC5iYXIgLmNvbnRhY3RfX2l0ZW0gaDYge1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuXG4uaGVyb0NhcmQge1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbi10b3A6IDByZW07XG4gIHBhZGRpbmctdG9wOiAwcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMHJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyMDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLmhlcm9DYXJkIHtcbiAgICBtYXJnaW4tdG9wOiAwcmVtO1xuICAgIHBhZGRpbmctdG9wOiAwcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDByZW07XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLmhlcm9DYXJkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBtYXJnaW4tdG9wOiAtNC4ycmVtO1xuICAgIHBhZGRpbmctdG9wOiA0LjJyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDQuMnJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjFyZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGZlMGU1O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0NWVtKSBhbmQgKG1pbi13aWR0aDogNjBlbSkge1xuICAuaGVyb0NhcmQge1xuICAgIG1hcmdpbi10b3A6IC00LjhyZW07XG4gICAgcGFkZGluZy10b3A6IDQuOHJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNC44cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTtcbiAgfVxufVxuXG4uaGVyb0NhcmRfX3RleHQge1xuICBtYXJnaW4tdG9wOiAyLjFyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMXJlbTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLmhlcm9DYXJkX190ZXh0IHtcbiAgICBtYXJnaW4tdG9wOiAyLjRyZW07XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLmhlcm9DYXJkX190ZXh0IHtcbiAgICBtYXJnaW4tdG9wOiAwcmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDVlbSkgYW5kIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLmhlcm9DYXJkX190ZXh0IHtcbiAgICBtYXJnaW4tdG9wOiAwcmVtO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5oZXJvQ2FyZF9fdGV4dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMi40cmVtO1xuICB9XG59XG5cbi5oZXJvQ2FyZF9fdGV4dCBoMyxcbi5oZXJvQ2FyZF9fdGV4dCBoNiB7XG4gIG1hcmdpbjogMDtcbn1cblxuLmhlcm9DYXJkX190ZXh0LS10b3Age1xuICBtYXJnaW4tYm90dG9tOiAwcmVtO1xuICBjbGVhcjogYm90aDtcbiAgcGFkZGluZy10b3A6IDI3cHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5oZXJvQ2FyZF9fdGV4dC0tdG9wIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwcmVtO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC5oZXJvQ2FyZF9fdGV4dC0tdG9wIHtcbiAgICBwYWRkaW5nLXRvcDogNTVweDtcbiAgfVxufVxuXG4uaGVyb0NhcmRfX2l0ZW0ge1xuICBmb250LXNpemU6IDAuOTIzMDc2OTIzMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDIuMXJlbTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLmhlcm9DYXJkX19pdGVtIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjJyZW07XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLmhlcm9DYXJkX19pdGVtIHtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2RmZTBlNTtcbiAgICBoZWlnaHQ6IDQ5MHB4O1xuICB9XG4gIC5oZXJvQ2FyZF9faXRlbTpudGgtb2YtdHlwZSg0biArIDQpIHtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICB9XG4gIC5oZXJvQ2FyZF9faXRlbSBwIHtcbiAgICBjb2xvcjogIzViNjI3NztcbiAgICBmb250LXNpemU6IDAuOTIzMDc2OTIzMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMi4xcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAycmVtICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIGFuZCAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5oZXJvQ2FyZF9faXRlbSBwIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjJyZW07XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLmhlcm9DYXJkX19pdGVtIHAgc3Ryb25nIHtcbiAgICBjb2xvcjogIzFhMjQ1YztcbiAgfVxuICAuaGVyb0NhcmRfX2l0ZW0gcCBhIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG59XG5cbi5oZXJvQ2FyZF9faXRlbSBpbWcge1xuICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG59XG5cbi5oZXJvQ2FyZF9faXRlbSBoNiB7XG4gIG1hcmdpbi10b3A6IDByZW07XG4gIHBhZGRpbmctdG9wOiAwcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMHJlbTtcbiAgbWFyZ2luLXRvcDogMS4wNXJlbTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLmhlcm9DYXJkX19pdGVtIGg2IHtcbiAgICBtYXJnaW4tdG9wOiAwcmVtO1xuICAgIHBhZGRpbmctdG9wOiAwcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDByZW07XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLmhlcm9DYXJkX19pdGVtIGg2IHtcbiAgICBtYXJnaW4tdG9wOiAxLjJyZW07XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLmhlcm9DYXJkX19pdGVtLS1sZW5ndGgzIHtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogaW5oZXJpdDtcbiAgfVxuICAuaGVyb0NhcmRfX2l0ZW0tLWxlbmd0aDM6bGFzdC1jaGlsZCB7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICB9XG4gIC5oZXJvQ2FyZF9faXRlbS0tbGVuZ3RoMiB7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiBpbmhlcml0O1xuICB9XG4gIC5oZXJvQ2FyZF9faXRlbS0tbGVuZ3RoMjpsYXN0LWNoaWxkIHtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICB9XG4gIC5oZXJvQ2FyZF9faXRlbS0tc29sbyB7XG4gICAgY29sb3I6ICM5YTk5OTk7XG4gIH1cbn1cblxuLmhlcm9DYXJkX19pdGVtIC5ib3R0b20ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMTBweCAwIDMwcHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5oZXJvQ2FyZF9faXRlbSAuYm90dG9tIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICB9XG59XG5cbi5oZXJvQ2FyZF9faXRlbSAuYm90dG9tIGg2IHtcbiAgY29sb3I6ICM3ZWJlMzg7XG59XG5cbi5oZXJvQ2FyZF9faXRlbSAuYm90dG9tIGg2IGltZyB7XG4gIHBhZGRpbmctbGVmdDogOHB4O1xufVxuXG4uaGVyb0NhcmRfX2NvbGxhcHNlIHtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IDAuNXM7XG59XG5cbi5oZXJvQ2FyZF9fY29sbGFwc2UuYWN0aXZlIC5oZXJvQ2FyZF9fY29sbGFwc2UtLXRpdGxlOmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xufVxuXG4uaGVyb0NhcmRfX2NvbGxhcHNlLmFjdGl2ZSAuaGVyb0NhcmRfX2NvbGxhcHNlLS10aXRsZTpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuXG4uaGVyb0NhcmRfX2NvbGxhcHNlLmFjdGl2ZSAuaGVyb0NhcmRfX2NvbGxhcHNlLS1jb250ZW50IHtcbiAgbWF4LWhlaWdodDogMzUwcHg7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlIDFzO1xufVxuXG4uaGVyb0NhcmRfX2NvbGxhcHNlLS10aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiA5OCU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGZlMGU1O1xufVxuXG4uaGVyb0NhcmRfX2NvbGxhcHNlLS10aXRsZSBpbWcge1xuICBwYWRkaW5nOiAyMHB4IDEwcHggMjBweCAwO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDVlbSkge1xuICAuaGVyb0NhcmRfX2NvbGxhcHNlLS10aXRsZSB7XG4gICAgbWF4LWhlaWdodDogNjBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbiAgLmhlcm9DYXJkX19jb2xsYXBzZS0tdGl0bGU6YWZ0ZXIsIC5oZXJvQ2FyZF9fY29sbGFwc2UtLXRpdGxlOmJlZm9yZSB7XG4gICAgY29udGVudDogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5oZXJvQ2FyZF9fY29sbGFwc2UtLXRpdGxlOmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiAnJztcbiAgcmlnaHQ6IDI0cHg7XG4gIHRvcDogMTZweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFhMjQ1YztcbiAgaGVpZ2h0OiAxNnB4O1xuICB3aWR0aDogMnB4O1xuICBtYXJnaW4tdG9wOiA1cHg7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAwLjVzO1xufVxuXG4uaGVyb0NhcmRfX2NvbGxhcHNlLS10aXRsZTpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6ICcnO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWEyNDVjO1xuICByaWdodDogMTdweDtcbiAgdG9wOiAyM3B4O1xuICBoZWlnaHQ6IDJweDtcbiAgd2lkdGg6IDE2cHg7XG4gIG1hcmdpbi10b3A6IDVweDtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IDAuNnM7XG59XG5cbi5oZXJvQ2FyZF9fY29sbGFwc2UtLWNvbnRlbnQge1xuICBtYXgtaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgMC41cztcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLmhlcm9DYXJkX19jb2xsYXBzZS0tY29udGVudCB7XG4gICAgbWF4LWhlaWdodDogaW5oZXJpdDtcbiAgfVxufVxuXG4uc2hhcmUge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2RmZTBlNTtcbiAgbWFyZ2luLXRvcDogMi4xcmVtO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAuc2hhcmUge1xuICAgIG1hcmdpbi10b3A6IDIuNHJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAuc2hhcmUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gIH1cbn1cblxuLnNoYXJlIGltZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1heC13aWR0aDogNDhweDtcbn1cblxuLnNoYXJlIGEge1xuICBtYXJnaW4tbGVmdDogMTRweDtcbiAgbWFyZ2luLXJpZ2h0OiAxNHB4O1xufVxuXG4uc2hhcmVfX2JhciB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5zaGFyZV9faXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLnNoYXJlIGg2IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuLm5ld3MtLWhvcml6b250YWwgaDMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC5uZXdzLS1ob3Jpem9udGFsIC5uZXdzQ2FyZF9faXRlbSB7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiA0OC4xMDAyNDI1MjIzJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDMuNzk5NTE0OTU1NCU7XG4gIH1cbiAgLm5ld3MtLWhvcml6b250YWwgLm5ld3NDYXJkX19pdGVtOm50aC1vZi10eXBlKDJuKzIpIHtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDQ4LjEwMDI0MjUyMjMlO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuLm5ld3NDYXJkIC5mbGV4aXRfX2hvbGRlciB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ubmV3c0NhcmRfX2l0ZW0ge1xuICBoZWlnaHQ6IGF1dG87XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZmUwZTU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0cmFuc2l0aW9uOiBib3JkZXIgMC4ycyBlYXNlO1xuICBtYXJnaW4tdG9wOiAyLjFyZW07XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5uZXdzQ2FyZF9faXRlbSB7XG4gICAgbWFyZ2luLXRvcDogMi40cmVtO1xuICB9XG59XG5cbi5uZXdzQ2FyZF9faXRlbSBoNiB7XG4gIGNvbG9yOiAjN2ViZTM4O1xuICBtYXJnaW4tdG9wOiAwcmVtO1xuICBwYWRkaW5nLXRvcDogMHJlbTtcbiAgcGFkZGluZy1ib3R0b206IDByZW07XG4gIG1hcmdpbi1ib3R0b206IDByZW07XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5uZXdzQ2FyZF9faXRlbSBoNiB7XG4gICAgbWFyZ2luLXRvcDogMHJlbTtcbiAgICBwYWRkaW5nLXRvcDogMHJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMHJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwcmVtO1xuICB9XG59XG5cbi5uZXdzQ2FyZF9faXRlbSAuYnV0dG9uX190YWdzLCAubmV3c0NhcmRfX2l0ZW0gLmJ1dHRvbl9faW5wdXQtLWNoZWNrYm94IGxhYmVsIHNwYW4sIC5idXR0b25fX2lucHV0LS1jaGVja2JveCBsYWJlbCAubmV3c0NhcmRfX2l0ZW0gc3BhbiB7XG4gIGZvbnQtc2l6ZTogMC43NjkyMzA3NjkycmVtO1xuICBsaW5lLWhlaWdodDogMi4xcmVtO1xuICBwYWRkaW5nOiAwcHggMTRweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLm5ld3NDYXJkX19pdGVtIC5idXR0b25fX3RhZ3MsIC5uZXdzQ2FyZF9faXRlbSAuYnV0dG9uX19pbnB1dC0tY2hlY2tib3ggbGFiZWwgc3BhbiwgLmJ1dHRvbl9faW5wdXQtLWNoZWNrYm94IGxhYmVsIC5uZXdzQ2FyZF9faXRlbSBzcGFuIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMnJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAubmV3c0NhcmRfX2l0ZW0gLmJ1dHRvbl9fdGFncywgLm5ld3NDYXJkX19pdGVtIC5idXR0b25fX2lucHV0LS1jaGVja2JveCBsYWJlbCBzcGFuLCAuYnV0dG9uX19pbnB1dC0tY2hlY2tib3ggbGFiZWwgLm5ld3NDYXJkX19pdGVtIHNwYW4ge1xuICAgIHBhZGRpbmc6IDVweCAyN3B4O1xuICB9XG59XG5cbi5uZXdzQ2FyZF9faXRlbSAuYnV0dG9uX190YWdzOmhvdmVyLCAubmV3c0NhcmRfX2l0ZW0gLmJ1dHRvbl9faW5wdXQtLWNoZWNrYm94IGxhYmVsIHNwYW46aG92ZXIsIC5idXR0b25fX2lucHV0LS1jaGVja2JveCBsYWJlbCAubmV3c0NhcmRfX2l0ZW0gc3Bhbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNlNWU4ZjA7XG59XG5cbi5uZXdzQ2FyZF9faXRlbTpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogIzdlYmUzODtcbn1cblxuLm5ld3NDYXJkX19pbWFnZSB7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMjUlO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXRvcDogLTFweDtcbiAgbWFyZ2luLWJvdHRvbTogLTFweDtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG59XG5cbi5uZXdzQ2FyZF9fdGV4dCB7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogNzMuNjg0MjEwNTI2MyU7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4ubmV3c0NhcmQgLmNvbnRlbnQge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5uZXdzQ2FyZF9faW1hZ2Uge1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLm5ld3NDYXJkX190ZXh0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiA2NS40MDAxNjE2ODE1JTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbi5wb3BVcCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIG1heC13aWR0aDogMTQwMHB4O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIG1hcmdpbjogMTBweCAyMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA4OSU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5wb3BVcCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG59XG5cbi5wb3BVcF9fcmlnaHQge1xuICBwYWRkaW5nOiAyMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDVlbSkge1xuICAucG9wVXBfX3JpZ2h0IHtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDQ4LjEwMDI0MjUyMjMlO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcGFkZGluZzogMzBweDtcbiAgfVxufVxuXG4ucG9wVXBfX2xlZnQge1xuICBoZWlnaHQ6IDMwMHB4O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1cHg7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDVweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLnBvcFVwX19sZWZ0IHtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDQ4LjEwMDI0MjUyMjMlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMy43OTk1MTQ5NTU0JTtcbiAgICBoZWlnaHQ6IDU1MHB4O1xuICB9XG59XG5cbi5wb3BVcCAuanMtY2xvc2UtYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0yMXB4O1xuICBvdXRsaW5lOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHotaW5kZXg6IDk5OTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgcmlnaHQ6IC0yMXB4O1xufVxuXG4ucG9wVXAgLmpzLWNsb3NlLWJ1dHRvbjpob3ZlciBpbWcge1xuICBib3gtc2hhZG93OiAwIDRweCA2cHggMCByZ2JhKDAsIDAsIDAsIDAuNik7XG59XG5cbi5wb3BVcCAuanMtY2xvc2UtYnV0dG9uIGltZyB7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlIDAuM3M7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDRweCAwIHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgYm9yZGVyLXJhZGl1czogOTBweDtcbn1cblxuLmFuaW1hbENhcmRzIHtcbiAgYm9yZGVyLXJhZGl1czogMXB4O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFuaW1hbENhcmRzX19pdGVtIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbn1cblxuLmFuaW1hbENhcmRzX19pdGVtLS1pY29uIHtcbiAgbWFyZ2luLXRvcDogMS4wNXJlbTtcbiAgcGFkZGluZy10b3A6IDEuMDVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjA1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjA1cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5hbmltYWxDYXJkc19faXRlbS0taWNvbiB7XG4gICAgbWFyZ2luLXRvcDogMS4ycmVtO1xuICAgIHBhZGRpbmctdG9wOiAxLjJyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDEuMnJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjJyZW07XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAuYW5pbWFsQ2FyZHNfX2l0ZW0tLWljb24gaW1nIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogMjBweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC5hbmltYWxDYXJkc19faXRlbS0taWNvbiBpbWcge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG5cbi5hbmltYWxDYXJkcyB7XG4gIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmFuaW1hbENhcmRzX19pdGVtIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5hbmltYWxDYXJkc19faXRlbS0tZGFyayB7XG4gIGJhY2tncm91bmQ6ICMxYTI0NWM7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC5hbmltYWxDYXJkc19faXRlbS0tZGFyayB7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiA0OC4xMDAyNDI1MjIzJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDMuNzk5NTE0OTU1NCU7XG4gIH1cbiAgLmFuaW1hbENhcmRzX19pdGVtLS1kYXJrOm50aC1jaGlsZCgybisyKSB7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiA0OC4xMDAyNDI1MjIzJTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbi5hbmltYWxDYXJkc19faXRlbS0taW1hZ2Uge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luLWJvdHRvbTogMi4xcmVtO1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAwLjJzO1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDQ3LjM2ODQyMTA1MjYlO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiA1LjI2MzE1Nzg5NDclO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAuYW5pbWFsQ2FyZHNfX2l0ZW0tLWltYWdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07XG4gIH1cbn1cblxuLmFuaW1hbENhcmRzX19pdGVtLS1pbWFnZSBpbWcge1xuICBib3gtc2hhZG93OiAwIDVweCAxMHB4IDAgcmdiYSgwLCAyOCwgMTA1LCAwLjEpO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlIDAuMnM7XG59XG5cbi5hbmltYWxDYXJkc19faXRlbS0taW1hZ2U6bnRoLWNoaWxkKDJuKzIpIHtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiA0Ny4zNjg0MjEwNTI2JTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC5hbmltYWxDYXJkc19faXRlbS0taW1hZ2Uge1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogNDYuMDUwNDIwMTY4MiU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiA3Ljg5OTE1OTY2MzclO1xuICB9XG4gIC5hbmltYWxDYXJkc19faXRlbS0taW1hZ2U6bnRoLWNoaWxkKDJuKzIpIHtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDQ2LjA1MDQyMDE2ODIlO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmFuaW1hbENhcmRzX19pdGVtLS1pbWFnZTpob3ZlciBpbWcge1xuICBib3gtc2hhZG93OiAwIDVweCAxMHB4IDAgcmdiYSgwLCAyOCwgMTA1LCAwLjMpO1xufVxuXG4uYW5pbWFsQ2FyZHNfX2l0ZW0tLWltYWdlOmhvdmVyIGE6YWZ0ZXIge1xuICByaWdodDogLTI1cHg7XG59XG5cbi5hbmltYWxDYXJkc19faXRlbS0taWNvbiB7XG4gIG1hcmdpbi10b3A6IDEuMDVyZW07XG4gIHBhZGRpbmctdG9wOiAxLjA1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMS4wNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS4wNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAuYW5pbWFsQ2FyZHNfX2l0ZW0tLWljb24ge1xuICAgIG1hcmdpbi10b3A6IDEuMnJlbTtcbiAgICBwYWRkaW5nLXRvcDogMS4ycmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjJyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS4ycmVtO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC5hbmltYWxDYXJkc19faXRlbS0taWNvbiB7XG4gICAgaGVpZ2h0OiA3NXB4O1xuICAgIGhlaWdodDogaW5oZXJpdDtcbiAgfVxufVxuXG4uYW5pbWFsQ2FyZHNfX2l0ZW0tLWljb246aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDVweCAxMHB4IDAgcmdiYSgwLCAyOCwgMTA1LCAwLjEpO1xufVxuXG4uYW5pbWFsQ2FyZHNfX2l0ZW0tLWljb24gaW1nIHtcbiAgaGVpZ2h0OiA0MHB4O1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLmFuaW1hbENhcmRzX19pdGVtLS1pY29uIGltZyB7XG4gICAgbWFyZ2luOiA0cHggYXV0byAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmFuaW1hbENhcmRzX19pdGVtLS1pY29uIHNwYW4ge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1yaWdodDogNDBweDtcbiAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLmFuaW1hbENhcmRzX19pdGVtLS1pY29uIHNwYW4ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC5hbmltYWxDYXJkc19faXRlbS0taWNvbiBzcGFuLFxuICAuYW5pbWFsQ2FyZHNfX2l0ZW0tLWljb24gaW1nIHtcbiAgICBmbG9hdDogaW5pdGlhbDtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cblxuLnNwZWNpYWxpc20ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGZlMGU1O1xuICBwYWRkaW5nOiAyN3B4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDVlbSkge1xuICAuc3BlY2lhbGlzbSB7XG4gICAgcGFkZGluZzogMjdweDtcbiAgfVxufVxuXG4uc3BlY2lhbGlzbSBoNCB7XG4gIG1hcmdpbi10b3A6IDByZW07XG4gIHBhZGRpbmctdG9wOiAwcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS4wNXJlbTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLnNwZWNpYWxpc20gaDQge1xuICAgIG1hcmdpbi10b3A6IDByZW07XG4gICAgcGFkZGluZy10b3A6IDByZW07XG4gICAgcGFkZGluZy1ib3R0b206IDByZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMHJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAuc3BlY2lhbGlzbSBoNCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4ycmVtO1xuICB9XG59XG5cbi5zcGVjaWFsaXNtIC5idXR0b24sIC5zcGVjaWFsaXNtIC5tYXRyaXhfX2l0ZW0gLmZyZWVmb3JtLXJvdyBidXR0b24sIC5tYXRyaXhfX2l0ZW0gLmZyZWVmb3JtLXJvdyAuc3BlY2lhbGlzbSBidXR0b24sIC5zcGVjaWFsaXNtIC5idXR0b25fX2lucHV0LS1jaGVja2JveCBsYWJlbCBzcGFuLCAuYnV0dG9uX19pbnB1dC0tY2hlY2tib3ggbGFiZWwgLnNwZWNpYWxpc20gc3BhbiwgLnNwZWNpYWxpc20gLmNvbnRhY3QgLnRhYl9fY29udGVudCBidXR0b24sIC5jb250YWN0IC50YWJfX2NvbnRlbnQgLnNwZWNpYWxpc20gYnV0dG9uIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5zcGVjaWFsaXNtIC5idXR0b246YWZ0ZXIsIC5zcGVjaWFsaXNtIC5tYXRyaXhfX2l0ZW0gLmZyZWVmb3JtLXJvdyBidXR0b246YWZ0ZXIsIC5tYXRyaXhfX2l0ZW0gLmZyZWVmb3JtLXJvdyAuc3BlY2lhbGlzbSBidXR0b246YWZ0ZXIsIC5zcGVjaWFsaXNtIC5idXR0b25fX2lucHV0LS1jaGVja2JveCBsYWJlbCBzcGFuOmFmdGVyLCAuYnV0dG9uX19pbnB1dC0tY2hlY2tib3ggbGFiZWwgLnNwZWNpYWxpc20gc3BhbjphZnRlciwgLnNwZWNpYWxpc20gLmNvbnRhY3QgLnRhYl9fY29udGVudCBidXR0b246YWZ0ZXIsIC5jb250YWN0IC50YWJfX2NvbnRlbnQgLnNwZWNpYWxpc20gYnV0dG9uOmFmdGVyIHtcbiAgcmlnaHQ6IDA7XG59XG5cbi5zcGVjaWFsaXNtIC5idXR0b246aG92ZXI6YWZ0ZXIsIC5zcGVjaWFsaXNtIC5tYXRyaXhfX2l0ZW0gLmZyZWVmb3JtLXJvdyBidXR0b246aG92ZXI6YWZ0ZXIsIC5tYXRyaXhfX2l0ZW0gLmZyZWVmb3JtLXJvdyAuc3BlY2lhbGlzbSBidXR0b246aG92ZXI6YWZ0ZXIsIC5zcGVjaWFsaXNtIC5idXR0b25fX2lucHV0LS1jaGVja2JveCBsYWJlbCBzcGFuOmhvdmVyOmFmdGVyLCAuYnV0dG9uX19pbnB1dC0tY2hlY2tib3ggbGFiZWwgLnNwZWNpYWxpc20gc3Bhbjpob3ZlcjphZnRlciwgLnNwZWNpYWxpc20gLmNvbnRhY3QgLnRhYl9fY29udGVudCBidXR0b246aG92ZXI6YWZ0ZXIsIC5jb250YWN0IC50YWJfX2NvbnRlbnQgLnNwZWNpYWxpc20gYnV0dG9uOmhvdmVyOmFmdGVyIHtcbiAgcmlnaHQ6IC0xMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDVlbSkge1xuICAuc3BlY2lhbGlzbV9faXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4wNXJlbTtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDQ2LjA1MDQyMDE2ODIlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogNy44OTkxNTk2NjM3JTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDVlbSkgYW5kIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLnNwZWNpYWxpc21fX2l0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMnJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDVlbSkge1xuICAuc3BlY2lhbGlzbV9faXRlbTpudGgtY2hpbGQoMm4rMykge1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogNDYuMDUwNDIwMTY4MiU7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuXG4uZW1wbG95ZWUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5lbXBsb3llZV9faW1hZ2Uge1xuICBib3gtc2hhZG93OiAwIDVweCAxMHB4IDAgcmdiYSgwLCAyOCwgMTA1LCAwLjEpO1xuICBib3JkZXItcmFkaXVzOiAyMDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1hcmdpbi1ib3R0b206IDEuMDVyZW07XG4gIG1heC13aWR0aDogMTcwcHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5lbXBsb3llZV9faW1hZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMnJlbTtcbiAgfVxufVxuXG4uZW1wbG95ZWVfX3RleHQge1xuICBtaW4taGVpZ2h0OiAxMDBweDtcbn1cblxuLmVtcGxveWVlIGg2IHtcbiAgbWFyZ2luLXRvcDogMHJlbTtcbiAgcGFkZGluZy10b3A6IDByZW07XG4gIHBhZGRpbmctYm90dG9tOiAwcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwcmVtO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAuZW1wbG95ZWUgaDYge1xuICAgIG1hcmdpbi10b3A6IDByZW07XG4gICAgcGFkZGluZy10b3A6IDByZW07XG4gICAgcGFkZGluZy1ib3R0b206IDByZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMHJlbTtcbiAgfVxufVxuXG4uZW1wbG95ZWUtLWV4cGFuZGVkIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLmVtcGxveWVlLS1leHBhbmRlZCBhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogOHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMzBlbSkge1xuICAuZW1wbG95ZWUtLWV4cGFuZGVkIGEge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDQwcHg7XG4gIH1cbn1cblxuLmVtcGxveWVlLS1leHBhbmRlZF9faW1hZ2Uge1xuICBib3gtc2hhZG93OiAwIDVweCAxMHB4IDAgcmdiYSgwLCAyOCwgMTA1LCAwLjEpO1xuICBib3JkZXItcmFkaXVzOiAyMDBweDtcbiAgd2lkdGg6IDEyMHB4O1xuICBoZWlnaHQ6IDEyMHB4O1xuICBmbGV4LXNocmluazogMDtcbn1cblxuLmVtcGxveWVlLS1leHBhbmRlZF9faW1hZ2UgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi5lbXBsb3llZS0tZXhwYW5kZWRfX3RleHQge1xuICB3aWR0aDogMTAwJTtcbiAgZmxleC1ncm93OiAxO1xufVxuXG4uZW1wbG95ZWUtLWV4cGFuZGVkX190ZXh0IGg0IHtcbiAgbWFyZ2luOiAwO1xuICBsaW5lLWhlaWdodDogMzJweDtcbn1cblxuLmVtcGxveWVlLS1leHBhbmRlZF9fdGV4dCBoNiB7XG4gIG1hcmdpbjogMDtcbiAgbGluZS1oZWlnaHQ6IDI3cHg7XG59XG5cbi5lbXBsb3llZS0tZXhwYW5kZWRfX3RleHQgcCB7XG4gIG1hcmdpbjogOHB4IDAgMCAwO1xuICBjb2xvcjogIzViNjI3NztcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbn1cblxuLnN0b3JpZXMgaDMgPiBhIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG59XG5cbi5zdG9yaWVzX19pdGVtIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RmZTBlNTtcbiAgcGFkZGluZzogMjdweDtcbn1cblxuLnN0b3JpZXNfX2ltYWdlIHtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAyMS4wNTI2MzE1Nzg5JTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogNS4yNjMxNTc4OTQ3JTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLnN0b3JpZXNfX2ltYWdlIHtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDMwLjgwMDMyMzM2MyU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAzLjc5OTUxNDk1NTQlO1xuICB9XG59XG5cbi5zdG9yaWVzX190aXRsZSB7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogNzMuNjg0MjEwNTI2MyU7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4uc3Rvcmllc19fdGl0bGUgaDYge1xuICBtYXJnaW4tdG9wOiAwcmVtO1xuICBwYWRkaW5nLXRvcDogMHJlbTtcbiAgcGFkZGluZy1ib3R0b206IDByZW07XG4gIG1hcmdpbi1ib3R0b206IDByZW07XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5zdG9yaWVzX190aXRsZSBoNiB7XG4gICAgbWFyZ2luLXRvcDogMHJlbTtcbiAgICBwYWRkaW5nLXRvcDogMHJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMHJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwcmVtO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC5zdG9yaWVzX190aXRsZSB7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiA2NS40MDAxNjE2ODE1JTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbi5wYWdpbmF0aW9uIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAyLjFyZW07XG4gIHBhZGRpbmctdG9wOiAwcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi4xcmVtO1xuICBtYXJnaW4tdG9wOiAyLjFyZW07XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5wYWdpbmF0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAyLjRyZW07XG4gICAgcGFkZGluZy10b3A6IDByZW07XG4gICAgcGFkZGluZy1ib3R0b206IDByZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMi40cmVtO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5wYWdpbmF0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAyLjRyZW07XG4gIH1cbn1cblxuLnBhZ2luYXRpb24gLmN1cnJlbnQsXG4ucGFnaW5hdGlvbiBhIHtcbiAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG59XG5cbi5icmVhZGNydW1icyB7XG4gIGZvbnQtc2l6ZTogMC45MjMwNzY5MjMxcmVtO1xuICBsaW5lLWhlaWdodDogMi4xcmVtO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi1ib3R0b206IDEuMDVyZW07XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5icmVhZGNydW1icyB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4ycmVtO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5icmVhZGNydW1icyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4ycmVtO1xuICB9XG59XG5cbi5icmVhZGNydW1icyBsaSB7XG4gIHBhZGRpbmc6IDA7XG4gIHBhZGRpbmctbGVmdDogMTRweDtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbi5icmVhZGNydW1icyBsaTpiZWZvcmUge1xuICBjb250ZW50OiBub25lO1xufVxuXG4uYnJlYWRjcnVtYnMgbGk6Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5icmVhZGNydW1icyBpbWcge1xuICBtYXJnaW4tbGVmdDogMTRweDtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi5icmVhZGNydW1icyBhIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5icmVhZGNydW1icy0tZGFyayBhIHtcbiAgY29sb3I6ICMxYTI0NWM7XG59XG5cbmZvb3RlciB7XG4gIG1hcmdpbi10b3A6IDIuMXJlbTtcbiAgcGFkZGluZy10b3A6IDQuMnJlbTtcbiAgcGFkZGluZy1ib3R0b206IDByZW07XG4gIG1hcmdpbi1ib3R0b206IDByZW07XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIGZvb3RlciB7XG4gICAgbWFyZ2luLXRvcDogMi40cmVtO1xuICAgIHBhZGRpbmctdG9wOiA0LjhyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDByZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMHJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDVlbSkge1xuICBmb290ZXIgLmZvb3Rlcl9fbmV3c2xldHRlciB7XG4gICAgbWFyZ2luLXRvcDogMi4xcmVtO1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogNDguMTAwMjQyNTIyMyU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAzLjc5OTUxNDk1NTQlO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0NWVtKSBhbmQgKG1pbi13aWR0aDogNjBlbSkge1xuICBmb290ZXIgLmZvb3Rlcl9fbmV3c2xldHRlciB7XG4gICAgbWFyZ2luLXRvcDogMi40cmVtO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0NWVtKSB7XG4gIGZvb3RlciAubWMtZmllbGQtZ3JvdXAge1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogNDguMTAwMjQyNTIyMyU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAzLjc5OTUxNDk1NTQlO1xuICB9XG4gIGZvb3RlciAubWMtZmllbGQtZ3JvdXA6bnRoLW9mLXR5cGUoZXZlbikge1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogNDguMTAwMjQyNTIyMyU7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDVlbSkge1xuICBmb290ZXIgLm1jLWZpZWxkLWdyb3VwLmlucHV0LWdyb3VwIHtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbmZvb3RlciAubWMtZmllbGQtZ3JvdXAuaW5wdXQtZ3JvdXAgdWwge1xuICBtYXJnaW4tdG9wOiA1cHg7XG59XG5cbmZvb3RlciAubWMtZmllbGQtZ3JvdXAuaW5wdXQtZ3JvdXAgbGkge1xuICBwYWRkaW5nOiAwO1xufVxuXG5mb290ZXIgLm1jLWZpZWxkLWdyb3VwLmlucHV0LWdyb3VwIGxpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IG5vbmU7XG59XG5cbmZvb3RlciAubWMtZmllbGQtZ3JvdXAuaW5wdXQtZ3JvdXAgbGkgaW5wdXQsXG5mb290ZXIgLm1jLWZpZWxkLWdyb3VwLmlucHV0LWdyb3VwIGxpIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0NWVtKSB7XG4gIGZvb3RlciAuZm9vdGVyX19mYWNlYm9vayB7XG4gICAgbWFyZ2luLXRvcDogMi4xcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDYuM3JlbTtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDQ4LjEwMDI0MjUyMjMlO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIGFuZCAobWluLXdpZHRoOiA2MGVtKSB7XG4gIGZvb3RlciAuZm9vdGVyX19mYWNlYm9vayB7XG4gICAgbWFyZ2luLXRvcDogMi40cmVtO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0NWVtKSBhbmQgKG1pbi13aWR0aDogNjBlbSkge1xuICBmb290ZXIgLmZvb3Rlcl9fZmFjZWJvb2sge1xuICAgIG1hcmdpbi1ib3R0b206IDcuMnJlbTtcbiAgfVxufVxuXG5mb290ZXIgLmZvb3Rlci0tcmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiA0LjJyZW07XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIGZvb3RlciAuZm9vdGVyLS1yZWwge1xuICAgIG1hcmdpbi1ib3R0b206IDQuOHJlbTtcbiAgfVxufVxuXG5mb290ZXIgLmZvb3Rlcl9fZmlyc3Qge1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbmZvb3RlciAuZm9vdGVyX19maXJzdDpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICNmZmYgMjAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMikgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDcwJSk7XG4gIHotaW5kZXg6IC0xO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0NWVtKSB7XG4gIGZvb3RlciAuZm9vdGVyX19maXJzdDpiZWZvcmUge1xuICAgIGxlZnQ6IDUwJTtcbiAgfVxufVxuXG5mb290ZXIgLmZvb3Rlcl9fZmlyc3Q6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAtMjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9hc3NldHMvaW1hZ2VzL3BsYWNlaG9sZGVyLnBuZ1wiKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgZm9vdGVyIC5mb290ZXJfX2ZpcnN0OmFmdGVyIHtcbiAgICBsZWZ0OiA1MCU7XG4gIH1cbn1cblxuZm9vdGVyIC5mb290ZXJfX2xpbmtzIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW4tdG9wOiAwcmVtO1xuICBwYWRkaW5nLXRvcDogMi4xcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogNC4ycmVtO1xuICBtYXJnaW4tYm90dG9tOiAwcmVtO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICBmb290ZXIgLmZvb3Rlcl9fbGlua3Mge1xuICAgIG1hcmdpbi10b3A6IDByZW07XG4gICAgcGFkZGluZy10b3A6IDIuNHJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNC44cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDByZW07XG4gIH1cbn1cblxuZm9vdGVyIC5mb290ZXJMaW5rc19faXRlbSBhIHtcbiAgY29sb3I6ICM1YjYyNzc7XG59XG5cbmZvb3RlciAuZm9vdGVyTGlua3NfX2l0ZW0gaDYge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG5mb290ZXIgLmZvb3RlckxpbmtzX19pdGVtIHAge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDVlbSkge1xuICBmb290ZXIgLmZvb3RlckxpbmtzX19pdGVtIHtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDIyLjE1MDM2Mzc4MzQlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMy43OTk1MTQ5NTU0JTtcbiAgfVxuICBmb290ZXIgLmZvb3RlckxpbmtzX19pdGVtOm50aC1vZi10eXBlKDRuKzQpIHtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDIyLjE1MDM2Mzc4MzQlO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuZm9vdGVyIC5mb290ZXJQcmFrdGlqa2VuIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjIzLCAyMjQsIDIyOSwgMC41KTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjIzLCAyMjQsIDIyOSwgMC41KTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW4tdG9wOiAwcmVtO1xuICBwYWRkaW5nLXRvcDogMi4xcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMi4xcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwcmVtO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICBmb290ZXIgLmZvb3RlclByYWt0aWprZW4ge1xuICAgIG1hcmdpbi10b3A6IDByZW07XG4gICAgcGFkZGluZy10b3A6IDIuNHJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMi40cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDByZW07XG4gIH1cbn1cblxuZm9vdGVyIC5mb290ZXJQcmFrdGlqa2VuIC5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMC45MjMwNzY5MjMxcmVtO1xuICBsaW5lLWhlaWdodDogMi4xcmVtO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICBmb290ZXIgLmZvb3RlclByYWt0aWprZW4gLnNtYWxsIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjJyZW07XG4gIH1cbn1cblxuZm9vdGVyIC5mb290ZXJQcmFrdGlqa2VuX19pdGVtIGltZyB7XG4gIHBhZGRpbmctcmlnaHQ6IDhweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgZm9vdGVyIC5mb290ZXJQcmFrdGlqa2VuX19pdGVtIHtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDQ4LjEwMDI0MjUyMjMlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMy43OTk1MTQ5NTU0JTtcbiAgfVxuICBmb290ZXIgLmZvb3RlclByYWt0aWprZW5fX2l0ZW06bnRoLW9mLXR5cGUoMm4rMikge1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogNDguMTAwMjQyNTIyMyU7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICBmb290ZXIgLmZvb3RlclByYWt0aWprZW5fX2l0ZW0ge1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMjIuMTUwMzYzNzgzNCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAzLjc5OTUxNDk1NTQlO1xuICB9XG4gIGZvb3RlciAuZm9vdGVyUHJha3Rpamtlbl9faXRlbTpudGgtb2YtdHlwZSgybisyKSB7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAyMi4xNTAzNjM3ODM0JTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDMuNzk5NTE0OTU1NCU7XG4gIH1cbiAgZm9vdGVyIC5mb290ZXJQcmFrdGlqa2VuX19pdGVtOm50aC1vZi10eXBlKDRuKzQpIHtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDIyLjE1MDM2Mzc4MzQlO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuZm9vdGVyIC5sb3dlckZvb3RlciB7XG4gIG1hcmdpbi10b3A6IDByZW07XG4gIHBhZGRpbmctdG9wOiA0LjJyZW07XG4gIHBhZGRpbmctYm90dG9tOiA0LjJyZW07XG4gIG1hcmdpbi1ib3R0b206IDByZW07XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIGZvb3RlciAubG93ZXJGb290ZXIge1xuICAgIG1hcmdpbi10b3A6IDByZW07XG4gICAgcGFkZGluZy10b3A6IDQuOHJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNC44cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDByZW07XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgZm9vdGVyIC5sb3dlckZvb3Rlcl9fZmlyc3Qge1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMjIuMTUwMzYzNzgzNCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAzLjc5OTUxNDk1NTQlO1xuICB9XG4gIGZvb3RlciAubG93ZXJGb290ZXJfX2NlbnRlciB7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiA0OC4xMDAyNDI1MjIzJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDMuNzk5NTE0OTU1NCU7XG4gIH1cbiAgZm9vdGVyIC5sb3dlckZvb3Rlcl9fbGFzdCB7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAyMi4xNTAzNjM3ODM0JTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbmFydGljbGUgLmJyZWFkY3J1bWJzIHtcbiAgbWFyZ2luLXRvcDogMi4xcmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjFyZW07XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIGFydGljbGUgLmJyZWFkY3J1bWJzIHtcbiAgICBtYXJnaW4tdG9wOiAyLjRyZW07XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgYXJ0aWNsZSAuYnJlYWRjcnVtYnMge1xuICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTtcbiAgfVxufVxuXG5hcnRpY2xlIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5hcnRpY2xlIGgxLFxuYXJ0aWNsZSBoMixcbmFydGljbGUgaDMsXG5hcnRpY2xlIGg0LFxuYXJ0aWNsZSBoNSxcbmFydGljbGUgaDYge1xuICBtYXJnaW4tdG9wOiAxLjA1cmVtO1xuICBwYWRkaW5nLXRvcDogMHJlbTtcbiAgcGFkZGluZy1ib3R0b206IDByZW07XG4gIG1hcmdpbi1ib3R0b206IDEuMDVyZW07XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIGFydGljbGUgaDEsXG4gIGFydGljbGUgaDIsXG4gIGFydGljbGUgaDMsXG4gIGFydGljbGUgaDQsXG4gIGFydGljbGUgaDUsXG4gIGFydGljbGUgaDYge1xuICAgIG1hcmdpbi10b3A6IDEuMnJlbTtcbiAgICBwYWRkaW5nLXRvcDogMHJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMHJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjJyZW07XG4gIH1cbn1cblxuLmZvcm1fX3JvdyB7XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmZvcm1fX3JvdyBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgbWFyZ2luLXRvcDogMi4xcmVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5mb3JtX19yb3cgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgbWFyZ2luLXRvcDogMi40cmVtO1xuICB9XG59XG5cbi5mb3JtX19maWVsZCB7XG4gIG1hcmdpbi10b3A6IDIuMXJlbTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLmZvcm1fX2ZpZWxkIHtcbiAgICBtYXJnaW4tdG9wOiAyLjRyZW07XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLmZvcm1fX2ZpZWxkIHtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDQ4LjEwMDI0MjUyMjMlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMy43OTk1MTQ5NTU0JTtcbiAgfVxuICAuZm9ybV9fZmllbGQ6bnRoLW9mLXR5cGUoMm4gKyAyKSB7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiA0OC4xMDAyNDI1MjIzJTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbi5mb3JtX19maWVsZCBpbnB1dCxcbi5mb3JtX19maWVsZCB0ZXh0YXJlYSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAuZm9ybV9fZmllbGQtLWZ1bGwge1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuZnJlZWZvcm0tY29sdW1uIHtcbiAgICBmbGV4OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZyZWVmb3JtLXJvdyB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uc2lkZWJhciB7XG4gIG1hcmdpbi10b3A6IDYuM3JlbTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLnNpZGViYXIge1xuICAgIG1hcmdpbi10b3A6IDcuMnJlbTtcbiAgfVxufVxuXG4uc2lkZWJhcl9faW5uZXIge1xuICBwYWRkaW5nOiAyN3B4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZmUwZTU7XG59XG5cbi5zaWRlYmFyX19pbm5lciBoNiB7XG4gIG1hcmdpbi10b3A6IDByZW07XG4gIHBhZGRpbmctdG9wOiAwcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMHJlbTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLnNpZGViYXJfX2lubmVyIGg2IHtcbiAgICBtYXJnaW4tdG9wOiAwcmVtO1xuICAgIHBhZGRpbmctdG9wOiAwcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDByZW07XG4gIH1cbn1cblxuLnNpZGViYXJfX2lubmVyLS1nbG9iYWwgLnNtYWxsIHtcbiAgZm9udC1zaXplOiAwLjc2OTIzMDc2OTJyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjFyZW07XG4gIGNvbG9yOiAjOWE5OTk5O1xuICBwYWRkaW5nLWxlZnQ6IDRweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLnNpZGViYXJfX2lubmVyLS1nbG9iYWwgLnNtYWxsIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMnJlbTtcbiAgfVxufVxuXG4uc2lkZWJhcl9faW5uZXItLWdsb2JhbCAuYnV0dG9uX19wcmltYXJ5LCAuc2lkZWJhcl9faW5uZXItLWdsb2JhbCAubWF0cml4X19pdGVtIC5mcmVlZm9ybS1yb3cgYnV0dG9uLCAubWF0cml4X19pdGVtIC5mcmVlZm9ybS1yb3cgLnNpZGViYXJfX2lubmVyLS1nbG9iYWwgYnV0dG9uLCAuc2lkZWJhcl9faW5uZXItLWdsb2JhbCAuY29udGFjdCAudGFiX19jb250ZW50IGJ1dHRvbiwgLmNvbnRhY3QgLnRhYl9fY29udGVudCAuc2lkZWJhcl9faW5uZXItLWdsb2JhbCBidXR0b24ge1xuICB6LWluZGV4OiA5OTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAyNTBweDtcbn1cblxuLnNpZGViYXJfX2lubmVyLS1sb2NhbCAuc2lkZWJhcl9fbG9nbyB7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgei1pbmRleDogOTk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMjAwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDAgNXB4IDMwcHggMCByZ2JhKDM2LCA0NCwgODIsIDAuMSk7XG59XG5cbi5zaWRlYmFyX19pbm5lciBoNCB7XG4gIHotaW5kZXg6IDk5O1xuICBtYXgtd2lkdGg6IDE4MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDByZW07XG4gIHBhZGRpbmctdG9wOiAwcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMHJlbTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLnNpZGViYXJfX2lubmVyIGg0IHtcbiAgICBtYXJnaW4tdG9wOiAwcmVtO1xuICAgIHBhZGRpbmctdG9wOiAwcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDByZW07XG4gIH1cbn1cblxuLnNpZGViYXJfX3RvbSBpbWcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTUwcHg7XG4gIHotaW5kZXg6IDE7XG4gIHJpZ2h0OiAwO1xuICBtYXgtaGVpZ2h0OiAyNjBweDtcbn1cblxuLnNpZGViYXJfX25ld3Mge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGZlMGU1O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5zaWRlYmFyX19uZXdzIGg2LnNtYWxsIHtcbiAgZm9udC1zaXplOiAwLjkyMzA3NjkyMzFyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjFyZW07XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5zaWRlYmFyX19uZXdzIGg2LnNtYWxsIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjJyZW07XG4gIH1cbn1cblxuLnNpZGViYXJfX25ld3MgLnNpZGViYXJfX3RleHQge1xuICBtYXJnaW4tdG9wOiAxLjA1cmVtO1xuICBwYWRkaW5nLXRvcDogMHJlbTtcbiAgcGFkZGluZy1ib3R0b206IDByZW07XG4gIG1hcmdpbi1ib3R0b206IDEuMDVyZW07XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5zaWRlYmFyX19uZXdzIC5zaWRlYmFyX190ZXh0IHtcbiAgICBtYXJnaW4tdG9wOiAxLjJyZW07XG4gICAgcGFkZGluZy10b3A6IDByZW07XG4gICAgcGFkZGluZy1ib3R0b206IDByZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS4ycmVtO1xuICB9XG59XG5cbi5zaWRlYmFyX19uZXdzIC5zaWRlYmFyX190ZXh0IGg2IHtcbiAgbWFyZ2luLXRvcDogMHJlbTtcbiAgcGFkZGluZy10b3A6IDByZW07XG4gIHBhZGRpbmctYm90dG9tOiAwcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwcmVtO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAuc2lkZWJhcl9fbmV3cyAuc2lkZWJhcl9fdGV4dCBoNiB7XG4gICAgbWFyZ2luLXRvcDogMHJlbTtcbiAgICBwYWRkaW5nLXRvcDogMHJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMHJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwcmVtO1xuICB9XG59XG5cbi5zaWRlYmFyX19uZXdzIC5zaWRlYmFyX190ZXh0IHAge1xuICBtYXJnaW4tdG9wOiAwcmVtO1xuICBwYWRkaW5nLXRvcDogMHJlbTtcbiAgcGFkZGluZy1ib3R0b206IDByZW07XG4gIG1hcmdpbi1ib3R0b206IDByZW07XG4gIGZvbnQtc2l6ZTogMC45MjMwNzY5MjMxcmVtO1xuICBsaW5lLWhlaWdodDogMi4xcmVtO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAuc2lkZWJhcl9fbmV3cyAuc2lkZWJhcl9fdGV4dCBwIHtcbiAgICBtYXJnaW4tdG9wOiAwcmVtO1xuICAgIHBhZGRpbmctdG9wOiAwcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDByZW07XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLnNpZGViYXJfX25ld3MgLnNpZGViYXJfX3RleHQgcCB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4ycmVtO1xuICB9XG59XG5cbi5zaWRlYmFyX19tZW51IC5idXR0b24sIC5zaWRlYmFyX19tZW51IC5tYXRyaXhfX2l0ZW0gLmZyZWVmb3JtLXJvdyBidXR0b24sIC5tYXRyaXhfX2l0ZW0gLmZyZWVmb3JtLXJvdyAuc2lkZWJhcl9fbWVudSBidXR0b24sIC5zaWRlYmFyX19tZW51IC5idXR0b25fX2lucHV0LS1jaGVja2JveCBsYWJlbCBzcGFuLCAuYnV0dG9uX19pbnB1dC0tY2hlY2tib3ggbGFiZWwgLnNpZGViYXJfX21lbnUgc3BhbiwgLnNpZGViYXJfX21lbnUgLmNvbnRhY3QgLnRhYl9fY29udGVudCBidXR0b24sIC5jb250YWN0IC50YWJfX2NvbnRlbnQgLnNpZGViYXJfX21lbnUgYnV0dG9uIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5zaWRlYmFyX19tZW51IC5idXR0b246YWZ0ZXIsIC5zaWRlYmFyX19tZW51IC5tYXRyaXhfX2l0ZW0gLmZyZWVmb3JtLXJvdyBidXR0b246YWZ0ZXIsIC5tYXRyaXhfX2l0ZW0gLmZyZWVmb3JtLXJvdyAuc2lkZWJhcl9fbWVudSBidXR0b246YWZ0ZXIsIC5zaWRlYmFyX19tZW51IC5idXR0b25fX2lucHV0LS1jaGVja2JveCBsYWJlbCBzcGFuOmFmdGVyLCAuYnV0dG9uX19pbnB1dC0tY2hlY2tib3ggbGFiZWwgLnNpZGViYXJfX21lbnUgc3BhbjphZnRlciwgLnNpZGViYXJfX21lbnUgLmNvbnRhY3QgLnRhYl9fY29udGVudCBidXR0b246YWZ0ZXIsIC5jb250YWN0IC50YWJfX2NvbnRlbnQgLnNpZGViYXJfX21lbnUgYnV0dG9uOmFmdGVyIHtcbiAgcmlnaHQ6IDA7XG59XG5cbi5zaWRlYmFyX19tZW51IC5idXR0b246aG92ZXI6YWZ0ZXIsIC5zaWRlYmFyX19tZW51IC5tYXRyaXhfX2l0ZW0gLmZyZWVmb3JtLXJvdyBidXR0b246aG92ZXI6YWZ0ZXIsIC5tYXRyaXhfX2l0ZW0gLmZyZWVmb3JtLXJvdyAuc2lkZWJhcl9fbWVudSBidXR0b246aG92ZXI6YWZ0ZXIsIC5zaWRlYmFyX19tZW51IC5idXR0b25fX2lucHV0LS1jaGVja2JveCBsYWJlbCBzcGFuOmhvdmVyOmFmdGVyLCAuYnV0dG9uX19pbnB1dC0tY2hlY2tib3ggbGFiZWwgLnNpZGViYXJfX21lbnUgc3Bhbjpob3ZlcjphZnRlciwgLnNpZGViYXJfX21lbnUgLmNvbnRhY3QgLnRhYl9fY29udGVudCBidXR0b246aG92ZXI6YWZ0ZXIsIC5jb250YWN0IC50YWJfX2NvbnRlbnQgLnNpZGViYXJfX21lbnUgYnV0dG9uOmhvdmVyOmFmdGVyIHtcbiAgcmlnaHQ6IC0xMHB4O1xufVxuXG4uc2lkZWJhcl9faXRlbSBhIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmhlcm8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC5oZXJvIHtcbiAgICBoZWlnaHQ6IDY1MHB4O1xuICB9XG59XG5cbi5oZXJvIHZpZGVvIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC5oZXJvIHZpZGVvIHtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbn1cblxuLmhlcm9fX3dyYXBwZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5oZXJvX19iZyB7XG4gIGhlaWdodDogMzUwcHg7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBub25lO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC5oZXJvX19iZyB7XG4gICAgaGVpZ2h0OiA2NTBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxufVxuXG4uaGVyb19fdGV4dCB7XG4gIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLmhlcm9fX3RleHQge1xuICAgIGhlaWdodDogMTAwcHg7XG4gICAgei1pbmRleDogMTA7XG4gICAgbWF4LXdpZHRoOiAxMjM3cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogY2FsYyg1MCUgLSAzNHB4KTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDApIGFuZCAobWF4LXdpZHRoOiA4MGVtKSB7XG4gIC5oZXJvX190ZXh0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgfVxufVxuXG4uaGVyb19fb3ZlcmxheSB7XG4gIHotaW5kZXg6IDk7XG4gIG1hcmdpbi10b3A6IC02LjNyZW07XG4gIHBhZGRpbmctYm90dG9tOiA4MnB4O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgIzY0YjA0NCA4MCUsIHJnYmEoMTAwLCAxNzYsIDY4LCAwKSAxMDAlKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLmhlcm9fX292ZXJsYXkge1xuICAgIG1hcmdpbi10b3A6IC03LjJyZW07XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLmhlcm9fX292ZXJsYXkge1xuICAgIG1hcmdpbi10b3A6IDByZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgIzdlYmUzOCAwJSwgcmdiYSgxMDAsIDE3NiwgNjgsIDApIDcwJSk7XG4gICAgaGVpZ2h0OiA2NTBweDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIGFuZCAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5oZXJvX19vdmVybGF5IHtcbiAgICBtYXJnaW4tdG9wOiAwcmVtO1xuICB9XG59XG5cbi5oZXJvIGgxIHtcbiAgbWFyZ2luLXRvcDogMHJlbTtcbiAgcGFkZGluZy10b3A6IDByZW07XG4gIHBhZGRpbmctYm90dG9tOiAwcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwcmVtO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAuaGVybyBoMSB7XG4gICAgbWFyZ2luLXRvcDogMHJlbTtcbiAgICBwYWRkaW5nLXRvcDogMHJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMHJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwcmVtO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC5oZXJvIGgxIHtcbiAgICBtYXgtd2lkdGg6IDYzMHB4O1xuICB9XG59XG5cbi5oZXJvIC5zdWJ0aXRlbCB7XG4gIG1hcmdpbi10b3A6IDByZW07XG4gIHBhZGRpbmctdG9wOiAwcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMHJlbTtcbiAgY29sb3I6ICNmZmY7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC5oZXJvIC5zdWJ0aXRlbCB7XG4gICAgbWF4LXdpZHRoOiA2MzBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAuaGVybyAuc3VidGl0ZWwge1xuICAgIG1hcmdpbi10b3A6IDByZW07XG4gICAgcGFkZGluZy10b3A6IDByZW07XG4gICAgcGFkZGluZy1ib3R0b206IDByZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMHJlbTtcbiAgfVxufVxuXG4uaGVyb19fYW5pbWFscyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBtYXJnaW46IGF1dG87XG4gIHotaW5kZXg6IDEwO1xuICBtYXgtd2lkdGg6IDEyMzdweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDApIGFuZCAobWF4LXdpZHRoOiA4MGVtKSB7XG4gIC5oZXJvX19hbmltYWxzIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgfVxufVxuXG4uaGVyb19fYW5pbWFscyAuYW5pbWFsQ2FyZHMge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC5oZXJvX19hbmltYWxzIC5hbmltYWxDYXJkcyB7XG4gICAgd2lkdGg6IDI0MHB4O1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIGhlYWRlciB7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMy41MDA0MDQyMDM4JTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDMuNzk5NTE0OTU1NCU7XG4gICAgbWFyZ2luLWxlZnQ6IDguNjQ5OTU5NTc5NiU7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLmNvbnRlbnRTaWRlYmFyIC5zaWRlYmFyIHtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDY1LjQwMDE2MTY4MTUlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMy43OTk1MTQ5NTU0JTtcbiAgICBtYXJnaW4tbGVmdDogMTcuMjk5OTE5MTU5MiU7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLmNvbnRlbnRTaWRlYmFyIC5zaWRlYmFyIHtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDIyLjE1MDM2Mzc4MzQlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMy43OTk1MTQ5NTU0JTtcbiAgICBtYXJnaW4tbGVmdDogLTc3Ljg0OTYzNjIxNjYlO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC5jb250ZW50U2lkZWJhciAuc2lkZWJhci0tcmlnaHQge1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogNjUuNDAwMTYxNjgxNSU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAzLjc5OTUxNDk1NTQlO1xuICAgIG1hcmdpbi1sZWZ0OiAwJTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAuY29udGVudFNpZGViYXIgLnNpZGViYXItLXJpZ2h0IHtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDIyLjE1MDM2Mzc4MzQlO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDAlO1xuICB9XG59XG5cbi5jb250ZW50U2lkZWJhciAuY29udGVudCBoMSB7XG4gIGNvbG9yOiAjMWEyNDVjO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDVlbSkge1xuICAuY29udGVudFNpZGViYXIgLmNvbnRlbnQge1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogNjUuNDAwMTYxNjgxNSU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAzLjc5OTUxNDk1NTQlO1xuICAgIG1hcmdpbi1sZWZ0OiAxNy4yOTk5MTkxNTkyJTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAuY29udGVudFNpZGViYXIgLmNvbnRlbnQge1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogNDguMTAwMjQyNTIyMyU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAzLjc5OTUxNDk1NTQlO1xuICAgIG1hcmdpbi1sZWZ0OiAwJTtcbiAgICBtYXJnaW4tbGVmdDogMjUuOTQ5ODc4NzM4OSU7XG4gIH1cbn1cblxuLnBhZ2UtLTQwNCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5wYWdlLS00MDQgdmlkZW8ge1xuICBtYXJnaW4tdG9wOiAyLjFyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMXJlbTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5wYWdlLS00MDQgdmlkZW8ge1xuICAgIG1hcmdpbi10b3A6IDIuNHJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAucGFnZS0tNDA0IHZpZGVvIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLnBhZ2VfX2xlZnQge1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogNDguMTAwMjQyNTIyMyU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAzLjc5OTUxNDk1NTQlO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC5wYWdlX19yaWdodCB7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiA0OC4xMDAyNDI1MjIzJTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbi5uaWV1d3Mtb3ZlcnppY2h0IC50YWdzRmlsdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RmZTBlNTtcbiAgbWFyZ2luLXRvcDogLTQuMnJlbTtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4IDE0cHg7XG4gIHotaW5kZXg6IDEwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5uaWV1d3Mtb3ZlcnppY2h0IC50YWdzRmlsdGVyIHtcbiAgICBtYXJnaW4tdG9wOiAtNC44cmVtO1xuICB9XG59XG5cbi5uaWV1d3Mtb3ZlcnppY2h0IC50YWdzRmlsdGVyIGg0IHtcbiAgbWFyZ2luLXRvcDogMHJlbTtcbiAgcGFkZGluZy10b3A6IDByZW07XG4gIHBhZGRpbmctYm90dG9tOiAwcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjA1cmVtO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAubmlldXdzLW92ZXJ6aWNodCAudGFnc0ZpbHRlciBoNCB7XG4gICAgbWFyZ2luLXRvcDogMHJlbTtcbiAgICBwYWRkaW5nLXRvcDogMHJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMHJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwcmVtO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5uaWV1d3Mtb3ZlcnppY2h0IC50YWdzRmlsdGVyIGg0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjJyZW07XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLm5pZXV3cy1vdmVyemljaHQgLnRhZ3NGaWx0ZXIge1xuICAgIG1hcmdpbi10b3A6IC0zLjE1cmVtO1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogNDguMTAwMjQyNTIyMyU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAzLjc5OTUxNDk1NTQlO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSBhbmQgKG1pbi13aWR0aDogNjBlbSkge1xuICAubmlldXdzLW92ZXJ6aWNodCAudGFnc0ZpbHRlciB7XG4gICAgbWFyZ2luLXRvcDogLTMuNnJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAubmlldXdzLW92ZXJ6aWNodCAudGFnc0ZpbHRlciB7XG4gICAgcGFkZGluZzogMjdweDtcbiAgfVxufVxuXG4ubmlldXdzLW92ZXJ6aWNodCAudGFnc0ZpbHRlciAuYnV0dG9uX19wcmltYXJ5LCAubmlldXdzLW92ZXJ6aWNodCAudGFnc0ZpbHRlciAubWF0cml4X19pdGVtIC5mcmVlZm9ybS1yb3cgYnV0dG9uLCAubWF0cml4X19pdGVtIC5mcmVlZm9ybS1yb3cgLm5pZXV3cy1vdmVyemljaHQgLnRhZ3NGaWx0ZXIgYnV0dG9uLCAubmlldXdzLW92ZXJ6aWNodCAudGFnc0ZpbHRlciAuY29udGFjdCAudGFiX19jb250ZW50IGJ1dHRvbiwgLmNvbnRhY3QgLnRhYl9fY29udGVudCAubmlldXdzLW92ZXJ6aWNodCAudGFnc0ZpbHRlciBidXR0b24ge1xuICBtYXJnaW4tdG9wOiAyLjFyZW07XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5uaWV1d3Mtb3ZlcnppY2h0IC50YWdzRmlsdGVyIC5idXR0b25fX3ByaW1hcnksIC5uaWV1d3Mtb3ZlcnppY2h0IC50YWdzRmlsdGVyIC5tYXRyaXhfX2l0ZW0gLmZyZWVmb3JtLXJvdyBidXR0b24sIC5tYXRyaXhfX2l0ZW0gLmZyZWVmb3JtLXJvdyAubmlldXdzLW92ZXJ6aWNodCAudGFnc0ZpbHRlciBidXR0b24sIC5uaWV1d3Mtb3ZlcnppY2h0IC50YWdzRmlsdGVyIC5jb250YWN0IC50YWJfX2NvbnRlbnQgYnV0dG9uLCAuY29udGFjdCAudGFiX19jb250ZW50IC5uaWV1d3Mtb3ZlcnppY2h0IC50YWdzRmlsdGVyIGJ1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogMi40cmVtO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5uaWV1d3Mtb3ZlcnppY2h0IC5ib2R5VGV4dCB7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiA0OC4xMDAyNDI1MjIzJTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbi56b2VrZW4gaDEge1xuICBjb2xvcjogIzFhMjQ1Yztcbn1cblxuLnpvZWtlbiBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgbWFyZ2luLXRvcDogMi4xcmVtO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAuem9la2VuIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIG1hcmdpbi10b3A6IDIuNHJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAuem9la2VuIGFydGljbGUge1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogNDguMTAwMjQyNTIyMyU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAzLjc5OTUxNDk1NTQlO1xuICAgIG1hcmdpbi1sZWZ0OiAyNS45NDk4Nzg3Mzg5JTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAuem9la2VuLnJlc3VsdGF0ZW4gLnNpZGViYXIge1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMjIuMTUwMzYzNzgzNCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAzLjc5OTUxNDk1NTQlO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC56b2VrZW4ucmVzdWx0YXRlbiBhcnRpY2xlIHtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDQ4LjEwMDI0MjUyMjMlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMy43OTk1MTQ5NTU0JTtcbiAgICBtYXJnaW4tbGVmdDogMCU7XG4gIH1cbn1cblxuLmxvY2F0aWVab2VrZXIgI2FwcCB7XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmxvY2F0aWVab2VrZXIgaDEge1xuICBtYXJnaW4tdG9wOiAwcmVtO1xuICBwYWRkaW5nLXRvcDogMHJlbTtcbiAgcGFkZGluZy1ib3R0b206IDByZW07XG4gIG1hcmdpbi1ib3R0b206IDByZW07XG4gIG1hcmdpbi1ib3R0b206IDEuMDVyZW07XG4gIGNvbG9yOiAjMWEyNDVjO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAubG9jYXRpZVpvZWtlciBoMSB7XG4gICAgbWFyZ2luLXRvcDogMHJlbTtcbiAgICBwYWRkaW5nLXRvcDogMHJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMHJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwcmVtO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5sb2NhdGllWm9la2VyIGgxIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjJyZW07XG4gIH1cbn1cblxuLmxvY2F0aWVab2VrZXIgLnNpZGViYXIge1xuICBoZWlnaHQ6IDU1MHB4O1xuICBtYXJnaW4tdG9wOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDVlbSkge1xuICAubG9jYXRpZVpvZWtlciAuc2lkZWJhciB7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkZmUwZTU7XG4gICAgaGVpZ2h0OiA5MDBweDtcbiAgfVxufVxuXG4ubG9jYXRpZVpvZWtlciBtYWluIGlucHV0IHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5sb2NhdGllWm9la2VyIC5wYWQyIHtcbiAgcGFkZGluZzogMjBweDtcbn1cblxuLmxvY2F0aWVab2VrZXIgLnF1aWV0IHtcbiAgY29sb3I6ICM4ODg7XG59XG5cbi5sb2NhdGllWm9la2VyIC5tYXAge1xuICBoZWlnaHQ6IDQwMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDVlbSkge1xuICAubG9jYXRpZVpvZWtlciAubWFwIHtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkZmUwZTU7XG4gICAgaGVpZ2h0OiA5MDBweDtcbiAgfVxufVxuXG4ubG9jYXRpZVpvZWtlciAuaGVhZGluZyB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGZlMGU1O1xuICBoZWlnaHQ6IGF1dG87XG4gIHBhZGRpbmc6IDEwcHg7XG59XG5cbi5sb2NhdGllWm9la2VyICNsaXN0aW5nRGl2IHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ubG9jYXRpZVpvZWtlciAubGlzdGluZ3Mge1xuICBvdmVyZmxvdzogYXV0bztcbiAgaGVpZ2h0OiAyNzBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLmxvY2F0aWVab2VrZXIgLmxpc3RpbmdzIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzgwcHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbi5sb2NhdGllWm9la2VyIC5saXN0aW5ncyAubGVmdCB7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuLmxvY2F0aWVab2VrZXIgLmxpc3RpbmdzIC5yaWdodCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG59XG5cbi5sb2NhdGllWm9la2VyIC5zaWRlYmFyIGZpZWxkc2V0IHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbn1cblxuLmxvY2F0aWVab2VrZXIgLmxpc3RpbmdzIC5pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGZlMGU1O1xuICBwYWRkaW5nOiAxMHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5sb2NhdGllWm9la2VyIC5saXN0aW5ncyAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLmxvY2F0aWVab2VrZXIgLmxpc3RpbmdzIC5pdGVtIC50aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogIzFhMjQ1YztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLmxvY2F0aWVab2VrZXIgLmxpc3RpbmdzIC5pdGVtIC50aXRsZSBzbWFsbCB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi5sb2NhdGllWm9la2VyIC5saXN0aW5ncyAuaXRlbS5hY3RpdmUgLnRpdGxlLFxuLmxvY2F0aWVab2VrZXIgLmxpc3RpbmdzIC5pdGVtIC50aXRsZTpob3ZlciB7XG4gIGNvbG9yOiAjN2ViZTM4O1xufVxuXG4ubG9jYXRpZVpvZWtlciAubGlzdGluZ3MgLml0ZW0uYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcbn1cblxuLmxvY2F0aWVab2VrZXIgI3N0b3JlaW5mbyB7XG4gIHBhZGRpbmc6IDJweCAxMHB4O1xuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2ViZTM4O1xuICBjb2xvcjogI2ZmZjtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLmxvY2F0aWVab2VrZXIgI3N0b3JlaW5mbyB7XG4gICAgcGFkZGluZzogMTBweCAxMHB4IDIwcHg7XG4gIH1cbn1cblxuLmxvY2F0aWVab2VrZXIgI3N0b3JlaW5mbyBoNCB7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXJnaW4tdG9wOiAwcmVtO1xuICBwYWRkaW5nLXRvcDogMHJlbTtcbiAgcGFkZGluZy1ib3R0b206IDByZW07XG4gIG1hcmdpbi1ib3R0b206IDByZW07XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5sb2NhdGllWm9la2VyICNzdG9yZWluZm8gaDQge1xuICAgIG1hcmdpbi10b3A6IDByZW07XG4gICAgcGFkZGluZy10b3A6IDByZW07XG4gICAgcGFkZGluZy1ib3R0b206IDByZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMHJlbTtcbiAgfVxufVxuXG4ubG9jYXRpZVpvZWtlciAjc3RvcmVpbmZvIGEge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmxvY2F0aWVab2VrZXIgOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIHdpZHRoOiAzcHg7XG4gIGhlaWdodDogM3B4O1xuICBib3JkZXItbGVmdDogMDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG4ubG9jYXRpZVpvZWtlciA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbn1cblxuLmxvY2F0aWVab2VrZXIgOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gIGJhY2tncm91bmQ6ICMwMDg1M2U7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi5sb2NhdGllWm9la2VyIC5jbGVhcmZpeCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubG9jYXRpZVpvZWtlciAuY2xlYXJmaXg6YWZ0ZXIge1xuICBjb250ZW50OiAnLic7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDA7XG4gIGNsZWFyOiBib3RoO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5sb2NhdGllWm9la2VyIC5sZWFmbGV0LWNvbnRhaW5lciAubGVhZmxldC1tYXJrZXItaWNvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmxvY2F0aWVab2VrZXIgI2Nsb3NlQnV0dG9uIHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4ubG9jYXRpZVpvZWtlciAjY2xvc2VCdXR0b246aG92ZXIsXG4ubG9jYXRpZVpvZWtlciA6Zm9jdXMge1xuICBjb2xvcjogIzdlYmUzODtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubG9jYXRpZVpvZWtlciAjc2VhcmNoSWNvbjpob3Zlcixcbi5sb2NhdGllWm9la2VyIDpmb2N1cyB7XG4gIGNvbG9yOiAjN2ViZTM4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5sb2NhdGllWm9la2VyICNpbmZvQ2xvc2Uge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi5sb2NhdGllWm9la2VyICNzZWFyY2hJY29uIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LXNpemU6IDI2cHg7XG4gIG1hcmdpbi10b3A6IDFweDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgLmxvY2F0aWVab2VrZXIgI3NlYXJjaEljb24ge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuXG4udmVyaGFsZW4tb3ZlcnppY2h0IC5zdG9yaWVzX19pdGVtIHtcbiAgbWFyZ2luLWJvdHRvbTogNC4ycmVtO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAudmVyaGFsZW4tb3ZlcnppY2h0IC5zdG9yaWVzX19pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0LjhyZW07XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLnZlcmhhbGVuLW92ZXJ6aWNodCAuc3Rvcmllc19faXRlbSB7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiA0OC4xMDAyNDI1MjIzJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDMuNzk5NTE0OTU1NCU7XG4gIH1cbiAgLnZlcmhhbGVuLW92ZXJ6aWNodCAuc3Rvcmllc19faXRlbTpudGgtb2YtdHlwZSgybisyKSB7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiA0OC4xMDAyNDI1MjIzJTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbi5jb250YWN0IC5icmVhZGNydW1icyB7XG4gIG1hcmdpbi10b3A6IDIuMXJlbTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLmNvbnRhY3QgLmJyZWFkY3J1bWJzIHtcbiAgICBtYXJnaW4tdG9wOiAyLjRyZW07XG4gIH1cbn1cblxuLmNvbnRhY3QgaDEge1xuICBjb2xvcjogIzFhMjQ1Yztcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLmNvbnRhY3QgYXJ0aWNsZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1Ljk0OTg3ODczODklO1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogNDguMTAwMjQyNTIyMyU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAzLjc5OTUxNDk1NTQlO1xuICB9XG59XG5cbi5jb250YWN0IC5tYXBzIHtcbiAgaGVpZ2h0OiA0MDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMi4xcmVtO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAuY29udGFjdCAubWFwcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMi40cmVtO1xuICB9XG59XG5cbi5jb250YWN0IC5jb250YWN0Rm9ybSB7XG4gIG1hcmdpbi1ib3R0b206IDIuMXJlbTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLmNvbnRhY3QgLmNvbnRhY3RGb3JtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07XG4gIH1cbn1cblxuLmNvbnRhY3QgLnRhYl9fY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jb250YWN0IC50YWJfX2NvbnRlbnQuYWN0aXZlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC5ob21lIC5hYm91dCB7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiA0OC4xMDAyNDI1MjIzJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDMuNzk5NTE0OTU1NCU7XG4gIH1cbiAgLmhvbWUgLm5ld3Mge1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogNDguMTAwMjQyNTIyMyU7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuICAuaG9tZSAuYmVuZWZpdHMge1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogNDguMTAwMjQyNTIyMyU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAzLjc5OTUxNDk1NTQlO1xuICB9XG4gIC5ob21lIC5zdG9yaWVzIHtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDQ4LjEwMDI0MjUyMjMlO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLnByYWt0aWprZW4gLmFib3V0IHtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDQ4LjEwMDI0MjUyMjMlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMy43OTk1MTQ5NTU0JTtcbiAgfVxuICAucHJha3RpamtlbiAuZW1wbG95ZWVzIHtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDQ4LjEwMDI0MjUyMjMlO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbiAgLnByYWt0aWprZW4gLmVtcGxveWVlcyBoMyBhIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICB9XG4gIC5wcmFrdGlqa2VuIC5lbXBsb3llZXMgLmVtcGxveWVlIHtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDI4LjA2NzIyNjg5MDklO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogNy44OTkxNTk2NjM3JTtcbiAgfVxuICAucHJha3RpamtlbiAuZW1wbG95ZWVzIC5lbXBsb3llZTpudGgtb2YtdHlwZSgzbiszKSB7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAyOC4wNjcyMjY4OTA5JTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbi5kaWVyc29vcnRlbi1vdmVyemljaHQgLmFuaW1hbHMsXG4uZGllcnNvb3J0ZW4tb3ZlcnppY2h0IC5zcGVjaWFsaXNtLFxuLmRpZXJzb29ydGVuLWVudHJ5IC5hbmltYWxzLFxuLmRpZXJzb29ydGVuLWVudHJ5IC5zcGVjaWFsaXNtIHtcbiAgbWFyZ2luLXRvcDogLTQuMnJlbTtcbiAgei1pbmRleDogMTA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLmRpZXJzb29ydGVuLW92ZXJ6aWNodCAuYW5pbWFscyxcbiAgLmRpZXJzb29ydGVuLW92ZXJ6aWNodCAuc3BlY2lhbGlzbSxcbiAgLmRpZXJzb29ydGVuLWVudHJ5IC5hbmltYWxzLFxuICAuZGllcnNvb3J0ZW4tZW50cnkgLnNwZWNpYWxpc20ge1xuICAgIG1hcmdpbi10b3A6IC00LjhyZW07XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLmRpZXJzb29ydGVuLW92ZXJ6aWNodCAuYW5pbWFscyxcbiAgLmRpZXJzb29ydGVuLW92ZXJ6aWNodCAuc3BlY2lhbGlzbSxcbiAgLmRpZXJzb29ydGVuLWVudHJ5IC5hbmltYWxzLFxuICAuZGllcnNvb3J0ZW4tZW50cnkgLnNwZWNpYWxpc20ge1xuICAgIG1hcmdpbi10b3A6IC0zLjE1cmVtO1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogNDguMTAwMjQyNTIyMyU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAzLjc5OTUxNDk1NTQlO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0NWVtKSBhbmQgKG1pbi13aWR0aDogNjBlbSkge1xuICAuZGllcnNvb3J0ZW4tb3ZlcnppY2h0IC5hbmltYWxzLFxuICAuZGllcnNvb3J0ZW4tb3ZlcnppY2h0IC5zcGVjaWFsaXNtLFxuICAuZGllcnNvb3J0ZW4tZW50cnkgLmFuaW1hbHMsXG4gIC5kaWVyc29vcnRlbi1lbnRyeSAuc3BlY2lhbGlzbSB7XG4gICAgbWFyZ2luLXRvcDogLTMuNnJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDVlbSkge1xuICAuZGllcnNvb3J0ZW4tb3ZlcnppY2h0IC5ib2R5VGV4dCxcbiAgLmRpZXJzb29ydGVuLWVudHJ5IC5ib2R5VGV4dCB7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiA0OC4xMDAyNDI1MjIzJTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbi5kaWVyc29vcnRlbi1vdmVyemljaHQgLnN0b3JpZXMsXG4uZGllcnNvb3J0ZW4tZW50cnkgLnN0b3JpZXMge1xuICBtYXJnaW4tdG9wOiA0LjJyZW07XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5kaWVyc29vcnRlbi1vdmVyemljaHQgLnN0b3JpZXMsXG4gIC5kaWVyc29vcnRlbi1lbnRyeSAuc3RvcmllcyB7XG4gICAgbWFyZ2luLXRvcDogNC44cmVtO1xuICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIEJhc2UgZmlsZSwgYWxsIGluY2x1ZGVzLCBkZWZpbmVzICYgY3VzdG9tIG1peGlucyBzaG91bGQgYmUgYWRkZWQgaGVyZVxuICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8vIEZyYW1ld29yayBpbmNsdWRlc1xuQGltcG9ydCBcInN1c3lcIjtcbkBpbXBvcnQgJ21vZHVsYXItc2NhbGUnO1xuLy8gVmVuZG9yIGluY2x1ZGVzXG5AaW1wb3J0IFwidmVuZG9yL25vcm1hbGl6ZVwiO1xuQGltcG9ydCBcInZlbmRvci9MLlZpc3VhbENsaWNrXCI7XG5AaW1wb3J0IFwidmVuZG9yL2xlYWZsZXRcIjtcbkBpbXBvcnQgXCJ2ZW5kb3IvYW5pbWF0ZVwiO1xuQGltcG9ydCBcInZlbmRvci9sZWFmbGV0LXNlYXJjaC5zcmNcIjtcbkBpbXBvcnQgXCJ2ZW5kb3Ivc2xpY2tcIjtcbi8vIFV0aWxpdGllc1xuQGltcG9ydCBcInV0aWxpdGllcy9taXhpbnNcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL3BhbGV0dGVzXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL2dyaWRcIjtcbi8vIFR5cG9ncmFwaHlcbkBpbXBvcnQgXCJ0eXBlc2l6ZVwiO1xuQGltcG9ydCBcInV0aWxpdGllcy90eXBvZ3JhcGh5XCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL2ZsZXhpdFwiO1xuQGltcG9ydCBcInV0aWxpdGllcy9tYXRyaXhcIjtcbi8vIEF0b21zXG5AaW1wb3J0IFwiYXRvbXMvaHRtbFwiO1xuQGltcG9ydCBcImF0b21zL2JvZHlcIjtcbkBpbXBvcnQgXCJhdG9tcy9idXR0b25zXCI7XG5AaW1wb3J0IFwiYXRvbXMvaGVhZGluZ3NcIjtcbkBpbXBvcnQgXCJhdG9tcy90ZXh0LXNlbGVjdGlvblwiO1xuQGltcG9ydCBcImF0b21zL2xpbmtzXCI7XG5AaW1wb3J0IFwiYXRvbXMvbGlzdHNcIjtcbkBpbXBvcnQgXCJhdG9tcy9pbWdcIjtcbkBpbXBvcnQgXCJhdG9tcy9oclwiO1xuQGltcG9ydCBcImF0b21zL2lucHV0c1wiO1xuQGltcG9ydCBcImF0b21zL2xhYmVsc1wiO1xuQGltcG9ydCBcImF0b21zL2NyZWRpdHNOaWljZVwiO1xuLy8gTW9sZWN1bGVzXG5AaW1wb3J0IFwibW9sZWN1bGVzL25hdlwiO1xuQGltcG9ydCBcIm1vbGVjdWxlcy9uYXYtc2l0ZXNcIjtcbkBpbXBvcnQgXCJtb2xlY3VsZXMvbmF2LWNvbnRhY3RcIjtcbkBpbXBvcnQgXCJtb2xlY3VsZXMvbmF2LXRvcE5hdlwiO1xuQGltcG9ydCBcIm1vbGVjdWxlcy9jb29raWVub3RpY2VcIjtcbkBpbXBvcnQgXCJtb2xlY3VsZXMvbmF2LWhhbWJ1cmdlclwiO1xuQGltcG9ydCBcIm1vbGVjdWxlcy9iYXJcIjtcbkBpbXBvcnQgXCJtb2xlY3VsZXMvaGVyb0NhcmRcIjtcbkBpbXBvcnQgXCJtb2xlY3VsZXMvc2hhcmVcIjtcbkBpbXBvcnQgXCJtb2xlY3VsZXMvbmV3c0NhcmRcIjtcbkBpbXBvcnQgXCJtb2xlY3VsZXMvcG9wLXVwXCI7XG5AaW1wb3J0IFwibW9sZWN1bGVzL2FuaW1hbENhcmRzXCI7XG5AaW1wb3J0IFwibW9sZWN1bGVzL2VtcGxveWVlc1wiO1xuQGltcG9ydCBcIm1vbGVjdWxlcy9zdG9yaWVzU3BvdGxpZ2h0XCI7XG5AaW1wb3J0IFwibW9sZWN1bGVzL3BhZ2luYXRpb25cIjtcbkBpbXBvcnQgXCJtb2xlY3VsZXMvYnJlYWRjcnVtYnNcIjtcbi8vIE9yZ2FuaXNtc1xuQGltcG9ydCBcIm9yZ2FuaXNtcy9mb290ZXJcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMvaGVhZGVyXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zL2FydGljbGVcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMvZm9ybVwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy9zaWRlYmFyXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zL2hlcm9cIjtcbi8vIFRlbXBsYXRlc1xuQGltcG9ydCBcInRlbXBsYXRlcy9wYWdlXCI7XG5AaW1wb3J0IFwidGVtcGxhdGVzL25pZXV3c1wiO1xuQGltcG9ydCBcInRlbXBsYXRlcy9zZWFyY2hcIjtcbkBpbXBvcnQgXCJ0ZW1wbGF0ZXMvbG9jYXRpZS16b2VrZXJcIjtcbkBpbXBvcnQgXCJ0ZW1wbGF0ZXMvdmVyaGFsZW5cIjtcbkBpbXBvcnQgXCJ0ZW1wbGF0ZXMvY29udGFjdFwiO1xuQGltcG9ydCBcInRlbXBsYXRlcy9ob21lXCI7XG5AaW1wb3J0IFwidGVtcGxhdGVzL3ByYWt0aWprZW5cIjtcbkBpbXBvcnQgXCJ0ZW1wbGF0ZXMvZGllcnNvb3J0ZW5cIjtcbiIsIi8qISBub3JtYWxpemUuY3NzIHY1LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gKiAgICBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4gKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmh0bWwge1xuICAgIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDIgKi9cbiAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG5ib2R5IHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogU2V0dGluZyBmb250IHN0eWxlIGJhY2sgdG8gZGVmYXVsdFxuICovXG5cbmFkZHJlc3Mge1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5mb290ZXIsXG5oZWFkZXIsXG5uYXYsXG5zZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5cbmgxIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbm1haW4geyAvKiAxICovXG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICovXG5cbmZpZ3VyZSB7XG4gICAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gICAgaGVpZ2h0OiAwOyAvKiAxICovXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICovXG5cbmEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovXG4gICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgICBvdXRsaW5lLXdpZHRoOiAwO1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICovXG5cbmIsXG5zdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAqL1xuXG5kZm4ge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gKi9cblxubWFyayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgICBjb2xvcjogIzAwMDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gICAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICAgIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5hdWRpbyxcbnZpZGVvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICovXG5cbmltZyB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKipcbiAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAgIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG5maWVsZHNldCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICBtYXJnaW46IDAgMnB4O1xuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICAgIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICovXG5cbnRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gKi9cblxuZGV0YWlscywgLyogMSAqL1xubWVudSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG4gICAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBTY3JpcHRpbmdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cblxuY2FudmFzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxudGVtcGxhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEhpZGRlblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gKi9cblxuW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIvKlxuKiBIZWF2aWx5IGJhc2VkIG9uIHRoZSBDU1MgZm9yIGh0dHBzOi8vZ2l0aHViLmNvbS9tYXBzaGFrZXJzL2xlYWZsZXQtaWNvbi1wdWxzZVxuKlxuKiBNb2RpZmllZCB0byBnZXQgcmlkIG9mIHRoZSBvcGFxdWUgY2lyY2xlLCBhbmQgdHdlYWtlZCB0aGUgcHVsc2UgdG8gYmUgc3VidGxlci5cbiovXG5cbi5sZWFmbGV0LXZpc3VhbGNsaWNrLWljb24ge1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5sZWFmbGV0LXZpc3VhbGNsaWNrLWljb246YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG1hcmdpbi1sZWZ0OiAtMzBweDtcbiAgICBtYXJnaW4tdG9wOiAtMzBweDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAyNXB4IC0xcHggI0UxRTNFNCwgMCAwIDEwcHggLTFweCAjQzVDNUM1O1xuXG4gICAgYW5pbWF0aW9uOiB2aXN1YWxjbGljay1wdWxzYXRlIDAuN3MgZWFzZS1vdXQ7XG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcbiAgICBhbmltYXRpb24tZGVsYXk6IDBzO1xuICAgIG9wYWNpdHk6IDA7XG59XG5cbi5sZWFmbGV0LXZpc3VhbGNsaWNrLWljb24tdG91Y2g6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBoZWlnaHQ6IDE0MHB4O1xuICAgIHdpZHRoOiAxNDBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWFyZ2luLWxlZnQ6IC03MHB4O1xuICAgIG1hcmdpbi10b3A6IC03MHB4O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDI1cHggLTFweCAjRTFFM0U0LCAwIDAgMTBweCAtMXB4ICNDNUM1QzU7XG5cbiAgICBhbmltYXRpb246IHZpc3VhbGNsaWNrLXB1bHNhdGUtdG91Y2ggMC43cyBlYXNlLW91dDtcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxO1xuICAgIGFuaW1hdGlvbi1kZWxheTogMHM7XG4gICAgb3BhY2l0eTogMDtcbn1cblxuQGtleWZyYW1lcyB2aXN1YWxjbGljay1wdWxzYXRlIHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG59XG5cblxuQGtleWZyYW1lcyB2aXN1YWxjbGljay1wdWxzYXRlLXRvdWNoIHtcbiAgICBmcm9tIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgb3BhY2l0eTogMC44O1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC4yKTtcbiAgICAgICAgb3BhY2l0eTogMC4wO1xuICAgIH1cbn1cblxuXG4ubGVhZmxldC1wYW5lLmxlYWZsZXQtaWUxMC12aXN1YWwtY2xpY2stcGFuZS1wYW5lIHsgei1pbmRleDogMzAwOyB9XG5cbiIsIi8qIHJlcXVpcmVkIHN0eWxlcyAqL1xyXG5cclxuLmxlYWZsZXQtbWFwLXBhbmUsXHJcbi5sZWFmbGV0LXRpbGUsXHJcbi5sZWFmbGV0LW1hcmtlci1pY29uLFxyXG4ubGVhZmxldC1tYXJrZXItc2hhZG93LFxyXG4ubGVhZmxldC10aWxlLXBhbmUsXHJcbi5sZWFmbGV0LXRpbGUtY29udGFpbmVyLFxyXG4ubGVhZmxldC1vdmVybGF5LXBhbmUsXHJcbi5sZWFmbGV0LXNoYWRvdy1wYW5lLFxyXG4ubGVhZmxldC1tYXJrZXItcGFuZSxcclxuLmxlYWZsZXQtcG9wdXAtcGFuZSxcclxuLmxlYWZsZXQtb3ZlcmxheS1wYW5lIHN2ZyxcclxuLmxlYWZsZXQtem9vbS1ib3gsXHJcbi5sZWFmbGV0LWltYWdlLWxheWVyLFxyXG4ubGVhZmxldC1sYXllciB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGxlZnQ6IDA7XHJcblx0dG9wOiAwO1xyXG5cdH1cclxuLmxlYWZsZXQtY29udGFpbmVyIHtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XHJcblx0dG91Y2gtYWN0aW9uOiBub25lO1xyXG5cdH1cclxuLmxlYWZsZXQtdGlsZSxcclxuLmxlYWZsZXQtbWFya2VyLWljb24sXHJcbi5sZWFmbGV0LW1hcmtlci1zaGFkb3cge1xyXG5cdC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XHJcblx0ICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcclxuXHQgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG5cdC13ZWJraXQtdXNlci1kcmFnOiBub25lO1xyXG5cdH1cclxuLmxlYWZsZXQtbWFya2VyLWljb24sXHJcbi5sZWFmbGV0LW1hcmtlci1zaGFkb3cge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdH1cclxuLyogbWFwIGlzIGJyb2tlbiBpbiBGRiBpZiB5b3UgaGF2ZSBtYXgtd2lkdGg6IDEwMCUgb24gdGlsZXMgKi9cclxuLmxlYWZsZXQtY29udGFpbmVyIGltZyB7XHJcblx0bWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XHJcblx0fVxyXG4vKiBzdHVwaWQgQW5kcm9pZCAyIGRvZXNuJ3QgdW5kZXJzdGFuZCBcIm1heC13aWR0aDogbm9uZVwiIHByb3Blcmx5ICovXHJcbi5sZWFmbGV0LWNvbnRhaW5lciBpbWcubGVhZmxldC1pbWFnZS1sYXllciB7XHJcblx0bWF4LXdpZHRoOiAxNTAwMHB4ICFpbXBvcnRhbnQ7XHJcblx0fVxyXG4ubGVhZmxldC10aWxlIHtcclxuXHRmaWx0ZXI6IGluaGVyaXQ7XHJcblx0dmlzaWJpbGl0eTogaGlkZGVuO1xyXG5cdH1cclxuLmxlYWZsZXQtdGlsZS1sb2FkZWQge1xyXG5cdHZpc2liaWxpdHk6IGluaGVyaXQ7XHJcblx0fVxyXG4ubGVhZmxldC16b29tLWJveCB7XHJcblx0d2lkdGg6IDA7XHJcblx0aGVpZ2h0OiAwO1xyXG5cdH1cclxuLyogd29ya2Fyb3VuZCBmb3IgaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODg4MzE5ICovXHJcbi5sZWFmbGV0LW92ZXJsYXktcGFuZSBzdmcge1xyXG5cdC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XHJcblx0fVxyXG5cclxuLmxlYWZsZXQtdGlsZS1wYW5lICAgIHsgei1pbmRleDogMjsgfVxyXG4ubGVhZmxldC1vYmplY3RzLXBhbmUgeyB6LWluZGV4OiAzOyB9XHJcbi5sZWFmbGV0LW92ZXJsYXktcGFuZSB7IHotaW5kZXg6IDQ7IH1cclxuLmxlYWZsZXQtc2hhZG93LXBhbmUgIHsgei1pbmRleDogNTsgfVxyXG4ubGVhZmxldC1tYXJrZXItcGFuZSAgeyB6LWluZGV4OiA2OyB9XHJcbi5sZWFmbGV0LXBvcHVwLXBhbmUgICB7IHotaW5kZXg6IDc7IH1cclxuXHJcbi5sZWFmbGV0LXZtbC1zaGFwZSB7XHJcblx0d2lkdGg6IDFweDtcclxuXHRoZWlnaHQ6IDFweDtcclxuXHR9XHJcbi5sdm1sIHtcclxuXHRiZWhhdmlvcjogdXJsKCNkZWZhdWx0I1ZNTCk7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR9XHJcblxyXG5cclxuLyogY29udHJvbCBwb3NpdGlvbmluZyAqL1xyXG5cclxuLmxlYWZsZXQtY29udHJvbCB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHotaW5kZXg6IDc7XHJcblx0cG9pbnRlci1ldmVudHM6IGF1dG87XHJcblx0fVxyXG4ubGVhZmxldC10b3AsXHJcbi5sZWFmbGV0LWJvdHRvbSB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHotaW5kZXg6IDEwMDA7XHJcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblx0fVxyXG4ubGVhZmxldC10b3Age1xyXG5cdHRvcDogMDtcclxuXHR9XHJcbi5sZWFmbGV0LXJpZ2h0IHtcclxuXHRyaWdodDogMDtcclxuXHR9XHJcbi5sZWFmbGV0LWJvdHRvbSB7XHJcblx0Ym90dG9tOiAwO1xyXG5cdH1cclxuLmxlYWZsZXQtbGVmdCB7XHJcblx0bGVmdDogMDtcclxuXHR9XHJcbi5sZWFmbGV0LWNvbnRyb2wge1xyXG5cdGZsb2F0OiBsZWZ0O1xyXG5cdGNsZWFyOiBib3RoO1xyXG5cdH1cclxuLmxlYWZsZXQtcmlnaHQgLmxlYWZsZXQtY29udHJvbCB7XHJcblx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdH1cclxuLmxlYWZsZXQtdG9wIC5sZWFmbGV0LWNvbnRyb2wge1xyXG5cdG1hcmdpbi10b3A6IDEwcHg7XHJcblx0fVxyXG4ubGVhZmxldC1ib3R0b20gLmxlYWZsZXQtY29udHJvbCB7XHJcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHR9XHJcbi5sZWFmbGV0LWxlZnQgLmxlYWZsZXQtY29udHJvbCB7XHJcblx0bWFyZ2luLWxlZnQ6IDEwcHg7XHJcblx0fVxyXG4ubGVhZmxldC1yaWdodCAubGVhZmxldC1jb250cm9sIHtcclxuXHRtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcblx0fVxyXG5cclxuXHJcbi8qIHpvb20gYW5kIGZhZGUgYW5pbWF0aW9ucyAqL1xyXG5cclxuLmxlYWZsZXQtZmFkZS1hbmltIC5sZWFmbGV0LXRpbGUsXHJcbi5sZWFmbGV0LWZhZGUtYW5pbSAubGVhZmxldC1wb3B1cCB7XHJcblx0b3BhY2l0eTogMDtcclxuXHQtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7XHJcblx0ICAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgbGluZWFyO1xyXG5cdCAgICAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGxpbmVhcjtcclxuXHQgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7XHJcblx0fVxyXG4ubGVhZmxldC1mYWRlLWFuaW0gLmxlYWZsZXQtdGlsZS1sb2FkZWQsXHJcbi5sZWFmbGV0LWZhZGUtYW5pbSAubGVhZmxldC1tYXAtcGFuZSAubGVhZmxldC1wb3B1cCB7XHJcblx0b3BhY2l0eTogMTtcclxuXHR9XHJcblxyXG4ubGVhZmxldC16b29tLWFuaW0gLmxlYWZsZXQtem9vbS1hbmltYXRlZCB7XHJcblx0LXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjI1cyBjdWJpYy1iZXppZXIoMCwwLDAuMjUsMSk7XHJcblx0ICAgLW1vei10cmFuc2l0aW9uOiAgICAtbW96LXRyYW5zZm9ybSAwLjI1cyBjdWJpYy1iZXppZXIoMCwwLDAuMjUsMSk7XHJcblx0ICAgICAtby10cmFuc2l0aW9uOiAgICAgIC1vLXRyYW5zZm9ybSAwLjI1cyBjdWJpYy1iZXppZXIoMCwwLDAuMjUsMSk7XHJcblx0ICAgICAgICB0cmFuc2l0aW9uOiAgICAgICAgIHRyYW5zZm9ybSAwLjI1cyBjdWJpYy1iZXppZXIoMCwwLDAuMjUsMSk7XHJcblx0fVxyXG4ubGVhZmxldC16b29tLWFuaW0gLmxlYWZsZXQtdGlsZSxcclxuLmxlYWZsZXQtcGFuLWFuaW0gLmxlYWZsZXQtdGlsZSxcclxuLmxlYWZsZXQtdG91Y2hpbmcgLmxlYWZsZXQtem9vbS1hbmltYXRlZCB7XHJcblx0LXdlYmtpdC10cmFuc2l0aW9uOiBub25lO1xyXG5cdCAgIC1tb3otdHJhbnNpdGlvbjogbm9uZTtcclxuXHQgICAgIC1vLXRyYW5zaXRpb246IG5vbmU7XHJcblx0ICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xyXG5cdH1cclxuXHJcbi5sZWFmbGV0LXpvb20tYW5pbSAubGVhZmxldC16b29tLWhpZGUge1xyXG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcclxuXHR9XHJcblxyXG5cclxuLyogY3Vyc29ycyAqL1xyXG5cclxuLmxlYWZsZXQtY2xpY2thYmxlIHtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0fVxyXG4ubGVhZmxldC1jb250YWluZXIge1xyXG5cdGN1cnNvcjogLXdlYmtpdC1ncmFiO1xyXG5cdGN1cnNvcjogICAgLW1vei1ncmFiO1xyXG5cdH1cclxuLmxlYWZsZXQtcG9wdXAtcGFuZSxcclxuLmxlYWZsZXQtY29udHJvbCB7XHJcblx0Y3Vyc29yOiBhdXRvO1xyXG5cdH1cclxuLmxlYWZsZXQtZHJhZ2dpbmcgLmxlYWZsZXQtY29udGFpbmVyLFxyXG4ubGVhZmxldC1kcmFnZ2luZyAubGVhZmxldC1jbGlja2FibGUge1xyXG5cdGN1cnNvcjogbW92ZTtcclxuXHRjdXJzb3I6IC13ZWJraXQtZ3JhYmJpbmc7XHJcblx0Y3Vyc29yOiAgICAtbW96LWdyYWJiaW5nO1xyXG5cdH1cclxuXHJcblxyXG4vKiB2aXN1YWwgdHdlYWtzICovXHJcblxyXG4ubGVhZmxldC1jb250YWluZXIge1xyXG5cdGJhY2tncm91bmQ6ICNkZGQ7XHJcblx0b3V0bGluZTogMDtcclxuXHR9XHJcbi5sZWFmbGV0LWNvbnRhaW5lciBhIHtcclxuXHRjb2xvcjogIzAwNzhBODtcclxuXHR9XHJcbi5sZWFmbGV0LWNvbnRhaW5lciBhLmxlYWZsZXQtYWN0aXZlIHtcclxuXHRvdXRsaW5lOiAycHggc29saWQgb3JhbmdlO1xyXG5cdH1cclxuLmxlYWZsZXQtem9vbS1ib3gge1xyXG5cdGJvcmRlcjogMnB4IGRvdHRlZCAjMzhmO1xyXG5cdGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC41KTtcclxuXHR9XHJcblxyXG5cclxuLyogZ2VuZXJhbCB0eXBvZ3JhcGh5ICovXHJcbi5sZWFmbGV0LWNvbnRhaW5lciB7XHJcblx0Zm9udDogMTJweC8xLjUgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xyXG5cdH1cclxuXHJcblxyXG4vKiBnZW5lcmFsIHRvb2xiYXIgc3R5bGVzICovXHJcblxyXG4ubGVhZmxldC1iYXIge1xyXG5cdGJveC1zaGFkb3c6IDAgMXB4IDVweCByZ2JhKDAsMCwwLDAuNjUpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHR9XHJcbi5sZWFmbGV0LWJhciBhLFxyXG4ubGVhZmxldC1iYXIgYTpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcclxuXHR3aWR0aDogMjZweDtcclxuXHRoZWlnaHQ6IDI2cHg7XHJcblx0bGluZS1oZWlnaHQ6IDI2cHg7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHRjb2xvcjogYmxhY2s7XHJcblx0fVxyXG4ubGVhZmxldC1iYXIgYSxcclxuLmxlYWZsZXQtY29udHJvbC1sYXllcnMtdG9nZ2xlIHtcclxuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xyXG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0fVxyXG4ubGVhZmxldC1iYXIgYTpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDtcclxuXHR9XHJcbi5sZWFmbGV0LWJhciBhOmZpcnN0LWNoaWxkIHtcclxuXHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7XHJcblx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDtcclxuXHR9XHJcbi5sZWFmbGV0LWJhciBhOmxhc3QtY2hpbGQge1xyXG5cdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDtcclxuXHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4O1xyXG5cdGJvcmRlci1ib3R0b206IG5vbmU7XHJcblx0fVxyXG4ubGVhZmxldC1iYXIgYS5sZWFmbGV0LWRpc2FibGVkIHtcclxuXHRjdXJzb3I6IGRlZmF1bHQ7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDtcclxuXHRjb2xvcjogI2JiYjtcclxuXHR9XHJcblxyXG4ubGVhZmxldC10b3VjaCAubGVhZmxldC1iYXIgYSB7XHJcblx0d2lkdGg6IDMwcHg7XHJcblx0aGVpZ2h0OiAzMHB4O1xyXG5cdGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG5cdH1cclxuXHJcblxyXG4vKiB6b29tIGNvbnRyb2wgKi9cclxuXHJcbi5sZWFmbGV0LWNvbnRyb2wtem9vbS1pbixcclxuLmxlYWZsZXQtY29udHJvbC16b29tLW91dCB7XHJcblx0Zm9udDogYm9sZCAxOHB4ICdMdWNpZGEgQ29uc29sZScsIE1vbmFjbywgbW9ub3NwYWNlO1xyXG5cdHRleHQtaW5kZW50OiAxcHg7XHJcblx0fVxyXG4ubGVhZmxldC1jb250cm9sLXpvb20tb3V0IHtcclxuXHRmb250LXNpemU6IDIwcHg7XHJcblx0fVxyXG5cclxuLmxlYWZsZXQtdG91Y2ggLmxlYWZsZXQtY29udHJvbC16b29tLWluIHtcclxuXHRmb250LXNpemU6IDIycHg7XHJcblx0fVxyXG4ubGVhZmxldC10b3VjaCAubGVhZmxldC1jb250cm9sLXpvb20tb3V0IHtcclxuXHRmb250LXNpemU6IDI0cHg7XHJcblx0fVxyXG5cclxuXHJcbi8qIGxheWVycyBjb250cm9sICovXHJcblxyXG4ubGVhZmxldC1jb250cm9sLWxheWVycyB7XHJcblx0Ym94LXNoYWRvdzogMCAxcHggNXB4IHJnYmEoMCwwLDAsMC40KTtcclxuXHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdGJvcmRlci1yYWRpdXM6IDVweDtcclxuXHR9XHJcbi5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLXRvZ2dsZSB7XHJcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlcy9sYXllcnMucG5nKTtcclxuXHR3aWR0aDogMzZweDtcclxuXHRoZWlnaHQ6IDM2cHg7XHJcblx0fVxyXG4ubGVhZmxldC1yZXRpbmEgLmxlYWZsZXQtY29udHJvbC1sYXllcnMtdG9nZ2xlIHtcclxuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1hZ2VzL2xheWVycy0yeC5wbmcpO1xyXG5cdGJhY2tncm91bmQtc2l6ZTogMjZweCAyNnB4O1xyXG5cdH1cclxuLmxlYWZsZXQtdG91Y2ggLmxlYWZsZXQtY29udHJvbC1sYXllcnMtdG9nZ2xlIHtcclxuXHR3aWR0aDogNDRweDtcclxuXHRoZWlnaHQ6IDQ0cHg7XHJcblx0fVxyXG4ubGVhZmxldC1jb250cm9sLWxheWVycyAubGVhZmxldC1jb250cm9sLWxheWVycy1saXN0LFxyXG4ubGVhZmxldC1jb250cm9sLWxheWVycy1leHBhbmRlZCAubGVhZmxldC1jb250cm9sLWxheWVycy10b2dnbGUge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG4ubGVhZmxldC1jb250cm9sLWxheWVycy1leHBhbmRlZCAubGVhZmxldC1jb250cm9sLWxheWVycy1saXN0IHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0fVxyXG4ubGVhZmxldC1jb250cm9sLWxheWVycy1leHBhbmRlZCB7XHJcblx0cGFkZGluZzogNnB4IDEwcHggNnB4IDZweDtcclxuXHRjb2xvcjogIzMzMztcclxuXHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdH1cclxuLmxlYWZsZXQtY29udHJvbC1sYXllcnMtc2VsZWN0b3Ige1xyXG5cdG1hcmdpbi10b3A6IDJweDtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0dG9wOiAxcHg7XHJcblx0fVxyXG4ubGVhZmxldC1jb250cm9sLWxheWVycyBsYWJlbCB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0fVxyXG4ubGVhZmxldC1jb250cm9sLWxheWVycy1zZXBhcmF0b3Ige1xyXG5cdGhlaWdodDogMDtcclxuXHRib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDtcclxuXHRtYXJnaW46IDVweCAtMTBweCA1cHggLTZweDtcclxuXHR9XHJcblxyXG5cclxuLyogYXR0cmlidXRpb24gYW5kIHNjYWxlIGNvbnRyb2xzICovXHJcblxyXG4ubGVhZmxldC1jb250YWluZXIgLmxlYWZsZXQtY29udHJvbC1hdHRyaWJ1dGlvbiB7XHJcblx0YmFja2dyb3VuZDogI2ZmZjtcclxuXHRiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XHJcblx0bWFyZ2luOiAwO1xyXG5cdH1cclxuLmxlYWZsZXQtY29udHJvbC1hdHRyaWJ1dGlvbixcclxuLmxlYWZsZXQtY29udHJvbC1zY2FsZS1saW5lIHtcclxuXHRwYWRkaW5nOiAwIDVweDtcclxuXHRjb2xvcjogIzMzMztcclxuXHR9XHJcbi5sZWFmbGV0LWNvbnRyb2wtYXR0cmlidXRpb24gYSB7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdH1cclxuLmxlYWZsZXQtY29udHJvbC1hdHRyaWJ1dGlvbiBhOmhvdmVyIHtcclxuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHR9XHJcbi5sZWFmbGV0LWNvbnRhaW5lciAubGVhZmxldC1jb250cm9sLWF0dHJpYnV0aW9uLFxyXG4ubGVhZmxldC1jb250YWluZXIgLmxlYWZsZXQtY29udHJvbC1zY2FsZSB7XHJcblx0Zm9udC1zaXplOiAxMXB4O1xyXG5cdH1cclxuLmxlYWZsZXQtbGVmdCAubGVhZmxldC1jb250cm9sLXNjYWxlIHtcclxuXHRtYXJnaW4tbGVmdDogNXB4O1xyXG5cdH1cclxuLmxlYWZsZXQtYm90dG9tIC5sZWFmbGV0LWNvbnRyb2wtc2NhbGUge1xyXG5cdG1hcmdpbi1ib3R0b206IDVweDtcclxuXHR9XHJcbi5sZWFmbGV0LWNvbnRyb2wtc2NhbGUtbGluZSB7XHJcblx0Ym9yZGVyOiAycHggc29saWQgIzc3NztcclxuXHRib3JkZXItdG9wOiBub25lO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjE7XHJcblx0cGFkZGluZzogMnB4IDVweCAxcHg7XHJcblx0Zm9udC1zaXplOiAxMXB4O1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHQtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG5cdCAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XHJcblxyXG5cdGJhY2tncm91bmQ6ICNmZmY7XHJcblx0YmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xyXG5cdH1cclxuLmxlYWZsZXQtY29udHJvbC1zY2FsZS1saW5lOm5vdCg6Zmlyc3QtY2hpbGQpIHtcclxuXHRib3JkZXItdG9wOiAycHggc29saWQgIzc3NztcclxuXHRib3JkZXItYm90dG9tOiBub25lO1xyXG5cdG1hcmdpbi10b3A6IC0ycHg7XHJcblx0fVxyXG4ubGVhZmxldC1jb250cm9sLXNjYWxlLWxpbmU6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSB7XHJcblx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICM3Nzc7XHJcblx0fVxyXG5cclxuLmxlYWZsZXQtdG91Y2ggLmxlYWZsZXQtY29udHJvbC1hdHRyaWJ1dGlvbixcclxuLmxlYWZsZXQtdG91Y2ggLmxlYWZsZXQtY29udHJvbC1sYXllcnMsXHJcbi5sZWFmbGV0LXRvdWNoIC5sZWFmbGV0LWJhciB7XHJcblx0Ym94LXNoYWRvdzogbm9uZTtcclxuXHR9XHJcbi5sZWFmbGV0LXRvdWNoIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLFxyXG4ubGVhZmxldC10b3VjaCAubGVhZmxldC1iYXIge1xyXG5cdGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMCwwLDAsMC4yKTtcclxuXHRiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xyXG5cdH1cclxuXHJcblxyXG4vKiBwb3B1cCAqL1xyXG5cclxuLmxlYWZsZXQtcG9wdXAge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0fVxyXG4ubGVhZmxldC1wb3B1cC1jb250ZW50LXdyYXBwZXIge1xyXG5cdHBhZGRpbmc6IDFweDtcclxuXHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdGJvcmRlci1yYWRpdXM6IDEycHg7XHJcblx0fVxyXG4ubGVhZmxldC1wb3B1cC1jb250ZW50IHtcclxuXHRtYXJnaW46IDEzcHggMTlweDtcclxuXHRsaW5lLWhlaWdodDogMS40O1xyXG5cdH1cclxuLmxlYWZsZXQtcG9wdXAtY29udGVudCBwIHtcclxuXHRtYXJnaW46IDE4cHggMDtcclxuXHR9XHJcbi5sZWFmbGV0LXBvcHVwLXRpcC1jb250YWluZXIge1xyXG5cdG1hcmdpbjogMCBhdXRvO1xyXG5cdHdpZHRoOiA0MHB4O1xyXG5cdGhlaWdodDogMjBweDtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR9XHJcbi5sZWFmbGV0LXBvcHVwLXRpcCB7XHJcblx0d2lkdGg6IDE3cHg7XHJcblx0aGVpZ2h0OiAxN3B4O1xyXG5cdHBhZGRpbmc6IDFweDtcclxuXHJcblx0bWFyZ2luOiAtMTBweCBhdXRvIDA7XHJcblxyXG5cdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG5cdCAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG5cdCAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG5cdCAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG5cdCAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG5cdH1cclxuLmxlYWZsZXQtcG9wdXAtY29udGVudC13cmFwcGVyLFxyXG4ubGVhZmxldC1wb3B1cC10aXAge1xyXG5cdGJhY2tncm91bmQ6IHdoaXRlO1xyXG5cclxuXHRib3gtc2hhZG93OiAwIDNweCAxNHB4IHJnYmEoMCwwLDAsMC40KTtcclxuXHR9XHJcbi5sZWFmbGV0LWNvbnRhaW5lciBhLmxlYWZsZXQtcG9wdXAtY2xvc2UtYnV0dG9uIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdHJpZ2h0OiAwO1xyXG5cdHBhZGRpbmc6IDRweCA0cHggMCAwO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHR3aWR0aDogMThweDtcclxuXHRoZWlnaHQ6IDE0cHg7XHJcblx0Zm9udDogMTZweC8xNHB4IFRhaG9tYSwgVmVyZGFuYSwgc2Fucy1zZXJpZjtcclxuXHRjb2xvcjogI2MzYzNjMztcclxuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblx0fVxyXG4ubGVhZmxldC1jb250YWluZXIgYS5sZWFmbGV0LXBvcHVwLWNsb3NlLWJ1dHRvbjpob3ZlciB7XHJcblx0Y29sb3I6ICM5OTk7XHJcblx0fVxyXG4ubGVhZmxldC1wb3B1cC1zY3JvbGxlZCB7XHJcblx0b3ZlcmZsb3c6IGF1dG87XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7XHJcblx0fVxyXG5cclxuLmxlYWZsZXQtb2xkaWUgLmxlYWZsZXQtcG9wdXAtY29udGVudC13cmFwcGVyIHtcclxuXHR6b29tOiAxO1xyXG5cdH1cclxuLmxlYWZsZXQtb2xkaWUgLmxlYWZsZXQtcG9wdXAtdGlwIHtcclxuXHR3aWR0aDogMjRweDtcclxuXHRtYXJnaW46IDAgYXV0bztcclxuXHJcblx0LW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuTWF0cml4KE0xMT0wLjcwNzEwNjc4LCBNMTI9MC43MDcxMDY3OCwgTTIxPS0wLjcwNzEwNjc4LCBNMjI9MC43MDcxMDY3OClcIjtcclxuXHRmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5NYXRyaXgoTTExPTAuNzA3MTA2NzgsIE0xMj0wLjcwNzEwNjc4LCBNMjE9LTAuNzA3MTA2NzgsIE0yMj0wLjcwNzEwNjc4KTtcclxuXHR9XHJcbi5sZWFmbGV0LW9sZGllIC5sZWFmbGV0LXBvcHVwLXRpcC1jb250YWluZXIge1xyXG5cdG1hcmdpbi10b3A6IC0xcHg7XHJcblx0fVxyXG5cclxuLmxlYWZsZXQtb2xkaWUgLmxlYWZsZXQtY29udHJvbC16b29tLFxyXG4ubGVhZmxldC1vbGRpZSAubGVhZmxldC1jb250cm9sLWxheWVycyxcclxuLmxlYWZsZXQtb2xkaWUgLmxlYWZsZXQtcG9wdXAtY29udGVudC13cmFwcGVyLFxyXG4ubGVhZmxldC1vbGRpZSAubGVhZmxldC1wb3B1cC10aXAge1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XHJcblx0fVxyXG5cclxuXHJcbi8qIGRpdiBpY29uICovXHJcblxyXG4ubGVhZmxldC1kaXYtaWNvbiB7XHJcblx0YmFja2dyb3VuZDogI2ZmZjtcclxuXHRib3JkZXI6IDFweCBzb2xpZCAjNjY2O1xyXG5cdH1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vKiFcbiAqIGFuaW1hdGUuY3NzIC1odHRwczovL2RhbmVkZW4uZ2l0aHViLmlvL2FuaW1hdGUuY3NzL1xuICogVmVyc2lvbiAtIDMuNy4yXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgLSBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICogQ29weXJpZ2h0IChjKSAyMDE5IERhbmllbCBFZGVuXG4gKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZSB7XG4gICAgZnJvbSxcbiAgICAyMCUsXG4gICAgNTMlLFxuICAgIDgwJSxcbiAgICB0byB7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgfVxuXG4gICAgNDAlLFxuICAgIDQzJSB7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKTtcbiAgICB9XG5cbiAgICA3MCUge1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCk7XG4gICAgfVxuXG4gICAgOTAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC00cHgsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC00cHgsIDApO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2Uge1xuICAgIGZyb20sXG4gICAgMjAlLFxuICAgIDUzJSxcbiAgICA4MCUsXG4gICAgdG8ge1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIH1cblxuICAgIDQwJSxcbiAgICA0MyUge1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCk7XG4gICAgfVxuXG4gICAgNzAlIHtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApO1xuICAgIH1cblxuICAgIDkwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNHB4LCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNHB4LCAwKTtcbiAgICB9XG59XG5cbi5ib3VuY2Uge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZTtcbiAgICBhbmltYXRpb24tbmFtZTogYm91bmNlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxhc2gge1xuICAgIGZyb20sXG4gICAgNTAlLFxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAyNSUsXG4gICAgNzUlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmxhc2gge1xuICAgIGZyb20sXG4gICAgNTAlLFxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAyNSUsXG4gICAgNzUlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG59XG5cbi5mbGFzaCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxhc2g7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGZsYXNoO1xufVxuXG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHB1bHNlIHtcbiAgICBmcm9tIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB9XG5cbiAgICA1MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgcHVsc2Uge1xuICAgIGZyb20ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIH1cblxuICAgIDUwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIH1cbn1cblxuLnB1bHNlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBwdWxzZTtcbiAgICBhbmltYXRpb24tbmFtZTogcHVsc2U7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBydWJiZXJCYW5kIHtcbiAgICBmcm9tIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB9XG5cbiAgICAzMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xuICAgIH1cblxuICAgIDQwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XG4gICAgfVxuXG4gICAgNTAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcbiAgICB9XG5cbiAgICA2NSUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjk1LCAxLjA1LCAxKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTUsIDEuMDUsIDEpO1xuICAgIH1cblxuICAgIDc1JSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDAuOTUsIDEpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMC45NSwgMSk7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBydWJiZXJCYW5kIHtcbiAgICBmcm9tIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB9XG5cbiAgICAzMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xuICAgIH1cblxuICAgIDQwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XG4gICAgfVxuXG4gICAgNTAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcbiAgICB9XG5cbiAgICA2NSUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjk1LCAxLjA1LCAxKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTUsIDEuMDUsIDEpO1xuICAgIH1cblxuICAgIDc1JSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDAuOTUsIDEpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMC45NSwgMSk7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIH1cbn1cblxuLnJ1YmJlckJhbmQge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJ1YmJlckJhbmQ7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHJ1YmJlckJhbmQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzaGFrZSB7XG4gICAgZnJvbSxcbiAgICB0byB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB9XG5cbiAgICAxMCUsXG4gICAgMzAlLFxuICAgIDUwJSxcbiAgICA3MCUsXG4gICAgOTAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgfVxuXG4gICAgMjAlLFxuICAgIDQwJSxcbiAgICA2MCUsXG4gICAgODAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBzaGFrZSB7XG4gICAgZnJvbSxcbiAgICB0byB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB9XG5cbiAgICAxMCUsXG4gICAgMzAlLFxuICAgIDUwJSxcbiAgICA3MCUsXG4gICAgOTAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgfVxuXG4gICAgMjAlLFxuICAgIDQwJSxcbiAgICA2MCUsXG4gICAgODAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIH1cbn1cblxuLnNoYWtlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzaGFrZTtcbiAgICBhbmltYXRpb24tbmFtZTogc2hha2U7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBoZWFkU2hha2Uge1xuICAgIDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG5cbiAgICA2LjUlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCkgcm90YXRlWSgtOWRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTtcbiAgICB9XG5cbiAgICAxOC41JSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgcm90YXRlWSg3ZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgcm90YXRlWSg3ZGVnKTtcbiAgICB9XG5cbiAgICAzMS41JSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlWSgtNWRlZyk7XG4gICAgfVxuXG4gICAgNDMuNSUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZVkoM2RlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZVkoM2RlZyk7XG4gICAgfVxuXG4gICAgNTAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgaGVhZFNoYWtlIHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxuXG4gICAgNi41JSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02cHgpIHJvdGF0ZVkoLTlkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCkgcm90YXRlWSgtOWRlZyk7XG4gICAgfVxuXG4gICAgMTguNSUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpIHJvdGF0ZVkoN2RlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpIHJvdGF0ZVkoN2RlZyk7XG4gICAgfVxuXG4gICAgMzEuNSUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGVZKC01ZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpO1xuICAgIH1cblxuICAgIDQzLjUlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpO1xuICAgIH1cblxuICAgIDUwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxufVxuXG4uaGVhZFNoYWtlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGhlYWRTaGFrZTtcbiAgICBhbmltYXRpb24tbmFtZTogaGVhZFNoYWtlO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3dpbmcge1xuICAgIDIwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xuICAgIH1cblxuICAgIDQwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XG4gICAgfVxuXG4gICAgNjAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpO1xuICAgIH1cblxuICAgIDgwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBzd2luZyB7XG4gICAgMjAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7XG4gICAgfVxuXG4gICAgNDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTtcbiAgICB9XG5cbiAgICA2MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7XG4gICAgfVxuXG4gICAgODAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7XG4gICAgfVxufVxuXG4uc3dpbmcge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHN3aW5nO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBzd2luZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHRhZGEge1xuICAgIGZyb20ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIH1cblxuICAgIDEwJSxcbiAgICAyMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgfVxuXG4gICAgMzAlLFxuICAgIDUwJSxcbiAgICA3MCUsXG4gICAgOTAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgICB9XG5cbiAgICA0MCUsXG4gICAgNjAlLFxuICAgIDgwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHRhZGEge1xuICAgIGZyb20ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIH1cblxuICAgIDEwJSxcbiAgICAyMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgfVxuXG4gICAgMzAlLFxuICAgIDUwJSxcbiAgICA3MCUsXG4gICAgOTAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgICB9XG5cbiAgICA0MCUsXG4gICAgNjAlLFxuICAgIDgwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgfVxufVxuXG4udGFkYSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdGFkYTtcbiAgICBhbmltYXRpb24tbmFtZTogdGFkYTtcbn1cblxuLyogb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlICovXG5cbkAtd2Via2l0LWtleWZyYW1lcyB3b2JibGUge1xuICAgIGZyb20ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgfVxuXG4gICAgMTUlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gICAgfVxuXG4gICAgMzAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgICB9XG5cbiAgICA0NSUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB9XG5cbiAgICA2MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDJkZWcpO1xuICAgIH1cblxuICAgIDc1JSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgd29iYmxlIHtcbiAgICBmcm9tIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIH1cblxuICAgIDE1JSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICAgIH1cblxuICAgIDMwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgfVxuXG4gICAgNDUlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgfVxuXG4gICAgNjAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcbiAgICB9XG5cbiAgICA3NSUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMWRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMWRlZyk7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgfVxufVxuXG4ud29iYmxlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB3b2JibGU7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHdvYmJsZTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGplbGxvIHtcbiAgICBmcm9tLFxuICAgIDExLjElLFxuICAgIHRvIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIH1cblxuICAgIDIyLjIlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcbiAgICB9XG5cbiAgICAzMy4zJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTtcbiAgICB9XG5cbiAgICA0NC40JSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpO1xuICAgIH1cblxuICAgIDU1LjUlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XG4gICAgfVxuXG4gICAgNjYuNiUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xuICAgIH1cblxuICAgIDc3LjclIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogc2tld1goMC4zOTA2MjVkZWcpIHNrZXdZKDAuMzkwNjI1ZGVnKTtcbiAgICB9XG5cbiAgICA4OC44JSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMTI1ZGVnKSBza2V3WSgtMC4xOTUzMTI1ZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMTI1ZGVnKSBza2V3WSgtMC4xOTUzMTI1ZGVnKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgamVsbG8ge1xuICAgIGZyb20sXG4gICAgMTEuMSUsXG4gICAgdG8ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgfVxuXG4gICAgMjIuMiUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpO1xuICAgIH1cblxuICAgIDMzLjMlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpO1xuICAgIH1cblxuICAgIDQ0LjQlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XG4gICAgfVxuXG4gICAgNTUuNSUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKTtcbiAgICB9XG5cbiAgICA2Ni42JSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7XG4gICAgfVxuXG4gICAgNzcuNyUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMC4zOTA2MjVkZWcpIHNrZXdZKDAuMzkwNjI1ZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYyNWRlZykgc2tld1koMC4zOTA2MjVkZWcpO1xuICAgIH1cblxuICAgIDg4LjglIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxMjVkZWcpIHNrZXdZKC0wLjE5NTMxMjVkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxMjVkZWcpIHNrZXdZKC0wLjE5NTMxMjVkZWcpO1xuICAgIH1cbn1cblxuLmplbGxvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBqZWxsbztcbiAgICBhbmltYXRpb24tbmFtZTogamVsbG87XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgaGVhcnRCZWF0IHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB9XG5cbiAgICAxNCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICAgIH1cblxuICAgIDI4JSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB9XG5cbiAgICA0MiUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICAgIH1cblxuICAgIDcwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgaGVhcnRCZWF0IHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB9XG5cbiAgICAxNCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICAgIH1cblxuICAgIDI4JSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB9XG5cbiAgICA0MiUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICAgIH1cblxuICAgIDcwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB9XG59XG5cbi5oZWFydEJlYXQge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGhlYXJ0QmVhdDtcbiAgICBhbmltYXRpb24tbmFtZTogaGVhcnRCZWF0O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjNzO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMS4zcztcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW4ge1xuICAgIGZyb20sXG4gICAgMjAlLFxuICAgIDQwJSxcbiAgICA2MCUsXG4gICAgODAlLFxuICAgIHRvIHtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgfVxuXG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgIH1cblxuICAgIDIwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gICAgfVxuXG4gICAgNDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcbiAgICB9XG5cbiAgICA2MCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpO1xuICAgIH1cblxuICAgIDgwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTcsIDAuOTcsIDAuOTcpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45NywgMC45NywgMC45Nyk7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VJbiB7XG4gICAgZnJvbSxcbiAgICAyMCUsXG4gICAgNDAlLFxuICAgIDYwJSxcbiAgICA4MCUsXG4gICAgdG8ge1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICB9XG5cbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgfVxuXG4gICAgMjAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB9XG5cbiAgICA0MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xuICAgIH1cblxuICAgIDYwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XG4gICAgfVxuXG4gICAgODAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45NywgMC45NywgMC45Nyk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjk3LCAwLjk3LCAwLjk3KTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgfVxufVxuXG4uYm91bmNlSW4ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjc1cztcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuNzVzO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluRG93biB7XG4gICAgZnJvbSxcbiAgICA2MCUsXG4gICAgNzUlLFxuICAgIDkwJSxcbiAgICB0byB7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIH1cblxuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMDAwcHgsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMDAwcHgsIDApO1xuICAgIH1cblxuICAgIDYwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKTtcbiAgICB9XG5cbiAgICA3NSUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICB9XG5cbiAgICA5MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VJbkRvd24ge1xuICAgIGZyb20sXG4gICAgNjAlLFxuICAgIDc1JSxcbiAgICA5MCUsXG4gICAgdG8ge1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICB9XG5cbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKTtcbiAgICB9XG5cbiAgICA2MCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7XG4gICAgfVxuXG4gICAgNzUlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gICAgfVxuXG4gICAgOTAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB9XG59XG5cbi5ib3VuY2VJbkRvd24ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluRG93bjtcbiAgICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5MZWZ0IHtcbiAgICBmcm9tLFxuICAgIDYwJSxcbiAgICA3NSUsXG4gICAgOTAlLFxuICAgIHRvIHtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgfVxuXG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCk7XG4gICAgfVxuXG4gICAgNjAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApO1xuICAgIH1cblxuICAgIDc1JSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIH1cblxuICAgIDkwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluTGVmdCB7XG4gICAgZnJvbSxcbiAgICA2MCUsXG4gICAgNzUlLFxuICAgIDkwJSxcbiAgICB0byB7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIH1cblxuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApO1xuICAgIH1cblxuICAgIDYwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTtcbiAgICB9XG5cbiAgICA3NSUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB9XG5cbiAgICA5MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIH1cbn1cblxuLmJvdW5jZUluTGVmdCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5MZWZ0O1xuICAgIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkxlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHtcbiAgICBmcm9tLFxuICAgIDYwJSxcbiAgICA3NSUsXG4gICAgOTAlLFxuICAgIHRvIHtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgfVxuXG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7XG4gICAgfVxuXG4gICAgNjAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCk7XG4gICAgfVxuXG4gICAgNzUlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIH1cblxuICAgIDkwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5SaWdodCB7XG4gICAgZnJvbSxcbiAgICA2MCUsXG4gICAgNzUlLFxuICAgIDkwJSxcbiAgICB0byB7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIH1cblxuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApO1xuICAgIH1cblxuICAgIDYwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApO1xuICAgIH1cblxuICAgIDc1JSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB9XG5cbiAgICA5MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCk7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgfVxufVxuXG4uYm91bmNlSW5SaWdodCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5SaWdodDtcbiAgICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5SaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluVXAge1xuICAgIGZyb20sXG4gICAgNjAlLFxuICAgIDc1JSxcbiAgICA5MCUsXG4gICAgdG8ge1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICB9XG5cbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKTtcbiAgICB9XG5cbiAgICA2MCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgICB9XG5cbiAgICA3NSUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gICAgfVxuXG4gICAgOTAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VJblVwIHtcbiAgICBmcm9tLFxuICAgIDYwJSxcbiAgICA3NSUsXG4gICAgOTAlLFxuICAgIHRvIHtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgfVxuXG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCk7XG4gICAgfVxuXG4gICAgNjAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gICAgfVxuXG4gICAgNzUlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICAgIH1cblxuICAgIDkwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB9XG59XG5cbi5ib3VuY2VJblVwIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblVwO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblVwO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0IHtcbiAgICAyMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xuICAgIH1cblxuICAgIDUwJSxcbiAgICA1NSUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0IHtcbiAgICAyMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xuICAgIH1cblxuICAgIDUwJSxcbiAgICA1NSUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB9XG59XG5cbi5ib3VuY2VPdXQge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjc1cztcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuNzVzO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDtcbiAgICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0RG93biB7XG4gICAgMjAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICAgIH1cblxuICAgIDQwJSxcbiAgICA0NSUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dERvd24ge1xuICAgIDIwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgICB9XG5cbiAgICA0MCUsXG4gICAgNDUlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIH1cbn1cblxuLmJvdW5jZU91dERvd24ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dERvd247XG4gICAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dERvd247XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRMZWZ0IHtcbiAgICAyMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dExlZnQge1xuICAgIDIwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB9XG59XG5cbi5ib3VuY2VPdXRMZWZ0IHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRMZWZ0O1xuICAgIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRMZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQge1xuICAgIDIwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQge1xuICAgIDIwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB9XG59XG5cbi5ib3VuY2VPdXRSaWdodCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0UmlnaHQ7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0VXAge1xuICAgIDIwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICAgIH1cblxuICAgIDQwJSxcbiAgICA0NSUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dFVwIHtcbiAgICAyMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICB9XG5cbiAgICA0MCUsXG4gICAgNDUlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIH1cbn1cblxuLmJvdW5jZU91dFVwIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRVcDtcbiAgICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0VXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW4ge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG4uZmFkZUluIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluRG93biB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIH1cbn1cblxuLmZhZGVJbkRvd24ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd247XG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd247XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIH1cbn1cblxuLmZhZGVJbkRvd25CaWcge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd25CaWc7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd25CaWc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB9XG59XG5cbi5mYWRlSW5MZWZ0IHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0O1xuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdEJpZyB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluTGVmdEJpZyB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB9XG59XG5cbi5mYWRlSW5MZWZ0QmlnIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0QmlnO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0QmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHQge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIH1cbn1cblxuLmZhZGVJblJpZ2h0IHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDtcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5SaWdodEJpZyB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnIHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB9XG59XG5cbi5mYWRlSW5SaWdodEJpZyB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRCaWc7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0QmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXAge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblVwIHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIH1cbn1cblxuLmZhZGVJblVwIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluVXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcEJpZyB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblVwQmlnIHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB9XG59XG5cbi5mYWRlSW5VcEJpZyB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVXBCaWc7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dCB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0IHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxufVxuXG4uZmFkZU91dCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dDtcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZU91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duIHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dERvd24ge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIH1cbn1cblxuLmZhZGVPdXREb3duIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjtcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd247XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0RG93bkJpZyB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0RG93bkJpZyB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIH1cbn1cblxuLmZhZGVPdXREb3duQmlnIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bkJpZztcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd25CaWc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dExlZnQge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgfVxufVxuXG4uZmFkZU91dExlZnQge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0O1xuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRMZWZ0QmlnIHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dExlZnRCaWcge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIH1cbn1cblxuLmZhZGVPdXRMZWZ0QmlnIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdEJpZztcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZU91dExlZnRCaWc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIH1cbn1cblxuLmZhZGVPdXRSaWdodCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0O1xuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWcge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dFJpZ2h0QmlnIHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgfVxufVxuXG4uZmFkZU91dFJpZ2h0QmlnIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHRCaWc7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodEJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcCB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dFVwIHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIH1cbn1cblxuLmZhZGVPdXRVcCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VXBCaWcge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0VXBCaWcge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIH1cbn1cblxuLmZhZGVPdXRVcEJpZyB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwQmlnO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBCaWc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwIHtcbiAgICBmcm9tIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApXG4gICAgICAgIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICB9XG5cbiAgICA0MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpXG4gICAgICAgIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KVxuICAgICAgICByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgfVxuXG4gICAgNTAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KVxuICAgICAgICByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweClcbiAgICAgICAgcm90YXRlM2QoMCwgMSwgMCwgLTE3MGRlZyk7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICB9XG5cbiAgICA4MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMC45NSwgMC45NSwgMC45NSkgdHJhbnNsYXRlM2QoMCwgMCwgMClcbiAgICAgICAgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMC45NSwgMC45NSwgMC45NSkgdHJhbnNsYXRlM2QoMCwgMCwgMClcbiAgICAgICAgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKVxuICAgICAgICByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBmbGlwIHtcbiAgICBmcm9tIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApXG4gICAgICAgIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICB9XG5cbiAgICA0MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpXG4gICAgICAgIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KVxuICAgICAgICByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgfVxuXG4gICAgNTAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KVxuICAgICAgICByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweClcbiAgICAgICAgcm90YXRlM2QoMCwgMSwgMCwgLTE3MGRlZyk7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICB9XG5cbiAgICA4MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMC45NSwgMC45NSwgMC45NSkgdHJhbnNsYXRlM2QoMCwgMCwgMClcbiAgICAgICAgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMC45NSwgMC45NSwgMC45NSkgdHJhbnNsYXRlM2QoMCwgMCwgMClcbiAgICAgICAgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKVxuICAgICAgICByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIH1cbn1cblxuLmFuaW1hdGVkLmZsaXAge1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXA7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGZsaXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5YIHtcbiAgICBmcm9tIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgIDQwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIH1cblxuICAgIDYwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgODAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtNWRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBmbGlwSW5YIHtcbiAgICBmcm9tIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgIDQwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIH1cblxuICAgIDYwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgODAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtNWRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIH1cbn1cblxuLmZsaXBJblgge1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcEluWSB7XG4gICAgZnJvbSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICA0MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICB9XG5cbiAgICA2MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIDgwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmxpcEluWSB7XG4gICAgZnJvbSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICA0MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICB9XG5cbiAgICA2MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIDgwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB9XG59XG5cbi5mbGlwSW5ZIHtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcEluWTtcbiAgICBhbmltYXRpb24tbmFtZTogZmxpcEluWTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBPdXRYIHtcbiAgICBmcm9tIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgfVxuXG4gICAgMzAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmxpcE91dFgge1xuICAgIGZyb20ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB9XG5cbiAgICAzMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbn1cblxuLmZsaXBPdXRYIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC43NXM7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjc1cztcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDtcbiAgICBhbmltYXRpb24tbmFtZTogZmxpcE91dFg7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFkge1xuICAgIGZyb20ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB9XG5cbiAgICAzMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBmbGlwT3V0WSB7XG4gICAgZnJvbSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIH1cblxuICAgIDMwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxufVxuXG4uZmxpcE91dFkge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjc1cztcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuNzVzO1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WTtcbiAgICBhbmltYXRpb24tbmFtZTogZmxpcE91dFk7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkSW4ge1xuICAgIGZyb20ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgIDYwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgyMGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIDgwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBsaWdodFNwZWVkSW4ge1xuICAgIGZyb20ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgIDYwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgyMGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIDgwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIH1cbn1cblxuLmxpZ2h0U3BlZWRJbiB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW47XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXQge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXQge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxufVxuXG4ubGlnaHRTcGVlZE91dCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dDtcbiAgICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluIHtcbiAgICBmcm9tIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVJbiB7XG4gICAgZnJvbSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbi5yb3RhdGVJbiB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW47XG4gICAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7XG4gICAgZnJvbSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7XG4gICAgZnJvbSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbi5yb3RhdGVJbkRvd25MZWZ0IHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0O1xuICAgIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHQge1xuICAgIGZyb20ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHQge1xuICAgIGZyb20ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbi5yb3RhdGVJbkRvd25SaWdodCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duUmlnaHQ7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5VcExlZnQge1xuICAgIGZyb20ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XG4gICAgZnJvbSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG4ucm90YXRlSW5VcExlZnQge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBMZWZ0O1xuICAgIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwTGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7XG4gICAgZnJvbSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7XG4gICAgZnJvbSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG4ucm90YXRlSW5VcFJpZ2h0IHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHQ7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dCB7XG4gICAgZnJvbSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXQge1xuICAgIGZyb20ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG59XG5cbi5yb3RhdGVPdXQge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dDtcbiAgICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQge1xuICAgIGZyb20ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQge1xuICAgIGZyb20ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG59XG5cbi5yb3RhdGVPdXREb3duTGVmdCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93bkxlZnQ7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25MZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0IHtcbiAgICBmcm9tIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dERvd25SaWdodCB7XG4gICAgZnJvbSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbn1cblxuLnJvdGF0ZU91dERvd25SaWdodCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93blJpZ2h0O1xuICAgIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQge1xuICAgIGZyb20ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQge1xuICAgIGZyb20ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbn1cblxuLnJvdGF0ZU91dFVwTGVmdCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBMZWZ0O1xuICAgIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHtcbiAgICBmcm9tIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHtcbiAgICBmcm9tIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbn1cblxuLnJvdGF0ZU91dFVwUmlnaHQge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQ7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBoaW5nZSB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgfVxuXG4gICAgMjAlLFxuICAgIDYwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgfVxuXG4gICAgNDAlLFxuICAgIDgwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgaGluZ2Uge1xuICAgIDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIH1cblxuICAgIDIwJSxcbiAgICA2MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIH1cblxuICAgIDQwJSxcbiAgICA4MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxufVxuXG4uaGluZ2Uge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAycztcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDJzO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGhpbmdlO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBoaW5nZTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGphY2tJblRoZUJveCB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHJvdGF0ZSgzMGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKSByb3RhdGUoMzBkZWcpO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgfVxuXG4gICAgNTAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpO1xuICAgIH1cblxuICAgIDcwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoM2RlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDNkZWcpO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBqYWNrSW5UaGVCb3gge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4xKSByb3RhdGUoMzBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMSkgcm90YXRlKDMwZGVnKTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIH1cblxuICAgIDUwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcbiAgICB9XG5cbiAgICA3MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDNkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzZGVnKTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB9XG59XG5cbi5qYWNrSW5UaGVCb3gge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGphY2tJblRoZUJveDtcbiAgICBhbmltYXRpb24tbmFtZTogamFja0luVGhlQm94O1xufVxuXG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvbGxJbiB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTEyMGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyByb2xsSW4ge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB9XG59XG5cbi5yb2xsSW4ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvbGxJbjtcbiAgICBhbmltYXRpb24tbmFtZTogcm9sbEluO1xufVxuXG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvbGxPdXQge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgcm9sbE91dCB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAxMjBkZWcpO1xuICAgIH1cbn1cblxuLnJvbGxPdXQge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW4ge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgIH1cblxuICAgIDUwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21JbiB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgfVxuXG4gICAgNTAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbi56b29tSW4ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbjtcbiAgICBhbmltYXRpb24tbmFtZTogem9vbUluO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluRG93biB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIH1cblxuICAgIDYwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyB6b29tSW5Eb3duIHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgfVxuXG4gICAgNjAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgfVxufVxuXG4uem9vbUluRG93biB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluRG93bjtcbiAgICBhbmltYXRpb24tbmFtZTogem9vbUluRG93bjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbkxlZnQge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICB9XG5cbiAgICA2MCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgem9vbUluTGVmdCB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIH1cblxuICAgIDYwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIH1cbn1cblxuLnpvb21JbkxlZnQge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbkxlZnQ7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbkxlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5SaWdodCB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICB9XG5cbiAgICA2MCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyB6b29tSW5SaWdodCB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICB9XG5cbiAgICA2MCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIH1cbn1cblxuLnpvb21JblJpZ2h0IHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5SaWdodDtcbiAgICBhbmltYXRpb24tbmFtZTogem9vbUluUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5VcCB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApO1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICB9XG5cbiAgICA2MCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyB6b29tSW5VcCB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApO1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICB9XG5cbiAgICA2MCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIH1cbn1cblxuLnpvb21JblVwIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5VcDtcbiAgICBhbmltYXRpb24tbmFtZTogem9vbUluVXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0IHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICA1MCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgem9vbU91dCB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgNTAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxufVxuXG4uem9vbU91dCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dDtcbiAgICBhbmltYXRpb24tbmFtZTogem9vbU91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXREb3duIHtcbiAgICA0MCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXREb3duIHtcbiAgICA0MCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgfVxufVxuXG4uem9vbU91dERvd24ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXREb3duO1xuICAgIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0RG93bjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXRMZWZ0IHtcbiAgICA0MCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXRMZWZ0IHtcbiAgICA0MCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gICAgfVxufVxuXG4uem9vbU91dExlZnQge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRMZWZ0O1xuICAgIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0TGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXRSaWdodCB7XG4gICAgNDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXRSaWdodCB7XG4gICAgNDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7XG4gICAgfVxufVxuXG4uem9vbU91dFJpZ2h0IHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0UmlnaHQ7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRSaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXRVcCB7XG4gICAgNDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyB6b29tT3V0VXAge1xuICAgIDQwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICB9XG59XG5cbi56b29tT3V0VXAge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRVcDtcbiAgICBhbmltYXRpb24tbmFtZTogem9vbU91dFVwO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJbkRvd24ge1xuICAgIGZyb20ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVJbkRvd24ge1xuICAgIGZyb20ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB9XG59XG5cbi5zbGlkZUluRG93biB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJbkRvd247XG4gICAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5Eb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJbkxlZnQge1xuICAgIGZyb20ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVJbkxlZnQge1xuICAgIGZyb20ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB9XG59XG5cbi5zbGlkZUluTGVmdCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJbkxlZnQ7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5MZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJblJpZ2h0IHtcbiAgICBmcm9tIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZUluUmlnaHQge1xuICAgIGZyb20ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgfVxufVxuXG4uc2xpZGVJblJpZ2h0IHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluUmlnaHQ7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5SaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5VcCB7XG4gICAgZnJvbSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVJblVwIHtcbiAgICBmcm9tIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIH1cbn1cblxuLnNsaWRlSW5VcCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJblVwO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dERvd24ge1xuICAgIGZyb20ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVPdXREb3duIHtcbiAgICBmcm9tIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgfVxufVxuXG4uc2xpZGVPdXREb3duIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dERvd247XG4gICAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0RG93bjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0TGVmdCB7XG4gICAgZnJvbSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlT3V0TGVmdCB7XG4gICAgZnJvbSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgfVxufVxuXG4uc2xpZGVPdXRMZWZ0IHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dExlZnQ7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0TGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0UmlnaHQge1xuICAgIGZyb20ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVPdXRSaWdodCB7XG4gICAgZnJvbSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIH1cbn1cblxuLnNsaWRlT3V0UmlnaHQge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0UmlnaHQ7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0UmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dFVwIHtcbiAgICBmcm9tIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVPdXRVcCB7XG4gICAgZnJvbSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgfVxufVxuXG4uc2xpZGVPdXRVcCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRVcDtcbiAgICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRVcDtcbn1cblxuLmFuaW1hdGVkIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbn1cblxuLmFuaW1hdGVkLmluZmluaXRlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xufVxuXG4uYW5pbWF0ZWQuZGVsYXktMXMge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAxcztcbiAgICBhbmltYXRpb24tZGVsYXk6IDFzO1xufVxuXG4uYW5pbWF0ZWQuZGVsYXktMnMge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAycztcbiAgICBhbmltYXRpb24tZGVsYXk6IDJzO1xufVxuXG4uYW5pbWF0ZWQuZGVsYXktM3Mge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAzcztcbiAgICBhbmltYXRpb24tZGVsYXk6IDNzO1xufVxuXG4uYW5pbWF0ZWQuZGVsYXktNHMge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiA0cztcbiAgICBhbmltYXRpb24tZGVsYXk6IDRzO1xufVxuXG4uYW5pbWF0ZWQuZGVsYXktNXMge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiA1cztcbiAgICBhbmltYXRpb24tZGVsYXk6IDVzO1xufVxuXG4uYW5pbWF0ZWQuZmFzdCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDgwMG1zO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogODAwbXM7XG59XG5cbi5hbmltYXRlZC5mYXN0ZXIge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDUwMG1zO1xufVxuXG4uYW5pbWF0ZWQuc2xvdyB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDJzO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMnM7XG59XG5cbi5hbmltYXRlZC5zbG93ZXIge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAzcztcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDNzO1xufVxuXG5AbWVkaWEgKHByaW50KSwgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgIC5hbmltYXRlZCB7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxbXMgIWltcG9ydGFudDtcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxbXMgIWltcG9ydGFudDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAxbXMgIWltcG9ydGFudDtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMW1zICFpbXBvcnRhbnQ7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMSAhaW1wb3J0YW50O1xuICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxICFpbXBvcnRhbnQ7XG4gICAgfVxufSIsIi8qIFxuICogTGVhZmxldCBDb250cm9sIFNlYXJjaCB2MS44LjQgLSAyMDE1LTA5LTA1IFxuICogXG4gKiBDb3B5cmlnaHQgMjAxNSBTdGVmYW5vIEN1ZGluaSBcbiAqIHN0ZWZhbm8uY3VkaW5pQGdtYWlsLmNvbSBcbiAqIGh0dHA6Ly9sYWJzLmVhc3libG9nLml0LyBcbiAqIFxuICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLiBcbiAqIFxuICogRGVtbzogXG4gKiBodHRwOi8vbGFicy5lYXN5YmxvZy5pdC9tYXBzL2xlYWZsZXQtc2VhcmNoLyBcbiAqIFxuICogU291cmNlOiBcbiAqIGdpdEBnaXRodWIuY29tOnN0ZWZhbm9jdWRpbmkvbGVhZmxldC1zZWFyY2guZ2l0IFxuICogXG4gKi9cbiBcbi5sZWFmbGV0LWNvbnRhaW5lciAubGVhZmxldC1jb250cm9sLXNlYXJjaCB7XG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRmbG9hdDpsZWZ0O1xuXHRiYWNrZ3JvdW5kOiNmZmY7XG5cdGNvbG9yOiMxOTc4Y2Y7XG5cdC1tb3otYm9yZGVyLXJhZGl1czogNHB4O1xuXHQtd2Via2l0LWJvcmRlci1yYWRpdXM6IDRweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG5cdHotaW5kZXg6MTAwMDtcdFxuXHRib3gtc2hhZG93OiAwIDFweCA3cHggcmdiYSgwLDAsMCwwLjY1KTtcblx0bWFyZ2luLWxlZnQ6IDEwcHg7XG5cdG1hcmdpbi10b3A6IDEwcHg7XG59XG4ubGVhZmxldC1jb250cm9sLXNlYXJjaC5zZWFyY2gtZXhwIHsvKmV4cGFuZGVkKi9cblx0Ym94LXNoYWRvdzogMCAxcHggN3B4ICM5OTk7XG5cdGJhY2tncm91bmQ6ICNmZmY7XG59XG4ubGVhZmxldC1jb250cm9sLXNlYXJjaCAuc2VhcmNoLWlucHV0IHtcblx0ZGlzcGxheTpibG9jaztcblx0ZmxvYXQ6bGVmdDtcblx0YmFja2dyb3VuZDogI2ZmZjtcblx0Ym9yZGVyOjFweCBzb2xpZCAjNjY2O1xuXHRib3JkZXItcmFkaXVzOjJweDtcblx0aGVpZ2h0OjE4cHg7XG5cdHBhZGRpbmc6MCAxOHB4IDAgMnB4O1xuXHRtYXJnaW46M3B4IDAgM3B4IDNweDtcbn1cbi5sZWFmbGV0LWNvbnRyb2wtc2VhcmNoLnNlYXJjaC1sb2FkIC5zZWFyY2gtaW5wdXQge1xuXHRiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9sb2FkZXIuZ2lmJykgbm8tcmVwZWF0IGNlbnRlciByaWdodCAjZmZmO1xufVxuLmxlYWZsZXQtY29udHJvbC1zZWFyY2guc2VhcmNoLWxvYWQgLnNlYXJjaC1jYW5jZWwge1xuXHR2aXNpYmlsaXR5OmhpZGRlbjtcbn1cbi5sZWFmbGV0LWNvbnRyb2wtc2VhcmNoIC5zZWFyY2gtY2FuY2VsIHtcblx0ZGlzcGxheTpibG9jaztcblx0d2lkdGg6MjJweDtcblx0aGVpZ2h0OjE4cHg7XG5cdHBvc2l0aW9uOmFic29sdXRlO1xuXHRyaWdodDoyMnB4O1xuXHRtYXJnaW46M3B4IDA7XG5cdGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL3NlYXJjaC1pY29uLnBuZycpIG5vLXJlcGVhdCAwIC00NnB4O1xuXHR0ZXh0LWRlY29yYXRpb246bm9uZTtcblx0ZmlsdGVyOiBhbHBoYShvcGFjaXR5PTgwKTtcblx0b3BhY2l0eTogMC44O1x0XHRcbn1cbi5sZWFmbGV0LWNvbnRyb2wtc2VhcmNoIC5zZWFyY2gtY2FuY2VsOmhvdmVyIHtcblx0ZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7XG5cdG9wYWNpdHk6IDE7XG59XG4ubGVhZmxldC1jb250cm9sLXNlYXJjaCAuc2VhcmNoLWNhbmNlbCBzcGFuIHtcblx0ZGlzcGxheTpub25lOy8qIGNvbW1lbnQgZm9yIGNhbmNlbCBidXR0b24gaW1hZ2VsZXNzICovXG5cdGZvbnQtc2l6ZToxOHB4O1xuXHRsaW5lLWhlaWdodDoyMHB4O1xuXHRjb2xvcjojY2NjO1xuXHRmb250LXdlaWdodDpib2xkO1xufVxuLmxlYWZsZXQtY29udHJvbC1zZWFyY2ggLnNlYXJjaC1jYW5jZWw6aG92ZXIgc3BhbiB7XG5cdGNvbG9yOiNhYWE7XG59XG4ubGVhZmxldC1jb250cm9sLXNlYXJjaCAuc2VhcmNoLWJ1dHRvbiB7XG5cdGRpc3BsYXk6YmxvY2s7XG5cdGZsb2F0OmxlZnQ7XG5cdHdpZHRoOjI2cHg7XG5cdGhlaWdodDoyNnB4O1x0XG5cdGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL3NlYXJjaC1pY29uLnBuZycpIG5vLXJlcGVhdCAycHggMnB4O1xuXHRib3JkZXItcmFkaXVzOjRweDtcbn1cbi5sZWFmbGV0LWNvbnRyb2wtc2VhcmNoIC5zZWFyY2gtYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvc2VhcmNoLWljb24ucG5nJykgbm8tcmVwZWF0IDJweCAtMjJweDtcbn1cbi5sZWFmbGV0LWNvbnRyb2wtc2VhcmNoIC5zZWFyY2gtdG9vbHRpcCB7XG5cdHBvc2l0aW9uOmFic29sdXRlO1xuXHR0b3A6MTAwJTtcblx0bGVmdDowO1xuXHRmbG9hdDpsZWZ0O1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRwYWRkaW5nLWxlZnQ6IDA7XG5cdG1pbi13aWR0aDoxMjBweDtcblx0bWF4LWhlaWdodDoxMjJweDtcblx0Ym94LXNoYWRvdzogMXB4IDFweCA2cHggcmdiYSgwLDAsMCwwLjQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuXHR6LWluZGV4OjEwMTA7XG5cdG92ZXJmbG93LXk6YXV0bztcblx0b3ZlcmZsb3cteDpoaWRkZW47XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cbi5sZWFmbGV0LWNvbnRyb2wtc2VhcmNoIC5zZWFyY2gtdGlwIHtcblx0bWFyZ2luOjJweDtcblx0cGFkZGluZzoycHggNHB4O1xuXHRkaXNwbGF5OmJsb2NrO1xuXHRjb2xvcjpibGFjaztcblx0YmFja2dyb3VuZDogI2VlZTtcblx0Ym9yZGVyLXJhZGl1czouMjVlbTtcblx0dGV4dC1kZWNvcmF0aW9uOm5vbmU7XHRcblx0d2hpdGUtc3BhY2U6bm93cmFwO1xuXHR2ZXJ0aWNhbC1hbGlnbjpjZW50ZXI7XG59XG4ubGVhZmxldC1jb250cm9sLXNlYXJjaCAuc2VhcmNoLXRpcC1zZWxlY3QsXG4ubGVhZmxldC1jb250cm9sLXNlYXJjaCAuc2VhcmNoLXRpcDpob3Zlcixcbi5sZWFmbGV0LWNvbnRyb2wtc2VhcmNoIC5zZWFyY2gtYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbi5sZWFmbGV0LWNvbnRyb2wtc2VhcmNoIC5zZWFyY2gtYWxlcnQge1xuXHRjdXJzb3I6cG9pbnRlcjtcblx0Y2xlYXI6Ym90aDtcblx0Zm9udC1zaXplOi43NWVtO1xuXHRtYXJnaW4tYm90dG9tOjVweDtcblx0cGFkZGluZzowIC4yNWVtO1xuXHRjb2xvcjojZTAwO1xuXHRmb250LXdlaWdodDpib2xkO1xuXHRib3JkZXItcmFkaXVzOi4yNWVtO1xufVxuXG5cbiIsIkAtd2Via2l0LWtleWZyYW1lcyBhezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpIHJvdGF0ZVgoMCkgcm90YXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSkgcm90YXRlWCgwKSByb3RhdGVZKDApfTUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKSByb3RhdGVYKC0xODBkZWcpIHJvdGF0ZVkoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpIHJvdGF0ZVgoLTE4MGRlZykgcm90YXRlWSgwKX10b3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKSByb3RhdGVYKC0xODBkZWcpIHJvdGF0ZVkoLTE4MGRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpIHJvdGF0ZVgoLTE4MGRlZykgcm90YXRlWSgtMTgwZGVnKX19QGtleWZyYW1lcyBhezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpIHJvdGF0ZVgoMCkgcm90YXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSkgcm90YXRlWCgwKSByb3RhdGVZKDApfTUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKSByb3RhdGVYKC0xODBkZWcpIHJvdGF0ZVkoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpIHJvdGF0ZVgoLTE4MGRlZykgcm90YXRlWSgwKX10b3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKSByb3RhdGVYKC0xODBkZWcpIHJvdGF0ZVkoLTE4MGRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpIHJvdGF0ZVgoLTE4MGRlZykgcm90YXRlWSgtMTgwZGVnKX19LmZsdWlkYm94e291dGxpbmU6bm9uZX0uZmx1aWRib3hfX292ZXJsYXl7YmFja2dyb3VuZC1jb2xvcjpoc2xhKDAsMCUsMTAwJSwuODUpO2N1cnNvcjpwb2ludGVyO2N1cnNvcjp6b29tLW91dDtvcGFjaXR5OjA7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjpmaXhlZDt0b3A6LTEwMCU7bGVmdDowO2JvdHRvbTotMTAwJTtyaWdodDowOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjVzIGVhc2UtaW4tb3V0O3RyYW5zaXRpb246YWxsIC41cyBlYXNlLWluLW91dH0uZmx1aWRib3gtLW9wZW5lZCAuZmx1aWRib3hfX292ZXJsYXl7cG9pbnRlci1ldmVudHM6YXV0b30uZmx1aWRib3hfX3dyYXB7YmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgY2VudGVyO2JhY2tncm91bmQtc2l6ZTpjb3ZlcjttYXJnaW46MCBhdXRvO3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjVzIGVhc2UtaW4tb3V0O3RyYW5zaXRpb246YWxsIC41cyBlYXNlLWluLW91dH0uZmx1aWRib3gtLWNsb3NlZCAuZmx1aWRib3hfX3RodW1iLC5mbHVpZGJveF9fdGh1bWJ7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgMHMgZWFzZS1pbi1vdXQgMHM7dHJhbnNpdGlvbjpvcGFjaXR5IDBzIGVhc2UtaW4tb3V0IDBzfS5mbHVpZGJveF9fZ2hvc3R7YmFja2dyb3VuZC1zaXplOjEwMCUgMTAwJTtiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O3Bvc2l0aW9uOmFic29sdXRlOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IDBzIDBzLC13ZWJraXQtdHJhbnNmb3JtIC41cyAwczt0cmFuc2l0aW9uOm9wYWNpdHkgMHMgMHMsLXdlYmtpdC10cmFuc2Zvcm0gLjVzIDBzO3RyYW5zaXRpb246b3BhY2l0eSAwcyAwcyx0cmFuc2Zvcm0gLjVzIDBzO3RyYW5zaXRpb246b3BhY2l0eSAwcyAwcyx0cmFuc2Zvcm0gLjVzIDBzLC13ZWJraXQtdHJhbnNmb3JtIC41cyAwc30uZmx1aWRib3gtLW9wZW5lZCAuZmx1aWRib3hfX2dob3N0e2N1cnNvcjpwb2ludGVyO2N1cnNvcjp6b29tLW91dH0uZmx1aWRib3gtLWNsb3NlZCAuZmx1aWRib3hfX2dob3N0ey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IDBzIC41cywtd2Via2l0LXRyYW5zZm9ybSAuNXMgMHM7dHJhbnNpdGlvbjpvcGFjaXR5IDBzIC41cywtd2Via2l0LXRyYW5zZm9ybSAuNXMgMHM7dHJhbnNpdGlvbjpvcGFjaXR5IDBzIC41cyx0cmFuc2Zvcm0gLjVzIDBzO3RyYW5zaXRpb246b3BhY2l0eSAwcyAuNXMsdHJhbnNmb3JtIC41cyAwcywtd2Via2l0LXRyYW5zZm9ybSAuNXMgMHN9LmZsdWlkYm94X19sb2FkZXJ7b3BhY2l0eTowOy13ZWJraXQtcGVyc3BlY3RpdmU6MjAwcHg7cGVyc3BlY3RpdmU6MjAwcHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7Ym90dG9tOjA7cmlnaHQ6MH0uZmx1aWRib3hfX2xvYWRlcjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjpoc2xhKDAsMCUsMTAwJSwuODUpO2NvbnRlbnQ6Jyc7LXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6cHJlc2VydmUtM2Q7dHJhbnNmb3JtLXN0eWxlOnByZXNlcnZlLTNkO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDo1MCU7d2lkdGg6MjAlO3BhZGRpbmctYm90dG9tOjIwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5Oi13ZWJraXQtdHJhbnNmb3JtO3RyYW5zaXRpb24tcHJvcGVydHk6LXdlYmtpdC10cmFuc2Zvcm07dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm0sLXdlYmtpdC10cmFuc2Zvcm07LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi41czt0cmFuc2l0aW9uLWR1cmF0aW9uOi41czstd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6MHM7dHJhbnNpdGlvbi1kZWxheTowc30uZmx1aWRib3gtLWxvYWRpbmcgLmZsdWlkYm94X19sb2FkZXJ7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC41cyBlYXNlLWluLW91dCAuNXM7dHJhbnNpdGlvbjpvcGFjaXR5IC41cyBlYXNlLWluLW91dCAuNXN9LmZsdWlkYm94LS1sb2FkaW5nIC5mbHVpZGJveF9fbG9hZGVyOmJlZm9yZXstd2Via2l0LWFuaW1hdGlvbjphIDFzIDBzIGluZmluaXRlIGVhc2UtaW4tb3V0IGZvcndhcmRzO2FuaW1hdGlvbjphIDFzIDBzIGluZmluaXRlIGVhc2UtaW4tb3V0IGZvcndhcmRzfVxuLyojIHNvdXJjZU1hcHBpbmdVUkw9Zmx1aWRib3gubWluLmNzcy5tYXAgKi9cbiIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIHJlbVxuXG4gICAgQ2FsY3VsYXRlcyByZW0gdmFsdWVzIGZvciB0aGUgZ2l2ZW4gZm9udCBzaXplcyBpbiBwaXhlbHNcblxuICAgIEFsc28gcHJvdmlkZXMgcHggYmFzZWQgZmFsbGJhY2sgZm9yIGJyb3dzZXJzIHdpdGhvdXQgcmVtIHN1cHBvcnQgKElFOClcbiovXG5cbi8vbm9pbnNwZWN0aW9uIENzc092ZXJ3cml0dGVuUHJvcGVydGllc1xuQG1peGluIHB4cmVtKCR0YXJnZXQsICRjb250ZXh0OiAxNikge1xuICAgIGZvbnQtc2l6ZTogKCR0YXJnZXQpICsgcHg7XG4gICAgZm9udC1zaXplOiAoJHRhcmdldCAvICRjb250ZXh0KSAqIDFyZW07XG59XG5cbkBtaXhpbiBjbGVhcmZpeCB7XG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBmbGV4RW1iZWRcblxuICAgIEZsZXhpYmxlIG1lZGlhIGVtYmVkc1xuXG4gICAgRm9yIHVzZSB3aXRoIG1lZGlhIGVtYmVkcyDigJMgc3VjaCBhcyB2aWRlb3MsIHNsaWRlc2hvd3MsIG9yIGV2ZW4gaW1hZ2VzIOKAk1xuICAgIHRoYXQgbmVlZCB0byByZXRhaW4gYSBzcGVjaWZpYyBhc3BlY3QgcmF0aW8gYnV0IGFkYXB0IHRvIHRoZSB3aWR0aCBvZiB0aGVpclxuICAgIGNvbnRhaW5pbmcgZWxlbWVudC5cblxuICAgIEJhc2VkIG9uIGh0dHBzOi8vZ2l0aHViLmNvbS9zdWl0Y3NzL2ZsZXgtZW1iZWQvYmxvYi9tYXN0ZXIvZmxleC1lbWJlZC5jc3NcblxuICAgIEV4YW1wbGU6XG4gICAgLml0ZW0tdG8tZmxleHtcbiAgICAgICAgQGluY2x1ZGUgZmxleEVtYmVkKDEwMDAsIDQ4MCk7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cDovL3BsYWNlaW1nLmNvbS8xMDAwLzQ4MC9hbnknKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWF4LWhlaWdodDogNDgwcHg7XG4gICAgICAgIG1heC13aWR0aDogMTAwMHB4O1xuICAgIH1cblxuICAgIEFyZ3VtZW50czpcbiAgICAkd2lkdGggICAgICAgOiBUaGUgd2lkdGggb2YgdGhlIGVsZW1lbnRcbiAgICAkaGVpZ2h0ICAgICAgOiBUaGUgaGVpZ2h0IG9mIHRoZSBlbGVtZW50XG4gICAgJGhhc0l0ZW0gICAgIDogW29wdGlvbmFsXSBBZGQgZXh0cmEgb3V0cHV0IGlmIGVsZW1lbnQgY29udGFpbnMgYW4gaWZyYW1lLCBvYmplY3QsIGVtYmVkLCBldGNcbiAgICAkaXRlbUNsYXNzICAgOiBbb3B0aW9uYWxdIENsYXNzIG9mIGVsZW1lbnQgdG8gYmUgcG9zaXRpb25lZCBpbnNpZGUgY29udGFpbmVyXG4qL1xuQG1peGluIGZsZXhFbWJlZCgkd2lkdGgsICRoZWlnaHQsICRoYXNJdGVtOiBmYWxzZSwgJGl0ZW1DbGFzczogZmFsc2UpIHtcbiAgICAvLyBDYWxjIHJhdGlvXG4gICAgJHJhdGlvOiAoJGhlaWdodCAvICR3aWR0aCkqMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC8vIFRoaXMgaXMgd2hlcmUgdGhlIG1hZ2ljIGhhcHBlbnNcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRyYXRpbztcbiAgICB9XG5cbiAgICAvLyBTZXQgZWxlbWVudCBzdHlsZSAoZW1iZWRkZWQgeW91dHViZSBjbGlwIGZvciBleGFtcGxlKVxuICAgIEBpZiAkaGFzSXRlbSB7XG4gICAgICAgIEBpZiAkaXRlbUNsYXNzIHtcbiAgICAgICAgICAgIC4jeyRpdGVtQ2xhc3N9LFxuICAgICAgICAgICAgaWZyYW1lLFxuICAgICAgICAgICAgZW1iZWQsXG4gICAgICAgICAgICBvYmplY3Qge1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIGlmcmFtZSxcbiAgICAgICAgICAgIGVtYmVkLFxuICAgICAgICAgICAgb2JqZWN0IHtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBBdCBhIG1pbmltdW0gZXZlcnkgcGFsZXR0ZSBkZWZpbmVzIGEgYmFzZSBjb2xvdXIsXG4vLyBhbmQgdGhlbiBvcHRpb25hbGx5IGFkZHMgdG9uZXMgdXNlIHRoZSBmb2xsb3dpbmcgbmFtaW5nIHBhdHRlcm46XG4vL1xuLy8gLSB4LWRhcmtcbi8vIC0gZGFyayAqXG4vLyAtIG1pZC1kYXJrXG4vLyAtIGJhc2UgKGRlZmF1bHQpXG4vLyAtIG1pZC1saWdodFxuLy8gLSBsaWdodCAqXG4vLyAtIHgtbGlnaHRcbi8vXG4vL1xuLy8gKklmIHdlIGhhdmUgZmV3ZXIgdGhhbiBzZXZlbiB0b25lcywgd2XigJlsbCBkZWZpbmUgbGlnaHQgYW5kIGRhcmsgZmlyc3QgdG8gYWxsb3dcbi8vIGZvciBhZGRpbmcgaW50ZXJtZWRpYXRlIHRvbmVzIGF0IGEgbGF0ZXIgZGF0ZS5cbi8vXG4vLyBVc2UgdGhlIHBhbGV0dGUgZnVuY3Rpb25cbi8vXG4vLyBAbGluayBodHRwOi8vZXJza2luZWRlc2lnbi5jb20vYmxvZy9mcmllbmRsaWVyLWNvbG91ci1uYW1lcy1zYXNzLW1hcHMvXG4vL1xuLy9cbiRjb2xvci10ZXh0LWRlZmF1bHQ6ICM1YjYyNzc7XG5cbiRwYWxldHRlczogKFxuICAgIGdyZXk6IChcbiAgICAgICAgZGFyazogZGFya2VuKHJnYigxMjgsIDEyOCwgMTI4KSwgMTAlKSxcbiAgICAgICAgYmFzZTogIzViNjI3NyxcbiAgICAgICAgbGlnaHQ6IGxpZ2h0ZW4ocmdiKDEyOCwgMTI4LCAxMjgpLCAxMCUpLFxuICAgICAgICBsaW5lczogI2RmZTBlNSxcbiAgICApLFxuICAgIHdoaXRlOiAoXG4gICAgICAgIGJhc2U6ICNmZmZcbiAgICApLFxuICAgIGdyZWVuOiAoXG4gICAgICAgIGRhcms6ICM3M2FmMzIsXG4gICAgICAgIGJhc2U6ICM3ZWJlMzgsXG4gICAgKSxcbiAgICBibHVlOiAoXG4gICAgICAgIGRhcms6ICMxNTFlNGQsXG4gICAgICAgIGJhc2U6ICMxYTI0NWMsXG4gICAgKSxcbiAgICBiYWJ5Qmx1ZTogKFxuICAgICAgICBkYXJrOiAjZGVlMGU5LFxuICAgICAgICBiYXNlOiAjZTVlOGYwLFxuICAgICAgICBsaWdodDogI2Y5ZmFmZixcbiAgICApXG4pO1xuXG4uZ3JlZW4ge1xuICAgIGNvbG9yOiAjN2ViZTM4O1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQWNjZXNzIHRoZSBjb2xvcnMgaW4gdGhlICRwYWxldHRlcyBtYXBcbi8vIEV4YW1wbGU6IGNvbG9yOiBwYWxldHRlKGdyZXkpOyBjb2xvcjogcGFsZXR0ZShncmV5LCBsaWdodCk7XG4vL1xuXG5AZnVuY3Rpb24gcGFsZXR0ZSgkcGFsZXR0ZSwgJHRvbmU6ICdiYXNlJykge1xuICAgIEByZXR1cm4gbWFwLWdldChtYXAtZ2V0KCRwYWxldHRlcywgJHBhbGV0dGUpLCAkdG9uZSk7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEdyaWQgc2V0dXAuIEFsc28gc2VlOiBodHRwOi8vc3VzeS5vZGRiaXJkLm5ldC9kZW1vcy9ncmlkLXR5cGVzL1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4kc3VzeS1kZWJ1ZzogKFxuICAgIGRlYnVnOihcbiAgICAgICAgaW1hZ2U6IHNob3ctY29sdW1ucyxcbiAgICAgICAgY29sb3I6cmdiYSgwLCAxMjgsIDAsIC4yKSxcbiAgICAgICAgb3V0cHV0OiBiYWNrZ3JvdW5kXG4gICAgKVxuKTtcbiRzdXN5OiAoXG4gICAgY29sdW1uczogNCxcbiAgICBndXR0ZXJzOiAxLzQsXG4gICAgbWF0aDogZmx1aWQsXG4gICAgb3V0cHV0OiBmbG9hdCxcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94LFxuKTtcbiRzdXN5LWxhcmdlOiAoXG4gICAgY29sdW1uczogMTIsXG4gICAgZ3V0dGVyczogMC43ODMzMzMzMzMzLFxuICAgIG1hdGg6IGZsdWlkLFxuICAgIG91dHB1dDogZmxvYXQsXG4gICAgY29sdW1uLXdpZHRoOiAoNjBweCAvIDE2cHgpICAqIDFlbSxcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94LFxuKTtcblxuQGlmICgkZGVidWcpIHtcbiAgICAkc3VzeTogbWFwLW1lcmdlKCRzdXN5LCAkc3VzeS1kZWJ1ZykgIWdsb2JhbDtcbiAgICAkc3VzeS1sYXJnZTogbWFwLW1lcmdlKCRzdXN5LWxhcmdlLCAkc3VzeS1kZWJ1ZykgIWdsb2JhbDtcbn1cblxuLy8gR3JpZCBjb250YWluZXIgc2V0dXBcbi53cmFwcGVyIHtcbiAgICAvLyBtYWtlIGl0IHRoZSBjb250YWluZXIgb2YgdGhlIGdyaWRcbiAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LWxhcmdlLCAkc3VzeS1sYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBjb250YWluZXIoKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LWxhcmdlLXdyYXBwZXIsICRzdXN5LWxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICB9XG4gICAgJi0tcmVsIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbn1cbiIsIi8vIHJlbSBTdXBwb3J0XG4vLyA9PT09PT09PT09PVxuXG4vLyByZW1cbi8vIC0tLVxuLy8gQ2hlY2sgZm9yIGFuIGV4aXN0aW5nIHN1cHBvcnQgbWl4aW4sIG9yIG91dHB1dCBkaXJlY3RseS5cbi8vIC0gJHByb3AgIDogPGNzcyBwcm9wZXJ0eT5cbi8vIC0gJHZhbCAgIDogPGNzcyB2YWx1ZT5cbkBtaXhpbiBzdXN5LXJlbShcbiAgJHByb3AsXG4gICR2YWxcbikge1xuICAkX3JlcXM6IChcbiAgICB2YXJpYWJsZTogcmh5dGhtLXVuaXQgcmVtLXdpdGgtcHgtZmFsbGJhY2ssXG4gICAgbWl4aW46IHJlbSxcbiAgKTtcbiAgQGlmIHN1c3ktc3VwcG9ydChyZW0sICRfcmVxcywgJHdhcm46IGZhbHNlKSBhbmQgJHJoeXRobS11bml0ID09IHJlbSB7XG4gICAgQGluY2x1ZGUgcmVtKCRwcm9wLCAkdmFsKTtcbiAgfSBAZWxzZSB7XG4gICAgI3skcHJvcH06ICR2YWw7XG4gIH1cbn1cbiIsIi8vIENvbnRhaW5lciBTeW50YXhcbi8vID09PT09PT09PT09PT09PT1cblxuLy8gQ29udGFpbmVyIFttaXhpbl1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTZXQgYSBjb250YWluZXIgZWxlbWVudFxuLy8gLSBbJGxheW91dF0gIDogPHNldHRpbmdzPlxuQG1peGluIGNvbnRhaW5lcihcbiAgJGxheW91dDogJHN1c3lcbikge1xuICAkaW5zcGVjdCAgICA6ICRsYXlvdXQ7XG4gICRsYXlvdXQgICAgIDogcGFyc2UtZ3JpZCgkbGF5b3V0KTtcblxuICAkX3dpZHRoICAgICA6IGdldC1jb250YWluZXItd2lkdGgoJGxheW91dCk7XG4gICRfanVzdGlmeSAgIDogcGFyc2UtY29udGFpbmVyLXBvc2l0aW9uKHN1c3ktZ2V0KGNvbnRhaW5lci1wb3NpdGlvbiwgJGxheW91dCkpO1xuICAkX3Byb3BlcnR5ICA6IGlmKHN1c3ktZ2V0KG1hdGgsICRsYXlvdXQpID09IHN0YXRpYywgd2lkdGgsIG1heC13aWR0aCk7XG5cbiAgJF9ib3ggICAgICAgOiBzdXN5LWdldChib3gtc2l6aW5nLCAkbGF5b3V0KTtcblxuICBAaWYgJF9ib3gge1xuICAgIEBpbmNsdWRlIG91dHB1dCgoYm94LXNpemluZzogJF9ib3gpKTtcbiAgfVxuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChjb250YWluZXIsICRpbnNwZWN0KTtcbiAgQGluY2x1ZGUgZmxvYXQtY29udGFpbmVyKCRfd2lkdGgsICRfanVzdGlmeSwgJF9wcm9wZXJ0eSk7XG4gIEBpbmNsdWRlIHNob3ctZ3JpZCgkbGF5b3V0KTtcbn1cblxuLy8gQ29udGFpbmVyIFtmdW5jdGlvbl1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gY29udGFpbmVyIHdpZHRoXG4vLyAtIFskbGF5b3V0XSAgOiA8c2V0dGluZ3M+XG5AZnVuY3Rpb24gY29udGFpbmVyKFxuICAkbGF5b3V0OiAkc3VzeVxuKSB7XG4gICRsYXlvdXQ6IHBhcnNlLWdyaWQoJGxheW91dCk7XG4gIEByZXR1cm4gZ2V0LWNvbnRhaW5lci13aWR0aCgkbGF5b3V0KTtcbn1cblxuLy8gR2V0IENvbnRhaW5lciBXaWR0aFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2FsY3VsYXRlIHRoZSBjb250YWluZXIgd2lkdGhcbi8vIC0gWyRsYXlvdXRdOiA8c2V0dGluZ3M+XG5AZnVuY3Rpb24gZ2V0LWNvbnRhaW5lci13aWR0aChcbiAgJGxheW91dDogJHN1c3lcbikge1xuICAkbGF5b3V0ICAgICAgICAgOiBwYXJzZS1ncmlkKCRsYXlvdXQpO1xuICAkX3dpZHRoICAgICAgICAgOiBzdXN5LWdldChjb250YWluZXIsICRsYXlvdXQpO1xuICAkX2NvbHVtbi13aWR0aCAgOiBzdXN5LWdldChjb2x1bW4td2lkdGgsICRsYXlvdXQpO1xuICAkX21hdGggICAgICAgICAgOiBzdXN5LWdldChtYXRoLCAkbGF5b3V0KTtcblxuICBAaWYgbm90KCRfd2lkdGgpIG9yICRfd2lkdGggPT0gYXV0byB7XG4gICAgQGlmIHZhbGlkLWNvbHVtbi1tYXRoKCRfbWF0aCwgJF9jb2x1bW4td2lkdGgpIHtcbiAgICAgICRfY29sdW1ucyAgIDogc3VzeS1nZXQoY29sdW1ucywgJGxheW91dCk7XG4gICAgICAkX2d1dHRlcnMgICA6IHN1c3ktZ2V0KGd1dHRlcnMsICRsYXlvdXQpO1xuICAgICAgJF9zcHJlYWQgICAgOiBpZihpcy1zcGxpdCgkbGF5b3V0KSwgd2lkZSwgbmFycm93KTtcbiAgICAgICRfd2lkdGggICAgIDogc3VzeS1zdW0oJF9jb2x1bW5zLCAkX2d1dHRlcnMsICRfc3ByZWFkKSAqICRfY29sdW1uLXdpZHRoO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJF93aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRfd2lkdGg7XG59XG5cbi8vIFBhcnNlIENvbnRhaW5lciBQb3NpdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBQYXJzZSB0aGUgJGNvbnRhaW5lci1wb3NpdGlvbiBpbnRvIG1hcmdpbiB2YWx1ZXMuXG4vLyAtIFskanVzdGlmeV0gICA6IGxlZnQgfCBjZW50ZXIgfCByaWdodCB8IDxsZW5ndGg+IFs8bGVuZ3RoPl1cbkBmdW5jdGlvbiBwYXJzZS1jb250YWluZXItcG9zaXRpb24oXG4gICRqdXN0aWZ5OiBtYXAtZ2V0KCRzdXN5LWRlZmF1bHRzLCBjb250YWluZXItcG9zaXRpb24pXG4pIHtcbiAgJF9yZXR1cm46IGlmKCRqdXN0aWZ5ID09IGxlZnQsIDAsIGF1dG8pIGlmKCRqdXN0aWZ5ID09IHJpZ2h0LCAwLCBhdXRvKTtcblxuICBAaWYgbm90KGluZGV4KGxlZnQgcmlnaHQgY2VudGVyLCAkanVzdGlmeSkpIHtcbiAgICAkX3JldHVybjogbnRoKCRqdXN0aWZ5LCAxKTtcbiAgICAkX3JldHVybjogJF9yZXR1cm4gaWYobGVuZ3RoKCRqdXN0aWZ5KSA+IDEsIG50aCgkanVzdGlmeSwgMiksICRfcmV0dXJuKTtcbiAgfVxuXG4gIEByZXR1cm4gJF9yZXR1cm47XG59XG4iLCIvLyBTdXN5IEZhbGxiYWNrIENsZWFyZml4XG4vLyA9PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gQ2xlYXJmaXhcbi8vIC0tLS0tLS0tXG4vLyBDaGVjayBmb3IgYW4gZXhpc3Rpbmcgc3VwcG9ydCBtaXhpbiwgb3IgcHJvdmlkZSBhIHNpbXBsZSBmYWxsYmFjay5cbkBtaXhpbiBzdXN5LWNsZWFyZml4IHtcbiAgQGlmIHN1c3ktc3VwcG9ydChjbGVhcmZpeCwgKG1peGluOiBjbGVhcmZpeCkpIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfSBAZWxzZSB7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICB9XG59XG4iLCIvLyBCcmVha3BvaW50IEludGVncmF0aW9uXG4vLyA9PT09PT09PT09PT09PT09PT09PT09XG5cbiRzdXN5LW1lZGlhOiAoKSAhZGVmYXVsdDtcbiRzdXN5LW1lZGlhLWZhbGxiYWNrOiBmYWxzZSAhZGVmYXVsdDtcblxuJF9zdXN5LW1lZGlhLWNvbnRleHQ6ICgpO1xuXG5cbi8vIFN1c3kgQnJlYWtwb2ludFxuLy8gLS0tLS0tLS0tLS0tLS0tXG4vLyBDaGFuZ2UgZ3JpZHMgYXQgZGlmZmVyZW50IG1lZGlhIHF1ZXJ5IGJyZWFrcG9pbnRzLlxuLy8gLSAkcXVlcnkgICAgIDogPG1pbi13aWR0aD4gWzxtYXgtd2lkdGg+XSB8IDxwcm9wZXJ0eT4gPHZhbHVlPiB8IDxtYXA+XG4vLyAtICRsYXlvdXQgICAgOiA8c2V0dGluZ3M+XG4vLyAtICRuby1xdWVyeSAgOiA8Ym9vbGVhbj4gfCA8c2VsZWN0b3I+XG5AbWl4aW4gc3VzeS1icmVha3BvaW50KFxuICAkcXVlcnksXG4gICRsYXlvdXQ6IGZhbHNlLFxuICAkbm8tcXVlcnk6ICRzdXN5LW1lZGlhLWZhbGxiYWNrXG4pIHtcbiAgQGluY2x1ZGUgc3VzeS1tZWRpYS1yb3V0ZXIoJHF1ZXJ5LCAkbm8tcXVlcnkpIHtcbiAgICBAaWYgJGxheW91dCB7XG4gICAgICBAaW5jbHVkZSB3aXRoLWxheW91dCgkbGF5b3V0KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8gU3VzeSBNZWRpYVxuLy8gLS0tLS0tLS0tLVxuLy8gLSAkcXVlcnk6IDxtaW4td2lkdGg+IFs8bWF4LXdpZHRoPl0gfCA8cHJvcGVydHk+IDx2YWx1ZT5cbi8vIC0gJG5vLXF1ZXJ5OiA8Ym9vbGVhbj4gfCA8c2VsZWN0b3I+XG5AbWl4aW4gc3VzeS1tZWRpYShcbiAgJHF1ZXJ5LFxuICAkbm8tcXVlcnk6ICRzdXN5LW1lZGlhLWZhbGxiYWNrXG4pIHtcbiAgJG9sZC1jb250ZXh0OiAkX3N1c3ktbWVkaWEtY29udGV4dDtcbiAgJG5hbWU6IGlmKG1hcC1oYXMta2V5KCRzdXN5LW1lZGlhLCAkcXVlcnkpLCAkcXVlcnksIG51bGwpO1xuICAkcXVlcnk6IHN1c3ktZ2V0LW1lZGlhKCRxdWVyeSk7XG4gICRxdWVyeTogc3VzeS1wYXJzZS1tZWRpYSgkcXVlcnkpO1xuXG4gIEBpbmNsdWRlIHN1c3ktbWVkaWEtY29udGV4dCgkcXVlcnksICRuYW1lKTtcblxuICBAaWYgJG5vLXF1ZXJ5IGFuZCB0eXBlLW9mKCRuby1xdWVyeSkgIT0gc3RyaW5nIHtcbiAgICBAY29udGVudDtcbiAgfSBAZWxzZSB7XG4gICAgQG1lZGlhICN7c3VzeS1yZW5kZXItbWVkaWEoJHF1ZXJ5KX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgQGlmIHR5cGUtb2YoJG5vLXF1ZXJ5KSA9PSBzdHJpbmcge1xuICAgICAgI3skbm8tcXVlcnl9ICYge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBzdXN5LW1lZGlhLWNvbnRleHQoJG9sZC1jb250ZXh0LCAkY2xlYW46IHRydWUpO1xufVxuXG5cbi8vIE1lZGlhIFJvdXRlclxuLy8gLS0tLS0tLS0tLS0tXG4vLyBSb3V0IG1lZGlhIGFyZ3VtZW50cyB0byB0aGUgY29ycmVjdCBtaXhpbi5cbkBtaXhpbiBzdXN5LW1lZGlhLXJvdXRlcihcbiAgJHF1ZXJ5LFxuICAkbm8tcXVlcnk6ICRzdXN5LW1lZGlhLWZhbGxiYWNrXG4pIHtcbiAgQGlmIHN1c3ktc3VwcG9ydChicmVha3BvaW50LCAobWl4aW46IGJyZWFrcG9pbnQpLCAkd2FybjogZmFsc2UpIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRxdWVyeSwgJG5vLXF1ZXJ5KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIHN1c3ktbWVkaWEoJHF1ZXJ5LCAkbm8tcXVlcnkpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFVwZGF0ZSBDb250ZXh0XG4vLyAtLS0tLS0tLS0tLS0tXG4vLyBTZXQgdGhlIG5ldyBtZWRpYSBjb250ZXh0XG5AbWl4aW4gc3VzeS1tZWRpYS1jb250ZXh0KFxuICAkcXVlcnksXG4gICRuYW1lOiBudWxsLFxuICAkY2xlYW46IGZhbHNlXG4pIHtcbiAgJHF1ZXJ5OiBtYXAtbWVyZ2UoKG5hbWU6ICRuYW1lKSwgJHF1ZXJ5KTtcblxuICBAaWYgJGNsZWFuIHtcbiAgICAkX3N1c3ktbWVkaWEtY29udGV4dDogJHF1ZXJ5ICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRfc3VzeS1tZWRpYS1jb250ZXh0OiBtYXAtbWVyZ2UoJF9zdXN5LW1lZGlhLWNvbnRleHQsICRxdWVyeSkgIWdsb2JhbDtcbiAgfVxufVxuXG5cbi8vIE1lZGlhIENvbnRleHRcbi8vIC0tLS0tLS0tLS0tLS1cbi8vIFJldHVybiB0aGUgZnVsbCBtZWRpYSBjb250ZXh0LCBvciBhIHNpbmdsZSBtZWRpYSBwcm9wZXJ0eSAoZS5nLiBtaW4td2lkdGgpXG5AZnVuY3Rpb24gc3VzeS1tZWRpYS1jb250ZXh0KFxuICAkcHJvcGVydHk6IGZhbHNlXG4pIHtcbiAgQGlmICRwcm9wZXJ0eSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRfc3VzeS1tZWRpYS1jb250ZXh0LCAkcHJvcGVydHkpO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuICRfc3VzeS1tZWRpYS1jb250ZXh0O1xuICB9XG59XG5cblxuLy8gR2V0IE1lZGlhXG4vLyAtLS0tLS0tLS1cbi8vIFJldHVybiBhIG5hbWVkIG1lZGlhLXF1ZXJ5IGZyb20gJHN1c3ktbWVkaWEuXG4vLyAtICRuYW1lOiA8a2V5PlxuQGZ1bmN0aW9uIHN1c3ktZ2V0LW1lZGlhKFxuICAkbmFtZVxuKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkc3VzeS1tZWRpYSwgJG5hbWUpIHtcbiAgICAkbWFwLXZhbHVlOiBtYXAtZ2V0KCRzdXN5LW1lZGlhLCAkbmFtZSk7XG4gICAgQGlmICgkbmFtZSA9PSAkbWFwLXZhbHVlKSB7XG4gICAgICAkbmFtZTogJG1hcC12YWx1ZTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRuYW1lOiBzdXN5LWdldC1tZWRpYSgkbWFwLXZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuYW1lO1xufVxuXG5cbi8vIFJlbmRlciBNZWRpYVxuLy8gLS0tLS0tLS0tLS0tXG4vLyBCdWlsZCBhIG1lZGlhLXF1ZXJ5IHN0cmluZyBmcm9tIHZhcmlvdXMgbWVkaWEgc2V0dGluZ3NcbkBmdW5jdGlvbiBzdXN5LXJlbmRlci1tZWRpYShcbiAgJHF1ZXJ5XG4pIHtcbiAgJG91dHB1dDogbnVsbDtcbiAgQGVhY2ggJHByb3BlcnR5LCAkdmFsdWUgaW4gJHF1ZXJ5IHtcbiAgICAkc3RyaW5nOiBudWxsO1xuXG4gICAgQGlmICRwcm9wZXJ0eSA9PSBtZWRpYSB7XG4gICAgICAkc3RyaW5nOiAkdmFsdWU7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkc3RyaW5nOiAnKCN7JHByb3BlcnR5fTogI3skdmFsdWV9KSc7XG4gICAgfVxuXG4gICAgJG91dHB1dDogaWYoJG91dHB1dCwgJyN7JG91dHB1dH0gYW5kICN7JHN0cmluZ30nLCAkc3RyaW5nKTtcbiAgfVxuXG4gIEByZXR1cm4gJG91dHB1dDtcbn1cblxuXG4vLyBQYXJzZSBNZWRpYVxuLy8gLS0tLS0tLS0tLS1cbi8vIFJldHVybiBwYXJzZWQgbWVkaWEtcXVlcnkgc2V0dGluZ3MgYmFzZWQgb24gc2hvcnRoYW5kXG5AZnVuY3Rpb24gc3VzeS1wYXJzZS1tZWRpYShcbiAgJHF1ZXJ5XG4pIHtcbiAgJG1xOiBudWxsO1xuICBAaWYgdHlwZS1vZigkcXVlcnkpID09IG1hcCB7XG4gICAgJG1xOiAkcXVlcnk7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkcXVlcnkpID09IG51bWJlciB7XG4gICAgJG1xOiAobWluLXdpZHRoOiAkcXVlcnkpO1xuICB9IEBlbHNlIGlmIHR5cGUtb2YoJHF1ZXJ5KSA9PSBsaXN0IGFuZCBsZW5ndGgoJHF1ZXJ5KSA9PSAyIHtcbiAgICBAaWYgdHlwZS1vZihudGgoJHF1ZXJ5LCAxKSkgPT0gbnVtYmVyIHtcbiAgICAgICRtcTogKFxuICAgICAgICBtaW4td2lkdGg6IG1pbigkcXVlcnkuLi4pLFxuICAgICAgICBtYXgtd2lkdGg6IG1heCgkcXVlcnkuLi4pLFxuICAgICAgKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRtcTogKG50aCgkcXVlcnksIDEpOiBudGgoJHF1ZXJ5LCAyKSk7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAkbXE6IChtZWRpYTogJyN7JHF1ZXJ5fScpO1xuICB9XG5cbiAgQHJldHVybiAkbXE7XG59XG4iLCIvLyBAcHJpdmF0ZSBEZWZhdWx0IGZvbnQtc2l6ZSBmb3IgYWxsIGJyb3dzZXJzXG4kYnJvd3Nlci1kZWZhdWx0LWZvbnQtc2l6ZTogMTZweDtcblxuLy8gU2hvdyBkZWJ1ZyBiYXNlbGluZVxuQG1peGluIGRlYnVnLWJhc2VsaW5lLWdyaWQoJGxpbmUtaGVpZ2h0KSB7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlICRsaW5lLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3gsIGJvcmRlci1ib3g7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBjb250ZW50LWJveCwgYm9yZGVyLWJveDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLFxuICAgICAgICByZ2JhKDI1NSwgMCwgMCwgLjgpLCByZ2JhKDAsIDAsIDAsIDApIDFweCxcbiAgICAgICAgcmdiYSgwLCAwLCAwLCAwKSAkbGluZS1oZWlnaHQvMiwgcmdiYSgwLCAwLCAwLCAuNSkgJGxpbmUtaGVpZ2h0LzIsIHJnYmEoMCwgMCwgMCwgMCkgJGxpbmUtaGVpZ2h0LzIrMXB4LFxuICAgICAgICByZ2JhKDAsIDAsIDAsIDApICRsaW5lLWhlaWdodCk7XG59XG5cbi8vIEBwcml2YXRlIFNldHMgdGhlIGJhc2VsaW5lIGZvciBldmVyeSBicmVha3BvaW50XG5AbWl4aW4gZXN0YWJsaXNoLWJhc2UtbGluZS1mb3ItYnJlYWtwb2ludCgkc2l6ZS1tYXApIHtcbiAgICAkcmVsYXRpdmUtc2l6ZTogMTAwJSAqIChtYXAtZ2V0KCRzaXplLW1hcCwgZm9udC1zaXplKS8kYnJvd3Nlci1kZWZhdWx0LWZvbnQtc2l6ZSk7XG4gICAgJGxpbmUtaGVpZ2h0OiBnZXQtbGluZS1oZWlnaHQoJHNpemUtbWFwKTtcblxuICAgIGh0bWwge1xuICAgICAgICBmb250LXNpemU6ICRyZWxhdGl2ZS1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogY29udmVydC1sZW5ndGgoJGxpbmUtaGVpZ2h0LCAnZW0nLCBtYXAtZ2V0KCRzaXplLW1hcCwgZm9udC1zaXplKSk7XG4gICAgICAgIEBpZiAoJGRlYnVnKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkZWJ1Zy1iYXNlbGluZS1ncmlkKGNvbnZlcnQtbGVuZ3RoKCRsaW5lLWhlaWdodCwgJ3B4JywgbWFwLWdldCgkc2l6ZS1tYXAsIGZvbnQtc2l6ZSkpKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gQWRkIGJhc2VsaW5lIGdyaWQgdG8gZWxlbWVudC4gT25seSBvdXRwdXRzIGlmICRkZWJ1ZyA9PSB0cnVlXG5AbWl4aW4gc2hvdy1iYXNlbGluZS1ncmlkKCRkZWJ1ZzogJGRlYnVnLCAkc2l6ZS1tYXA6ICR0c19mb250LXNpemVzKSB7XG4gICAgQGlmICRkZWJ1ZyB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkYmFzZSBpbiAkc2l6ZS1tYXAge1xuICAgICAgICAgICAgJGxpbmUtaGVpZ2h0OiBnZXQtbGluZS1oZWlnaHQoJGJhc2UpO1xuICAgICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRiYXNlLCBicmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc3VzeS1tZWRpYShtYXAtZ2V0KCRiYXNlLCBicmVha3BvaW50KSkge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBkZWJ1Zy1iYXNlbGluZS1ncmlkKGNvbnZlcnQtbGVuZ3RoKCRsaW5lLWhlaWdodCwgJ3B4JywgbWFwLWdldCgkc2l6ZS1tYXAsIGZvbnQtc2l6ZSkpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBkZWJ1Zy1iYXNlbGluZS1ncmlkKGNvbnZlcnQtbGVuZ3RoKCRsaW5lLWhlaWdodCwgJ3B4JywgbWFwLWdldCgkc2l6ZS1tYXAsIGZvbnQtc2l6ZSkpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gQXBwbHkgd2hpdGVzcGFjZS4gVGhlICRwcm9wZXJ0eSBjYW4gYmUgbWFyZ2luLXRvcCwgbWFyZ2luLWJvdHRvbSBvciBwYWRkaW5nLXRvcC8tYm90dG9tLlxuQG1peGluIHBhZCgkY29udGV4dCwgJGxpbmVzOiAxLCAkcHJvcGVydHk6IG1hcmdpbi10b3ApIHtcbiAgICBAaWYgJHByb3BlcnR5ICE9IG1hcmdpbi10b3AgYW5kICRwcm9wZXJ0eSAhPSBtYXJnaW4tYm90dG9tIGFuZCAkcHJvcGVydHkgIT0gcGFkZGluZy10b3AgYW5kICRwcm9wZXJ0eSAhPSBwYWRkaW5nLWJvdHRvbSB7XG4gICAgICAgIEB3YXJuIFwiI3skcHJvcGVydHl9IHNob3VsZCBiZSBtYXJnaW4tdG9wL2JvdHRvbSBvciBwYWRkaW5nLXRvcC9ib3R0b20uIElnbm9yaW5nXCI7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEBpZiAkZmFsbGJhY2stdG8tcHgge1xuICAgICAgICAgICAgI3skcHJvcGVydHl9OiByb3VuZChjb252ZXJ0LWxlbmd0aCgkbGluZXMqZ2V0LWxpbmUtaGVpZ2h0KCRjb250ZXh0KSwgcHgsIG1hcC1nZXQoJGNvbnRleHQsIGZvbnQtc2l6ZSkpKTtcbiAgICAgICAgfVxuICAgICAgICAjeyRwcm9wZXJ0eX06IGNvbnZlcnQtbGVuZ3RoKCRsaW5lcypnZXQtbGluZS1oZWlnaHQoJGNvbnRleHQpLCByZW0sIG1hcC1nZXQoJGNvbnRleHQsIGZvbnQtc2l6ZSkpO1xuICAgIH1cbn1cblxuLy8gQXBwbHkgbWFyZ2luIHRvcFxuQG1peGluIGxlYWRlcigkbGluZXM6IDEsICRzaXplLW1hcDogJHRzX2ZvbnQtc2l6ZXMpe1xuICAgIEBlYWNoICRuYW1lLCAkYmFzZSBpbiAkc2l6ZS1tYXAge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGJhc2UsIGJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHN1c3ktbWVkaWEobWFwLWdldCgkYmFzZSwgYnJlYWtwb2ludCkpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwYWQoJGJhc2UsICRsaW5lcywgJ21hcmdpbi10b3AnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwYWQoJGJhc2UsICRsaW5lcywgJ21hcmdpbi10b3AnKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gQXBwbHkgbWFyZ2luIGJvdHRvbVxuQG1peGluIHRyYWlsZXIoJGxpbmVzOiAxLCAkc2l6ZS1tYXA6ICR0c19mb250LXNpemVzKXtcbiAgICBAZWFjaCAkbmFtZSwgJGJhc2UgaW4gJHNpemUtbWFwIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRiYXNlLCBicmVha3BvaW50KSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzdXN5LW1lZGlhKG1hcC1nZXQoJGJhc2UsIGJyZWFrcG9pbnQpKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcGFkKCRiYXNlLCAkbGluZXMsICdtYXJnaW4tYm90dG9tJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgQGluY2x1ZGUgcGFkKCRiYXNlLCAkbGluZXMsICdtYXJnaW4tYm90dG9tJyk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIEFwcGx5IHBhZGRpbmcgdG9wXG5AbWl4aW4gcGFkZGluZy1sZWFkZXIoJGxpbmVzOiAxLCAkc2l6ZS1tYXA6ICR0c19mb250LXNpemVzKXtcbiAgICBAZWFjaCAkbmFtZSwgJGJhc2UgaW4gJHNpemUtbWFwIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRiYXNlLCBicmVha3BvaW50KSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzdXN5LW1lZGlhKG1hcC1nZXQoJGJhc2UsIGJyZWFrcG9pbnQpKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcGFkKCRiYXNlLCAkbGluZXMsICdwYWRkaW5nLXRvcCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBhZCgkYmFzZSwgJGxpbmVzLCAncGFkZGluZy10b3AnKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gQXBwbHkgcGFkZGluZyBib3R0b21cbkBtaXhpbiBwYWRkaW5nLXRyYWlsZXIoJGxpbmVzOiAxLCAkc2l6ZS1tYXA6ICR0c19mb250LXNpemVzKXtcbiAgICBAZWFjaCAkbmFtZSwgJGJhc2UgaW4gJHNpemUtbWFwIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRiYXNlLCBicmVha3BvaW50KSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzdXN5LW1lZGlhKG1hcC1nZXQoJGJhc2UsIGJyZWFrcG9pbnQpKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcGFkKCRiYXNlLCAkbGluZXMsICdwYWRkaW5nLWJvdHRvbScpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBhZCgkYmFzZSwgJGxpbmVzLCAncGFkZGluZy1ib3R0b20nKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vLyBTaG9ydGhhbmQgbWl4aW4gdG8gYXBwbHkgd2hpdGVzcGFjZSBmb3IgdG9wIGFuZCBib3R0b20gbWFyZ2lucyBhbmQgcGFkZGluZy5cbkBtaXhpbiByaHl0aG0oXG4gICAgJGxlYWRlcjogMSxcbiAgICAkcGFkZGluZy1sZWFkZXI6IDAsXG4gICAgJHBhZGRpbmctdHJhaWxlcjogJHBhZGRpbmctbGVhZGVyLFxuICAgICR0cmFpbGVyOiAkbGVhZGVyLFxuICAgICRzaXplLW1hcDogJHRzX2ZvbnQtc2l6ZXNcbikge1xuICAgIEBlYWNoICRuYW1lLCAkYmFzZSBpbiAkc2l6ZS1tYXAge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGJhc2UsIGJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHN1c3ktbWVkaWEobWFwLWdldCgkYmFzZSwgYnJlYWtwb2ludCkpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwYWQoJGJhc2UsICRsZWFkZXIsICdtYXJnaW4tdG9wJyk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcGFkKCRiYXNlLCAkcGFkZGluZy1sZWFkZXIsICdwYWRkaW5nLXRvcCcpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBhZCgkYmFzZSwgJHBhZGRpbmctdHJhaWxlciwgJ3BhZGRpbmctYm90dG9tJyk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcGFkKCRiYXNlLCAkdHJhaWxlciwgJ21hcmdpbi1ib3R0b20nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwYWQoJGJhc2UsICRsZWFkZXIsICdtYXJnaW4tdG9wJyk7XG4gICAgICAgICAgICBAaW5jbHVkZSBwYWQoJGJhc2UsICRwYWRkaW5nLWxlYWRlciwgJ3BhZGRpbmctdG9wJyk7XG4gICAgICAgICAgICBAaW5jbHVkZSBwYWQoJGJhc2UsICRwYWRkaW5nLXRyYWlsZXIsICdwYWRkaW5nLWJvdHRvbScpO1xuICAgICAgICAgICAgQGluY2x1ZGUgcGFkKCRiYXNlLCAkdHJhaWxlciwgJ21hcmdpbi1ib3R0b20nKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gQ2FsY3VsYXRlICMgb2YgcGl4ZWxzIGZvciB0aGUgZ2l2ZW4gbGluZXNcbkBtaXhpbiBsaW5lcy10by1weCgkbGluZXMsICRwcm9wZXJ0eTogaGVpZ2h0LCAkc2l6ZS1tYXA6ICR0c19mb250LXNpemVzKSB7XG4gICAgQGVhY2ggJG5hbWUsICRiYXNlIGluICRzaXplLW1hcCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkYmFzZSwgYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3VzeS1tZWRpYShtYXAtZ2V0KCRiYXNlLCBicmVha3BvaW50KSkge1xuICAgICAgICAgICAgICAgICN7JHByb3BlcnR5fTogcm91bmQoY29udmVydC1sZW5ndGgoJGxpbmVzKmdldC1saW5lLWhlaWdodCgkYmFzZSksIHB4LCBtYXAtZ2V0KCRiYXNlLCBmb250LXNpemUpKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgI3skcHJvcGVydHl9OiByb3VuZChjb252ZXJ0LWxlbmd0aCgkbGluZXMqZ2V0LWxpbmUtaGVpZ2h0KCRiYXNlKSwgcHgsIG1hcC1nZXQoJGJhc2UsIGZvbnQtc2l6ZSkpKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy9ub2luc3BlY3Rpb24gQ3NzT3ZlcndyaXR0ZW5Qcm9wZXJ0aWVzXG5AbWl4aW4gYWRqdXN0LWZvbnQtc2l6ZS10bygkdG8tc2l6ZSwgJGNvbnRleHQsICRsaW5lczogYXV0bykge1xuICAgICRsaW5lczogbGluZXMtZm9yLWZvbnQtc2l6ZShjb252ZXJ0LWxlbmd0aCgkdG8tc2l6ZSwgcHgsIG1hcC1nZXQoJGNvbnRleHQsIGZvbnQtc2l6ZSkpLCAkY29udGV4dCk7XG5cbiAgICAvLyBweCBmYWxsYmFja1xuICAgIEBpZiAkZmFsbGJhY2stdG8tcHgge1xuICAgICAgICBmb250LXNpemU6IHJvdW5kKGNvbnZlcnQtbGVuZ3RoKCR0by1zaXplLCBweCwgbWFwLWdldCgkY29udGV4dCwgZm9udC1zaXplKSkpO1xuICAgICAgICBsaW5lLWhlaWdodDogcm91bmQoY29udmVydC1sZW5ndGgoJGxpbmVzKmdldC1saW5lLWhlaWdodCgkY29udGV4dCksIHB4LCBtYXAtZ2V0KCRjb250ZXh0LCBmb250LXNpemUpKSk7XG4gICAgfVxuICAgIC8vIHJlbVxuICAgIGZvbnQtc2l6ZTogY29udmVydC1sZW5ndGgoJHRvLXNpemUsIHJlbSwgbWFwLWdldCgkY29udGV4dCwgZm9udC1zaXplKSk7XG4gICAgbGluZS1oZWlnaHQ6IGNvbnZlcnQtbGVuZ3RoKCRsaW5lcypnZXQtbGluZS1oZWlnaHQoJGNvbnRleHQpLCByZW0sIG1hcC1nZXQoJGNvbnRleHQsIGZvbnQtc2l6ZSkpO1xufVxuXG4vLyBFc3RhYmxpc2ggdGhlIGJhc2VsaW5lIGZvciB0aGUgdHlwb2dyYXBoaWMgcmh5dGhtXG4vLyBAcGFyYW0gJHNpemUtbWFwIGEgbWFwIGluIHRoZSBmb2xsb3dpbmcgc3RydWN0dXJlOiAoZm9udC1zaXplOiwgbGluZS1oZWlnaHQ6LCByYXRpbzosIFticmVha3BvaW50Ol0gKVxuQG1peGluIGVzdGFibGlzaC1iYXNlLWxpbmVzKCRzaXplLW1hcDogJHRzX2ZvbnQtc2l6ZXMpIHtcbiAgICBAZWFjaCAkbmFtZSwgJGJhc2UgaW4gJHNpemUtbWFwIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRiYXNlLCBicmVha3BvaW50KSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzdXN5LW1lZGlhKG1hcC1nZXQoJGJhc2UsIGJyZWFrcG9pbnQpKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZXN0YWJsaXNoLWJhc2UtbGluZS1mb3ItYnJlYWtwb2ludCgkYmFzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgQGluY2x1ZGUgZXN0YWJsaXNoLWJhc2UtbGluZS1mb3ItYnJlYWtwb2ludCgkYmFzZSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBzZXQtdHlwZS1zaXplKCRzY2FsZTogYmFzZSwgJHNpemUtbWFwOiAkdHNfZm9udC1zaXplcykge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkdHNfZm9udC1zY2FsZXMsICRzY2FsZSkge1xuICAgICAgICAkZm9udC1zY2FsZTogbWFwLWdldCgkdHNfZm9udC1zY2FsZXMsICRzY2FsZSk7XG4gICAgICAgICRmb250LXNpemU6IDA7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkYmFzZSBpbiAkc2l6ZS1tYXAge1xuICAgICAgICAgICAgQGlmICgkdXNlLW1vZHVsYXItc2NhbGUpIHtcbiAgICAgICAgICAgICAgICAkZm9udC1zaXplOiBtcygkZm9udC1zY2FsZSwgbWFwLWdldCgkYmFzZSwgZm9udC1zaXplKSwgbWFwLWdldCgkYmFzZSwgcmF0aW8pKTtcblxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgJGZvbnQtc2l6ZTogJGZvbnQtc2NhbGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkYmFzZSwgYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHN1c3ktbWVkaWEobWFwLWdldCgkYmFzZSwgYnJlYWtwb2ludCkpIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYWRqdXN0LWZvbnQtc2l6ZS10bygkZm9udC1zaXplLCAkYmFzZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYWRqdXN0LWZvbnQtc2l6ZS10bygkZm9udC1zaXplLCAkYmFzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgICAgQGVycm9yIFwiVW5rbm93biBrZXkgI3skc2NhbGV9IGluIHRzX2ZvbnQtc2NhbGVzIG1hcFwiO1xuICAgIH1cbn1cblxuXG5cblxuIiwiLy8gQ29udmVydCBhbnkgQ1NTIDxsZW5ndGg+IG9yIDxwZXJjZW50YWdlPiB2YWx1ZSB0byBhbnkgYW5vdGhlci5cbi8vXG4vLyBAcGFyYW0gJGxlbmd0aFxuLy8gICBBIGNzcyA8bGVuZ3RoPiBvciA8cGVyY2VudGFnZT4gdmFsdWVcbi8vXG4vLyBAcGFyYW0gJHRvLXVuaXRcbi8vICAgU3RyaW5nIG1hdGNoaW5nIGEgY3NzIHVuaXQga2V5d29yZCwgZS5nLiAnZW0nLCAnJScsIGV0Yy5cbi8vXG4vLyBAcGFyYW0gJGZyb20tY29udGV4dFxuLy8gICBXaGVuIGNvbnZlcnRpbmcgZnJvbSByZWxhdGl2ZSB1bml0cywgdGhlIGFic29sdXRlIGxlbmd0aCAoaW4gcHgpIHRvXG4vLyAgIHdoaWNoICRsZW5ndGggcmVmZXJzIChlLmcuIGZvciAkbGVuZ3RocyBpbiBlbSB1bml0cywgd291bGQgbm9ybWFsbHkgYmUgdGhlXG4vLyAgIGZvbnQtc2l6ZSBvZiB0aGUgY3VycmVudCBlbGVtZW50KS5cbi8vXG4vLyBAcGFyYW0gJHRvLWNvbnRleHRcbi8vICAgRm9yIGNvbnZlcnRpbmcgdG8gcmVsYXRpdmUgdW5pdHMsIHRoZSBhYnNvbHV0ZSBsZW5ndGggaW4gcHggdG8gd2hpY2ggdGhlXG4vLyAgIG91dHB1dCB2YWx1ZSB3aWxsIHJlZmVyLiBEZWZhdWx0cyB0byB0aGUgc2FtZSBhcyAkZnJvbS1jb250ZXh0LCBzaW5jZSBpdCBpc1xuLy8gICByYXJlbHkgbmVlZGVkLlxuQGZ1bmN0aW9uIGNvbnZlcnQtbGVuZ3RoKFxuICAgICRsZW5ndGgsXG4gICAgJHRvLXVuaXQsXG4gICAgJGZyb20tY29udGV4dDogJGJhc2UtZm9udC1zaXplLFxuICAgICR0by1jb250ZXh0OiAkZnJvbS1jb250ZXh0XG4pIHtcblxuICAgICRmcm9tLXVuaXQ6IHVuaXQoJGxlbmd0aCk7XG5cbiAgICAvLyBPcHRpbWl6ZSBmb3IgY2FzZXMgd2hlcmUgYGZyb21gIGFuZCBgdG9gIHVuaXRzIGFyZSBhY2NpZGVudGFsbHkgdGhlIHNhbWUuXG4gICAgQGlmICRmcm9tLXVuaXQgPT0gJHRvLXVuaXQgeyBAcmV0dXJuICRsZW5ndGg7IH1cblxuICAgIC8vIENvbnRleHQgdmFsdWVzIG11c3QgYmUgaW4gcHggc28gd2UgY2FuIGRldGVybWluZSBhIGNvbnZlcnNpb24gcmF0aW8gZm9yXG4gICAgLy8gcmVsYXRpdmUgdW5pdHMuXG4gICAgQGlmIHVuaXQoJGZyb20tY29udGV4dCkgIT0gJ3B4JyB7IEB3YXJuIFwiUGFyZW1ldGVyICRmcm9tLWNvbnRleHQgbXVzdCByZXNvbHZlIHRvIGEgdmFsdWUgaW4gcGl4ZWwgdW5pdHMuXCI7IH1cbiAgICBAaWYgdW5pdCgkdG8tY29udGV4dCkgIT0gJ3B4JyB7IEB3YXJuIFwiUGFyYW1ldGVyICR0by1jb250ZXh0IG11c3QgcmVzb2x2ZSB0byBhIHZhbHVlIGluIHBpeGVsIHVuaXRzLlwiOyB9XG5cbiAgICAvLyBDb252ZXJ0IGlucHV0IGxlbmd0aCB0byBwaXhlbHNcbiAgICAkcHgtbGVuZ3RoOiAkbGVuZ3RoO1xuXG4gICAgQGlmICRmcm9tLXVuaXQgIT0gJ3B4JyB7XG4gICAgICAgIC8vIENvbnZlcnQgcmVsYXRpdmUgdW5pdHMgdXNpbmcgdGhlIGZyb20tY29udGV4dCBwYXJhbWV0ZXIuXG4gICAgICAgIEBpZiAgICAgICRmcm9tLXVuaXQgPT0gJ2VtJyAgeyAkcHgtbGVuZ3RoOiAkbGVuZ3RoICogJGZyb20tY29udGV4dCAvIDFlbSB9XG4gICAgICAgIEBlbHNlIGlmICRmcm9tLXVuaXQgPT0gJ3JlbScgeyAkcHgtbGVuZ3RoOiAkbGVuZ3RoICogJGZyb20tY29udGV4dCAvIDFyZW0gfVxuICAgICAgICBAZWxzZSBpZiAkZnJvbS11bml0ID09ICclJyAgIHsgJHB4LWxlbmd0aDogJGxlbmd0aCAqICRmcm9tLWNvbnRleHQgLyAxMDAlIH1cbiAgICAgICAgQGVsc2UgaWYgJGZyb20tdW5pdCA9PSAnZXgnICB7ICRweC1sZW5ndGg6ICRsZW5ndGggKiAkZnJvbS1jb250ZXh0IC8gMmV4IH1cbiAgICAgICAgICAgIC8vIENvbnZlcnQgYWJzb2x1dGUgdW5pdHMgdXNpbmcgU2FzcycgY29udmVyc2lvbiB0YWJsZS5cbiAgICAgICAgQGVsc2UgaWYgJGZyb20tdW5pdCA9PSAnaW4nICBvclxuICAgICAgICAgICAgICRmcm9tLXVuaXQgPT0gJ21tJyAgb3JcbiAgICAgICAgICAgICAkZnJvbS11bml0ID09ICdjbScgIG9yXG4gICAgICAgICAgICAgJGZyb20tdW5pdCA9PSAncHQnICBvclxuICAgICAgICAgICAgICRmcm9tLXVuaXQgPT0gJ3BjJyAgeyAkcHgtbGVuZ3RoOiAwcHggKyAkbGVuZ3RoIH1cbiAgICAgICAgICAgIC8vIENlcnRhaW4gdW5pdHMgY2FuJ3QgYmUgY29udmVydGVkLlxuICAgICAgICBAZWxzZSBpZiAkZnJvbS11bml0ID09ICdjaCcgIG9yXG4gICAgICAgICAgICAgJGZyb20tdW5pdCA9PSAndncnICBvclxuICAgICAgICAgICAgICRmcm9tLXVuaXQgPT0gJ3ZoJyAgb3JcbiAgICAgICAgICAgICAkZnJvbS11bml0ID09ICd2bWluJyB7XG4gICAgICAgICAgICBAd2FybiBcIiN7JGZyb20tdW5pdH0gdW5pdHMgY2FuJ3QgYmUgcmVsaWFibHkgY29udmVydGVkOyBSZXR1cm5pbmcgb3JpZ2luYWwgdmFsdWUuXCI7XG4gICAgICAgICAgICBAcmV0dXJuICRsZW5ndGg7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgQHdhcm4gXCIjeyRmcm9tLXVuaXR9IGlzIGFuIHVua25vd24gbGVuZ3RoIHVuaXQuIFJldHVybmluZyBvcmlnaW5hbCB2YWx1ZS5cIjtcbiAgICAgICAgICAgIEByZXR1cm4gJGxlbmd0aDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIENvbnZlcnQgbGVuZ3RoIGluIHBpeGVscyB0byB0aGUgb3V0cHV0IHVuaXRcbiAgICAkb3V0cHV0LWxlbmd0aDogJHB4LWxlbmd0aDtcbiAgICBAaWYgJHRvLXVuaXQgIT0gJ3B4JyB7XG4gICAgICAgIC8vIFJlbGF0aXZlIHVuaXRzXG4gICAgICAgIEBpZiAgICAgICR0by11bml0ID09ICdlbScgIHsgJG91dHB1dC1sZW5ndGg6ICRweC1sZW5ndGggKiAxZW0gLyAkdG8tY29udGV4dCB9XG4gICAgICAgIEBlbHNlIGlmICR0by11bml0ID09ICdyZW0nIHsgJG91dHB1dC1sZW5ndGg6ICRweC1sZW5ndGggKiAxcmVtIC8gJHRvLWNvbnRleHQgfVxuICAgICAgICBAZWxzZSBpZiAkdG8tdW5pdCA9PSAnJScgICB7ICRvdXRwdXQtbGVuZ3RoOiAkcHgtbGVuZ3RoICogMTAwJSAvICR0by1jb250ZXh0IH1cbiAgICAgICAgQGVsc2UgaWYgJHRvLXVuaXQgPT0gJ2V4JyAgeyAkb3V0cHV0LWxlbmd0aDogJHB4LWxlbmd0aCAqIDJleCAvICR0by1jb250ZXh0IH1cbiAgICAgICAgICAgIC8vIEFic29sdXRlIHVuaXRzXG4gICAgICAgIEBlbHNlIGlmICR0by11bml0ID09ICdpbicgIHsgJG91dHB1dC1sZW5ndGg6IDBpbiArICRweC1sZW5ndGggfVxuICAgICAgICBAZWxzZSBpZiAkdG8tdW5pdCA9PSAnbW0nICB7ICRvdXRwdXQtbGVuZ3RoOiAwbW0gKyAkcHgtbGVuZ3RoIH1cbiAgICAgICAgQGVsc2UgaWYgJHRvLXVuaXQgPT0gJ2NtJyAgeyAkb3V0cHV0LWxlbmd0aDogMGNtICsgJHB4LWxlbmd0aCB9XG4gICAgICAgIEBlbHNlIGlmICR0by11bml0ID09ICdwdCcgIHsgJG91dHB1dC1sZW5ndGg6IDBwdCArICRweC1sZW5ndGggfVxuICAgICAgICBAZWxzZSBpZiAkdG8tdW5pdCA9PSAncGMnICB7ICRvdXRwdXQtbGVuZ3RoOiAwcGMgKyAkcHgtbGVuZ3RoIH1cbiAgICAgICAgICAgIC8vIE5vbi1jb252ZXJ0aWJsZSB1bml0c1xuICAgICAgICBAZWxzZSBpZiAkdG8tdW5pdCA9PSAnY2gnICBvclxuICAgICAgICAgICAgICR0by11bml0ID09ICd2dycgIG9yXG4gICAgICAgICAgICAgJHRvLXVuaXQgPT0gJ3ZoJyAgb3JcbiAgICAgICAgICAgICAkdG8tdW5pdCA9PSAndm1pbicge1xuICAgICAgICAgICAgQHdhcm4gXCIjeyR0by11bml0fSB1bml0cyBjYW4ndCBiZSByZWxpYWJseSBjb252ZXJ0ZWQ7IFJldHVybmluZyBvcmlnaW5hbCB2YWx1ZS5cIjtcbiAgICAgICAgICAgIEByZXR1cm4gJGxlbmd0aDtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICBAd2FybiBcIiN7JHRvLXVuaXR9IGlzIGFuIHVua25vd24gbGVuZ3RoIHVuaXQuIFJldHVybmluZyBvcmlnaW5hbCB2YWx1ZS5cIjtcbiAgICAgICAgICAgIEByZXR1cm4gJGxlbmd0aDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gJG91dHB1dC1sZW5ndGg7XG59XG5cbkBmdW5jdGlvbiBnZXQtbGluZS1oZWlnaHQoJHNpemUtbWFwKXtcbiAgICAkbGluZS1oZWlnaHQ6IG1hcC1nZXQoJHNpemUtbWFwLCBsaW5lLWhlaWdodCk7XG4gICAgQGlmICh1bml0bGVzcygkbGluZS1oZWlnaHQpKSB7XG4gICAgICAgIC8vIGNvbnZlcnQgbGluZS1oZWlnaHQgdG8gZW0gdmFsdWVcbiAgICAgICAgJGxpbmUtaGVpZ2h0OiBtYXAtZ2V0KCRzaXplLW1hcCwgZm9udC1zaXplKSptYXAtZ2V0KCRzaXplLW1hcCwgbGluZS1oZWlnaHQpO1xuICAgIH1cbiAgICBAcmV0dXJuICRsaW5lLWhlaWdodDtcbn1cblxuLy8gQ2FsY3VsYXRlIHRoZSBtaW5pbXVtIG11bHRpcGxlIG9mIHJoeXRobSB1bml0cyBuZWVkZWQgdG8gY29udGFpbiB0aGUgZm9udC1zaXplLlxuQGZ1bmN0aW9uIGxpbmVzLWZvci1mb250LXNpemUoJGZvbnQtc2l6ZSwgJGNvbnRleHQpIHtcbiAgICAkYmFzZS1saW5lLWhlaWdodDogZ2V0LWxpbmUtaGVpZ2h0KCRjb250ZXh0KTtcbiAgICAkbGluZXM6IGlmKCRyb3VuZC10by1uZWFyZXN0LWhhbGYtbGluZSxcbiAgICAgICAgY2VpbCgyICogJGZvbnQtc2l6ZSAvICRiYXNlLWxpbmUtaGVpZ2h0KSAvIDIsXG4gICAgICAgIGNlaWwoJGZvbnQtc2l6ZSAvICRiYXNlLWxpbmUtaGVpZ2h0KSk7XG4gICAgLy8gSWYgbGluZXMgYXJlIGNyYW1wZWQgaW5jbHVkZSBzb21lIGV4dHJhIGxlYWQuXG4gICAgQGlmICgkbGluZXMgKiAkYmFzZS1saW5lLWhlaWdodCAtICRmb250LXNpemUpIDwgKDJweCAqIDIpIHtcbiAgICAgICAgJGxpbmVzOiAkbGluZXMgKyBpZigkcm91bmQtdG8tbmVhcmVzdC1oYWxmLWxpbmUsIDAuNSwgMSk7XG4gICAgfVxuICAgIEByZXR1cm4gJGxpbmVzO1xufVxuXG5AZnVuY3Rpb24gbGluZXMtdG8tcHgoJGxpbmVzLCAkc2l6ZTogYmFzZSwgJHNpemUtbWFwOiAkdHNfZm9udC1zaXplcyl7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRzaXplLW1hcCwgJHNpemUpIHtcbiAgICAgICAgJGJhc2U6IG1hcC1nZXQoJHNpemUtbWFwLCAkc2l6ZSk7XG4gICAgICAgIEByZXR1cm4gcm91bmQoY29udmVydC1sZW5ndGgoJGxpbmVzKmdldC1saW5lLWhlaWdodCgkYmFzZSksIHB4LCBtYXAtZ2V0KCRiYXNlLCBmb250LXNpemUpKSlcbiAgICB9XG59IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vICBUeXBlIHdlaWdodHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4ldHctZXh0cmFib2xkIHtcbiAgICBmb250LXdlaWdodDogOTAwO1xufVxuXG4ldHctYm9sZCB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuJXR3LXNlbWktYm9sZCB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuJXR3LXJlZ3VsYXIge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbiV0dy1saWdodCB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuJXR3LXVsdHJhbGlnaHQge1xuICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG59XG5cbmJvZHkge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gIERlZmF1bHQgc3R5bGVzIC0gZWRpdCBpZiBuZWVkZWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5wLFxub2wsXG51bCxcbmJsb2NrcXVvdGUge1xuICAgIC8vbm9pbnNwZWN0aW9uIFNhc3NTY3NzVW5yZXNvbHZlZFBsYWNlaG9sZGVyU2VsZWN0b3JcbiAgICBAaW5jbHVkZSBzZXQtdHlwZS1zaXplKGJhc2UpO1xuICAgIEBpbmNsdWRlIHJoeXRobSgxKTtcbn1cbiIsIi5mbGV4aXQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmLS1kZXNrdG9wIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LWxhcmdlLCAkc3VzeS1sYXJnZSkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19jb21wYXRpYmlsaXR5IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICYtLWRlc2t0b3Age1xuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LWxhcmdlLCAkc3VzeS1sYXJnZSkge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi0tbW9iaWxlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkYnJlYWtwb2ludC1sYXJnZSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICZfX2hlbHBlciB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAmLS1kZXNrdG9wIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQtbGFyZ2UsICRzdXN5LWxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYtLW1vYmlsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LWxhcmdlLCAkc3VzeS1sYXJnZSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19ob2xkZXIge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAmLS1kZXNrdG9wIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG4gICAgICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQtbGFyZ2UsICRzdXN5LWxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYtLW1vYmlsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkYnJlYWtwb2ludC1sYXJnZSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5tYXRyaXgge1xuICAgICYtLWNvbnRlbnQge1xuICAgICAgICAvLyBjdXN0b20gY3NzXG4gICAgfVxuICAgICZfX2l0ZW0ge1xuICAgICAgICAvLyBBZGQgbGVhZGVycyBvciB0cmFpbGVyc1xuICAgICAgICBAaW5jbHVkZSB0cmFpbGVyKDEpO1xuICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQtbGFyZ2UsICRzdXN5LWxhcmdlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFpbGVyKDEuNSk7XG4gICAgICAgIH1cbiAgICAgICAgLmZyZWVmb3JtLXJvdyB7XG4gICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgIEBleHRlbmQgLmJ1dHRvbjtcbiAgICAgICAgICAgICAgICBAZXh0ZW5kIC5idXR0b25fX3ByaW1hcnk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fbGVmdCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LWxhcmdlLCAkc3VzeS1sYXJnZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbig2KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19yaWdodCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LWxhcmdlLCAkc3VzeS1sYXJnZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3BhbihsYXN0IDYpO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgLy8gYXBwbHkgdGV4dFN0eWxlc1xuICAgIH1cbiAgICAmX190ZXh0IHtcbiAgICAgICAgLy8gYXBwbHkgdGV4dFN0eWxlc1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9faW1hZ2Uge1xuICAgICAgICAvLyBhcHBseSBpbWFnZSBtb2RpZmljYXRpb25zXG4gICAgfVxuICAgICZfX2h0bWxFbWJlZCB7XG4gICAgICAgIC8vIEFwcGx5IEhUTUwgbW9kaWZpY2F0aW9uc1xuICAgIH1cbiAgICAmX19pdGVtLS10ZWFtIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAuZW1wbG95ZWUge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LW1lZGl1bSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzcGFuKDIgb2YgNik7XG4gICAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgzbiszKSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4obGFzdCAyIG9mIDYpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIFNwYW4gU3ludGF4XG4vLyA9PT09PT09PT09PVxuXG4vLyBTcGFuIFttaXhpbl1cbi8vIC0tLS0tLS0tLS0tLVxuLy8gU2V0IGEgc3Bhbm5pbmcgZWxlbWVudCB1c2luZyBzaG9ydGhhbmQgc3ludGF4LlxuLy8gLSAkc3BhbiAgOiA8c3Bhbj5cbkBtaXhpbiBzcGFuKFxuICAkc3BhblxuKSB7XG4gICRpbnNwZWN0OiAkc3BhbjtcbiAgJHNwYW46IHBhcnNlLXNwYW4oJHNwYW4pO1xuICAkb3V0cHV0OiBzcGFuLW1hdGgoJHNwYW4pO1xuICAkbmVzdGluZzogc3VzeS1nZXQoc3BhbiwgJHNwYW4pO1xuICAkY2xlYXI6IHN1c3ktZ2V0KGNsZWFyLCAkc3Bhbik7XG5cbiAgJGJveDogc3VzeS1nZXQoYm94LXNpemluZywgJHNwYW4pO1xuICAkY29udGVudC1ib3g6IGlmKHN1c3ktZ2V0KGdsb2JhbC1ib3gtc2l6aW5nKSAhPSAnYm9yZGVyLWJveCcsIHRydWUsIGZhbHNlKTtcbiAgJGJveDogJGJveCBvciBpZihpcy1pbnNpZGUoJHNwYW4pIGFuZCAkY29udGVudC1ib3gsIGJvcmRlci1ib3gsIG51bGwpO1xuXG4gIEBpZiAkY2xlYXIgPT0gYnJlYWsge1xuICAgIEBpbmNsdWRlIGJyZWFrO1xuICB9IEBlbHNlIGlmICRjbGVhciA9PSBub2JyZWFrIHtcbiAgICBAaW5jbHVkZSBub2JyZWFrO1xuICB9XG5cbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KHNwYW4sICRpbnNwZWN0KTtcbiAgQGluY2x1ZGUgb3V0cHV0KChib3gtc2l6aW5nOiAkYm94KSk7XG4gIEBpbmNsdWRlIGZsb2F0LXNwYW4tb3V0cHV0KCRvdXRwdXQuLi4pO1xuXG4gIEBpZiB2YWxpZC1jb2x1bW5zKCRuZXN0aW5nLCBzaWxlbnQpIHtcbiAgICBAaW5jbHVkZSBuZXN0ZWQoJHNwYW4pIHsgQGNvbnRlbnQ7IH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gU3BhbiBbZnVuY3Rpb25dXG4vLyAtLS0tLS0tLS0tLS0tLS1cbi8vIFJldHVybiB0aGUgd2lkdGggb2YgYSBzcGFuLlxuLy8gLSAkc3BhbiAgOiA8c3Bhbj5cbkBmdW5jdGlvbiBzcGFuKFxuICAkc3BhblxuKSB7XG4gIEByZXR1cm4gZ2V0LXNwYW4td2lkdGgoJHNwYW4pO1xufVxuXG4vLyBTcGFuIE1hdGhcbi8vIC0tLS0tLS0tLVxuLy8gR2V0IGFsbCB0aGUgc3BhbiByZXN1bHRzLlxuLy8gLSAkc3BhbjogPG1hcD5cbkBmdW5jdGlvbiBzcGFuLW1hdGgoXG4gICRzcGFuXG4pIHtcbiAgJG5lc3QgICAgICAgICAgICAgOiBpZihzdXN5LWdldChyb2xlLCAkc3BhbikgPT0gbmVzdCwgdHJ1ZSwgZmFsc2UpO1xuICAkc3BsaXQtbmVzdCAgICAgICA6IGlmKGlzLXNwbGl0KCRzcGFuKSBhbmQgJG5lc3QsIHRydWUsIGZhbHNlKTtcbiAgJGVkZ2UgICAgICAgICAgICAgOiBnZXQtZWRnZSgkc3Bhbik7XG4gICRsb2NhdGlvbiAgICAgICAgIDogZ2V0LWxvY2F0aW9uKCRzcGFuKTtcblxuICAkZmxvYXQgICAgICAgICAgICA6IGZyb207XG4gICRwYWRkaW5nLWJlZm9yZSAgIDogbnVsbDtcbiAgJHBhZGRpbmctYWZ0ZXIgICAgOiBudWxsO1xuICAkbWFyZ2luLWJlZm9yZSAgICA6IG51bGw7XG4gICRtYXJnaW4tYWZ0ZXIgICAgIDogbnVsbDtcblxuICAvLyBjYWxjdWxhdGUgd2lkdGhzXG4gICRzcHJlYWQ6IGluZGV4KG1hcC12YWx1ZXMoJHNwYW4pLCBzcHJlYWQpO1xuICAkc3BhbjogaWYoJHNwbGl0LW5lc3QgYW5kIG5vdCgkc3ByZWFkKSwgbWFwLW1lcmdlKCRzcGFuLCAoc3ByZWFkOiB3aWRlKSksICRzcGFuKTtcbiAgJHdpZHRoOiBnZXQtc3Bhbi13aWR0aCgkc3Bhbik7XG4gICRndXR0ZXJzOiBnZXQtZ3V0dGVycygkc3Bhbik7XG5cbiAgLy8gYXBwbHkgZ3V0dGVyc1xuICBAaWYgaXMtaW5zaWRlKCRzcGFuKSB7XG4gICAgQGlmIG5vdChzdXN5LWdldChyb2xlLCAkc3BhbikpIHtcbiAgICAgICRwYWRkaW5nLWJlZm9yZTogbWFwLWdldCgkZ3V0dGVycywgYmVmb3JlKTtcbiAgICAgICRwYWRkaW5nLWFmdGVyOiBtYXAtZ2V0KCRndXR0ZXJzLCBhZnRlcik7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAaWYgbm90KCRzcGxpdC1uZXN0KSB7XG4gICAgICAkbWFyZ2luLWJlZm9yZTogbWFwLWdldCgkZ3V0dGVycywgYmVmb3JlKTtcbiAgICAgICRtYXJnaW4tYWZ0ZXI6IG1hcC1nZXQoJGd1dHRlcnMsIGFmdGVyKTtcbiAgICB9XG4gIH1cblxuICAvLyBzcGVjaWFsIG1hcmdpbiBoYW5kbGluZ1xuICBAaWYgc3VzeS1nZXQob3V0cHV0LCAkc3BhbikgPT0gaXNvbGF0ZSBhbmQgJGxvY2F0aW9uIHtcbiAgICAkbWFyZ2luLWJlZm9yZTogZ2V0LWlzb2xhdGlvbigkc3Bhbik7XG4gICAgJG1hcmdpbi1hZnRlcjogLTEwMCU7XG4gIH0gQGVsc2UgaWYgJGVkZ2Uge1xuICAgICRpcy1zcGxpdDogaXMtc3BsaXQoJHNwYW4pO1xuICAgICRwb3M6IHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJHNwYW4pO1xuXG4gICAgQGlmICRlZGdlID09IGxhc3Qge1xuICAgICAgJGZsb2F0OiBzdXN5LWdldChsYXN0LWZsb3csICRzcGFuKTtcbiAgICB9XG5cbiAgICBAaWYgbm90KCRpcy1zcGxpdCkge1xuICAgICAgQGlmICRlZGdlID09IGZ1bGwgb3IgKCRlZGdlID09IGZpcnN0IGFuZCAkcG9zID09IGJlZm9yZSkge1xuICAgICAgICAkbWFyZ2luLWJlZm9yZTogMDtcbiAgICAgIH1cbiAgICAgIEBpZiAkZWRnZSA9PSBmdWxsIG9yICgkZWRnZSA9PSBsYXN0IGFuZCAkcG9zID09IGFmdGVyKSB7XG4gICAgICAgICRtYXJnaW4tYWZ0ZXI6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICBAcmV0dXJuIChcbiAgICB3aWR0aCAgICAgICAgICAgOiAkd2lkdGgsXG4gICAgZmxvYXQgICAgICAgICAgIDogJGZsb2F0LFxuICAgIG1hcmdpbi1iZWZvcmUgICA6ICRtYXJnaW4tYmVmb3JlLFxuICAgIG1hcmdpbi1hZnRlciAgICA6ICRtYXJnaW4tYWZ0ZXIsXG4gICAgcGFkZGluZy1iZWZvcmUgIDogJHBhZGRpbmctYmVmb3JlLFxuICAgIHBhZGRpbmctYWZ0ZXIgICA6ICRwYWRkaW5nLWFmdGVyLFxuICAgIGZsb3cgICAgICAgICAgICA6IHN1c3ktZ2V0KGZsb3csICRzcGFuKSxcbiAgKTtcbn1cblxuLy8gR2V0IFNwYW4gV2lkdGhcbi8vIC0tLS0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gc3BhbiB3aWR0aC5cbi8vIC0gJHNwYW46IDxtYXA+XG5AZnVuY3Rpb24gZ2V0LXNwYW4td2lkdGgoXG4gICRzcGFuXG4pIHtcbiAgJHNwYW4gICAgIDogcGFyc2Utc3Bhbigkc3Bhbik7XG5cbiAgJG4gICAgICAgIDogc3VzeS1nZXQoc3BhbiwgJHNwYW4pO1xuICAkbG9jYXRpb24gOiBnZXQtbG9jYXRpb24oJHNwYW4pO1xuICAkY29sdW1ucyAgOiBzdXN5LWdldChjb2x1bW5zLCAkc3Bhbik7XG4gICRndXR0ZXJzICA6IHN1c3ktZ2V0KGd1dHRlcnMsICRzcGFuKTtcbiAgJHNwcmVhZCAgIDogc3VzeS1nZXQoc3ByZWFkLCAkc3Bhbik7XG5cbiAgJGNvbnRleHQgIDogbnVsbDtcbiAgJHNwYW4tc3VtIDogbnVsbDtcbiAgJHdpZHRoICAgIDogbnVsbDtcblxuICBAaWYgJG4gPT0gJ2Z1bGwnIHtcbiAgICAkcG9zOiBzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRzcGFuKTtcbiAgICAkcm9sZTogc3VzeS1nZXQocm9sZSwgJHNwYW4pO1xuICAgICRuOiBpZigkcG9zID09IHNwbGl0IGFuZCAkcm9sZSAhPSBuZXN0LCBzdXN5LWNvdW50KCRjb2x1bW5zKSwgMTAwJSk7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkbikgIT0gbnVtYmVyIHtcbiAgICBAd2FybiBcIigje3R5cGUtb2YoJG4pfSkgI3skbn0gaXMgbm90IGEgdmFsaWQgc3Bhbi5cIjtcbiAgfSBAZWxzZSBpZiB1bml0bGVzcygkbikge1xuICAgICRjb250ZXh0OiBzdXN5LXN1bSgkY29sdW1ucywgJGd1dHRlcnMsIGlmKGlzLXNwbGl0KCRzcGFuKSwgd2lkZSwgbmFycm93KSk7XG4gICAgJHNwcmVhZDogaWYoaXMtaW5zaWRlKCRzcGFuKSwgJHNwcmVhZCBvciB3aWRlLCAkc3ByZWFkKTtcbiAgICAkc3Bhbi1zdW06IHN1c3koJG4sICRsb2NhdGlvbiwgJGNvbHVtbnMsICRndXR0ZXJzLCAkc3ByZWFkKTtcblxuICAgICRfbWF0aDogc3VzeS1nZXQobWF0aCwgJHNwYW4pO1xuICAgICRfY29sdW1uLXdpZHRoOiBzdXN5LWdldChjb2x1bW4td2lkdGgsICRzcGFuKTtcbiAgICBAaWYgJF9tYXRoID09IHN0YXRpYyB7XG4gICAgICAkd2lkdGg6ICRzcGFuLXN1bSAqIHZhbGlkLWNvbHVtbi1tYXRoKCRfbWF0aCwgJF9jb2x1bW4td2lkdGgpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRzcGFuLXN1bSAvICRjb250ZXh0KTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICR3aWR0aDogJG47XG4gIH1cblxuICBAcmV0dXJuICR3aWR0aDtcbn1cbiIsIi8vIERpcmVjdGlvbiBIZWxwZXJzXG4vLyA9PT09PT09PT09PT09PT09PVxuXG4vLyBTdXN5IEZsb3cgRGVmYXVsdHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gLSBQUklWQVRFXG5AaW5jbHVkZSBzdXN5LWRlZmF1bHRzKChcbiAgZmxvdzogbHRyLFxuKSk7XG5cbi8vIEdldCBEaXJlY3Rpb25cbi8vIC0tLS0tLS0tLS0tLS1cbi8vIFJldHVybiB0aGUgJ2Zyb20nIG9yICd0bycgZGlyZWN0aW9uIG9mIGEgbHRyIG9yIHJ0bCBmbG93LlxuLy8gLSBbJGZsb3ddICA6IGx0ciB8IHJ0bFxuLy8gLSBbJGtleV0gICA6IGZyb20gfCB0b1xuQGZ1bmN0aW9uIGdldC1kaXJlY3Rpb24oXG4gICRmbG93OiBtYXAtZ2V0KCRzdXN5LWRlZmF1bHRzLCBmbG93KSxcbiAgJGtleTogZnJvbVxuKSB7XG4gICRyZXR1cm46IGlmKCRmbG93ID09IHJ0bCwgKGZyb206IHJpZ2h0LCB0bzogbGVmdCksIChmcm9tOiBsZWZ0LCB0bzogcmlnaHQpKTtcbiAgQHJldHVybiBtYXAtZ2V0KCRyZXR1cm4sICRrZXkpO1xufVxuXG4vLyBUb1xuLy8gLS1cbi8vIFJldHVybiB0aGUgJ3RvJyBkaXJlY3Rpb24gb2YgYSBmbG93XG4vLyAtIFskZmxvd10gIDogbHRyIHwgcnRsXG5AZnVuY3Rpb24gdG8oXG4gICRmbG93OiBtYXAtZ2V0KCRzdXN5LWRlZmF1bHRzLCBmbG93KVxuKSB7XG4gIEByZXR1cm4gZ2V0LWRpcmVjdGlvbigkZmxvdywgdG8pO1xufVxuXG4vLyBGcm9tXG4vLyAtLS0tXG4vLyBSZXR1cm4gdGhlICdmcm9tJyBkaXJlY3Rpb24gb2YgYSBmbG93XG4vLyAtIFskZmxvd10gIDogbHRyIHwgcnRsXG5AZnVuY3Rpb24gZnJvbShcbiAgJGZsb3c6IG1hcC1nZXQoJHN1c3ktZGVmYXVsdHMsIGZsb3cpXG4pIHtcbiAgQHJldHVybiBnZXQtZGlyZWN0aW9uKCRmbG93LCBmcm9tKTtcbn1cbiIsIi8vIEd1dHRlciBTeW50YXhcbi8vID09PT09PT09PT09PT1cblxuXG4vLyBHdXR0ZXJzXG4vLyAtLS0tLS0tXG4vLyBTZXQgZ3V0dGVycyBvbiBhbiBlbGVtZW50LlxuLy8gLSBbJHNwYW5dICAgOiA8c2V0dGluZ3M+XG5AbWl4aW4gZ3V0dGVycyhcbiAgJHNwYW46ICRzdXN5XG4pIHtcbiAgJGluc3BlY3QgIDogJHNwYW47XG4gICRzcGFuICAgICA6IHBhcnNlLWd1dHRlcnMoJHNwYW4pO1xuICAkX2d1dHRlcnMgOiBnZXQtZ3V0dGVycygkc3Bhbik7XG5cbiAgJF9vdXRwdXQ6IChcbiAgICBiZWZvcmU6IG1hcC1nZXQoJF9ndXR0ZXJzLCBiZWZvcmUpLFxuICAgIGFmdGVyOiBtYXAtZ2V0KCRfZ3V0dGVycywgYWZ0ZXIpLFxuICAgIGZsb3c6IHN1c3ktZ2V0KGZsb3csICRzcGFuKSxcbiAgKTtcblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QoZ3V0dGVycywgJGluc3BlY3QpO1xuXG4gIEBpZiBpcy1pbnNpZGUoJHNwYW4pIHtcbiAgICBAaW5jbHVkZSBwYWRkaW5nLW91dHB1dCgkX291dHB1dC4uLik7XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIG1hcmdpbi1vdXRwdXQoJF9vdXRwdXQuLi4pO1xuICB9XG59XG5cbkBtaXhpbiBndXR0ZXIoXG4gICRzcGFuOiAkc3VzeVxuKSB7XG4gIEBpbmNsdWRlIGd1dHRlcnMoJHNwYW4pO1xufVxuXG5cbi8vIEd1dHRlclxuLy8gLS0tLS0tXG4vLyBSZXR1cm4gdGhlIHdpZHRoIG9mIGEgZ3V0dGVyLlxuLy8gLSBbJHNwYW5dICAgOiA8c2V0dGluZ3M+XG5AZnVuY3Rpb24gZ3V0dGVyKFxuICAkc3BhbjogJHN1c3lcbikge1xuICAkc3BhbjogcGFyc2UtZ3V0dGVycygkc3Bhbik7XG5cbiAgJF9ndXR0ZXJzOiBnZXQtZ3V0dGVycygkc3Bhbik7XG4gICRfZ3V0dGVyczogbWFwLWdldCgkX2d1dHRlcnMsIGJlZm9yZSkgb3IgbWFwLWdldCgkX2d1dHRlcnMsIGFmdGVyKTtcblxuICBAcmV0dXJuICRfZ3V0dGVycztcbn1cblxuQGZ1bmN0aW9uIGd1dHRlcnMoXG4gICRzcGFuOiAkc3VzeVxuKSB7XG4gIEByZXR1cm4gZ3V0dGVyKCRzcGFuKTtcbn1cblxuXG4vLyBHZXQgR3V0dGVyIFdpZHRoXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gZ3V0dGVyIHdpZHRoLlxuLy8gLSBbJGNvbnRleHRdOiA8Y29udGV4dD5cbkBmdW5jdGlvbiBnZXQtZ3V0dGVyLXdpZHRoKFxuICAkY29udGV4dDogJHN1c3lcbikge1xuICAkY29udGV4dCAgOiBwYXJzZS1ndXR0ZXJzKCRjb250ZXh0KTtcblxuICAkX2d1dHRlcnMgOiBzdXN5LWdldChndXR0ZXJzLCAkY29udGV4dCk7XG4gICRfZ3V0dGVyICA6IHN1c3ktZ2V0KGd1dHRlci1vdmVycmlkZSwgJGNvbnRleHQpO1xuXG4gIEBpZiAkX2d1dHRlcnMgYW5kICgkX2d1dHRlcnMgPiAwKSBhbmQgbm90KCRfZ3V0dGVyKSB7XG4gICAgJF9jb2x1bW4td2lkdGg6IHN1c3ktZ2V0KGNvbHVtbi13aWR0aCwgJGNvbnRleHQpO1xuICAgICRfbWF0aDogZ3V0dGVyLW1hdGgoJGNvbnRleHQpO1xuICAgIEBpZiAkX21hdGggPT0gc3RhdGljIHtcbiAgICAgICRfZ3V0dGVyOiAkX2d1dHRlcnMgKiB2YWxpZC1jb2x1bW4tbWF0aCgkX21hdGgsICRfY29sdW1uLXdpZHRoKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRfY29sdW1ucyA6IHN1c3ktZ2V0KGNvbHVtbnMsICRjb250ZXh0KTtcbiAgICAgICRfc3ByZWFkICA6IGlmKGlzLXNwbGl0KCRjb250ZXh0KSwgd2lkZSwgc3VzeS1nZXQoc3ByZWFkLCAkY29udGV4dCkpO1xuICAgICAgJF9ndXR0ZXIgIDogcGVyY2VudGFnZSgkX2d1dHRlcnMgLyBzdXN5LXN1bSgkX2NvbHVtbnMsICRfZ3V0dGVycywgJF9zcHJlYWQpKTtcbiAgICB9XG4gIH1cblxuICAkX2d1dHRlcjogaWYoJF9ndXR0ZXIgPT0gJ25vLWd1dHRlcnMnIG9yICRfZ3V0dGVyID09ICduby1ndXR0ZXInLCBudWxsLCAkX2d1dHRlcik7XG5cbiAgQHJldHVybiAkX2d1dHRlcjtcbn1cblxuXG4vLyBHZXQgR3V0dGVyc1xuLy8gLS0tLS0tLS0tLS1cbi8vIFJldHVybiBiZWZvcmUgYW5kIGFmdGVyIGd1dHRlciB2YWx1ZXMuXG4vLyAtIFskY29udGV4dF06IDxjb250ZXh0PlxuQGZ1bmN0aW9uIGdldC1ndXR0ZXJzKFxuICAkY29udGV4dDogJHN1c3lcbikge1xuICAkY29udGV4dCAgICAgICAgICAgIDogcGFyc2UtZ3V0dGVycygkY29udGV4dCk7XG5cbiAgJF9ndXR0ZXItcG9zaXRpb24gICA6IHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJGNvbnRleHQpO1xuICAkX2d1dHRlciAgICAgICAgICAgIDogZ2V0LWd1dHRlci13aWR0aCgkY29udGV4dCk7XG5cbiAgJF9yZXR1cm4gICAgICAgICAgICA6IChiZWZvcmU6IG51bGwsIGFmdGVyOiBudWxsKTtcblxuICBAaWYgaXMtc3BsaXQoJGNvbnRleHQpIGFuZCAkX2d1dHRlciB7XG4gICAgJF9ndXR0ZXI6ICRfZ3V0dGVyIC8gMjtcbiAgICAkX3JldHVybjogbWFwLW1lcmdlKCRfcmV0dXJuLCAoYmVmb3JlOiAkX2d1dHRlciwgYWZ0ZXI6ICRfZ3V0dGVyKSk7XG4gIH0gQGVsc2Uge1xuICAgICRfcmV0dXJuOiBtYXAtbWVyZ2UoJF9yZXR1cm4sICgkX2d1dHRlci1wb3NpdGlvbjogJF9ndXR0ZXIpKTtcbiAgfVxuXG4gIEByZXR1cm4gJF9yZXR1cm47XG59XG5cblxuLy8gSXMgSW5zaWRlXG4vLyAtLS0tLS0tLS1cbi8vIFJldHVybnMgdHJ1ZSBpZiBndXR0ZXJzIGFyZSBpbnNpZGUuXG4vLyAkY29udGV4dDogPGNvbnRleHQ+XG5AZnVuY3Rpb24gaXMtaW5zaWRlKFxuICAkY29udGV4dFxuKSB7XG4gICRfaW5zaWRlOiBpbnNpZGUgaW5zaWRlLXN0YXRpYztcbiAgJF9ndXR0ZXItcG9zaXRpb246IHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJGNvbnRleHQpO1xuXG4gIEByZXR1cm4gaWYoaW5kZXgoJF9pbnNpZGUsICRfZ3V0dGVyLXBvc2l0aW9uKSwgdHJ1ZSwgZmFsc2UpO1xufVxuXG5cbi8vIElzIFNwbGl0XG4vLyAtLS0tLS0tLVxuLy8gUmV0dXJucyB0cnVlIGlmIGd1dHRlcnMgYXJlIHNwbGl0LlxuLy8gJGNvbnRleHQ6IDxjb250ZXh0PlxuQGZ1bmN0aW9uIGlzLXNwbGl0KFxuICAkY29udGV4dFxuKSB7XG4gICRfc3BsaXQ6IHNwbGl0IGluc2lkZSBpbnNpZGUtc3RhdGljO1xuICAkX2d1dHRlci1wb3NpdGlvbjogc3VzeS1nZXQoZ3V0dGVyLXBvc2l0aW9uLCAkY29udGV4dCk7XG5cbiAgQHJldHVybiBpZihpbmRleCgkX3NwbGl0LCAkX2d1dHRlci1wb3NpdGlvbiksIHRydWUsIGZhbHNlKTtcbn1cblxuXG4vLyBHdXR0ZXIgTWF0aFxuLy8gLS0tLS0tLS0tLS1cbi8vIFJldHVybiB0aGUgbWF0aCB0byB1c2UgZm9yIGd1dHRlciBjYWxjdWxhdGlvbnNcbi8vICRjb250ZXh0OiA8Y29udGV4dD5cbkBmdW5jdGlvbiBndXR0ZXItbWF0aChcbiAgJGNvbnRleHQ6ICRzdXN5XG4pIHtcbiAgJF9yZXR1cm4gIDogc3VzeS1nZXQobWF0aCwgJGNvbnRleHQpO1xuICAkX3JldHVybiAgOiBpZihzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRjb250ZXh0KSA9PSBpbnNpZGUtc3RhdGljLCBzdGF0aWMsICRfcmV0dXJuKTtcblxuICBAcmV0dXJuICRfcmV0dXJuO1xufVxuIiwiaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuXG4gICAgLy8gYmV0dGVyIGZvbnQgcmVuZGVyaW5nXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cbiAgICAvL25vaW5zcGVjdGlvbiBDc3NVbmtub3duUHJvcGVydHlcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIGNvbG9yOiAkY29sb3ItdGV4dC1kZWZhdWx0O1xufVxuXG4qLFxuKjpiZWZvcmUsXG4qOmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuIiwiLy8gRGVidWc/XG4kZGVidWc6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gIEJyZWFrcG9pbnRzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJGJyZWFrcG9pbnQtc21hbGw6IDMwZW07XG4kYnJlYWtwb2ludC1tZWRpdW06IDQ1ZW07XG4kYnJlYWtwb2ludC1sYXJnZTogNjBlbTtcbiRicmVha3BvaW50LW5hdjogNzJlbTtcbiRicmVha3BvaW50LWxhcmdlLXdyYXBwZXI6IDAgODBlbTtcblxuXG4vLyBkcGkgYnJlYWtwb2ludHNcbiRicmVha3BvaW50LWhpZHBpOiBtaW4tcmVzb2x1dGlvbiAxLjVkcHB4O1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gIEZvbnQgZmFtaWx5XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJGZvbnQtZmFtaWx5OiAnVGl0aWxsaXVtIFdlYicsIGFyaWFsLCBzYW5zLXNlcmlmO1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gIFR5cG9ncmFwaHlcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kdHNfZm9udC1zaXplczogKFxuICAgIGJhc2U6IChcbiAgICAgICAgZm9udC1zaXplOiAxM3B4LFxuICAgICAgICBsaW5lLWhlaWdodDogMi4xLFxuICAgICAgICByYXRpbzogMS4xMyxcbiAgICApLFxuICAgIGxhcmdlOiAoXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweCxcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuNCxcbiAgICAgICAgcmF0aW86IDEuMTcsXG4gICAgICAgIGJyZWFrcG9pbnQ6ICRicmVha3BvaW50LWxhcmdlXG4gICAgKSxcbik7XG5cbiR0c19mb250LXNjYWxlczogKFxuICAgIHgtc21hbGw6IChcbiAgICAgICAgLTJcbiAgICApLFxuICAgIHNtYWxsOiAoXG4gICAgICAgIC0xXG4gICAgKSxcbiAgICBiYXNlOiAoXG4gICAgICAgIDBcbiAgICApLFxuICAgIG1lZGl1bTogKFxuICAgICAgICAxXG4gICAgKSxcbiAgICBsYXJnZTogKFxuICAgICAgICAyXG4gICAgKSxcbiAgICB4LWxhcmdlOiAoXG4gICAgICAgIDNcbiAgICApLFxuICAgIHh4LWxhcmdlOiAoXG4gICAgICAgIDZcbiAgICApLFxuICAgIHh4eC1sYXJnZTogKFxuICAgICAgICA3XG4gICAgKVxuKTtcbiIsImJvZHkge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cblxuLmRhdGUge1xuICAgIEBpbmNsdWRlIHNldC10eXBlLXNpemUoc21hbGwpO1xuICAgIGNvbG9yOiBwYWxldHRlKGJsdWUpO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG59XG5cbi5kcmlmdC1vcGVuLWNoYXQge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnJlbGF0aXZlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4iLCIuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBzZXQtdHlwZS1zaXplKGJhc2UpO1xuICAgIEBleHRlbmQgJXR3LXNlbWktYm9sZDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIGNvbG9yOiBwYWxldHRlKHdoaXRlKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgcGFkZGluZzogbGluZXMtdG8tcHgoMC4yKSBsaW5lcy10by1weCgxLjQpO1xuICAgICZfX3ByaW1hcnkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKGdyZWVuKTtcbiAgICAgICAgcGFkZGluZzogbGluZXMtdG8tcHgoMC4yKSBsaW5lcy10by1weCgwLjYpO1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogOHB4O1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKGdyZWVuLCBkYXJrKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX190YWdzIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gICAgICAgIHBhZGRpbmc6IGxpbmVzLXRvLXB4KDAuMikgbGluZXMtdG8tcHgoMS40KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICAmLS1saWdodCB7XG4gICAgICAgICAgICBjb2xvcjogcGFsZXR0ZShibHVlKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUoYmFieUJsdWUsIGJhc2UpO1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHBhbGV0dGUoYmx1ZSk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShiYWJ5Qmx1ZSwgZGFyayk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi0tZGFyayB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKGJsdWUpO1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHBhbGV0dGUod2hpdGUpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUoYmx1ZSwgZGFyayk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fbmFrZWQge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICYtLXByaW1hcnkge1xuICAgICAgICAgICAgY29sb3I6IHBhbGV0dGUoZ3JlZW4pO1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltYWdlcy9waWpsdGplLXJlY2h0cy1ncm9lbi5zdmcnKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAtMjBweDtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBlYXNlIDAuMnM7XG4gICAgICAgICAgICAgICAgdG9wOiAwLjdyZW07XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LW1lZGl1bSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwLjlyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlcjphZnRlciB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IC0yNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYtLXNlY29uZGFyeSB7XG4gICAgICAgICAgICBjb2xvcjogcGFsZXR0ZShibHVlKTtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWFnZXMvcGlqbHRqZS1yZWNodHMtYmxhdXcuc3ZnJyk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogLTIwcHg7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogZWFzZSAwLjJzO1xuICAgICAgICAgICAgICAgIHRvcDogMC43cmVtO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkYnJlYWtwb2ludC1tZWRpdW0sICRzdXN5LWxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDAuOXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgICAgICAgICByaWdodDogMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLS13aGl0ZSB7XG4gICAgICAgICAgICBjb2xvcjogcGFsZXR0ZSh3aGl0ZSk7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1hZ2VzL3Bpamx0amUtcmVjaHRzLXdpdC5zdmcnKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAtMjBweDtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBlYXNlIDAuMnM7XG4gICAgICAgICAgICAgICAgdG9wOiAwLjdyZW07XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LW1lZGl1bSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwLjlyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHBhbGV0dGUod2hpdGUpO1xuICAgICAgICAgICAgICAgIDphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtMjVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi0tbGlnaHQge1xuICAgICAgICAgICAgY29sb3I6IHBhbGV0dGUoYmx1ZSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKGJhYnlCbHVlLCBiYXNlKTtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBwYWxldHRlKGJsdWUpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUoYmFieUJsdWUsIGRhcmspO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBwYWxldHRlKHdoaXRlKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKGJsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYtLXJpZ2h0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LW1lZGl1bSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMjBweDtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsImgxIHtcbiAgICBAaW5jbHVkZSBzZXQtdHlwZS1zaXplKHh4eC1sYXJnZSk7XG4gICAgQGluY2x1ZGUgcmh5dGhtKDEpO1xuICAgIEBleHRlbmQgJXR3LWJvbGQ7XG4gICAgY29sb3I6IHBhbGV0dGUod2hpdGUpO1xufVxuXG5oMiB7XG4gICAgQGluY2x1ZGUgc2V0LXR5cGUtc2l6ZSh4eC1sYXJnZSk7XG4gICAgQGluY2x1ZGUgcmh5dGhtKDEpO1xuICAgIEBleHRlbmQgJXR3LWJvbGQ7XG4gICAgY29sb3I6IHBhbGV0dGUoYmx1ZSk7XG59XG5cbmgzIHtcbiAgICBAaW5jbHVkZSBzZXQtdHlwZS1zaXplKHgtbGFyZ2UpO1xuICAgIEBpbmNsdWRlIHJoeXRobSgxKTtcbiAgICBAZXh0ZW5kICV0dy1ib2xkO1xuICAgIGNvbG9yOiBwYWxldHRlKGJsdWUpO1xuICAgICYuZ3JlZW4ge1xuICAgICAgICBjb2xvcjogcGFsZXR0ZShncmVlbik7XG4gICAgfVxufVxuXG5oNCB7XG4gICAgQGluY2x1ZGUgc2V0LXR5cGUtc2l6ZShsYXJnZSk7XG4gICAgQGluY2x1ZGUgcmh5dGhtKDEpO1xuICAgIEBleHRlbmQgJXR3LWJvbGQ7XG4gICAgY29sb3I6IHBhbGV0dGUoYmx1ZSk7XG59XG5cbmg1IHtcbiAgICBAaW5jbHVkZSBzZXQtdHlwZS1zaXplKG1lZGl1bSk7XG4gICAgQGluY2x1ZGUgcmh5dGhtKDEpO1xuICAgIEBleHRlbmQgJXR3LXNlbWktYm9sZDtcbiAgICBjb2xvcjogcGFsZXR0ZShibHVlKTtcbn1cblxuaDYge1xuICAgIEBpbmNsdWRlIHNldC10eXBlLXNpemUoYmFzZSk7XG4gICAgQGluY2x1ZGUgcmh5dGhtKDEpO1xuICAgIEBleHRlbmQgJXR3LXNlbWktYm9sZDtcbiAgICBjb2xvcjogcGFsZXR0ZShibHVlKTtcbiAgICAmLnNtYWxsIHtcbiAgICAgICAgQGluY2x1ZGUgc2V0LXR5cGUtc2l6ZSh4LXNtYWxsKTtcbiAgICAgICAgQGluY2x1ZGUgcmh5dGhtKDAuNSk7XG4gICAgfVxuICAgICYuZ3JlZW4ge1xuICAgICAgICBjb2xvcjogcGFsZXR0ZShncmVlbiwgYmFzZSk7XG4gICAgfVxufVxuIiwiOjotbW96LXNlbGVjdGlvbiB7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgY29sb3I6IHBhbGV0dGUod2hpdGUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUoZ3JlZW4pO1xufVxuXG46OnNlbGVjdGlvbiB7XG4gICAgY29sb3I6IHBhbGV0dGUod2hpdGUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUoZ3JlZW4pO1xuICAgIHRleHQtc2hhZG93OiBub25lO1xufVxuIiwiYTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiBwYWxldHRlKGdyZWVuLCBkYXJrKTtcbn1cblxuYTp2aXNpdGVkIHtcbiAgICAvLyBUaGlzIHNwYWNlIGludGVudGlvbmFsbHkgbGVmdCBibGFua1xufVxuXG5hOmFjdGl2ZSB7XG4gICAgLy8gVGhpcyBzcGFjZSBpbnRlbnRpb25hbGx5IGxlZnQgYmxhbmtcbn1cblxuYTpmb2N1cyB7XG4gICAgLy8gVGhpcyBzcGFjZSBpbnRlbnRpb25hbGx5IGxlZnQgYmxhbmtcbn1cblxuYSxcbmFbaHJlZl49dGVsXSB7XG4gICAgY29sb3I6IHBhbGV0dGUoZ3JlZW4pO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAuMTVzO1xufVxuIiwidWwsXG5vbCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgQGluY2x1ZGUgc3VzeS1tZWRpYSgkYnJlYWtwb2ludC1sYXJnZSkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxufVxuXG51bCBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMmVtO1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICBjb250ZW50OiAn4oCiJztcbiAgICAgICAgY29sb3I6IHBhbGV0dGUoZ3JlZW4pO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC00cHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgfVxufVxuXG5vbCB7XG4gICAgY291bnRlci1yZXNldDogbGlzdDtcbiAgICA+IGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDJlbTtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgQGV4dGVuZCAldHctYm9sZDtcbiAgICAgICAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBsaXN0O1xuICAgICAgICAgICAgY29udGVudDogY291bnRlcihsaXN0KSAnLic7XG4gICAgICAgICAgICBjb2xvcjogcGFsZXR0ZShncmVlbik7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVGhpcyBzZWxlY3RlZCBldmVyeSBhZGphY2VudCA8bGk+XG4gICAgICAgIC8vIGZyb20gdGhlIDEwdGggYW5kIG92ZXJyaWRlcyB0aGVcbiAgICAgICAgLy8gY29udGVudCBwcm9wZXJ0eSBvZiBlYWNoXG4gICAgICAgICY6bnRoLWNoaWxkKDEwbikgfiBsaTpiZWZvcmUsXG4gICAgICAgICY6bnRoLWNoaWxkKDEwbik6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IGNvdW50ZXIobGlzdCk7XG4gICAgICAgIH1cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbnVsIG9sLFxub2wgdWwge1xuICAgIHBhZGRpbmctdG9wOiAwO1xufVxuXG51bC5iZW5lZml0c19fbGlzdCB7XG4gICAgbGk6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWFnZXMvY2hlY2stZ3JvZW4uc3ZnJyk7XG4gICAgICAgIHRvcDogMC45cmVtO1xuICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgIHdpZHRoOiAxNHB4O1xuICAgIH1cbn1cbiIsImltZyB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgICYucm91bmRlZCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwMHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbn1cblxuZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuIiwiaHIge1xuICAgIGJvcmRlcjogMDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKGdyZXksIGxpbmVzKTtcbiAgICBAaW5jbHVkZSByaHl0aG0oMC41LDApO1xufVxuIiwiaW5wdXQge1xuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbn1cblxuLmlucHV0LS10ZXh0LFxuLmlucHV0LS10ZXh0OnZhbGlkIHtcbiAgICBAaW5jbHVkZSBzZXQtdHlwZS1zaXplKHNtYWxsKTtcbiAgICBAaW5jbHVkZSBsaW5lcy10by1weCgxKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xufVxuXG4uaW5wdXQtLWVycm9yLFxuLmlucHV0LS10ZXh0OmludmFsaWQge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNiZTM4Mzg7XG59XG5cbmlucHV0LFxudGV4dGFyZWEge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgcGFkZGluZzogbGluZXMtdG8tcHgoMSkgbGluZXMtdG8tcHgoMC41KTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCBwYWxldHRlKGdyZXksIGxpbmVzKTtcbiAgICB0cmFuc2l0aW9uOiAuMnMgYWxsO1xuICAgIGNvbG9yOiBwYWxldHRlKGdyZXkpO1xuICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6IHBhbGV0dGUoYmx1ZSwgZGFyayk7XG4gICAgfVxufVxuXG50ZXh0YXJlYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5idXR0b25fX2lucHV0LS1jaGVja2JveCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBsYWJlbCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBAZXh0ZW5kIC5idXR0b247XG4gICAgICAgICAgICBAZXh0ZW5kIC5idXR0b25fX3RhZ3M7XG4gICAgICAgICAgICBAZXh0ZW5kIC5idXR0b25fX3RhZ3MtLWxpZ2h0O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogLTIwcHg7XG4gICAgICAgICAgICAmOmNoZWNrZWQgKyBzcGFuIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICBAZXh0ZW5kIC5idXR0b25fX3RhZ3MtLWRhcms7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJsYWJlbCB7XG4gICAgQGluY2x1ZGUgc2V0LXR5cGUtc2l6ZShiYXNlKTtcbiAgICBAZXh0ZW5kICV0dy1zZW1pLWJvbGQ7XG4gICAgY29sb3I6IHBhbGV0dGUoYmx1ZSk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG59XG4iLCIuY3JlZGl0c05paWNlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjogIzgyODI4MjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAuNTNweDtcbiAgICBwYWRkaW5nOiAyMHB4IDMwcHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgJl9fbGVmdCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGNvbG9yOiAjODI4MjgyO1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LWxhcmdlLCAkc3VzeS1sYXJnZSkge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiA0OSU7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIlO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX3JpZ2h0IHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LWxhcmdlLCAkc3VzeS1sYXJnZSkge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICB3aWR0aDogNDklO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogT3BlbiBTYW5zO1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLm5paWNlIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB9XG59XG4iLCIvLyBOYXZpZ2F0aW9uXG5uYXYge1xuICAgIHVsIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGxpIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gRm9yIGZpeGVkIG1lbnUgd3JhcHBlclxuICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkYnJlYWtwb2ludC1sYXJnZSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgaGVpZ2h0OiAxNjBweDtcbiAgICB9XG59XG5cbi8vIE1vYmlsZSBtZW51XG4ubmF2IHtcbiAgICAuYmFzZU5hdiB7XG4gICAgICAgIGhlaWdodDogNTZweDtcbiAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LWxhcmdlLCAkc3VzeS1sYXJnZSkge1xuICAgICAgICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgICAgICB9XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGhlaWdodDogNTZweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkYnJlYWtwb2ludC1sYXJnZSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmpzLXNpdGUtbmF2LmFjdGl2ZSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShiYWJ5Qmx1ZSwgbGlnaHQpO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMzVweCkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBsaW5lcy10by1weCgyKTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IGxpbmVzLXRvLXB4KDIpO1xuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6IHBhbGV0dGUoYmx1ZSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBzZXQtdHlwZS1zaXplKGJhc2UpO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjU7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSByaHl0aG0oMCwgMC41KTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkYnJlYWtwb2ludC1sYXJnZSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAmLmhhcy1jaGlsZHJlbi5sZXZlbDEge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmhhcy1jaGlsZHJlbiB7XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMThweDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDEwJTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltYWdlcy9wbHVzLWljb24tYmxhdXcuc3ZnJyk7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDk5OTk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcmh5dGhtKDApO1xuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNldC10eXBlLXNpemUoYmFzZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQtbGFyZ2UsICRzdXN5LWxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBAZXh0ZW5kICV0dy1yZWd1bGFyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAyNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltYWdlcy9taW4taWNvbi1ibGF1dy5zdmcnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCByZ2JhKDI0OSwgMjUyLCAyNTMsIDAuMTIpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkYnJlYWtwb2ludC1sYXJnZSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJhc2VOYXYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBsZWZ0OiAtMTVweDtcbiAgICAgICAgcmlnaHQ6IC0xNXB4O1xuICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQtbGFyZ2UsICRzdXN5LWxhcmdlKSB7XG4gICAgICAgICAgICBsZWZ0OiAtMTAwJTtcbiAgICAgICAgICAgIHJpZ2h0OiAtMTAwJTtcbiAgICAgICAgfVxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHBhbGV0dGUoYmFieUJsdWUsIGRhcmspO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKGJhYnlCbHVlLCBsaWdodCk7XG4gICAgfVxufVxuXG4ubmF2X19pdGVtIHtcbiAgICBAaW5jbHVkZSBzZXQtdHlwZS1zaXplKHNtYWxsKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBhIHtcbiAgICAgICAgY29sb3I6IHBhbGV0dGUoYmx1ZSk7XG4gICAgICAgIEBpbmNsdWRlIHNldC10eXBlLXNpemUoc21hbGwpO1xuICAgICAgICBAZXh0ZW5kICV0dy1zZW1pLWJvbGQ7XG4gICAgfVxuICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkYnJlYWtwb2ludC1sYXJnZSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMnB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiBwYWxldHRlKGJsdWUpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBEZXNrdG9wIHN0eWxlenpcbkBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkYnJlYWtwb2ludC1sYXJnZSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAvLyBTdWJtZW51IC0+IHNob3dcbiAgICAubmF2IC5sZXZlbDEgdWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvLyBTdWJtZW51IC0+IHNob3dcbiAgICAubmF2IC5sZXZlbDE6aG92ZXIgdWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5uYXYgLmpzLXNpdGUtbmF2LmFjdGl2ZSB7XG4gICAgICAgIG92ZXJmbG93OiBpbmhlcml0O1xuICAgIH1cbiAgICAvLyBMaXN0IGxldmVsIDIgcG9zaXRpb25cbiAgICAubmF2IGxpLmxldmVsMixcbiAgICAubmF2IGxpLmxldmVsMyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogOTk5OTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIC5uYXYgbGkuaGFzLWNoaWxkcmVuIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gQ3JlYXRlIGNvbHMgZm9yIGxpIGxldmVsMlxuICAgIC5uYXYgbGkubGV2ZWwyIHtcbiAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgICAgICA+IGEge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gY2hhbmdlIGZvbnQgbGkgbGV2ZWwzXG4gICAgLm5hdiBsaS5sZXZlbDMge1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBkcm9wZG93biBpbWFnZVxuICAgIC5uYXYgbGkubGV2ZWwxIHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogOHB4O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAwLjhzO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIgaW1nIHtcbiAgICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICAgICAgICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgtMSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7XG4gICAgICAgICAgICBmaWx0ZXI6IEZsaXBWO1xuICAgICAgICAgICAgLW1zLWZpbHRlcjogXCJGbGlwVlwiO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gZWZmZWN0XG4gICAgLm5hdiAubGV2ZWwxIHVsIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiA5OTk5OTtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgcGFkZGluZzogNXB4IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLm5hdiAubGV2ZWwxID4gdWwge1xuICAgICAgICBwYWRkaW5nLXRvcDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0zMHB4O1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHBhbGV0dGUoZ3JleSwgbGluZXMpO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBwYWxldHRlKGdyZXksIGxpbmVzKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUoYmFieUJsdWUsIGxpZ2h0KTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRvcDogMjJweDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubmF2IC5sZXZlbDE6aG92ZXIgPiB1bCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRvIDIwIHtcbiAgICAgICAgICAgIGxpOm50aC1jaGlsZCgjeyRpfSkge1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6ICRpICogMC4wN3MgKyAwLjI1cztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2UgMC40cztcbiAgICAgICAgICAgIC8vIHRyYW5zaXRpb24tZGVsYXk6IDAuNDVzO1xuICAgICAgICB9XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDMzMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAzMzBweDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGhlaWdodCBlYXNlIDAuNXM7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLm5hdiAubGV2ZWwxLnNpbXBsZSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICM3ZWJlMzg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgPiB1bDpiZWZvcmUge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAzNDBweDtcbiAgICAgICAgfVxuICAgICAgICAubGV2ZWwyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBWb29yIGhldCBzY3JvbGxlbiBmaXhlZCBkZXNrdG9wXG4uanMtYmFzZS1uYXYtZml4ZWQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgaGVpZ2h0OiA4MHB4O1xuICAgIHotaW5kZXg6IDk5OTtcbiAgICBtYXgtd2lkdGg6IDEyMzhweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmxvZ28tcGxhY2Vob2xkZXIge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBpbWcge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgIG1heC13aWR0aDogMTAwcHg7XG4gICAgfVxufVxuIiwiLnNpdGVzQm9yZGVyVG9wIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcGFsZXR0ZShncmV5LCBsaW5lcyk7XG59XG5cbi5zaXRlcyB7XG4gICAgaGVpZ2h0OiA4MXB4O1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgaGVpZ2h0OiA1N3B4O1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDcwJTtcbiAgICB9XG4gICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LW1lZGl1bSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgaGVpZ2h0OiBpbml0aWFsO1xuICAgIH1cbiAgICAmX19zaXRlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgaGVpZ2h0OiA1NnB4O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIH1cbiAgICAgICAgJi52aXNpYmxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LW1lZGl1bSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShiYWJ5Qmx1ZSwgbGlnaHQpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xcztcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcGFsZXR0ZShncmV5LCBsaW5lcyk7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogbGluZXMtdG8tcHgoMC41KSBsaW5lcy10by1weCgwLjUpO1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDkwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LW5hdiwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IGxpbmVzLXRvLXB4KDAuNjYpIGxpbmVzLXRvLXB4KDAuNSk7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogaW5oZXJpdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICAtd2Via2l0LWZpbHRlcjogZ3JheXNjYWxlKDEwMCUpO1xuICAgICAgICAgICAgZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQtbWVkaXVtLCAkc3VzeS1sYXJnZSkge1xuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBwYWxldHRlKGdyZXksIGxpbmVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQtbWVkaXVtLCAkc3VzeS1sYXJnZSkge1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcGFsZXR0ZShiYWJ5Qmx1ZSwgZGFyayk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShiYWJ5Qmx1ZSwgbGlnaHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWZpbHRlcjogZ3JheXNjYWxlKDApO1xuICAgICAgICAgICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LW1lZGl1bSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtM3B4O1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IC0xcHg7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZSh3aGl0ZSk7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAtMnB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShiYWJ5Qmx1ZSwgbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiA5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHBhbGV0dGUoYmFieUJsdWUsIGRhcmspO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5idXR0b24tLXJpZ2h0LS1hYnMge1xuICAgICAgICB0b3A6IDhweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMTVweDtcbiAgICAgICAgaGVpZ2h0OiA0OXB4O1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDQxcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LW1lZGl1bSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgICAgIHRvcDogMTVweDtcbiAgICAgICAgICAgIGhlaWdodDogaW5pdGlhbDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19xdW90ZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkYnJlYWtwb2ludC1tZWRpdW0sICRzdXN5LWxhcmdlKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICAgICAgcGFkZGluZzogMjFweDtcbiAgICAgICAgICAgIGNvbG9yOiBwYWxldHRlKGdyZWVuKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zaXRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4iLCIubmF2X19jb250YWN0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgICYubmF2Q29udGFjdC0tbW9iaWxlIHtcbiAgICAgICAgZGlzcGxheTogaW5oZXJpdDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LWxhcmdlLCAkc3VzeS1sYXJnZSkge1xuICAgICAgICAmLm5hdkNvbnRhY3QtLW1vYmlsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIGRpc3BsYXk6IGluaGVyaXQ7XG4gICAgfVxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiA5OTk7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRvcDogMDtcbiAgICAubmF2Q29udGFjdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICBwLnNtYWxsIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgY29sb3I6ICM1YjYyNzc7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgICAgaDYge1xuICAgICAgICAgICAgQGluY2x1ZGUgcmh5dGhtKDApO1xuICAgICAgICAgICAgY29sb3I6IHBhbGV0dGUoZ3JlZW4sIGJhc2UpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgICAgIH1cbiAgICAgICAgaDYuc21hbGwge1xuICAgICAgICAgICAgY29sb3I6IHBhbGV0dGUoYmx1ZSwgYmFzZSk7XG4gICAgICAgIH1cbiAgICAgICAgJl9fbGVmdCB7XG4gICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgfVxuICAgICAgICAmX19pdGVtIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZzogMCAxNnB4O1xuXG4gICAgICAgICAgICAmLS1zbWFsbCAubmF2Q29udGFjdF9fcmlnaHQge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubmF2Q29udGFjdC0tbW9iaWxlIHtcbiAgICBmbG9hdDogbGVmdDtcbn1cblxuLm9wZW5pbmdzdGlqZGVuIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgaDYge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMnJlbTtcbiAgICB9XG59XG5cbi5uYXZDb250YWN0VG9nZ2xlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKGJsdWUpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBwYWRkaW5nOiA2cHggMTVweDtcbiAgICB3aWR0aDogMTA3cHg7XG5cbiAgICBzcGFuIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgfVxuXG4gICAgJi0tY2xvc2VkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJi0tb3BlbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5hY3RpdmUge1xuICAgICAgICAubmF2Q29udGFjdFRvZ2dsZS0tY2xvc2VkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAubmF2Q29udGFjdFRvZ2dsZS0tb3BlbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm5hdkNvbnRhY3RXcmFwcGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBhZGRpbmc6IDE2cHggMDtcbiAgICBtaW4td2lkdGg6IDI0MHB4O1xuICAgIGJvcmRlci10b3A6ICNkYWRjZTUgMXB4IHNvbGlkO1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogNTZweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAtMTZweDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZjlmYWZmO1xuICAgIH1cblxuICAgIC5uYXZDb250YWN0X19pdGVtIHtcblxuICAgICAgICAubmF2Q29udGFjdF9fcmlnaHQge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE2cHg7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAjZGFkY2U1IDFweCBzb2xpZDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAubmF2Q29udGFjdF9fcmlnaHQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm5hdkNvbnRhY3RCZyB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDk5O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cbiIsIi8vIFRvcG5hdiB3aXRoIE9vc3Rob2YgTG9nb1xuLnRvcE5hdiB7XG4gICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LW1lZGl1bSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgbGVhZGVyKDAuMik7XG4gICAgICAgICZfX2xvZ28ge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3BhbigyKTtcbiAgICAgICAgICAgIGltZy5pbmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGdyYXlzY2FsZSgxMDAlKTtcbiAgICAgICAgICAgICAgICBmaWx0ZXI6IGdyYXlzY2FsZSgxMDAlKTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAwLjVzO1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWZpbHRlcjogZ3JheXNjYWxlKDApO1xuICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6IGdyYXlzY2FsZSgwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJl9fZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3BhbihsYXN0IDEwKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19tb2JpbGVEZXNjIHtcbiAgICAgICAgaDYge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkYnJlYWtwb2ludC1tZWRpdW0sICRzdXN5LWxhcmdlKSB7XG4gICAgICAgICYtLWluYWN0aXZlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICAgICAgICAgIGg2IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZpeGVkIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG59XG5cbi5waW4tdCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIG1hcmdpbjogMCBhdXRvO1xufVxuXG4udHJhbnNpdGlvbi11cCB7XG4gICAgbWFyZ2luLXRvcDogLTU4cHg7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiAuM3MgYWxsO1xufVxuXG4udHJhbnNpdGlvbi1kb3duIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogLjNzIGFsbDtcbn1cblxuLnRvcGJhckZpeGVkIHtcbiAgICB6LWluZGV4OiA5OTk5O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogNzcuMzEyNDk5OTk4NmVtO1xuICAgICYuZml4ZWQge1xuICAgICAgICAuc2l0ZXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAtMTAwJTtcbiAgICAgICAgICAgICAgICByaWdodDogLTEwMCU7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgICAgIGhlaWdodDogODFweDtcbiAgICAgICAgICAgICAgICB0b3A6IC0xcHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIiRjb29raWUtYmc6ICNmZmY7XG4kY29va2llLXR4dDogIzViNjI3NztcbiRjb29raWUtYnV0dG9uLWJnOiAjN2ViZTM4O1xuJGNvb2tpZS1idXR0b24tdGV4dDogI2ZmZjtcbiRjb29raWUtYnV0dG9uLWRlY2xpbmUtYmc6ICNmZmY7XG4kY29va2llLWJ1dHRvbi1kZWNsaW5lLXRleHQ6ICM1YjYyNzc7XG5cbi5jb29raWVub3RpY2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvb2tpZS1iZztcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgbWF4LXdpZHRoOiAxMjM3cHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogNDBweDtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICB9XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBjb2xvcjogJGNvb2tpZS10eHQ7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzdlYmUzODtcbiAgICB6LWluZGV4OiA5OTk5OTk5O1xuICAgICYtLXRvcCB7XG4gICAgICAgIHRvcDogMDtcbiAgICB9XG4gICAgJi0tYm90dG9tIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgICBzdHJvbmcge1xuICAgICAgICBjb2xvcjogJGNvb2tpZS10eHQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG4gICAgcCBhIHtcbiAgICAgICAgY29sb3I6ICRjb29raWUtYnV0dG9uLWJnO1xuICAgIH1cbiAgICBwLFxuICAgIC5jb29raWVub3RpY2VfX2J1dHRvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBjb2xvcjogJGNvb2tpZS10eHQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuY29va2llbm90aWNlX19idXR0b24ge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgJi0tZGVjbGluZSB7XG4gICAgICAgICAgICBjb2xvcjogbGlnaHRlbigkY29va2llLXR4dCwgMjAlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuY29va2llbm90aWNlX19idXR0b24tLWFjY2VwdCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb29raWUtYnV0dG9uLWJnO1xuICAgICAgICBjb2xvcjogJGNvb2tpZS1idXR0b24tdGV4dDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDMwcHg7XG4gICAgfVxuICAgIC5jb29raWVub3RpY2VfX2J1dHRvbi0tZGVjbGluZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb29raWUtYnV0dG9uLWRlY2xpbmUtYmc7XG4gICAgICAgIGNvbG9yOiAkY29va2llLWJ1dHRvbi1kZWNsaW5lLXRleHQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZzogMTBweCAzMHB4IDEwcHggMDtcbiAgICB9XG4gICAgJi5oaWRlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG4iLCIvLyBNb2JpbGUgbWVudSBzdHlsZXp6XG4ubmF2IHtcbiAgICAmX19oYW1idXJnZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMXB4O1xuICAgICAgICB6LWluZGV4OiA5OTk7XG4gICAgICAgIHJpZ2h0OiAtMTVweDtcbiAgICAgICAgd2lkdGg6IDkwcHg7XG4gICAgICAgIGhlaWdodDogNTZweDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgIHRyYW5zaXRpb246IC41cyBlYXNlLWluLW91dDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShibHVlKTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LWxhcmdlLCAkc3VzeS1sYXJnZSkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnTWVudSc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDIxcHg7XG4gICAgICAgICAgICBsZWZ0OiAxNXB4O1xuICAgICAgICAgICAgY29sb3I6IHBhbGV0dGUod2hpdGUpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICAgICAgICB9XG4gICAgICAgICYub3BlbiB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJ1NsdWl0JztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUod2hpdGUpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOXB4O1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHJpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICAgICAgdG9wOiAyMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMiksXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMnB4O1xuICAgICAgICAgICAgICAgIHRvcDogMjhweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgICAgICAgICB0b3A6IDM0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5vcGVuIHNwYW46bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICAgICAgJi5vcGVuIHNwYW46bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuICAgICAgICAmLm9wZW4gc3BhbjpudGgtY2hpbGQoMykge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgfVxuICAgICAgICAmLm9wZW4gc3BhbjpudGgtY2hpbGQoNCkge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5iYXIge1xuICAgIHBhZGRpbmc6IGxpbmVzLXRvLXB4KDAuNSkgbGluZXMtdG8tcHgoMSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgQGluY2x1ZGUgbGVhZGVyKDMpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHBhbGV0dGUoZ3JleSwgbGluZXMpO1xuICAgIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQtbGFyZ2UsICRzdXN5LWxhcmdlKSB7XG4gICAgICAgIGhlaWdodDogMjYwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkYnJlYWtwb2ludC1tZWRpdW0sICRzdXN5LWxhcmdlKSB7XG4gICAgICAgIGhlaWdodDogMjMwcHg7XG4gICAgICAgIHBhZGRpbmc6IGxpbmVzLXRvLXB4KDAuNSkgbGluZXMtdG8tcHgoMS41KTtcbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFpbGVyKDAuNSk7XG4gICAgICAgIH1cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxOTBweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJoeXRobSgwKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYWlsZXIoMC41KTtcbiAgICAgICAgfVxuICAgICAgICAuY29udGFjdCB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIGg2IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByaHl0aG0oMCk7XG4gICAgICAgICAgICAgICAgY29sb3I6IHBhbGV0dGUoZ3JlZW4sIGJhc2UpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaDYuc21hbGwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBwYWxldHRlKGJsdWUsIGJhc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fbGVmdCB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmX19yaWdodCB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9faXRlbSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgICYtLXNtYWxsIC5uYXZDb250YWN0X19yaWdodCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19sZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LW1lZGl1bSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4oNCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQtbWVkaXVtLCAkc3VzeS1sYXJnZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3BhbihsYXN0IDgpO1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IC00NnB4IC0zcHg7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMjYwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMzAwcHgpIHtcbiAgICAgICAgICAgIGltZzpudGgtbGFzdC1jaGlsZCgtbisxKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgICAgICBpbWc6bnRoLWxhc3QtY2hpbGQoLW4rMikge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICAgICAgICBpbWc6bnRoLWxhc3QtY2hpbGQoLW4rMykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgICAgICBpbWc6bnRoLWxhc3QtY2hpbGQoLW4rNCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDIzMHB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIHRvcDogLTM5cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gRElSVFkgTU9CSUxFIFNUWUxFUyA6T1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBoMyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG4gICAgICAgIC5jb250YWN0X19pdGVtIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGg2IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuaGVyb0NhcmQge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIEBpbmNsdWRlIHJoeXRobSgwKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKHdoaXRlKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjA7XG4gICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LW1lZGl1bSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBAaW5jbHVkZSByaHl0aG0oLTIsMiwyLDEpO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBwYWxldHRlKGdyZXksIGxpbmVzKTtcbiAgICB9XG4gICAgJl9fdGV4dCB7XG4gICAgICAgIEBpbmNsdWRlIGxlYWRlcigxKTtcbiAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LW1lZGl1bSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxlYWRlcigwKTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSB0cmFpbGVyKDEpO1xuICAgICAgICBoMyxcbiAgICAgICAgaDYge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICAgICYtLXRvcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFpbGVyKDApO1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogbGluZXMtdG8tcHgoMSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQtbWVkaXVtLCAkc3VzeS1sYXJnZSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBsaW5lcy10by1weCgyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19pdGVtIHtcbiAgICAgICAgQGluY2x1ZGUgc2V0LXR5cGUtc2l6ZShzbWFsbCk7XG4gICAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkYnJlYWtwb2ludC1tZWRpdW0sICRzdXN5LWxhcmdlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuKDMgaW5zaWRlIG5vLWd1dHRlcik7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcGFsZXR0ZShncmV5LCBsaW5lcyk7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ5MHB4O1xuICAgICAgICAgICAgJjpudGgtb2YtdHlwZSg0biArIDQpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzcGFuKGxhc3QgMyBpbnNpZGUgbm8tZ3V0dGVyKTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogcGFsZXR0ZShncmV5LCBiYXNlKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzZXQtdHlwZS1zaXplKHNtYWxsKTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMnJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBwYWxldHRlKGJsdWUsIGJhc2UpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgICAgICAgfVxuICAgICAgICBoNiB7XG4gICAgICAgICAgICBAaW5jbHVkZSByaHl0aG0oMCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBsZWFkZXIoMC41KTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQtbGFyZ2UsICRzdXN5LWxhcmdlKSB7XG4gICAgICAgICAgICAmLS1sZW5ndGgzIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzcGFuKDQgaW5zaWRlIG5vLWd1dHRlcik7XG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc3BhbihsYXN0IDQgaW5zaWRlIG5vLWd1dHRlcik7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi0tbGVuZ3RoMiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbig2IGluc2lkZSBuby1ndXR0ZXIpO1xuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4obGFzdCA2IGluc2lkZSBuby1ndXR0ZXIpO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYtLXNvbG8ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBwYWxldHRlKGdyZXksIGxpZ2h0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYm90dG9tIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBtYXJnaW46IDEwcHggMCAzMHB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LWxhcmdlLCAkc3VzeS1sYXJnZSkge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBoNiB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHBhbGV0dGUoZ3JlZW4sIGJhc2UpO1xuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogOHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19jb2xsYXBzZSB7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAwLjVzO1xuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAuaGVyb0NhcmRfX2NvbGxhcHNlLS10aXRsZSB7XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5oZXJvQ2FyZF9fY29sbGFwc2UtLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDM1MHB4O1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlIDFzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYtLXRpdGxlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG1heC13aWR0aDogOTglO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHBhbGV0dGUoZ3JleSwgbGluZXMpO1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDEwcHggMjBweCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LW1lZGl1bSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA2MHB4O1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgICAgICAgICAmOmFmdGVyLFxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICByaWdodDogMjRweDtcbiAgICAgICAgICAgICAgICB0b3A6IDE2cHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShibHVlKTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDJweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IDAuNXM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUoYmx1ZSk7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDE3cHg7XG4gICAgICAgICAgICAgICAgdG9wOiAyM3B4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgMC42cztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLS1jb250ZW50IHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IDAuNXM7XG4gICAgICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQtbGFyZ2UsICRzdXN5LWxhcmdlKSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5zaGFyZSB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHBhbGV0dGUoZ3JleSwgbGluZXMpO1xuICAgIEBpbmNsdWRlIGxlYWRlcigxKTtcbiAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQtbGFyZ2UsICRzdXN5LWxhcmdlKSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1heC13aWR0aDogNDhweDtcbiAgICB9XG4gICAgYSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBsaW5lcy10by1weCgwLjUpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGxpbmVzLXRvLXB4KDAuNSk7XG4gICAgfVxuICAgICZfX2JhciB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICAgICZfX2l0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkYnJlYWtwb2ludC1sYXJnZSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgaDYge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLm5ld3Mge1xuICAgICYtLWhvcml6b250YWwge1xuICAgICAgICBoMyB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgLm5ld3NDYXJkX19pdGVtIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkYnJlYWtwb2ludC1tZWRpdW0sICRzdXN5LWxhcmdlKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbig2KTtcbiAgICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKDJuKzIpIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc3BhbihsYXN0IDYpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm5ld3NDYXJkIHtcbiAgICAuZmxleGl0X19ob2xkZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgJl9faXRlbSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcGFsZXR0ZShncmV5LCBsaW5lcyk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXIgMC4ycyBlYXNlO1xuICAgICAgICBAaW5jbHVkZSBsZWFkZXIoMSk7XG4gICAgICAgIGg2IHtcbiAgICAgICAgICAgIGNvbG9yOiBwYWxldHRlKGdyZWVuLCBiYXNlKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJoeXRobSgwKTtcbiAgICAgICAgfVxuICAgICAgICAuYnV0dG9uX190YWdzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNldC10eXBlLXNpemUoeC1zbWFsbCk7XG4gICAgICAgICAgICBwYWRkaW5nOiBsaW5lcy10by1weCgwKSBsaW5lcy10by1weCgwLjUpO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkYnJlYWtwb2ludC1sYXJnZSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBsaW5lcy10by1weCgwLjIpIGxpbmVzLXRvLXB4KDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcGFsZXR0ZShiYWJ5Qmx1ZSwgYmFzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHBhbGV0dGUoZ3JlZW4pO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX2ltYWdlIHtcbiAgICAgICAgQGluY2x1ZGUgc3BhbigxIGluc2lkZSBuby1ndXR0ZXIpO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgICB9XG4gICAgJl9fdGV4dCB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4obGFzdCAzKTtcbiAgICB9XG4gICAgLmNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkYnJlYWtwb2ludC1sYXJnZSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgJl9faW1hZ2Uge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbig0IGluc2lkZSBuby1ndXR0ZXIpO1xuICAgICAgICB9XG4gICAgICAgICZfX3RleHQge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgc3BhbihsYXN0IDgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnBvcFVwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIG1heC13aWR0aDogMTQwMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBtYXJnaW46IDEwcHggMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDg5JTtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICAmX19yaWdodCB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkYnJlYWtwb2ludC1tZWRpdW0sICRzdXN5LWxhcmdlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuKGxhc3QgNik7XG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX2xlZnQge1xuICAgICAgICBoZWlnaHQ6IDMwMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1cHg7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDVweDtcbiAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LW1lZGl1bSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4oNik7XG4gICAgICAgICAgICBoZWlnaHQ6IDU1MHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5qcy1jbG9zZS1idXR0b24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTIxcHg7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgei1pbmRleDogOTk5O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICByaWdodDogLTIxcHg7XG4gICAgICAgICY6aG92ZXIgaW1nIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDZweCAwIHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICAgICAgfVxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2UgMC4zcztcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDRweCAwIHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDkwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuYW5pbWFsQ2FyZHMge1xuICAgIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAmX19pdGVtIHtcbiAgICAgICAgYmFja2dyb3VuZDogcGFsZXR0ZSh3aGl0ZSk7XG4gICAgICAgICYtLWljb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgcmh5dGhtKDAuNSwwLjUpO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQtbWVkaXVtLCAkc3VzeS1sYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5hbmltYWxDYXJkcyB7XG4gICAgYm9yZGVyLXJhZGl1czogMXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICZfX2l0ZW0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiBwYWxldHRlKHdoaXRlKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICYtLWRhcmsge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcGFsZXR0ZShibHVlLCBiYXNlKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkYnJlYWtwb2ludC1tZWRpdW0sICRzdXN5LWxhcmdlKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbig2KTtcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgybisyKSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4obGFzdCA2KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi0taW1hZ2Uge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFpbGVyKDEpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2UgMC4ycztcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCA1cHggMTBweCAwIHJnYmEoMCwgMjgsIDEwNSwgMC4xKTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2UgMC4ycztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4oMik7XG4gICAgICAgICAgICAmOm50aC1jaGlsZCgybisyKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc3BhbihsYXN0IDIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LW1lZGl1bSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzcGFuKDMgb2YgNik7XG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMm4rMikge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzcGFuKGxhc3QgMyBvZiA2KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDVweCAxMHB4IDAgcmdiYSgwLCAyOCwgMTA1LCAwLjMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBhOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IC0yNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLS1pY29uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJoeXRobSgwLjUsMC41KTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQtbWVkaXVtLCAkc3VzeS1sYXJnZSkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogNzVweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDVweCAxMHB4IDAgcmdiYSgwLCAyOCwgMTA1LCAwLjEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAvL2Zsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQtbWVkaXVtLCAkc3VzeS1sYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDRweCBhdXRvIDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LW1lZGl1bSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LW1lZGl1bSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBzcGFuLFxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBpbml0aWFsO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uc3BlY2lhbGlzbSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZSh3aGl0ZSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcGFsZXR0ZShncmV5LCBsaW5lcyk7XG4gICAgcGFkZGluZzogbGluZXMtdG8tcHgoMSk7XG4gICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LW1lZGl1bSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZzogbGluZXMtdG8tcHgoMSk7XG4gICAgfVxuICAgIGg0IHtcbiAgICAgICAgQGluY2x1ZGUgcmh5dGhtKDApO1xuICAgICAgICBAaW5jbHVkZSB0cmFpbGVyKDAuNSk7XG4gICAgfVxuICAgIC5idXR0b24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgICAgIHJpZ2h0OiAtMTBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19pdGVtIHtcbiAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LW1lZGl1bSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYWlsZXIoMC41KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4oMyBvZiA2KTtcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDJuKzMpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzcGFuKGxhc3QgMyBvZiA2KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5lbXBsb3llZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICZfX2ltYWdlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCA1cHggMTBweCAwIHJnYmEoMCwgMjgsIDEwNSwgMC4xKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjAwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBAaW5jbHVkZSB0cmFpbGVyKDAuNSk7XG4gICAgICAgIG1heC13aWR0aDogMTcwcHg7XG4gICAgfVxuICAgICZfX3RleHQge1xuICAgICAgICBtaW4taGVpZ2h0OiAxMDBweDtcbiAgICB9XG4gICAgaDYge1xuICAgICAgICBAaW5jbHVkZSByaHl0aG0oMCk7XG4gICAgfVxuICAgICYtLWV4cGFuZGVkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgZ2FwOiA4cHg7XG4gICAgICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQtc21hbGwsICRzdXN5LWxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGdhcDogNDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmX19pbWFnZSB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDVweCAxMHB4IDAgcmdiYSgwLCAyOCwgMTA1LCAwLjEpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjAwcHg7XG4gICAgICAgICAgICB3aWR0aDogMTIwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEyMHB4O1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmX190ZXh0IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGg2IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDhweCAwIDAgMDtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzViNjI3NztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiLnN0b3JpZXMge1xuICAgIGgzID4gYSB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIH1cbiAgICAmX19pdGVtIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcGFsZXR0ZShncmV5LCBsaW5lcyk7XG4gICAgICAgIHBhZGRpbmc6IGxpbmVzLXRvLXB4KDEpO1xuICAgIH1cbiAgICAmX19pbWFnZSB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4oMSk7XG4gICAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkYnJlYWtwb2ludC1tZWRpdW0sICRzdXN5LWxhcmdlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuKDQpO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgaDYge1xuICAgICAgICAgICAgQGluY2x1ZGUgcmh5dGhtKDApO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHNwYW4obGFzdCAzKTtcbiAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LW1lZGl1bSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4obGFzdCA4KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5wYWdpbmF0aW9uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgQGluY2x1ZGUgcmh5dGhtKDEpO1xuICAgIEBpbmNsdWRlIGxlYWRlcigxKTtcbiAgICAuY3VycmVudCxcbiAgICBhIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgfVxufVxuIiwiLmJyZWFkY3J1bWJzIHtcbiAgICBAaW5jbHVkZSBzZXQtdHlwZS1zaXplKHNtYWxsKTtcbiAgICBAZXh0ZW5kICV0dy1zZW1pLWJvbGQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgQGluY2x1ZGUgdHJhaWxlcigwLjUpO1xuXG4gICAgbGkge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IGxpbmVzLXRvLXB4KDAuNSk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBsaW5lcy10by1weCgwLjUpO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiBwYWxldHRlKHdoaXRlKTtcbiAgICB9XG4gICAgJi0tZGFyayB7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6IHBhbGV0dGUoYmx1ZSwgYmFzZSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJmb290ZXIge1xuICAgIEBpbmNsdWRlIHJoeXRobSgxLDIsMCwwKTtcbiAgICAuZm9vdGVyX19uZXdzbGV0dGVyIHtcbiAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LW1lZGl1bSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxlYWRlcigxKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4oNik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLm1jLWZpZWxkLWdyb3VwIHtcbiAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LW1lZGl1bSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4oNik7XG4gICAgICAgICAgICAmOm50aC1vZi10eXBlKGV2ZW4pIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzcGFuKGxhc3QgNik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLm1jLWZpZWxkLWdyb3VwLmlucHV0LWdyb3VwIHtcbiAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LW1lZGl1bSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4oMTIpO1xuICAgICAgICB9XG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgICAgfVxuICAgICAgICBsaSB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBpbnB1dCxcbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5mb290ZXJfX2ZhY2Vib29rIHtcbiAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LW1lZGl1bSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxlYWRlcigxKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYWlsZXIoMyk7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuKGxhc3QgNik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmZvb3Rlci0tcmVsIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBAaW5jbHVkZSB0cmFpbGVyKDIpO1xuICAgIH1cbiAgICAuZm9vdGVyX19maXJzdCB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHBhbGV0dGUod2hpdGUsIGJhc2UpIDIwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSA3MCUpO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQtbWVkaXVtLCAkc3VzeS1sYXJnZSkge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgei1pbmRleDogLTI7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltYWdlcy9wbGFjZWhvbGRlci5wbmcnKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkYnJlYWtwb2ludC1tZWRpdW0sICRzdXN5LWxhcmdlKSB7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5mb290ZXJfX2xpbmtzIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBAaW5jbHVkZSByaHl0aG0oMCwxLDIsMCk7XG4gICAgfVxuICAgIC5mb290ZXJMaW5rcyB7XG4gICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHBhbGV0dGUoZ3JleSwgYmFzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBoNiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkYnJlYWtwb2ludC1tZWRpdW0sICRzdXN5LWxhcmdlKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc3BhbigzKTtcbiAgICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKDRuKzQpIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc3BhbihsYXN0IDMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuZm9vdGVyUHJha3RpamtlbiB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKHBhbGV0dGUoZ3JleSwgbGluZXMpLCAwLjUpO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYShwYWxldHRlKGdyZXksIGxpbmVzKSwgMC41KTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBAaW5jbHVkZSByaHl0aG0oMCwxLDEsMCk7XG4gICAgICAgIC5zbWFsbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzZXQtdHlwZS1zaXplKHNtYWxsKTtcbiAgICAgICAgfVxuICAgICAgICAmX19pdGVtIHtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogOHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LW1lZGl1bSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzcGFuKDYpO1xuICAgICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoMm4rMikge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzcGFuKGxhc3QgNik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LWxhcmdlLCAkc3VzeS1sYXJnZSkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4oMyk7XG4gICAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgybisyKSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4oMyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoNG4rNCkge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzcGFuKGxhc3QgMyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5sb3dlckZvb3RlciB7XG4gICAgICAgIEBpbmNsdWRlIHJoeXRobSgwLDIpO1xuICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQtbWVkaXVtLCAkc3VzeS1sYXJnZSkge1xuICAgICAgICAgICAgJl9fZmlyc3Qge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4oMyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmX19jZW50ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4oNik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmX19sYXN0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzcGFuKGxhc3QgMyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJhcnRpY2xlIHtcbiAgICAuYnJlYWRjcnVtYnMge1xuICAgICAgICBAaW5jbHVkZSBsZWFkZXIoMSk7XG4gICAgICAgIEBpbmNsdWRlIHRyYWlsZXIoMSk7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBoMSxcbiAgICBoMixcbiAgICBoMyxcbiAgICBoNCxcbiAgICBoNSxcbiAgICBoNiB7XG4gICAgICAgIEBpbmNsdWRlIHJoeXRobSgwLjUgLCAwKTtcbiAgICB9XG59XG4iLCIuZm9ybSB7XG4gICAgJl9fcm93IHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxlYWRlcigxKTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19maWVsZCB7XG4gICAgICAgIEBpbmNsdWRlIGxlYWRlcigxKTtcbiAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LWxhcmdlLCAkc3VzeS1sYXJnZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbig2KTtcbiAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoMm4gKyAyKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc3BhbihsYXN0IDYpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlucHV0LFxuICAgICAgICB0ZXh0YXJlYSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICAmLS1mdWxsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkYnJlYWtwb2ludC1sYXJnZSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzcGFuKDEyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLmZyZWVmb3JtLWNvbHVtbiB7XG4gICAgICAgIGZsZXg6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmZyZWVmb3JtLXJvdyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuIiwiLnNpZGViYXIge1xuICAgIEBpbmNsdWRlIGxlYWRlcigzKTtcbiAgICAmX19pbm5lciB7XG4gICAgICAgIHBhZGRpbmc6IGxpbmVzLXRvLXB4KDEpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHBhbGV0dGUoZ3JleSwgbGluZXMpO1xuICAgICAgICBoNiB7XG4gICAgICAgICAgICBAaW5jbHVkZSByaHl0aG0oMCk7XG4gICAgICAgIH1cbiAgICAgICAgJi0tZ2xvYmFsIHtcbiAgICAgICAgICAgIC5zbWFsbCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc2V0LXR5cGUtc2l6ZSh4LXNtYWxsKTtcbiAgICAgICAgICAgICAgICBjb2xvcjogcGFsZXR0ZShncmV5LCBsaWdodCk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuYnV0dG9uX19wcmltYXJ5IHtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiA5OTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjUwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi0tbG9jYWwge1xuICAgICAgICAgICAgLnNpZGViYXJfX2xvZ28ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDk5O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMDBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUod2hpdGUpO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgNXB4IDMwcHggMCByZ2JhKDM2LCA0NCwgODIsIDAuMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaDQge1xuICAgICAgICAgICAgei1pbmRleDogOTk7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE4MHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgQGluY2x1ZGUgcmh5dGhtKDApO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX3RvbSB7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IC01MHB4O1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMjYwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fbmV3cyB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHBhbGV0dGUoZ3JleSwgbGluZXMpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGg2LnNtYWxsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNldC10eXBlLXNpemUoc21hbGwpO1xuICAgICAgICB9XG4gICAgICAgIC5zaWRlYmFyX190ZXh0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJoeXRobSgwLjUpO1xuICAgICAgICAgICAgaDYge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJoeXRobSgwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJoeXRobSgwKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzZXQtdHlwZS1zaXplKHNtYWxsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19tZW51IHtcbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXI6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAtMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19pdGVtIGEge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbn1cbiIsIi5oZXJvIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LW1lZGl1bSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgaGVpZ2h0OiA2NTBweDtcbiAgICB9XG4gICAgdmlkZW8ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LW1lZGl1bSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX3dyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICAgICZfX2JnIHtcbiAgICAgICAgaGVpZ2h0OiAzNTBweDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LW1lZGl1bSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgICAgIGhlaWdodDogNjUwcHg7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX3RleHQge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTE1cHg7XG4gICAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkYnJlYWtwb2ludC1tZWRpdW0sICRzdXN5LWxhcmdlKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEyMzdweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogY2FsYyg1MCUgLSAzNHB4KTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQtbGFyZ2Utd3JhcHBlciwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fb3ZlcmxheSB7XG4gICAgICAgIHotaW5kZXg6IDk7XG4gICAgICAgIEBpbmNsdWRlIGxlYWRlcigtMyk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBsaW5lcy10by1weCgzKTtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsICM2NGIwNDQgODAlLCByZ2JhKDEwMCwgMTc2LCA2OCwgMCkgMTAwJSk7XG4gICAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkYnJlYWtwb2ludC1tZWRpdW0sICRzdXN5LWxhcmdlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsZWFkZXIoMCk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICM3ZWJlMzggMCUsIHJnYmEoMTAwLCAxNzYsIDY4LCAwKSA3MCUpO1xuICAgICAgICAgICAgaGVpZ2h0OiA2NTBweDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBoMSB7XG4gICAgICAgIEBpbmNsdWRlIHJoeXRobSgwKTtcbiAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LW1lZGl1bSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNjMwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnN1YnRpdGVsIHtcbiAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LW1lZGl1bSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNjMwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgcmh5dGhtKDApO1xuICAgICAgICBAZXh0ZW5kICV0dy1yZWd1bGFyO1xuICAgICAgICBjb2xvcjogcGFsZXR0ZSh3aGl0ZSk7XG4gICAgfVxuICAgICZfX2FuaW1hbHMge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMjM3cHg7XG4gICAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkYnJlYWtwb2ludC1sYXJnZS13cmFwcGVyLCAkc3VzeS1sYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICAgICAgfVxuICAgICAgICAuYW5pbWFsQ2FyZHMge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LW1lZGl1bSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBzcGFuKGxhc3QgMyk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDI0MHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gRXhhbXBsZSBwYWdlXG5oZWFkZXIge1xuICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkYnJlYWtwb2ludC1sYXJnZSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgc3BhbigyKTtcbiAgICAgICAgQGluY2x1ZGUgcHJlKDEpO1xuICAgIH1cbn1cblxuLmNvbnRlbnRTaWRlYmFyIHtcbiAgICAuc2lkZWJhciB7XG4gICAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkYnJlYWtwb2ludC1tZWRpdW0sICRzdXN5LWxhcmdlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuKDgpO1xuICAgICAgICAgICAgQGluY2x1ZGUgcHJlKDIpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkYnJlYWtwb2ludC1sYXJnZSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4oMyk7XG4gICAgICAgICAgICBAaW5jbHVkZSBwdWxsKDkpO1xuICAgICAgICB9XG4gICAgICAgICYtLXJpZ2h0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkYnJlYWtwb2ludC1tZWRpdW0sICRzdXN5LWxhcmdlKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbig4KTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmUoMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQtbGFyZ2UsICRzdXN5LWxhcmdlKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc3BhbihsYXN0IDMpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHB1bGwoMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNvbnRlbnQge1xuICAgICAgICBoMSB7XG4gICAgICAgICAgICBjb2xvcjogcGFsZXR0ZShibHVlLCBiYXNlKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQtbWVkaXVtLCAkc3VzeS1sYXJnZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbig4KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHByZSgyKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQtbGFyZ2UsICRzdXN5LWxhcmdlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuKDYpO1xuICAgICAgICAgICAgQGluY2x1ZGUgcHJlKDApO1xuICAgICAgICAgICAgQGluY2x1ZGUgcHVzaCgzKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnBhZ2Uge1xuICAgICYtLTQwNCB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHZpZGVvIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxlYWRlcigxKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYWlsZXIoMSk7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkYnJlYWtwb2ludC1tZWRpdW0sICRzdXN5LWxhcmdlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuKDYpO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX3JpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LW1lZGl1bSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4obGFzdCA2KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIE1hcmdpbiBTeW50YXhcbi8vID09PT09PT09PT09PT1cblxuLy8gUHJlXG4vLyAtLS1cbi8vIEFkZCBzcGFubmluZy1tYXJnaW5zIGJlZm9yZSBhbiBlbGVtZW50LlxuLy8gLSAkc3BhbiAgOiA8c3Bhbj5cbkBtaXhpbiBwcmUoXG4gICRzcGFuXG4pIHtcbiAgJGluc3BlY3Q6ICRzcGFuO1xuICAkc3BhbiAgIDogbWFwLW1lcmdlKChzcHJlYWQ6IHdpZGUpLCBwYXJzZS1zcGFuKCRzcGFuKSk7XG4gICRmbG93ICAgOiBzdXN5LWdldChmbG93LCAkc3Bhbik7XG4gICRzcGxpdCAgOiBpZihzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRzcGFuKSA9PSBzcGxpdCwgdHJ1ZSwgZmFsc2UpO1xuICAkZ3V0dGVyIDogZ3V0dGVyKCRzcGFuKTtcbiAgJHNwYW4gICA6IHNwYW4oJHNwYW4pO1xuICAkd2lkdGggIDogaWYoJHNwbGl0IGFuZCAkZ3V0dGVyLCAkc3BhbiArICRndXR0ZXIsICRzcGFuKTtcblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QocHJlLCAkaW5zcGVjdCk7XG4gIEBpbmNsdWRlIG1hcmdpbi1vdXRwdXQoJHdpZHRoLCBudWxsLCAkZmxvdyk7XG59XG5cbi8vIFBvc3Rcbi8vIC0tLS1cbi8vIEFkZCBzcGFubmluZy1tYXJnaW5zIGFmdGVyIGFuIGVsZW1lbnQuXG4vLyAtICRzcGFuICA6IDxzcGFuPlxuQG1peGluIHBvc3QoXG4gICRzcGFuXG4pIHtcbiAgJGluc3BlY3QgIDogJHNwYW47XG4gICRzcGFuICAgICA6IG1hcC1tZXJnZSgoc3ByZWFkOiB3aWRlKSwgcGFyc2Utc3Bhbigkc3BhbikpO1xuICAkZmxvdyAgICAgOiBzdXN5LWdldChmbG93LCAkc3Bhbik7XG4gICRzcGxpdCAgICA6IGlmKHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJHNwYW4pID09IHNwbGl0LCB0cnVlLCBmYWxzZSk7XG4gICR3aWR0aCAgICA6IGlmKCRzcGxpdCwgc3Bhbigkc3BhbikgKyBndXR0ZXIoJHNwYW4pLCBzcGFuKCRzcGFuKSk7XG5cbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KHBvc3QsICRpbnNwZWN0KTtcbiAgQGluY2x1ZGUgbWFyZ2luLW91dHB1dChudWxsLCAkd2lkdGgsICRmbG93KTtcbn1cblxuLy8gUHVzaFxuLy8gLS0tLVxuLy8gU2ltcGxlIHN5bm9ueW1uIGZvciBwcmUuXG4vLyAtICRzcGFuICA6IDxzcGFuPlxuQG1peGluIHB1c2goXG4gICRzcGFuXG4pIHtcbiAgQGluY2x1ZGUgcHJlKCRzcGFuKTtcbn1cblxuLy8gUHVsbFxuLy8gLS0tLVxuLy8gQWRkIG5lZ2F0aXZlIHNwYW5uaW5nLW1hcmdpbnMgYmVmb3JlIGFuIGVsZW1lbnQuXG4vLyAtICRzcGFuICA6IDxzcGFuPlxuQG1peGluIHB1bGwoXG4gICRzcGFuXG4pIHtcbiAgJGluc3BlY3QgIDogJHNwYW47XG4gICRzcGFuICAgICA6IG1hcC1tZXJnZSgoc3ByZWFkOiB3aWRlKSwgcGFyc2Utc3Bhbigkc3BhbikpO1xuICAkZmxvdyAgICAgOiBzdXN5LWdldChmbG93LCAkc3Bhbik7XG4gICRzcGxpdCAgICA6IGlmKHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJHNwYW4pID09IHNwbGl0LCB0cnVlLCBmYWxzZSk7XG4gICR3aWR0aCAgICA6IGlmKCRzcGxpdCwgMCAtIHNwYW4oJHNwYW4pICsgZ3V0dGVyKCRzcGFuKSwgMCAtIHNwYW4oJHNwYW4pKTtcblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QocHVsbCwgJGluc3BlY3QpO1xuICBAaW5jbHVkZSBtYXJnaW4tb3V0cHV0KCR3aWR0aCwgbnVsbCwgJGZsb3cpO1xufVxuXG4vLyBTcXVpc2hcbi8vIC0tLS0tLVxuLy8gQWRkIHNwYW5uaW5nLW1hcmdpbnMgYmVmb3JlIGFuZCBhZnRlciBhbiBlbGVtZW50LlxuLy8gLSAkcHJlICAgICA6IDxzcGFuPlxuLy8gLSBbJHBvc3RdICA6IDxzcGFuPlxuQG1peGluIHNxdWlzaChcbiAgJHByZSxcbiAgJHBvc3Q6IGZhbHNlXG4pIHtcbiAgJGluc3BlY3QgICAgICA6ICgkcHJlLCAkcG9zdCk7XG4gICRwcmUgICAgICAgICAgOiBtYXAtbWVyZ2UoKHNwcmVhZDogd2lkZSksIHBhcnNlLXNwYW4oJHByZSkpO1xuXG4gIEBpZiAkcG9zdCB7XG4gICAgJHBvc3Q6IG1hcC1tZXJnZSgoc3ByZWFkOiB3aWRlKSwgcGFyc2Utc3BhbigkcG9zdCkpO1xuICB9IEBlbHNlIHtcbiAgICAkc3Bhbjogc3VzeS1nZXQoc3BhbiwgJHByZSk7XG4gICAgQGlmIGxlbmd0aCgkc3BhbikgPiAxIHtcbiAgICAgICRwcmU6IG1hcC1tZXJnZSgkcHJlLCAoc3BhbjogbnRoKCRzcGFuLCAxKSkpO1xuICAgICAgJHBvc3Q6IG1hcC1tZXJnZSgkcHJlLCAoc3BhbjogbnRoKCRzcGFuLCAyKSkpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHBvc3Q6ICRwcmU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KHNxdWlzaCwgJGluc3BlY3QpO1xuICBAaW5jbHVkZSBwcmUoJHByZSk7XG4gIEBpbmNsdWRlIHBvc3QoJHBvc3QpO1xufVxuIiwiLm5pZXV3cy1vdmVyemljaHQge1xuICAgIC50YWdzRmlsdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZSh3aGl0ZSk7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHBhbGV0dGUoZ3JleSwgbGluZXMpO1xuICAgICAgICBAaW5jbHVkZSBsZWFkZXIoLTIpO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHggbGluZXMtdG8tcHgoMC41KTtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaDQge1xuICAgICAgICAgICAgQGluY2x1ZGUgcmh5dGhtKDApO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhaWxlcigwLjUpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkYnJlYWtwb2ludC1sYXJnZSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxlYWRlcigtMS41KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4oNik7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LWxhcmdlLCAkc3VzeS1sYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZzogbGluZXMtdG8tcHgoMSk7XG4gICAgICAgIH1cbiAgICAgICAgLmJ1dHRvbl9fcHJpbWFyeSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsZWFkZXIoMSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmJvZHlUZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LWxhcmdlLCAkc3VzeS1sYXJnZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3BhbihsYXN0IDYpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4iLCIuem9la2VuIHtcbiAgICBoMSB7XG4gICAgICAgIGNvbG9yOiBwYWxldHRlKGJsdWUpO1xuICAgIH1cbiAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgQGluY2x1ZGUgbGVhZGVyKDEpO1xuICAgIH1cbiAgICBhcnRpY2xlIHtcbiAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LWxhcmdlLCAkc3VzeS1sYXJnZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbig2KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHByZSgzKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLnJlc3VsdGF0ZW4ge1xuICAgICAgICAuc2lkZWJhciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQtbGFyZ2UsICRzdXN5LWxhcmdlKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc3BhbigzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBhcnRpY2xlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkYnJlYWtwb2ludC1sYXJnZSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzcGFuKDYpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByZSgwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5sb2NhdGllWm9la2VyIHtcbiAgICAjYXBwIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgICBoMSB7XG4gICAgICAgIEBpbmNsdWRlIHJoeXRobSgwKTtcbiAgICAgICAgQGluY2x1ZGUgdHJhaWxlcigwLjUpO1xuICAgICAgICBjb2xvcjogcGFsZXR0ZShibHVlKTtcbiAgICB9XG4gICAgLnNpZGViYXIge1xuICAgICAgICBoZWlnaHQ6IDU1MHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQtbWVkaXVtLCAkc3VzeS1sYXJnZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3BhbihpbnNpZGUgbm8tZ3V0dGVycyA0KTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBwYWxldHRlKGdyZXksIGxpbmVzKTtcbiAgICAgICAgICAgIGhlaWdodDogOTAwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBtYWluIGlucHV0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnBhZDIge1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgIH1cblxuICAgIC5xdWlldCB7XG4gICAgICAgIGNvbG9yOiAjODg4O1xuICAgIH1cblxuICAgIC5tYXAge1xuICAgICAgICBoZWlnaHQ6IDQwMHB4O1xuICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQtbWVkaXVtLCAkc3VzeS1sYXJnZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3BhbihsYXN0IGluc2lkZSBuby1ndXR0ZXJzIDgpO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHBhbGV0dGUoZ3JleSwgbGluZXMpO1xuICAgICAgICAgICAgaGVpZ2h0OiA5MDBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5oZWFkaW5nIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHBhbGV0dGUoZ3JleSwgbGluZXMpO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgfVxuXG4gICAgI2xpc3RpbmdEaXYge1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmxpc3RpbmdzIHtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIGhlaWdodDogMjcwcHg7XG4gICAgICAgIEBpbmNsdWRlIHN1c3ktYnJlYWtwb2ludCgkYnJlYWtwb2ludC1tZWRpdW0sICRzdXN5LWxhcmdlKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzgwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgLmxlZnQge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB9XG4gICAgICAgIC5yaWdodCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNpZGViYXIgZmllbGRzZXQge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgIC5saXN0aW5ncyAuaXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcGFsZXR0ZShncmV5LCBsaW5lcyk7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAubGlzdGluZ3MgLml0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuXG4gICAgLmxpc3RpbmdzIC5pdGVtIC50aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb2xvcjogcGFsZXR0ZShibHVlKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB9XG5cbiAgICAubGlzdGluZ3MgLml0ZW0gLnRpdGxlIHNtYWxsIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB9XG5cbiAgICAubGlzdGluZ3MgLml0ZW0uYWN0aXZlIC50aXRsZSxcbiAgICAubGlzdGluZ3MgLml0ZW0gLnRpdGxlOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHBhbGV0dGUoZ3JlZW4sIGJhc2UpO1xuICAgIH1cblxuICAgIC5saXN0aW5ncyAuaXRlbS5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xuICAgIH1cblxuICAgICNzdG9yZWluZm8ge1xuICAgICAgICBwYWRkaW5nOiAycHggMTBweDtcbiAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LW1lZGl1bSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTBweCAyMHB4O1xuICAgICAgICB9XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUoZ3JlZW4pO1xuICAgICAgICBjb2xvcjogcGFsZXR0ZSh3aGl0ZSk7XG4gICAgICAgIGg0IHtcbiAgICAgICAgICAgIGNvbG9yOiBwYWxldHRlKHdoaXRlKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJoeXRobSgwKTtcbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiBwYWxldHRlKHdoaXRlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICB3aWR0aDogM3B4O1xuICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICB9XG5cbiAgICA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB9XG5cbiAgICA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzAwODUzZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG5cbiAgICAuY2xlYXJmaXgge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuY2xlYXJmaXg6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnLic7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLmxlYWZsZXQtY29udGFpbmVyIC5sZWFmbGV0LW1hcmtlci1pY29uIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICNjbG9zZUJ1dHRvbiB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG5cbiAgICAjY2xvc2VCdXR0b246aG92ZXIsXG4gICAgOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IHBhbGV0dGUoZ3JlZW4pO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgI3NlYXJjaEljb246aG92ZXIsXG4gICAgOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IHBhbGV0dGUoZ3JlZW4pO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgI2luZm9DbG9zZSB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG5cbiAgICAjc2VhcmNoSWNvbiB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgI3NlYXJjaEljb24ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnZlcmhhbGVuLW92ZXJ6aWNodCB7XG4gICAgLnN0b3JpZXMge1xuICAgICAgICAmX19pdGVtIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYWlsZXIoMik7XG4gICAgICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQtbWVkaXVtLCAkc3VzeS1sYXJnZSkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4oNik7XG4gICAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgybisyKSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4obGFzdCA2KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuY29udGFjdCB7XG4gICAgLmJyZWFkY3J1bWJzIHtcbiAgICAgICAgQGluY2x1ZGUgbGVhZGVyKDEpO1xuICAgIH1cbiAgICBoMSB7XG4gICAgICAgIGNvbG9yOiBwYWxldHRlKGJsdWUpO1xuICAgIH1cbiAgICBhcnRpY2xlIHtcbiAgICAgICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LWxhcmdlLCAkc3VzeS1sYXJnZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgcHJlKDMpO1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbig2KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubWFwcyB7XG4gICAgICAgIGhlaWdodDogNDAwcHg7XG4gICAgICAgIEBpbmNsdWRlIHRyYWlsZXIoMSk7XG4gICAgfVxuICAgIC5jb250YWN0Rm9ybSB7XG4gICAgICAgIEBpbmNsdWRlIHRyYWlsZXIoMSk7XG4gICAgfVxuICAgIC50YWIge1xuICAgICAgICAmX19jb250ZW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgIEBleHRlbmQgLmJ1dHRvbjtcbiAgICAgICAgICAgICAgICBAZXh0ZW5kIC5idXR0b25fX3ByaW1hcnk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuaG9tZSB7XG4gICAgQGluY2x1ZGUgc3VzeS1icmVha3BvaW50KCRicmVha3BvaW50LW1lZGl1bSwgJHN1c3ktbGFyZ2UpIHtcbiAgICAgICAgLmFib3V0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4oNik7XG4gICAgICAgIH1cblxuICAgICAgICAubmV3cyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuKGxhc3QgNik7XG4gICAgICAgIH1cblxuICAgICAgICAuYmVuZWZpdHMge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbig2KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zdG9yaWVzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4obGFzdCA2KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5wcmFrdGlqa2VuIHtcbiAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQtbWVkaXVtLCAkc3VzeS1sYXJnZSkge1xuICAgICAgICAuYWJvdXQge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbig2KTtcbiAgICAgICAgfVxuICAgICAgICAuZW1wbG95ZWVzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4obGFzdCA2KTtcbiAgICAgICAgICAgIGgzIGEge1xuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZW1wbG95ZWUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4oMiBvZiA2KTtcbiAgICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKDNuKzMpIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc3BhbihsYXN0IDIgb2YgNik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmRpZXJzb29ydGVuLW92ZXJ6aWNodCxcbi5kaWVyc29vcnRlbi1lbnRyeSB7XG4gICAgLmFuaW1hbHMsXG4gICAgLnNwZWNpYWxpc20ge1xuICAgICAgICBAaW5jbHVkZSBsZWFkZXIoLTIpO1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQtbWVkaXVtLCAkc3VzeS1sYXJnZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGVhZGVyKC0xLjUpO1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbig2KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuYm9keVRleHQge1xuICAgICAgICBAaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQtbWVkaXVtLCAkc3VzeS1sYXJnZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3BhbihsYXN0IDYpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5zdG9yaWVzIHtcbiAgICAgICAgQGluY2x1ZGUgbGVhZGVyKDIpO1xuICAgIH1cbn1cbiJdfQ== */
