@layer reset;
@layer base;
/* stylelint-disable */
:root {
  --iti-hover-color: rgba(0, 0, 0, 0.05);
  --iti-border-color: #ccc;
  --iti-dialcode-color: #999;
  --iti-dropdown-bg: white;
  --iti-search-icon-color: #999;
  --iti-spacer-horizontal: 8px;
  --iti-flag-height: 12px;
  --iti-flag-width: 16px;
  --iti-border-width: 1px;
  --iti-arrow-height: 4px;
  --iti-arrow-width: 6px;
  --iti-triangle-border: calc(var(--iti-arrow-width) / 2);
  --iti-arrow-padding: 6px;
  --iti-arrow-color: #555;
  --iti-path-flags-1x: url("../img/flags.webp");
  --iti-path-flags-2x: url("../img/flags@2x.webp");
  --iti-path-globe-1x: url("../img/globe.webp");
  --iti-path-globe-2x: url("../img/globe@2x.webp");
  --iti-flag-sprite-width: 3904px;
  --iti-flag-sprite-height: 12px;
  --iti-mobile-popup-margin: 30px;
}

.iti {
  position: relative;
  display: inline-block;
}

.iti * {
  box-sizing: border-box;
}

.iti__a11y-text {
  width: 1px;
  height: 1px;
  clip: rect(1px, 1px, 1px, 1px);
  overflow: hidden;
  position: absolute;
}

.iti input.iti__tel-input,
.iti input.iti__tel-input[type=text],
.iti input.iti__tel-input[type=tel] {
  position: relative;
  z-index: 0;
  margin: 0 !important;
}

[dir=rtl] .iti input.iti__tel-input,
[dir=rtl] .iti input.iti__tel-input[type=text],
[dir=rtl] .iti input.iti__tel-input[type=tel] {
  text-align: right;
}

.iti__country-container {
  position: absolute;
  top: 0;
  bottom: 0;
  padding: var(--iti-border-width);
}

.iti__selected-country {
  z-index: 1;
  position: relative;
  display: flex;
  align-items: center;
  height: 100%;
  background: none;
  border: 0;
  margin: 0;
  padding: 0;
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  border-radius: 0;
  font-weight: inherit;
  line-height: inherit;
  text-decoration: none;
}

.iti__selected-country-primary {
  display: flex;
  align-items: center;
  height: 100%;
  padding: 0 var(--iti-arrow-padding) 0 var(--iti-spacer-horizontal);
}

.iti__arrow {
  margin-left: var(--iti-arrow-padding);
  width: 0;
  height: 0;
  border-left: var(--iti-triangle-border) solid transparent;
  border-right: var(--iti-triangle-border) solid transparent;
  border-top: var(--iti-arrow-height) solid var(--iti-arrow-color);
}

[dir=rtl] .iti__arrow {
  margin-right: var(--iti-arrow-padding);
  margin-left: 0;
}

.iti__arrow--up {
  border-top: none;
  border-bottom: var(--iti-arrow-height) solid var(--iti-arrow-color);
}

.iti__dropdown-content {
  border-radius: 3px;
  background-color: var(--iti-dropdown-bg);
}

.iti--inline-dropdown .iti__dropdown-content {
  position: absolute;
  z-index: 2;
  margin-top: 3px;
  margin-left: calc(var(--iti-border-width) * -1);
  border: var(--iti-border-width) solid var(--iti-border-color);
  box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.2);
}

.iti__search-input {
  width: 100%;
  border-width: 0;
  border-radius: 3px;
  padding-left: 30px;
  padding-right: 28px;
}

[dir=rtl] .iti__search-input {
  padding-left: inherit;
  padding-right: 30px;
  background-position: right 8px center;
}

.iti__search-input + .iti__country-list {
  border-top: 1px solid var(--iti-border-color);
}

.iti__search-input::-webkit-search-cancel-button {
  -webkit-appearance: none;
          appearance: none;
}

.iti__search-input-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

.iti__search-icon {
  position: absolute;
  left: 8px;
  display: flex;
  pointer-events: none;
}

[dir=rtl] .iti__search-icon {
  left: auto;
  right: 8px;
}

.iti__search-icon-svg {
  stroke: var(--iti-search-icon-color);
  fill: none;
  stroke-width: 3;
}

.iti__search-clear {
  position: absolute;
  right: 4px;
  background: transparent;
  border: 0;
  border-radius: 3px;
  cursor: pointer;
  padding: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.15s ease;
  width: 24px;
  height: 24px;
}

.iti__search-clear .iti__search-clear-x {
  stroke-width: 2;
}

.iti__search-clear .iti__search-clear-bg {
  fill: var(--iti-search-icon-color);
}

[dir=rtl] .iti__search-clear {
  right: auto;
  left: 4px;
}

.iti__search-clear:hover, .iti__search-clear:focus-visible {
  background: var(--iti-hover-color);
  outline: none;
}

.iti__no-results {
  text-align: center;
  padding: 30px 0;
}

.iti__country-list {
  list-style: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
}

.iti--inline-dropdown .iti__country-list {
  max-height: 185px;
}

.iti--flexible-dropdown-width .iti__country-list {
  white-space: nowrap;
}

@media (max-width: 500px) {
  .iti--flexible-dropdown-width .iti__country-list {
    white-space: normal;
  }
}
.iti__country {
  display: flex;
  align-items: center;
  padding: 8px var(--iti-spacer-horizontal);
  outline: none;
}

.iti__dial-code {
  color: var(--iti-dialcode-color);
}

.iti__country.iti__highlight {
  background-color: var(--iti-hover-color);
}

.iti__country-list .iti__flag, .iti__country-name {
  margin-right: var(--iti-spacer-horizontal);
}

[dir=rtl] .iti__country-list .iti__flag, [dir=rtl] .iti__country-name {
  margin-right: 0;
  margin-left: var(--iti-spacer-horizontal);
}

.iti--allow-dropdown .iti__country-container:not(:has(+ input[disabled])):not(:has(+ input[readonly])) button.iti__selected-country {
  cursor: pointer;
}

.iti--allow-dropdown .iti__country-container:not(:has(+ input[disabled])):not(:has(+ input[readonly])) .iti__selected-country-primary:hover,
.iti--allow-dropdown .iti__country-container:not(:has(+ input[disabled])):not(:has(+ input[readonly])) .iti__selected-country:has(+ .iti__dropdown-content:hover) .iti__selected-country-primary {
  background-color: var(--iti-hover-color);
}

.iti .iti__selected-dial-code {
  margin-left: 4px;
}

[dir=rtl] .iti .iti__selected-dial-code {
  margin-left: 0;
  margin-right: 4px;
}

.iti--container {
  position: fixed;
  top: -1000px;
  left: -1000px;
  z-index: 1060;
  padding: var(--iti-border-width);
}

.iti--container:hover {
  cursor: pointer;
}

.iti__hide {
  display: none;
}

.iti__v-hide {
  visibility: hidden;
}

.iti--fullscreen-popup.iti--container {
  background-color: rgba(0, 0, 0, 0.5);
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  position: fixed;
  padding: var(--iti-mobile-popup-margin);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.iti--fullscreen-popup .iti__dropdown-content {
  display: flex;
  flex-direction: column;
  max-height: 100%;
  position: relative;
}

.iti--fullscreen-popup .iti__country {
  padding: 10px 10px;
  line-height: 1.5em;
}

.iti__flag {
  --iti-flag-offset: 100px;
  height: var(--iti-flag-height);
  width: var(--iti-flag-width);
  border-radius: 1px;
  box-shadow: 0px 0px 1px 0px #888;
  background-image: var(--iti-path-flags-1x);
  background-repeat: no-repeat;
  background-position: var(--iti-flag-offset) 0;
  background-size: var(--iti-flag-sprite-width) var(--iti-flag-sprite-height);
}

.iti__ac {
  --iti-flag-offset: 0px;
}

.iti__ad {
  --iti-flag-offset: -16px;
}

.iti__ae {
  --iti-flag-offset: -32px;
}

.iti__af {
  --iti-flag-offset: -48px;
}

.iti__ag {
  --iti-flag-offset: -64px;
}

.iti__ai {
  --iti-flag-offset: -80px;
}

.iti__al {
  --iti-flag-offset: -96px;
}

.iti__am {
  --iti-flag-offset: -112px;
}

.iti__ao {
  --iti-flag-offset: -128px;
}

.iti__ar {
  --iti-flag-offset: -144px;
}

.iti__as {
  --iti-flag-offset: -160px;
}

.iti__at {
  --iti-flag-offset: -176px;
}

.iti__au {
  --iti-flag-offset: -192px;
}

.iti__aw {
  --iti-flag-offset: -208px;
}

.iti__ax {
  --iti-flag-offset: -224px;
}

.iti__az {
  --iti-flag-offset: -240px;
}

.iti__ba {
  --iti-flag-offset: -256px;
}

.iti__bb {
  --iti-flag-offset: -272px;
}

.iti__bd {
  --iti-flag-offset: -288px;
}

.iti__be {
  --iti-flag-offset: -304px;
}

.iti__bf {
  --iti-flag-offset: -320px;
}

.iti__bg {
  --iti-flag-offset: -336px;
}

.iti__bh {
  --iti-flag-offset: -352px;
}

.iti__bi {
  --iti-flag-offset: -368px;
}

.iti__bj {
  --iti-flag-offset: -384px;
}

.iti__bl {
  --iti-flag-offset: -400px;
}

.iti__bm {
  --iti-flag-offset: -416px;
}

.iti__bn {
  --iti-flag-offset: -432px;
}

.iti__bo {
  --iti-flag-offset: -448px;
}

.iti__bq {
  --iti-flag-offset: -464px;
}

.iti__br {
  --iti-flag-offset: -480px;
}

.iti__bs {
  --iti-flag-offset: -496px;
}

.iti__bt {
  --iti-flag-offset: -512px;
}

.iti__bw {
  --iti-flag-offset: -528px;
}

.iti__by {
  --iti-flag-offset: -544px;
}

.iti__bz {
  --iti-flag-offset: -560px;
}

.iti__ca {
  --iti-flag-offset: -576px;
}

.iti__cc {
  --iti-flag-offset: -592px;
}

.iti__cd {
  --iti-flag-offset: -608px;
}

.iti__cf {
  --iti-flag-offset: -624px;
}

.iti__cg {
  --iti-flag-offset: -640px;
}

.iti__ch {
  --iti-flag-offset: -656px;
}

.iti__ci {
  --iti-flag-offset: -672px;
}

.iti__ck {
  --iti-flag-offset: -688px;
}

.iti__cl {
  --iti-flag-offset: -704px;
}

.iti__cm {
  --iti-flag-offset: -720px;
}

.iti__cn {
  --iti-flag-offset: -736px;
}

.iti__co {
  --iti-flag-offset: -752px;
}

.iti__cr {
  --iti-flag-offset: -768px;
}

.iti__cu {
  --iti-flag-offset: -784px;
}

.iti__cv {
  --iti-flag-offset: -800px;
}

.iti__cw {
  --iti-flag-offset: -816px;
}

.iti__cx {
  --iti-flag-offset: -832px;
}

.iti__cy {
  --iti-flag-offset: -848px;
}

.iti__cz {
  --iti-flag-offset: -864px;
}

.iti__de {
  --iti-flag-offset: -880px;
}

.iti__dj {
  --iti-flag-offset: -896px;
}

.iti__dk {
  --iti-flag-offset: -912px;
}

.iti__dm {
  --iti-flag-offset: -928px;
}

.iti__do {
  --iti-flag-offset: -944px;
}

.iti__dz {
  --iti-flag-offset: -960px;
}

.iti__ec {
  --iti-flag-offset: -976px;
}

.iti__ee {
  --iti-flag-offset: -992px;
}

.iti__eg {
  --iti-flag-offset: -1008px;
}

.iti__eh {
  --iti-flag-offset: -1024px;
}

.iti__er {
  --iti-flag-offset: -1040px;
}

.iti__es {
  --iti-flag-offset: -1056px;
}

.iti__et {
  --iti-flag-offset: -1072px;
}

.iti__fi {
  --iti-flag-offset: -1088px;
}

.iti__fj {
  --iti-flag-offset: -1104px;
}

.iti__fk {
  --iti-flag-offset: -1120px;
}

.iti__fm {
  --iti-flag-offset: -1136px;
}

.iti__fo {
  --iti-flag-offset: -1152px;
}

.iti__fr {
  --iti-flag-offset: -1168px;
}

.iti__ga {
  --iti-flag-offset: -1184px;
}

.iti__gb {
  --iti-flag-offset: -1200px;
}

.iti__gd {
  --iti-flag-offset: -1216px;
}

.iti__ge {
  --iti-flag-offset: -1232px;
}

.iti__gf {
  --iti-flag-offset: -1248px;
}

.iti__gg {
  --iti-flag-offset: -1264px;
}

.iti__gh {
  --iti-flag-offset: -1280px;
}

.iti__gi {
  --iti-flag-offset: -1296px;
}

.iti__gl {
  --iti-flag-offset: -1312px;
}

.iti__gm {
  --iti-flag-offset: -1328px;
}

.iti__gn {
  --iti-flag-offset: -1344px;
}

.iti__gp {
  --iti-flag-offset: -1360px;
}

.iti__gq {
  --iti-flag-offset: -1376px;
}

.iti__gr {
  --iti-flag-offset: -1392px;
}

.iti__gt {
  --iti-flag-offset: -1408px;
}

.iti__gu {
  --iti-flag-offset: -1424px;
}

.iti__gw {
  --iti-flag-offset: -1440px;
}

.iti__gy {
  --iti-flag-offset: -1456px;
}

.iti__hk {
  --iti-flag-offset: -1472px;
}

.iti__hn {
  --iti-flag-offset: -1488px;
}

.iti__hr {
  --iti-flag-offset: -1504px;
}

.iti__ht {
  --iti-flag-offset: -1520px;
}

.iti__hu {
  --iti-flag-offset: -1536px;
}

.iti__id {
  --iti-flag-offset: -1552px;
}

.iti__ie {
  --iti-flag-offset: -1568px;
}

.iti__il {
  --iti-flag-offset: -1584px;
}

.iti__im {
  --iti-flag-offset: -1600px;
}

.iti__in {
  --iti-flag-offset: -1616px;
}

.iti__io {
  --iti-flag-offset: -1632px;
}

.iti__iq {
  --iti-flag-offset: -1648px;
}

.iti__ir {
  --iti-flag-offset: -1664px;
}

.iti__is {
  --iti-flag-offset: -1680px;
}

.iti__it {
  --iti-flag-offset: -1696px;
}

.iti__je {
  --iti-flag-offset: -1712px;
}

.iti__jm {
  --iti-flag-offset: -1728px;
}

.iti__jo {
  --iti-flag-offset: -1744px;
}

.iti__jp {
  --iti-flag-offset: -1760px;
}

.iti__ke {
  --iti-flag-offset: -1776px;
}

.iti__kg {
  --iti-flag-offset: -1792px;
}

.iti__kh {
  --iti-flag-offset: -1808px;
}

.iti__ki {
  --iti-flag-offset: -1824px;
}

.iti__km {
  --iti-flag-offset: -1840px;
}

.iti__kn {
  --iti-flag-offset: -1856px;
}

.iti__kp {
  --iti-flag-offset: -1872px;
}

.iti__kr {
  --iti-flag-offset: -1888px;
}

.iti__kw {
  --iti-flag-offset: -1904px;
}

.iti__ky {
  --iti-flag-offset: -1920px;
}

.iti__kz {
  --iti-flag-offset: -1936px;
}

.iti__la {
  --iti-flag-offset: -1952px;
}

.iti__lb {
  --iti-flag-offset: -1968px;
}

.iti__lc {
  --iti-flag-offset: -1984px;
}

.iti__li {
  --iti-flag-offset: -2000px;
}

.iti__lk {
  --iti-flag-offset: -2016px;
}

.iti__lr {
  --iti-flag-offset: -2032px;
}

.iti__ls {
  --iti-flag-offset: -2048px;
}

.iti__lt {
  --iti-flag-offset: -2064px;
}

.iti__lu {
  --iti-flag-offset: -2080px;
}

.iti__lv {
  --iti-flag-offset: -2096px;
}

.iti__ly {
  --iti-flag-offset: -2112px;
}

.iti__ma {
  --iti-flag-offset: -2128px;
}

.iti__mc {
  --iti-flag-offset: -2144px;
}

.iti__md {
  --iti-flag-offset: -2160px;
}

.iti__me {
  --iti-flag-offset: -2176px;
}

.iti__mf {
  --iti-flag-offset: -2192px;
}

.iti__mg {
  --iti-flag-offset: -2208px;
}

.iti__mh {
  --iti-flag-offset: -2224px;
}

.iti__mk {
  --iti-flag-offset: -2240px;
}

.iti__ml {
  --iti-flag-offset: -2256px;
}

.iti__mm {
  --iti-flag-offset: -2272px;
}

.iti__mn {
  --iti-flag-offset: -2288px;
}

.iti__mo {
  --iti-flag-offset: -2304px;
}

.iti__mp {
  --iti-flag-offset: -2320px;
}

.iti__mq {
  --iti-flag-offset: -2336px;
}

.iti__mr {
  --iti-flag-offset: -2352px;
}

.iti__ms {
  --iti-flag-offset: -2368px;
}

.iti__mt {
  --iti-flag-offset: -2384px;
}

.iti__mu {
  --iti-flag-offset: -2400px;
}

.iti__mv {
  --iti-flag-offset: -2416px;
}

.iti__mw {
  --iti-flag-offset: -2432px;
}

.iti__mx {
  --iti-flag-offset: -2448px;
}

.iti__my {
  --iti-flag-offset: -2464px;
}

.iti__mz {
  --iti-flag-offset: -2480px;
}

.iti__na {
  --iti-flag-offset: -2496px;
}

.iti__nc {
  --iti-flag-offset: -2512px;
}

.iti__ne {
  --iti-flag-offset: -2528px;
}

.iti__nf {
  --iti-flag-offset: -2544px;
}

.iti__ng {
  --iti-flag-offset: -2560px;
}

.iti__ni {
  --iti-flag-offset: -2576px;
}

.iti__nl {
  --iti-flag-offset: -2592px;
}

.iti__no {
  --iti-flag-offset: -2608px;
}

.iti__np {
  --iti-flag-offset: -2624px;
}

.iti__nr {
  --iti-flag-offset: -2640px;
}

.iti__nu {
  --iti-flag-offset: -2656px;
}

.iti__nz {
  --iti-flag-offset: -2672px;
}

.iti__om {
  --iti-flag-offset: -2688px;
}

.iti__pa {
  --iti-flag-offset: -2704px;
}

.iti__pe {
  --iti-flag-offset: -2720px;
}

.iti__pf {
  --iti-flag-offset: -2736px;
}

.iti__pg {
  --iti-flag-offset: -2752px;
}

.iti__ph {
  --iti-flag-offset: -2768px;
}

.iti__pk {
  --iti-flag-offset: -2784px;
}

.iti__pl {
  --iti-flag-offset: -2800px;
}

.iti__pm {
  --iti-flag-offset: -2816px;
}

.iti__pr {
  --iti-flag-offset: -2832px;
}

.iti__ps {
  --iti-flag-offset: -2848px;
}

.iti__pt {
  --iti-flag-offset: -2864px;
}

.iti__pw {
  --iti-flag-offset: -2880px;
}

.iti__py {
  --iti-flag-offset: -2896px;
}

.iti__qa {
  --iti-flag-offset: -2912px;
}

.iti__re {
  --iti-flag-offset: -2928px;
}

.iti__ro {
  --iti-flag-offset: -2944px;
}

.iti__rs {
  --iti-flag-offset: -2960px;
}

.iti__ru {
  --iti-flag-offset: -2976px;
}

.iti__rw {
  --iti-flag-offset: -2992px;
}

.iti__sa {
  --iti-flag-offset: -3008px;
}

.iti__sb {
  --iti-flag-offset: -3024px;
}

.iti__sc {
  --iti-flag-offset: -3040px;
}

.iti__sd {
  --iti-flag-offset: -3056px;
}

.iti__se {
  --iti-flag-offset: -3072px;
}

.iti__sg {
  --iti-flag-offset: -3088px;
}

.iti__sh {
  --iti-flag-offset: -3104px;
}

.iti__si {
  --iti-flag-offset: -3120px;
}

.iti__sj {
  --iti-flag-offset: -3136px;
}

.iti__sk {
  --iti-flag-offset: -3152px;
}

.iti__sl {
  --iti-flag-offset: -3168px;
}

.iti__sm {
  --iti-flag-offset: -3184px;
}

.iti__sn {
  --iti-flag-offset: -3200px;
}

.iti__so {
  --iti-flag-offset: -3216px;
}

.iti__sr {
  --iti-flag-offset: -3232px;
}

.iti__ss {
  --iti-flag-offset: -3248px;
}

.iti__st {
  --iti-flag-offset: -3264px;
}

.iti__sv {
  --iti-flag-offset: -3280px;
}

.iti__sx {
  --iti-flag-offset: -3296px;
}

.iti__sy {
  --iti-flag-offset: -3312px;
}

.iti__sz {
  --iti-flag-offset: -3328px;
}

.iti__tc {
  --iti-flag-offset: -3344px;
}

.iti__td {
  --iti-flag-offset: -3360px;
}

.iti__tg {
  --iti-flag-offset: -3376px;
}

.iti__th {
  --iti-flag-offset: -3392px;
}

.iti__tj {
  --iti-flag-offset: -3408px;
}

.iti__tk {
  --iti-flag-offset: -3424px;
}

.iti__tl {
  --iti-flag-offset: -3440px;
}

.iti__tm {
  --iti-flag-offset: -3456px;
}

.iti__tn {
  --iti-flag-offset: -3472px;
}

.iti__to {
  --iti-flag-offset: -3488px;
}

.iti__tr {
  --iti-flag-offset: -3504px;
}

.iti__tt {
  --iti-flag-offset: -3520px;
}

.iti__tv {
  --iti-flag-offset: -3536px;
}

.iti__tw {
  --iti-flag-offset: -3552px;
}

.iti__tz {
  --iti-flag-offset: -3568px;
}

.iti__ua {
  --iti-flag-offset: -3584px;
}

.iti__ug {
  --iti-flag-offset: -3600px;
}

.iti__us {
  --iti-flag-offset: -3616px;
}

.iti__uy {
  --iti-flag-offset: -3632px;
}

.iti__uz {
  --iti-flag-offset: -3648px;
}

.iti__va {
  --iti-flag-offset: -3664px;
}

.iti__vc {
  --iti-flag-offset: -3680px;
}

.iti__ve {
  --iti-flag-offset: -3696px;
}

.iti__vg {
  --iti-flag-offset: -3712px;
}

.iti__vi {
  --iti-flag-offset: -3728px;
}

.iti__vn {
  --iti-flag-offset: -3744px;
}

.iti__vu {
  --iti-flag-offset: -3760px;
}

.iti__wf {
  --iti-flag-offset: -3776px;
}

.iti__ws {
  --iti-flag-offset: -3792px;
}

.iti__xk {
  --iti-flag-offset: -3808px;
}

.iti__ye {
  --iti-flag-offset: -3824px;
}

.iti__yt {
  --iti-flag-offset: -3840px;
}

.iti__za {
  --iti-flag-offset: -3856px;
}

.iti__zm {
  --iti-flag-offset: -3872px;
}

.iti__zw {
  --iti-flag-offset: -3888px;
}

.iti__globe {
  background-image: var(--iti-path-globe-1x);
  background-size: contain;
  background-position: right;
  box-shadow: none;
  height: 19px;
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2x) {
  .iti__flag {
    background-image: var(--iti-path-flags-2x);
  }
  .iti__globe {
    background-image: var(--iti-path-globe-2x);
  }
}
/* stylelint-enable */
:root {
  --top-offset: 55px;
  --left-offset: 40px;
  --bottom-offset: 30px;
  --grid-gap: 5px;
  --main-sidebar: 250px;
  --navH: 300px;
  --navW: 740px;
  --nav-offset: 145px;
  --footer-height: 113px;
  --footer-width: 260px;
  --slide-sidebar: 135px;
  --slide-padding-right: 25px;
  --slide-top: 90px;
  --slide-content-top: 60px;
  --slide-padding-left: 25px;
}

/*---TEXT AND FONT---*/
/*---BACKGROUND---*/
/*---POSITIONING---*/
/*---CONTENT---*/
/*---LISTS---*/
/*---BORDER ARROWS---*/
/**Forms**/
/** DEFAULT OVERRIDES **/
@layer base {
  .fieldWrapper,
  .umbraco-forms-field.shortanswer,
  .umbraco-forms-field.date,
  .umbraco-forms-field.password {
    position: relative;
    max-width: 500px;
  }
  .fieldWrapper label:not(.checkboxLabel),
  .umbraco-forms-field.shortanswer label:not(.checkboxLabel),
  .umbraco-forms-field.date label:not(.checkboxLabel),
  .umbraco-forms-field.password label:not(.checkboxLabel) {
    line-height: 1;
    white-space: normal;
  }
  .fieldWrapper input:not([type=checkbox]):not([type=radio]),
  .umbraco-forms-field.shortanswer input:not([type=checkbox]):not([type=radio]),
  .umbraco-forms-field.date input:not([type=checkbox]):not([type=radio]),
  .umbraco-forms-field.password input:not([type=checkbox]):not([type=radio]) {
    -webkit-appearance: none;
            appearance: none;
    position: relative;
    white-space: normal;
    line-height: 1;
    min-width: 100%;
  }
  .fieldWrapper input::-ms-reveal,
  .fieldWrapper input::-ms-clear,
  .umbraco-forms-field.shortanswer input::-ms-reveal,
  .umbraco-forms-field.shortanswer input::-ms-clear,
  .umbraco-forms-field.date input::-ms-reveal,
  .umbraco-forms-field.date input::-ms-clear,
  .umbraco-forms-field.password input::-ms-reveal,
  .umbraco-forms-field.password input::-ms-clear {
    display: none;
  }
  .fieldWrapper .description,
  .umbraco-forms-field.shortanswer .description,
  .umbraco-forms-field.date .description,
  .umbraco-forms-field.password .description {
    margin-top: 6px;
    font-size: 0.84em;
    color: color-mix(in srgb, var(--basic) calc(0.85 * 100%), transparent);
  }
  .fieldWrapper textarea,
  .umbraco-forms-field.longanswer textarea {
    -webkit-appearance: none;
            appearance: none;
    position: relative;
    white-space: normal;
    line-height: 1;
    min-width: 100%;
  }
  .dropdownWrapper,
  .umbraco-forms-field.dropdown {
    position: relative;
    max-width: 500px;
  }
  .dropdownWrapper select,
  .umbraco-forms-field.dropdown select {
    -webkit-appearance: none;
            appearance: none;
    position: relative;
    white-space: normal;
    line-height: 1;
    min-width: 100%;
    background-image: url("data:image/svg+xml;utf8,<svg fill='black' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>");
    background-repeat: no-repeat;
    background-position: 100% 50%;
    background-size: 25px 50px;
  }
  .dropdownWrapper select::-ms-expand,
  .umbraco-forms-field.dropdown select::-ms-expand {
    display: none;
  }
  .controlWrapper,
  .adg-umbraco-forms-controlwrapper {
    border-bottom: 2px solid var(--light-grey);
    margin-bottom: 15px;
    padding-bottom: 10px;
  }
  .controlWrapper:last-child,
  .adg-umbraco-forms-controlwrapper:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: 0;
  }
  .controlWrapper .control,
  .adg-umbraco-forms-controlwrapper .control {
    display: flex;
    align-items: center;
  }
  .controlWrapper label,
  .adg-umbraco-forms-controlwrapper label {
    font-size: 1.2em;
    white-space: nowrap;
    cursor: pointer;
  }
  .controlWrapper .description,
  .adg-umbraco-forms-controlwrapper .description {
    margin-top: 6px;
    font-size: 0.84em;
    line-height: 1.3em;
    color: color-mix(in srgb, var(--basic) calc(0.85 * 100%), transparent);
  }
  .fieldWrapper.enrolleeName {
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    z-index: -1;
  }
  .styledFieldset,
  .umbraco-forms-fieldset {
    position: relative;
    border: 2px solid var(--light-grey);
    padding: 20px;
    background-color: color-mix(in srgb, var(--light-grey) calc(0.4 * 100%), transparent);
    border-radius: var(--radius);
    min-width: 0;
    width: 100%;
  }
  .styledFieldset legend,
  .styledFieldset .groupLegend,
  .umbraco-forms-fieldset legend,
  .umbraco-forms-fieldset .groupLegend {
    padding: 4px 8px;
    border-radius: var(--radius-sm);
    background-color: var(--basic);
    color: var(--basic-contrast);
  }
  .styledFieldset .groupLegend,
  .umbraco-forms-fieldset .groupLegend {
    position: relative;
    display: inline-block;
    margin: 0 auto 10px;
  }
  .styledFieldset .fieldsetGrid,
  .umbraco-forms-fieldset .fieldsetGrid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
  .styledFieldset .fieldsetGrid .fieldWrapper,
  .styledFieldset .fieldsetGrid .controlWrapper,
  .umbraco-forms-fieldset .fieldsetGrid .fieldWrapper,
  .umbraco-forms-fieldset .fieldsetGrid .controlWrapper {
    margin: 0;
  }
  .fieldWrapper,
  .umbraco-forms-field.shortanswer,
  .umbraco-forms-field.date,
  .umbraco-forms-field.password {
    margin: 10px auto;
  }
  .fieldWrapper label:not(.checkboxLabel),
  .umbraco-forms-field.shortanswer label:not(.checkboxLabel),
  .umbraco-forms-field.date label:not(.checkboxLabel),
  .umbraco-forms-field.password label:not(.checkboxLabel) {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 2;
    display: block;
    margin: 0 0 5px;
    border: 0;
    padding: 0;
    font-size: 0.8em;
    font-family: var(--primary-font);
    color: var(--basic);
  }
  .fieldWrapper input:not([type=checkbox]):not([type=radio]):not(.iti__search-input),
  .fieldWrapper textarea,
  .umbraco-forms-field.shortanswer input:not([type=checkbox]):not([type=radio]):not(.iti__search-input),
  .umbraco-forms-field.shortanswer textarea,
  .umbraco-forms-field.date input:not([type=checkbox]):not([type=radio]):not(.iti__search-input),
  .umbraco-forms-field.date textarea,
  .umbraco-forms-field.password input:not([type=checkbox]):not([type=radio]):not(.iti__search-input),
  .umbraco-forms-field.password textarea {
    position: relative;
    display: block;
    width: 100%;
    min-height: 48px;
    margin: 0;
    border: 2px solid var(--grey);
    padding: 23px 8px 6px;
    border-radius: var(--radius-sm);
    background-color: var(--light);
    text-align: left;
  }
  .fieldWrapper .showHide,
  .umbraco-forms-field.shortanswer .showHide,
  .umbraco-forms-field.date .showHide,
  .umbraco-forms-field.password .showHide {
    position: absolute;
    top: 0;
    right: 0;
    height: 53px;
    width: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    transform: scale(0.8);
    border-radius: var(--radius-sm);
    border: none;
    padding: 0;
    cursor: pointer;
    background-color: var(--brand-dark);
    color: var(--brand-dark-contrast);
  }
  @media (hover: hover) and (pointer: fine) {
    .fieldWrapper .showHide:hover,
    .umbraco-forms-field.shortanswer .showHide:hover,
    .umbraco-forms-field.date .showHide:hover,
    .umbraco-forms-field.password .showHide:hover {
      background-color: var(--brand-bright);
      color: var(--brand-bright-contrast);
    }
  }
  [data-browser=ie] .fieldWrapper .showHide:hover,
  [data-browser=ie] .umbraco-forms-field.shortanswer .showHide:hover,
  [data-browser=ie] .umbraco-forms-field.date .showHide:hover,
  [data-browser=ie] .umbraco-forms-field.password .showHide:hover {
    background-color: var(--brand-bright);
    color: var(--brand-bright-contrast);
  }
  .ie .fieldWrapper .showHide:hover,
  .ie .umbraco-forms-field.shortanswer .showHide:hover,
  .ie .umbraco-forms-field.date .showHide:hover,
  .ie .umbraco-forms-field.password .showHide:hover {
    background-color: var(--brand-bright);
    color: var(--brand-bright-contrast);
  }
  .fieldWrapper .showHide.focus-visible,
  .umbraco-forms-field.shortanswer .showHide.focus-visible,
  .umbraco-forms-field.date .showHide.focus-visible,
  .umbraco-forms-field.password .showHide.focus-visible {
    background-color: var(--brand-bright);
    color: var(--brand-bright-contrast);
  }
  .fieldWrapper .showHide:focus-visible,
  .umbraco-forms-field.shortanswer .showHide:focus-visible,
  .umbraco-forms-field.date .showHide:focus-visible,
  .umbraco-forms-field.password .showHide:focus-visible {
    background-color: var(--brand-bright);
    color: var(--brand-bright-contrast);
  }
  .fieldWrapper .showHide[aria-checked=true] .icon:after,
  .umbraco-forms-field.shortanswer .showHide[aria-checked=true] .icon:after,
  .umbraco-forms-field.date .showHide[aria-checked=true] .icon:after,
  .umbraco-forms-field.password .showHide[aria-checked=true] .icon:after {
    content: "";
    width: 3px;
    height: 20px;
    left: 0;
    right: 0;
    margin: auto;
    position: absolute;
    transform: skewX(-45deg);
    background: currentColor;
  }
  .fieldWrapper .showHide .icon,
  .umbraco-forms-field.shortanswer .showHide .icon,
  .umbraco-forms-field.date .showHide .icon,
  .umbraco-forms-field.password .showHide .icon {
    font-size: 1.2em;
  }
  .fieldWrapper #Password:focus + #requirements,
  .umbraco-forms-field.shortanswer #Password:focus + #requirements,
  .umbraco-forms-field.date #Password:focus + #requirements,
  .umbraco-forms-field.password #Password:focus + #requirements {
    max-height: 1000px;
  }
  .fieldWrapper #requirements,
  .umbraco-forms-field.shortanswer #requirements,
  .umbraco-forms-field.date #requirements,
  .umbraco-forms-field.password #requirements {
    list-style: none;
    padding: 10px 0 0 0;
    margin: 0;
    border-radius: var(--radius);
    overflow: hidden;
    max-height: 0;
    transition: max-height 800ms ease-in-out;
  }
  .fieldWrapper #requirements li,
  .umbraco-forms-field.shortanswer #requirements li,
  .umbraco-forms-field.date #requirements li,
  .umbraco-forms-field.password #requirements li {
    display: flex;
    align-items: center;
    font-size: 0.9em;
  }
  .fieldWrapper #requirements li.valid .icon,
  .umbraco-forms-field.shortanswer #requirements li.valid .icon,
  .umbraco-forms-field.date #requirements li.valid .icon,
  .umbraco-forms-field.password #requirements li.valid .icon {
    background-color: var(--correct);
    color: var(--correct-contrast);
    font-size: 0.88em;
    padding-top: 0.1em;
    padding-bottom: 0;
  }
  .fieldWrapper #requirements li .icon,
  .umbraco-forms-field.shortanswer #requirements li .icon,
  .umbraco-forms-field.date #requirements li .icon,
  .umbraco-forms-field.password #requirements li .icon {
    background-color: var(--wrong);
    color: var(--wrong-contrast);
    border-radius: 50%;
    margin-right: 5px;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    font-size: 0.95em;
    padding-bottom: 0.1em;
  }
  .dropdownWrapper label:not(.checkboxLabel),
  .umbraco-forms-field.dropdown label:not(.checkboxLabel) {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 2;
    display: block;
    margin: 0 0 5px;
    border: 0;
    padding: 0;
    font-size: 0.8em;
    font-family: var(--primary-font);
    color: var(--basic);
  }
  .dropdownWrapper select,
  .umbraco-forms-field.dropdown select {
    position: relative;
    display: block;
    width: 100%;
    min-height: 52px;
    margin: 0;
    border: 2px solid var(--grey);
    padding: 26px 45px 8px 8px;
    border-radius: var(--radius-sm);
    background-color: var(--light);
    text-align: left;
  }
  .umbraco-forms-field.longanswer textarea {
    position: relative;
    display: block;
    width: 100%;
    min-height: 56px;
    margin: 0;
    border: 2px solid var(--grey);
    padding: 6px 8px 6px;
    border-radius: var(--radius-sm);
    background-color: var(--light);
    text-align: left;
  }
  form .error,
  .formWrap .error {
    display: block;
    margin: 4px 0;
    padding: 2px 4px;
    text-align: center;
    background-color: var(--wrong);
    color: var(--wrong-contrast);
  }
  form .error:empty,
  .formWrap .error:empty {
    display: none;
  }
  @media (max-width: 670px) {
    .styledFieldset,
    .umbraco-forms-fieldset {
      padding: 10px;
    }
    .styledFieldset .fieldsetGrid,
    .umbraco-forms-fieldset .fieldsetGrid {
      grid-template-columns: none;
    }
  }
  @media (max-width: 520px) {
    .controlWrapper label {
      font-size: 1em;
      font-weight: 700;
      white-space: normal;
    }
  }
  @media (max-width: 450px) {
    .controlWrapper label {
      font-size: 0.9em;
    }
  }
}
.fieldWrapper .description > *:first-child,
.umbraco-forms-field.shortanswer .description > *:first-child,
.umbraco-forms-field.date .description > *:first-child,
.umbraco-forms-field.password .description > *:first-child {
  margin-top: 0 !important;
}
.fieldWrapper .description > *:last-child,
.umbraco-forms-field.shortanswer .description > *:last-child,
.umbraco-forms-field.date .description > *:last-child,
.umbraco-forms-field.password .description > *:last-child {
  margin-bottom: 0 !important;
}

.controlWrapper > *:first-child,
.adg-umbraco-forms-controlwrapper > *:first-child {
  margin-top: 0 !important;
}
.controlWrapper > *:last-child,
.adg-umbraco-forms-controlwrapper > *:last-child {
  margin-bottom: 0 !important;
}
.controlWrapper .description > *:first-child,
.adg-umbraco-forms-controlwrapper .description > *:first-child {
  margin-top: 0 !important;
}
.controlWrapper .description > *:last-child,
.adg-umbraco-forms-controlwrapper .description > *:last-child {
  margin-bottom: 0 !important;
}

.styledFieldset > :last-child,
.umbraco-forms-fieldset > :last-child {
  margin-bottom: 0 !important;
}

#requirements li.valid .icon:before {
  content: "a";
}

@layer reset {
  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }
  html {
    min-height: 100dvh;
    margin: 0;
    padding: 0;
    overflow: auto;
    -webkit-text-size-adjust: 100%;
  }
  body {
    margin: 0;
    padding: 0;
    text-rendering: optimizeSpeed;
    line-height: 1.1;
    font-size: 16px;
    position: absolute;
    width: 100%;
    height: 100dvh;
  }
  img {
    max-width: 100%;
    display: block;
    height: auto;
  }
  article > * + * {
    margin-top: 1em;
  }
  input,
  button,
  textarea,
  select {
    font: inherit;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    margin: 0;
    font-family: var(--primary-font);
  }
  p {
    margin: 0.35em 0 0.75em;
    line-height: 1.55em;
  }
  ol,
  ul {
    text-align: left;
    margin: 0.4em 0 0.75em;
  }
  ol ol, ol ul,
  ul ol,
  ul ul {
    padding-left: 20px;
  }
  li {
    line-height: 1.5em;
  }
  button {
    -webkit-appearance: none;
            appearance: none;
    margin: 0;
    border: 0;
    border-radius: 0;
    padding: 0;
    background: none;
    cursor: pointer;
  }
  iframe {
    border: none;
  }
}
@layer base {
  body {
    font-family: var(--basic-font);
  }
  a {
    color: var(--link);
    padding-left: 2px;
    padding-right: 2px;
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: 0.15s;
  }
  @media (hover: hover) and (pointer: fine) {
    a:hover {
      text-decoration: none;
    }
  }
  [data-browser=ie] a:hover {
    text-decoration: none;
  }
  .ie a:hover {
    text-decoration: none;
  }
  a.focus-visible {
    text-decoration: none;
  }
  a:focus-visible {
    text-decoration: none;
  }
  a .targetBlankNotifier {
    border: 0;
    -webkit-clip-path: rect(0 0 0 0);
            clip-path: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }
  a .icon-mail {
    font-size: 0.9em;
    transform: translateY(1px);
    display: inline-block;
    margin-right: 0.25em;
  }
  a .icon-external-link {
    margin-left: 0.25em;
    font-size: 0.8em;
  }
  [data-active-zone=home] {
    overscroll-behavior: contain;
  }
}
*:not(a:not([role=button])):focus-visible, *:not(a:not([role=button])).focus-visible {
  outline-color: var(--focus-outline-color) !important;
  outline-offset: var(--focus-outline-offset) !important;
  outline-style: var(--focus-outline-style) !important;
  outline-width: var(--focus-outline-width) !important;
  box-shadow: 0 0 0 var(--focus-outline-offset) var(--focus-shadow-color) !important;
}

.socialMediaLogins a:focus-visible,
.socialMediaLogins a.focus-visible {
  outline-color: var(--focus-outline-color) !important;
  outline-offset: var(--focus-outline-offset) !important;
  outline-style: var(--focus-outline-style) !important;
  outline-width: var(--focus-outline-width) !important;
  box-shadow: 0 0 0 var(--focus-outline-offset) var(--focus-shadow-color) !important;
}

body[data-reduce-animation=true] *,
body[data-reduce-animation=true] *::before,
body[data-reduce-animation=true] *::after {
  animation-duration: 0.01ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.01ms !important;
  scroll-behavior: auto !important;
}

.slideSkip,
.homeSkip,
.membershipSkip {
  border: 0;
  -webkit-clip-path: rect(0 0 0 0);
          clip-path: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  display: none;
}
.slideSkip.focus-visible,
.homeSkip.focus-visible,
.membershipSkip.focus-visible {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 999999999999999;
  width: auto;
  height: auto;
  margin: 0;
  padding: 10px;
  -webkit-clip-path: initial;
          clip-path: initial;
  text-decoration: none;
  text-align: center;
  background-color: var(--brand-bright);
  color: var(--brand-bright-contrast);
}
.slideSkip:focus-visible,
.homeSkip:focus-visible,
.membershipSkip:focus-visible {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 999999999999999;
  width: auto;
  height: auto;
  margin: 0;
  padding: 10px;
  -webkit-clip-path: initial;
          clip-path: initial;
  text-decoration: none;
  text-align: center;
  background-color: var(--brand-bright);
  color: var(--brand-bright-contrast);
}

[data-active-zone=home] .homeSkip {
  display: block;
}

[data-active-zone=slides] .slideSkip {
  display: block;
}

.membershipSkip {
  display: block;
}

html {
  scrollbar-gutter: stable;
}

willis-zone {
  display: block;
}

[inert] {
  overflow: hidden;
  pointer-events: none;
}

willis-dialog:not([data-open=true]) {
  display: none !important;
}

html[data-dialog-hide-overflow=true] {
  overflow: hidden !important;
}

@layer base {
  .dialogBackdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100dvw;
    height: 100dvh;
  }
  @supports (height: 100dvh) {
    .dialogBackdrop {
      height: 100dvh;
    }
  }
  .slide .dialogBackdrop {
    height: 100%;
  }
  .dialogInner {
    position: relative;
  }
  div[role=dialog] {
    position: relative;
    animation-fill-mode: both;
  }
  [data-dialog-style=modal] {
    display: flex;
    align-items: center;
    overflow-y: auto;
  }
  [data-dialog-style=modal] div[role=dialog] {
    width: 580px;
    margin: auto;
  }
  [data-dialog-style=modal] .dialogInner {
    overflow: hidden;
    border-radius: var(--radius);
  }
  [data-dialog-style=largeModal] {
    display: flex;
    align-items: center;
    overflow-y: auto;
  }
  [data-dialog-style=largeModal] div[role=dialog] {
    width: 800px;
    max-width: 100dvw;
    margin: auto;
  }
  [data-dialog-style=largeModal] .dialogInner {
    overflow: hidden;
    border-radius: var(--radius-lg);
  }
  [data-dialog-style=shade] {
    overflow-y: auto;
  }
  [data-dialog-style=shade] div[role=dialog] {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    text-align: center;
  }
  [data-dialog-style=shade] div[role=dialog] .dialogLabel {
    max-width: 800px;
  }
  [data-dialog-style=shade] div[role=dialog] .dialogContent {
    max-width: 800px;
  }
  [data-dialog-style=shade] div[role=dialog] .dialogActions {
    max-width: 800px;
  }
  [data-dialog-style=shade] .dialogInner {
    border-radius: 0 0 var(--radius) var(--radius);
  }
  [data-dialog-style^=sidebar] {
    display: flex;
    align-items: stretch;
    overflow-y: scroll;
    overflow-x: hidden;
  }
  [data-dialog-style^=sidebar][data-dialog-style=sidebarLeft] {
    justify-content: flex-start;
  }
  [data-dialog-style^=sidebar][data-dialog-style=sidebarRight] {
    justify-content: flex-end;
  }
  [data-dialog-style^=sidebar] div[role=dialog] {
    width: 440px;
  }
  [data-dialog-style^=full] {
    display: flex;
    align-items: stretch;
    overflow: hidden;
  }
  [data-dialog-style^=full] div[role=dialog] {
    overflow-y: scroll;
    width: 100%;
    height: 100%;
  }
  @media (max-width: 600px) {
    [data-dialog-style^=sidebar] div[role=dialog] {
      width: 100%;
      min-width: 0;
    }
    [data-dialog-style=modal] div[role=dialog] {
      width: 100%;
    }
  }
}
div[data-dialog-animation-speed=glacial] {
  animation-duration: 3000ms;
}

div[data-dialog-animation-speed=verySlow] {
  animation-duration: 1000ms;
}

div[data-dialog-animation-speed=slow] {
  animation-duration: 800ms;
}

div[data-dialog-animation-speed=medium] {
  animation-duration: 500ms;
}

div[data-dialog-animation-speed=fast] {
  animation-duration: 300ms;
}

div[data-dialog-animation-speed=veryFast] {
  animation-duration: 200ms;
}

.dialogBackdrop {
  animation-fill-mode: both;
  animation-duration: 200ms;
}
.dialogBackdrop.in {
  animation-name: fadeIn;
}
.dialogBackdrop.out {
  animation-name: fadeOut;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
div[data-dialog-animation-name=fadeIn] {
  animation-name: fadeIn;
}

@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
div[data-dialog-animation-name=fadeOut] {
  animation-name: fadeOut;
}

@keyframes fadeTopIn {
  from {
    opacity: 0;
    transform: translateY(-50%);
  }
  to {
    opacity: 1;
    transform: translateY(0%);
  }
}
div[data-dialog-animation-name=fadeTopIn] {
  animation-name: fadeTopIn;
}

@keyframes fadeTopOut {
  from {
    opacity: 1;
    transform: translateY(0%);
  }
  to {
    opacity: 0;
    transform: translateY(-50%);
  }
}
div[data-dialog-animation-name=fadeTopOut] {
  animation-name: fadeTopOut;
}

@keyframes fadeBottomIn {
  from {
    opacity: 0;
    transform: translateY(50%);
  }
  to {
    opacity: 1;
    transform: translateY(0%);
  }
}
div[data-dialog-animation-name=fadeBottomIn] {
  animation-name: fadeBottomIn;
}

@keyframes fadeBottomOut {
  from {
    opacity: 1;
    transform: translateY(0%);
  }
  to {
    opacity: 0;
    transform: translateY(50%);
  }
}
div[data-dialog-animation-name=fadeBottomOut] {
  animation-name: fadeBottomOut;
}

@keyframes fadeRightIn {
  from {
    opacity: 0;
    transform: translateX(50%);
  }
  to {
    opacity: 1;
    transform: translateX(0%);
  }
}
div[data-dialog-animation-name=fadeRightIn] {
  animation-name: fadeRightIn;
}

@keyframes fadeRightOut {
  from {
    opacity: 1;
    transform: translateX(0%);
  }
  to {
    opacity: 0;
    transform: translateX(50%);
  }
}
div[data-dialog-animation-name=fadeRightOut] {
  animation-name: fadeRightOut;
}

@keyframes fadeLeftIn {
  from {
    opacity: 0;
    transform: translateX(-50%);
  }
  to {
    opacity: 1;
    transform: translateX(0%);
  }
}
div[data-dialog-animation-name=fadeLeftIn] {
  animation-name: fadeLeftIn;
}

@keyframes fadeLeftOut {
  from {
    opacity: 1;
    transform: translateX(0%);
  }
  to {
    opacity: 0;
    transform: translateX(-50%);
  }
}
div[data-dialog-animation-name=fadeLeftOut] {
  animation-name: fadeLeftOut;
}

@keyframes slideTopIn {
  from {
    transform: translateY(-120%);
    opacity: 0;
  }
  to {
    transform: translateY(0%);
  }
}
div[data-dialog-animation-name=slideTopIn] {
  animation-name: slideTopIn;
}
@media (max-width: 820px) {
  div[data-dialog-animation-name=slideTopIn] {
    animation-name: slideBottomIn;
  }
}

@keyframes slideTopOut {
  from {
    transform: translateY(0%);
  }
  to {
    transform: translateY(-120%);
    opacity: 0;
  }
}
div[data-dialog-animation-name=slideTopOut] {
  animation-name: slideTopOut;
}

@keyframes slideBottomIn {
  from {
    transform: translateY(100%);
  }
  to {
    transform: translateY(0%);
  }
}
div[data-dialog-animation-name=slideBottomIn] {
  animation-name: slideBottomIn;
}

@keyframes slideBottomOut {
  from {
    transform: translateY(0%);
  }
  to {
    transform: translateY(150%);
  }
}
div[data-dialog-animation-name=slideBottomOut] {
  animation-name: slideBottomOut;
}

@keyframes slideRightIn {
  from {
    transform: translateX(100%);
  }
  to {
    transform: translateX(0%);
  }
}
div[data-dialog-animation-name=slideRightIn] {
  animation-name: slideRightIn;
}

@keyframes slideRightOut {
  from {
    transform: translateX(0%);
  }
  to {
    transform: translateX(100%);
  }
}
div[data-dialog-animation-name=slideRightOut] {
  animation-name: slideRightOut;
}

@keyframes slideLeftIn {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0%);
  }
}
div[data-dialog-animation-name=slideLeftIn] {
  animation-name: slideLeftIn;
}

@keyframes slideLeftOut {
  from {
    transform: translateX(0%);
  }
  to {
    transform: translateX(-100%);
  }
}
div[data-dialog-animation-name=slideLeftOut] {
  animation-name: slideLeftOut;
}

.dialogBackdrop {
  background: color-mix(in srgb, var(--black) calc(0.7 * 100%), transparent);
  scrollbar-color: var(--dark-grey) var(--light-grey);
}

.dialogContent {
  margin: 10px 0;
}

.dialogActions.generated button.closeDialog .icon:before {
  font-family: var(--icon-font);
  content: "b";
}

button.closeDialog {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  border: 1px solid var(--light);
  border-radius: var(--radius-circle);
  text-align: center;
  background-color: var(--brand-bright);
  color: var(--brand-bright-contrast);
  transition: all 200ms;
  text-decoration: none !important;
  cursor: pointer;
  padding: 0.5em 1em;
  font-size: 0.9em;
  font-weight: 700;
  text-transform: uppercase;
  border-radius: var(--radius-sm);
}
button.closeDialog .icon {
  display: none;
}
@media (hover: hover) and (pointer: fine) {
  button.closeDialog:hover {
    box-shadow: var(--shadow);
    background-color: var(--hover);
    color: var(--hover-contrast);
  }
}
[data-browser=ie] button.closeDialog:hover {
  box-shadow: var(--shadow);
  background-color: var(--hover);
  color: var(--hover-contrast);
}
.ie button.closeDialog:hover {
  box-shadow: var(--shadow);
  background-color: var(--hover);
  color: var(--hover-contrast);
}
button.closeDialog.focus-visible {
  box-shadow: var(--shadow);
  background-color: var(--hover);
  color: var(--hover-contrast);
}
button.closeDialog:focus-visible {
  box-shadow: var(--shadow);
  background-color: var(--hover);
  color: var(--hover-contrast);
}
button.closeDialog .icon:before {
  font-family: var(--icon-font);
  font-size: 1.5em;
  text-transform: lowercase;
  content: "b";
}

.dialogLabel h2 {
  margin-bottom: 15px;
}

[data-dialog-style=modal] {
  padding: 20px;
}
.safari [data-dialog-style=modal] {
  padding: 20px 20px 150px;
}
[data-dialog-style=modal] .dialogInner {
  border-radius: var(--radius);
  padding: 20px;
  text-align: center;
  background-color: var(--light);
  color: var(--light-contrast);
  box-shadow: inset 0 0 0 8px var(--secondary), 0 0 0 15px color-mix(in srgb, var(--light) calc(1 * 100%), transparent);
}

.safari [data-dialog-style=largeModal] {
  padding: 20px 20px 150px;
}
[data-dialog-style=largeModal] .dialogInner {
  border-radius: var(--radius);
  padding: 30px;
  background-color: var(--light);
  color: var(--light-contrast);
  box-shadow: inset 0 0 0 8px var(--secondary), 0 0 0 15px color-mix(in srgb, var(--light) calc(1 * 100%), transparent);
}
[data-dialog-style=largeModal] .dialogLabel {
  text-align: center;
  margin-bottom: 25px;
  border-bottom: 1px solid var(--brand-dark);
  padding: 5px 10px 20px;
  text-transform: uppercase;
}
[data-dialog-style=largeModal] .dialogLabel h2 {
  margin: 0;
  padding: 0;
  font-size: 1.25em;
  color: var(--brand-dark);
}

[data-dialog-style=shade] {
  padding-top: 40px;
}
[data-dialog-style=shade] .dialogInner {
  border-radius: 0 0 var(--radius) var(--radius);
  padding: 25px;
  background-color: var(--brand-dark);
  background-image: linear-gradient(175deg, var(--brand-dark) 40%, oklch(from var(--brand-dark) max(l - l * 0.05, 0) c h) 100%);
  color: var(--brand-dark-contrast);
  box-shadow: inset 0 0 0 3px var(--light), 0 0 0 10px color-mix(in srgb, var(--secondary) calc(1 * 100%), transparent);
}
[data-dialog-style=shade] .dialogInner .dialogLabel {
  text-align: center;
  text-transform: uppercase;
}
[data-dialog-style=shade] .dialogInner .dialogActions {
  padding-top: 10px;
  display: flex;
  justify-content: center;
  gap: 7px;
}
[data-dialog-style=shade] .dialogInner .closeDialog {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.8em 1.3em;
  border-width: 2px;
  border-radius: var(--radius-sm);
  border-style: solid;
  border-color: oklch(from var(--brand-bright) max(l - l * 0.1, 0) c h);
  line-height: 1.1em;
  text-align: center;
  font-family: var(--basic-font);
  font-weight: bold;
  outline-offset: 0;
  text-decoration: none;
  transition: all 0.1s;
  background-color: var(--brand-bright);
  color: var(--brand-bright-contrast);
  text-transform: uppercase;
}
[data-dialog-style=shade] .dialogInner .closeDialog .icon {
  font-family: var(--icon-font);
}
@media (hover: hover) and (pointer: fine) {
  [data-dialog-style=shade] .dialogInner .closeDialog:hover {
    transform: scale(1.03);
    text-decoration: none;
    background-color: var(--hover);
    color: var(--hover-contrast);
    border-color: oklch(from var(--hover) min(l + l * 0.2, 1) c h);
    cursor: pointer;
  }
}
[data-browser=ie] [data-dialog-style=shade] .dialogInner .closeDialog:hover {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) min(l + l * 0.2, 1) c h);
  cursor: pointer;
}
.ie [data-dialog-style=shade] .dialogInner .closeDialog:hover {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) min(l + l * 0.2, 1) c h);
  cursor: pointer;
}
[data-dialog-style=shade] .dialogInner .closeDialog.focus-visible {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) min(l + l * 0.2, 1) c h);
  cursor: pointer;
}
[data-dialog-style=shade] .dialogInner .closeDialog:focus-visible {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) min(l + l * 0.2, 1) c h);
  cursor: pointer;
}
[data-dialog-style=shade] .dialogInner .closeDialog[disabled], [data-dialog-style=shade] .dialogInner .closeDialog[aria-disabled=true] {
  opacity: 0.5;
  cursor: not-allowed;
}

[data-dialog-style^=sidebar] .dialogInner {
  min-height: 100%;
}
[data-dialog-style^=sidebar][data-dialog-style=sidebarLeft] .dialogInner {
  border-radius: 0 var(--radius) var(--radius) 0;
  padding: 20px;
}
[data-dialog-style^=sidebar][data-dialog-style=sidebarRight] .dialogInner {
  border-radius: var(--radius) 0 0 var(--radius);
  padding: 20px;
}

[data-dialog-style^=full] .dialogInner {
  padding: 20px;
}

.simpleDialog {
  background-color: var(--light);
  color: var(--light-contrast);
  border-radius: var(--radius);
}

#returnMessage .closeDialog .icon {
  display: none;
}

@media (max-width: 670px) {
  [data-dialog-style^=sidebar][data-dialog-style=sidebarLeft] .dialogInner {
    border-radius: 0;
  }
  [data-dialog-style^=sidebar][data-dialog-style=sidebarRight] .dialogInner {
    border-radius: 0;
  }
  [data-dialog-style=modal] div[role=dialog].reportNeeded {
    width: 100%;
  }
}
@keyframes zoomIn {
  from {
    transform: scale(1.2);
  }
  to {
    transform: scale(1.3);
  }
}
@keyframes zoomOut {
  from {
    transform: scale(1.2);
  }
  to {
    transform: scale(1.1);
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@layer base {
  #background [data-slideshow=zoomSlideshow].returnPause .bgImgWrapper:first-child {
    opacity: 1;
  }
  #background [data-slideshow=zoomSlideshow] .bgImgWrapper {
    opacity: 0;
    animation-duration: 0.85s;
    animation-timing-function: linear;
  }
  #background [data-slideshow=zoomSlideshow] .bgImgWrapper.current {
    animation-fill-mode: forwards;
    animation-name: fadeIn;
    z-index: 1;
  }
  #background [data-slideshow=zoomSlideshow] .bgImgWrapper.prev {
    animation-name: fadeOut;
    animation-fill-mode: forwards;
  }
  #background [data-slideshow=zoomSlideshow] .bgImgWrapper:nth-child(odd) .bgImg.trans {
    animation-name: zoomIn;
  }
  #background [data-slideshow=zoomSlideshow] .bgImgWrapper:nth-child(even) .bgImg.trans {
    animation-name: zoomOut;
  }
  #background [data-slideshow=zoomSlideshow] .bgImg {
    transform: scale(1.2);
    z-index: 1;
    animation-timing-function: linear;
    animation-duration: 10s;
    animation-fill-mode: forwards;
  }
  #background [data-slideshow=zoomSlideshow] .bgImg[data-bg-pos=center] {
    background-position: 50% 50%;
  }
  #background [data-slideshow=zoomSlideshow] .bgImg[data-bg-pos="center left"] {
    background-position: 10% 50%;
  }
  #background [data-slideshow=zoomSlideshow] .bgImg[data-bg-pos="center right"] {
    background-position: 90% 50%;
  }
  #background [data-slideshow=zoomSlideshow] .bgImg[data-bg-pos="top left"] {
    background-position: 10% 10%;
  }
  #background [data-slideshow=zoomSlideshow] .bgImg[data-bg-pos="top middle"] {
    background-position: 50% 10%;
  }
  #background [data-slideshow=zoomSlideshow] .bgImg[data-bg-pos="top right"] {
    background-position: 90% 10%;
  }
  #background [data-slideshow=zoomSlideshow] .bgImg[data-bg-pos="bottom left"] {
    background-position: 10% 90%;
  }
  #background [data-slideshow=zoomSlideshow] .bgImg[data-bg-pos="bottom middle"] {
    background-position: 50% 100%;
  }
  #background [data-slideshow=zoomSlideshow] .bgImg[data-bg-pos="bottom left"] {
    background-position: 90% 90%;
  }
  #background [data-slideshow=zoomSlideshow] .bgImg[data-animation=center] {
    transform-origin: center center;
  }
  #background [data-slideshow=zoomSlideshow] .bgImg[data-animation="top right"] {
    transform-origin: top right;
  }
  #background [data-slideshow=zoomSlideshow] .bgImg[data-animation="top left"] {
    transform-origin: top left;
  }
  #background [data-slideshow=zoomSlideshow] .bgImg[data-animation="bottom right"] {
    transform-origin: bottom right;
  }
  #background [data-slideshow=zoomSlideshow] .bgImg[data-animation="bottom left"] {
    transform-origin: bottom left;
  }
  #background [data-slideshow=zoomSlideshow].paused .bgImgWrapper.trans {
    animation-play-state: paused;
  }
  #background [data-slideshow=zoomSlideshow].paused .bgImg.trans {
    animation-play-state: paused;
  }
  #background .bgImg,
  #background .sectionBg {
    background-size: cover;
  }
  #background .bgImg[data-bg-pos="top left"],
  #background .sectionBg[data-bg-pos="top left"] {
    background-position: 0% 0%;
  }
  #background .bgImg[data-bg-pos="top middle"],
  #background .sectionBg[data-bg-pos="top middle"] {
    background-position: 50% 0;
  }
  #background .bgImg[data-bg-pos="top right"],
  #background .sectionBg[data-bg-pos="top right"] {
    background-position: 100% 0%;
  }
  #background .bgImg[data-bg-pos="center left"],
  #background .sectionBg[data-bg-pos="center left"] {
    background-position: 0% 50%;
  }
  #background .bgImg[data-bg-pos=center],
  #background .sectionBg[data-bg-pos=center] {
    background-position: 50% 50%;
  }
  #background .bgImg[data-bg-pos="center right"],
  #background .sectionBg[data-bg-pos="center right"] {
    background-position: 100% 50%;
  }
  #background .bgImg[data-bg-pos="bottom left"],
  #background .sectionBg[data-bg-pos="bottom left"] {
    background-position: 0% 100%;
  }
  #background .bgImg[data-bg-pos="bottom middle"],
  #background .sectionBg[data-bg-pos="bottom middle"] {
    background-position: 50% 100%;
  }
  #background .bgImg[data-bg-pos="bottom right"],
  #background .sectionBg[data-bg-pos="bottom right"] {
    background-position: 100% 100%;
  }
  #background video {
    object-fit: cover;
    background-color: var(--light-grey);
  }
}
[data-is-loading=true] #background {
  opacity: 0;
}

[data-active-dialog=checklist] #backgroundPlayBtn, [data-active-dialog=faq] #backgroundPlayBtn, [data-active-dialog=glossary] #backgroundPlayBtn, [data-active-dialog=achievements] #backgroundPlayBtn, [data-active-dialog=resources] #backgroundPlayBtn, [data-active-dialog=faqConfirmQuestionMessage] #backgroundPlayBtn, [data-active-dialog=faqQuestionSubmittedMessage] #backgroundPlayBtn {
  display: none;
}
[data-active-dialog=utilityMenu] #backgroundPlayBtn {
  display: none;
}
[data-active-zone=slides] #backgroundPlayBtn {
  display: none;
}
[data-is-loading=true] #backgroundPlayBtn {
  opacity: 0 !important;
}
#backgroundPlayBtn .icon-play {
  display: none;
}
#backgroundPlayBtn.pause .icon-play {
  display: block;
}
#backgroundPlayBtn.pause .icon-pause {
  display: none;
}

:root {
  --sq1FullW: 191px;
  --sq1W: 73px;
  --sq1H: 173px;
  --sq2FullH: 258px;
  --sq1Left: 102px;
  --rsp-right-offset: 0px;
}
:root .inSection {
  --sq1FullW: 106px;
  --sq1W: 40px;
  --sq1H: 97px;
  --sq2FullH: 305px;
  --footer-width: 175px;
  --footer-height: 80px;
  --sq1Left: 80px;
}
:root .sticky {
  --sq1FullW: 80px;
  --sq1W: 15px;
  --sq1H: 30px;
}

.backgroundMap {
  background: url("../../images/SF_Map_Texture.jpg") no-repeat;
  width: 34%;
  height: 100vh;
  background-size: cover;
  position: fixed;
  right: 0px;
  bottom: 0px;
  z-index: 0;
  transition: width 1s ease-out, opacity 0.5s;
}
.backgroundMap:after {
  content: "";
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #FFFFFF;
  background: linear-gradient(159deg, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0.2) 41%);
  transition: opacity 0.6s;
}
.menuOut .backgroundMap {
  width: 65%;
  opacity: 0.8;
}
.menuOut .backgroundMap:after {
  opacity: 1;
}
.squares .square {
  position: fixed;
  display: inline-block;
  background: var(--brand-bright);
  transition: all 0.6s, scale 0.5s 0.3s;
}
.squares.squareElementsTop {
  position: relative;
  z-index: 25;
}
.squares.squareElementsTop .sqTop {
  width: var(--sq1W);
}
.squares.squareElementsTop .sqBottom {
  height: var(--footer-height);
}
.squares.squareElementsTop .sqBottom:after {
  content: "";
  aspect-ratio: 1/1;
  height: 70px;
  background: var(--dark);
  bottom: 100%;
  left: 100%;
  position: absolute;
  transform-origin: top right;
  transition: scale 0.6s 1.25s;
  scale: 1;
}
[data-is-loading=true] .squares.squareElementsTop .sqBottom:after {
  scale: 0 !important;
  transition-delay: 1.25s;
}
.menuOut .squares.squareElementsTop .sqBottom:after {
  scale: 0;
  transition-delay: 0s;
}
.inSection .squares.squareElementsTop .sqBottom {
  display: none;
}
.squares .sqTop {
  height: var(--sq1H);
  width: var(--sq1FullW);
  top: 10px;
  left: var(--sq1Left);
  background: var(--brand-bright);
  transition-delay: 0.2s;
}
.inSection .squares .sqTop {
  top: 20px;
}
.sticky .squares .sqTop {
  transition-delay: 0s;
}
.squares .sqBottom {
  height: var(--sq2FullH);
  width: var(--footer-width);
  bottom: 5px;
  left: 0px;
  background: var(--accent);
}
.inSection .squares .sqBottom {
  bottom: 15px;
  left: 0px;
}

.orientationTitle {
  font-family: var(--secondary-font);
  text-transform: uppercase;
  color: var(--light);
  padding-left: var(--left-offset);
  display: flex;
  height: 100%;
  width: 100%;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-weight: 500;
  font-size: 1.6em;
  transition: opacity 0.75s;
}
.orientationTitle .word:last-of-type {
  letter-spacing: 0.025em;
}
.menuOut .orientationTitle {
  opacity: 0;
  pointer-events: none;
}
.inSection .orientationTitle {
  display: none;
}
[data-is-loading=true] .orientationTitle {
  opacity: 0;
  pointer-events: none;
  transition-delay: 1s;
}

#background {
  position: fixed;
  bottom: 0px;
  left: var(--left-offset);
  width: calc(100dvw - (var(--main-sidebar) + var(--left-offset)));
  height: calc(100dvh - var(--top-offset));
  transition: scale 1.5s 0.25s, bottom 1s, width 0.75s;
  z-index: 1;
  overflow: hidden;
  background-color: var(--light);
  transform-origin: bottom right;
  box-shadow: -1px 3px 9px 3px rgba(0, 0, 0, 0.49) inset;
}
[data-is-loading=true] #background {
  scale: 0;
}
.utilityMode #background {
  width: calc(100dvw - (var(--left-offset) + var(--utility-width) + 30px));
}
.menuOut #background {
  bottom: -100%;
}
#background .cover-slider,
#background video,
#background .mainBgImg {
  z-index: 2;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
#background .cover-slider:after,
#background video:after,
#background .mainBgImg:after {
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  box-shadow: -1px 3px 9px 3px rgba(0, 0, 0, 0.49) inset;
  content: "";
}
#background .sectionBgHolder {
  z-index: 1;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.menuOut #background .sectionBgHolder {
  z-index: 3;
}
#background .sectionBgHolder[data-section-bg-only=true] {
  opacity: 0;
  transition: opacity 0.5s;
}
.inSection #background .sectionBgHolder[data-section-bg-only=true] {
  opacity: 1;
}
#background .cover-slider .bgImg {
  width: 100%;
}
#background .bgImg,
#background .sectionBg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#background video {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

#backgroundPlayBtn {
  background: transparent;
  color: var(--brand-dark);
  width: var(--left-offset);
  height: 40px;
  position: fixed;
  top: 50%;
  translate: 0 -50%;
  position: fixed;
  left: 0px;
  z-index: 150;
  font-size: 1.4em;
}
[data-active-dialog=checklist] #backgroundPlayBtn, [data-active-dialog=faq] #backgroundPlayBtn, [data-active-dialog=glossary] #backgroundPlayBtn, [data-active-dialog=achievements] #backgroundPlayBtn, [data-active-dialog=resources] #backgroundPlayBtn, [data-active-dialog=faqConfirmQuestionMessage] #backgroundPlayBtn, [data-active-dialog=faqQuestionSubmittedMessage] #backgroundPlayBtn {
  display: none;
}
[data-active-dialog=utilityMenu] #backgroundPlayBtn {
  display: none;
}
[data-active-dialog=search] #backgroundPlayBtn {
  display: none;
}
[data-active-zone=slides] #backgroundPlayBtn {
  display: none;
}
[data-is-loading=true] #backgroundPlayBtn {
  opacity: 0 !important;
}
#backgroundPlayBtn .text {
  left: calc(100% + -2px);
  top: 50%;
  position: absolute;
  scale: 0.1;
  border: 2px solid var(--light);
  padding: 2px 7px;
  white-space: nowrap;
  opacity: 0;
  font-family: var(--secondary-font);
  font-weight: 500;
  text-transform: uppercase;
  box-shadow: var(--shadow);
  border-radius: var(--radius-xs);
  background-color: var(--light);
  color: var(--light-contrast);
  transition: all 500ms var(--timing-bounce);
  transform-origin: 0% 50%;
  translate: 0 -50%;
  pointer-events: none;
}
#backgroundPlayBtn .text:before {
  content: "";
  position: absolute;
  transition: all 500ms var(--timing-bounce);
  translate: 0 -50%;
  width: 10px;
  height: 10px;
  background-color: var(--light);
  top: 50%;
  right: 100%;
  height: 14px;
  -webkit-clip-path: polygon(0% 50%, 100% 0%, 100% 100%);
          clip-path: polygon(0% 50%, 100% 0%, 100% 100%);
}
#backgroundPlayBtn .text:after {
  content: "";
  position: absolute;
  transition: all 500ms var(--timing-bounce);
  translate: 0 -50%;
  width: 10px;
  height: 10px;
  background-color: var(--light);
  top: 50%;
  right: calc(100% - 2px);
  -webkit-clip-path: polygon(0% 50%, 100% 0%, 100% 100%);
          clip-path: polygon(0% 50%, 100% 0%, 100% 100%);
}
#backgroundPlayBtn .text {
  font-size: 0.8em;
}
#backgroundPlayBtn .icon-play {
  display: none;
}
#backgroundPlayBtn.pause .icon-play {
  display: block;
}
#backgroundPlayBtn.pause .icon-pause {
  display: none;
}
@media (hover: hover) and (pointer: fine) {
  #backgroundPlayBtn:hover {
    background: var(--primary);
    color: var(--light);
  }
  #backgroundPlayBtn:hover .text {
    opacity: 1;
    scale: 1;
  }
}
[data-browser=ie] #backgroundPlayBtn:hover {
  background: var(--primary);
  color: var(--light);
}
[data-browser=ie] #backgroundPlayBtn:hover .text {
  opacity: 1;
  scale: 1;
}
.ie #backgroundPlayBtn:hover {
  background: var(--primary);
  color: var(--light);
}
.ie #backgroundPlayBtn:hover .text {
  opacity: 1;
  scale: 1;
}
#backgroundPlayBtn.focus-visible {
  background: var(--primary);
  color: var(--light);
}
#backgroundPlayBtn.focus-visible .text {
  opacity: 1;
  scale: 1;
}
#backgroundPlayBtn:focus-visible {
  background: var(--primary);
  color: var(--light);
}
#backgroundPlayBtn:focus-visible .text {
  opacity: 1;
  scale: 1;
}

@media (max-width: 1425px) {
  :root .inSection {
    --sq1Left: 30px;
  }
}
@media (max-width: 1280px) {
  :root {
    --footer-height: 95px;
    --footer-width: 225px;
  }
  .squares.squareElementsTop .sqBottom:after {
    height: 50px;
  }
  .orientationTitle {
    font-size: 1.45em;
  }
}
@media (max-width: 1070px) {
  :root {
    --sq1Left: 70px;
    --sq1FullW: 140px;
    --sq1W: 45px;
    --sq1H: 135px;
    --footer-height: 80px;
    --footer-width: 170px;
    --sq2FullH: 215px;
  }
  .orientationTitle {
    font-size: 1.25em;
    padding-left: 15px;
  }
  .squares.squareElementsTop .sqBottom:after {
    height: 45px;
  }
}
@media (max-width: 950px) {
  :root {
    --sq1Left: 55px;
    --sq1FullW: 115px;
    --sq1W: 35px;
    --sq1H: 115px;
    --sq2FullH: 200px;
    --left-offset: 35px;
  }
  :root .inSection {
    --sq1FullW: 40px;
  }
}
@media (max-width: 950px) and (max-height: 650px) {
  :root .inSection {
    --footer-width: 0px;
  }
}
@media (max-width: 950px) {
  .squares .sqTop {
    top: 5px;
  }
  .orientationTitle {
    padding-left: 0px;
  }
  .squares.squareElementsTop .sqBottom:after {
    height: 40px;
  }
}
@media (max-width: 820px) and (min-height: 1px) {
  :root {
    --sq1Left: 0px;
    --sq1FullW: 65px;
    --sq1H: 115px;
    --sq2FullH: 200px;
    --left-offset: 35px;
    --sq1W: var(--left-offset);
  }
  #background {
    z-index: 3;
    width: calc(100dvw - (var(--rsp-right-offset) + var(--left-offset)));
    height: calc(100vh - (var(--top-offset) + var(--navH) - 20px));
    bottom: auto;
    top: var(--top-offset);
    transform-origin: top right;
  }
  .squareElementsBack .square {
    z-index: 2;
  }
  .squares .sqTop {
    top: 25px;
    transform-origin: top left;
  }
  [data-is-loading=true] .squares .sqTop {
    scale: 0;
  }
  .squares .sqBottom {
    z-index: 2;
    transform-origin: bottom left;
  }
  [data-is-loading=true] .squares .sqBottom {
    scale: 0;
  }
  .squares.squareElementsTop .sqBottom:after {
    display: none;
  }
  .backgroundMap {
    width: 100%;
  }
  #backgroundPlayBtn {
    translate: 0 -45%;
    top: 55%;
  }
}
@media (max-width: 820px) {
  .squares.squareElementsTop .sqBottom:after {
    display: none;
  }
}
@media (max-height: 725px) {
  #backgroundPlayBtn {
    translate: unset;
    top: calc(var(--top-offset) + var(--sq1H));
  }
}
@media (max-height: 390px) {
  #background {
    height: calc(100vh - (var(--top-offset) + var(--footer-height) / 3 - 0px));
    bottom: auto;
    top: calc(var(--top-offset) - 25px);
    transform-origin: top right;
  }
}
@media (max-height: 390px) and (max-width: 670px) {
  :root {
    --footer-width: 160px;
  }
}
@media (max-width: 520px) {
  :root .inSection {
    --sq1Left: 15px;
  }
}
@media (max-width: 450px) {
  :root {
    --sq1FullW: 45px;
  }
}
body {
  background: var(--light);
}

.buffer {
  position: relative;
  z-index: 120;
  min-height: calc(100vh - 55px);
}

#background.membershipBg video {
  width: calc(100% - 350px);
}

footer {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  height: 55px;
  padding: 0 15px;
  background: #000;
  z-index: 9999;
}
footer .adgLogoWrap a {
  display: block;
  background: black;
}
@media (hover: hover) and (pointer: fine) {
  footer .adgLogoWrap a:hover {
    border: 2px solid var(--light);
    background: var(--basic);
  }
}
[data-browser=ie] footer .adgLogoWrap a:hover {
  border: 2px solid var(--light);
  background: var(--basic);
}
.ie footer .adgLogoWrap a:hover {
  border: 2px solid var(--light);
  background: var(--basic);
}
footer .adgLogoWrap a:focus {
  border: 2px solid var(--light);
  background: var(--basic);
}
footer .adgLogoWrap .adgLogo {
  height: 38px;
  width: auto;
}

.socialMedia {
  max-width: 500px;
  width: 100%;
}
.socialMedia .socialMediaTitle {
  margin-bottom: 15px;
  font-weight: 400;
}
.socialMedia .socialMediaLogins {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.socialMedia .socialMediaLogins .facebookLogin {
  background: rgb(8, 102, 255) !important;
  color: white !important;
}
.socialMedia .socialMediaLogins .googleLogin {
  background: #ebebec !important;
  color: black !important;
}
.socialMedia .socialMediaLogins .twitterLogin {
  background: #14171a !important;
  color: white !important;
}
.socialMedia .socialMediaLogins .twitterLogin .text {
  border: 0;
  -webkit-clip-path: rect(0 0 0 0);
          clip-path: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
.socialMedia .socialMediaLogins .appleLogin {
  background: black !important;
  color: white !important;
}
.socialMedia .socialMediaLogins > a {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  text-decoration: none !important;
  border-radius: var(--radius);
  height: 50px;
  text-align: center;
  padding: 1em !important;
  border: 0px;
}
.socialMedia .socialMediaLogins > a .svgIcon {
  width: 16px;
  height: auto;
  margin-right: 7px;
}
.socialMedia .socialMediaLogins > a .text {
  font-weight: bold;
  font-size: 1.1em;
}
.socialMedia .socialMediaLogins .appleLogin {
  height: 45px;
  cursor: pointer;
}
.socialMedia .socialMediaLogins .appleLogin > div {
  max-width: 100% !important;
}

/*.loginWrapper[data-hidden-for-guest="true"] {
  display: none !important;
}*/
.guestWrapperHolder {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: all 800ms;
  text-align: left;
}

.fieldWrapper.enrolleeName {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  z-index: -1;
}

.fieldWrapper.phone #PhoneNumber {
  padding-left: 50px;
}
.fieldWrapper.phone .iti {
  width: 100%;
  color: var(--basic);
}
.fieldWrapper.phone .iti .iti__country-container {
  top: 18px;
  bottom: 1px;
}
.fieldWrapper.phone .iti .iti__selected-country {
  border-radius: var(--radius) 0 0 var(--radius);
}
.fieldWrapper.phone .iti .iti__dropdown-content {
  z-index: 3;
}

:root {
  --iti-path-flags-1x: url("/Images/flags.png");
  --iti-path-flags-2x: url("/Images/flags@2x.png");
  --iti-path-globe-1x: url("/Images/globe.png");
  --iti-path-globe-2x: url("/Images/globe@2x.png");
}

:root {
  --login-w: 600px;
  --login-header-height: 155px;
}

.membershipBuffer {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  width: 100%;
  padding-right: 30px;
  padding-top: 30px;
  filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.35));
}

#background {
  bottom: 0px;
  left: var(--left-offset);
  width: calc(100dvw - (var(--main-sidebar) + var(--left-offset)));
  height: calc(100dvh - var(--top-offset));
  box-shadow: -1px 3px 9px 3px rgba(0, 0, 0, 0.49) inset;
}

#backgroundPlayBtn {
  top: auto;
  bottom: 10px;
}

.loginTeaserVideo {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  left: 50px;
  right: 680px;
  z-index: 99;
}
.loginTeaserVideo .videoHolder {
  position: relative;
  overflow: hidden;
  height: 0;
  margin-bottom: 10px;
  padding: 56.25% 0 0;
  border-radius: var(--radius);
  background: var(--brand-dark) url("/images/load-screen.jpg") no-repeat;
  background-size: cover;
}
.loginTeaserVideo .videoHolder[data-vimeo-initialized] {
  background: var(--basic);
}
.loginTeaserVideo .videoHolder .player,
.loginTeaserVideo .videoHolder iframe {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  border: 0;
}

header {
  display: flex;
  min-height: var(--login-header-height);
  width: 100%;
  max-width: var(--login-w);
  width: 100%;
  border-bottom: 20px solid var(--brand-bright);
  background-color: var(--light);
  color: var(--light-contrast);
  padding: 25px 0px 20px;
  border-radius: var(--radius) var(--radius) 0 0;
  align-items: center;
}
header .branding {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  flex-grow: 1;
  height: 100%;
  padding: 0px 10px;
}
header .logoWrap {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  max-width: 315px;
  height: 70px;
  width: 100%;
}
header .logoWrap .logo {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
}
[data-logo-aspect=tall] header .logoWrap {
  height: 140px;
}
header .orientationTitle {
  font-size: 1.1em;
  text-transform: uppercase;
  color: var(--brand-dark);
  padding-top: 25px;
  padding-left: 0px;
  display: none;
}

#membership {
  --focus-outline-color: var(--brand-dark);
  --focus-shadow-color: var(--light);
  max-width: var(--login-w);
  width: 100%;
  flex-grow: 1;
  color: var(--brand-dark-contrast);
  background: var(--brand-dark);
  padding: 40px 25px 60px;
  border-radius: 0 0 var(--radius) var(--radius);
}
#membership .titleArea {
  position: relative;
  text-align: center;
  margin-bottom: 25px;
}
#membership .titleArea.accountProfiler h1 {
  font-size: 2em;
}
#membership .errorMessage,
#membership .field-validation-error {
  display: inline-block;
  text-align: center;
  background-color: var(--wrong);
  color: var(--wrong-contrast);
  max-width: 100%;
  font-weight: 600;
  padding: 5px 10px;
  margin: 2px auto 10px;
  border-radius: var(--radius);
  border: 1px solid color-mix(in srgb, var(--light) calc(0.4 * 100%), transparent);
}
#membership .loginNav {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  border-top: 1px solid color-mix(in srgb, var(--light) calc(0.3 * 100%), transparent);
  margin-top: 40px;
  padding-top: 15px;
  text-align: center;
  font-size: 0.9em;
  width: 100%;
}
#membership .loginNav a {
  background-color: transparent;
  color: var(--brand-dark-contrast);
  padding: 3px 5px;
  text-decoration: underline;
  border-bottom: 0px;
  text-underline-offset: 5px;
}
@media (hover: hover) and (pointer: fine) {
  #membership .loginNav a:hover {
    text-decoration: none;
  }
}
[data-browser=ie] #membership .loginNav a:hover {
  text-decoration: none;
}
.ie #membership .loginNav a:hover {
  text-decoration: none;
}
#membership .loginNav a:focus {
  outline: 2px solid var(--brand-dark-contrast);
  outline-offset: 2px;
}
#membership .loginNav > * {
  margin: 0 5px;
}
#membership .formWrap {
  margin-top: 10px;
  padding: 20px;
  text-align: center;
}
#membership .formWrap input[type=checkbox] {
  position: relative;
  margin: 0;
  cursor: pointer;
}
@supports ((-webkit-appearance: none) or (appearance: none)) {
  #membership .formWrap input[type=checkbox] {
    -webkit-appearance: none;
            appearance: none;
    width: 1em;
    height: 1em;
  }
  #membership .formWrap input[type=checkbox]:before {
    content: "";
    display: block;
    width: 1em;
    height: 1em;
    border-radius: 3px;
    border-style: solid;
    border-width: 2px;
    border-color: color-mix(in srgb, var(--brand-dark) calc(0.7 * 100%), transparent);
    transition: all 200ms;
  }
  #membership .formWrap input[type=checkbox]:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 1em;
    height: 1em;
    display: block;
    background-color: var(--brand-bright-contrast);
    -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9 IjAgMCAzMTYuMzggMjUwLjYiPjxwYXRoIGQ9Ik03MC40IDIxOS44YzQuNTUgNC44 NyA5LjIyIDkuNjcgMTQuMTIgMTQuMTkgMy43NSAzLjQ3IDcuNzEgNi44NSAxMS45 MyA5Ljc0IDUuNSAzLjc4IDExLjkyIDcuMDggMTguNzggNi44NSA2LjY2LS4yMyAx Mi43Ny0zLjczIDE3Ljk3LTcuNjIgOC42LTYuNDIgMTYuNjctMTUuMTcgMjMuODQt MjMuMTRMMzA1LjY4IDU0LjY5YzcuMi04IDExLjc5LTE4LjI1IDEwLjQ3LTI5LjE3 LTEuMDQtOC41OS01LjcxLTE2LjU1LTEzLjAxLTIxLjI5LTUuNjUtMy42Ny0xMi4y Ni00Ljk4LTE4LjktMy44Mi04LjkgMS41Ni0xNi41NCA3LjIyLTIyLjQ4IDEzLjc4 LTQ4LjM0IDUzLjMyLTk2LjU5IDEwNi43MS0xNDQuODUgMTYwLjExbC0zLjE5IDMu NTMtNjAuNC02Ni42M2MtOC40Mi05LjI5LTE5LjctMTMuOTQtMzEuOTItOS41Ny00 LjcyIDEuNjktOC45OSA0LjU4LTEyLjQ1IDguMTktMy44NiA0LjA0LTYuNzggOS4w Ni04LjEzIDE0LjQ5LTIuMzEgOS4yNy4zIDE4LjA3IDYuNjIgMjUuMTNsNjIuOTUg NzAuMzVaIiBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQiLz48L3N2Zz4K");
            mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9 IjAgMCAzMTYuMzggMjUwLjYiPjxwYXRoIGQ9Ik03MC40IDIxOS44YzQuNTUgNC44 NyA5LjIyIDkuNjcgMTQuMTIgMTQuMTkgMy43NSAzLjQ3IDcuNzEgNi44NSAxMS45 MyA5Ljc0IDUuNSAzLjc4IDExLjkyIDcuMDggMTguNzggNi44NSA2LjY2LS4yMyAx Mi43Ny0zLjczIDE3Ljk3LTcuNjIgOC42LTYuNDIgMTYuNjctMTUuMTcgMjMuODQt MjMuMTRMMzA1LjY4IDU0LjY5YzcuMi04IDExLjc5LTE4LjI1IDEwLjQ3LTI5LjE3 LTEuMDQtOC41OS01LjcxLTE2LjU1LTEzLjAxLTIxLjI5LTUuNjUtMy42Ny0xMi4y Ni00Ljk4LTE4LjktMy44Mi04LjkgMS41Ni0xNi41NCA3LjIyLTIyLjQ4IDEzLjc4 LTQ4LjM0IDUzLjMyLTk2LjU5IDEwNi43MS0xNDQuODUgMTYwLjExbC0zLjE5IDMu NTMtNjAuNC02Ni42M2MtOC40Mi05LjI5LTE5LjctMTMuOTQtMzEuOTItOS41Ny00 LjcyIDEuNjktOC45OSA0LjU4LTEyLjQ1IDguMTktMy44NiA0LjA0LTYuNzggOS4w Ni04LjEzIDE0LjQ5LTIuMzEgOS4yNy4zIDE4LjA3IDYuNjIgMjUuMTNsNjIuOTUg NzAuMzVaIiBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQiLz48L3N2Zz4K");
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: 60%;
            mask-size: 60%;
    -webkit-mask-position: 50% 50%;
            mask-position: 50% 50%;
    transition: all 200ms;
    opacity: 0;
  }
  #membership .formWrap input[type=checkbox]:checked:before {
    border-color: var(--brand-dark);
    background-color: var(--brand-bright);
  }
  #membership .formWrap input[type=checkbox]:checked:after {
    opacity: 1;
  }
  #membership .formWrap input[type=checkbox][disabled] {
    opacity: 0.3;
    cursor: not-allowed;
  }
  #membership .formWrap input[type=checkbox][disabled]:before {
    background-color: color-mix(in srgb, var(--basic) calc(0.8 * 100%), transparent);
  }
}
#membership .formWrap input[type=checkbox] ~ label,
#membership .formWrap input[type=radio] ~ label {
  padding-left: 0.35em;
}
#membership .formWrap input[type=radio] {
  font-size: 1.1em;
  position: relative;
  margin: 0;
  box-shadow: none;
  cursor: pointer;
}
@supports ((-webkit-appearance: none) or (appearance: none)) {
  #membership .formWrap input[type=radio] {
    -webkit-appearance: none;
            appearance: none;
    width: 1em;
    height: 1em;
  }
  #membership .formWrap input[type=radio]:before {
    content: "";
    display: block;
    width: 1em;
    height: 1em;
    border-style: solid;
    border-width: 2px;
    border-color: color-mix(in srgb, var(--brand-dark) calc(0.7 * 100%), transparent);
    border-radius: 50%;
    transition: all 200ms;
  }
  #membership .formWrap input[type=radio]:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 5;
    width: 0;
    height: 0;
    opacity: 0;
    border-radius: 50%;
    transition: all 200ms;
  }
  #membership .formWrap input[type=radio]:checked:before {
    border-color: var(--brand-dark);
    background-color: var(--hover);
  }
  #membership .formWrap input[type=radio]:checked:after {
    opacity: 1;
    background-color: var(--hover-contrast);
    width: 0.45em;
    height: 0.45em;
  }
  #membership .formWrap input[type=radio][disabled] {
    opacity: 0.3;
    cursor: not-allowed;
  }
  #membership .formWrap input[type=radio][disabled]:before {
    background-color: oklch(from var(--basic) min(l + l * 0.75, 1) c h);
  }
}
#membership .formWrap .styledFieldset {
  background-color: var(--light);
  color: var(--brand-dark);
}
#membership .formWrap .styledFieldset legend {
  text-transform: uppercase;
  background: var(--brand-dark);
  border-radius: var(--radius-sm);
  font-weight: 700;
  border: 2px solid var(--light);
}
#membership .formWrap.login {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 450px;
  width: 100%;
  margin: 0 auto;
}
#membership .formWrap.login .statusMessage {
  background-color: var(--black);
  color: var(--black-contrast);
  padding: 5px 10px;
  width: -webkit-fit-content;
  width: fit-content;
  margin: 10px auto;
}
#membership .formWrap.login .horzDivider {
  display: flex;
  align-items: center;
  width: 100%;
  margin: 0;
  justify-content: center;
}
#membership .formWrap.login .horzDivider .or {
  text-transform: uppercase;
  margin-left: 15px;
  margin-right: 15px;
  background: var(--brand-dark);
  padding: 10px;
  border-radius: var(--radius);
  translate: 0 20px;
  font-weight: 700;
}
#membership .formWrap.login .loginWrapper {
  width: 100%;
  border: 2px solid var(--brand-dark-contrast);
  border-radius: var(--radius);
  padding: 20px;
}
#membership .formWrap.login .loginWrapper .fieldWrapper {
  min-width: 280px;
}
#membership .formWrap.login .loginWrapper .field-validation-error {
  margin-top: 10px;
}
#membership .formWrap.login .loginWrapper h3 {
  font-weight: 400;
}
#membership .formWrap.login .employeeLogin {
  width: 100%;
  padding: 30px 20px;
  margin-top: 25px;
  line-height: 1.8;
  background-color: var(--brand-bright);
  color: var(--brand-bright-contrast);
  border-radius: var(--radius);
  text-align: center;
}
#membership .formWrap.login .employeeLogin h3 {
  color: currentColor;
  padding-bottom: 20px;
  line-height: 1;
}
#membership .formWrap.login .employeeLogin a {
  padding: 8px 16px;
  font-weight: 700;
  border-radius: var(--radius);
  text-decoration: none;
  background-color: var(--light);
  color: var(--light-contrast);
}
@media (hover: hover) and (pointer: fine) {
  #membership .formWrap.login .employeeLogin a:hover {
    background-color: var(--hover);
    color: var(--hover-contrast);
  }
}
[data-browser=ie] #membership .formWrap.login .employeeLogin a:hover {
  background-color: var(--hover);
  color: var(--hover-contrast);
}
.ie #membership .formWrap.login .employeeLogin a:hover {
  background-color: var(--hover);
  color: var(--hover-contrast);
}
#membership .formWrap.login .employeeLogin a.focus-visible {
  background-color: var(--hover);
  color: var(--hover-contrast);
}
#membership .formWrap.login .employeeLogin a:focus-visible {
  background-color: var(--hover);
  color: var(--hover-contrast);
}
#membership .formWrap.landingPage {
  padding-left: 0px;
  padding-right: 0px;
}
#membership .formWrap.landingPage .buttons {
  --graphic: 75px;
  --guest-graphic: 60px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  align-items: flex-start;
  gap: 25px;
  margin: 0 auto;
  max-width: 450px;
  width: 100%;
  padding: 0px 25px 0 0;
}
#membership .formWrap.landingPage .buttons a {
  position: relative;
  font-weight: 700;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  text-decoration: none;
  border: 2px solid var(--light);
  padding: 10px;
  padding-left: 0px;
  border-radius: var(--radius);
}
#membership .formWrap.landingPage .buttons a:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  scale: 0 0.25;
  transform-origin: 0% 50%;
  border-radius: var(--radius-circle);
  transition: all 500ms var(--timing-smooth-sm);
  background-color: var(--brand-bright);
}
#membership .formWrap.landingPage .buttons a:has(.image) {
  --graphic: 90px;
}
#membership .formWrap.landingPage .buttons a:has(.image) .image {
  height: 100%;
  width: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
  display: block;
}
#membership .formWrap.landingPage .buttons a:has(.image) .icon {
  display: none;
}
#membership .formWrap.landingPage .buttons a .text {
  font-size: 1.8em;
  position: relative;
  z-index: 3;
  transition: color 300ms;
}
#membership .formWrap.landingPage .buttons a .graphicHolder {
  min-width: var(--graphic);
  width: var(--graphic);
  aspect-ratio: 1/1;
  position: relative;
  z-index: 3;
}
#membership .formWrap.landingPage .buttons a .graphicHolder .icon,
#membership .formWrap.landingPage .buttons a .graphicHolder .image {
  border-radius: var(--radius-circle);
  border-width: 2px;
  border-style: solid;
}
#membership .formWrap.landingPage .buttons a .icon {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  font-size: 2.8em;
  transform-origin: center center;
  font-weight: normal;
  height: 100%;
  width: 100%;
  position: relative;
  overflow: hidden;
  transition: all 500ms var(--timing-smooth-sm), color 300ms;
}
#membership .formWrap.landingPage .buttons a .icon:before {
  font-family: var(--icon-font);
  text-transform: lowercase;
  content: "k";
  position: relative;
  z-index: 3;
}
#membership .formWrap.landingPage .buttons a .icon:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  scale: 0 0.25;
  transform-origin: center center;
  border-radius: var(--radius-circle);
  transition: all 500ms var(--timing-smooth-sm);
  background-color: var(--brand-bright);
}
#membership .formWrap.landingPage .buttons a.enrolleeLoginBtn {
  background: var(--brand-dark-contrast);
  color: var(--brand-dark);
}
#membership .formWrap.landingPage .buttons a.enrolleeLoginBtn .graphicHolder {
  translate: -20px 0px;
}
#membership .formWrap.landingPage .buttons a.enrolleeLoginBtn .icon {
  background: var(--brand-dark);
  border-color: var(--brand-dark-contrast);
  color: var(--brand-dark-contrast);
}
#membership .formWrap.landingPage .buttons a.enrolleeLoginBtn .icon:before {
  text-transform: uppercase;
  content: "C";
}
#membership .formWrap.landingPage .buttons a.guestLoginBtn {
  --graphic: var(--guest-graphic);
  background: var(--brand-dark);
  color: var(--brand-dark-contrast);
  gap: 10px;
  width: -webkit-fit-content;
  width: fit-content;
}
#membership .formWrap.landingPage .buttons a.guestLoginBtn .graphicHolder {
  min-width: var(--guest-graphic);
  width: var(--guest-graphic);
  translate: -20px 0px;
}
#membership .formWrap.landingPage .buttons a.guestLoginBtn .text {
  font-size: 1.5em;
  translate: -10px 0px;
  padding-right: 30px;
}
#membership .formWrap.landingPage .buttons a.guestLoginBtn .icon {
  border-color: var(--brand-dark-contrast);
  background: var(--brand-dark);
  color: var(--brand-dark-contrast);
  font-size: 2.5em;
}
@media (hover: hover) and (pointer: fine) {
  #membership .formWrap.landingPage .buttons a:hover .icon {
    color: var(--brand-bright-contrast);
    scale: 1.1;
  }
  #membership .formWrap.landingPage .buttons a:hover .icon:after {
    scale: 1 1;
  }
  #membership .formWrap.landingPage .buttons a:hover .text {
    color: var(--brand-bright-contrast);
  }
  #membership .formWrap.landingPage .buttons a:hover:after {
    border-radius: var(--radius);
    scale: 1 1;
  }
}
[data-browser=ie] #membership .formWrap.landingPage .buttons a:hover .icon {
  color: var(--brand-bright-contrast);
  scale: 1.1;
}
[data-browser=ie] #membership .formWrap.landingPage .buttons a:hover .icon:after {
  scale: 1 1;
}
[data-browser=ie] #membership .formWrap.landingPage .buttons a:hover .text {
  color: var(--brand-bright-contrast);
}
[data-browser=ie] #membership .formWrap.landingPage .buttons a:hover:after {
  border-radius: var(--radius);
  scale: 1 1;
}
.ie #membership .formWrap.landingPage .buttons a:hover .icon {
  color: var(--brand-bright-contrast);
  scale: 1.1;
}
.ie #membership .formWrap.landingPage .buttons a:hover .icon:after {
  scale: 1 1;
}
.ie #membership .formWrap.landingPage .buttons a:hover .text {
  color: var(--brand-bright-contrast);
}
.ie #membership .formWrap.landingPage .buttons a:hover:after {
  border-radius: var(--radius);
  scale: 1 1;
}
#membership .formWrap.landingPage .buttons a.focus-visible .icon {
  color: var(--brand-bright-contrast);
  scale: 1.1;
}
#membership .formWrap.landingPage .buttons a.focus-visible .icon:after {
  scale: 1 1;
}
#membership .formWrap.landingPage .buttons a.focus-visible .text {
  color: var(--brand-bright-contrast);
}
#membership .formWrap.landingPage .buttons a.focus-visible:after {
  border-radius: var(--radius);
  scale: 1 1;
}
#membership .formWrap.landingPage .buttons a:focus-visible .icon {
  color: var(--brand-bright-contrast);
  scale: 1.1;
}
#membership .formWrap.landingPage .buttons a:focus-visible .icon:after {
  scale: 1 1;
}
#membership .formWrap.landingPage .buttons a:focus-visible .text {
  color: var(--brand-bright-contrast);
}
#membership .formWrap.landingPage .buttons a:focus-visible:after {
  border-radius: var(--radius);
  scale: 1 1;
}
#membership .formWrap.accountProfiler {
  margin-top: 0;
  text-align: left;
}
#membership .formWrap.accountProfiler .profileSettingsExplainer,
#membership .formWrap.accountProfiler .profileErrorWrap {
  text-align: center;
}
#membership .formWrap.accountProfiler .errorMessage li {
  list-style-type: none;
}
#membership .formWrap.accountProfiler .instruction {
  margin-bottom: 20px;
  text-align: center;
}
#membership .formWrap.accountProfiler .accordionWrapper {
  background: none;
  color: var(--brand-dark-contrast);
}
#membership .formWrap.accountProfiler .styledFieldset {
  font-size: 0.9em;
  margin-bottom: 18px;
  padding-bottom: 18px;
}
#membership .formWrap.accountProfiler .styledFieldset .controlWrapper {
  border-bottom: 0 !important;
}
#membership .formWrap.accountProfiler .styledFieldset .controlWrapper:not(:last-child) {
  margin-bottom: 10px !important;
}
#membership .formWrap.accountProfiler .styledFieldset.phone .fieldWrapper {
  margin: 10px 0 15px;
  padding-bottom: 10px;
}
#membership .formWrap.accountProfiler .styledFieldset.phone .controlWrapper .control {
  border-bottom: 0;
}
#membership .formWrap.accountProfiler p.profileSelectExplainer {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  position: relative;
  text-align: left;
  background: var(--brand-bright);
  color: var(--brand-bright-contrast);
  padding: 8px 12px;
  margin: 0 auto 18px;
  border-radius: var(--radius);
}
#membership .formWrap.accountProfiler p.profileSelectExplainer:before {
  content: "";
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent;
  border-width: 7px calc(10px / 2) 0 calc(10px / 2);
  border-top-color: var(--brand-bright);
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  bottom: -6px;
}
#membership .formWrap.accountProfiler .buttonHolder {
  margin: 20px 0 20px;
}
#membership .formWrap.accountProfiler .resetAccountTypeBtn {
  border: 0;
  padding: 0;
  border-radius: 0;
  overflow: visible;
  font-size: 0.8em;
  border-bottom: 1px solid var(--brand-dark-contrast);
  cursor: pointer;
  color: var(--brand-dark);
  background-color: var(--brand-dark-contrast);
  transition: 200ms;
  background: none;
  color: var(--light);
  padding: 2px;
}
@media (hover: hover) and (pointer: fine) {
  #membership .formWrap.accountProfiler .resetAccountTypeBtn:hover {
    border-color: var(--brand-bright);
    color: var(--brand-bright);
    background-color: var(--brand-bright-contrast);
  }
}
[data-browser=ie] #membership .formWrap.accountProfiler .resetAccountTypeBtn:hover {
  border-color: var(--brand-bright);
  color: var(--brand-bright);
  background-color: var(--brand-bright-contrast);
}
.ie #membership .formWrap.accountProfiler .resetAccountTypeBtn:hover {
  border-color: var(--brand-bright);
  color: var(--brand-bright);
  background-color: var(--brand-bright-contrast);
}
#membership .formWrap.accountProfiler .resetAccountTypeBtn.focus-visible {
  border-color: var(--brand-bright);
  color: var(--brand-bright);
  background-color: var(--brand-bright-contrast);
}
#membership .formWrap.accountProfiler .resetAccountTypeBtn:focus-visible {
  border-color: var(--brand-bright);
  color: var(--brand-bright);
  background-color: var(--brand-bright-contrast);
}
#membership .formWrap.accountProfiler .accordionModule .accordionTitle {
  background-color: var(--light);
  color: var(--light-contrast);
}
#membership .formWrap.accountProfiler .accordionModule .accordionTitle .icon {
  color: var(--basic);
}
#membership .formWrap.twoFactor .singleFieldSubmission {
  display: flex;
  justify-content: center;
}
#membership .formWrap.twoFactor .singleFieldSubmission .fieldWrapper {
  margin: 0 10px 0 0;
}
#membership .formWrap.twoFactor .singleFieldSubmission button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.8em 1.3em;
  border-width: 2px;
  border-radius: var(--radius-sm);
  border-style: solid;
  border-color: oklch(from var(--brand-dark) max(l - l * 0.1, 0) c h);
  line-height: 1.1em;
  text-align: center;
  font-family: var(--basic-font);
  font-weight: bold;
  outline-offset: 0;
  text-decoration: none;
  transition: all 0.1s;
  background-color: var(--brand-dark);
  color: var(--brand-dark-contrast);
  text-transform: uppercase;
}
#membership .formWrap.twoFactor .singleFieldSubmission button .icon {
  font-family: var(--icon-font);
}
@media (hover: hover) and (pointer: fine) {
  #membership .formWrap.twoFactor .singleFieldSubmission button:hover {
    transform: scale(1.03);
    text-decoration: none;
    background-color: var(--hover);
    color: var(--hover-contrast);
    border-color: oklch(from var(--hover) min(l + l * 0.2, 1) c h);
    cursor: pointer;
  }
}
[data-browser=ie] #membership .formWrap.twoFactor .singleFieldSubmission button:hover {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) min(l + l * 0.2, 1) c h);
  cursor: pointer;
}
.ie #membership .formWrap.twoFactor .singleFieldSubmission button:hover {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) min(l + l * 0.2, 1) c h);
  cursor: pointer;
}
#membership .formWrap.twoFactor .singleFieldSubmission button.focus-visible {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) min(l + l * 0.2, 1) c h);
  cursor: pointer;
}
#membership .formWrap.twoFactor .singleFieldSubmission button:focus-visible {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) min(l + l * 0.2, 1) c h);
  cursor: pointer;
}
#membership .formWrap.twoFactor .singleFieldSubmission button[disabled], #membership .formWrap.twoFactor .singleFieldSubmission button[aria-disabled=true] {
  opacity: 0.5;
  cursor: not-allowed;
}
#membership .formWrap.twoFactor .singleFieldSubmission button {
  border-color: var(--light);
}
#membership .formWrap.twoFactor #TFAButtonApp {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.8em 1.3em;
  border-width: 2px;
  border-radius: var(--radius-sm);
  border-style: solid;
  border-color: oklch(from var(--brand-dark) max(l - l * 0.1, 0) c h);
  line-height: 1.1em;
  text-align: center;
  font-family: var(--basic-font);
  font-weight: bold;
  outline-offset: 0;
  text-decoration: none;
  transition: all 0.1s;
  background-color: var(--brand-dark);
  color: var(--brand-dark-contrast);
  text-transform: uppercase;
}
#membership .formWrap.twoFactor #TFAButtonApp .icon {
  font-family: var(--icon-font);
}
@media (hover: hover) and (pointer: fine) {
  #membership .formWrap.twoFactor #TFAButtonApp:hover {
    transform: scale(1.03);
    text-decoration: none;
    background-color: var(--hover);
    color: var(--hover-contrast);
    border-color: oklch(from var(--hover) min(l + l * 0.2, 1) c h);
    cursor: pointer;
  }
}
[data-browser=ie] #membership .formWrap.twoFactor #TFAButtonApp:hover {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) min(l + l * 0.2, 1) c h);
  cursor: pointer;
}
.ie #membership .formWrap.twoFactor #TFAButtonApp:hover {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) min(l + l * 0.2, 1) c h);
  cursor: pointer;
}
#membership .formWrap.twoFactor #TFAButtonApp.focus-visible {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) min(l + l * 0.2, 1) c h);
  cursor: pointer;
}
#membership .formWrap.twoFactor #TFAButtonApp:focus-visible {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) min(l + l * 0.2, 1) c h);
  cursor: pointer;
}
#membership .formWrap.twoFactor #TFAButtonApp[disabled], #membership .formWrap.twoFactor #TFAButtonApp[aria-disabled=true] {
  opacity: 0.5;
  cursor: not-allowed;
}
#membership .formWrap.twoFactor #TFAButtonApp {
  padding: 0.35em 0.5em;
  margin-bottom: 20px;
}
#membership .formWrap.twoFactor #TFAButtonEmail,
#membership .formWrap.twoFactor #OTPButton {
  border: 0;
  background: none;
  padding: 0 0 5px;
  margin-top: 15px;
  border-bottom: 1px solid var(--brand-dark-contrast);
  color: var(--brand-dark-contrast);
  cursor: pointer;
}
#membership .formWrap.twoFactor #TFAButtonEmail[data-wait-a-few=true],
#membership .formWrap.twoFactor #OTPButton[data-wait-a-few=true] {
  opacity: 0.6;
  cursor: not-allowed;
}
#membership .buttonHolder {
  text-align: center;
  padding-top: 15px;
}
#membership .buttonHolder button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.8em 1.3em;
  border-width: 2px;
  border-radius: var(--radius-sm);
  border-style: solid;
  border-color: oklch(from var(--brand-dark) max(l - l * 0.1, 0) c h);
  line-height: 1.1em;
  text-align: center;
  font-family: var(--basic-font);
  font-weight: bold;
  outline-offset: 0;
  text-decoration: none;
  transition: all 0.1s;
  background-color: var(--brand-dark);
  color: var(--brand-dark-contrast);
  text-transform: uppercase;
}
#membership .buttonHolder button .icon {
  font-family: var(--icon-font);
}
@media (hover: hover) and (pointer: fine) {
  #membership .buttonHolder button:hover {
    transform: scale(1.03);
    text-decoration: none;
    background-color: var(--hover);
    color: var(--hover-contrast);
    border-color: oklch(from var(--hover) min(l + l * 0.2, 1) c h);
    cursor: pointer;
  }
}
[data-browser=ie] #membership .buttonHolder button:hover {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) min(l + l * 0.2, 1) c h);
  cursor: pointer;
}
.ie #membership .buttonHolder button:hover {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) min(l + l * 0.2, 1) c h);
  cursor: pointer;
}
#membership .buttonHolder button.focus-visible {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) min(l + l * 0.2, 1) c h);
  cursor: pointer;
}
#membership .buttonHolder button:focus-visible {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) min(l + l * 0.2, 1) c h);
  cursor: pointer;
}
#membership .buttonHolder button[disabled], #membership .buttonHolder button[aria-disabled=true] {
  opacity: 0.5;
  cursor: not-allowed;
}
#membership .buttonHolder button {
  border-color: var(--light);
  margin: 0 auto;
}
#membership .styledFieldset {
  margin-bottom: 20px;
}
#membership .styledFieldset .groupLegend {
  padding: 4px 2px;
  margin-bottom: 5px;
}

.simpleDialog .closeDialog {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.8em 1.3em;
  border-width: 2px;
  border-radius: var(--radius-sm);
  border-style: solid;
  border-color: oklch(from var(--brand-dark) max(l - l * 0.1, 0) c h);
  line-height: 1.1em;
  text-align: center;
  font-family: var(--basic-font);
  font-weight: bold;
  outline-offset: 0;
  text-decoration: none;
  transition: all 0.1s;
  background-color: var(--brand-dark);
  color: var(--brand-dark-contrast);
  text-transform: uppercase;
}
.simpleDialog .closeDialog .icon {
  font-family: var(--icon-font);
}
@media (hover: hover) and (pointer: fine) {
  .simpleDialog .closeDialog:hover {
    transform: scale(1.03);
    text-decoration: none;
    background-color: var(--hover);
    color: var(--hover-contrast);
    border-color: oklch(from var(--hover) min(l + l * 0.2, 1) c h);
    cursor: pointer;
  }
}
[data-browser=ie] .simpleDialog .closeDialog:hover {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) min(l + l * 0.2, 1) c h);
  cursor: pointer;
}
.ie .simpleDialog .closeDialog:hover {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) min(l + l * 0.2, 1) c h);
  cursor: pointer;
}
.simpleDialog .closeDialog.focus-visible {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) min(l + l * 0.2, 1) c h);
  cursor: pointer;
}
.simpleDialog .closeDialog:focus-visible {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) min(l + l * 0.2, 1) c h);
  cursor: pointer;
}
.simpleDialog .closeDialog[disabled], .simpleDialog .closeDialog[aria-disabled=true] {
  opacity: 0.5;
  cursor: not-allowed;
}
.simpleDialog .closeDialog .icon {
  display: none;
}

#resetData button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.8em 1.3em;
  border-width: 2px;
  border-radius: var(--radius-sm);
  border-style: solid;
  border-color: oklch(from var(--brand-dark) max(l - l * 0.1, 0) c h);
  line-height: 1.1em;
  text-align: center;
  font-family: var(--basic-font);
  font-weight: bold;
  outline-offset: 0;
  text-decoration: none;
  transition: all 0.1s;
  background-color: var(--brand-dark);
  color: var(--brand-dark-contrast);
  text-transform: uppercase;
}
#resetData button .icon {
  font-family: var(--icon-font);
}
@media (hover: hover) and (pointer: fine) {
  #resetData button:hover {
    transform: scale(1.03);
    text-decoration: none;
    background-color: var(--hover);
    color: var(--hover-contrast);
    border-color: oklch(from var(--hover) min(l + l * 0.2, 1) c h);
    cursor: pointer;
  }
}
[data-browser=ie] #resetData button:hover {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) min(l + l * 0.2, 1) c h);
  cursor: pointer;
}
.ie #resetData button:hover {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) min(l + l * 0.2, 1) c h);
  cursor: pointer;
}
#resetData button.focus-visible {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) min(l + l * 0.2, 1) c h);
  cursor: pointer;
}
#resetData button:focus-visible {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) min(l + l * 0.2, 1) c h);
  cursor: pointer;
}
#resetData button[disabled], #resetData button[aria-disabled=true] {
  opacity: 0.5;
  cursor: not-allowed;
}

@media (max-width: 1280px) {
  .loginTeaserVideo {
    left: 20px;
    right: 650px;
  }
}
@media (max-width: 1070px) {
  .loginTeaserVideo {
    position: relative;
    left: auto;
    right: auto;
    top: auto;
    transform: none;
    width: 100%;
    padding: 0 6px 15px;
  }
}
@media (max-width: 950px) {
  :root {
    --login-w: 550px;
  }
  .membershipBuffer {
    align-items: center;
    padding-right: 20px;
    padding-left: 20px;
  }
  #background.membershipBg {
    width: 100%;
  }
  #background.membershipBg .bgImg,
  #background.membershipBg .sectionBg,
  #background.membershipBg video {
    height: 100%;
    width: 100%;
  }
}
@media (max-width: 670px) {
  #resetData button {
    width: 100%;
    margin-bottom: 8px;
  }
  #background.membershipBg {
    left: 0px;
    top: unset !important;
    width: 100dvw;
    height: 100dvh;
  }
  body:after {
    max-width: none;
  }
  header {
    max-width: 100%;
  }
  header .orientationTitle {
    padding-top: 15px;
  }
  [data-logo-aspect=tall] header .logoWrap {
    height: 100px;
  }
  #membership {
    max-width: 100%;
  }
  #membership .formWrap.landingPage .buttons {
    padding: 0px 25px 0 25px;
  }
  #membership .formWrap.landingPage .buttons a {
    width: 100%;
    margin: 0;
  }
  #membership .formWrap.landingPage .buttons a.guestLoginBtn, #membership .formWrap.landingPage .buttons a.enrolleeLoginBtn {
    width: 100%;
  }
}
@media (max-width: 520px) {
  .membershipBuffer {
    padding-left: 18px;
    padding-right: 18px;
  }
  #membership {
    padding: 20px 12px 60px;
  }
  #membership .formWrap {
    padding: 5px;
  }
  #membership .formWrap.landingPage .buttons {
    font-size: 0.8em;
    gap: 15px;
  }
}
@media (max-width: 450px) {
  #membership .formWrap.landingPage .buttons {
    --graphic: 65px;
    --guest-graphic: 52px;
    font-size: 0.7em;
  }
}
*[style*="font-weight: bold"] {
  font-weight: normal !important;
}

.rte {
  clear: both;
}
.rte h4,
.rte h5 {
  margin: 0.8em 0 0.5em;
}
.rte > *:first-child {
  margin-top: 0 !important;
}
.rte > *:last-child {
  margin-bottom: 0 !important;
}
.rte a.focus-visible {
  box-shadow: inset 0 0 0 2px black !important;
  text-decoration: none !important;
  border: 0 !important;
}
.rte a:focus-visible {
  box-shadow: inset 0 0 0 2px black !important;
  text-decoration: none !important;
  border: 0 !important;
}
.rte a:has(img) {
  position: relative;
  display: inline-flex;
  border: 0;
  padding: 0;
}
.rte a:has(img) .icon {
  position: absolute;
  top: 2px;
  right: 3px;
  padding: 6px;
  border-radius: var(--radius-sm);
  background-color: var(--brand-bright);
  color: var(--brand-bright-contrast);
  box-shadow: var(--shadow);
  transition: all 200ms;
}
@media (hover: hover) and (pointer: fine) {
  .rte a:has(img):hover .icon {
    background-color: var(--hover);
    color: var(--hover-contrast);
  }
}
[data-browser=ie] .rte a:has(img):hover .icon {
  background-color: var(--hover);
  color: var(--hover-contrast);
}
.ie .rte a:has(img):hover .icon {
  background-color: var(--hover);
  color: var(--hover-contrast);
}
.rte a:has(img).focus-visible .icon {
  background-color: var(--hover);
  color: var(--hover-contrast);
}
.rte a:has(img):focus-visible .icon {
  background-color: var(--hover);
  color: var(--hover-contrast);
}
.rte iframe {
  max-width: calc(100dvw - 80px);
  max-height: calc((100dvw - 80px) / 1.7778); /* 16:9 */
}
.rte img {
  margin: 10px;
}
.rte img[style*="float: right"] {
  margin: 0 0 20px 20px;
}
.rte img[style*="float: left"] {
  margin: 0 20px 20px 0px;
}
.rte img[style*="float: right"], .rte img[style*="float: left"] {
  max-width: 60%;
}
@media (max-width: 670px) {
  .rte img[style*="float: right"], .rte img[style*="float: left"] {
    max-width: 50%;
  }
}
@media (max-width: 520px), (max-width: 1070px) and (min-width: 821px) {
  .rte img[style*="float: right"], .rte img[style*="float: left"] {
    max-width: 100%;
    float: none !important;
    margin: 0 auto 8px;
  }
}
.rte figure:not(.termBbl) {
  margin: 20px 0px;
  border-radius: calc(var(--radius) + 5px - var(--border));
  border: var(--border) solid var(--grey);
  padding: 5px;
  display: inline-block;
}
.rte figure:not(.termBbl) img {
  float: none !important;
  margin: 0px !important;
  max-width: 100% !important;
  border-radius: var(--radius) var(--radius) 0px 0px;
}
.rte figure:not(.termBbl)[style*="text-align: right"] {
  float: right;
  margin: 0 0 20px 20px;
}
.rte figure:not(.termBbl)[style*="text-align: left"] {
  float: left;
  margin: 0 20px 20px 0px;
}
.rte figure:not(.termBbl)[style*="text-align: left"], .rte figure:not(.termBbl)[style*="text-align: right"] {
  text-align: left !important;
  max-width: 60%;
}
@media (max-width: 670px) {
  .rte figure:not(.termBbl)[style*="text-align: left"], .rte figure:not(.termBbl)[style*="text-align: right"] {
    max-width: 50%;
  }
}
@media (max-width: 520px), (max-width: 1070px) and (min-width: 821px) {
  .rte figure:not(.termBbl)[style*="text-align: left"], .rte figure:not(.termBbl)[style*="text-align: right"] {
    max-width: 100%;
    float: none !important;
    margin: 0 auto 8px;
  }
}
.rte figure:not(.termBbl) figcaption {
  font-weight: 400;
  padding: 10px;
  border-radius: 0px 0px var(--radius) var(--radius);
  background-color: var(--light-grey);
  color: var(--light-grey-contrast);
  font-size: 0.9em;
}
.rte ol[style="list-style-type: upper-alpha;"] > li:before, .rte ol[style="list-style-type: lower-alpha;"] > li:before, .rte ol[style="list-style-type: lower-greek;"] > li:before, .rte ol[style="list-style-type: upper-roman;"] > li:before, .rte ol[style="list-style-type: lower-roman;"] > li:before {
  display: none;
}
.rte .tableWrapper {
  overflow: auto;
  max-width: 100%;
  margin-bottom: 20px;
  background: linear-gradient(to right, var(--light) 30%, color-mix(in srgb, var(--light) calc(0 * 100%), transparent)), linear-gradient(to right, color-mix(in srgb, var(--light) calc(0 * 100%), transparent), var(--light) 70%) 0 100%, radial-gradient(farthest-side at 0% 50%, color-mix(in srgb, var(--black) calc(0.2 * 100%), transparent), color-mix(in srgb, var(--black) calc(0 * 100%), transparent)), radial-gradient(farthest-side at 100% 50%, color-mix(in srgb, var(--black) calc(0.2 * 100%), transparent), color-mix(in srgb, var(--black) calc(0 * 100%), transparent)) 0 100%;
  background-repeat: no-repeat;
  background-color: var(--light);
  background-size: 40px 100%, 40px 100%, 14px 100%, 14px 100%;
  background-position: 0 0, 100%, 0 0, 100%;
  background-attachment: local, local, scroll, scroll;
  container-type: inline-size;
}
.rte .tableWrapper table {
  min-width: 500px;
  margin-bottom: 5px;
  margin: 25px 0;
}
.rte .tableWrapper table caption {
  padding: 4px;
  font-weight: 700;
  background-color: var(--brand-dark);
  color: var(--brand-dark-contrast);
  text-transform: uppercase;
  padding: 7px;
  font-family: var(--primary-font);
}
.rte .tableWrapper table tr:nth-child(even) {
  background: color-mix(in srgb, var(--brand-bright) calc(0.17 * 100%), transparent);
}
.rte .tableWrapper table tr:nth-child(odd) {
  background: color-mix(in srgb, var(--brand-bright) calc(0.06 * 100%), transparent);
}
.rte .tableWrapper table th {
  padding: 7px;
  background-color: var(--brand-bright);
  color: var(--brand-bright-contrast);
  border-color: black;
  line-height: 1.4em;
  font-family: var(--primary-font);
}
.rte .tableWrapper table td {
  padding: 5px 7px;
  font-size: 0.95em;
}
.rte .tableWrapper table a {
  background: none;
}
.rte .tableWrapper .mobileScrollMessage {
  position: relative;
  display: none;
  margin-top: 8px;
  padding: 5px 8px;
  border-radius: var(--radius);
  background-color: var(--brand-dark);
  color: var(--brand-dark-contrast);
}
.rte .tableWrapper .mobileScrollMessage:before {
  content: "";
  position: absolute;
  bottom: 100%;
  left: calc(5px + var(--radius));
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 0 6px 8px 5px;
  border-color: transparent transparent var(--brand-dark) transparent;
}

@container (max-width: 500px) {
  .rte .tableWrapper .mobileScrollMessage {
    display: inline-block;
  }
}
@media (max-width: 670px) {
  .rte .tableWrapper .mobileScrollMessage {
    display: inline-block;
  }
}
.rte p,
#revealModalDialog .copyWrap p {
  margin: 0.35em 0 0.75em;
  line-height: 1.55em;
  font-family: var(--basic-font);
  font-size: 1em;
}
.rte h3.heading,
#revealModalDialog .copyWrap h3.heading {
  width: -webkit-fit-content;
  width: fit-content;
  margin: 20px 0 15px 0px;
  font-size: 1.8em;
  font-weight: 800;
  color: var(--brand-dark);
}
.rte .headingList,
.rte .subheadingList,
#revealModalDialog .copyWrap .headingList,
#revealModalDialog .copyWrap .subheadingList {
  margin-top: 20px;
  padding-bottom: 0.25em;
  font-weight: 700;
  letter-spacing: 0.015em;
  position: relative;
  padding-left: 25px;
  color: var(--dark);
  font-family: var(--primary-font);
  font-size: 1.3em;
}
.rte .headingList:before,
.rte .subheadingList:before,
#revealModalDialog .copyWrap .headingList:before,
#revealModalDialog .copyWrap .subheadingList:before {
  content: "";
  height: 12px;
  width: 12px;
  background: var(--accent);
  position: absolute;
  left: 0px;
  top: 5px;
}
.rte h4.subheading,
#revealModalDialog .copyWrap h4.subheading {
  margin: 0;
  padding-top: 15px;
  font-size: 1.45em;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: var(--secondary);
  padding-bottom: 0px;
  padding: 0px;
  position: relative;
  text-transform: uppercase;
  padding-left: 1px;
  margin-top: 30px;
  margin-bottom: 10px;
  font-family: var(--secondary-font);
  border-top: 1px solid var(--grey);
  padding-top: 15px;
  clear: both;
}
.rte h4.subheading:before,
#revealModalDialog .copyWrap h4.subheading:before {
  content: "";
  height: 100%;
  width: 12px;
  background: var(--grey);
  position: absolute;
  left: 0px;
  top: 0px;
  display: none;
}
.rte .largeText,
#revealModalDialog .copyWrap .largeText {
  position: relative;
  margin-bottom: 25px;
  display: block;
  font-size: 1.4em;
  line-height: 1.4em;
  font-family: var(--primary-font);
  font-weight: 400;
  color: var(--dark);
  border-radius: var(--radius-sm);
  overflow: hidden;
  box-shadow: 0px 0px 5px 3px rgba(0, 0, 0, 0.2) inset;
  background: white;
  padding: 25px;
}
.rte .largeText a,
#revealModalDialog .copyWrap .largeText a {
  background: none;
  color: var(--light-grey-contrast);
  border-bottom-width: 2px;
}
.rte .largeText:before,
#revealModalDialog .copyWrap .largeText:before {
  content: "";
  content: "";
  -webkit-clip-path: polygon(100% 0, 0% 100%, 100% 100%);
          clip-path: polygon(100% 0, 0% 100%, 100% 100%);
  height: 50%;
  max-height: 80px;
  aspect-ratio: 1/1;
  position: absolute;
  bottom: 0px;
  right: 0px;
  pointer-events: none;
  background: var(--accent);
  z-index: 1;
}
.accordionWrapper .rte .largeText,
.accordionWrapper #revealModalDialog .copyWrap .largeText {
  font-size: 1.15em;
  line-height: 1.5em;
  padding: 20px 25px;
}
.accordionWrapper .rte .largeText:before,
.accordionWrapper #revealModalDialog .copyWrap .largeText:before {
  height: 35px;
  -webkit-clip-path: polygon(0% 0, 100% 0%, 0% 100%);
          clip-path: polygon(0% 0, 100% 0%, 0% 100%);
  bottom: auto;
  right: auto;
  left: 0;
  top: 0;
}
@media (max-width: 670px) {
  .accordionWrapper .rte .largeText,
  .accordionWrapper #revealModalDialog .copyWrap .largeText {
    padding: 25px;
  }
  .accordionWrapper .rte .largeText:before,
  .accordionWrapper #revealModalDialog .copyWrap .largeText:before {
    height: 25px;
  }
}
.rte .highlight,
#revealModalDialog .copyWrap .highlight {
  background: color-mix(in srgb, var(--grey) calc(0.3 * 100%), transparent);
}
.rte ul,
#revealModalDialog .copyWrap ul {
  padding: 0;
}
.rte ul > li,
#revealModalDialog .copyWrap ul > li {
  margin-left: 40px;
  margin-bottom: 5px;
}
.rte ul > li::marker,
#revealModalDialog .copyWrap ul > li::marker {
  font-size: 1.1em;
  color: var(--brand-dark);
}
.rte ol,
#revealModalDialog .copyWrap ol {
  padding: 0;
  list-style-type: none;
  counter-reset: counter;
}
.rte ol > li,
#revealModalDialog .copyWrap ol > li {
  position: relative;
  counter-increment: counter;
  margin-left: 40px;
  margin-bottom: 5px;
}
.rte ol > li:before,
#revealModalDialog .copyWrap ol > li:before {
  content: counter(counter) ". ";
  position: absolute;
  right: calc(100% + 8px);
  color: var(--brand-dark);
  font-weight: bold;
}
.rte a,
#revealModalDialog .copyWrap a {
  color: var(--link);
  background-color: var(--link-contrast);
}

.calloutSubtle {
  clear: both;
  margin: 20px 0 0.75em;
  padding: 10px 20px 20px;
  border-radius: var(--radius);
  background-color: var(--light-grey);
  color: var(--light-grey-contrast);
  filter: drop-shadow(0px 1px 4px rgba(0, 0, 0, 0.2));
  position: relative;
  padding-top: 25px;
  font-weight: 600;
  max-width: calc(100% - 80px);
  margin-left: 40px;
}
.calloutSubtle:before {
  content: "";
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent;
  border-width: 22px calc(50px / 2) 0 calc(50px / 2);
  border-top-color: var(--brand-bright);
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% 0;
}
.calloutBold {
  --b: 3px;
  clear: both;
  margin: 25px 0;
  padding: 20px;
  border-radius: var(--radius);
  background-color: var(--dark);
  color: var(--dark-contrast);
  filter: drop-shadow(0px 1px 4px rgba(0, 0, 0, 0.2));
}
.calloutBold:before {
  content: "";
  height: 30px;
  width: 30px;
  background: var(--primary);
  position: absolute;
  top: 10px;
  left: 10px;
}
.calloutBold .rte {
  border: 5px solid var(--primary);
  border-width: var(--b) 0 0 var(--b);
  padding: 15px;
  display: block;
  padding-bottom: 5px;
  background-color: var(--dark);
  color: var(--dark-contrast);
  z-index: 2;
  position: relative;
  font-weight: bold;
}
.calloutBold a {
  background-color: var(--dark);
  color: var(--dark-contrast);
}
@container slideCopy (max-width: 540px) {
  .calloutSubtle {
    max-width: 100%;
    margin-left: 0px;
  }
}
@container slideCopy (max-width: 400px) {
  .rte .largeText, #revealModalDialog .copyWrap .largeText {
    font-size: 1.25em;
    line-height: 1.25em;
  }
  .rte .largeText:before, #revealModalDialog .copyWrap .largeText:before {
    max-height: 60px;
    padding: 25px 30px 30px 25px;
  }
}
#membership .formWrap.maintenance {
  background: var(--brand-bright);
  border-color: var(--light);
}
#membership .formWrap.maintenance .formArea {
  display: flex;
  flex-direction: column-reverse;
  justify-content: space-around;
  align-items: center;
  width: 100%;
  background: transparent;
}
#membership .formWrap.maintenance .formArea .rte {
  color: var(--light);
}
#membership .formWrap.maintenance .formArea .icon {
  flex-shrink: 0;
  flex-grow: 0;
  width: 75px;
  height: 75px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 3em;
  background: var(--brand-dark);
  border: 2px solid var(--light);
  border-radius: 50%;
  color: var(--light);
  margin-bottom: 20px;
}

@media (max-width: 670px) {
  #membership .formWrap.maintenance {
    padding: 15px;
  }
  #membership .formWrap.maintenance .formArea {
    flex-direction: column-reverse;
    justify-content: center;
  }
  #membership .formWrap.maintenance .formArea .icon {
    width: 55px;
    height: 55px;
    font-size: 2.25em;
    padding: 0;
    margin-bottom: 15px;
  }
}
.membershipPage .errorPage .titleArea {
  margin-bottom: 30px;
}
.membershipPage .errorPage .icon {
  font-size: 5em;
  display: block;
  margin: 0 auto 20px;
  text-align: center;
  background: var(--brand-bright);
  border-radius: 50%;
  border: 4px solid var(--light);
  color: var(--light);
  margin-bottom: 20px;
  width: 150px;
  height: 150px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 1;
}
.membershipPage .errorPage .rte {
  text-align: center;
  background: oklch(from var(--brand-dark) max(l - l * 0.15, 0) c h);
  padding: 50px 20px 40px 20px;
  margin-top: -60px;
  border: 3px solid var(--light);
}
.membershipPage .errorPage .rte h3.heading {
  background: transparent;
  color: var(--brand-dark-contrast);
  text-transform: none;
}

@media (max-width: 820px) {
  .membershipPage .errorPage .icon {
    font-size: 4em;
    width: 100px;
    height: 100px;
    border-width: 2px;
  }
}
@layer base {
  details {
    transition: all 500ms;
    clear: both;
  }
  details > summary::marker,
  details > summary::-webkit-details-marker {
    display: none;
  }
  .accordionModule .accordionTitle {
    cursor: pointer;
    list-style: none;
  }
  .accordionModule[data-interaction-mandatory=true]:not(.interactedWith) .icon-mandatory {
    display: block !important;
  }
  .accordionModule[data-interaction-mandatory=true]:not(.interactedWith) .interactionNotification {
    display: block !important;
    border: 0;
    -webkit-clip-path: rect(0 0 0 0);
            clip-path: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }
  .accordionModule + .rte {
    margin-top: 25px;
  }
}
ul:has(.accordionModule) {
  margin: 0;
  padding: 0;
}
ul:has(.accordionModule) > li {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
ul:has(.accordionModule) + .rte {
  margin-top: 25px;
}

:root {
  --icon-width: 45px;
}

.primaryAccordion + p, .primaryAccordion + h2 {
  margin-top: 25px;
}

p + .primaryAccordion, h2 + .primaryAccordion {
  margin-top: 28px;
}
p + .primaryAccordion.clicked, h2 + .primaryAccordion.clicked {
  margin-top: 28px;
}

.primaryAccordion {
  position: relative;
  margin: 10px 0;
  filter: drop-shadow(0px 5px 7px color-mix(in srgb, var(--black) calc(0.3 * 100%), transparent));
}
.primaryAccordion[open] > .accordionTitle {
  background: var(--light);
}
.primaryAccordion[open] > .accordionTitle .text {
  background: var(--secondary);
}
.primaryAccordion[open] > .accordionTitle .icon-arrow-down {
  background: var(--accent);
  color: var(--light);
}
.primaryAccordion[open] > .accordionTitle .icon-arrow-down:before {
  content: "U";
}
.primaryAccordion:has(.accordionTitle:hover) .accordionWrapper {
  border-color: var(--accent);
}
.primaryAccordion[data-interaction-mandatory=true]:not(.interactedWith) .icon-mandatory {
  position: absolute;
  right: -3px;
  top: -3px;
  background-color: var(--brand-bright);
  color: var(--brand-bright-contrast);
  padding: 3px;
  border-radius: 0px;
  box-shadow: 1px 1px 8px 0px color-mix(in srgb, var(--black) calc(0.3 * 100%), transparent);
  font-size: 0.75em;
}
.primaryAccordion .accordionTitle {
  position: relative;
  display: flex;
  flex-direction: row-reverse;
  gap: 4px;
}
@media (hover: hover) and (pointer: fine) {
  .primaryAccordion .accordionTitle:hover {
    cursor: pointer;
  }
  .primaryAccordion .accordionTitle:hover .text {
    background: var(--accent);
  }
  .primaryAccordion .accordionTitle:hover .icon {
    background: var(--accent);
    color: var(--light);
  }
}
[data-browser=ie] .primaryAccordion .accordionTitle:hover {
  cursor: pointer;
}
[data-browser=ie] .primaryAccordion .accordionTitle:hover .text {
  background: var(--accent);
}
[data-browser=ie] .primaryAccordion .accordionTitle:hover .icon {
  background: var(--accent);
  color: var(--light);
}
.ie .primaryAccordion .accordionTitle:hover {
  cursor: pointer;
}
.ie .primaryAccordion .accordionTitle:hover .text {
  background: var(--accent);
}
.ie .primaryAccordion .accordionTitle:hover .icon {
  background: var(--accent);
  color: var(--light);
}
.primaryAccordion .accordionTitle.focus-visible {
  cursor: pointer;
}
.primaryAccordion .accordionTitle.focus-visible .text {
  background: var(--accent);
}
.primaryAccordion .accordionTitle.focus-visible .icon {
  background: var(--accent);
  color: var(--light);
}
.primaryAccordion .accordionTitle:focus-visible {
  cursor: pointer;
}
.primaryAccordion .accordionTitle:focus-visible .text {
  background: var(--accent);
}
.primaryAccordion .accordionTitle:focus-visible .icon {
  background: var(--accent);
  color: var(--light);
}
.primaryAccordion .accordionTitle .text {
  display: block;
  padding: 20px 20px;
  padding-bottom: 18px;
  background: var(--dark-grey);
  color: var(--light);
  font-weight: 700;
  width: 100%;
  font-size: 1.05em;
}
.primaryAccordion .accordionTitle .icon-arrow-down {
  min-width: var(--icon-width);
  aspect-ratio: 1/1;
  width: var(--icon-width);
  max-width: var(--icon-width);
  font-size: 1.2em;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  background: var(--light-grey);
  color: var(--dark);
}
.primaryAccordion .accordionTitle .icon-arrow-down:before {
  content: "Q";
  transition: rotate 0.35s;
  transform-origin: center center;
}
.primaryAccordion .accordionWrapper {
  padding: 20px 20px;
  border-radius: 0px;
  border-right: var(--icon-width) solid var(--accent);
  background-color: var(--light);
  color: var(--light-contrast);
}
.primaryAccordion .accordionWrapper img {
  max-width: 100%;
  height: auto !important;
}
.primaryAccordion + .rte {
  margin-top: 25px;
}

@media (max-width: 450px) {
  :root {
    --icon-width: 35px;
  }
  .accordionModule .accordionWrapper {
    padding-right: 5px;
  }
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpbGU6Ly8vRDovcmVwb3MvQ2l0eSUyMENvbGxlZ2UlMjBvZiUyMFNhbiUyMEZyYW5zY2lzY28lMjAtJTIwNzUxMC9DaXR5Q29sbGVnZVNGL1Nhc3MvX2dsb2JhbC9fc29sby1sYXllcnMuc2NzcyIsImZpbGU6Ly8vRDovcmVwb3MvQ2l0eSUyMENvbGxlZ2UlMjBvZiUyMFNhbiUyMEZyYW5zY2lzY28lMjAtJTIwNzUxMC9DaXR5Q29sbGVnZVNGL1Nhc3MvY3VzdG9tL2FkZ01lbWJlcnNoaXAuc2NzcyIsImZpbGU6Ly8vZDovcmVwb3MvY2l0eSUyMGNvbGxlZ2UlMjBvZiUyMHNhbiUyMGZyYW5zY2lzY28lMjAtJTIwNzUxMC9jaXR5Y29sbGVnZXNmL25vZGVfbW9kdWxlcy9pbnRsLXRlbC1pbnB1dC9idWlsZC9jc3MvaW50bHRlbGlucHV0LmNzcyIsIi4uLy4uLy4uL1Nhc3MvY3VzdG9tL2FkZ01lbWJlcnNoaXAuc2NzcyIsImZpbGU6Ly8vRDovcmVwb3MvQ2l0eSUyMENvbGxlZ2UlMjBvZiUyMFNhbiUyMEZyYW5zY2lzY28lMjAtJTIwNzUxMC9DaXR5Q29sbGVnZVNGL1Nhc3MvX2dsb2JhbC9fc2hhcmVkLXZhcmlhYmxlcy5zY3NzIiwiZmlsZTovLy9EOi9yZXBvcy9DaXR5JTIwQ29sbGVnZSUyMG9mJTIwU2FuJTIwRnJhbnNjaXNjbyUyMC0lMjA3NTEwL0NpdHlDb2xsZWdlU0YvU2Fzcy9fZ2xvYmFsL19zaGFyZWQtbWl4aW5zLnNjc3MiLCJmaWxlOi8vL0Q6L3JlcG9zL0NpdHklMjBDb2xsZWdlJTIwb2YlMjBTYW4lMjBGcmFuc2Npc2NvJTIwLSUyMDc1MTAvQ2l0eUNvbGxlZ2VTRi9TYXNzL19nbG9iYWwvX3NoYXJlZC1mb3Jtcy5zY3NzIiwiZmlsZTovLy9EOi9yZXBvcy9DaXR5JTIwQ29sbGVnZSUyMG9mJTIwU2FuJTIwRnJhbnNjaXNjbyUyMC0lMjA3NTEwL0NpdHlDb2xsZWdlU0YvU2Fzcy9jdXN0b20vX2Zvcm1zLnNjc3MiLCJmaWxlOi8vL0Q6L3JlcG9zL0NpdHklMjBDb2xsZWdlJTIwb2YlMjBTYW4lMjBGcmFuc2Npc2NvJTIwLSUyMDc1MTAvQ2l0eUNvbGxlZ2VTRi9TYXNzL19nbG9iYWwvX3NoYXJlZC1nbG9iYWwuc2NzcyIsImZpbGU6Ly8vRDovcmVwb3MvQ2l0eSUyMENvbGxlZ2UlMjBvZiUyMFNhbiUyMEZyYW5zY2lzY28lMjAtJTIwNzUxMC9DaXR5Q29sbGVnZVNGL1Nhc3MvY3VzdG9tL19nbG9iYWwuc2NzcyIsImZpbGU6Ly8vRDovcmVwb3MvQ2l0eSUyMENvbGxlZ2UlMjBvZiUyMFNhbiUyMEZyYW5zY2lzY28lMjAtJTIwNzUxMC9DaXR5Q29sbGVnZVNGL1Nhc3MvX2dsb2JhbC9fc2hhcmVkLWRpYWxvZ3Muc2NzcyIsImZpbGU6Ly8vRDovcmVwb3MvQ2l0eSUyMENvbGxlZ2UlMjBvZiUyMFNhbiUyMEZyYW5zY2lzY28lMjAtJTIwNzUxMC9DaXR5Q29sbGVnZVNGL1Nhc3MvY3VzdG9tL19kaWFsb2cuc2NzcyIsImZpbGU6Ly8vRDovcmVwb3MvQ2l0eSUyMENvbGxlZ2UlMjBvZiUyMFNhbiUyMEZyYW5zY2lzY28lMjAtJTIwNzUxMC9DaXR5Q29sbGVnZVNGL1Nhc3MvY3VzdG9tL19taXhpbnMuc2NzcyIsImZpbGU6Ly8vRDovcmVwb3MvQ2l0eSUyMENvbGxlZ2UlMjBvZiUyMFNhbiUyMEZyYW5zY2lzY28lMjAtJTIwNzUxMC9DaXR5Q29sbGVnZVNGL1Nhc3MvX2dsb2JhbC9fc2hhcmVkLWJhY2tncm91bmQuc2NzcyIsImZpbGU6Ly8vRDovcmVwb3MvQ2l0eSUyMENvbGxlZ2UlMjBvZiUyMFNhbiUyMEZyYW5zY2lzY28lMjAtJTIwNzUxMC9DaXR5Q29sbGVnZVNGL1Nhc3MvY3VzdG9tL19iYWNrZ3JvdW5kLnNjc3MiLCJmaWxlOi8vL0Q6L3JlcG9zL0NpdHklMjBDb2xsZWdlJTIwb2YlMjBTYW4lMjBGcmFuc2Npc2NvJTIwLSUyMDc1MTAvQ2l0eUNvbGxlZ2VTRi9TYXNzL2N1c3RvbS9fbG9naW4uc2NzcyIsImZpbGU6Ly8vRDovcmVwb3MvQ2l0eSUyMENvbGxlZ2UlMjBvZiUyMFNhbiUyMEZyYW5zY2lzY28lMjAtJTIwNzUxMC9DaXR5Q29sbGVnZVNGL1Nhc3MvX2dsb2JhbC9fc2hhcmVkLXJpY2hUZXh0U3R5bGVzLnNjc3MiLCJmaWxlOi8vL0Q6L3JlcG9zL0NpdHklMjBDb2xsZWdlJTIwb2YlMjBTYW4lMjBGcmFuc2Npc2NvJTIwLSUyMDc1MTAvQ2l0eUNvbGxlZ2VTRi9TYXNzL2N1c3RvbS9fcmljaFRleHRTdHlsZXMuc2NzcyIsImZpbGU6Ly8vRDovcmVwb3MvQ2l0eSUyMENvbGxlZ2UlMjBvZiUyMFNhbiUyMEZyYW5zY2lzY28lMjAtJTIwNzUxMC9DaXR5Q29sbGVnZVNGL1Nhc3MvY3VzdG9tL19tYWludGVuYW5jZS5zY3NzIiwiZmlsZTovLy9EOi9yZXBvcy9DaXR5JTIwQ29sbGVnZSUyMG9mJTIwU2FuJTIwRnJhbnNjaXNjbyUyMC0lMjA3NTEwL0NpdHlDb2xsZWdlU0YvU2Fzcy9jdXN0b20vX2Vycm9yUGFnZXMuc2NzcyIsImZpbGU6Ly8vRDovcmVwb3MvQ2l0eSUyMENvbGxlZ2UlMjBvZiUyMFNhbiUyMEZyYW5zY2lzY28lMjAtJTIwNzUxMC9DaXR5Q29sbGVnZVNGL1Nhc3MvX2dsb2JhbC9fc2hhcmVkLWFjY29yZGlvbnMuc2NzcyIsImZpbGU6Ly8vRDovcmVwb3MvQ2l0eSUyMENvbGxlZ2UlMjBvZiUyMFNhbiUyMEZyYW5zY2lzY28lMjAtJTIwNzUxMC9DaXR5Q29sbGVnZVNGL1Nhc3MvY3VzdG9tL19hY2NvcmRpb24uc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFBO0FBQ0EsV0FBQTtBQ0NBLHNCQUFBO0FDRkE7RUFDRSxzQ0FBQTtFQUNBLHdCQUFBO0VBQ0EsMEJBQUE7RUFDQSx3QkFBQTtFQUNBLDZCQUFBO0VBQ0EsNEJBQUE7RUFDQSx1QkFBQTtFQUNBLHNCQUFBO0VBQ0EsdUJBQUE7RUFDQSx1QkFBQTtFQUNBLHNCQUFBO0VBQ0EsdURBQUE7RUFDQSx3QkFBQTtFQUNBLHVCQUFBO0VBQ0Es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Q2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtB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Q0EsbUJBQUE7QWxCMnNLTjtBRTl1SkU7RWdCbmVJLGVBQUE7QWxCb3RLTjtBa0JudEtLO0VBQ0MseUJBQUE7QWxCcXRLTjtBa0JudEtJO0VBQ0UseUJBQUE7RUFDQSxtQkFBQTtBbEJxdEtOO0FFN3VKRTtFZ0I5ZUksZUFBQTtBbEI4dEtOO0FrQjd0S0s7RUFDQyx5QkFBQTtBbEIrdEtOO0FrQjd0S0k7RUFDRSx5QkFBQTtFQUNBLG1CQUFBO0FsQit0S047QUVudkpFO0VnQmxmSSxlQUFBO0FsQnd1S047QWtCdnVLSztFQUNDLHlCQUFBO0FsQnl1S047QWtCdnVLSTtFQUNFLHlCQUFBO0VBQ0EsbUJBQUE7QWxCeXVLTjtBa0J0dUtLO0VBQ0MsY0FBQTtFQUNBLGtCQUFBO0VBQ0Esb0JBQUE7RUFDQSw0QkFBQTtFQUNBLG1CQUFBO0VBQ0EsZ0JBQUE7RUFDQSxXQUFBO0VBQ0EsaUJBQUE7QWxCd3VLTjtBa0JwdUtJO0VBQ0MsNEJBQUE7RUFDQSxpQkFBQTtFQUNDLHdCQUFBO0VBQ0EsNEJBQUE7RUFDQSxnQkFBQTtFaEI0VkosYUFBQTtFQUNBLHVCQUFBO0VBQ0EsbUJBQUE7RUFDQSxtQkFKc0I7RWdCelZsQiw2QkFBQTtFQUNBLGtCQUFBO0FsQnl1S047QWtCeHVLTTtFQUNFLFlBQUE7RUFDQSx3QkFBQTtFQUNBLCtCQUFBO0FsQjB1S1I7QWtCcnVLRTtFQUNFLGtCQUFBO0VBQ0Esa0JBQUE7RUFDQSxtREFBQTtFaEJxZUEsOEJBQUE7RUFDQSw0QkFBQTtBRm13Sko7QWtCdnVLSTtFQUNFLGVBQUE7RUFDQSx1QkFBQTtBbEJ5dUtOO0FrQm51S0U7RUFDRSxnQkFBQTtBbEJxdUtKOztBa0JodUtBO0VBQ0U7SUFDRSxrQkFBQTtFbEJtdUtGO0VrQmh1S0U7SUFDRSxrQkFBQTtFbEJrdUtKO0FBQ0YiLCJmaWxlIjoiYWRnTWVtYmVyc2hpcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAbGF5ZXIgcmVzZXQ7IC8vIENyZWF0ZSAxc3QgbGF5ZXIgbmFtZWQgXCJyZXNldFwiXHJcbkBsYXllciBiYXNlOyAvLyBDcmVhdGUgMm5kIGxheWVyIG5hbWVkIFwiYmFzZVwiXHJcblxyXG4vLyBTb21lIGFkZGl0aW9uYWwgbm90ZXMgYW5kIHJlbWluZGVyczpcclxuLy8gLSBzb2xvLWxheWVycyBhcmUgYXBwbGllZCBpbiB0aGUgb3JkZXIgdGhleSdyZSBkZWNsYXJlZC4gU28gaW4gdGhlIGNhc2UgYWJvdmUsIHN0eWxlcyBpbiBcImJhc2VcIiBvdmVyd3JpdGUgc3R5bGVzIGluIFwicmVzZXRcIi5cclxuLy8gLSBSZWd1bGFyIHN0eWxlcyAoYWthIG9uZXMgbm90IGluc2lkZSBhIGxheWVyKSBhbHdheXMgb3ZlcndyaXRlIHN0eWxlcyBpbnNpZGUgb2Ygc29sby1sYXllcnMsIHJlZ2FyZGxlc3Mgb2Ygc3BlY2lmaWNpdHkuXHJcbi8vIC0gRE8gTk9UIHVzZSAhaW1wb3J0YW50IGluc2lkZSBvZiBhIGxheWVyLCBpdCBXSUxMIGNhdXNlIGlzc3VlcyBhbmQgc2FkbmVzcy5cclxuIiwiQHVzZSBcIi4uL19nbG9iYWwvc29sby1sYXllcnNcIjsgLy8gVGhpcyBzaG91bGQgQUxXQVlTIGJlIGZpcnN0IGluIHRoZSBsaXN0IG9mIGltcG9ydHMgb3IgdGhpbmdzIHdpbGwgZ2V0IHdlaXJkLlxyXG5cclxuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cclxuQHVzZSBcInBrZzppbnRsLXRlbC1pbnB1dC9zdHlsZXNcIjtcclxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xyXG5AdXNlIFwiZm9udHNcIjtcclxuQHVzZSBcImZvcm1zXCI7XHJcbkB1c2UgXCJnbG9iYWxcIjtcclxuQHVzZSBcImRpYWxvZ1wiO1xyXG5AdXNlIFwiYmFja2dyb3VuZFwiO1xyXG5AdXNlIFwibG9naW5cIjtcclxuQHVzZSBcInJpY2hUZXh0U3R5bGVzXCI7XHJcbkB1c2UgXCJtYWludGVuYW5jZVwiO1xyXG5AdXNlIFwiZXJyb3JQYWdlc1wiO1xyXG5AdXNlIFwiYWNjb3JkaW9uXCI7XHJcbiIsIjpyb290IHtcbiAgLS1pdGktaG92ZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIC0taXRpLWJvcmRlci1jb2xvcjogI2NjYztcbiAgLS1pdGktZGlhbGNvZGUtY29sb3I6ICM5OTk7XG4gIC0taXRpLWRyb3Bkb3duLWJnOiB3aGl0ZTtcbiAgLS1pdGktc2VhcmNoLWljb24tY29sb3I6ICM5OTk7XG4gIC0taXRpLXNwYWNlci1ob3Jpem9udGFsOiA4cHg7XG4gIC0taXRpLWZsYWctaGVpZ2h0OiAxMnB4O1xuICAtLWl0aS1mbGFnLXdpZHRoOiAxNnB4O1xuICAtLWl0aS1ib3JkZXItd2lkdGg6IDFweDtcbiAgLS1pdGktYXJyb3ctaGVpZ2h0OiA0cHg7XG4gIC0taXRpLWFycm93LXdpZHRoOiA2cHg7XG4gIC0taXRpLXRyaWFuZ2xlLWJvcmRlcjogY2FsYyh2YXIoLS1pdGktYXJyb3ctd2lkdGgpIC8gMik7XG4gIC0taXRpLWFycm93LXBhZGRpbmc6IDZweDtcbiAgLS1pdGktYXJyb3ctY29sb3I6ICM1NTU7XG4gIC0taXRpLXBhdGgtZmxhZ3MtMXg6IHVybChcIi4uL2ltZy9mbGFncy53ZWJwXCIpO1xuICAtLWl0aS1wYXRoLWZsYWdzLTJ4OiB1cmwoXCIuLi9pbWcvZmxhZ3NAMngud2VicFwiKTtcbiAgLS1pdGktcGF0aC1nbG9iZS0xeDogdXJsKFwiLi4vaW1nL2dsb2JlLndlYnBcIik7XG4gIC0taXRpLXBhdGgtZ2xvYmUtMng6IHVybChcIi4uL2ltZy9nbG9iZUAyeC53ZWJwXCIpO1xuICAtLWl0aS1mbGFnLXNwcml0ZS13aWR0aDogMzkwNHB4O1xuICAtLWl0aS1mbGFnLXNwcml0ZS1oZWlnaHQ6IDEycHg7XG4gIC0taXRpLW1vYmlsZS1wb3B1cC1tYXJnaW46IDMwcHg7XG59XG5cbi5pdGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5pdGkgKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4uaXRpX19hMTF5LXRleHQge1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4uaXRpIGlucHV0Lml0aV9fdGVsLWlucHV0LFxuLml0aSBpbnB1dC5pdGlfX3RlbC1pbnB1dFt0eXBlPXRleHRdLFxuLml0aSBpbnB1dC5pdGlfX3RlbC1pbnB1dFt0eXBlPXRlbF0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xufVxuW2Rpcj1ydGxdIC5pdGkgaW5wdXQuaXRpX190ZWwtaW5wdXQsXG5bZGlyPXJ0bF0gLml0aSBpbnB1dC5pdGlfX3RlbC1pbnB1dFt0eXBlPXRleHRdLFxuW2Rpcj1ydGxdIC5pdGkgaW5wdXQuaXRpX190ZWwtaW5wdXRbdHlwZT10ZWxdIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4uaXRpX19jb3VudHJ5LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHBhZGRpbmc6IHZhcigtLWl0aS1ib3JkZXItd2lkdGgpO1xufVxuLml0aV9fc2VsZWN0ZWQtY291bnRyeSB7XG4gIHotaW5kZXg6IDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLml0aV9fc2VsZWN0ZWQtY291bnRyeS1wcmltYXJ5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAwIHZhcigtLWl0aS1hcnJvdy1wYWRkaW5nKSAwIHZhcigtLWl0aS1zcGFjZXItaG9yaXpvbnRhbCk7XG59XG4uaXRpX19hcnJvdyB7XG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1pdGktYXJyb3ctcGFkZGluZyk7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1sZWZ0OiB2YXIoLS1pdGktdHJpYW5nbGUtYm9yZGVyKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiB2YXIoLS1pdGktdHJpYW5nbGUtYm9yZGVyKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcDogdmFyKC0taXRpLWFycm93LWhlaWdodCkgc29saWQgdmFyKC0taXRpLWFycm93LWNvbG9yKTtcbn1cbltkaXI9cnRsXSAuaXRpX19hcnJvdyB7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0taXRpLWFycm93LXBhZGRpbmcpO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5pdGlfX2Fycm93LS11cCB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IHZhcigtLWl0aS1hcnJvdy1oZWlnaHQpIHNvbGlkIHZhcigtLWl0aS1hcnJvdy1jb2xvcik7XG59XG4uaXRpX19kcm9wZG93bi1jb250ZW50IHtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pdGktZHJvcGRvd24tYmcpO1xufVxuLml0aS0taW5saW5lLWRyb3Bkb3duIC5pdGlfX2Ryb3Bkb3duLWNvbnRlbnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDI7XG4gIG1hcmdpbi10b3A6IDNweDtcbiAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0taXRpLWJvcmRlci13aWR0aCkgKiAtMSk7XG4gIGJvcmRlcjogdmFyKC0taXRpLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0taXRpLWJvcmRlci1jb2xvcik7XG4gIGJveC1zaGFkb3c6IDFweCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cbi5pdGlfX3NlYXJjaC1pbnB1dCB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItd2lkdGg6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyOHB4O1xufVxuW2Rpcj1ydGxdIC5pdGlfX3NlYXJjaC1pbnB1dCB7XG4gIHBhZGRpbmctbGVmdDogaW5oZXJpdDtcbiAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgOHB4IGNlbnRlcjtcbn1cbi5pdGlfX3NlYXJjaC1pbnB1dCArIC5pdGlfX2NvdW50cnktbGlzdCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1pdGktYm9yZGVyLWNvbG9yKTtcbn1cbi5pdGlfX3NlYXJjaC1pbnB1dDo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG59XG4uaXRpX19zZWFyY2gtaW5wdXQtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5pdGlfX3NlYXJjaC1pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA4cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuW2Rpcj1ydGxdIC5pdGlfX3NlYXJjaC1pY29uIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDhweDtcbn1cbi5pdGlfX3NlYXJjaC1pY29uLXN2ZyB7XG4gIHN0cm9rZTogdmFyKC0taXRpLXNlYXJjaC1pY29uLWNvbG9yKTtcbiAgZmlsbDogbm9uZTtcbiAgc3Ryb2tlLXdpZHRoOiAzO1xufVxuLml0aV9fc2VhcmNoLWNsZWFyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogNHB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcGFkZGluZzogNHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlO1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xufVxuLml0aV9fc2VhcmNoLWNsZWFyIC5pdGlfX3NlYXJjaC1jbGVhci14IHtcbiAgc3Ryb2tlLXdpZHRoOiAyO1xufVxuLml0aV9fc2VhcmNoLWNsZWFyIC5pdGlfX3NlYXJjaC1jbGVhci1iZyB7XG4gIGZpbGw6IHZhcigtLWl0aS1zZWFyY2gtaWNvbi1jb2xvcik7XG59XG5bZGlyPXJ0bF0gLml0aV9fc2VhcmNoLWNsZWFyIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDRweDtcbn1cbi5pdGlfX3NlYXJjaC1jbGVhcjpob3ZlciwgLml0aV9fc2VhcmNoLWNsZWFyOmZvY3VzLXZpc2libGUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1pdGktaG92ZXItY29sb3IpO1xuICBvdXRsaW5lOiBub25lO1xufVxuLml0aV9fbm8tcmVzdWx0cyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMzBweCAwO1xufVxuLml0aV9fY291bnRyeS1saXN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuLml0aS0taW5saW5lLWRyb3Bkb3duIC5pdGlfX2NvdW50cnktbGlzdCB7XG4gIG1heC1oZWlnaHQ6IDE4NXB4O1xufVxuLml0aS0tZmxleGlibGUtZHJvcGRvd24td2lkdGggLml0aV9fY291bnRyeS1saXN0IHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA1MDBweCkge1xuICAuaXRpLS1mbGV4aWJsZS1kcm9wZG93bi13aWR0aCAuaXRpX19jb3VudHJ5LWxpc3Qge1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIH1cbn1cbi5pdGlfX2NvdW50cnkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiA4cHggdmFyKC0taXRpLXNwYWNlci1ob3Jpem9udGFsKTtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5pdGlfX2RpYWwtY29kZSB7XG4gIGNvbG9yOiB2YXIoLS1pdGktZGlhbGNvZGUtY29sb3IpO1xufVxuLml0aV9fY291bnRyeS5pdGlfX2hpZ2hsaWdodCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWl0aS1ob3Zlci1jb2xvcik7XG59XG4uaXRpX19jb3VudHJ5LWxpc3QgLml0aV9fZmxhZywgLml0aV9fY291bnRyeS1uYW1lIHtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1pdGktc3BhY2VyLWhvcml6b250YWwpO1xufVxuW2Rpcj1ydGxdIC5pdGlfX2NvdW50cnktbGlzdCAuaXRpX19mbGFnLCBbZGlyPXJ0bF0gLml0aV9fY291bnRyeS1uYW1lIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogdmFyKC0taXRpLXNwYWNlci1ob3Jpem9udGFsKTtcbn1cbi5pdGktLWFsbG93LWRyb3Bkb3duIC5pdGlfX2NvdW50cnktY29udGFpbmVyOm5vdCg6aGFzKCsgaW5wdXRbZGlzYWJsZWRdKSk6bm90KDpoYXMoKyBpbnB1dFtyZWFkb25seV0pKSBidXR0b24uaXRpX19zZWxlY3RlZC1jb3VudHJ5IHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLml0aS0tYWxsb3ctZHJvcGRvd24gLml0aV9fY291bnRyeS1jb250YWluZXI6bm90KDpoYXMoKyBpbnB1dFtkaXNhYmxlZF0pKTpub3QoOmhhcygrIGlucHV0W3JlYWRvbmx5XSkpIC5pdGlfX3NlbGVjdGVkLWNvdW50cnktcHJpbWFyeTpob3Zlcixcbi5pdGktLWFsbG93LWRyb3Bkb3duIC5pdGlfX2NvdW50cnktY29udGFpbmVyOm5vdCg6aGFzKCsgaW5wdXRbZGlzYWJsZWRdKSk6bm90KDpoYXMoKyBpbnB1dFtyZWFkb25seV0pKSAuaXRpX19zZWxlY3RlZC1jb3VudHJ5OmhhcygrIC5pdGlfX2Ryb3Bkb3duLWNvbnRlbnQ6aG92ZXIpIC5pdGlfX3NlbGVjdGVkLWNvdW50cnktcHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWl0aS1ob3Zlci1jb2xvcik7XG59XG4uaXRpIC5pdGlfX3NlbGVjdGVkLWRpYWwtY29kZSB7XG4gIG1hcmdpbi1sZWZ0OiA0cHg7XG59XG5bZGlyPXJ0bF0gLml0aSAuaXRpX19zZWxlY3RlZC1kaWFsLWNvZGUge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiA0cHg7XG59XG4uaXRpLS1jb250YWluZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogLTEwMDBweDtcbiAgbGVmdDogLTEwMDBweDtcbiAgei1pbmRleDogMTA2MDtcbiAgcGFkZGluZzogdmFyKC0taXRpLWJvcmRlci13aWR0aCk7XG59XG4uaXRpLS1jb250YWluZXI6aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uaXRpX19oaWRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5pdGlfX3YtaGlkZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLml0aS0tZnVsbHNjcmVlbi1wb3B1cC5pdGktLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHBhZGRpbmc6IHZhcigtLWl0aS1tb2JpbGUtcG9wdXAtbWFyZ2luKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuLml0aS0tZnVsbHNjcmVlbi1wb3B1cCAuaXRpX19kcm9wZG93bi1jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLml0aS0tZnVsbHNjcmVlbi1wb3B1cCAuaXRpX19jb3VudHJ5IHtcbiAgcGFkZGluZzogMTBweCAxMHB4O1xuICBsaW5lLWhlaWdodDogMS41ZW07XG59XG5cbi5pdGlfX2ZsYWcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogMTAwcHg7XG4gIGhlaWdodDogdmFyKC0taXRpLWZsYWctaGVpZ2h0KTtcbiAgd2lkdGg6IHZhcigtLWl0aS1mbGFnLXdpZHRoKTtcbiAgYm9yZGVyLXJhZGl1czogMXB4O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDFweCAwcHggIzg4ODtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taXRpLXBhdGgtZmxhZ3MtMXgpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB2YXIoLS1pdGktZmxhZy1vZmZzZXQpIDA7XG4gIGJhY2tncm91bmQtc2l6ZTogdmFyKC0taXRpLWZsYWctc3ByaXRlLXdpZHRoKSB2YXIoLS1pdGktZmxhZy1zcHJpdGUtaGVpZ2h0KTtcbn1cblxuLml0aV9fYWMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogMHB4O1xufVxuXG4uaXRpX19hZCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTZweDtcbn1cblxuLml0aV9fYWUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMycHg7XG59XG5cbi5pdGlfX2FmIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC00OHB4O1xufVxuXG4uaXRpX19hZyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNjRweDtcbn1cblxuLml0aV9fYWkge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTgwcHg7XG59XG5cbi5pdGlfX2FsIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC05NnB4O1xufVxuXG4uaXRpX19hbSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTEycHg7XG59XG5cbi5pdGlfX2FvIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMjhweDtcbn1cblxuLml0aV9fYXIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE0NHB4O1xufVxuXG4uaXRpX19hcyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTYwcHg7XG59XG5cbi5pdGlfX2F0IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNzZweDtcbn1cblxuLml0aV9fYXUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE5MnB4O1xufVxuXG4uaXRpX19hdyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjA4cHg7XG59XG5cbi5pdGlfX2F4IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMjRweDtcbn1cblxuLml0aV9fYXoge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI0MHB4O1xufVxuXG4uaXRpX19iYSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjU2cHg7XG59XG5cbi5pdGlfX2JiIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNzJweDtcbn1cblxuLml0aV9fYmQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI4OHB4O1xufVxuXG4uaXRpX19iZSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzA0cHg7XG59XG5cbi5pdGlfX2JmIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMjBweDtcbn1cblxuLml0aV9fYmcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMzNnB4O1xufVxuXG4uaXRpX19iaCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzUycHg7XG59XG5cbi5pdGlfX2JpIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNjhweDtcbn1cblxuLml0aV9fYmoge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM4NHB4O1xufVxuXG4uaXRpX19ibCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNDAwcHg7XG59XG5cbi5pdGlfX2JtIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC00MTZweDtcbn1cblxuLml0aV9fYm4ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTQzMnB4O1xufVxuXG4uaXRpX19ibyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNDQ4cHg7XG59XG5cbi5pdGlfX2JxIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC00NjRweDtcbn1cblxuLml0aV9fYnIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTQ4MHB4O1xufVxuXG4uaXRpX19icyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNDk2cHg7XG59XG5cbi5pdGlfX2J0IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC01MTJweDtcbn1cblxuLml0aV9fYncge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTUyOHB4O1xufVxuXG4uaXRpX19ieSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNTQ0cHg7XG59XG5cbi5pdGlfX2J6IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC01NjBweDtcbn1cblxuLml0aV9fY2Ege1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTU3NnB4O1xufVxuXG4uaXRpX19jYyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNTkycHg7XG59XG5cbi5pdGlfX2NkIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC02MDhweDtcbn1cblxuLml0aV9fY2Yge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTYyNHB4O1xufVxuXG4uaXRpX19jZyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNjQwcHg7XG59XG5cbi5pdGlfX2NoIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC02NTZweDtcbn1cblxuLml0aV9fY2kge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTY3MnB4O1xufVxuXG4uaXRpX19jayB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNjg4cHg7XG59XG5cbi5pdGlfX2NsIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC03MDRweDtcbn1cblxuLml0aV9fY20ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTcyMHB4O1xufVxuXG4uaXRpX19jbiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNzM2cHg7XG59XG5cbi5pdGlfX2NvIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC03NTJweDtcbn1cblxuLml0aV9fY3Ige1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTc2OHB4O1xufVxuXG4uaXRpX19jdSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNzg0cHg7XG59XG5cbi5pdGlfX2N2IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC04MDBweDtcbn1cblxuLml0aV9fY3cge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTgxNnB4O1xufVxuXG4uaXRpX19jeCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtODMycHg7XG59XG5cbi5pdGlfX2N5IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC04NDhweDtcbn1cblxuLml0aV9fY3oge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTg2NHB4O1xufVxuXG4uaXRpX19kZSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtODgwcHg7XG59XG5cbi5pdGlfX2RqIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC04OTZweDtcbn1cblxuLml0aV9fZGsge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTkxMnB4O1xufVxuXG4uaXRpX19kbSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtOTI4cHg7XG59XG5cbi5pdGlfX2RvIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC05NDRweDtcbn1cblxuLml0aV9fZHoge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTk2MHB4O1xufVxuXG4uaXRpX19lYyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtOTc2cHg7XG59XG5cbi5pdGlfX2VlIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC05OTJweDtcbn1cblxuLml0aV9fZWcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEwMDhweDtcbn1cblxuLml0aV9fZWgge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEwMjRweDtcbn1cblxuLml0aV9fZXIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEwNDBweDtcbn1cblxuLml0aV9fZXMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEwNTZweDtcbn1cblxuLml0aV9fZXQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEwNzJweDtcbn1cblxuLml0aV9fZmkge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEwODhweDtcbn1cblxuLml0aV9fZmoge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTExMDRweDtcbn1cblxuLml0aV9fZmsge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTExMjBweDtcbn1cblxuLml0aV9fZm0ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTExMzZweDtcbn1cblxuLml0aV9fZm8ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTExNTJweDtcbn1cblxuLml0aV9fZnIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTExNjhweDtcbn1cblxuLml0aV9fZ2Ege1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTExODRweDtcbn1cblxuLml0aV9fZ2Ige1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEyMDBweDtcbn1cblxuLml0aV9fZ2Qge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEyMTZweDtcbn1cblxuLml0aV9fZ2Uge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEyMzJweDtcbn1cblxuLml0aV9fZ2Yge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEyNDhweDtcbn1cblxuLml0aV9fZ2cge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEyNjRweDtcbn1cblxuLml0aV9fZ2gge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEyODBweDtcbn1cblxuLml0aV9fZ2kge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEyOTZweDtcbn1cblxuLml0aV9fZ2wge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEzMTJweDtcbn1cblxuLml0aV9fZ20ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEzMjhweDtcbn1cblxuLml0aV9fZ24ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEzNDRweDtcbn1cblxuLml0aV9fZ3Age1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEzNjBweDtcbn1cblxuLml0aV9fZ3Ege1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEzNzZweDtcbn1cblxuLml0aV9fZ3Ige1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEzOTJweDtcbn1cblxuLml0aV9fZ3Qge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE0MDhweDtcbn1cblxuLml0aV9fZ3Uge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE0MjRweDtcbn1cblxuLml0aV9fZ3cge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE0NDBweDtcbn1cblxuLml0aV9fZ3kge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE0NTZweDtcbn1cblxuLml0aV9faGsge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE0NzJweDtcbn1cblxuLml0aV9faG4ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE0ODhweDtcbn1cblxuLml0aV9faHIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE1MDRweDtcbn1cblxuLml0aV9faHQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE1MjBweDtcbn1cblxuLml0aV9faHUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE1MzZweDtcbn1cblxuLml0aV9faWQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE1NTJweDtcbn1cblxuLml0aV9faWUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE1NjhweDtcbn1cblxuLml0aV9faWwge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE1ODRweDtcbn1cblxuLml0aV9faW0ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE2MDBweDtcbn1cblxuLml0aV9faW4ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE2MTZweDtcbn1cblxuLml0aV9faW8ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE2MzJweDtcbn1cblxuLml0aV9faXEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE2NDhweDtcbn1cblxuLml0aV9faXIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE2NjRweDtcbn1cblxuLml0aV9faXMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE2ODBweDtcbn1cblxuLml0aV9faXQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE2OTZweDtcbn1cblxuLml0aV9famUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE3MTJweDtcbn1cblxuLml0aV9fam0ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE3MjhweDtcbn1cblxuLml0aV9fam8ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE3NDRweDtcbn1cblxuLml0aV9fanAge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE3NjBweDtcbn1cblxuLml0aV9fa2Uge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE3NzZweDtcbn1cblxuLml0aV9fa2cge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE3OTJweDtcbn1cblxuLml0aV9fa2gge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE4MDhweDtcbn1cblxuLml0aV9fa2kge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE4MjRweDtcbn1cblxuLml0aV9fa20ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE4NDBweDtcbn1cblxuLml0aV9fa24ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE4NTZweDtcbn1cblxuLml0aV9fa3Age1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE4NzJweDtcbn1cblxuLml0aV9fa3Ige1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE4ODhweDtcbn1cblxuLml0aV9fa3cge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE5MDRweDtcbn1cblxuLml0aV9fa3kge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE5MjBweDtcbn1cblxuLml0aV9fa3oge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE5MzZweDtcbn1cblxuLml0aV9fbGEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE5NTJweDtcbn1cblxuLml0aV9fbGIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE5NjhweDtcbn1cblxuLml0aV9fbGMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE5ODRweDtcbn1cblxuLml0aV9fbGkge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIwMDBweDtcbn1cblxuLml0aV9fbGsge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIwMTZweDtcbn1cblxuLml0aV9fbHIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIwMzJweDtcbn1cblxuLml0aV9fbHMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIwNDhweDtcbn1cblxuLml0aV9fbHQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIwNjRweDtcbn1cblxuLml0aV9fbHUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIwODBweDtcbn1cblxuLml0aV9fbHYge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIwOTZweDtcbn1cblxuLml0aV9fbHkge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIxMTJweDtcbn1cblxuLml0aV9fbWEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIxMjhweDtcbn1cblxuLml0aV9fbWMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIxNDRweDtcbn1cblxuLml0aV9fbWQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIxNjBweDtcbn1cblxuLml0aV9fbWUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIxNzZweDtcbn1cblxuLml0aV9fbWYge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIxOTJweDtcbn1cblxuLml0aV9fbWcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIyMDhweDtcbn1cblxuLml0aV9fbWgge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIyMjRweDtcbn1cblxuLml0aV9fbWsge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIyNDBweDtcbn1cblxuLml0aV9fbWwge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIyNTZweDtcbn1cblxuLml0aV9fbW0ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIyNzJweDtcbn1cblxuLml0aV9fbW4ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIyODhweDtcbn1cblxuLml0aV9fbW8ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIzMDRweDtcbn1cblxuLml0aV9fbXAge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIzMjBweDtcbn1cblxuLml0aV9fbXEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIzMzZweDtcbn1cblxuLml0aV9fbXIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIzNTJweDtcbn1cblxuLml0aV9fbXMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIzNjhweDtcbn1cblxuLml0aV9fbXQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIzODRweDtcbn1cblxuLml0aV9fbXUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI0MDBweDtcbn1cblxuLml0aV9fbXYge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI0MTZweDtcbn1cblxuLml0aV9fbXcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI0MzJweDtcbn1cblxuLml0aV9fbXgge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI0NDhweDtcbn1cblxuLml0aV9fbXkge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI0NjRweDtcbn1cblxuLml0aV9fbXoge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI0ODBweDtcbn1cblxuLml0aV9fbmEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI0OTZweDtcbn1cblxuLml0aV9fbmMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI1MTJweDtcbn1cblxuLml0aV9fbmUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI1MjhweDtcbn1cblxuLml0aV9fbmYge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI1NDRweDtcbn1cblxuLml0aV9fbmcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI1NjBweDtcbn1cblxuLml0aV9fbmkge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI1NzZweDtcbn1cblxuLml0aV9fbmwge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI1OTJweDtcbn1cblxuLml0aV9fbm8ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI2MDhweDtcbn1cblxuLml0aV9fbnAge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI2MjRweDtcbn1cblxuLml0aV9fbnIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI2NDBweDtcbn1cblxuLml0aV9fbnUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI2NTZweDtcbn1cblxuLml0aV9fbnoge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI2NzJweDtcbn1cblxuLml0aV9fb20ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI2ODhweDtcbn1cblxuLml0aV9fcGEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI3MDRweDtcbn1cblxuLml0aV9fcGUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI3MjBweDtcbn1cblxuLml0aV9fcGYge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI3MzZweDtcbn1cblxuLml0aV9fcGcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI3NTJweDtcbn1cblxuLml0aV9fcGgge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI3NjhweDtcbn1cblxuLml0aV9fcGsge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI3ODRweDtcbn1cblxuLml0aV9fcGwge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI4MDBweDtcbn1cblxuLml0aV9fcG0ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI4MTZweDtcbn1cblxuLml0aV9fcHIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI4MzJweDtcbn1cblxuLml0aV9fcHMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI4NDhweDtcbn1cblxuLml0aV9fcHQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI4NjRweDtcbn1cblxuLml0aV9fcHcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI4ODBweDtcbn1cblxuLml0aV9fcHkge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI4OTZweDtcbn1cblxuLml0aV9fcWEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI5MTJweDtcbn1cblxuLml0aV9fcmUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI5MjhweDtcbn1cblxuLml0aV9fcm8ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI5NDRweDtcbn1cblxuLml0aV9fcnMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI5NjBweDtcbn1cblxuLml0aV9fcnUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI5NzZweDtcbn1cblxuLml0aV9fcncge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI5OTJweDtcbn1cblxuLml0aV9fc2Ege1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMwMDhweDtcbn1cblxuLml0aV9fc2Ige1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMwMjRweDtcbn1cblxuLml0aV9fc2Mge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMwNDBweDtcbn1cblxuLml0aV9fc2Qge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMwNTZweDtcbn1cblxuLml0aV9fc2Uge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMwNzJweDtcbn1cblxuLml0aV9fc2cge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMwODhweDtcbn1cblxuLml0aV9fc2gge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMxMDRweDtcbn1cblxuLml0aV9fc2kge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMxMjBweDtcbn1cblxuLml0aV9fc2oge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMxMzZweDtcbn1cblxuLml0aV9fc2sge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMxNTJweDtcbn1cblxuLml0aV9fc2wge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMxNjhweDtcbn1cblxuLml0aV9fc20ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMxODRweDtcbn1cblxuLml0aV9fc24ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMyMDBweDtcbn1cblxuLml0aV9fc28ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMyMTZweDtcbn1cblxuLml0aV9fc3Ige1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMyMzJweDtcbn1cblxuLml0aV9fc3Mge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMyNDhweDtcbn1cblxuLml0aV9fc3Qge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMyNjRweDtcbn1cblxuLml0aV9fc3Yge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMyODBweDtcbn1cblxuLml0aV9fc3gge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMyOTZweDtcbn1cblxuLml0aV9fc3kge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMzMTJweDtcbn1cblxuLml0aV9fc3oge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMzMjhweDtcbn1cblxuLml0aV9fdGMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMzNDRweDtcbn1cblxuLml0aV9fdGQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMzNjBweDtcbn1cblxuLml0aV9fdGcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMzNzZweDtcbn1cblxuLml0aV9fdGgge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMzOTJweDtcbn1cblxuLml0aV9fdGoge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM0MDhweDtcbn1cblxuLml0aV9fdGsge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM0MjRweDtcbn1cblxuLml0aV9fdGwge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM0NDBweDtcbn1cblxuLml0aV9fdG0ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM0NTZweDtcbn1cblxuLml0aV9fdG4ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM0NzJweDtcbn1cblxuLml0aV9fdG8ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM0ODhweDtcbn1cblxuLml0aV9fdHIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM1MDRweDtcbn1cblxuLml0aV9fdHQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM1MjBweDtcbn1cblxuLml0aV9fdHYge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM1MzZweDtcbn1cblxuLml0aV9fdHcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM1NTJweDtcbn1cblxuLml0aV9fdHoge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM1NjhweDtcbn1cblxuLml0aV9fdWEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM1ODRweDtcbn1cblxuLml0aV9fdWcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM2MDBweDtcbn1cblxuLml0aV9fdXMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM2MTZweDtcbn1cblxuLml0aV9fdXkge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM2MzJweDtcbn1cblxuLml0aV9fdXoge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM2NDhweDtcbn1cblxuLml0aV9fdmEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM2NjRweDtcbn1cblxuLml0aV9fdmMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM2ODBweDtcbn1cblxuLml0aV9fdmUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM2OTZweDtcbn1cblxuLml0aV9fdmcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM3MTJweDtcbn1cblxuLml0aV9fdmkge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM3MjhweDtcbn1cblxuLml0aV9fdm4ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM3NDRweDtcbn1cblxuLml0aV9fdnUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM3NjBweDtcbn1cblxuLml0aV9fd2Yge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM3NzZweDtcbn1cblxuLml0aV9fd3Mge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM3OTJweDtcbn1cblxuLml0aV9feGsge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM4MDhweDtcbn1cblxuLml0aV9feWUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM4MjRweDtcbn1cblxuLml0aV9feXQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM4NDBweDtcbn1cblxuLml0aV9femEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM4NTZweDtcbn1cblxuLml0aV9fem0ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM4NzJweDtcbn1cblxuLml0aV9fencge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM4ODhweDtcbn1cblxuLml0aV9fZ2xvYmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pdGktcGF0aC1nbG9iZS0xeCk7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGhlaWdodDogMTlweDtcbn1cblxuQG1lZGlhIChtaW4tcmVzb2x1dGlvbjogMngpIHtcbiAgLml0aV9fZmxhZyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taXRpLXBhdGgtZmxhZ3MtMngpO1xuICB9XG4gIC5pdGlfX2dsb2JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pdGktcGF0aC1nbG9iZS0yeCk7XG4gIH1cbn0iLCJAbGF5ZXIgcmVzZXQ7XG5AbGF5ZXIgYmFzZTtcbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG46cm9vdCB7XG4gIC0taXRpLWhvdmVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICAtLWl0aS1ib3JkZXItY29sb3I6ICNjY2M7XG4gIC0taXRpLWRpYWxjb2RlLWNvbG9yOiAjOTk5O1xuICAtLWl0aS1kcm9wZG93bi1iZzogd2hpdGU7XG4gIC0taXRpLXNlYXJjaC1pY29uLWNvbG9yOiAjOTk5O1xuICAtLWl0aS1zcGFjZXItaG9yaXpvbnRhbDogOHB4O1xuICAtLWl0aS1mbGFnLWhlaWdodDogMTJweDtcbiAgLS1pdGktZmxhZy13aWR0aDogMTZweDtcbiAgLS1pdGktYm9yZGVyLXdpZHRoOiAxcHg7XG4gIC0taXRpLWFycm93LWhlaWdodDogNHB4O1xuICAtLWl0aS1hcnJvdy13aWR0aDogNnB4O1xuICAtLWl0aS10cmlhbmdsZS1ib3JkZXI6IGNhbGModmFyKC0taXRpLWFycm93LXdpZHRoKSAvIDIpO1xuICAtLWl0aS1hcnJvdy1wYWRkaW5nOiA2cHg7XG4gIC0taXRpLWFycm93LWNvbG9yOiAjNTU1O1xuICAtLWl0aS1wYXRoLWZsYWdzLTF4OiB1cmwoXCIuLi9pbWcvZmxhZ3Mud2VicFwiKTtcbiAgLS1pdGktcGF0aC1mbGFncy0yeDogdXJsKFwiLi4vaW1nL2ZsYWdzQDJ4LndlYnBcIik7XG4gIC0taXRpLXBhdGgtZ2xvYmUtMXg6IHVybChcIi4uL2ltZy9nbG9iZS53ZWJwXCIpO1xuICAtLWl0aS1wYXRoLWdsb2JlLTJ4OiB1cmwoXCIuLi9pbWcvZ2xvYmVAMngud2VicFwiKTtcbiAgLS1pdGktZmxhZy1zcHJpdGUtd2lkdGg6IDM5MDRweDtcbiAgLS1pdGktZmxhZy1zcHJpdGUtaGVpZ2h0OiAxMnB4O1xuICAtLWl0aS1tb2JpbGUtcG9wdXAtbWFyZ2luOiAzMHB4O1xufVxuXG4uaXRpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5pdGkgKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5pdGlfX2ExMXktdGV4dCB7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLml0aSBpbnB1dC5pdGlfX3RlbC1pbnB1dCxcbi5pdGkgaW5wdXQuaXRpX190ZWwtaW5wdXRbdHlwZT10ZXh0XSxcbi5pdGkgaW5wdXQuaXRpX190ZWwtaW5wdXRbdHlwZT10ZWxdIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwO1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbn1cblxuW2Rpcj1ydGxdIC5pdGkgaW5wdXQuaXRpX190ZWwtaW5wdXQsXG5bZGlyPXJ0bF0gLml0aSBpbnB1dC5pdGlfX3RlbC1pbnB1dFt0eXBlPXRleHRdLFxuW2Rpcj1ydGxdIC5pdGkgaW5wdXQuaXRpX190ZWwtaW5wdXRbdHlwZT10ZWxdIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5pdGlfX2NvdW50cnktY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgcGFkZGluZzogdmFyKC0taXRpLWJvcmRlci13aWR0aCk7XG59XG5cbi5pdGlfX3NlbGVjdGVkLWNvdW50cnkge1xuICB6LWluZGV4OiAxO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLml0aV9fc2VsZWN0ZWQtY291bnRyeS1wcmltYXJ5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAwIHZhcigtLWl0aS1hcnJvdy1wYWRkaW5nKSAwIHZhcigtLWl0aS1zcGFjZXItaG9yaXpvbnRhbCk7XG59XG5cbi5pdGlfX2Fycm93IHtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLWl0aS1hcnJvdy1wYWRkaW5nKTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLWxlZnQ6IHZhcigtLWl0aS10cmlhbmdsZS1ib3JkZXIpIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IHZhcigtLWl0aS10cmlhbmdsZS1ib3JkZXIpIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiB2YXIoLS1pdGktYXJyb3ctaGVpZ2h0KSBzb2xpZCB2YXIoLS1pdGktYXJyb3ctY29sb3IpO1xufVxuXG5bZGlyPXJ0bF0gLml0aV9fYXJyb3cge1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLWl0aS1hcnJvdy1wYWRkaW5nKTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5pdGlfX2Fycm93LS11cCB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IHZhcigtLWl0aS1hcnJvdy1oZWlnaHQpIHNvbGlkIHZhcigtLWl0aS1hcnJvdy1jb2xvcik7XG59XG5cbi5pdGlfX2Ryb3Bkb3duLWNvbnRlbnQge1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWl0aS1kcm9wZG93bi1iZyk7XG59XG5cbi5pdGktLWlubGluZS1kcm9wZG93biAuaXRpX19kcm9wZG93bi1jb250ZW50IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAyO1xuICBtYXJnaW4tdG9wOiAzcHg7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLWl0aS1ib3JkZXItd2lkdGgpICogLTEpO1xuICBib3JkZXI6IHZhcigtLWl0aS1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWl0aS1ib3JkZXItY29sb3IpO1xuICBib3gtc2hhZG93OiAxcHggMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG5cbi5pdGlfX3NlYXJjaC1pbnB1dCB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItd2lkdGg6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyOHB4O1xufVxuXG5bZGlyPXJ0bF0gLml0aV9fc2VhcmNoLWlucHV0IHtcbiAgcGFkZGluZy1sZWZ0OiBpbmhlcml0O1xuICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCA4cHggY2VudGVyO1xufVxuXG4uaXRpX19zZWFyY2gtaW5wdXQgKyAuaXRpX19jb3VudHJ5LWxpc3Qge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0taXRpLWJvcmRlci1jb2xvcik7XG59XG5cbi5pdGlfX3NlYXJjaC1pbnB1dDo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi5pdGlfX3NlYXJjaC1pbnB1dC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uaXRpX19zZWFyY2gtaWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogOHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuW2Rpcj1ydGxdIC5pdGlfX3NlYXJjaC1pY29uIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDhweDtcbn1cblxuLml0aV9fc2VhcmNoLWljb24tc3ZnIHtcbiAgc3Ryb2tlOiB2YXIoLS1pdGktc2VhcmNoLWljb24tY29sb3IpO1xuICBmaWxsOiBub25lO1xuICBzdHJva2Utd2lkdGg6IDM7XG59XG5cbi5pdGlfX3NlYXJjaC1jbGVhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDRweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBhZGRpbmc6IDRweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZTtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbn1cblxuLml0aV9fc2VhcmNoLWNsZWFyIC5pdGlfX3NlYXJjaC1jbGVhci14IHtcbiAgc3Ryb2tlLXdpZHRoOiAyO1xufVxuXG4uaXRpX19zZWFyY2gtY2xlYXIgLml0aV9fc2VhcmNoLWNsZWFyLWJnIHtcbiAgZmlsbDogdmFyKC0taXRpLXNlYXJjaC1pY29uLWNvbG9yKTtcbn1cblxuW2Rpcj1ydGxdIC5pdGlfX3NlYXJjaC1jbGVhciB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiA0cHg7XG59XG5cbi5pdGlfX3NlYXJjaC1jbGVhcjpob3ZlciwgLml0aV9fc2VhcmNoLWNsZWFyOmZvY3VzLXZpc2libGUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1pdGktaG92ZXItY29sb3IpO1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4uaXRpX19uby1yZXN1bHRzIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAzMHB4IDA7XG59XG5cbi5pdGlfX2NvdW50cnktbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cblxuLml0aS0taW5saW5lLWRyb3Bkb3duIC5pdGlfX2NvdW50cnktbGlzdCB7XG4gIG1heC1oZWlnaHQ6IDE4NXB4O1xufVxuXG4uaXRpLS1mbGV4aWJsZS1kcm9wZG93bi13aWR0aCAuaXRpX19jb3VudHJ5LWxpc3Qge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgLml0aS0tZmxleGlibGUtZHJvcGRvd24td2lkdGggLml0aV9fY291bnRyeS1saXN0IHtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB9XG59XG4uaXRpX19jb3VudHJ5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogOHB4IHZhcigtLWl0aS1zcGFjZXItaG9yaXpvbnRhbCk7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi5pdGlfX2RpYWwtY29kZSB7XG4gIGNvbG9yOiB2YXIoLS1pdGktZGlhbGNvZGUtY29sb3IpO1xufVxuXG4uaXRpX19jb3VudHJ5Lml0aV9faGlnaGxpZ2h0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taXRpLWhvdmVyLWNvbG9yKTtcbn1cblxuLml0aV9fY291bnRyeS1saXN0IC5pdGlfX2ZsYWcsIC5pdGlfX2NvdW50cnktbmFtZSB7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0taXRpLXNwYWNlci1ob3Jpem9udGFsKTtcbn1cblxuW2Rpcj1ydGxdIC5pdGlfX2NvdW50cnktbGlzdCAuaXRpX19mbGFnLCBbZGlyPXJ0bF0gLml0aV9fY291bnRyeS1uYW1lIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogdmFyKC0taXRpLXNwYWNlci1ob3Jpem9udGFsKTtcbn1cblxuLml0aS0tYWxsb3ctZHJvcGRvd24gLml0aV9fY291bnRyeS1jb250YWluZXI6bm90KDpoYXMoKyBpbnB1dFtkaXNhYmxlZF0pKTpub3QoOmhhcygrIGlucHV0W3JlYWRvbmx5XSkpIGJ1dHRvbi5pdGlfX3NlbGVjdGVkLWNvdW50cnkge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5pdGktLWFsbG93LWRyb3Bkb3duIC5pdGlfX2NvdW50cnktY29udGFpbmVyOm5vdCg6aGFzKCsgaW5wdXRbZGlzYWJsZWRdKSk6bm90KDpoYXMoKyBpbnB1dFtyZWFkb25seV0pKSAuaXRpX19zZWxlY3RlZC1jb3VudHJ5LXByaW1hcnk6aG92ZXIsXG4uaXRpLS1hbGxvdy1kcm9wZG93biAuaXRpX19jb3VudHJ5LWNvbnRhaW5lcjpub3QoOmhhcygrIGlucHV0W2Rpc2FibGVkXSkpOm5vdCg6aGFzKCsgaW5wdXRbcmVhZG9ubHldKSkgLml0aV9fc2VsZWN0ZWQtY291bnRyeTpoYXMoKyAuaXRpX19kcm9wZG93bi1jb250ZW50OmhvdmVyKSAuaXRpX19zZWxlY3RlZC1jb3VudHJ5LXByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pdGktaG92ZXItY29sb3IpO1xufVxuXG4uaXRpIC5pdGlfX3NlbGVjdGVkLWRpYWwtY29kZSB7XG4gIG1hcmdpbi1sZWZ0OiA0cHg7XG59XG5cbltkaXI9cnRsXSAuaXRpIC5pdGlfX3NlbGVjdGVkLWRpYWwtY29kZSB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDRweDtcbn1cblxuLml0aS0tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IC0xMDAwcHg7XG4gIGxlZnQ6IC0xMDAwcHg7XG4gIHotaW5kZXg6IDEwNjA7XG4gIHBhZGRpbmc6IHZhcigtLWl0aS1ib3JkZXItd2lkdGgpO1xufVxuXG4uaXRpLS1jb250YWluZXI6aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5pdGlfX2hpZGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uaXRpX192LWhpZGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5pdGktLWZ1bGxzY3JlZW4tcG9wdXAuaXRpLS1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBwYWRkaW5nOiB2YXIoLS1pdGktbW9iaWxlLXBvcHVwLW1hcmdpbik7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLml0aS0tZnVsbHNjcmVlbi1wb3B1cCAuaXRpX19kcm9wZG93bi1jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uaXRpLS1mdWxsc2NyZWVuLXBvcHVwIC5pdGlfX2NvdW50cnkge1xuICBwYWRkaW5nOiAxMHB4IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbn1cblxuLml0aV9fZmxhZyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAxMDBweDtcbiAgaGVpZ2h0OiB2YXIoLS1pdGktZmxhZy1oZWlnaHQpO1xuICB3aWR0aDogdmFyKC0taXRpLWZsYWctd2lkdGgpO1xuICBib3JkZXItcmFkaXVzOiAxcHg7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMXB4IDBweCAjODg4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pdGktcGF0aC1mbGFncy0xeCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHZhcigtLWl0aS1mbGFnLW9mZnNldCkgMDtcbiAgYmFja2dyb3VuZC1zaXplOiB2YXIoLS1pdGktZmxhZy1zcHJpdGUtd2lkdGgpIHZhcigtLWl0aS1mbGFnLXNwcml0ZS1oZWlnaHQpO1xufVxuXG4uaXRpX19hYyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAwcHg7XG59XG5cbi5pdGlfX2FkIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNnB4O1xufVxuXG4uaXRpX19hZSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzJweDtcbn1cblxuLml0aV9fYWYge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTQ4cHg7XG59XG5cbi5pdGlfX2FnIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC02NHB4O1xufVxuXG4uaXRpX19haSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtODBweDtcbn1cblxuLml0aV9fYWwge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTk2cHg7XG59XG5cbi5pdGlfX2FtIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMTJweDtcbn1cblxuLml0aV9fYW8ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEyOHB4O1xufVxuXG4uaXRpX19hciB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTQ0cHg7XG59XG5cbi5pdGlfX2FzIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNjBweDtcbn1cblxuLml0aV9fYXQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE3NnB4O1xufVxuXG4uaXRpX19hdSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTkycHg7XG59XG5cbi5pdGlfX2F3IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMDhweDtcbn1cblxuLml0aV9fYXgge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIyNHB4O1xufVxuXG4uaXRpX19heiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjQwcHg7XG59XG5cbi5pdGlfX2JhIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNTZweDtcbn1cblxuLml0aV9fYmIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI3MnB4O1xufVxuXG4uaXRpX19iZCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjg4cHg7XG59XG5cbi5pdGlfX2JlIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMDRweDtcbn1cblxuLml0aV9fYmYge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMyMHB4O1xufVxuXG4uaXRpX19iZyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzM2cHg7XG59XG5cbi5pdGlfX2JoIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNTJweDtcbn1cblxuLml0aV9fYmkge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM2OHB4O1xufVxuXG4uaXRpX19iaiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzg0cHg7XG59XG5cbi5pdGlfX2JsIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC00MDBweDtcbn1cblxuLml0aV9fYm0ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTQxNnB4O1xufVxuXG4uaXRpX19ibiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNDMycHg7XG59XG5cbi5pdGlfX2JvIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC00NDhweDtcbn1cblxuLml0aV9fYnEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTQ2NHB4O1xufVxuXG4uaXRpX19iciB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNDgwcHg7XG59XG5cbi5pdGlfX2JzIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC00OTZweDtcbn1cblxuLml0aV9fYnQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTUxMnB4O1xufVxuXG4uaXRpX19idyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNTI4cHg7XG59XG5cbi5pdGlfX2J5IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC01NDRweDtcbn1cblxuLml0aV9fYnoge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTU2MHB4O1xufVxuXG4uaXRpX19jYSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNTc2cHg7XG59XG5cbi5pdGlfX2NjIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC01OTJweDtcbn1cblxuLml0aV9fY2Qge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTYwOHB4O1xufVxuXG4uaXRpX19jZiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNjI0cHg7XG59XG5cbi5pdGlfX2NnIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC02NDBweDtcbn1cblxuLml0aV9fY2gge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTY1NnB4O1xufVxuXG4uaXRpX19jaSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNjcycHg7XG59XG5cbi5pdGlfX2NrIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC02ODhweDtcbn1cblxuLml0aV9fY2wge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTcwNHB4O1xufVxuXG4uaXRpX19jbSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNzIwcHg7XG59XG5cbi5pdGlfX2NuIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC03MzZweDtcbn1cblxuLml0aV9fY28ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTc1MnB4O1xufVxuXG4uaXRpX19jciB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNzY4cHg7XG59XG5cbi5pdGlfX2N1IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC03ODRweDtcbn1cblxuLml0aV9fY3Yge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTgwMHB4O1xufVxuXG4uaXRpX19jdyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtODE2cHg7XG59XG5cbi5pdGlfX2N4IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC04MzJweDtcbn1cblxuLml0aV9fY3kge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTg0OHB4O1xufVxuXG4uaXRpX19jeiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtODY0cHg7XG59XG5cbi5pdGlfX2RlIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC04ODBweDtcbn1cblxuLml0aV9fZGoge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTg5NnB4O1xufVxuXG4uaXRpX19kayB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtOTEycHg7XG59XG5cbi5pdGlfX2RtIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC05MjhweDtcbn1cblxuLml0aV9fZG8ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTk0NHB4O1xufVxuXG4uaXRpX19keiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtOTYwcHg7XG59XG5cbi5pdGlfX2VjIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC05NzZweDtcbn1cblxuLml0aV9fZWUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTk5MnB4O1xufVxuXG4uaXRpX19lZyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTAwOHB4O1xufVxuXG4uaXRpX19laCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTAyNHB4O1xufVxuXG4uaXRpX19lciB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTA0MHB4O1xufVxuXG4uaXRpX19lcyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTA1NnB4O1xufVxuXG4uaXRpX19ldCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTA3MnB4O1xufVxuXG4uaXRpX19maSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTA4OHB4O1xufVxuXG4uaXRpX19maiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTEwNHB4O1xufVxuXG4uaXRpX19mayB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTEyMHB4O1xufVxuXG4uaXRpX19mbSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTEzNnB4O1xufVxuXG4uaXRpX19mbyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTE1MnB4O1xufVxuXG4uaXRpX19mciB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTE2OHB4O1xufVxuXG4uaXRpX19nYSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTE4NHB4O1xufVxuXG4uaXRpX19nYiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTIwMHB4O1xufVxuXG4uaXRpX19nZCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTIxNnB4O1xufVxuXG4uaXRpX19nZSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTIzMnB4O1xufVxuXG4uaXRpX19nZiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTI0OHB4O1xufVxuXG4uaXRpX19nZyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTI2NHB4O1xufVxuXG4uaXRpX19naCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTI4MHB4O1xufVxuXG4uaXRpX19naSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTI5NnB4O1xufVxuXG4uaXRpX19nbCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTMxMnB4O1xufVxuXG4uaXRpX19nbSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTMyOHB4O1xufVxuXG4uaXRpX19nbiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTM0NHB4O1xufVxuXG4uaXRpX19ncCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTM2MHB4O1xufVxuXG4uaXRpX19ncSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTM3NnB4O1xufVxuXG4uaXRpX19nciB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTM5MnB4O1xufVxuXG4uaXRpX19ndCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTQwOHB4O1xufVxuXG4uaXRpX19ndSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTQyNHB4O1xufVxuXG4uaXRpX19ndyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTQ0MHB4O1xufVxuXG4uaXRpX19neSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTQ1NnB4O1xufVxuXG4uaXRpX19oayB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTQ3MnB4O1xufVxuXG4uaXRpX19obiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTQ4OHB4O1xufVxuXG4uaXRpX19ociB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTUwNHB4O1xufVxuXG4uaXRpX19odCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTUyMHB4O1xufVxuXG4uaXRpX19odSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTUzNnB4O1xufVxuXG4uaXRpX19pZCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTU1MnB4O1xufVxuXG4uaXRpX19pZSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTU2OHB4O1xufVxuXG4uaXRpX19pbCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTU4NHB4O1xufVxuXG4uaXRpX19pbSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTYwMHB4O1xufVxuXG4uaXRpX19pbiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTYxNnB4O1xufVxuXG4uaXRpX19pbyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTYzMnB4O1xufVxuXG4uaXRpX19pcSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTY0OHB4O1xufVxuXG4uaXRpX19pciB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTY2NHB4O1xufVxuXG4uaXRpX19pcyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTY4MHB4O1xufVxuXG4uaXRpX19pdCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTY5NnB4O1xufVxuXG4uaXRpX19qZSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTcxMnB4O1xufVxuXG4uaXRpX19qbSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTcyOHB4O1xufVxuXG4uaXRpX19qbyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTc0NHB4O1xufVxuXG4uaXRpX19qcCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTc2MHB4O1xufVxuXG4uaXRpX19rZSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTc3NnB4O1xufVxuXG4uaXRpX19rZyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTc5MnB4O1xufVxuXG4uaXRpX19raCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTgwOHB4O1xufVxuXG4uaXRpX19raSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTgyNHB4O1xufVxuXG4uaXRpX19rbSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTg0MHB4O1xufVxuXG4uaXRpX19rbiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTg1NnB4O1xufVxuXG4uaXRpX19rcCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTg3MnB4O1xufVxuXG4uaXRpX19rciB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTg4OHB4O1xufVxuXG4uaXRpX19rdyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTkwNHB4O1xufVxuXG4uaXRpX19reSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTkyMHB4O1xufVxuXG4uaXRpX19reiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTkzNnB4O1xufVxuXG4uaXRpX19sYSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTk1MnB4O1xufVxuXG4uaXRpX19sYiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTk2OHB4O1xufVxuXG4uaXRpX19sYyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTk4NHB4O1xufVxuXG4uaXRpX19saSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjAwMHB4O1xufVxuXG4uaXRpX19sayB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjAxNnB4O1xufVxuXG4uaXRpX19sciB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjAzMnB4O1xufVxuXG4uaXRpX19scyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjA0OHB4O1xufVxuXG4uaXRpX19sdCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjA2NHB4O1xufVxuXG4uaXRpX19sdSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjA4MHB4O1xufVxuXG4uaXRpX19sdiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjA5NnB4O1xufVxuXG4uaXRpX19seSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjExMnB4O1xufVxuXG4uaXRpX19tYSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjEyOHB4O1xufVxuXG4uaXRpX19tYyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjE0NHB4O1xufVxuXG4uaXRpX19tZCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjE2MHB4O1xufVxuXG4uaXRpX19tZSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjE3NnB4O1xufVxuXG4uaXRpX19tZiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjE5MnB4O1xufVxuXG4uaXRpX19tZyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjIwOHB4O1xufVxuXG4uaXRpX19taCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjIyNHB4O1xufVxuXG4uaXRpX19tayB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjI0MHB4O1xufVxuXG4uaXRpX19tbCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjI1NnB4O1xufVxuXG4uaXRpX19tbSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjI3MnB4O1xufVxuXG4uaXRpX19tbiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjI4OHB4O1xufVxuXG4uaXRpX19tbyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjMwNHB4O1xufVxuXG4uaXRpX19tcCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjMyMHB4O1xufVxuXG4uaXRpX19tcSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjMzNnB4O1xufVxuXG4uaXRpX19tciB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjM1MnB4O1xufVxuXG4uaXRpX19tcyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjM2OHB4O1xufVxuXG4uaXRpX19tdCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjM4NHB4O1xufVxuXG4uaXRpX19tdSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjQwMHB4O1xufVxuXG4uaXRpX19tdiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjQxNnB4O1xufVxuXG4uaXRpX19tdyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjQzMnB4O1xufVxuXG4uaXRpX19teCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjQ0OHB4O1xufVxuXG4uaXRpX19teSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjQ2NHB4O1xufVxuXG4uaXRpX19teiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjQ4MHB4O1xufVxuXG4uaXRpX19uYSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjQ5NnB4O1xufVxuXG4uaXRpX19uYyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjUxMnB4O1xufVxuXG4uaXRpX19uZSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjUyOHB4O1xufVxuXG4uaXRpX19uZiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjU0NHB4O1xufVxuXG4uaXRpX19uZyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjU2MHB4O1xufVxuXG4uaXRpX19uaSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjU3NnB4O1xufVxuXG4uaXRpX19ubCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjU5MnB4O1xufVxuXG4uaXRpX19ubyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjYwOHB4O1xufVxuXG4uaXRpX19ucCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjYyNHB4O1xufVxuXG4uaXRpX19uciB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjY0MHB4O1xufVxuXG4uaXRpX19udSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjY1NnB4O1xufVxuXG4uaXRpX19ueiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjY3MnB4O1xufVxuXG4uaXRpX19vbSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjY4OHB4O1xufVxuXG4uaXRpX19wYSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjcwNHB4O1xufVxuXG4uaXRpX19wZSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjcyMHB4O1xufVxuXG4uaXRpX19wZiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjczNnB4O1xufVxuXG4uaXRpX19wZyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjc1MnB4O1xufVxuXG4uaXRpX19waCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjc2OHB4O1xufVxuXG4uaXRpX19wayB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjc4NHB4O1xufVxuXG4uaXRpX19wbCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjgwMHB4O1xufVxuXG4uaXRpX19wbSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjgxNnB4O1xufVxuXG4uaXRpX19wciB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjgzMnB4O1xufVxuXG4uaXRpX19wcyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjg0OHB4O1xufVxuXG4uaXRpX19wdCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjg2NHB4O1xufVxuXG4uaXRpX19wdyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjg4MHB4O1xufVxuXG4uaXRpX19weSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjg5NnB4O1xufVxuXG4uaXRpX19xYSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjkxMnB4O1xufVxuXG4uaXRpX19yZSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjkyOHB4O1xufVxuXG4uaXRpX19ybyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjk0NHB4O1xufVxuXG4uaXRpX19ycyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjk2MHB4O1xufVxuXG4uaXRpX19ydSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjk3NnB4O1xufVxuXG4uaXRpX19ydyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjk5MnB4O1xufVxuXG4uaXRpX19zYSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzAwOHB4O1xufVxuXG4uaXRpX19zYiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzAyNHB4O1xufVxuXG4uaXRpX19zYyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzA0MHB4O1xufVxuXG4uaXRpX19zZCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzA1NnB4O1xufVxuXG4uaXRpX19zZSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzA3MnB4O1xufVxuXG4uaXRpX19zZyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzA4OHB4O1xufVxuXG4uaXRpX19zaCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzEwNHB4O1xufVxuXG4uaXRpX19zaSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzEyMHB4O1xufVxuXG4uaXRpX19zaiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzEzNnB4O1xufVxuXG4uaXRpX19zayB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzE1MnB4O1xufVxuXG4uaXRpX19zbCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzE2OHB4O1xufVxuXG4uaXRpX19zbSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzE4NHB4O1xufVxuXG4uaXRpX19zbiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzIwMHB4O1xufVxuXG4uaXRpX19zbyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzIxNnB4O1xufVxuXG4uaXRpX19zciB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzIzMnB4O1xufVxuXG4uaXRpX19zcyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzI0OHB4O1xufVxuXG4uaXRpX19zdCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzI2NHB4O1xufVxuXG4uaXRpX19zdiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzI4MHB4O1xufVxuXG4uaXRpX19zeCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzI5NnB4O1xufVxuXG4uaXRpX19zeSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzMxMnB4O1xufVxuXG4uaXRpX19zeiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzMyOHB4O1xufVxuXG4uaXRpX190YyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzM0NHB4O1xufVxuXG4uaXRpX190ZCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzM2MHB4O1xufVxuXG4uaXRpX190ZyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzM3NnB4O1xufVxuXG4uaXRpX190aCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzM5MnB4O1xufVxuXG4uaXRpX190aiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzQwOHB4O1xufVxuXG4uaXRpX190ayB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzQyNHB4O1xufVxuXG4uaXRpX190bCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzQ0MHB4O1xufVxuXG4uaXRpX190bSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzQ1NnB4O1xufVxuXG4uaXRpX190biB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzQ3MnB4O1xufVxuXG4uaXRpX190byB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzQ4OHB4O1xufVxuXG4uaXRpX190ciB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzUwNHB4O1xufVxuXG4uaXRpX190dCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzUyMHB4O1xufVxuXG4uaXRpX190diB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzUzNnB4O1xufVxuXG4uaXRpX190dyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzU1MnB4O1xufVxuXG4uaXRpX190eiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzU2OHB4O1xufVxuXG4uaXRpX191YSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzU4NHB4O1xufVxuXG4uaXRpX191ZyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzYwMHB4O1xufVxuXG4uaXRpX191cyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzYxNnB4O1xufVxuXG4uaXRpX191eSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzYzMnB4O1xufVxuXG4uaXRpX191eiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzY0OHB4O1xufVxuXG4uaXRpX192YSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzY2NHB4O1xufVxuXG4uaXRpX192YyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzY4MHB4O1xufVxuXG4uaXRpX192ZSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzY5NnB4O1xufVxuXG4uaXRpX192ZyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzcxMnB4O1xufVxuXG4uaXRpX192aSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzcyOHB4O1xufVxuXG4uaXRpX192biB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzc0NHB4O1xufVxuXG4uaXRpX192dSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzc2MHB4O1xufVxuXG4uaXRpX193ZiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzc3NnB4O1xufVxuXG4uaXRpX193cyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzc5MnB4O1xufVxuXG4uaXRpX194ayB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzgwOHB4O1xufVxuXG4uaXRpX195ZSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzgyNHB4O1xufVxuXG4uaXRpX195dCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzg0MHB4O1xufVxuXG4uaXRpX196YSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzg1NnB4O1xufVxuXG4uaXRpX196bSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzg3MnB4O1xufVxuXG4uaXRpX196dyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzg4OHB4O1xufVxuXG4uaXRpX19nbG9iZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWl0aS1wYXRoLWdsb2JlLTF4KTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgaGVpZ2h0OiAxOXB4O1xufVxuXG5AbWVkaWEgKG1pbi1yZXNvbHV0aW9uOiAyeCkge1xuICAuaXRpX19mbGFnIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pdGktcGF0aC1mbGFncy0yeCk7XG4gIH1cbiAgLml0aV9fZ2xvYmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWl0aS1wYXRoLWdsb2JlLTJ4KTtcbiAgfVxufVxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuOnJvb3Qge1xuICAtLXRvcC1vZmZzZXQ6IDU1cHg7XG4gIC0tbGVmdC1vZmZzZXQ6IDQwcHg7XG4gIC0tYm90dG9tLW9mZnNldDogMzBweDtcbiAgLS1ncmlkLWdhcDogNXB4O1xuICAtLW1haW4tc2lkZWJhcjogMjUwcHg7XG4gIC0tbmF2SDogMzAwcHg7XG4gIC0tbmF2VzogNzQwcHg7XG4gIC0tbmF2LW9mZnNldDogMTQ1cHg7XG4gIC0tZm9vdGVyLWhlaWdodDogMTEzcHg7XG4gIC0tZm9vdGVyLXdpZHRoOiAyNjBweDtcbiAgLS1zbGlkZS1zaWRlYmFyOiAxMzVweDtcbiAgLS1zbGlkZS1wYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICAtLXNsaWRlLXRvcDogOTBweDtcbiAgLS1zbGlkZS1jb250ZW50LXRvcDogNjBweDtcbiAgLS1zbGlkZS1wYWRkaW5nLWxlZnQ6IDI1cHg7XG59XG5cbi8qLS0tVEVYVCBBTkQgRk9OVC0tLSovXG4vKi0tLUJBQ0tHUk9VTkQtLS0qL1xuLyotLS1QT1NJVElPTklORy0tLSovXG4vKi0tLUNPTlRFTlQtLS0qL1xuLyotLS1MSVNUUy0tLSovXG4vKi0tLUJPUkRFUiBBUlJPV1MtLS0qL1xuLyoqRm9ybXMqKi9cbi8qKiBERUZBVUxUIE9WRVJSSURFUyAqKi9cbkBsYXllciBiYXNlIHtcbiAgLmZpZWxkV3JhcHBlcixcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgfVxuICAuZmllbGRXcmFwcGVyIGxhYmVsOm5vdCguY2hlY2tib3hMYWJlbCksXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyIGxhYmVsOm5vdCguY2hlY2tib3hMYWJlbCksXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUgbGFiZWw6bm90KC5jaGVja2JveExhYmVsKSxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQgbGFiZWw6bm90KC5jaGVja2JveExhYmVsKSB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgfVxuICAuZmllbGRXcmFwcGVyIGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1yYWRpb10pLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlciBpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9cmFkaW9dKSxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSBpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9cmFkaW9dKSxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQgaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KFt0eXBlPXJhZGlvXSkge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICB9XG4gIC5maWVsZFdyYXBwZXIgaW5wdXQ6Oi1tcy1yZXZlYWwsXG4gIC5maWVsZFdyYXBwZXIgaW5wdXQ6Oi1tcy1jbGVhcixcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgaW5wdXQ6Oi1tcy1yZXZlYWwsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyIGlucHV0OjotbXMtY2xlYXIsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUgaW5wdXQ6Oi1tcy1yZXZlYWwsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUgaW5wdXQ6Oi1tcy1jbGVhcixcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQgaW5wdXQ6Oi1tcy1yZXZlYWwsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIGlucHV0OjotbXMtY2xlYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmZpZWxkV3JhcHBlciAuZGVzY3JpcHRpb24sXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyIC5kZXNjcmlwdGlvbixcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSAuZGVzY3JpcHRpb24sXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIC5kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogNnB4O1xuICAgIGZvbnQtc2l6ZTogMC44NGVtO1xuICAgIGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tYmFzaWMpIGNhbGMoMC44NSAqIDEwMCUpLCB0cmFuc3BhcmVudCk7XG4gIH1cbiAgLmZpZWxkV3JhcHBlciB0ZXh0YXJlYSxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQubG9uZ2Fuc3dlciB0ZXh0YXJlYSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gIH1cbiAgLmRyb3Bkb3duV3JhcHBlcixcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuZHJvcGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICB9XG4gIC5kcm9wZG93bldyYXBwZXIgc2VsZWN0LFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5kcm9wZG93biBzZWxlY3Qge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgZmlsbD0nYmxhY2snIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgd2lkdGg9JzI0JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxwYXRoIGQ9J003IDEwbDUgNSA1LTV6Jy8+PHBhdGggZD0nTTAgMGgyNHYyNEgweicgZmlsbD0nbm9uZScvPjwvc3ZnPlwiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjVweCA1MHB4O1xuICB9XG4gIC5kcm9wZG93bldyYXBwZXIgc2VsZWN0OjotbXMtZXhwYW5kLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5kcm9wZG93biBzZWxlY3Q6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmNvbnRyb2xXcmFwcGVyLFxuICAuYWRnLXVtYnJhY28tZm9ybXMtY29udHJvbHdyYXBwZXIge1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB2YXIoLS1saWdodC1ncmV5KTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICB9XG4gIC5jb250cm9sV3JhcHBlcjpsYXN0LWNoaWxkLFxuICAuYWRnLXVtYnJhY28tZm9ybXMtY29udHJvbHdyYXBwZXI6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICB9XG4gIC5jb250cm9sV3JhcHBlciAuY29udHJvbCxcbiAgLmFkZy11bWJyYWNvLWZvcm1zLWNvbnRyb2x3cmFwcGVyIC5jb250cm9sIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAgLmNvbnRyb2xXcmFwcGVyIGxhYmVsLFxuICAuYWRnLXVtYnJhY28tZm9ybXMtY29udHJvbHdyYXBwZXIgbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgLmNvbnRyb2xXcmFwcGVyIC5kZXNjcmlwdGlvbixcbiAgLmFkZy11bWJyYWNvLWZvcm1zLWNvbnRyb2x3cmFwcGVyIC5kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogNnB4O1xuICAgIGZvbnQtc2l6ZTogMC44NGVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjNlbTtcbiAgICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWJhc2ljKSBjYWxjKDAuODUgKiAxMDAlKSwgdHJhbnNwYXJlbnQpO1xuICB9XG4gIC5maWVsZFdyYXBwZXIuZW5yb2xsZWVOYW1lIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgei1pbmRleDogLTE7XG4gIH1cbiAgLnN0eWxlZEZpZWxkc2V0LFxuICAudW1icmFjby1mb3Jtcy1maWVsZHNldCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWxpZ2h0LWdyZXkpO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWxpZ2h0LWdyZXkpIGNhbGMoMC40ICogMTAwJSksIHRyYW5zcGFyZW50KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuc3R5bGVkRmllbGRzZXQgbGVnZW5kLFxuICAuc3R5bGVkRmllbGRzZXQgLmdyb3VwTGVnZW5kLFxuICAudW1icmFjby1mb3Jtcy1maWVsZHNldCBsZWdlbmQsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkc2V0IC5ncm91cExlZ2VuZCB7XG4gICAgcGFkZGluZzogNHB4IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhc2ljKTtcbiAgICBjb2xvcjogdmFyKC0tYmFzaWMtY29udHJhc3QpO1xuICB9XG4gIC5zdHlsZWRGaWVsZHNldCAuZ3JvdXBMZWdlbmQsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkc2V0IC5ncm91cExlZ2VuZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgYXV0byAxMHB4O1xuICB9XG4gIC5zdHlsZWRGaWVsZHNldCAuZmllbGRzZXRHcmlkLFxuICAudW1icmFjby1mb3Jtcy1maWVsZHNldCAuZmllbGRzZXRHcmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICBnYXA6IDEycHg7XG4gIH1cbiAgLnN0eWxlZEZpZWxkc2V0IC5maWVsZHNldEdyaWQgLmZpZWxkV3JhcHBlcixcbiAgLnN0eWxlZEZpZWxkc2V0IC5maWVsZHNldEdyaWQgLmNvbnRyb2xXcmFwcGVyLFxuICAudW1icmFjby1mb3Jtcy1maWVsZHNldCAuZmllbGRzZXRHcmlkIC5maWVsZFdyYXBwZXIsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkc2V0IC5maWVsZHNldEdyaWQgLmNvbnRyb2xXcmFwcGVyIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgLmZpZWxkV3JhcHBlcixcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIHtcbiAgICBtYXJnaW46IDEwcHggYXV0bztcbiAgfVxuICAuZmllbGRXcmFwcGVyIGxhYmVsOm5vdCguY2hlY2tib3hMYWJlbCksXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyIGxhYmVsOm5vdCguY2hlY2tib3hMYWJlbCksXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUgbGFiZWw6bm90KC5jaGVja2JveExhYmVsKSxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQgbGFiZWw6bm90KC5jaGVja2JveExhYmVsKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogOHB4O1xuICAgIGxlZnQ6IDhweDtcbiAgICB6LWluZGV4OiAyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCAwIDVweDtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXNpemU6IDAuOGVtO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1wcmltYXJ5LWZvbnQpO1xuICAgIGNvbG9yOiB2YXIoLS1iYXNpYyk7XG4gIH1cbiAgLmZpZWxkV3JhcHBlciBpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9cmFkaW9dKTpub3QoLml0aV9fc2VhcmNoLWlucHV0KSxcbiAgLmZpZWxkV3JhcHBlciB0ZXh0YXJlYSxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KFt0eXBlPXJhZGlvXSk6bm90KC5pdGlfX3NlYXJjaC1pbnB1dCksXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyIHRleHRhcmVhLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5kYXRlIGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1yYWRpb10pOm5vdCguaXRpX19zZWFyY2gtaW5wdXQpLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5kYXRlIHRleHRhcmVhLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCBpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9cmFkaW9dKTpub3QoLml0aV9fc2VhcmNoLWlucHV0KSxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQgdGV4dGFyZWEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiA0OHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1ncmV5KTtcbiAgICBwYWRkaW5nOiAyM3B4IDhweCA2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodCk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICAuZmllbGRXcmFwcGVyIC5zaG93SGlkZSxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgLnNob3dIaWRlLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5kYXRlIC5zaG93SGlkZSxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQgLnNob3dIaWRlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogNTNweDtcbiAgICB3aWR0aDogNDBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XG4gICAgY29sb3I6IHZhcigtLWJyYW5kLWRhcmstY29udHJhc3QpO1xuICB9XG4gIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgICAuZmllbGRXcmFwcGVyIC5zaG93SGlkZTpob3ZlcixcbiAgICAudW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlciAuc2hvd0hpZGU6aG92ZXIsXG4gICAgLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSAuc2hvd0hpZGU6aG92ZXIsXG4gICAgLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQgLnNob3dIaWRlOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gICAgICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbiAgICB9XG4gIH1cbiAgW2RhdGEtYnJvd3Nlcj1pZV0gLmZpZWxkV3JhcHBlciAuc2hvd0hpZGU6aG92ZXIsXG4gIFtkYXRhLWJyb3dzZXI9aWVdIC51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyIC5zaG93SGlkZTpob3ZlcixcbiAgW2RhdGEtYnJvd3Nlcj1pZV0gLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSAuc2hvd0hpZGU6aG92ZXIsXG4gIFtkYXRhLWJyb3dzZXI9aWVdIC51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIC5zaG93SGlkZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbiAgfVxuICAuaWUgLmZpZWxkV3JhcHBlciAuc2hvd0hpZGU6aG92ZXIsXG4gIC5pZSAudW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlciAuc2hvd0hpZGU6aG92ZXIsXG4gIC5pZSAudW1icmFjby1mb3Jtcy1maWVsZC5kYXRlIC5zaG93SGlkZTpob3ZlcixcbiAgLmllIC51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIC5zaG93SGlkZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbiAgfVxuICAuZmllbGRXcmFwcGVyIC5zaG93SGlkZS5mb2N1cy12aXNpYmxlLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlciAuc2hvd0hpZGUuZm9jdXMtdmlzaWJsZSxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSAuc2hvd0hpZGUuZm9jdXMtdmlzaWJsZSxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQgLnNob3dIaWRlLmZvY3VzLXZpc2libGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gICAgY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG4gIH1cbiAgLmZpZWxkV3JhcHBlciAuc2hvd0hpZGU6Zm9jdXMtdmlzaWJsZSxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgLnNob3dIaWRlOmZvY3VzLXZpc2libGUsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUgLnNob3dIaWRlOmZvY3VzLXZpc2libGUsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIC5zaG93SGlkZTpmb2N1cy12aXNpYmxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQpO1xuICAgIGNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpO1xuICB9XG4gIC5maWVsZFdyYXBwZXIgLnNob3dIaWRlW2FyaWEtY2hlY2tlZD10cnVlXSAuaWNvbjphZnRlcixcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgLnNob3dIaWRlW2FyaWEtY2hlY2tlZD10cnVlXSAuaWNvbjphZnRlcixcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSAuc2hvd0hpZGVbYXJpYS1jaGVja2VkPXRydWVdIC5pY29uOmFmdGVyLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCAuc2hvd0hpZGVbYXJpYS1jaGVja2VkPXRydWVdIC5pY29uOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiAzcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC00NWRlZyk7XG4gICAgYmFja2dyb3VuZDogY3VycmVudENvbG9yO1xuICB9XG4gIC5maWVsZFdyYXBwZXIgLnNob3dIaWRlIC5pY29uLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlciAuc2hvd0hpZGUgLmljb24sXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUgLnNob3dIaWRlIC5pY29uLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCAuc2hvd0hpZGUgLmljb24ge1xuICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gIH1cbiAgLmZpZWxkV3JhcHBlciAjUGFzc3dvcmQ6Zm9jdXMgKyAjcmVxdWlyZW1lbnRzLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlciAjUGFzc3dvcmQ6Zm9jdXMgKyAjcmVxdWlyZW1lbnRzLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5kYXRlICNQYXNzd29yZDpmb2N1cyArICNyZXF1aXJlbWVudHMsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkICNQYXNzd29yZDpmb2N1cyArICNyZXF1aXJlbWVudHMge1xuICAgIG1heC1oZWlnaHQ6IDEwMDBweDtcbiAgfVxuICAuZmllbGRXcmFwcGVyICNyZXF1aXJlbWVudHMsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyICNyZXF1aXJlbWVudHMsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUgI3JlcXVpcmVtZW50cyxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQgI3JlcXVpcmVtZW50cyB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAxMHB4IDAgMCAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWF4LWhlaWdodDogMDtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDgwMG1zIGVhc2UtaW4tb3V0O1xuICB9XG4gIC5maWVsZFdyYXBwZXIgI3JlcXVpcmVtZW50cyBsaSxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgI3JlcXVpcmVtZW50cyBsaSxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSAjcmVxdWlyZW1lbnRzIGxpLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCAjcmVxdWlyZW1lbnRzIGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAwLjllbTtcbiAgfVxuICAuZmllbGRXcmFwcGVyICNyZXF1aXJlbWVudHMgbGkudmFsaWQgLmljb24sXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyICNyZXF1aXJlbWVudHMgbGkudmFsaWQgLmljb24sXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUgI3JlcXVpcmVtZW50cyBsaS52YWxpZCAuaWNvbixcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQgI3JlcXVpcmVtZW50cyBsaS52YWxpZCAuaWNvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29ycmVjdCk7XG4gICAgY29sb3I6IHZhcigtLWNvcnJlY3QtY29udHJhc3QpO1xuICAgIGZvbnQtc2l6ZTogMC44OGVtO1xuICAgIHBhZGRpbmctdG9wOiAwLjFlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxuICAuZmllbGRXcmFwcGVyICNyZXF1aXJlbWVudHMgbGkgLmljb24sXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyICNyZXF1aXJlbWVudHMgbGkgLmljb24sXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUgI3JlcXVpcmVtZW50cyBsaSAuaWNvbixcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQgI3JlcXVpcmVtZW50cyBsaSAuaWNvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3JvbmcpO1xuICAgIGNvbG9yOiB2YXIoLS13cm9uZy1jb250cmFzdCk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBmb250LXNpemU6IDAuOTVlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4xZW07XG4gIH1cbiAgLmRyb3Bkb3duV3JhcHBlciBsYWJlbDpub3QoLmNoZWNrYm94TGFiZWwpLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5kcm9wZG93biBsYWJlbDpub3QoLmNoZWNrYm94TGFiZWwpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA4cHg7XG4gICAgbGVmdDogOHB4O1xuICAgIHotaW5kZXg6IDI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIDAgNXB4O1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLXByaW1hcnktZm9udCk7XG4gICAgY29sb3I6IHZhcigtLWJhc2ljKTtcbiAgfVxuICAuZHJvcGRvd25XcmFwcGVyIHNlbGVjdCxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuZHJvcGRvd24gc2VsZWN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogNTJweDtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tZ3JleSk7XG4gICAgcGFkZGluZzogMjZweCA0NXB4IDhweCA4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodCk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICAudW1icmFjby1mb3Jtcy1maWVsZC5sb25nYW5zd2VyIHRleHRhcmVhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogNTZweDtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tZ3JleSk7XG4gICAgcGFkZGluZzogNnB4IDhweCA2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodCk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICBmb3JtIC5lcnJvcixcbiAgLmZvcm1XcmFwIC5lcnJvciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiA0cHggMDtcbiAgICBwYWRkaW5nOiAycHggNHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cm9uZyk7XG4gICAgY29sb3I6IHZhcigtLXdyb25nLWNvbnRyYXN0KTtcbiAgfVxuICBmb3JtIC5lcnJvcjplbXB0eSxcbiAgLmZvcm1XcmFwIC5lcnJvcjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjcwcHgpIHtcbiAgICAuc3R5bGVkRmllbGRzZXQsXG4gICAgLnVtYnJhY28tZm9ybXMtZmllbGRzZXQge1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICB9XG4gICAgLnN0eWxlZEZpZWxkc2V0IC5maWVsZHNldEdyaWQsXG4gICAgLnVtYnJhY28tZm9ybXMtZmllbGRzZXQgLmZpZWxkc2V0R3JpZCB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG5vbmU7XG4gICAgfVxuICB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA1MjBweCkge1xuICAgIC5jb250cm9sV3JhcHBlciBsYWJlbCB7XG4gICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDUwcHgpIHtcbiAgICAuY29udHJvbFdyYXBwZXIgbGFiZWwge1xuICAgICAgZm9udC1zaXplOiAwLjllbTtcbiAgICB9XG4gIH1cbn1cbi5maWVsZFdyYXBwZXIgLmRlc2NyaXB0aW9uID4gKjpmaXJzdC1jaGlsZCxcbi51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyIC5kZXNjcmlwdGlvbiA+ICo6Zmlyc3QtY2hpbGQsXG4udW1icmFjby1mb3Jtcy1maWVsZC5kYXRlIC5kZXNjcmlwdGlvbiA+ICo6Zmlyc3QtY2hpbGQsXG4udW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCAuZGVzY3JpcHRpb24gPiAqOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuLmZpZWxkV3JhcHBlciAuZGVzY3JpcHRpb24gPiAqOmxhc3QtY2hpbGQsXG4udW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlciAuZGVzY3JpcHRpb24gPiAqOmxhc3QtY2hpbGQsXG4udW1icmFjby1mb3Jtcy1maWVsZC5kYXRlIC5kZXNjcmlwdGlvbiA+ICo6bGFzdC1jaGlsZCxcbi51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIC5kZXNjcmlwdGlvbiA+ICo6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLmNvbnRyb2xXcmFwcGVyID4gKjpmaXJzdC1jaGlsZCxcbi5hZGctdW1icmFjby1mb3Jtcy1jb250cm9sd3JhcHBlciA+ICo6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG4uY29udHJvbFdyYXBwZXIgPiAqOmxhc3QtY2hpbGQsXG4uYWRnLXVtYnJhY28tZm9ybXMtY29udHJvbHdyYXBwZXIgPiAqOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG4uY29udHJvbFdyYXBwZXIgLmRlc2NyaXB0aW9uID4gKjpmaXJzdC1jaGlsZCxcbi5hZGctdW1icmFjby1mb3Jtcy1jb250cm9sd3JhcHBlciAuZGVzY3JpcHRpb24gPiAqOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuLmNvbnRyb2xXcmFwcGVyIC5kZXNjcmlwdGlvbiA+ICo6bGFzdC1jaGlsZCxcbi5hZGctdW1icmFjby1mb3Jtcy1jb250cm9sd3JhcHBlciAuZGVzY3JpcHRpb24gPiAqOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5zdHlsZWRGaWVsZHNldCA+IDpsYXN0LWNoaWxkLFxuLnVtYnJhY28tZm9ybXMtZmllbGRzZXQgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuI3JlcXVpcmVtZW50cyBsaS52YWxpZCAuaWNvbjpiZWZvcmUge1xuICBjb250ZW50OiBcImFcIjtcbn1cblxuQGxheWVyIHJlc2V0IHtcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuICBodG1sIHtcbiAgICBtaW4taGVpZ2h0OiAxMDBkdmg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICB9XG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZVNwZWVkO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMGR2aDtcbiAgfVxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgYXJ0aWNsZSA+ICogKyAqIHtcbiAgICBtYXJnaW4tdG9wOiAxZW07XG4gIH1cbiAgaW5wdXQsXG4gIGJ1dHRvbixcbiAgdGV4dGFyZWEsXG4gIHNlbGVjdCB7XG4gICAgZm9udDogaW5oZXJpdDtcbiAgfVxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2IHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLXByaW1hcnktZm9udCk7XG4gIH1cbiAgcCB7XG4gICAgbWFyZ2luOiAwLjM1ZW0gMCAwLjc1ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTVlbTtcbiAgfVxuICBvbCxcbiAgdWwge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWFyZ2luOiAwLjRlbSAwIDAuNzVlbTtcbiAgfVxuICBvbCBvbCwgb2wgdWwsXG4gIHVsIG9sLFxuICB1bCB1bCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICB9XG4gIGxpIHtcbiAgICBsaW5lLWhlaWdodDogMS41ZW07XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG4gIGlmcmFtZSB7XG4gICAgYm9yZGVyOiBub25lO1xuICB9XG59XG5AbGF5ZXIgYmFzZSB7XG4gIGJvZHkge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1iYXNpYy1mb250KTtcbiAgfVxuICBhIHtcbiAgICBjb2xvcjogdmFyKC0tbGluayk7XG4gICAgcGFkZGluZy1pbmxpbmU6IDJweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDJweDtcbiAgICB0cmFuc2l0aW9uOiAwLjE1cztcbiAgfVxuICBAbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gICAgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG4gIFtkYXRhLWJyb3dzZXI9aWVdIGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuICAuaWUgYTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG4gIGEuZm9jdXMtdmlzaWJsZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG4gIGE6Zm9jdXMtdmlzaWJsZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG4gIGEgLnRhcmdldEJsYW5rTm90aWZpZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwLXBhdGg6IHJlY3QoMCAwIDAgMCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgfVxuICBhIC5pY29uLW1haWwge1xuICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFweCk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMC4yNWVtO1xuICB9XG4gIGEgLmljb24tZXh0ZXJuYWwtbGluayB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVlbTtcbiAgICBmb250LXNpemU6IDAuOGVtO1xuICB9XG4gIFtkYXRhLWFjdGl2ZS16b25lPWhvbWVdIHtcbiAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluO1xuICB9XG59XG4qOm5vdChhOm5vdChbcm9sZT1idXR0b25dKSk6Zm9jdXMtdmlzaWJsZSwgKjpub3QoYTpub3QoW3JvbGU9YnV0dG9uXSkpLmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lLWNvbG9yOiB2YXIoLS1mb2N1cy1vdXRsaW5lLWNvbG9yKSAhaW1wb3J0YW50O1xuICBvdXRsaW5lLW9mZnNldDogdmFyKC0tZm9jdXMtb3V0bGluZS1vZmZzZXQpICFpbXBvcnRhbnQ7XG4gIG91dGxpbmUtc3R5bGU6IHZhcigtLWZvY3VzLW91dGxpbmUtc3R5bGUpICFpbXBvcnRhbnQ7XG4gIG91dGxpbmUtd2lkdGg6IHZhcigtLWZvY3VzLW91dGxpbmUtd2lkdGgpICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLWZvY3VzLW91dGxpbmUtb2Zmc2V0KSB2YXIoLS1mb2N1cy1zaGFkb3ctY29sb3IpICFpbXBvcnRhbnQ7XG59XG5cbi5zb2NpYWxNZWRpYUxvZ2lucyBhOmZvY3VzLXZpc2libGUsXG4uc29jaWFsTWVkaWFMb2dpbnMgYS5mb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZS1jb2xvcjogdmFyKC0tZm9jdXMtb3V0bGluZS1jb2xvcikgIWltcG9ydGFudDtcbiAgb3V0bGluZS1vZmZzZXQ6IHZhcigtLWZvY3VzLW91dGxpbmUtb2Zmc2V0KSAhaW1wb3J0YW50O1xuICBvdXRsaW5lLXN0eWxlOiB2YXIoLS1mb2N1cy1vdXRsaW5lLXN0eWxlKSAhaW1wb3J0YW50O1xuICBvdXRsaW5lLXdpZHRoOiB2YXIoLS1mb2N1cy1vdXRsaW5lLXdpZHRoKSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1mb2N1cy1vdXRsaW5lLW9mZnNldCkgdmFyKC0tZm9jdXMtc2hhZG93LWNvbG9yKSAhaW1wb3J0YW50O1xufVxuXG5ib2R5W2RhdGEtcmVkdWNlLWFuaW1hdGlvbj10cnVlXSAqLFxuYm9keVtkYXRhLXJlZHVjZS1hbmltYXRpb249dHJ1ZV0gKjo6YmVmb3JlLFxuYm9keVtkYXRhLXJlZHVjZS1hbmltYXRpb249dHJ1ZV0gKjo6YWZ0ZXIge1xuICBhbmltYXRpb24tZHVyYXRpb246IDAuMDFtcyAhaW1wb3J0YW50O1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMDFtcyAhaW1wb3J0YW50O1xuICBzY3JvbGwtYmVoYXZpb3I6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLnNsaWRlU2tpcCxcbi5ob21lU2tpcCxcbi5tZW1iZXJzaGlwU2tpcCB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcC1wYXRoOiByZWN0KDAgMCAwIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uc2xpZGVTa2lwLmZvY3VzLXZpc2libGUsXG4uaG9tZVNraXAuZm9jdXMtdmlzaWJsZSxcbi5tZW1iZXJzaGlwU2tpcC5mb2N1cy12aXNpYmxlIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDEwcHg7XG4gIGxlZnQ6IDEwcHg7XG4gIHotaW5kZXg6IDk5OTk5OTk5OTk5OTk5OTtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxMHB4O1xuICBjbGlwLXBhdGg6IGluaXRpYWw7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQpO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbn1cbi5zbGlkZVNraXA6Zm9jdXMtdmlzaWJsZSxcbi5ob21lU2tpcDpmb2N1cy12aXNpYmxlLFxuLm1lbWJlcnNoaXBTa2lwOmZvY3VzLXZpc2libGUge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMTBweDtcbiAgbGVmdDogMTBweDtcbiAgei1pbmRleDogOTk5OTk5OTk5OTk5OTk5O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGNsaXAtcGF0aDogaW5pdGlhbDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpO1xufVxuXG5bZGF0YS1hY3RpdmUtem9uZT1ob21lXSAuaG9tZVNraXAge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuW2RhdGEtYWN0aXZlLXpvbmU9c2xpZGVzXSAuc2xpZGVTa2lwIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5tZW1iZXJzaGlwU2tpcCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5odG1sIHtcbiAgc2Nyb2xsYmFyLWd1dHRlcjogc3RhYmxlO1xufVxuXG53aWxsaXMtem9uZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5baW5lcnRdIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbndpbGxpcy1kaWFsb2c6bm90KFtkYXRhLW9wZW49dHJ1ZV0pIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5odG1sW2RhdGEtZGlhbG9nLWhpZGUtb3ZlcmZsb3c9dHJ1ZV0ge1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbkBsYXllciBiYXNlIHtcbiAgLmRpYWxvZ0JhY2tkcm9wIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMGR2dztcbiAgICBoZWlnaHQ6IDEwMGR2aDtcbiAgfVxuICBAc3VwcG9ydHMgKGhlaWdodDogMTAwZHZoKSB7XG4gICAgLmRpYWxvZ0JhY2tkcm9wIHtcbiAgICAgIGhlaWdodDogMTAwZHZoO1xuICAgIH1cbiAgfVxuICAuc2xpZGUgLmRpYWxvZ0JhY2tkcm9wIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbiAgLmRpYWxvZ0lubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgZGl2W3JvbGU9ZGlhbG9nXSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIH1cbiAgW2RhdGEtZGlhbG9nLXN0eWxlPW1vZGFsXSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cbiAgW2RhdGEtZGlhbG9nLXN0eWxlPW1vZGFsXSBkaXZbcm9sZT1kaWFsb2ddIHtcbiAgICB3aWR0aDogNTgwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG4gIFtkYXRhLWRpYWxvZy1zdHlsZT1tb2RhbF0gLmRpYWxvZ0lubmVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIH1cbiAgW2RhdGEtZGlhbG9nLXN0eWxlPWxhcmdlTW9kYWxdIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxuICBbZGF0YS1kaWFsb2ctc3R5bGU9bGFyZ2VNb2RhbF0gZGl2W3JvbGU9ZGlhbG9nXSB7XG4gICAgd2lkdGg6IDgwMHB4O1xuICAgIG1heC13aWR0aDogMTAwZHZ3O1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxuICBbZGF0YS1kaWFsb2ctc3R5bGU9bGFyZ2VNb2RhbF0gLmRpYWxvZ0lubmVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XG4gIH1cbiAgW2RhdGEtZGlhbG9nLXN0eWxlPXNoYWRlXSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxuICBbZGF0YS1kaWFsb2ctc3R5bGU9c2hhZGVdIGRpdltyb2xlPWRpYWxvZ10ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICBbZGF0YS1kaWFsb2ctc3R5bGU9c2hhZGVdIGRpdltyb2xlPWRpYWxvZ10gLmRpYWxvZ0xhYmVsIHtcbiAgICBtYXgtd2lkdGg6IDgwMHB4O1xuICB9XG4gIFtkYXRhLWRpYWxvZy1zdHlsZT1zaGFkZV0gZGl2W3JvbGU9ZGlhbG9nXSAuZGlhbG9nQ29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgfVxuICBbZGF0YS1kaWFsb2ctc3R5bGU9c2hhZGVdIGRpdltyb2xlPWRpYWxvZ10gLmRpYWxvZ0FjdGlvbnMge1xuICAgIG1heC13aWR0aDogODAwcHg7XG4gIH1cbiAgW2RhdGEtZGlhbG9nLXN0eWxlPXNoYWRlXSAuZGlhbG9nSW5uZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCB2YXIoLS1yYWRpdXMpIHZhcigtLXJhZGl1cyk7XG4gIH1cbiAgW2RhdGEtZGlhbG9nLXN0eWxlXj1zaWRlYmFyXSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICB9XG4gIFtkYXRhLWRpYWxvZy1zdHlsZV49c2lkZWJhcl1bZGF0YS1kaWFsb2ctc3R5bGU9c2lkZWJhckxlZnRdIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIH1cbiAgW2RhdGEtZGlhbG9nLXN0eWxlXj1zaWRlYmFyXVtkYXRhLWRpYWxvZy1zdHlsZT1zaWRlYmFyUmlnaHRdIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB9XG4gIFtkYXRhLWRpYWxvZy1zdHlsZV49c2lkZWJhcl0gZGl2W3JvbGU9ZGlhbG9nXSB7XG4gICAgd2lkdGg6IDQ0MHB4O1xuICB9XG4gIFtkYXRhLWRpYWxvZy1zdHlsZV49ZnVsbF0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuICBbZGF0YS1kaWFsb2ctc3R5bGVePWZ1bGxdIGRpdltyb2xlPWRpYWxvZ10ge1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgW2RhdGEtZGlhbG9nLXN0eWxlXj1zaWRlYmFyXSBkaXZbcm9sZT1kaWFsb2ddIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbiAgICBbZGF0YS1kaWFsb2ctc3R5bGU9bW9kYWxdIGRpdltyb2xlPWRpYWxvZ10ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLXNwZWVkPWdsYWNpYWxdIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAzMDAwbXM7XG59XG5cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tc3BlZWQ9dmVyeVNsb3ddIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XG59XG5cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tc3BlZWQ9c2xvd10ge1xuICBhbmltYXRpb24tZHVyYXRpb246IDgwMG1zO1xufVxuXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLXNwZWVkPW1lZGl1bV0ge1xuICBhbmltYXRpb24tZHVyYXRpb246IDUwMG1zO1xufVxuXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLXNwZWVkPWZhc3RdIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAzMDBtcztcbn1cblxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1zcGVlZD12ZXJ5RmFzdF0ge1xuICBhbmltYXRpb24tZHVyYXRpb246IDIwMG1zO1xufVxuXG4uZGlhbG9nQmFja2Ryb3Age1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICBhbmltYXRpb24tZHVyYXRpb246IDIwMG1zO1xufVxuLmRpYWxvZ0JhY2tkcm9wLmluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcbn1cbi5kaWFsb2dCYWNrZHJvcC5vdXQge1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dDtcbn1cblxuQGtleWZyYW1lcyBmYWRlSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9ZmFkZUluXSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1mYWRlT3V0XSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVUb3BJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cbn1cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1mYWRlVG9wSW5dIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVUb3BJbjtcbn1cblxuQGtleWZyYW1lcyBmYWRlVG9wT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxufVxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPWZhZGVUb3BPdXRdIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVUb3BPdXQ7XG59XG5cbkBrZXlmcmFtZXMgZmFkZUJvdHRvbUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICB9XG59XG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9ZmFkZUJvdHRvbUluXSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlQm90dG9tSW47XG59XG5cbkBrZXlmcmFtZXMgZmFkZUJvdHRvbU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcbiAgfVxufVxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPWZhZGVCb3R0b21PdXRdIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVCb3R0b21PdXQ7XG59XG5cbkBrZXlmcmFtZXMgZmFkZVJpZ2h0SW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gIH1cbn1cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1mYWRlUmlnaHRJbl0ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZVJpZ2h0SW47XG59XG5cbkBrZXlmcmFtZXMgZmFkZVJpZ2h0T3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpO1xuICB9XG59XG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9ZmFkZVJpZ2h0T3V0XSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlUmlnaHRPdXQ7XG59XG5cbkBrZXlmcmFtZXMgZmFkZUxlZnRJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gIH1cbn1cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1mYWRlTGVmdEluXSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlTGVmdEluO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVMZWZ0T3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxufVxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPWZhZGVMZWZ0T3V0XSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlTGVmdE91dDtcbn1cblxuQGtleWZyYW1lcyBzbGlkZVRvcEluIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMjAlKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICB9XG59XG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9c2xpZGVUb3BJbl0ge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVUb3BJbjtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA4MjBweCkge1xuICBkaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9c2xpZGVUb3BJbl0ge1xuICAgIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUJvdHRvbUluO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVUb3BPdXQge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEyMCUpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1zbGlkZVRvcE91dF0ge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVUb3BPdXQ7XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVCb3R0b21JbiB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgfVxufVxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPXNsaWRlQm90dG9tSW5dIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlQm90dG9tSW47XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVCb3R0b21PdXQge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTUwJSk7XG4gIH1cbn1cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1zbGlkZUJvdHRvbU91dF0ge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVCb3R0b21PdXQ7XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVSaWdodEluIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICB9XG59XG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9c2xpZGVSaWdodEluXSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZVJpZ2h0SW47XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVSaWdodE91dCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgfVxufVxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPXNsaWRlUmlnaHRPdXRdIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlUmlnaHRPdXQ7XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVMZWZ0SW4ge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICB9XG59XG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9c2xpZGVMZWZ0SW5dIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlTGVmdEluO1xufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlTGVmdE91dCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIH1cbn1cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1zbGlkZUxlZnRPdXRdIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlTGVmdE91dDtcbn1cblxuLmRpYWxvZ0JhY2tkcm9wIHtcbiAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWJsYWNrKSBjYWxjKDAuNyAqIDEwMCUpLCB0cmFuc3BhcmVudCk7XG4gIHNjcm9sbGJhci1jb2xvcjogdmFyKC0tZGFyay1ncmV5KSB2YXIoLS1saWdodC1ncmV5KTtcbn1cblxuLmRpYWxvZ0NvbnRlbnQge1xuICBtYXJnaW46IDEwcHggMDtcbn1cblxuLmRpYWxvZ0FjdGlvbnMuZ2VuZXJhdGVkIGJ1dHRvbi5jbG9zZURpYWxvZyAuaWNvbjpiZWZvcmUge1xuICBmb250LWZhbWlseTogdmFyKC0taWNvbi1mb250KTtcbiAgY29udGVudDogXCJiXCI7XG59XG5cbmJ1dHRvbi5jbG9zZURpYWxvZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpZ2h0KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWNpcmNsZSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG4gIHRyYW5zaXRpb246IGFsbCAyMDBtcztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcGFkZGluZzogMC41ZW0gMWVtO1xuICBmb250LXNpemU6IDAuOWVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xufVxuYnV0dG9uLmNsb3NlRGlhbG9nIC5pY29uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgYnV0dG9uLmNsb3NlRGlhbG9nOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICB9XG59XG5bZGF0YS1icm93c2VyPWllXSBidXR0b24uY2xvc2VEaWFsb2c6aG92ZXIge1xuICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG59XG4uaWUgYnV0dG9uLmNsb3NlRGlhbG9nOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xufVxuYnV0dG9uLmNsb3NlRGlhbG9nLmZvY3VzLXZpc2libGUge1xuICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG59XG5idXR0b24uY2xvc2VEaWFsb2c6Zm9jdXMtdmlzaWJsZSB7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbn1cbmJ1dHRvbi5jbG9zZURpYWxvZyAuaWNvbjpiZWZvcmUge1xuICBmb250LWZhbWlseTogdmFyKC0taWNvbi1mb250KTtcbiAgZm9udC1zaXplOiAxLjVlbTtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgY29udGVudDogXCJiXCI7XG59XG5cbi5kaWFsb2dMYWJlbCBoMiB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbltkYXRhLWRpYWxvZy1zdHlsZT1tb2RhbF0ge1xuICBwYWRkaW5nOiAyMHB4O1xufVxuLnNhZmFyaSBbZGF0YS1kaWFsb2ctc3R5bGU9bW9kYWxdIHtcbiAgcGFkZGluZzogMjBweCAyMHB4IDE1MHB4O1xufVxuW2RhdGEtZGlhbG9nLXN0eWxlPW1vZGFsXSAuZGlhbG9nSW5uZXIge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBwYWRkaW5nOiAyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWxpZ2h0LWNvbnRyYXN0KTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgOHB4IHZhcigtLXNlY29uZGFyeSksIDAgMCAwIDE1cHggY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWxpZ2h0KSBjYWxjKDEgKiAxMDAlKSwgdHJhbnNwYXJlbnQpO1xufVxuXG4uc2FmYXJpIFtkYXRhLWRpYWxvZy1zdHlsZT1sYXJnZU1vZGFsXSB7XG4gIHBhZGRpbmc6IDIwcHggMjBweCAxNTBweDtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZT1sYXJnZU1vZGFsXSAuZGlhbG9nSW5uZXIge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBwYWRkaW5nOiAzMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodCk7XG4gIGNvbG9yOiB2YXIoLS1saWdodC1jb250cmFzdCk7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDhweCB2YXIoLS1zZWNvbmRhcnkpLCAwIDAgMCAxNXB4IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1saWdodCkgY2FsYygxICogMTAwJSksIHRyYW5zcGFyZW50KTtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZT1sYXJnZU1vZGFsXSAuZGlhbG9nTGFiZWwge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1icmFuZC1kYXJrKTtcbiAgcGFkZGluZzogNXB4IDEwcHggMjBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZT1sYXJnZU1vZGFsXSAuZGlhbG9nTGFiZWwgaDIge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtc2l6ZTogMS4yNWVtO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XG59XG5cbltkYXRhLWRpYWxvZy1zdHlsZT1zaGFkZV0ge1xuICBwYWRkaW5nLXRvcDogNDBweDtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZT1zaGFkZV0gLmRpYWxvZ0lubmVyIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIHZhcigtLXJhZGl1cykgdmFyKC0tcmFkaXVzKTtcbiAgcGFkZGluZzogMjVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgxNzVkZWcsIHZhcigtLWJyYW5kLWRhcmspIDQwJSwgb2tsY2goZnJvbSB2YXIoLS1icmFuZC1kYXJrKSBtYXgobCAtIGwgKiAwLjA1LCAwKSBjIGgpIDEwMCUpO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtZGFyay1jb250cmFzdCk7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1saWdodCksIDAgMCAwIDEwcHggY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXNlY29uZGFyeSkgY2FsYygxICogMTAwJSksIHRyYW5zcGFyZW50KTtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZT1zaGFkZV0gLmRpYWxvZ0lubmVyIC5kaWFsb2dMYWJlbCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZT1zaGFkZV0gLmRpYWxvZ0lubmVyIC5kaWFsb2dBY3Rpb25zIHtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDdweDtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZT1zaGFkZV0gLmRpYWxvZ0lubmVyIC5jbG9zZURpYWxvZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwLjhlbSAxLjNlbTtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1icmFuZC1icmlnaHQpIG1heChsIC0gbCAqIDAuMSwgMCkgYyBoKTtcbiAgbGluZS1oZWlnaHQ6IDEuMWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1iYXNpYy1mb250KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjFzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQpO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZT1zaGFkZV0gLmRpYWxvZ0lubmVyIC5jbG9zZURpYWxvZyAuaWNvbiB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1pY29uLWZvbnQpO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICBbZGF0YS1kaWFsb2ctc3R5bGU9c2hhZGVdIC5kaWFsb2dJbm5lciAuY2xvc2VEaWFsb2c6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICAgIGJvcmRlci1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1ob3ZlcikgbWluKGwgKyBsICogMC4yLCAxKSBjIGgpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuW2RhdGEtYnJvd3Nlcj1pZV0gW2RhdGEtZGlhbG9nLXN0eWxlPXNoYWRlXSAuZGlhbG9nSW5uZXIgLmNsb3NlRGlhbG9nOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG4gIGJvcmRlci1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1ob3ZlcikgbWluKGwgKyBsICogMC4yLCAxKSBjIGgpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uaWUgW2RhdGEtZGlhbG9nLXN0eWxlPXNoYWRlXSAuZGlhbG9nSW5uZXIgLmNsb3NlRGlhbG9nOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG4gIGJvcmRlci1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1ob3ZlcikgbWluKGwgKyBsICogMC4yLCAxKSBjIGgpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5bZGF0YS1kaWFsb2ctc3R5bGU9c2hhZGVdIC5kaWFsb2dJbm5lciAuY2xvc2VEaWFsb2cuZm9jdXMtdmlzaWJsZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICBib3JkZXItY29sb3I6IG9rbGNoKGZyb20gdmFyKC0taG92ZXIpIG1pbihsICsgbCAqIDAuMiwgMSkgYyBoKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuW2RhdGEtZGlhbG9nLXN0eWxlPXNoYWRlXSAuZGlhbG9nSW5uZXIgLmNsb3NlRGlhbG9nOmZvY3VzLXZpc2libGUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbiAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWhvdmVyKSBtaW4obCArIGwgKiAwLjIsIDEpIGMgaCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZT1zaGFkZV0gLmRpYWxvZ0lubmVyIC5jbG9zZURpYWxvZ1tkaXNhYmxlZF0sIFtkYXRhLWRpYWxvZy1zdHlsZT1zaGFkZV0gLmRpYWxvZ0lubmVyIC5jbG9zZURpYWxvZ1thcmlhLWRpc2FibGVkPXRydWVdIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG5bZGF0YS1kaWFsb2ctc3R5bGVePXNpZGViYXJdIC5kaWFsb2dJbm5lciB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG59XG5bZGF0YS1kaWFsb2ctc3R5bGVePXNpZGViYXJdW2RhdGEtZGlhbG9nLXN0eWxlPXNpZGViYXJMZWZ0XSAuZGlhbG9nSW5uZXIge1xuICBib3JkZXItcmFkaXVzOiAwIHZhcigtLXJhZGl1cykgdmFyKC0tcmFkaXVzKSAwO1xuICBwYWRkaW5nOiAyMHB4O1xufVxuW2RhdGEtZGlhbG9nLXN0eWxlXj1zaWRlYmFyXVtkYXRhLWRpYWxvZy1zdHlsZT1zaWRlYmFyUmlnaHRdIC5kaWFsb2dJbm5lciB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cykgMCAwIHZhcigtLXJhZGl1cyk7XG4gIHBhZGRpbmc6IDIwcHg7XG59XG5cbltkYXRhLWRpYWxvZy1zdHlsZV49ZnVsbF0gLmRpYWxvZ0lubmVyIHtcbiAgcGFkZGluZzogMjBweDtcbn1cblxuLnNpbXBsZURpYWxvZyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWxpZ2h0LWNvbnRyYXN0KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbn1cblxuI3JldHVybk1lc3NhZ2UgLmNsb3NlRGlhbG9nIC5pY29uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDY3MHB4KSB7XG4gIFtkYXRhLWRpYWxvZy1zdHlsZV49c2lkZWJhcl1bZGF0YS1kaWFsb2ctc3R5bGU9c2lkZWJhckxlZnRdIC5kaWFsb2dJbm5lciB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxuICBbZGF0YS1kaWFsb2ctc3R5bGVePXNpZGViYXJdW2RhdGEtZGlhbG9nLXN0eWxlPXNpZGViYXJSaWdodF0gLmRpYWxvZ0lubmVyIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG4gIFtkYXRhLWRpYWxvZy1zdHlsZT1tb2RhbF0gZGl2W3JvbGU9ZGlhbG9nXS5yZXBvcnROZWVkZWQge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHpvb21JbiB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHpvb21PdXQge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5AbGF5ZXIgYmFzZSB7XG4gICNiYWNrZ3JvdW5kIFtkYXRhLXNsaWRlc2hvdz16b29tU2xpZGVzaG93XS5yZXR1cm5QYXVzZSAuYmdJbWdXcmFwcGVyOmZpcnN0LWNoaWxkIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gICNiYWNrZ3JvdW5kIFtkYXRhLXNsaWRlc2hvdz16b29tU2xpZGVzaG93XSAuYmdJbWdXcmFwcGVyIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC44NXM7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB9XG4gICNiYWNrZ3JvdW5kIFtkYXRhLXNsaWRlc2hvdz16b29tU2xpZGVzaG93XSAuYmdJbWdXcmFwcGVyLmN1cnJlbnQge1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XG4gICAgei1pbmRleDogMTtcbiAgfVxuICAjYmFja2dyb3VuZCBbZGF0YS1zbGlkZXNob3c9em9vbVNsaWRlc2hvd10gLmJnSW1nV3JhcHBlci5wcmV2IHtcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZU91dDtcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgfVxuICAjYmFja2dyb3VuZCBbZGF0YS1zbGlkZXNob3c9em9vbVNsaWRlc2hvd10gLmJnSW1nV3JhcHBlcjpudGgtY2hpbGQob2RkKSAuYmdJbWcudHJhbnMge1xuICAgIGFuaW1hdGlvbi1uYW1lOiB6b29tSW47XG4gIH1cbiAgI2JhY2tncm91bmQgW2RhdGEtc2xpZGVzaG93PXpvb21TbGlkZXNob3ddIC5iZ0ltZ1dyYXBwZXI6bnRoLWNoaWxkKGV2ZW4pIC5iZ0ltZy50cmFucyB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXQ7XG4gIH1cbiAgI2JhY2tncm91bmQgW2RhdGEtc2xpZGVzaG93PXpvb21TbGlkZXNob3ddIC5iZ0ltZyB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICAgIHotaW5kZXg6IDE7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMTBzO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICB9XG4gICNiYWNrZ3JvdW5kIFtkYXRhLXNsaWRlc2hvdz16b29tU2xpZGVzaG93XSAuYmdJbWdbZGF0YS1iZy1wb3M9Y2VudGVyXSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgfVxuICAjYmFja2dyb3VuZCBbZGF0YS1zbGlkZXNob3c9em9vbVNsaWRlc2hvd10gLmJnSW1nW2RhdGEtYmctcG9zPVwiY2VudGVyIGxlZnRcIl0ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwJSA1MCU7XG4gIH1cbiAgI2JhY2tncm91bmQgW2RhdGEtc2xpZGVzaG93PXpvb21TbGlkZXNob3ddIC5iZ0ltZ1tkYXRhLWJnLXBvcz1cImNlbnRlciByaWdodFwiXSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogOTAlIDUwJTtcbiAgfVxuICAjYmFja2dyb3VuZCBbZGF0YS1zbGlkZXNob3c9em9vbVNsaWRlc2hvd10gLmJnSW1nW2RhdGEtYmctcG9zPVwidG9wIGxlZnRcIl0ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwJSAxMCU7XG4gIH1cbiAgI2JhY2tncm91bmQgW2RhdGEtc2xpZGVzaG93PXpvb21TbGlkZXNob3ddIC5iZ0ltZ1tkYXRhLWJnLXBvcz1cInRvcCBtaWRkbGVcIl0ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAxMCU7XG4gIH1cbiAgI2JhY2tncm91bmQgW2RhdGEtc2xpZGVzaG93PXpvb21TbGlkZXNob3ddIC5iZ0ltZ1tkYXRhLWJnLXBvcz1cInRvcCByaWdodFwiXSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogOTAlIDEwJTtcbiAgfVxuICAjYmFja2dyb3VuZCBbZGF0YS1zbGlkZXNob3c9em9vbVNsaWRlc2hvd10gLmJnSW1nW2RhdGEtYmctcG9zPVwiYm90dG9tIGxlZnRcIl0ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwJSA5MCU7XG4gIH1cbiAgI2JhY2tncm91bmQgW2RhdGEtc2xpZGVzaG93PXpvb21TbGlkZXNob3ddIC5iZ0ltZ1tkYXRhLWJnLXBvcz1cImJvdHRvbSBtaWRkbGVcIl0ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAxMDAlO1xuICB9XG4gICNiYWNrZ3JvdW5kIFtkYXRhLXNsaWRlc2hvdz16b29tU2xpZGVzaG93XSAuYmdJbWdbZGF0YS1iZy1wb3M9XCJib3R0b20gbGVmdFwiXSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogOTAlIDkwJTtcbiAgfVxuICAjYmFja2dyb3VuZCBbZGF0YS1zbGlkZXNob3c9em9vbVNsaWRlc2hvd10gLmJnSW1nW2RhdGEtYW5pbWF0aW9uPWNlbnRlcl0ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gIH1cbiAgI2JhY2tncm91bmQgW2RhdGEtc2xpZGVzaG93PXpvb21TbGlkZXNob3ddIC5iZ0ltZ1tkYXRhLWFuaW1hdGlvbj1cInRvcCByaWdodFwiXSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIHJpZ2h0O1xuICB9XG4gICNiYWNrZ3JvdW5kIFtkYXRhLXNsaWRlc2hvdz16b29tU2xpZGVzaG93XSAuYmdJbWdbZGF0YS1hbmltYXRpb249XCJ0b3AgbGVmdFwiXSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gIH1cbiAgI2JhY2tncm91bmQgW2RhdGEtc2xpZGVzaG93PXpvb21TbGlkZXNob3ddIC5iZ0ltZ1tkYXRhLWFuaW1hdGlvbj1cImJvdHRvbSByaWdodFwiXSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIHJpZ2h0O1xuICB9XG4gICNiYWNrZ3JvdW5kIFtkYXRhLXNsaWRlc2hvdz16b29tU2xpZGVzaG93XSAuYmdJbWdbZGF0YS1hbmltYXRpb249XCJib3R0b20gbGVmdFwiXSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGxlZnQ7XG4gIH1cbiAgI2JhY2tncm91bmQgW2RhdGEtc2xpZGVzaG93PXpvb21TbGlkZXNob3ddLnBhdXNlZCAuYmdJbWdXcmFwcGVyLnRyYW5zIHtcbiAgICBhbmltYXRpb24tcGxheS1zdGF0ZTogcGF1c2VkO1xuICB9XG4gICNiYWNrZ3JvdW5kIFtkYXRhLXNsaWRlc2hvdz16b29tU2xpZGVzaG93XS5wYXVzZWQgLmJnSW1nLnRyYW5zIHtcbiAgICBhbmltYXRpb24tcGxheS1zdGF0ZTogcGF1c2VkO1xuICB9XG4gICNiYWNrZ3JvdW5kIC5iZ0ltZyxcbiAgI2JhY2tncm91bmQgLnNlY3Rpb25CZyB7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgfVxuICAjYmFja2dyb3VuZCAuYmdJbWdbZGF0YS1iZy1wb3M9XCJ0b3AgbGVmdFwiXSxcbiAgI2JhY2tncm91bmQgLnNlY3Rpb25CZ1tkYXRhLWJnLXBvcz1cInRvcCBsZWZ0XCJdIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwJSAwJTtcbiAgfVxuICAjYmFja2dyb3VuZCAuYmdJbWdbZGF0YS1iZy1wb3M9XCJ0b3AgbWlkZGxlXCJdLFxuICAjYmFja2dyb3VuZCAuc2VjdGlvbkJnW2RhdGEtYmctcG9zPVwidG9wIG1pZGRsZVwiXSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDA7XG4gIH1cbiAgI2JhY2tncm91bmQgLmJnSW1nW2RhdGEtYmctcG9zPVwidG9wIHJpZ2h0XCJdLFxuICAjYmFja2dyb3VuZCAuc2VjdGlvbkJnW2RhdGEtYmctcG9zPVwidG9wIHJpZ2h0XCJdIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDAlO1xuICB9XG4gICNiYWNrZ3JvdW5kIC5iZ0ltZ1tkYXRhLWJnLXBvcz1cImNlbnRlciBsZWZ0XCJdLFxuICAjYmFja2dyb3VuZCAuc2VjdGlvbkJnW2RhdGEtYmctcG9zPVwiY2VudGVyIGxlZnRcIl0ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAlIDUwJTtcbiAgfVxuICAjYmFja2dyb3VuZCAuYmdJbWdbZGF0YS1iZy1wb3M9Y2VudGVyXSxcbiAgI2JhY2tncm91bmQgLnNlY3Rpb25CZ1tkYXRhLWJnLXBvcz1jZW50ZXJdIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICB9XG4gICNiYWNrZ3JvdW5kIC5iZ0ltZ1tkYXRhLWJnLXBvcz1cImNlbnRlciByaWdodFwiXSxcbiAgI2JhY2tncm91bmQgLnNlY3Rpb25CZ1tkYXRhLWJnLXBvcz1cImNlbnRlciByaWdodFwiXSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSA1MCU7XG4gIH1cbiAgI2JhY2tncm91bmQgLmJnSW1nW2RhdGEtYmctcG9zPVwiYm90dG9tIGxlZnRcIl0sXG4gICNiYWNrZ3JvdW5kIC5zZWN0aW9uQmdbZGF0YS1iZy1wb3M9XCJib3R0b20gbGVmdFwiXSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCUgMTAwJTtcbiAgfVxuICAjYmFja2dyb3VuZCAuYmdJbWdbZGF0YS1iZy1wb3M9XCJib3R0b20gbWlkZGxlXCJdLFxuICAjYmFja2dyb3VuZCAuc2VjdGlvbkJnW2RhdGEtYmctcG9zPVwiYm90dG9tIG1pZGRsZVwiXSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDEwMCU7XG4gIH1cbiAgI2JhY2tncm91bmQgLmJnSW1nW2RhdGEtYmctcG9zPVwiYm90dG9tIHJpZ2h0XCJdLFxuICAjYmFja2dyb3VuZCAuc2VjdGlvbkJnW2RhdGEtYmctcG9zPVwiYm90dG9tIHJpZ2h0XCJdIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDEwMCU7XG4gIH1cbiAgI2JhY2tncm91bmQgdmlkZW8ge1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0LWdyZXkpO1xuICB9XG59XG5bZGF0YS1pcy1sb2FkaW5nPXRydWVdICNiYWNrZ3JvdW5kIHtcbiAgb3BhY2l0eTogMDtcbn1cblxuW2RhdGEtYWN0aXZlLWRpYWxvZz1jaGVja2xpc3RdICNiYWNrZ3JvdW5kUGxheUJ0biwgW2RhdGEtYWN0aXZlLWRpYWxvZz1mYXFdICNiYWNrZ3JvdW5kUGxheUJ0biwgW2RhdGEtYWN0aXZlLWRpYWxvZz1nbG9zc2FyeV0gI2JhY2tncm91bmRQbGF5QnRuLCBbZGF0YS1hY3RpdmUtZGlhbG9nPWFjaGlldmVtZW50c10gI2JhY2tncm91bmRQbGF5QnRuLCBbZGF0YS1hY3RpdmUtZGlhbG9nPXJlc291cmNlc10gI2JhY2tncm91bmRQbGF5QnRuLCBbZGF0YS1hY3RpdmUtZGlhbG9nPWZhcUNvbmZpcm1RdWVzdGlvbk1lc3NhZ2VdICNiYWNrZ3JvdW5kUGxheUJ0biwgW2RhdGEtYWN0aXZlLWRpYWxvZz1mYXFRdWVzdGlvblN1Ym1pdHRlZE1lc3NhZ2VdICNiYWNrZ3JvdW5kUGxheUJ0biB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5bZGF0YS1hY3RpdmUtZGlhbG9nPXV0aWxpdHlNZW51XSAjYmFja2dyb3VuZFBsYXlCdG4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuW2RhdGEtYWN0aXZlLXpvbmU9c2xpZGVzXSAjYmFja2dyb3VuZFBsYXlCdG4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuW2RhdGEtaXMtbG9hZGluZz10cnVlXSAjYmFja2dyb3VuZFBsYXlCdG4ge1xuICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG59XG4jYmFja2dyb3VuZFBsYXlCdG4gLmljb24tcGxheSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4jYmFja2dyb3VuZFBsYXlCdG4ucGF1c2UgLmljb24tcGxheSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuI2JhY2tncm91bmRQbGF5QnRuLnBhdXNlIC5pY29uLXBhdXNlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuOnJvb3Qge1xuICAtLXNxMUZ1bGxXOiAxOTFweDtcbiAgLS1zcTFXOiA3M3B4O1xuICAtLXNxMUg6IDE3M3B4O1xuICAtLXNxMkZ1bGxIOiAyNThweDtcbiAgLS1zcTFMZWZ0OiAxMDJweDtcbiAgLS1yc3AtcmlnaHQtb2Zmc2V0OiAwcHg7XG59XG46cm9vdCAuaW5TZWN0aW9uIHtcbiAgLS1zcTFGdWxsVzogMTA2cHg7XG4gIC0tc3ExVzogNDBweDtcbiAgLS1zcTFIOiA5N3B4O1xuICAtLXNxMkZ1bGxIOiAzMDVweDtcbiAgLS1mb290ZXItd2lkdGg6IDE3NXB4O1xuICAtLWZvb3Rlci1oZWlnaHQ6IDgwcHg7XG4gIC0tc3ExTGVmdDogODBweDtcbn1cbjpyb290IC5zdGlja3kge1xuICAtLXNxMUZ1bGxXOiA4MHB4O1xuICAtLXNxMVc6IDE1cHg7XG4gIC0tc3ExSDogMzBweDtcbn1cblxuLmJhY2tncm91bmRNYXAge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9pbWFnZXMvU0ZfTWFwX1RleHR1cmUuanBnXCIpIG5vLXJlcGVhdDtcbiAgd2lkdGg6IDM0JTtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMHB4O1xuICBib3R0b206IDBweDtcbiAgei1pbmRleDogMDtcbiAgdHJhbnNpdGlvbjogd2lkdGggMXMgZWFzZS1vdXQsIG9wYWNpdHkgMC41cztcbn1cbi5iYWNrZ3JvdW5kTWFwOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNTlkZWcsIHJnYigyNTUsIDI1NSwgMjU1KSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpIDQxJSk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC42cztcbn1cbi5tZW51T3V0IC5iYWNrZ3JvdW5kTWFwIHtcbiAgd2lkdGg6IDY1JTtcbiAgb3BhY2l0eTogMC44O1xufVxuLm1lbnVPdXQgLmJhY2tncm91bmRNYXA6YWZ0ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuLnNxdWFyZXMgLnNxdWFyZSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZC1icmlnaHQpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC42cywgc2NhbGUgMC41cyAwLjNzO1xufVxuLnNxdWFyZXMuc3F1YXJlRWxlbWVudHNUb3Age1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI1O1xufVxuLnNxdWFyZXMuc3F1YXJlRWxlbWVudHNUb3AgLnNxVG9wIHtcbiAgd2lkdGg6IHZhcigtLXNxMVcpO1xufVxuLnNxdWFyZXMuc3F1YXJlRWxlbWVudHNUb3AgLnNxQm90dG9tIHtcbiAgaGVpZ2h0OiB2YXIoLS1mb290ZXItaGVpZ2h0KTtcbn1cbi5zcXVhcmVzLnNxdWFyZUVsZW1lbnRzVG9wIC5zcUJvdHRvbTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGFzcGVjdC1yYXRpbzogMS8xO1xuICBoZWlnaHQ6IDcwcHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWRhcmspO1xuICBib3R0b206IDEwMCU7XG4gIGxlZnQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIHJpZ2h0O1xuICB0cmFuc2l0aW9uOiBzY2FsZSAwLjZzIDEuMjVzO1xuICBzY2FsZTogMTtcbn1cbltkYXRhLWlzLWxvYWRpbmc9dHJ1ZV0gLnNxdWFyZXMuc3F1YXJlRWxlbWVudHNUb3AgLnNxQm90dG9tOmFmdGVyIHtcbiAgc2NhbGU6IDAgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbi1kZWxheTogMS4yNXM7XG59XG4ubWVudU91dCAuc3F1YXJlcy5zcXVhcmVFbGVtZW50c1RvcCAuc3FCb3R0b206YWZ0ZXIge1xuICBzY2FsZTogMDtcbiAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG59XG4uaW5TZWN0aW9uIC5zcXVhcmVzLnNxdWFyZUVsZW1lbnRzVG9wIC5zcUJvdHRvbSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uc3F1YXJlcyAuc3FUb3Age1xuICBoZWlnaHQ6IHZhcigtLXNxMUgpO1xuICB3aWR0aDogdmFyKC0tc3ExRnVsbFcpO1xuICB0b3A6IDEwcHg7XG4gIGxlZnQ6IHZhcigtLXNxMUxlZnQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZC1icmlnaHQpO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjJzO1xufVxuLmluU2VjdGlvbiAuc3F1YXJlcyAuc3FUb3Age1xuICB0b3A6IDIwcHg7XG59XG4uc3RpY2t5IC5zcXVhcmVzIC5zcVRvcCB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xufVxuLnNxdWFyZXMgLnNxQm90dG9tIHtcbiAgaGVpZ2h0OiB2YXIoLS1zcTJGdWxsSCk7XG4gIHdpZHRoOiB2YXIoLS1mb290ZXItd2lkdGgpO1xuICBib3R0b206IDVweDtcbiAgbGVmdDogMHB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xufVxuLmluU2VjdGlvbiAuc3F1YXJlcyAuc3FCb3R0b20ge1xuICBib3R0b206IDE1cHg7XG4gIGxlZnQ6IDBweDtcbn1cblxuLm9yaWVudGF0aW9uVGl0bGUge1xuICBmb250LWZhbWlseTogdmFyKC0tc2Vjb25kYXJ5LWZvbnQpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogdmFyKC0tbGlnaHQpO1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLWxlZnQtb2Zmc2V0KTtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxLjZlbTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjc1cztcbn1cbi5vcmllbnRhdGlvblRpdGxlIC53b3JkOmxhc3Qtb2YtdHlwZSB7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAyNWVtO1xufVxuLm1lbnVPdXQgLm9yaWVudGF0aW9uVGl0bGUge1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5pblNlY3Rpb24gLm9yaWVudGF0aW9uVGl0bGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuW2RhdGEtaXMtbG9hZGluZz10cnVlXSAub3JpZW50YXRpb25UaXRsZSB7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAxcztcbn1cblxuI2JhY2tncm91bmQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMHB4O1xuICBsZWZ0OiB2YXIoLS1sZWZ0LW9mZnNldCk7XG4gIHdpZHRoOiBjYWxjKDEwMGR2dyAtICh2YXIoLS1tYWluLXNpZGViYXIpICsgdmFyKC0tbGVmdC1vZmZzZXQpKSk7XG4gIGhlaWdodDogY2FsYygxMDBkdmggLSB2YXIoLS10b3Atb2Zmc2V0KSk7XG4gIHRyYW5zaXRpb246IHNjYWxlIDEuNXMgMC4yNXMsIGJvdHRvbSAxcywgd2lkdGggMC43NXM7XG4gIHotaW5kZXg6IDE7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0KTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIHJpZ2h0O1xuICBib3gtc2hhZG93OiAtMXB4IDNweCA5cHggM3B4IHJnYmEoMCwgMCwgMCwgMC40OSkgaW5zZXQ7XG59XG5bZGF0YS1pcy1sb2FkaW5nPXRydWVdICNiYWNrZ3JvdW5kIHtcbiAgc2NhbGU6IDA7XG59XG4udXRpbGl0eU1vZGUgI2JhY2tncm91bmQge1xuICB3aWR0aDogY2FsYygxMDBkdncgLSAodmFyKC0tbGVmdC1vZmZzZXQpICsgdmFyKC0tdXRpbGl0eS13aWR0aCkgKyAzMHB4KSk7XG59XG4ubWVudU91dCAjYmFja2dyb3VuZCB7XG4gIGJvdHRvbTogLTEwMCU7XG59XG4jYmFja2dyb3VuZCAuY292ZXItc2xpZGVyLFxuI2JhY2tncm91bmQgdmlkZW8sXG4jYmFja2dyb3VuZCAubWFpbkJnSW1nIHtcbiAgei1pbmRleDogMjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbn1cbiNiYWNrZ3JvdW5kIC5jb3Zlci1zbGlkZXI6YWZ0ZXIsXG4jYmFja2dyb3VuZCB2aWRlbzphZnRlcixcbiNiYWNrZ3JvdW5kIC5tYWluQmdJbWc6YWZ0ZXIge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJveC1zaGFkb3c6IC0xcHggM3B4IDlweCAzcHggcmdiYSgwLCAwLCAwLCAwLjQ5KSBpbnNldDtcbiAgY29udGVudDogXCJcIjtcbn1cbiNiYWNrZ3JvdW5kIC5zZWN0aW9uQmdIb2xkZXIge1xuICB6LWluZGV4OiAxO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xufVxuLm1lbnVPdXQgI2JhY2tncm91bmQgLnNlY3Rpb25CZ0hvbGRlciB7XG4gIHotaW5kZXg6IDM7XG59XG4jYmFja2dyb3VuZCAuc2VjdGlvbkJnSG9sZGVyW2RhdGEtc2VjdGlvbi1iZy1vbmx5PXRydWVdIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xufVxuLmluU2VjdGlvbiAjYmFja2dyb3VuZCAuc2VjdGlvbkJnSG9sZGVyW2RhdGEtc2VjdGlvbi1iZy1vbmx5PXRydWVdIHtcbiAgb3BhY2l0eTogMTtcbn1cbiNiYWNrZ3JvdW5kIC5jb3Zlci1zbGlkZXIgLmJnSW1nIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4jYmFja2dyb3VuZCAuYmdJbWcsXG4jYmFja2dyb3VuZCAuc2VjdGlvbkJnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4jYmFja2dyb3VuZCB2aWRlbyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4jYmFja2dyb3VuZFBsYXlCdG4ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWRhcmspO1xuICB3aWR0aDogdmFyKC0tbGVmdC1vZmZzZXQpO1xuICBoZWlnaHQ6IDQwcHg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zbGF0ZTogMCAtNTAlO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDBweDtcbiAgei1pbmRleDogMTUwO1xuICBmb250LXNpemU6IDEuNGVtO1xufVxuW2RhdGEtYWN0aXZlLWRpYWxvZz1jaGVja2xpc3RdICNiYWNrZ3JvdW5kUGxheUJ0biwgW2RhdGEtYWN0aXZlLWRpYWxvZz1mYXFdICNiYWNrZ3JvdW5kUGxheUJ0biwgW2RhdGEtYWN0aXZlLWRpYWxvZz1nbG9zc2FyeV0gI2JhY2tncm91bmRQbGF5QnRuLCBbZGF0YS1hY3RpdmUtZGlhbG9nPWFjaGlldmVtZW50c10gI2JhY2tncm91bmRQbGF5QnRuLCBbZGF0YS1hY3RpdmUtZGlhbG9nPXJlc291cmNlc10gI2JhY2tncm91bmRQbGF5QnRuLCBbZGF0YS1hY3RpdmUtZGlhbG9nPWZhcUNvbmZpcm1RdWVzdGlvbk1lc3NhZ2VdICNiYWNrZ3JvdW5kUGxheUJ0biwgW2RhdGEtYWN0aXZlLWRpYWxvZz1mYXFRdWVzdGlvblN1Ym1pdHRlZE1lc3NhZ2VdICNiYWNrZ3JvdW5kUGxheUJ0biB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5bZGF0YS1hY3RpdmUtZGlhbG9nPXV0aWxpdHlNZW51XSAjYmFja2dyb3VuZFBsYXlCdG4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuW2RhdGEtYWN0aXZlLWRpYWxvZz1zZWFyY2hdICNiYWNrZ3JvdW5kUGxheUJ0biB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5bZGF0YS1hY3RpdmUtem9uZT1zbGlkZXNdICNiYWNrZ3JvdW5kUGxheUJ0biB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5bZGF0YS1pcy1sb2FkaW5nPXRydWVdICNiYWNrZ3JvdW5kUGxheUJ0biB7XG4gIG9wYWNpdHk6IDAgIWltcG9ydGFudDtcbn1cbiNiYWNrZ3JvdW5kUGxheUJ0biAudGV4dCB7XG4gIGxlZnQ6IGNhbGMoMTAwJSArIC0ycHgpO1xuICB0b3A6IDUwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBzY2FsZTogMC4xO1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1saWdodCk7XG4gIHBhZGRpbmc6IDJweCA3cHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG9wYWNpdHk6IDA7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1zZWNvbmRhcnktZm9udCk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy14cyk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWxpZ2h0LWNvbnRyYXN0KTtcbiAgdHJhbnNpdGlvbjogYWxsIDUwMG1zIHZhcigtLXRpbWluZy1ib3VuY2UpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwJSA1MCU7XG4gIHRyYW5zbGF0ZTogMCAtNTAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbiNiYWNrZ3JvdW5kUGxheUJ0biAudGV4dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zaXRpb246IGFsbCA1MDBtcyB2YXIoLS10aW1pbmctYm91bmNlKTtcbiAgdHJhbnNsYXRlOiAwIC01MCU7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0KTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IDE0cHg7XG4gIGNsaXAtcGF0aDogcG9seWdvbigwJSA1MCUsIDEwMCUgMCUsIDEwMCUgMTAwJSk7XG59XG4jYmFja2dyb3VuZFBsYXlCdG4gLnRleHQ6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zaXRpb246IGFsbCA1MDBtcyB2YXIoLS10aW1pbmctYm91bmNlKTtcbiAgdHJhbnNsYXRlOiAwIC01MCU7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0KTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiBjYWxjKDEwMCUgLSAycHgpO1xuICBjbGlwLXBhdGg6IHBvbHlnb24oMCUgNTAlLCAxMDAlIDAlLCAxMDAlIDEwMCUpO1xufVxuI2JhY2tncm91bmRQbGF5QnRuIC50ZXh0IHtcbiAgZm9udC1zaXplOiAwLjhlbTtcbn1cbiNiYWNrZ3JvdW5kUGxheUJ0biAuaWNvbi1wbGF5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiNiYWNrZ3JvdW5kUGxheUJ0bi5wYXVzZSAuaWNvbi1wbGF5IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4jYmFja2dyb3VuZFBsYXlCdG4ucGF1c2UgLmljb24tcGF1c2Uge1xuICBkaXNwbGF5OiBub25lO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAjYmFja2dyb3VuZFBsYXlCdG46aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnkpO1xuICAgIGNvbG9yOiB2YXIoLS1saWdodCk7XG4gIH1cbiAgI2JhY2tncm91bmRQbGF5QnRuOmhvdmVyIC50ZXh0IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHNjYWxlOiAxO1xuICB9XG59XG5bZGF0YS1icm93c2VyPWllXSAjYmFja2dyb3VuZFBsYXlCdG46aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1wcmltYXJ5KTtcbiAgY29sb3I6IHZhcigtLWxpZ2h0KTtcbn1cbltkYXRhLWJyb3dzZXI9aWVdICNiYWNrZ3JvdW5kUGxheUJ0bjpob3ZlciAudGV4dCB7XG4gIG9wYWNpdHk6IDE7XG4gIHNjYWxlOiAxO1xufVxuLmllICNiYWNrZ3JvdW5kUGxheUJ0bjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnkpO1xuICBjb2xvcjogdmFyKC0tbGlnaHQpO1xufVxuLmllICNiYWNrZ3JvdW5kUGxheUJ0bjpob3ZlciAudGV4dCB7XG4gIG9wYWNpdHk6IDE7XG4gIHNjYWxlOiAxO1xufVxuI2JhY2tncm91bmRQbGF5QnRuLmZvY3VzLXZpc2libGUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1wcmltYXJ5KTtcbiAgY29sb3I6IHZhcigtLWxpZ2h0KTtcbn1cbiNiYWNrZ3JvdW5kUGxheUJ0bi5mb2N1cy12aXNpYmxlIC50ZXh0IHtcbiAgb3BhY2l0eTogMTtcbiAgc2NhbGU6IDE7XG59XG4jYmFja2dyb3VuZFBsYXlCdG46Zm9jdXMtdmlzaWJsZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnkpO1xuICBjb2xvcjogdmFyKC0tbGlnaHQpO1xufVxuI2JhY2tncm91bmRQbGF5QnRuOmZvY3VzLXZpc2libGUgLnRleHQge1xuICBvcGFjaXR5OiAxO1xuICBzY2FsZTogMTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDE0MjVweCkge1xuICA6cm9vdCAuaW5TZWN0aW9uIHtcbiAgICAtLXNxMUxlZnQ6IDMwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMjgwcHgpIHtcbiAgOnJvb3Qge1xuICAgIC0tZm9vdGVyLWhlaWdodDogOTVweDtcbiAgICAtLWZvb3Rlci13aWR0aDogMjI1cHg7XG4gIH1cbiAgLnNxdWFyZXMuc3F1YXJlRWxlbWVudHNUb3AgLnNxQm90dG9tOmFmdGVyIHtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gIH1cbiAgLm9yaWVudGF0aW9uVGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS40NWVtO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTA3MHB4KSB7XG4gIDpyb290IHtcbiAgICAtLXNxMUxlZnQ6IDcwcHg7XG4gICAgLS1zcTFGdWxsVzogMTQwcHg7XG4gICAgLS1zcTFXOiA0NXB4O1xuICAgIC0tc3ExSDogMTM1cHg7XG4gICAgLS1mb290ZXItaGVpZ2h0OiA4MHB4O1xuICAgIC0tZm9vdGVyLXdpZHRoOiAxNzBweDtcbiAgICAtLXNxMkZ1bGxIOiAyMTVweDtcbiAgfVxuICAub3JpZW50YXRpb25UaXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICB9XG4gIC5zcXVhcmVzLnNxdWFyZUVsZW1lbnRzVG9wIC5zcUJvdHRvbTphZnRlciB7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogOTUwcHgpIHtcbiAgOnJvb3Qge1xuICAgIC0tc3ExTGVmdDogNTVweDtcbiAgICAtLXNxMUZ1bGxXOiAxMTVweDtcbiAgICAtLXNxMVc6IDM1cHg7XG4gICAgLS1zcTFIOiAxMTVweDtcbiAgICAtLXNxMkZ1bGxIOiAyMDBweDtcbiAgICAtLWxlZnQtb2Zmc2V0OiAzNXB4O1xuICB9XG4gIDpyb290IC5pblNlY3Rpb24ge1xuICAgIC0tc3ExRnVsbFc6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA5NTBweCkgYW5kIChtYXgtaGVpZ2h0OiA2NTBweCkge1xuICA6cm9vdCAuaW5TZWN0aW9uIHtcbiAgICAtLWZvb3Rlci13aWR0aDogMHB4O1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogOTUwcHgpIHtcbiAgLnNxdWFyZXMgLnNxVG9wIHtcbiAgICB0b3A6IDVweDtcbiAgfVxuICAub3JpZW50YXRpb25UaXRsZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gIH1cbiAgLnNxdWFyZXMuc3F1YXJlRWxlbWVudHNUb3AgLnNxQm90dG9tOmFmdGVyIHtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA4MjBweCkgYW5kIChtaW4taGVpZ2h0OiAxcHgpIHtcbiAgOnJvb3Qge1xuICAgIC0tc3ExTGVmdDogMHB4O1xuICAgIC0tc3ExRnVsbFc6IDY1cHg7XG4gICAgLS1zcTFIOiAxMTVweDtcbiAgICAtLXNxMkZ1bGxIOiAyMDBweDtcbiAgICAtLWxlZnQtb2Zmc2V0OiAzNXB4O1xuICAgIC0tc3ExVzogdmFyKC0tbGVmdC1vZmZzZXQpO1xuICB9XG4gICNiYWNrZ3JvdW5kIHtcbiAgICB6LWluZGV4OiAzO1xuICAgIHdpZHRoOiBjYWxjKDEwMGR2dyAtICh2YXIoLS1yc3AtcmlnaHQtb2Zmc2V0KSArIHZhcigtLWxlZnQtb2Zmc2V0KSkpO1xuICAgIGhlaWdodDogY2FsYygxMDB2aCAtICh2YXIoLS10b3Atb2Zmc2V0KSArIHZhcigtLW5hdkgpIC0gMjBweCkpO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IHZhcigtLXRvcC1vZmZzZXQpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCByaWdodDtcbiAgfVxuICAuc3F1YXJlRWxlbWVudHNCYWNrIC5zcXVhcmUge1xuICAgIHotaW5kZXg6IDI7XG4gIH1cbiAgLnNxdWFyZXMgLnNxVG9wIHtcbiAgICB0b3A6IDI1cHg7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gIH1cbiAgW2RhdGEtaXMtbG9hZGluZz10cnVlXSAuc3F1YXJlcyAuc3FUb3Age1xuICAgIHNjYWxlOiAwO1xuICB9XG4gIC5zcXVhcmVzIC5zcUJvdHRvbSB7XG4gICAgei1pbmRleDogMjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gbGVmdDtcbiAgfVxuICBbZGF0YS1pcy1sb2FkaW5nPXRydWVdIC5zcXVhcmVzIC5zcUJvdHRvbSB7XG4gICAgc2NhbGU6IDA7XG4gIH1cbiAgLnNxdWFyZXMuc3F1YXJlRWxlbWVudHNUb3AgLnNxQm90dG9tOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5iYWNrZ3JvdW5kTWFwIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAjYmFja2dyb3VuZFBsYXlCdG4ge1xuICAgIHRyYW5zbGF0ZTogMCAtNDUlO1xuICAgIHRvcDogNTUlO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogODIwcHgpIHtcbiAgLnNxdWFyZXMuc3F1YXJlRWxlbWVudHNUb3AgLnNxQm90dG9tOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5AbWVkaWEgKG1heC1oZWlnaHQ6IDcyNXB4KSB7XG4gICNiYWNrZ3JvdW5kUGxheUJ0biB7XG4gICAgdHJhbnNsYXRlOiB1bnNldDtcbiAgICB0b3A6IGNhbGModmFyKC0tdG9wLW9mZnNldCkgKyB2YXIoLS1zcTFIKSk7XG4gIH1cbn1cbkBtZWRpYSAobWF4LWhlaWdodDogMzkwcHgpIHtcbiAgI2JhY2tncm91bmQge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCAtICh2YXIoLS10b3Atb2Zmc2V0KSArIHZhcigtLWZvb3Rlci1oZWlnaHQpIC8gMyAtIDBweCkpO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IGNhbGModmFyKC0tdG9wLW9mZnNldCkgLSAyNXB4KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgcmlnaHQ7XG4gIH1cbn1cbkBtZWRpYSAobWF4LWhlaWdodDogMzkwcHgpIGFuZCAobWF4LXdpZHRoOiA2NzBweCkge1xuICA6cm9vdCB7XG4gICAgLS1mb290ZXItd2lkdGg6IDE2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNTIwcHgpIHtcbiAgOnJvb3QgLmluU2VjdGlvbiB7XG4gICAgLS1zcTFMZWZ0OiAxNXB4O1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNDUwcHgpIHtcbiAgOnJvb3Qge1xuICAgIC0tc3ExRnVsbFc6IDQ1cHg7XG4gIH1cbn1cbmJvZHkge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1saWdodCk7XG59XG5cbi5idWZmZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEyMDtcbiAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIDU1cHgpO1xufVxuXG4jYmFja2dyb3VuZC5tZW1iZXJzaGlwQmcgdmlkZW8ge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMzUwcHgpO1xufVxuXG5mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNTVweDtcbiAgcGFkZGluZzogMCAxNXB4O1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICB6LWluZGV4OiA5OTk5O1xufVxuZm9vdGVyIC5hZGdMb2dvV3JhcCBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQ6IGJsYWNrO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICBmb290ZXIgLmFkZ0xvZ29XcmFwIGE6aG92ZXIge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWxpZ2h0KTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iYXNpYyk7XG4gIH1cbn1cbltkYXRhLWJyb3dzZXI9aWVdIGZvb3RlciAuYWRnTG9nb1dyYXAgYTpob3ZlciB7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWxpZ2h0KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmFzaWMpO1xufVxuLmllIGZvb3RlciAuYWRnTG9nb1dyYXAgYTpob3ZlciB7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWxpZ2h0KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmFzaWMpO1xufVxuZm9vdGVyIC5hZGdMb2dvV3JhcCBhOmZvY3VzIHtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tbGlnaHQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iYXNpYyk7XG59XG5mb290ZXIgLmFkZ0xvZ29XcmFwIC5hZGdMb2dvIHtcbiAgaGVpZ2h0OiAzOHB4O1xuICB3aWR0aDogYXV0bztcbn1cblxuLnNvY2lhbE1lZGlhIHtcbiAgbWF4LXdpZHRoOiA1MDBweDtcbiAgd2lkdGg6IDEwMCU7XG59XG4uc29jaWFsTWVkaWEgLnNvY2lhbE1lZGlhVGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLnNvY2lhbE1lZGlhIC5zb2NpYWxNZWRpYUxvZ2lucyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgZ2FwOiAxMHB4O1xufVxuLnNvY2lhbE1lZGlhIC5zb2NpYWxNZWRpYUxvZ2lucyAuZmFjZWJvb2tMb2dpbiB7XG4gIGJhY2tncm91bmQ6IHJnYig4LCAxMDIsIDI1NSkgIWltcG9ydGFudDtcbiAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG59XG4uc29jaWFsTWVkaWEgLnNvY2lhbE1lZGlhTG9naW5zIC5nb29nbGVMb2dpbiB7XG4gIGJhY2tncm91bmQ6ICNlYmViZWMgIWltcG9ydGFudDtcbiAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG59XG4uc29jaWFsTWVkaWEgLnNvY2lhbE1lZGlhTG9naW5zIC50d2l0dGVyTG9naW4ge1xuICBiYWNrZ3JvdW5kOiAjMTQxNzFhICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuLnNvY2lhbE1lZGlhIC5zb2NpYWxNZWRpYUxvZ2lucyAudHdpdHRlckxvZ2luIC50ZXh0IHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwLXBhdGg6IHJlY3QoMCAwIDAgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbn1cbi5zb2NpYWxNZWRpYSAuc29jaWFsTWVkaWFMb2dpbnMgLmFwcGxlTG9naW4ge1xuICBiYWNrZ3JvdW5kOiBibGFjayAhaW1wb3J0YW50O1xuICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbn1cbi5zb2NpYWxNZWRpYSAuc29jaWFsTWVkaWFMb2dpbnMgPiBhIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBoZWlnaHQ6IDUwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMWVtICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMHB4O1xufVxuLnNvY2lhbE1lZGlhIC5zb2NpYWxNZWRpYUxvZ2lucyA+IGEgLnN2Z0ljb24ge1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IDdweDtcbn1cbi5zb2NpYWxNZWRpYSAuc29jaWFsTWVkaWFMb2dpbnMgPiBhIC50ZXh0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMS4xZW07XG59XG4uc29jaWFsTWVkaWEgLnNvY2lhbE1lZGlhTG9naW5zIC5hcHBsZUxvZ2luIHtcbiAgaGVpZ2h0OiA0NXB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uc29jaWFsTWVkaWEgLnNvY2lhbE1lZGlhTG9naW5zIC5hcHBsZUxvZ2luID4gZGl2IHtcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi8qLmxvZ2luV3JhcHBlcltkYXRhLWhpZGRlbi1mb3ItZ3Vlc3Q9XCJ0cnVlXCJdIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufSovXG4uZ3Vlc3RXcmFwcGVySG9sZGVyIHtcbiAgbWF4LWhlaWdodDogMDtcbiAgb3BhY2l0eTogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDgwMG1zO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uZmllbGRXcmFwcGVyLmVucm9sbGVlTmFtZSB7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICB6LWluZGV4OiAtMTtcbn1cblxuLmZpZWxkV3JhcHBlci5waG9uZSAjUGhvbmVOdW1iZXIge1xuICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG59XG4uZmllbGRXcmFwcGVyLnBob25lIC5pdGkge1xuICB3aWR0aDogMTAwJTtcbiAgY29sb3I6IHZhcigtLWJhc2ljKTtcbn1cbi5maWVsZFdyYXBwZXIucGhvbmUgLml0aSAuaXRpX19jb3VudHJ5LWNvbnRhaW5lciB7XG4gIHRvcDogMThweDtcbiAgYm90dG9tOiAxcHg7XG59XG4uZmllbGRXcmFwcGVyLnBob25lIC5pdGkgLml0aV9fc2VsZWN0ZWQtY291bnRyeSB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cykgMCAwIHZhcigtLXJhZGl1cyk7XG59XG4uZmllbGRXcmFwcGVyLnBob25lIC5pdGkgLml0aV9fZHJvcGRvd24tY29udGVudCB7XG4gIHotaW5kZXg6IDM7XG59XG5cbjpyb290IHtcbiAgLS1pdGktcGF0aC1mbGFncy0xeDogdXJsKFwiL0ltYWdlcy9mbGFncy5wbmdcIik7XG4gIC0taXRpLXBhdGgtZmxhZ3MtMng6IHVybChcIi9JbWFnZXMvZmxhZ3NAMngucG5nXCIpO1xuICAtLWl0aS1wYXRoLWdsb2JlLTF4OiB1cmwoXCIvSW1hZ2VzL2dsb2JlLnBuZ1wiKTtcbiAgLS1pdGktcGF0aC1nbG9iZS0yeDogdXJsKFwiL0ltYWdlcy9nbG9iZUAyeC5wbmdcIik7XG59XG5cbjpyb290IHtcbiAgLS1sb2dpbi13OiA2MDBweDtcbiAgLS1sb2dpbi1oZWFkZXItaGVpZ2h0OiAxNTVweDtcbn1cblxuLm1lbWJlcnNoaXBCdWZmZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICBwYWRkaW5nLXRvcDogMzBweDtcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwcHggMHB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMzUpKTtcbn1cblxuI2JhY2tncm91bmQge1xuICBib3R0b206IDBweDtcbiAgbGVmdDogdmFyKC0tbGVmdC1vZmZzZXQpO1xuICB3aWR0aDogY2FsYygxMDBkdncgLSAodmFyKC0tbWFpbi1zaWRlYmFyKSArIHZhcigtLWxlZnQtb2Zmc2V0KSkpO1xuICBoZWlnaHQ6IGNhbGMoMTAwZHZoIC0gdmFyKC0tdG9wLW9mZnNldCkpO1xuICBib3gtc2hhZG93OiAtMXB4IDNweCA5cHggM3B4IHJnYmEoMCwgMCwgMCwgMC40OSkgaW5zZXQ7XG59XG5cbiNiYWNrZ3JvdW5kUGxheUJ0biB7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAxMHB4O1xufVxuXG4ubG9naW5UZWFzZXJWaWRlbyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgbGVmdDogNTBweDtcbiAgcmlnaHQ6IDY4MHB4O1xuICB6LWluZGV4OiA5OTtcbn1cbi5sb2dpblRlYXNlclZpZGVvIC52aWRlb0hvbGRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBwYWRkaW5nOiA1Ni4yNSUgMCAwO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZC1kYXJrKSB1cmwoXCIvaW1hZ2VzL2xvYWQtc2NyZWVuLmpwZ1wiKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG4ubG9naW5UZWFzZXJWaWRlbyAudmlkZW9Ib2xkZXJbZGF0YS12aW1lby1pbml0aWFsaXplZF0ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iYXNpYyk7XG59XG4ubG9naW5UZWFzZXJWaWRlbyAudmlkZW9Ib2xkZXIgLnBsYXllcixcbi5sb2dpblRlYXNlclZpZGVvIC52aWRlb0hvbGRlciBpZnJhbWUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyOiAwO1xufVxuXG5oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtaW4taGVpZ2h0OiB2YXIoLS1sb2dpbi1oZWFkZXItaGVpZ2h0KTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogdmFyKC0tbG9naW4tdyk7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItYm90dG9tOiAyMHB4IHNvbGlkIHZhcigtLWJyYW5kLWJyaWdodCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWxpZ2h0LWNvbnRyYXN0KTtcbiAgcGFkZGluZzogMjVweCAwcHggMjBweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKSB2YXIoLS1yYWRpdXMpIDAgMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbmhlYWRlciAuYnJhbmRpbmcge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1ncm93OiAxO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDBweCAxMHB4O1xufVxuaGVhZGVyIC5sb2dvV3JhcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBtYXgtd2lkdGg6IDMxNXB4O1xuICBoZWlnaHQ6IDcwcHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuaGVhZGVyIC5sb2dvV3JhcCAubG9nbyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbn1cbltkYXRhLWxvZ28tYXNwZWN0PXRhbGxdIGhlYWRlciAubG9nb1dyYXAge1xuICBoZWlnaHQ6IDE0MHB4O1xufVxuaGVhZGVyIC5vcmllbnRhdGlvblRpdGxlIHtcbiAgZm9udC1zaXplOiAxLjFlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWRhcmspO1xuICBwYWRkaW5nLXRvcDogMjVweDtcbiAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbiNtZW1iZXJzaGlwIHtcbiAgLS1mb2N1cy1vdXRsaW5lLWNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcbiAgLS1mb2N1cy1zaGFkb3ctY29sb3I6IHZhcigtLWxpZ2h0KTtcbiAgbWF4LXdpZHRoOiB2YXIoLS1sb2dpbi13KTtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXgtZ3JvdzogMTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWRhcmstY29udHJhc3QpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZC1kYXJrKTtcbiAgcGFkZGluZzogNDBweCAyNXB4IDYwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCB2YXIoLS1yYWRpdXMpIHZhcigtLXJhZGl1cyk7XG59XG4jbWVtYmVyc2hpcCAudGl0bGVBcmVhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG59XG4jbWVtYmVyc2hpcCAudGl0bGVBcmVhLmFjY291bnRQcm9maWxlciBoMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xufVxuI21lbWJlcnNoaXAgLmVycm9yTWVzc2FnZSxcbiNtZW1iZXJzaGlwIC5maWVsZC12YWxpZGF0aW9uLWVycm9yIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdyb25nKTtcbiAgY29sb3I6IHZhcigtLXdyb25nLWNvbnRyYXN0KTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBmb250LXdlaWdodDogNjAwO1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgbWFyZ2luOiAycHggYXV0byAxMHB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBib3JkZXI6IDFweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbGlnaHQpIGNhbGMoMC40ICogMTAwJSksIHRyYW5zcGFyZW50KTtcbn1cbiNtZW1iZXJzaGlwIC5sb2dpbk5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWxpZ2h0KSBjYWxjKDAuMyAqIDEwMCUpLCB0cmFuc3BhcmVudCk7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG4gIHBhZGRpbmctdG9wOiAxNXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMC45ZW07XG4gIHdpZHRoOiAxMDAlO1xufVxuI21lbWJlcnNoaXAgLmxvZ2luTmF2IGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWRhcmstY29udHJhc3QpO1xuICBwYWRkaW5nOiAzcHggNXB4O1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgYm9yZGVyLWJvdHRvbTogMHB4O1xuICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDVweDtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgI21lbWJlcnNoaXAgLmxvZ2luTmF2IGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuW2RhdGEtYnJvd3Nlcj1pZV0gI21lbWJlcnNoaXAgLmxvZ2luTmF2IGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uaWUgI21lbWJlcnNoaXAgLmxvZ2luTmF2IGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4jbWVtYmVyc2hpcCAubG9naW5OYXYgYTpmb2N1cyB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1icmFuZC1kYXJrLWNvbnRyYXN0KTtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cbiNtZW1iZXJzaGlwIC5sb2dpbk5hdiA+ICoge1xuICBtYXJnaW46IDAgNXB4O1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgcGFkZGluZzogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwIGlucHV0W3R5cGU9Y2hlY2tib3hdIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbkBzdXBwb3J0cyAoYXBwZWFyYW5jZTogbm9uZSkge1xuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAgaW5wdXRbdHlwZT1jaGVja2JveF0ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgd2lkdGg6IDFlbTtcbiAgICBoZWlnaHQ6IDFlbTtcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAgaW5wdXRbdHlwZT1jaGVja2JveF06YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxZW07XG4gICAgaGVpZ2h0OiAxZW07XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tYnJhbmQtZGFyaykgY2FsYygwLjcgKiAxMDAlKSwgdHJhbnNwYXJlbnQpO1xuICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcztcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAgaW5wdXRbdHlwZT1jaGVja2JveF06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxZW07XG4gICAgaGVpZ2h0OiAxZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbiAgICBtYXNrLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzkgSWpBZ01DQXpNVFl1TXpnZ01qVXdMallpUGp4d1lYUm9JR1E5SWswM01DNDBJREl4T1M0NFl6UXVOVFVnTkM0NCBOeUE1TGpJeUlEa3VOamNnTVRRdU1USWdNVFF1TVRrZ015NDNOU0F6TGpRM0lEY3VOekVnTmk0NE5TQXhNUzQ1IE15QTVMamMwSURVdU5TQXpMamM0SURFeExqa3lJRGN1TURnZ01UZ3VOemdnTmk0NE5TQTJMalkyTFM0eU15QXggTWk0M055MHpMamN6SURFM0xqazNMVGN1TmpJZ09DNDJMVFl1TkRJZ01UWXVOamN0TVRVdU1UY2dNak11T0RRdCBNak11TVRSTU16QTFMalk0SURVMExqWTVZemN1TWkwNElERXhMamM1TFRFNExqSTFJREV3TGpRM0xUSTVMakUzIExURXVNRFF0T0M0MU9TMDFMamN4TFRFMkxqVTFMVEV6TGpBeExUSXhMakk1TFRVdU5qVXRNeTQyTnkweE1pNHkgTmkwMExqazRMVEU0TGprdE15NDRNaTA0TGprZ01TNDFOaTB4Tmk0MU5DQTNMakl5TFRJeUxqUTRJREV6TGpjNCBMVFE0TGpNMElEVXpMak15TFRrMkxqVTVJREV3Tmk0M01TMHhORFF1T0RVZ01UWXdMakV4YkMwekxqRTVJRE11IE5UTXROakF1TkMwMk5pNDJNMk10T0M0ME1pMDVMakk1TFRFNUxqY3RNVE11T1RRdE16RXVPVEl0T1M0MU55MDAgTGpjeUlERXVOamt0T0M0NU9TQTBMalU0TFRFeUxqUTFJRGd1TVRrdE15NDROaUEwTGpBMExUWXVOemdnT1M0dyBOaTA0TGpFeklERTBMalE1TFRJdU16RWdPUzR5Tnk0eklERTRMakEzSURZdU5qSWdNalV1TVROc05qSXVPVFVnIE56QXVNelZhSWlCemRIbHNaVDBpWm1sc2JDMXlkV3hsT21WMlpXNXZaR1FpTHo0OEwzTjJaejRLXCIpO1xuICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgbWFzay1zaXplOiA2MCU7XG4gICAgbWFzay1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZDpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZDphZnRlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAgaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjM7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAgaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWJhc2ljKSBjYWxjKDAuOCAqIDEwMCUpLCB0cmFuc3BhcmVudCk7XG4gIH1cbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcCBpbnB1dFt0eXBlPWNoZWNrYm94XSB+IGxhYmVsLFxuI21lbWJlcnNoaXAgLmZvcm1XcmFwIGlucHV0W3R5cGU9cmFkaW9dIH4gbGFiZWwge1xuICBwYWRkaW5nLWxlZnQ6IDAuMzVlbTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcCBpbnB1dFt0eXBlPXJhZGlvXSB7XG4gIGZvbnQtc2l6ZTogMS4xZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwO1xuICBib3gtc2hhZG93OiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5Ac3VwcG9ydHMgKGFwcGVhcmFuY2U6IG5vbmUpIHtcbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwIGlucHV0W3R5cGU9cmFkaW9dIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIHdpZHRoOiAxZW07XG4gICAgaGVpZ2h0OiAxZW07XG4gIH1cbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwIGlucHV0W3R5cGU9cmFkaW9dOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMWVtO1xuICAgIGhlaWdodDogMWVtO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tYnJhbmQtZGFyaykgY2FsYygwLjcgKiAxMDAlKSwgdHJhbnNwYXJlbnQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG4gIH1cbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwIGlucHV0W3R5cGU9cmFkaW9dOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgei1pbmRleDogNTtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcCBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkOmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gIH1cbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQ6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICAgIHdpZHRoOiAwLjQ1ZW07XG4gICAgaGVpZ2h0OiAwLjQ1ZW07XG4gIH1cbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwIGlucHV0W3R5cGU9cmFkaW9dW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC4zO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwIGlucHV0W3R5cGU9cmFkaW9dW2Rpc2FibGVkXTpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG9rbGNoKGZyb20gdmFyKC0tYmFzaWMpIG1pbihsICsgbCAqIDAuNzUsIDEpIGMgaCk7XG4gIH1cbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcCAuc3R5bGVkRmllbGRzZXQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodCk7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcCAuc3R5bGVkRmllbGRzZXQgbGVnZW5kIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQtZGFyayk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWxpZ2h0KTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sb2dpbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1heC13aWR0aDogNDUwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgYXV0bztcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sb2dpbiAuc3RhdHVzTWVzc2FnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJsYWNrKTtcbiAgY29sb3I6IHZhcigtLWJsYWNrLWNvbnRyYXN0KTtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgbWFyZ2luOiAxMHB4IGF1dG87XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubG9naW4gLmhvcnpEaXZpZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubG9naW4gLmhvcnpEaXZpZGVyIC5vciB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbi1pbmxpbmU6IDE1cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJyYW5kLWRhcmspO1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICB0cmFuc2xhdGU6IDAgMjBweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sb2dpbiAubG9naW5XcmFwcGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWJyYW5kLWRhcmstY29udHJhc3QpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBwYWRkaW5nOiAyMHB4O1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxvZ2luIC5sb2dpbldyYXBwZXIgLmZpZWxkV3JhcHBlciB7XG4gIG1pbi13aWR0aDogMjgwcHg7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubG9naW4gLmxvZ2luV3JhcHBlciAuZmllbGQtdmFsaWRhdGlvbi1lcnJvciB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubG9naW4gLmxvZ2luV3JhcHBlciBoMyB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubG9naW4gLmVtcGxveWVlTG9naW4ge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMzBweCAyMHB4O1xuICBtYXJnaW4tdG9wOiAyNXB4O1xuICBsaW5lLWhlaWdodDogMS44O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQpO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxvZ2luIC5lbXBsb3llZUxvZ2luIGgzIHtcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxvZ2luIC5lbXBsb3llZUxvZ2luIGEge1xuICBwYWRkaW5nOiA4cHggMTZweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodCk7XG4gIGNvbG9yOiB2YXIoLS1saWdodC1jb250cmFzdCk7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sb2dpbiAuZW1wbG95ZWVMb2dpbiBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gICAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbiAgfVxufVxuW2RhdGEtYnJvd3Nlcj1pZV0gI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxvZ2luIC5lbXBsb3llZUxvZ2luIGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG59XG4uaWUgI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxvZ2luIC5lbXBsb3llZUxvZ2luIGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubG9naW4gLmVtcGxveWVlTG9naW4gYS5mb2N1cy12aXNpYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxvZ2luIC5lbXBsb3llZUxvZ2luIGE6Zm9jdXMtdmlzaWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSB7XG4gIHBhZGRpbmctbGVmdDogMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAwcHg7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMge1xuICAtLWdyYXBoaWM6IDc1cHg7XG4gIC0tZ3Vlc3QtZ3JhcGhpYzogNjBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZ2FwOiAyNXB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiA0NTBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDBweCAyNXB4IDAgMDtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWxpZ2h0KTtcbiAgcGFkZGluZzogMTBweDtcbiAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIHNjYWxlOiAwIDAuMjU7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAlIDUwJTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWNpcmNsZSk7XG4gIHRyYW5zaXRpb246IGFsbCA1MDBtcyB2YXIoLS10aW1pbmctc21vb3RoLXNtKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhOmhhcyguaW1hZ2UpIHtcbiAgLS1ncmFwaGljOiA5MHB4O1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGE6aGFzKC5pbWFnZSkgLmltYWdlIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYTpoYXMoLmltYWdlKSAuaWNvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYSAudGV4dCB7XG4gIGZvbnQtc2l6ZTogMS44ZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMztcbiAgdHJhbnNpdGlvbjogY29sb3IgMzAwbXM7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYSAuZ3JhcGhpY0hvbGRlciB7XG4gIG1pbi13aWR0aDogdmFyKC0tZ3JhcGhpYyk7XG4gIHdpZHRoOiB2YXIoLS1ncmFwaGljKTtcbiAgYXNwZWN0LXJhdGlvOiAxLzE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMztcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhIC5ncmFwaGljSG9sZGVyIC5pY29uLFxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGEgLmdyYXBoaWNIb2xkZXIgLmltYWdlIHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWNpcmNsZSk7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGEgLmljb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZm9udC1zaXplOiAyLjhlbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgNTAwbXMgdmFyKC0tdGltaW5nLXNtb290aC1zbSksIGNvbG9yIDMwMG1zO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGEgLmljb246YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWljb24tZm9udCk7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gIGNvbnRlbnQ6IFwia1wiO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDM7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYSAuaWNvbjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIHNjYWxlOiAwIDAuMjU7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1jaXJjbGUpO1xuICB0cmFuc2l0aW9uOiBhbGwgNTAwbXMgdmFyKC0tdGltaW5nLXNtb290aC1zbSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYS5lbnJvbGxlZUxvZ2luQnRuIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQtZGFyay1jb250cmFzdCk7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhLmVucm9sbGVlTG9naW5CdG4gLmdyYXBoaWNIb2xkZXIge1xuICB0cmFuc2xhdGU6IC0yMHB4IDBweDtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhLmVucm9sbGVlTG9naW5CdG4gLmljb24ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZC1kYXJrKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icmFuZC1kYXJrLWNvbnRyYXN0KTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWRhcmstY29udHJhc3QpO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGEuZW5yb2xsZWVMb2dpbkJ0biAuaWNvbjpiZWZvcmUge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb250ZW50OiBcIkNcIjtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhLmd1ZXN0TG9naW5CdG4ge1xuICAtLWdyYXBoaWM6IHZhcigtLWd1ZXN0LWdyYXBoaWMpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZC1kYXJrKTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWRhcmstY29udHJhc3QpO1xuICBnYXA6IDEwcHg7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhLmd1ZXN0TG9naW5CdG4gLmdyYXBoaWNIb2xkZXIge1xuICBtaW4td2lkdGg6IHZhcigtLWd1ZXN0LWdyYXBoaWMpO1xuICB3aWR0aDogdmFyKC0tZ3Vlc3QtZ3JhcGhpYyk7XG4gIHRyYW5zbGF0ZTogLTIwcHggMHB4O1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGEuZ3Vlc3RMb2dpbkJ0biAudGV4dCB7XG4gIGZvbnQtc2l6ZTogMS41ZW07XG4gIHRyYW5zbGF0ZTogLTEwcHggMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGEuZ3Vlc3RMb2dpbkJ0biAuaWNvbiB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnJhbmQtZGFyay1jb250cmFzdCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJyYW5kLWRhcmspO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtZGFyay1jb250cmFzdCk7XG4gIGZvbnQtc2l6ZTogMi41ZW07XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhOmhvdmVyIC5pY29uIHtcbiAgICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbiAgICBzY2FsZTogMS4xO1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhOmhvdmVyIC5pY29uOmFmdGVyIHtcbiAgICBzY2FsZTogMSAxO1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhOmhvdmVyIC50ZXh0IHtcbiAgICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYTpob3ZlcjphZnRlciB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgICBzY2FsZTogMSAxO1xuICB9XG59XG5bZGF0YS1icm93c2VyPWllXSAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYTpob3ZlciAuaWNvbiB7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpO1xuICBzY2FsZTogMS4xO1xufVxuW2RhdGEtYnJvd3Nlcj1pZV0gI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGE6aG92ZXIgLmljb246YWZ0ZXIge1xuICBzY2FsZTogMSAxO1xufVxuW2RhdGEtYnJvd3Nlcj1pZV0gI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGE6aG92ZXIgLnRleHQge1xuICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbn1cbltkYXRhLWJyb3dzZXI9aWVdICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhOmhvdmVyOmFmdGVyIHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgc2NhbGU6IDEgMTtcbn1cbi5pZSAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYTpob3ZlciAuaWNvbiB7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpO1xuICBzY2FsZTogMS4xO1xufVxuLmllICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhOmhvdmVyIC5pY29uOmFmdGVyIHtcbiAgc2NhbGU6IDEgMTtcbn1cbi5pZSAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYTpob3ZlciAudGV4dCB7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpO1xufVxuLmllICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhOmhvdmVyOmFmdGVyIHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgc2NhbGU6IDEgMTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhLmZvY3VzLXZpc2libGUgLmljb24ge1xuICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbiAgc2NhbGU6IDEuMTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhLmZvY3VzLXZpc2libGUgLmljb246YWZ0ZXIge1xuICBzY2FsZTogMSAxO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGEuZm9jdXMtdmlzaWJsZSAudGV4dCB7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGEuZm9jdXMtdmlzaWJsZTphZnRlciB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIHNjYWxlOiAxIDE7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYTpmb2N1cy12aXNpYmxlIC5pY29uIHtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG4gIHNjYWxlOiAxLjE7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYTpmb2N1cy12aXNpYmxlIC5pY29uOmFmdGVyIHtcbiAgc2NhbGU6IDEgMTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhOmZvY3VzLXZpc2libGUgLnRleHQge1xuICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhOmZvY3VzLXZpc2libGU6YWZ0ZXIge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBzY2FsZTogMSAxO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmFjY291bnRQcm9maWxlciB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAuYWNjb3VudFByb2ZpbGVyIC5wcm9maWxlU2V0dGluZ3NFeHBsYWluZXIsXG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAuYWNjb3VudFByb2ZpbGVyIC5wcm9maWxlRXJyb3JXcmFwIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmFjY291bnRQcm9maWxlciAuZXJyb3JNZXNzYWdlIGxpIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmFjY291bnRQcm9maWxlciAuaW5zdHJ1Y3Rpb24ge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAuYWNjb3VudFByb2ZpbGVyIC5hY2NvcmRpb25XcmFwcGVyIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWRhcmstY29udHJhc3QpO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmFjY291bnRQcm9maWxlciAuc3R5bGVkRmllbGRzZXQge1xuICBmb250LXNpemU6IDAuOWVtO1xuICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMThweDtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIgLnN0eWxlZEZpZWxkc2V0IC5jb250cm9sV3JhcHBlciB7XG4gIGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIgLnN0eWxlZEZpZWxkc2V0IC5jb250cm9sV3JhcHBlcjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweCAhaW1wb3J0YW50O1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmFjY291bnRQcm9maWxlciAuc3R5bGVkRmllbGRzZXQucGhvbmUgLmZpZWxkV3JhcHBlciB7XG4gIG1hcmdpbjogMTBweCAwIDE1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmFjY291bnRQcm9maWxlciAuc3R5bGVkRmllbGRzZXQucGhvbmUgLmNvbnRyb2xXcmFwcGVyIC5jb250cm9sIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIgcC5wcm9maWxlU2VsZWN0RXhwbGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG4gIHBhZGRpbmc6IDhweCAxMnB4O1xuICBtYXJnaW46IDAgYXV0byAxOHB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmFjY291bnRQcm9maWxlciBwLnByb2ZpbGVTZWxlY3RFeHBsYWluZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiA3cHggY2FsYygxMHB4IC8gMikgMCBjYWxjKDEwcHggLyAyKTtcbiAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIGJvdHRvbTogLTZweDtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIgLmJ1dHRvbkhvbGRlciB7XG4gIG1hcmdpbjogMjBweCAwIDIwcHg7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAuYWNjb3VudFByb2ZpbGVyIC5yZXNldEFjY291bnRUeXBlQnRuIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgZm9udC1zaXplOiAwLjhlbTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJyYW5kLWRhcmstY29udHJhc3QpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtZGFyay1jb250cmFzdCk7XG4gIHRyYW5zaXRpb246IDIwMG1zO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjb2xvcjogdmFyKC0tbGlnaHQpO1xuICBwYWRkaW5nOiAycHg7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIgLnJlc2V0QWNjb3VudFR5cGVCdG46aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpO1xuICB9XG59XG5bZGF0YS1icm93c2VyPWllXSAjbWVtYmVyc2hpcCAuZm9ybVdyYXAuYWNjb3VudFByb2ZpbGVyIC5yZXNldEFjY291bnRUeXBlQnRuOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQpO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbn1cbi5pZSAjbWVtYmVyc2hpcCAuZm9ybVdyYXAuYWNjb3VudFByb2ZpbGVyIC5yZXNldEFjY291bnRUeXBlQnRuOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQpO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIgLnJlc2V0QWNjb3VudFR5cGVCdG4uZm9jdXMtdmlzaWJsZSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAuYWNjb3VudFByb2ZpbGVyIC5yZXNldEFjY291bnRUeXBlQnRuOmZvY3VzLXZpc2libGUge1xuICBib3JkZXItY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmFjY291bnRQcm9maWxlciAuYWNjb3JkaW9uTW9kdWxlIC5hY2NvcmRpb25UaXRsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWxpZ2h0LWNvbnRyYXN0KTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIgLmFjY29yZGlvbk1vZHVsZSAuYWNjb3JkaW9uVGl0bGUgLmljb24ge1xuICBjb2xvcjogdmFyKC0tYmFzaWMpO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLnR3b0ZhY3RvciAuc2luZ2xlRmllbGRTdWJtaXNzaW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAudHdvRmFjdG9yIC5zaW5nbGVGaWVsZFN1Ym1pc3Npb24gLmZpZWxkV3JhcHBlciB7XG4gIG1hcmdpbjogMCAxMHB4IDAgMDtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC50d29GYWN0b3IgLnNpbmdsZUZpZWxkU3VibWlzc2lvbiBidXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMC44ZW0gMS4zZW07XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IG9rbGNoKGZyb20gdmFyKC0tYnJhbmQtZGFyaykgbWF4KGwgLSBsICogMC4xLCAwKSBjIGgpO1xuICBsaW5lLWhlaWdodDogMS4xZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWJhc2ljLWZvbnQpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgb3V0bGluZS1vZmZzZXQ6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMXM7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWRhcmspO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtZGFyay1jb250cmFzdCk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAudHdvRmFjdG9yIC5zaW5nbGVGaWVsZFN1Ym1pc3Npb24gYnV0dG9uIC5pY29uIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWljb24tZm9udCk7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcC50d29GYWN0b3IgLnNpbmdsZUZpZWxkU3VibWlzc2lvbiBidXR0b246aG92ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICAgIGJvcmRlci1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1ob3ZlcikgbWluKGwgKyBsICogMC4yLCAxKSBjIGgpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuW2RhdGEtYnJvd3Nlcj1pZV0gI21lbWJlcnNoaXAgLmZvcm1XcmFwLnR3b0ZhY3RvciAuc2luZ2xlRmllbGRTdWJtaXNzaW9uIGJ1dHRvbjpob3ZlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICBib3JkZXItY29sb3I6IG9rbGNoKGZyb20gdmFyKC0taG92ZXIpIG1pbihsICsgbCAqIDAuMiwgMSkgYyBoKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmllICNtZW1iZXJzaGlwIC5mb3JtV3JhcC50d29GYWN0b3IgLnNpbmdsZUZpZWxkU3VibWlzc2lvbiBidXR0b246aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbiAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWhvdmVyKSBtaW4obCArIGwgKiAwLjIsIDEpIGMgaCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC50d29GYWN0b3IgLnNpbmdsZUZpZWxkU3VibWlzc2lvbiBidXR0b24uZm9jdXMtdmlzaWJsZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICBib3JkZXItY29sb3I6IG9rbGNoKGZyb20gdmFyKC0taG92ZXIpIG1pbihsICsgbCAqIDAuMiwgMSkgYyBoKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLnR3b0ZhY3RvciAuc2luZ2xlRmllbGRTdWJtaXNzaW9uIGJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG4gIGJvcmRlci1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1ob3ZlcikgbWluKGwgKyBsICogMC4yLCAxKSBjIGgpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAudHdvRmFjdG9yIC5zaW5nbGVGaWVsZFN1Ym1pc3Npb24gYnV0dG9uW2Rpc2FibGVkXSwgI21lbWJlcnNoaXAgLmZvcm1XcmFwLnR3b0ZhY3RvciAuc2luZ2xlRmllbGRTdWJtaXNzaW9uIGJ1dHRvblthcmlhLWRpc2FibGVkPXRydWVdIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLnR3b0ZhY3RvciAuc2luZ2xlRmllbGRTdWJtaXNzaW9uIGJ1dHRvbiB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tbGlnaHQpO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLnR3b0ZhY3RvciAjVEZBQnV0dG9uQXBwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAuOGVtIDEuM2VtO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWJyYW5kLWRhcmspIG1heChsIC0gbCAqIDAuMSwgMCkgYyBoKTtcbiAgbGluZS1oZWlnaHQ6IDEuMWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1iYXNpYy1mb250KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjFzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWRhcmstY29udHJhc3QpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLnR3b0ZhY3RvciAjVEZBQnV0dG9uQXBwIC5pY29uIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWljb24tZm9udCk7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcC50d29GYWN0b3IgI1RGQUJ1dHRvbkFwcDpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICAgIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG4gICAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWhvdmVyKSBtaW4obCArIGwgKiAwLjIsIDEpIGMgaCk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5bZGF0YS1icm93c2VyPWllXSAjbWVtYmVyc2hpcCAuZm9ybVdyYXAudHdvRmFjdG9yICNURkFCdXR0b25BcHA6aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbiAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWhvdmVyKSBtaW4obCArIGwgKiAwLjIsIDEpIGMgaCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5pZSAjbWVtYmVyc2hpcCAuZm9ybVdyYXAudHdvRmFjdG9yICNURkFCdXR0b25BcHA6aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbiAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWhvdmVyKSBtaW4obCArIGwgKiAwLjIsIDEpIGMgaCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC50d29GYWN0b3IgI1RGQUJ1dHRvbkFwcC5mb2N1cy12aXNpYmxlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG4gIGJvcmRlci1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1ob3ZlcikgbWluKGwgKyBsICogMC4yLCAxKSBjIGgpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAudHdvRmFjdG9yICNURkFCdXR0b25BcHA6Zm9jdXMtdmlzaWJsZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICBib3JkZXItY29sb3I6IG9rbGNoKGZyb20gdmFyKC0taG92ZXIpIG1pbihsICsgbCAqIDAuMiwgMSkgYyBoKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLnR3b0ZhY3RvciAjVEZBQnV0dG9uQXBwW2Rpc2FibGVkXSwgI21lbWJlcnNoaXAgLmZvcm1XcmFwLnR3b0ZhY3RvciAjVEZBQnV0dG9uQXBwW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0ge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAudHdvRmFjdG9yICNURkFCdXR0b25BcHAge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC41ZW07XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAudHdvRmFjdG9yICNURkFCdXR0b25FbWFpbCxcbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC50d29GYWN0b3IgI09UUEJ1dHRvbiB7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgcGFkZGluZzogMCAwIDVweDtcbiAgbWFyZ2luLXRvcDogMTVweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJyYW5kLWRhcmstY29udHJhc3QpO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtZGFyay1jb250cmFzdCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC50d29GYWN0b3IgI1RGQUJ1dHRvbkVtYWlsW2RhdGEtd2FpdC1hLWZldz10cnVlXSxcbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC50d29GYWN0b3IgI09UUEJ1dHRvbltkYXRhLXdhaXQtYS1mZXc9dHJ1ZV0ge1xuICBvcGFjaXR5OiAwLjY7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4jbWVtYmVyc2hpcCAuYnV0dG9uSG9sZGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogMTVweDtcbn1cbiNtZW1iZXJzaGlwIC5idXR0b25Ib2xkZXIgYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAuOGVtIDEuM2VtO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWJyYW5kLWRhcmspIG1heChsIC0gbCAqIDAuMSwgMCkgYyBoKTtcbiAgbGluZS1oZWlnaHQ6IDEuMWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1iYXNpYy1mb250KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjFzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWRhcmstY29udHJhc3QpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuI21lbWJlcnNoaXAgLmJ1dHRvbkhvbGRlciBidXR0b24gLmljb24ge1xuICBmb250LWZhbWlseTogdmFyKC0taWNvbi1mb250KTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgI21lbWJlcnNoaXAgLmJ1dHRvbkhvbGRlciBidXR0b246aG92ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICAgIGJvcmRlci1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1ob3ZlcikgbWluKGwgKyBsICogMC4yLCAxKSBjIGgpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuW2RhdGEtYnJvd3Nlcj1pZV0gI21lbWJlcnNoaXAgLmJ1dHRvbkhvbGRlciBidXR0b246aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbiAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWhvdmVyKSBtaW4obCArIGwgKiAwLjIsIDEpIGMgaCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5pZSAjbWVtYmVyc2hpcCAuYnV0dG9uSG9sZGVyIGJ1dHRvbjpob3ZlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICBib3JkZXItY29sb3I6IG9rbGNoKGZyb20gdmFyKC0taG92ZXIpIG1pbihsICsgbCAqIDAuMiwgMSkgYyBoKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI21lbWJlcnNoaXAgLmJ1dHRvbkhvbGRlciBidXR0b24uZm9jdXMtdmlzaWJsZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICBib3JkZXItY29sb3I6IG9rbGNoKGZyb20gdmFyKC0taG92ZXIpIG1pbihsICsgbCAqIDAuMiwgMSkgYyBoKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI21lbWJlcnNoaXAgLmJ1dHRvbkhvbGRlciBidXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICBib3JkZXItY29sb3I6IG9rbGNoKGZyb20gdmFyKC0taG92ZXIpIG1pbihsICsgbCAqIDAuMiwgMSkgYyBoKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI21lbWJlcnNoaXAgLmJ1dHRvbkhvbGRlciBidXR0b25bZGlzYWJsZWRdLCAjbWVtYmVyc2hpcCAuYnV0dG9uSG9sZGVyIGJ1dHRvblthcmlhLWRpc2FibGVkPXRydWVdIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuI21lbWJlcnNoaXAgLmJ1dHRvbkhvbGRlciBidXR0b24ge1xuICBib3JkZXItY29sb3I6IHZhcigtLWxpZ2h0KTtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG4jbWVtYmVyc2hpcCAuc3R5bGVkRmllbGRzZXQge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuI21lbWJlcnNoaXAgLnN0eWxlZEZpZWxkc2V0IC5ncm91cExlZ2VuZCB7XG4gIHBhZGRpbmc6IDRweCAycHg7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLnNpbXBsZURpYWxvZyAuY2xvc2VEaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMC44ZW0gMS4zZW07XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IG9rbGNoKGZyb20gdmFyKC0tYnJhbmQtZGFyaykgbWF4KGwgLSBsICogMC4xLCAwKSBjIGgpO1xuICBsaW5lLWhlaWdodDogMS4xZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWJhc2ljLWZvbnQpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgb3V0bGluZS1vZmZzZXQ6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMXM7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWRhcmspO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtZGFyay1jb250cmFzdCk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4uc2ltcGxlRGlhbG9nIC5jbG9zZURpYWxvZyAuaWNvbiB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1pY29uLWZvbnQpO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAuc2ltcGxlRGlhbG9nIC5jbG9zZURpYWxvZzpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICAgIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG4gICAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWhvdmVyKSBtaW4obCArIGwgKiAwLjIsIDEpIGMgaCk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5bZGF0YS1icm93c2VyPWllXSAuc2ltcGxlRGlhbG9nIC5jbG9zZURpYWxvZzpob3ZlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICBib3JkZXItY29sb3I6IG9rbGNoKGZyb20gdmFyKC0taG92ZXIpIG1pbihsICsgbCAqIDAuMiwgMSkgYyBoKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmllIC5zaW1wbGVEaWFsb2cgLmNsb3NlRGlhbG9nOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG4gIGJvcmRlci1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1ob3ZlcikgbWluKGwgKyBsICogMC4yLCAxKSBjIGgpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uc2ltcGxlRGlhbG9nIC5jbG9zZURpYWxvZy5mb2N1cy12aXNpYmxlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG4gIGJvcmRlci1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1ob3ZlcikgbWluKGwgKyBsICogMC4yLCAxKSBjIGgpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uc2ltcGxlRGlhbG9nIC5jbG9zZURpYWxvZzpmb2N1cy12aXNpYmxlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG4gIGJvcmRlci1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1ob3ZlcikgbWluKGwgKyBsICogMC4yLCAxKSBjIGgpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uc2ltcGxlRGlhbG9nIC5jbG9zZURpYWxvZ1tkaXNhYmxlZF0sIC5zaW1wbGVEaWFsb2cgLmNsb3NlRGlhbG9nW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0ge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4uc2ltcGxlRGlhbG9nIC5jbG9zZURpYWxvZyAuaWNvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbiNyZXNldERhdGEgYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAuOGVtIDEuM2VtO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWJyYW5kLWRhcmspIG1heChsIC0gbCAqIDAuMSwgMCkgYyBoKTtcbiAgbGluZS1oZWlnaHQ6IDEuMWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1iYXNpYy1mb250KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjFzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWRhcmstY29udHJhc3QpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuI3Jlc2V0RGF0YSBidXR0b24gLmljb24ge1xuICBmb250LWZhbWlseTogdmFyKC0taWNvbi1mb250KTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgI3Jlc2V0RGF0YSBidXR0b246aG92ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICAgIGJvcmRlci1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1ob3ZlcikgbWluKGwgKyBsICogMC4yLCAxKSBjIGgpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuW2RhdGEtYnJvd3Nlcj1pZV0gI3Jlc2V0RGF0YSBidXR0b246aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbiAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWhvdmVyKSBtaW4obCArIGwgKiAwLjIsIDEpIGMgaCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5pZSAjcmVzZXREYXRhIGJ1dHRvbjpob3ZlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICBib3JkZXItY29sb3I6IG9rbGNoKGZyb20gdmFyKC0taG92ZXIpIG1pbihsICsgbCAqIDAuMiwgMSkgYyBoKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI3Jlc2V0RGF0YSBidXR0b24uZm9jdXMtdmlzaWJsZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICBib3JkZXItY29sb3I6IG9rbGNoKGZyb20gdmFyKC0taG92ZXIpIG1pbihsICsgbCAqIDAuMiwgMSkgYyBoKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI3Jlc2V0RGF0YSBidXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICBib3JkZXItY29sb3I6IG9rbGNoKGZyb20gdmFyKC0taG92ZXIpIG1pbihsICsgbCAqIDAuMiwgMSkgYyBoKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI3Jlc2V0RGF0YSBidXR0b25bZGlzYWJsZWRdLCAjcmVzZXREYXRhIGJ1dHRvblthcmlhLWRpc2FibGVkPXRydWVdIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTI4MHB4KSB7XG4gIC5sb2dpblRlYXNlclZpZGVvIHtcbiAgICBsZWZ0OiAyMHB4O1xuICAgIHJpZ2h0OiA2NTBweDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDEwNzBweCkge1xuICAubG9naW5UZWFzZXJWaWRlbyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgdG9wOiBhdXRvO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwIDZweCAxNXB4O1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogOTUwcHgpIHtcbiAgOnJvb3Qge1xuICAgIC0tbG9naW4tdzogNTUwcHg7XG4gIH1cbiAgLm1lbWJlcnNoaXBCdWZmZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIH1cbiAgI2JhY2tncm91bmQubWVtYmVyc2hpcEJnIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAjYmFja2dyb3VuZC5tZW1iZXJzaGlwQmcgLmJnSW1nLFxuICAjYmFja2dyb3VuZC5tZW1iZXJzaGlwQmcgLnNlY3Rpb25CZyxcbiAgI2JhY2tncm91bmQubWVtYmVyc2hpcEJnIHZpZGVvIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA2NzBweCkge1xuICAjcmVzZXREYXRhIGJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICB9XG4gICNiYWNrZ3JvdW5kLm1lbWJlcnNoaXBCZyB7XG4gICAgbGVmdDogMHB4O1xuICAgIHRvcDogdW5zZXQgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwZHZ3O1xuICAgIGhlaWdodDogMTAwZHZoO1xuICB9XG4gIGJvZHk6YWZ0ZXIge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxuICBoZWFkZXIge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICBoZWFkZXIgLm9yaWVudGF0aW9uVGl0bGUge1xuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICB9XG4gIFtkYXRhLWxvZ28tYXNwZWN0PXRhbGxdIGhlYWRlciAubG9nb1dyYXAge1xuICAgIGhlaWdodDogMTAwcHg7XG4gIH1cbiAgI21lbWJlcnNoaXAge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMge1xuICAgIHBhZGRpbmc6IDBweCAyNXB4IDAgMjVweDtcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhLmd1ZXN0TG9naW5CdG4sICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhLmVucm9sbGVlTG9naW5CdG4ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNTIwcHgpIHtcbiAgLm1lbWJlcnNoaXBCdWZmZXIge1xuICAgIHBhZGRpbmctbGVmdDogMThweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxOHB4O1xuICB9XG4gICNtZW1iZXJzaGlwIHtcbiAgICBwYWRkaW5nOiAyMHB4IDEycHggNjBweDtcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAge1xuICAgIHBhZGRpbmc6IDVweDtcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMge1xuICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgZ2FwOiAxNXB4O1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNDUwcHgpIHtcbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIHtcbiAgICAtLWdyYXBoaWM6IDY1cHg7XG4gICAgLS1ndWVzdC1ncmFwaGljOiA1MnB4O1xuICAgIGZvbnQtc2l6ZTogMC43ZW07XG4gIH1cbn1cbipbc3R5bGUqPVwiZm9udC13ZWlnaHQ6IGJvbGRcIl0ge1xuICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XG59XG5cbi5ydGUge1xuICBjbGVhcjogYm90aDtcbn1cbi5ydGUgaDQsXG4ucnRlIGg1IHtcbiAgbWFyZ2luOiAwLjhlbSAwIDAuNWVtO1xufVxuLnJ0ZSA+ICo6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG4ucnRlID4gKjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuLnJ0ZSBhLmZvY3VzLXZpc2libGUge1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAycHggYmxhY2sgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xufVxuLnJ0ZSBhOmZvY3VzLXZpc2libGUge1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAycHggYmxhY2sgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xufVxuLnJ0ZSBhOmhhcyhpbWcpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuLnJ0ZSBhOmhhcyhpbWcpIC5pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDJweDtcbiAgcmlnaHQ6IDNweDtcbiAgcGFkZGluZzogNnB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQpO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93KTtcbiAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAucnRlIGE6aGFzKGltZyk6aG92ZXIgLmljb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICB9XG59XG5bZGF0YS1icm93c2VyPWllXSAucnRlIGE6aGFzKGltZyk6aG92ZXIgLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG59XG4uaWUgLnJ0ZSBhOmhhcyhpbWcpOmhvdmVyIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xufVxuLnJ0ZSBhOmhhcyhpbWcpLmZvY3VzLXZpc2libGUgLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG59XG4ucnRlIGE6aGFzKGltZyk6Zm9jdXMtdmlzaWJsZSAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbn1cbi5ydGUgaWZyYW1lIHtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMGR2dyAtIDgwcHgpO1xuICBtYXgtaGVpZ2h0OiBjYWxjKCgxMDBkdncgLSA4MHB4KSAvIDEuNzc3OCk7IC8qIDE2OjkgKi9cbn1cbi5ydGUgaW1nIHtcbiAgbWFyZ2luOiAxMHB4O1xufVxuLnJ0ZSBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdIHtcbiAgbWFyZ2luOiAwIDAgMjBweCAyMHB4O1xufVxuLnJ0ZSBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0ge1xuICBtYXJnaW46IDAgMjBweCAyMHB4IDBweDtcbn1cbi5ydGUgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSwgLnJ0ZSBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0ge1xuICBtYXgtd2lkdGg6IDYwJTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA2NzBweCkge1xuICAucnRlIGltZ1tzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0sIC5ydGUgaW1nW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdIHtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDUyMHB4KSwgKG1heC13aWR0aDogMTA3MHB4KSBhbmQgKG1pbi13aWR0aDogODIxcHgpIHtcbiAgLnJ0ZSBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdLCAucnRlIGltZ1tzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwIGF1dG8gOHB4O1xuICB9XG59XG4ucnRlIGZpZ3VyZTpub3QoLnRlcm1CYmwpIHtcbiAgbWFyZ2luOiAyMHB4IDBweDtcbiAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1yYWRpdXMpICsgNXB4IC0gdmFyKC0tYm9yZGVyKSk7XG4gIGJvcmRlcjogdmFyKC0tYm9yZGVyKSBzb2xpZCB2YXIoLS1ncmV5KTtcbiAgcGFkZGluZzogNXB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4ucnRlIGZpZ3VyZTpub3QoLnRlcm1CYmwpIGltZyB7XG4gIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMHB4ICFpbXBvcnRhbnQ7XG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpIHZhcigtLXJhZGl1cykgMHB4IDBweDtcbn1cbi5ydGUgZmlndXJlOm5vdCgudGVybUJibClbc3R5bGUqPVwidGV4dC1hbGlnbjogcmlnaHRcIl0ge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbjogMCAwIDIwcHggMjBweDtcbn1cbi5ydGUgZmlndXJlOm5vdCgudGVybUJibClbc3R5bGUqPVwidGV4dC1hbGlnbjogbGVmdFwiXSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDAgMjBweCAyMHB4IDBweDtcbn1cbi5ydGUgZmlndXJlOm5vdCgudGVybUJibClbc3R5bGUqPVwidGV4dC1hbGlnbjogbGVmdFwiXSwgLnJ0ZSBmaWd1cmU6bm90KC50ZXJtQmJsKVtzdHlsZSo9XCJ0ZXh0LWFsaWduOiByaWdodFwiXSB7XG4gIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgbWF4LXdpZHRoOiA2MCU7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNjcwcHgpIHtcbiAgLnJ0ZSBmaWd1cmU6bm90KC50ZXJtQmJsKVtzdHlsZSo9XCJ0ZXh0LWFsaWduOiBsZWZ0XCJdLCAucnRlIGZpZ3VyZTpub3QoLnRlcm1CYmwpW3N0eWxlKj1cInRleHQtYWxpZ246IHJpZ2h0XCJdIHtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDUyMHB4KSwgKG1heC13aWR0aDogMTA3MHB4KSBhbmQgKG1pbi13aWR0aDogODIxcHgpIHtcbiAgLnJ0ZSBmaWd1cmU6bm90KC50ZXJtQmJsKVtzdHlsZSo9XCJ0ZXh0LWFsaWduOiBsZWZ0XCJdLCAucnRlIGZpZ3VyZTpub3QoLnRlcm1CYmwpW3N0eWxlKj1cInRleHQtYWxpZ246IHJpZ2h0XCJdIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgYXV0byA4cHg7XG4gIH1cbn1cbi5ydGUgZmlndXJlOm5vdCgudGVybUJibCkgZmlnY2FwdGlvbiB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDBweCAwcHggdmFyKC0tcmFkaXVzKSB2YXIoLS1yYWRpdXMpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodC1ncmV5KTtcbiAgY29sb3I6IHZhcigtLWxpZ2h0LWdyZXktY29udHJhc3QpO1xuICBmb250LXNpemU6IDAuOWVtO1xufVxuLnJ0ZSBvbFtzdHlsZT1cImxpc3Qtc3R5bGUtdHlwZTogdXBwZXItYWxwaGE7XCJdID4gbGk6YmVmb3JlLCAucnRlIG9sW3N0eWxlPVwibGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTtcIl0gPiBsaTpiZWZvcmUsIC5ydGUgb2xbc3R5bGU9XCJsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWdyZWVrO1wiXSA+IGxpOmJlZm9yZSwgLnJ0ZSBvbFtzdHlsZT1cImxpc3Qtc3R5bGUtdHlwZTogdXBwZXItcm9tYW47XCJdID4gbGk6YmVmb3JlLCAucnRlIG9sW3N0eWxlPVwibGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjtcIl0gPiBsaTpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnJ0ZSAudGFibGVXcmFwcGVyIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB2YXIoLS1saWdodCkgMzAlLCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbGlnaHQpIGNhbGMoMCAqIDEwMCUpLCB0cmFuc3BhcmVudCkpLCBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1saWdodCkgY2FsYygwICogMTAwJSksIHRyYW5zcGFyZW50KSwgdmFyKC0tbGlnaHQpIDcwJSkgMCAxMDAlLCByYWRpYWwtZ3JhZGllbnQoZmFydGhlc3Qtc2lkZSBhdCAwJSA1MCUsIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1ibGFjaykgY2FsYygwLjIgKiAxMDAlKSwgdHJhbnNwYXJlbnQpLCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tYmxhY2spIGNhbGMoMCAqIDEwMCUpLCB0cmFuc3BhcmVudCkpLCByYWRpYWwtZ3JhZGllbnQoZmFydGhlc3Qtc2lkZSBhdCAxMDAlIDUwJSwgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWJsYWNrKSBjYWxjKDAuMiAqIDEwMCUpLCB0cmFuc3BhcmVudCksIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1ibGFjaykgY2FsYygwICogMTAwJSksIHRyYW5zcGFyZW50KSkgMCAxMDAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodCk7XG4gIGJhY2tncm91bmQtc2l6ZTogNDBweCAxMDAlLCA0MHB4IDEwMCUsIDE0cHggMTAwJSwgMTRweCAxMDAlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDAsIDEwMCUsIDAgMCwgMTAwJTtcbiAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBsb2NhbCwgbG9jYWwsIHNjcm9sbCwgc2Nyb2xsO1xuICBjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7XG59XG4ucnRlIC50YWJsZVdyYXBwZXIgdGFibGUge1xuICBtaW4td2lkdGg6IDUwMHB4O1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIG1hcmdpbjogMjVweCAwO1xufVxuLnJ0ZSAudGFibGVXcmFwcGVyIHRhYmxlIGNhcHRpb24ge1xuICBwYWRkaW5nOiA0cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWRhcmspO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtZGFyay1jb250cmFzdCk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBhZGRpbmc6IDdweDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLXByaW1hcnktZm9udCk7XG59XG4ucnRlIC50YWJsZVdyYXBwZXIgdGFibGUgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWJyYW5kLWJyaWdodCkgY2FsYygwLjE3ICogMTAwJSksIHRyYW5zcGFyZW50KTtcbn1cbi5ydGUgLnRhYmxlV3JhcHBlciB0YWJsZSB0cjpudGgtY2hpbGQob2RkKSB7XG4gIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1icmFuZC1icmlnaHQpIGNhbGMoMC4wNiAqIDEwMCUpLCB0cmFuc3BhcmVudCk7XG59XG4ucnRlIC50YWJsZVdyYXBwZXIgdGFibGUgdGgge1xuICBwYWRkaW5nOiA3cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpO1xuICBib3JkZXItY29sb3I6IGJsYWNrO1xuICBsaW5lLWhlaWdodDogMS40ZW07XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1wcmltYXJ5LWZvbnQpO1xufVxuLnJ0ZSAudGFibGVXcmFwcGVyIHRhYmxlIHRkIHtcbiAgcGFkZGluZzogNXB4IDdweDtcbiAgZm9udC1zaXplOiAwLjk1ZW07XG59XG4ucnRlIC50YWJsZVdyYXBwZXIgdGFibGUgYSB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG4ucnRlIC50YWJsZVdyYXBwZXIgLm1vYmlsZVNjcm9sbE1lc3NhZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IDhweDtcbiAgcGFkZGluZzogNXB4IDhweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1kYXJrLWNvbnRyYXN0KTtcbn1cbi5ydGUgLnRhYmxlV3JhcHBlciAubW9iaWxlU2Nyb2xsTWVzc2FnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMTAwJTtcbiAgbGVmdDogY2FsYyg1cHggKyB2YXIoLS1yYWRpdXMpKTtcbiAgd2lkdGg6IDBweDtcbiAgaGVpZ2h0OiAwcHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMCA2cHggOHB4IDVweDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB2YXIoLS1icmFuZC1kYXJrKSB0cmFuc3BhcmVudDtcbn1cblxuQGNvbnRhaW5lciAobWF4LXdpZHRoOiA1MDBweCkge1xuICAucnRlIC50YWJsZVdyYXBwZXIgLm1vYmlsZVNjcm9sbE1lc3NhZ2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDY3MHB4KSB7XG4gIC5ydGUgLnRhYmxlV3JhcHBlciAubW9iaWxlU2Nyb2xsTWVzc2FnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG4ucnRlIHAsXG4jcmV2ZWFsTW9kYWxEaWFsb2cgLmNvcHlXcmFwIHAge1xuICBtYXJnaW46IDAuMzVlbSAwIDAuNzVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTVlbTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWJhc2ljLWZvbnQpO1xuICBmb250LXNpemU6IDFlbTtcbn1cbi5ydGUgaDMuaGVhZGluZyxcbiNyZXZlYWxNb2RhbERpYWxvZyAuY29weVdyYXAgaDMuaGVhZGluZyB7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgbWFyZ2luOiAyMHB4IDAgMTVweCAwcHg7XG4gIGZvbnQtc2l6ZTogMS44ZW07XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcbn1cbi5ydGUgLmhlYWRpbmdMaXN0LFxuLnJ0ZSAuc3ViaGVhZGluZ0xpc3QsXG4jcmV2ZWFsTW9kYWxEaWFsb2cgLmNvcHlXcmFwIC5oZWFkaW5nTGlzdCxcbiNyZXZlYWxNb2RhbERpYWxvZyAuY29weVdyYXAgLnN1YmhlYWRpbmdMaXN0IHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDAuMjVlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDE1ZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICBjb2xvcjogdmFyKC0tZGFyayk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1wcmltYXJ5LWZvbnQpO1xuICBmb250LXNpemU6IDEuM2VtO1xufVxuLnJ0ZSAuaGVhZGluZ0xpc3Q6YmVmb3JlLFxuLnJ0ZSAuc3ViaGVhZGluZ0xpc3Q6YmVmb3JlLFxuI3JldmVhbE1vZGFsRGlhbG9nIC5jb3B5V3JhcCAuaGVhZGluZ0xpc3Q6YmVmb3JlLFxuI3JldmVhbE1vZGFsRGlhbG9nIC5jb3B5V3JhcCAuc3ViaGVhZGluZ0xpc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgaGVpZ2h0OiAxMnB4O1xuICB3aWR0aDogMTJweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwcHg7XG4gIHRvcDogNXB4O1xufVxuLnJ0ZSBoNC5zdWJoZWFkaW5nLFxuI3JldmVhbE1vZGFsRGlhbG9nIC5jb3B5V3JhcCBoNC5zdWJoZWFkaW5nIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nLXRvcDogMTVweDtcbiAgZm9udC1zaXplOiAxLjQ1ZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG4gIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnkpO1xuICBwYWRkaW5nLWJvdHRvbTogMHB4O1xuICBwYWRkaW5nOiAwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgcGFkZGluZy1sZWZ0OiAxcHg7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1zZWNvbmRhcnktZm9udCk7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ncmV5KTtcbiAgcGFkZGluZy10b3A6IDE1cHg7XG4gIGNsZWFyOiBib3RoO1xufVxuLnJ0ZSBoNC5zdWJoZWFkaW5nOmJlZm9yZSxcbiNyZXZlYWxNb2RhbERpYWxvZyAuY29weVdyYXAgaDQuc3ViaGVhZGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMnB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1ncmV5KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwcHg7XG4gIHRvcDogMHB4O1xuICBkaXNwbGF5OiBub25lO1xufVxuLnJ0ZSAubGFyZ2VUZXh0LFxuI3JldmVhbE1vZGFsRGlhbG9nIC5jb3B5V3JhcCAubGFyZ2VUZXh0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxLjRlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNGVtO1xuICBmb250LWZhbWlseTogdmFyKC0tcHJpbWFyeS1mb250KTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6IHZhcigtLWRhcmspO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3gtc2hhZG93OiAwcHggMHB4IDVweCAzcHggcmdiYSgwLCAwLCAwLCAwLjIpIGluc2V0O1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgcGFkZGluZzogMjVweDtcbn1cbi5ydGUgLmxhcmdlVGV4dCBhLFxuI3JldmVhbE1vZGFsRGlhbG9nIC5jb3B5V3JhcCAubGFyZ2VUZXh0IGEge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjb2xvcjogdmFyKC0tbGlnaHQtZ3JleS1jb250cmFzdCk7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDJweDtcbn1cbi5ydGUgLmxhcmdlVGV4dDpiZWZvcmUsXG4jcmV2ZWFsTW9kYWxEaWFsb2cgLmNvcHlXcmFwIC5sYXJnZVRleHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgY29udGVudDogXCJcIjtcbiAgY2xpcC1wYXRoOiBwb2x5Z29uKDEwMCUgMCwgMCUgMTAwJSwgMTAwJSAxMDAlKTtcbiAgaGVpZ2h0OiA1MCU7XG4gIG1heC1oZWlnaHQ6IDgwcHg7XG4gIGFzcGVjdC1yYXRpbzogMS8xO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMHB4O1xuICByaWdodDogMHB4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50KTtcbiAgei1pbmRleDogMTtcbn1cbi5hY2NvcmRpb25XcmFwcGVyIC5ydGUgLmxhcmdlVGV4dCxcbi5hY2NvcmRpb25XcmFwcGVyICNyZXZlYWxNb2RhbERpYWxvZyAuY29weVdyYXAgLmxhcmdlVGV4dCB7XG4gIGZvbnQtc2l6ZTogMS4xNWVtO1xuICBsaW5lLWhlaWdodDogMS41ZW07XG4gIHBhZGRpbmc6IDIwcHggMjVweDtcbn1cbi5hY2NvcmRpb25XcmFwcGVyIC5ydGUgLmxhcmdlVGV4dDpiZWZvcmUsXG4uYWNjb3JkaW9uV3JhcHBlciAjcmV2ZWFsTW9kYWxEaWFsb2cgLmNvcHlXcmFwIC5sYXJnZVRleHQ6YmVmb3JlIHtcbiAgaGVpZ2h0OiAzNXB4O1xuICBjbGlwLXBhdGg6IHBvbHlnb24oMCUgMCwgMTAwJSAwJSwgMCUgMTAwJSk7XG4gIGJvdHRvbTogYXV0bztcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA2NzBweCkge1xuICAuYWNjb3JkaW9uV3JhcHBlciAucnRlIC5sYXJnZVRleHQsXG4gIC5hY2NvcmRpb25XcmFwcGVyICNyZXZlYWxNb2RhbERpYWxvZyAuY29weVdyYXAgLmxhcmdlVGV4dCB7XG4gICAgcGFkZGluZzogMjVweDtcbiAgfVxuICAuYWNjb3JkaW9uV3JhcHBlciAucnRlIC5sYXJnZVRleHQ6YmVmb3JlLFxuICAuYWNjb3JkaW9uV3JhcHBlciAjcmV2ZWFsTW9kYWxEaWFsb2cgLmNvcHlXcmFwIC5sYXJnZVRleHQ6YmVmb3JlIHtcbiAgICBoZWlnaHQ6IDI1cHg7XG4gIH1cbn1cbi5ydGUgLmhpZ2hsaWdodCxcbiNyZXZlYWxNb2RhbERpYWxvZyAuY29weVdyYXAgLmhpZ2hsaWdodCB7XG4gIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1ncmV5KSBjYWxjKDAuMyAqIDEwMCUpLCB0cmFuc3BhcmVudCk7XG59XG4ucnRlIHVsLFxuI3JldmVhbE1vZGFsRGlhbG9nIC5jb3B5V3JhcCB1bCB7XG4gIHBhZGRpbmc6IDA7XG59XG4ucnRlIHVsID4gbGksXG4jcmV2ZWFsTW9kYWxEaWFsb2cgLmNvcHlXcmFwIHVsID4gbGkge1xuICBtYXJnaW4tbGVmdDogNDBweDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuLnJ0ZSB1bCA+IGxpOjptYXJrZXIsXG4jcmV2ZWFsTW9kYWxEaWFsb2cgLmNvcHlXcmFwIHVsID4gbGk6Om1hcmtlciB7XG4gIGZvbnQtc2l6ZTogMS4xZW07XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcbn1cbi5ydGUgb2wsXG4jcmV2ZWFsTW9kYWxEaWFsb2cgLmNvcHlXcmFwIG9sIHtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBjb3VudGVyLXJlc2V0OiBjb3VudGVyO1xufVxuLnJ0ZSBvbCA+IGxpLFxuI3JldmVhbE1vZGFsRGlhbG9nIC5jb3B5V3JhcCBvbCA+IGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb3VudGVyLWluY3JlbWVudDogY291bnRlcjtcbiAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cbi5ydGUgb2wgPiBsaTpiZWZvcmUsXG4jcmV2ZWFsTW9kYWxEaWFsb2cgLmNvcHlXcmFwIG9sID4gbGk6YmVmb3JlIHtcbiAgY29udGVudDogY291bnRlcihjb3VudGVyKSBcIi4gXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IGNhbGMoMTAwJSArIDhweCk7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4ucnRlIGEsXG4jcmV2ZWFsTW9kYWxEaWFsb2cgLmNvcHlXcmFwIGEge1xuICBjb2xvcjogdmFyKC0tbGluayk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpbmstY29udHJhc3QpO1xufVxuXG4uY2FsbG91dFN1YnRsZSB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXJnaW46IDIwcHggMCAwLjc1ZW07XG4gIHBhZGRpbmc6IDEwcHggMjBweCAyMHB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodC1ncmV5KTtcbiAgY29sb3I6IHZhcigtLWxpZ2h0LWdyZXktY29udHJhc3QpO1xuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDBweCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4yKSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDI1cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gODBweCk7XG4gIG1hcmdpbi1sZWZ0OiA0MHB4O1xufVxuLmNhbGxvdXRTdWJ0bGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAyMnB4IGNhbGMoNTBweCAvIDIpIDAgY2FsYyg1MHB4IC8gMik7XG4gIGJvcmRlci10b3AtY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zbGF0ZTogLTUwJSAwO1xufVxuLmNhbGxvdXRCb2xkIHtcbiAgLS1iOiAzcHg7XG4gIGNsZWFyOiBib3RoO1xuICBtYXJnaW46IDI1cHggMDtcbiAgcGFkZGluZzogMjBweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZGFyayk7XG4gIGNvbG9yOiB2YXIoLS1kYXJrLWNvbnRyYXN0KTtcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwcHggMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMikpO1xufVxuLmNhbGxvdXRCb2xkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGhlaWdodDogMzBweDtcbiAgd2lkdGg6IDMwcHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnkpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTBweDtcbiAgbGVmdDogMTBweDtcbn1cbi5jYWxsb3V0Qm9sZCAucnRlIHtcbiAgYm9yZGVyOiA1cHggc29saWQgdmFyKC0tcHJpbWFyeSk7XG4gIGJvcmRlci13aWR0aDogdmFyKC0tYikgMCAwIHZhcigtLWIpO1xuICBwYWRkaW5nOiAxNXB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZGFyayk7XG4gIGNvbG9yOiB2YXIoLS1kYXJrLWNvbnRyYXN0KTtcbiAgei1pbmRleDogMjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5jYWxsb3V0Qm9sZCBhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZGFyayk7XG4gIGNvbG9yOiB2YXIoLS1kYXJrLWNvbnRyYXN0KTtcbn1cbkBjb250YWluZXIgc2xpZGVDb3B5IChtYXgtd2lkdGg6IDU0MHB4KSB7XG4gIC5jYWxsb3V0U3VidGxlIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgfVxufVxuQGNvbnRhaW5lciBzbGlkZUNvcHkgKG1heC13aWR0aDogNDAwcHgpIHtcbiAgLnJ0ZSAubGFyZ2VUZXh0LCAjcmV2ZWFsTW9kYWxEaWFsb2cgLmNvcHlXcmFwIC5sYXJnZVRleHQge1xuICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1ZW07XG4gIH1cbiAgLnJ0ZSAubGFyZ2VUZXh0OmJlZm9yZSwgI3JldmVhbE1vZGFsRGlhbG9nIC5jb3B5V3JhcCAubGFyZ2VUZXh0OmJlZm9yZSB7XG4gICAgbWF4LWhlaWdodDogNjBweDtcbiAgICBwYWRkaW5nOiAyNXB4IDMwcHggMzBweCAyNXB4O1xuICB9XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubWFpbnRlbmFuY2Uge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZC1icmlnaHQpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWxpZ2h0KTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5tYWludGVuYW5jZSAuZm9ybUFyZWEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubWFpbnRlbmFuY2UgLmZvcm1BcmVhIC5ydGUge1xuICBjb2xvcjogdmFyKC0tbGlnaHQpO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLm1haW50ZW5hbmNlIC5mb3JtQXJlYSAuaWNvbiB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBmbGV4LWdyb3c6IDA7XG4gIHdpZHRoOiA3NXB4O1xuICBoZWlnaHQ6IDc1cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmb250LXNpemU6IDNlbTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQtZGFyayk7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWxpZ2h0KTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBjb2xvcjogdmFyKC0tbGlnaHQpO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjcwcHgpIHtcbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwLm1haW50ZW5hbmNlIHtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5tYWludGVuYW5jZSAuZm9ybUFyZWEge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubWFpbnRlbmFuY2UgLmZvcm1BcmVhIC5pY29uIHtcbiAgICB3aWR0aDogNTVweDtcbiAgICBoZWlnaHQ6IDU1cHg7XG4gICAgZm9udC1zaXplOiAyLjI1ZW07XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICB9XG59XG4ubWVtYmVyc2hpcFBhZ2UgLmVycm9yUGFnZSAudGl0bGVBcmVhIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cbi5tZW1iZXJzaGlwUGFnZSAuZXJyb3JQYWdlIC5pY29uIHtcbiAgZm9udC1zaXplOiA1ZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0byAyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyOiA0cHggc29saWQgdmFyKC0tbGlnaHQpO1xuICBjb2xvcjogdmFyKC0tbGlnaHQpO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB3aWR0aDogMTUwcHg7XG4gIGhlaWdodDogMTUwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG59XG4ubWVtYmVyc2hpcFBhZ2UgLmVycm9yUGFnZSAucnRlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiBva2xjaChmcm9tIHZhcigtLWJyYW5kLWRhcmspIG1heChsIC0gbCAqIDAuMTUsIDApIGMgaCk7XG4gIHBhZGRpbmc6IDUwcHggMjBweCA0MHB4IDIwcHg7XG4gIG1hcmdpbi10b3A6IC02MHB4O1xuICBib3JkZXI6IDNweCBzb2xpZCB2YXIoLS1saWdodCk7XG59XG4ubWVtYmVyc2hpcFBhZ2UgLmVycm9yUGFnZSAucnRlIGgzLmhlYWRpbmcge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWRhcmstY29udHJhc3QpO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDgyMHB4KSB7XG4gIC5tZW1iZXJzaGlwUGFnZSAuZXJyb3JQYWdlIC5pY29uIHtcbiAgICBmb250LXNpemU6IDRlbTtcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgfVxufVxuQGxheWVyIGJhc2Uge1xuICBkZXRhaWxzIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgNTAwbXM7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgZGV0YWlscyA+IHN1bW1hcnk6Om1hcmtlcixcbiAgZGV0YWlscyA+IHN1bW1hcnk6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmFjY29yZGlvbk1vZHVsZSAuYWNjb3JkaW9uVGl0bGUge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG4gIC5hY2NvcmRpb25Nb2R1bGVbZGF0YS1pbnRlcmFjdGlvbi1tYW5kYXRvcnk9dHJ1ZV06bm90KC5pbnRlcmFjdGVkV2l0aCkgLmljb24tbWFuZGF0b3J5IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIC5hY2NvcmRpb25Nb2R1bGVbZGF0YS1pbnRlcmFjdGlvbi1tYW5kYXRvcnk9dHJ1ZV06bm90KC5pbnRlcmFjdGVkV2l0aCkgLmludGVyYWN0aW9uTm90aWZpY2F0aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwLXBhdGg6IHJlY3QoMCAwIDAgMCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgfVxuICAuYWNjb3JkaW9uTW9kdWxlICsgLnJ0ZSB7XG4gICAgbWFyZ2luLXRvcDogMjVweDtcbiAgfVxufVxudWw6aGFzKC5hY2NvcmRpb25Nb2R1bGUpIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxudWw6aGFzKC5hY2NvcmRpb25Nb2R1bGUpID4gbGkge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cbnVsOmhhcyguYWNjb3JkaW9uTW9kdWxlKSArIC5ydGUge1xuICBtYXJnaW4tdG9wOiAyNXB4O1xufVxuXG46cm9vdCB7XG4gIC0taWNvbi13aWR0aDogNDVweDtcbn1cblxuLnByaW1hcnlBY2NvcmRpb24gKyBwLCAucHJpbWFyeUFjY29yZGlvbiArIGgyIHtcbiAgbWFyZ2luLXRvcDogMjVweDtcbn1cblxucCArIC5wcmltYXJ5QWNjb3JkaW9uLCBoMiArIC5wcmltYXJ5QWNjb3JkaW9uIHtcbiAgbWFyZ2luLXRvcDogMjhweDtcbn1cbnAgKyAucHJpbWFyeUFjY29yZGlvbi5jbGlja2VkLCBoMiArIC5wcmltYXJ5QWNjb3JkaW9uLmNsaWNrZWQge1xuICBtYXJnaW4tdG9wOiAyOHB4O1xufVxuXG4ucHJpbWFyeUFjY29yZGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAxMHB4IDA7XG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMHB4IDVweCA3cHggY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWJsYWNrKSBjYWxjKDAuMyAqIDEwMCUpLCB0cmFuc3BhcmVudCkpO1xufVxuLnByaW1hcnlBY2NvcmRpb25bb3Blbl0gPiAuYWNjb3JkaW9uVGl0bGUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1saWdodCk7XG59XG4ucHJpbWFyeUFjY29yZGlvbltvcGVuXSA+IC5hY2NvcmRpb25UaXRsZSAudGV4dCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXNlY29uZGFyeSk7XG59XG4ucHJpbWFyeUFjY29yZGlvbltvcGVuXSA+IC5hY2NvcmRpb25UaXRsZSAuaWNvbi1hcnJvdy1kb3duIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50KTtcbiAgY29sb3I6IHZhcigtLWxpZ2h0KTtcbn1cbi5wcmltYXJ5QWNjb3JkaW9uW29wZW5dID4gLmFjY29yZGlvblRpdGxlIC5pY29uLWFycm93LWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJVXCI7XG59XG4ucHJpbWFyeUFjY29yZGlvbjpoYXMoLmFjY29yZGlvblRpdGxlOmhvdmVyKSAuYWNjb3JkaW9uV3JhcHBlciB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50KTtcbn1cbi5wcmltYXJ5QWNjb3JkaW9uW2RhdGEtaW50ZXJhY3Rpb24tbWFuZGF0b3J5PXRydWVdOm5vdCguaW50ZXJhY3RlZFdpdGgpIC5pY29uLW1hbmRhdG9yeSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IC0zcHg7XG4gIHRvcDogLTNweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG4gIHBhZGRpbmc6IDNweDtcbiAgYm9yZGVyLXJhZGl1czogMHB4O1xuICBib3gtc2hhZG93OiAxcHggMXB4IDhweCAwcHggY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWJsYWNrKSBjYWxjKDAuMyAqIDEwMCUpLCB0cmFuc3BhcmVudCk7XG4gIGZvbnQtc2l6ZTogMC43NWVtO1xufVxuLnByaW1hcnlBY2NvcmRpb24gLmFjY29yZGlvblRpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIGdhcDogNHB4O1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAucHJpbWFyeUFjY29yZGlvbiAuYWNjb3JkaW9uVGl0bGU6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuICAucHJpbWFyeUFjY29yZGlvbiAuYWNjb3JkaW9uVGl0bGU6aG92ZXIgLnRleHQge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7XG4gIH1cbiAgLnByaW1hcnlBY2NvcmRpb24gLmFjY29yZGlvblRpdGxlOmhvdmVyIC5pY29uIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xuICAgIGNvbG9yOiB2YXIoLS1saWdodCk7XG4gIH1cbn1cbltkYXRhLWJyb3dzZXI9aWVdIC5wcmltYXJ5QWNjb3JkaW9uIC5hY2NvcmRpb25UaXRsZTpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbltkYXRhLWJyb3dzZXI9aWVdIC5wcmltYXJ5QWNjb3JkaW9uIC5hY2NvcmRpb25UaXRsZTpob3ZlciAudGV4dCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7XG59XG5bZGF0YS1icm93c2VyPWllXSAucHJpbWFyeUFjY29yZGlvbiAuYWNjb3JkaW9uVGl0bGU6aG92ZXIgLmljb24ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xuICBjb2xvcjogdmFyKC0tbGlnaHQpO1xufVxuLmllIC5wcmltYXJ5QWNjb3JkaW9uIC5hY2NvcmRpb25UaXRsZTpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5pZSAucHJpbWFyeUFjY29yZGlvbiAuYWNjb3JkaW9uVGl0bGU6aG92ZXIgLnRleHQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xufVxuLmllIC5wcmltYXJ5QWNjb3JkaW9uIC5hY2NvcmRpb25UaXRsZTpob3ZlciAuaWNvbiB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7XG4gIGNvbG9yOiB2YXIoLS1saWdodCk7XG59XG4ucHJpbWFyeUFjY29yZGlvbiAuYWNjb3JkaW9uVGl0bGUuZm9jdXMtdmlzaWJsZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5wcmltYXJ5QWNjb3JkaW9uIC5hY2NvcmRpb25UaXRsZS5mb2N1cy12aXNpYmxlIC50ZXh0IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50KTtcbn1cbi5wcmltYXJ5QWNjb3JkaW9uIC5hY2NvcmRpb25UaXRsZS5mb2N1cy12aXNpYmxlIC5pY29uIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50KTtcbiAgY29sb3I6IHZhcigtLWxpZ2h0KTtcbn1cbi5wcmltYXJ5QWNjb3JkaW9uIC5hY2NvcmRpb25UaXRsZTpmb2N1cy12aXNpYmxlIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnByaW1hcnlBY2NvcmRpb24gLmFjY29yZGlvblRpdGxlOmZvY3VzLXZpc2libGUgLnRleHQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xufVxuLnByaW1hcnlBY2NvcmRpb24gLmFjY29yZGlvblRpdGxlOmZvY3VzLXZpc2libGUgLmljb24ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xuICBjb2xvcjogdmFyKC0tbGlnaHQpO1xufVxuLnByaW1hcnlBY2NvcmRpb24gLmFjY29yZGlvblRpdGxlIC50ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDIwcHggMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDE4cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWRhcmstZ3JleSk7XG4gIGNvbG9yOiB2YXIoLS1saWdodCk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDEuMDVlbTtcbn1cbi5wcmltYXJ5QWNjb3JkaW9uIC5hY2NvcmRpb25UaXRsZSAuaWNvbi1hcnJvdy1kb3duIHtcbiAgbWluLXdpZHRoOiB2YXIoLS1pY29uLXdpZHRoKTtcbiAgYXNwZWN0LXJhdGlvOiAxLzE7XG4gIHdpZHRoOiB2YXIoLS1pY29uLXdpZHRoKTtcbiAgbWF4LXdpZHRoOiB2YXIoLS1pY29uLXdpZHRoKTtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGJhY2tncm91bmQ6IHZhcigtLWxpZ2h0LWdyZXkpO1xuICBjb2xvcjogdmFyKC0tZGFyayk7XG59XG4ucHJpbWFyeUFjY29yZGlvbiAuYWNjb3JkaW9uVGl0bGUgLmljb24tYXJyb3ctZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlFcIjtcbiAgdHJhbnNpdGlvbjogcm90YXRlIDAuMzVzO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xufVxuLnByaW1hcnlBY2NvcmRpb24gLmFjY29yZGlvbldyYXBwZXIge1xuICBwYWRkaW5nOiAyMHB4IDIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgYm9yZGVyLXJpZ2h0OiB2YXIoLS1pY29uLXdpZHRoKSBzb2xpZCB2YXIoLS1hY2NlbnQpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodCk7XG4gIGNvbG9yOiB2YXIoLS1saWdodC1jb250cmFzdCk7XG59XG4ucHJpbWFyeUFjY29yZGlvbiAuYWNjb3JkaW9uV3JhcHBlciBpbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuLnByaW1hcnlBY2NvcmRpb24gKyAucnRlIHtcbiAgbWFyZ2luLXRvcDogMjVweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ1MHB4KSB7XG4gIDpyb290IHtcbiAgICAtLWljb24td2lkdGg6IDM1cHg7XG4gIH1cbiAgLmFjY29yZGlvbk1vZHVsZSAuYWNjb3JkaW9uV3JhcHBlciB7XG4gICAgcGFkZGluZy1yaWdodDogNXB4O1xuICB9XG59IiwiLy8gV2lkdGhzXHJcbiR0ZWVueTogMzgwcHg7XHJcbiR0aW55OiA0NTBweDtcclxuJHh4czogNTIwcHg7XHJcbiR4czogNjcwcHg7XHJcbiRzbTogODIwcHg7XHJcbiR0d2VlbjogOTUwcHg7XHJcbiRtZDogMTA3MHB4O1xyXG4kbWlkOiAxMTgwcHg7XHJcbiRsZzogMTI4MHB4O1xyXG4keGw6IDE0MjVweDtcclxuJHh4bDogMTYwMHB4O1xyXG5cclxuJHNtSDogMzkwcHg7XHJcbiRyc3BIOiAwcHg7XHJcbiRsZ0g6IDc0NXB4O1xyXG5cclxuLy8gQ29udGFpbmVyIFdpZHRoc1xyXG4keHNDb250YWluZXI6IDQwMHB4O1xyXG4kc21Db250YWluZXI6IDUwMHB4O1xyXG4kbWRDb250YWluZXI6IDc3MHB4O1xyXG4kbGdDb250YWluZXI6IDEwMDBweDtcclxuJHhsQ29udGFpbmVyOiAxMjAwcHg7XHJcblxyXG4vLyBBbmltYXRpb24gU3BlZWRzIC0gdGhlc2UgYWxzbyBuZWVkIHRvIGJlIGNoYW5nZWQgaW4gYW5pbWF0aW9uLnRzIGlmIG1vZGlmaWVkXHJcbiR2ZXJ5RmFzdDogMjAwbXM7XHJcbiRmYXN0OiAzMDBtcztcclxuJG1lZGl1bTogNTAwbXM7XHJcbiRzbG93OiA4MDBtcztcclxuJHZlcnlTbG93OiAxMDAwbXM7XHJcbiRnbGFjaWFsOiAzMDAwbXM7XHJcblxyXG46cm9vdHtcclxuICAgICAtLXRvcC1vZmZzZXQ6IDU1cHg7XHJcbiAgICAgICAgICAgIC0tbGVmdC1vZmZzZXQ6IDQwcHg7XHJcbiAgICAgICAgICAgIC0tYm90dG9tLW9mZnNldDogMzBweDtcclxuICAgICAgICAgICAgLS1ncmlkLWdhcDogNXB4O1xyXG4gICAgICAgICAgICAtLW1haW4tc2lkZWJhcjogMjUwcHg7XHJcbiAgICAgICAgICAgIC0tbmF2SDogMzAwcHg7XHJcbiAgICAgICAgICAgIC0tbmF2VzogNzQwcHg7XHJcbiAgICAgICAgICAgIC0tbmF2LW9mZnNldDogMTQ1cHg7XHJcbiAgICAgICAgICAgIC0tZm9vdGVyLWhlaWdodDogMTEzcHg7XHJcbiAgICAgICAgICAgIC0tZm9vdGVyLXdpZHRoOiAyNjBweDtcclxuICAgICAgICAgICAgLS1zbGlkZS1zaWRlYmFyOiAxMzVweDtcclxuICAgICAgICAgICAgLS1zbGlkZS1wYWRkaW5nLXJpZ2h0OiAyNXB4O1xyXG4gICAgICAgICAgICAtLXNsaWRlLXRvcDogOTBweDtcclxuICAgICAgICAgICAgLS1zbGlkZS1jb250ZW50LXRvcDogNjBweDtcclxuICAgICAgICAgICAgLS1zbGlkZS1wYWRkaW5nLWxlZnQ6IDI1cHg7XHJcbn1cclxuIiwiQHVzZSBcInNhc3M6bWV0YVwiO1xyXG5AdXNlIFwic2FzczptYXRoXCI7XHJcbkB1c2UgXCJzYXNzOnN0cmluZ1wiO1xyXG5AdXNlIFwic2Fzczpjb2xvclwiO1xyXG5AdXNlIFwic2FzczpsaXN0XCI7XHJcbkB1c2UgXCJzYXNzOm1hcFwiO1xyXG5cclxuLyotLS1URVhUIEFORCBGT05ULS0tKi9cclxuXHJcbi8vLyBDcmVhdGUgYSB0ZXh0LXNoYWRvdyB3aXRoIGNsZWFyZXIgcHJvcGVydGllcy5cclxuLy8vIEBwYXJhbSB7Kn0gJHggWzBweF1cclxuLy8vIEBwYXJhbSB7Kn0gJHkgWzFweF1cclxuLy8vIEBwYXJhbSB7Kn0gJGJsdXIgWzBweF1cclxuLy8vIEBwYXJhbSB7Kn0gJGNvbG9yIFtyZ2JhKDAsIDAsIDAsIDAuNzUpXVxyXG5AbWl4aW4gdGV4dFNoYWRvdygkeDogMHB4LCAkeTogMXB4LCAkYmx1cjogMHB4LCAkY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43NSkpIHtcclxuICB0ZXh0LXNoYWRvdzogJHggJHkgJGJsdXIgJGNvbG9yO1xyXG59XHJcblxyXG4vLy8gU2V0IGljb24gZm9udCBhbmQgbm9ybWFsaXplIGFsbCBwcm9wZXJ0aWVzLlxyXG4vLy8gQHBhcmFtIHsqfSAkZm9udCBbJGljb25Gb250XVxyXG5AbWl4aW4gaWNvbkZvbnQoJGZvbnQ6ICRpY29uRm9udCkge1xyXG4gIGZvbnQtZmFtaWx5OiAkZm9udCAhaW1wb3J0YW50O1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcclxuICBmb250LXZhcmlhbnQ6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgbGluZS1oZWlnaHQ6IDFlbTtcclxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxufVxyXG5cclxuLyotLS1CQUNLR1JPVU5ELS0tKi9cclxuXHJcbi8vLyBTZXRzIGJhY2tncm91bmQgdG8gY292ZXIgd2l0aCA1MCUgNTAlIHBvc2l0aW9uLlxyXG5AbWl4aW4gYmFja2dyb3VuZENvdmVyIHtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcclxufVxyXG5cclxuLy8vIFNldHMgaGVpZ2h0IGFuZCB3aWR0aCB0byAxMDAlLlxyXG5AbWl4aW4gZmlsbFNwYWNlIHtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi8vLyBDcmVhdGUgYSBib3ggc2hhZG93IHdpdGggY2xlYXJlciBwcm9wZXJ0aWVzLlxyXG4vLy8gQHBhcmFtIHsqfSAkeCBbMHB4XVxyXG4vLy8gQHBhcmFtIHsqfSAkeSBbMHB4XVxyXG4vLy8gQHBhcmFtIHsqfSAkYmx1ciBbMnB4XVxyXG4vLy8gQHBhcmFtIHsqfSAkc3ByZWFkIFsycHhdXHJcbi8vLyBAcGFyYW0geyp9ICRjb2xvciBbcmdiYSgwLCAwLCAwLCAwLjIpXVxyXG5AbWl4aW4gYm94U2hhZG93KCR4OiAwcHgsICR5OiAwcHgsICRibHVyOiAycHgsICRzcHJlYWQ6IDJweCwgJGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMikpIHtcclxuICBib3gtc2hhZG93OiAkeCAkeSAkYmx1ciAkc3ByZWFkICRjb2xvcjtcclxufVxyXG5cclxuLy8vIENyZWF0ZSBhIGJveCBzaGFkb3cgd2l0aCBjbGVhcmVyIHByb3BlcnRpZXMuXHJcbi8vLyBAcGFyYW0geyp9ICR4IFswcHhdXHJcbi8vLyBAcGFyYW0geyp9ICR5IFsxcHhdXHJcbi8vLyBAcGFyYW0geyp9ICRibHVyIFszcHhdXHJcbi8vLyBAcGFyYW0geyp9ICRzcHJlYWQgWzBweF1cclxuLy8vIEBwYXJhbSB7Kn0gJGNvbG9yIFtyZ2JhKDAsIDAsIDAsIDAuMildXHJcbkBtaXhpbiBzaGFkb3ctaW5zZXQoJHg6IDBweCwgJHk6IDFweCwgJGJsdXI6IDNweCwgJHNwcmVhZDogMHB4LCAkY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yKSkge1xyXG4gIGJveC1zaGFkb3c6IGluc2V0ICR4ICR5ICRibHVyICRzcHJlYWQgJGNvbG9yO1xyXG59XHJcblxyXG4vKi0tLVBPU0lUSU9OSU5HLS0tKi9cclxuXHJcbi8vLyBTZXRzIGVsZW1lbnQgdG8gcG9zaXRpb24gYWJzb2x1dGUgdG8gd2l0aCB0b3A6IDAgYW5kIGxlZnQ6IDA7XHJcbkBtaXhpbiBhYnNvbHV0ZSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG59XHJcblxyXG4vLy8gU2V0cyBlbGVtZW50IHRvIHBvc2l0aW9uIGZpeGVkIHRvIHdpdGggdG9wOiAwIGFuZCBsZWZ0OiAwO1xyXG5AbWl4aW4gZml4ZWQge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxufVxyXG5cclxuLy8vIFJlc2V0cyBwb3NpdGlvbiBwcm9wZXJ0aWVzICh0b3AsIGJvdHRvbSwgbGVmdCwgcmlnaHQpLlxyXG4vLy8gQHBhcmFtIHsqfSAkcG9zIFtyZWxhdGl2ZV0gLSBTZXRzIHRoZSBwb3NpdGlvbiBwcm9wZXJ0eS5cclxuQG1peGluIHJlc2V0UG9zKCRwb3M6IHJlbGF0aXZlKSB7XHJcbiAgcG9zaXRpb246ICRwb3M7XHJcbiAgdG9wOiBhdXRvO1xyXG4gIGJvdHRvbTogYXV0bztcclxuICBsZWZ0OiBhdXRvO1xyXG4gIHJpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIGFuIGVsZW1lbnQgdXNpbmcgcG9zaXRpb24gYWJzb2x1dGUgYW5kIHRyYW5zZm9ybXMuXHJcbi8vLyBAcGFyYW0ge251bWJlcn0gJHBlcmNlbnQgWzUwJV0gLSBQcm9wZXJ0eSB0b3AgcGVyY2VudGFnZS5cclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkdHJhbnMgWzUwJV0gLSBQcm9wZXJ0eSB0cmFuc2xhdGVZIHBlcmNlbnRhZ2UuXHJcbkBtaXhpbiB2ZXJ0Q2VudGVyKCRwZXJjZW50OiA1MCUsICR0cmFuczogNTAlKSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogJHBlcmNlbnQ7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kdHJhbnMpO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kdHJhbnMpO1xyXG59XHJcblxyXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIGFuIGVsZW1lbnQgdXNpbmcgcG9zaXRpb24gYWJzb2x1dGUgYW5kIHRyYW5zZm9ybXMuXHJcbi8vLyBAcGFyYW0ge251bWJlcn0gJHBlcmNlbnQgWzUwJV0gLSBQcm9wZXJ0eSBsZWZ0IHBlcmNlbnRhZ2UuXHJcbi8vLyBAcGFyYW0ge251bWJlcn0gJHRyYW5zIFs1MCVdIC0gUHJvcGVydHkgdHJhbnNsYXRlWCBwZXJjZW50YWdlLlxyXG5AbWl4aW4gaG9yekNlbnRlcigkcGVyY2VudDogNTAlLCAkdHJhbnM6IDUwJSkge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBsZWZ0OiAkcGVyY2VudDtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSR0cmFucyk7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSR0cmFucyk7XHJcbn1cclxuXHJcbkBtaXhpbiB2ZXJ0SG9yekNlbnRlciB7XHJcbiAgQGluY2x1ZGUgdmVydENlbnRlcjtcclxuICBAaW5jbHVkZSBob3J6Q2VudGVyO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG59XHJcblxyXG4vLy8gRG9lcyB3aGF0IGl0IHNheXMgb24gdGhlIHRpbi4gU2V0cyBtYXJnaW4gYW5kIHBhZGRpbmcgdG8gMC5cclxuQG1peGluIHplcm9NYXJnUGFkIHtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLyotLS1DT05URU5ULS0tKi9cclxuXHJcbi8vLyBVc2VkIGluc2lkZSA6OmJlZm9yZSBhbmQgOjphZnRlciBlbGVtZW50cy4gU2V0cyB3aWR0aCBhbmQgaGVpZ2h0IHRvIDEwMCUuXHJcbkBtaXhpbiBwc2V1ZG9Db250ZW50IHtcclxuICBjb250ZW50OiBcIlwiO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICB3aWR0aDogMTAwJTtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLy8vIENyZWF0ZXMgYW4gOjphZnRlciBlbGVtZW50IHRvIHByZXZlbnQgZmxvYXQgb3ZlcmxhcC5cclxuQG1peGluIGNsZWFyZml4IHtcclxuICAmOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGhlaWdodDogMDtcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gIH1cclxufVxyXG5cclxuLyotLS1MSVNUUy0tLSovXHJcblxyXG4vLy8gUmVtb3ZlIGxpc3Qgc3R5bGluZywgbWFyZ2luLCBhbmQgcGFkZGluZy5cclxuQG1peGluIHJlZm9ybWF0TGlzdCB7XHJcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gIEBpbmNsdWRlIHplcm9NYXJnUGFkO1xyXG5cclxuICBsaSB7XHJcbiAgICBAaW5jbHVkZSB6ZXJvTWFyZ1BhZDtcclxuICB9XHJcbn1cclxuXHJcbi8qLS0tQk9SREVSIEFSUk9XUy0tLSovXHJcbi8vLyBEcmF3IGFuIGFycm93IHVzaW5nIGNzcyBib3JkZXJzXHJcbi8vLyBAcGFyYW0ge3ZhcmlhYmxlfSAkZGlyIFt0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQsIHRvcFJpZ2h0LCBib3R0b21SaWdodCwgdG9wTGVmdCwgYm90dG9tTGVmdF1cclxuLy8vIEBwYXJhbSB7Y29sb3J9ICRjb2xvciBbJGxpZ2h0XVxyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRoZWlnaHQgWzIwcHhdXHJcbi8vLyBAcGFyYW0ge251bWJlcn0gJHdpZHRoIFszMHB4XVxyXG5AbWl4aW4gY3NzQXJyb3coJGRpciwgJGNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKSwgJGhlaWdodDogMjBweCwgJHdpZHRoOiAyMHB4KSB7XHJcbiAgY29udGVudDogXCJcIjtcclxuICB3aWR0aDogMDtcclxuICBoZWlnaHQ6IDA7XHJcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cclxuICBAaWYgJGRpciA9PXRvcCB7XHJcbiAgICBib3JkZXItd2lkdGg6IDAgY2FsYygjeyR3aWR0aH0gLyAyKSAkaGVpZ2h0IGNhbGMoI3skd2lkdGh9IC8gMik7XHJcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3I7XHJcbiAgfSBAZWxzZSBpZiAkZGlyID09cmlnaHQge1xyXG4gICAgYm9yZGVyLXdpZHRoOiBjYWxjKCN7JGhlaWdodH0gLyAyKSAwIGNhbGMoI3skaGVpZ2h0fSAvIDIpICR3aWR0aDtcclxuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkY29sb3I7XHJcbiAgfSBAZWxzZSBpZiAkZGlyID09Ym90dG9tIHtcclxuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCBjYWxjKCN7JHdpZHRofSAvIDIpIDAgY2FsYygjeyR3aWR0aH0gLyAyKTtcclxuICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcclxuICB9IEBlbHNlIGlmICRkaXIgPT1sZWZ0IHtcclxuICAgIGJvcmRlci13aWR0aDogY2FsYygjeyRoZWlnaHR9IC8gMikgJHdpZHRoIGNhbGMoI3skaGVpZ2h0fSAvIDIpIDA7XHJcbiAgICBib3JkZXItcmlnaHQtY29sb3I6ICRjb2xvcjtcclxuICB9IEBlbHNlIGlmICRkaXIgPT10b3BSaWdodCB7XHJcbiAgICBib3JkZXItd2lkdGg6IDAgJGhlaWdodCAkd2lkdGggMDtcclxuICAgIGJvcmRlci1yaWdodC1jb2xvcjogJGNvbG9yO1xyXG4gIH0gQGVsc2UgaWYgJGRpciA9PWJvdHRvbVJpZ2h0IHtcclxuICAgIGJvcmRlci13aWR0aDogMCAwICRoZWlnaHQgJHdpZHRoO1xyXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yO1xyXG4gIH0gQGVsc2UgaWYgJGRpciA9PWJvdHRvbUxlZnQge1xyXG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0IDAgMCAkd2lkdGg7XHJcbiAgICBib3JkZXItbGVmdC1jb2xvcjogJGNvbG9yO1xyXG4gIH0gQGVsc2UgaWYgJGRpciA9PXRvcExlZnQge1xyXG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aCAwIDA7XHJcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAZXJyb3IgXCJVbmtub3duIGRpcmVjdGlvbiAjeyRkaXJ9LlwiO1xyXG4gIH1cclxufVxyXG5cclxuLy8vIERyYXcgYSBkb3duIGFycm93IHVzaW5nIGNzcyBib3JkZXJzXHJcbi8vLyBAcGFyYW0ge251bWJlcn0gJHNpemUgWzhweF1cclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkc2l6ZUxSIFskc2l6ZV1cclxuLy8vIEBwYXJhbSB7Y29sb3J9ICRjb2xvciBbJGxpZ2h0XVxyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICR0b3AgW2F1dG9dXHJcbi8vLyBAcGFyYW0ge251bWJlcn0gJGxlZnQgW2F1dG9dXHJcbkBtaXhpbiByaWdodEFycm93KCRzaXplOiA4cHgsICRzaXplVEI6ICRzaXplLCAkY29sb3I6ICRsaWdodCwgJHRvcDogYXV0bywgJHJpZ2h0OiBhdXRvKSB7XHJcbiAgY29udGVudDogXCJcIjtcclxuICB3aWR0aDogMDtcclxuICBoZWlnaHQ6IDA7XHJcbiAgYm9yZGVyLXRvcDogJHNpemVUQiBzb2xpZCB0cmFuc3BhcmVudDtcclxuICBib3JkZXItYm90dG9tOiAkc2l6ZVRCIHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlci1sZWZ0OiAkc2l6ZSBzb2xpZCAkY29sb3I7XHJcbiAgYm9yZGVyLXJpZ2h0OiAwO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6ICR0b3A7XHJcbiAgcmlnaHQ6ICRyaWdodDtcclxufVxyXG5cclxuLy8vIERyYXcgYSBkb3duIGFycm93IHVzaW5nIGNzcyBib3JkZXJzXHJcbi8vLyBAcGFyYW0ge251bWJlcn0gJHNpemUgWzhweF1cclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkc2l6ZUxSIFskc2l6ZV1cclxuLy8vIEBwYXJhbSB7Y29sb3J9ICRjb2xvciBbJGxpZ2h0XVxyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICR0b3AgW2F1dG9dXHJcbi8vLyBAcGFyYW0ge251bWJlcn0gJGxlZnQgW2F1dG9dXHJcbkBtaXhpbiBsZWZ0QXJyb3coJHNpemU6IDhweCwgJHNpemVUQjogJHNpemUsICRjb2xvcjogJGxpZ2h0LCAkdG9wOiBhdXRvLCAkbGVmdDogYXV0bykge1xyXG4gIGNvbnRlbnQ6IFwiXCI7XHJcbiAgd2lkdGg6IDA7XHJcbiAgaGVpZ2h0OiAwO1xyXG4gIGJvcmRlci10b3A6ICRzaXplVEIgc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyLWJvdHRvbTogJHNpemVUQiBzb2xpZCB0cmFuc3BhcmVudDtcclxuICBib3JkZXItbGVmdDogMDtcclxuICBib3JkZXItcmlnaHQ6ICRzaXplIHNvbGlkICRjb2xvcjtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAkdG9wO1xyXG4gIGxlZnQ6ICRsZWZ0O1xyXG59XHJcblxyXG4vLy8gRHJhdyBhIGRvd24gYXJyb3cgdXNpbmcgY3NzIGJvcmRlcnNcclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkc2l6ZSBbOHB4XVxyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRzaXplTFIgWyRzaXplXVxyXG4vLy8gQHBhcmFtIHtjb2xvcn0gJGNvbG9yIFskbGlnaHRdXHJcbi8vLyBAcGFyYW0ge251bWJlcn0gJHRvcCBbYXV0b11cclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkbGVmdCBbYXV0b11cclxuQG1peGluIHRvcEFycm93KCRzaXplOiA4cHgsICRzaXplTFI6ICRzaXplLCAkY29sb3I6ICRsaWdodCwgJHRvcDogYXV0bywgJGxlZnQ6IGF1dG8pIHtcclxuICBjb250ZW50OiBcIlwiO1xyXG4gIHdpZHRoOiAwO1xyXG4gIGhlaWdodDogMDtcclxuICBib3JkZXItbGVmdDogJHNpemVMUiBzb2xpZCB0cmFuc3BhcmVudDtcclxuICBib3JkZXItcmlnaHQ6ICRzaXplTFIgc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyLWJvdHRvbTogJHNpemUgc29saWQgJGNvbG9yO1xyXG4gIGJvcmRlci10b3A6IDA7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogJHRvcDtcclxuICBsZWZ0OiAkbGVmdDtcclxufVxyXG5cclxuLy8vIERyYXcgYSBkb3duIGFycm93IHVzaW5nIGNzcyBib3JkZXJzXHJcbi8vLyBAcGFyYW0ge251bWJlcn0gJHNpemUgWzhweF1cclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkc2l6ZUxSIFskc2l6ZV1cclxuLy8vIEBwYXJhbSB7Y29sb3J9ICRjb2xvciBbJGxpZ2h0XVxyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICR0b3AgW2F1dG9dXHJcbi8vLyBAcGFyYW0ge251bWJlcn0gJGxlZnQgW2F1dG9dXHJcbkBtaXhpbiBib3R0b21BcnJvdygkc2l6ZTogOHB4LCAkc2l6ZUxSOiAkc2l6ZSwgJGNvbG9yOiAkbGlnaHQsICR0b3A6IGF1dG8sICRsZWZ0OiBhdXRvKSB7XHJcbiAgY29udGVudDogXCJcIjtcclxuICB3aWR0aDogMDtcclxuICBoZWlnaHQ6IDA7XHJcbiAgYm9yZGVyLWxlZnQ6ICRzaXplTFIgc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyLXJpZ2h0OiAkc2l6ZUxSIHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlci10b3A6ICRzaXplIHNvbGlkICRjb2xvcjtcclxuICBib3JkZXItYm90dG9tOiAwO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6ICR0b3A7XHJcbiAgbGVmdDogJGxlZnQ7XHJcbn1cclxuXHJcbi8vLyBBIGtpbmQgb2YgaGFja3kgbWl4aW4gdG8gZm9yY2UgdGhlIGJyb3dzZXIgdG8gdXNlIGEgR1BVIHRvIHJlbmRlciB0aGUgZWxlbWVudC5cclxuQG1peGluIHVzZUdQVSB7XHJcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgLXdlYmtpdC1wZXJzcGVjdGl2ZTogMTAwMHB4O1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcclxuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgcGVyc3BlY3RpdmU6IDEwMDBweDtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcclxufVxyXG5cclxuLy8vIFZpZGVvIGJhY2tncm91bmQgc2l6ZS5cclxuLy8vIEBwYXJhbSB7Kn0gJGJnSW1nIC0gVGhlIGJhY2tncm91bmQgaW1hZ2UuIEluIHRoZSBmb3JtIG9mIHVybCgvaW1hZ2UvbXktaW1hZ2UuanBnKS5cclxuQG1peGluIHZpZGVvQkcoJGJnSW1nKSB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgQGluY2x1ZGUgYWJzb2x1dGU7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgdmlkZW8ge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBtaW4td2lkdGg6IDEwMCU7XHJcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB6LWluZGV4OiAtMTAwO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogJGJnSW1nO1xyXG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZENvdmVyO1xyXG4gIH1cclxufVxyXG5cclxuLyoqRm9ybXMqKi9cclxuXHJcbi8vLyBJbnB1dCBQbGFjZWhvbGRlciBzdHlsaW5nXHJcbi8vLyBAcGFyYW0ge2NvbG9yfSAkY29sb3IgW2xpZ2h0ZW4oJGJhc2ljLCA2MCUpXSAtIFRoZSBjb2xvciBvZiB0aGUgcGxhY2Vob2xkZXIgdGV4dC5cclxuLy8vIEBwYXJhbSB7Kn0gJHN0eWxlIFtpdGFsaWNdIC0gRm9udCBzdHlsZS5cclxuLy8vIEBwYXJhbSB7Kn0gJGZvbnQgWyRiYXNpY0ZvbnRdIC0gRm9udCBmYW1pbHkuXHJcbi8vLyBAcGFyYW0geyp9ICRzaXplIFsxZW1dIC0gRm9udCBzaXplLlxyXG5AbWl4aW4gcGxhY2Vob2xkZXIoJGNvbG9yOiB2YXIoLS1kYXJrLWdyZXkpLCAkc3R5bGU6IGl0YWxpYywgJGZvbnQ6ICRiYXNpY0ZvbnQsICRzaXplOiAxZW0pIHtcclxuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcblxyXG4gICAgZm9udDoge1xyXG4gICAgICBzdHlsZTogJHN0eWxlO1xyXG4gICAgICBmYW1pbHk6ICRmb250O1xyXG4gICAgICBzaXplOiAkc2l6ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICY6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICAvKiBGaXJlZm94IDE4LSAqL1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgICBmb250OiB7XHJcbiAgICAgIHN0eWxlOiAkc3R5bGU7XHJcbiAgICAgIGZhbWlseTogJGZvbnQ7XHJcbiAgICAgIHNpemU6ICRzaXplO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICAvKiBGaXJlZm94IDE5KyAqL1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgICBmb250OiB7XHJcbiAgICAgIHN0eWxlOiAkc3R5bGU7XHJcbiAgICAgIGZhbWlseTogJGZvbnQ7XHJcbiAgICAgIHNpemU6ICRzaXplO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgICBmb250OiB7XHJcbiAgICAgIHN0eWxlOiAkc3R5bGU7XHJcbiAgICAgIGZhbWlseTogJGZvbnQ7XHJcbiAgICAgIHNpemU6ICRzaXplO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vIEJyZWFrcyBsb25nIHdvcmRzIGFuZCB1cmxzXHJcbi8vLyBAYXV0aG9yIEthcmwgUm9zc1xyXG5AbWl4aW4gd29yZEJyZWFrIHtcclxuICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcclxuXHJcbiAgLyogQWRkcyBhIGh5cGhlbiB3aGVyZSB0aGUgd29yZCBicmVha3MsIGlmIHN1cHBvcnRlZCAoTm8gQmxpbmspICovXHJcbiAgLW1zLWh5cGhlbnM6IGF1dG87XHJcbiAgLW1vei1oeXBoZW5zOiBhdXRvO1xyXG4gIC13ZWJraXQtaHlwaGVuczogYXV0bztcclxuICBoeXBoZW5zOiBhdXRvO1xyXG59XHJcblxyXG4vLy8gSGlkZXMgYW4gZWxlbWVudCBidXQgc3RpbGwgYWxsb3dzIGl0IHRvIGJlIHJlYWQgYnkgYSBzY3JlZW4gcmVhZGVyLlxyXG4vLy8gQGF1dGhvciBCZW4gUmljaGFyZHNvblxyXG5AbWl4aW4gc2NyZWVuUmVhZGVyKCkge1xyXG4gIGJvcmRlcjogMDtcclxuICBjbGlwLXBhdGg6IHJlY3QoMCAwIDAgMCk7XHJcbiAgaGVpZ2h0OiAxcHg7XHJcbiAgbWFyZ2luOiAtMXB4O1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgcGFkZGluZzogMDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgd2lkdGg6IDFweDtcclxufVxyXG5cclxuLy8gRml4ZXMgbGVnZW5kcyBvbiBvbGRlciBicm93c2VycyBhbmQgc21hbGxlciBicm93c2Vycy5cclxuQG1peGluIGxlZ2VuZEZpeCB7XHJcbiAgLy9UaGlzIGZpeGVzIGZvciByZXNwb25zaXZlXHJcbiAgZGlzcGxheTogdGFibGU7XHJcbiAgLyogRW5hYmxlIGxpbmUtd3JhcHBpbmcgaW4gSUU4KyAqL1xyXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgLyogRW5hYmxlIGxpbmUtd3JhcHBpbmcgaW4gb2xkIHZlcnNpb25zIG9mIHNvbWUgb3RoZXIgYnJvd3NlcnMgKi9cclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLy8vIFN0eWxlIHNjcm9sbGJhcnMgd2l0aCBhbGwgYnJvd3NlciB2ZW5kb3IgcHJvcGVydGllcy5cclxuLy8vIEBhdXRob3IgS291cnRuZXkgU3RyaWNrbGFuZFxyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICR3aWR0aCBbNXB4XSAtIFRoZSB3aWR0aCBvZiB0aGUgc2Nyb2xsYmFyLlxyXG4vLy8gQHBhcmFtIHtjb2xvcn0gJGNvbG9yIFsjNDQ0NDQ0XSAtIFRoZSBjb2xvciBvZiB0aGUgc2Nyb2xsIGtub2IuXHJcbi8vLyBAcGFyYW0ge2NvbG9yfSAkYmdDb2xvciBbI2Y1ZjVmNV0gLSBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgc2Nyb2xsYmFyLlxyXG4vLy8gQHBhcmFtIHtib29sZWFufSAkc2hhZG93IFt0cnVlXSAtIFdoZXRoZXIgdG8gZHJhdyBhIGJveCBzaGFkb3cgb24gdGhlIHNjcm9sbGJhci5cclxuQG1peGluIHNjcm9sbGJhcigkd2lkdGg6IDVweCwgJGNvbG9yOiAjNDQ0NDQ0LCAkYmdDb2xvcjogI2Y1ZjVmNSwgJHNoYWRvdzogdHJ1ZSkge1xyXG4gIC8vIE5vbnN0YW5kYXJkIHdlYmtpdCBwcm9wZXJ0aWVzLCB3b3JrcyBvbiBDaHJvbWUsIE1vZGVybiBFZGdlLCBhbmQgU2FmYXJpXHJcbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xyXG4gICAgQGlmICRzaGFkb3cge1xyXG4gICAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMCA2cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xyXG4gICAgfVxyXG5cclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZ0NvbG9yO1xyXG4gIH1cclxuXHJcbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gICAgd2lkdGg6ICR3aWR0aDtcclxuICAgIGhlaWdodDogJHdpZHRoO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnQ29sb3I7XHJcbiAgfVxyXG5cclxuICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG5cclxuICAvLyBUaGUgcHJvcGVyLCBzdGFuZGFyZCB3YXkgdG8gc3R5bGUgc2Nyb2xsYmFycy4gU3VwcG9ydGVkIGluIEZpcmVmb3gsIEVkZ2UgMTIxKywgYW5kIENocm9tZSAxMjErXHJcbiAgc2Nyb2xsYmFyLWNvbG9yOiAkY29sb3IgJGJnQ29sb3I7XHJcblxyXG4gIEBpZiAoJHdpZHRoIDwgMTVweCkge1xyXG4gICAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xyXG4gIH1cclxufVxyXG5cclxuLy8vIFNob3J0aGFuZCBmb3IgYSBmbGV4Ym94IGNvbnRhaW5lciB0aGF0IGp1c3RpZmVzIGNvbnRlbnQgYXQgdGhlIHN0YXJ0LlxyXG4vLy8gQGF1dGhvciBLb3VydG5leSBTdHJpY2tsYW5kXHJcbi8vLyBAcGFyYW0ge3N0cmluZ30gJGRpciBbcm93XSAtIFRoZSBmbGV4LWRpcmVjdGlvbiBvZiB0aGUgZWxlbWVudC5cclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkanVzdGlmeSBbc3BhY2UtYmV0d2Vlbl0gLSBUaGUganVzdGlmeS1jb250ZW50IHByb3BlcnR5IG9mIHRoZSBlbGVtZW50LlxyXG5AbWl4aW4gZmxleEp1c3RpZnkoJGRpcjogcm93LCAkanVzdGlmeTogc3BhY2UtYmV0d2Vlbikge1xyXG4gIC8vYWx0ZXJuYXRlIHdvdWxkIGJlIHNwYWNlLWFyb3VuZFxyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiAkanVzdGlmeTtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyO1xyXG59XHJcblxyXG4vLy8gU2hvcnRoYW5kIGZvciBhIGZsZXhib3ggY29udGFpbmVyIHRoYXQganVzdGlmZXMgY29udGVudCBpbiBjZW50ZXIuXHJcbi8vLyBAYXV0aG9yIEtvdXJ0bmV5IFN0cmlja2xhbmRcclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkZGlyIFtyb3ddIC0gVGhlIGZsZXgtZGlyZWN0aW9uIG9mIHRoZSBlbGVtZW50LlxyXG5AbWl4aW4gZmxleENlbnRlcigkZGlyOiByb3cpIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgZmxleC1kaXJlY3Rpb246ICRkaXI7XHJcbn1cclxuXHJcbi8vLyBTaG9ydGhhbmQgZm9yIGEgZmxleGJveCBjb250YWluZXIgdGhhdCBqdXN0aWZlcyBjb250ZW50IGF0IHRoZSBlbmQuXHJcbi8vLyBAYXV0aG9yIEtvdXJ0bmV5IFN0cmlja2xhbmRcclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkZGlyIFtyb3ddIC0gVGhlIGZsZXgtZGlyZWN0aW9uIG9mIHRoZSBlbGVtZW50LlxyXG5AbWl4aW4gZmxleEVuZCgkZGlyOiByb3cpIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBmbGV4LWRpcmVjdGlvbjogJGRpcjtcclxufVxyXG5cclxuLy8vIFNob3J0aGFuZCBmb3IgYSBmbGV4Ym94IGNvbnRhaW5lciB0aGF0IGp1c3RpZmVzIGNvbnRlbnQgYXQgdGhlIHN0YXJ0LlxyXG4vLy8gQGF1dGhvciBLb3VydG5leSBTdHJpY2tsYW5kXHJcbi8vLyBAcGFyYW0ge3N0cmluZ30gJGRpciBbcm93XSAtIFRoZSBmbGV4LWRpcmVjdGlvbiBvZiB0aGUgZWxlbWVudC5cclxuQG1peGluIGZsZXhTdGFydCgkZGlyOiByb3cpIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyO1xyXG59XHJcblxyXG4vLy8gQ3JlYXRlcyBhIGZsZXhpYmxlIGhvcml6b250YWwgbGF5b3V0IG9mIGFic29sdXRlbHktcG9zaXRpb25lZCBjaGlsZCBlbGVtZW50cyBvZiBlcXVhbCB3aWR0aC5cclxuLy8vIFZlcnkgdXNlZnVsIGZvciBzb21ldGhpbmcgbGlrZSBhIG1haW4gbmF2IHRoYXQgdHJhbnNpdGlvbnMuIEJlY2F1c2UgZXZlcnl0aGluZyBpcyBhbHJlYWR5IGFic29sdXRlLFxyXG4vLy8geW91IGNhbiBlYXNpbHkgbW92ZSBzZWN0aW9ucyBvdXQgYW5kIGluIHVzaW5nIHRoZSB0b3AvbGVmdCBwcm9wZXJ0aWVzLlxyXG4vLy8gQGF1dGhvciBCZW4gUmljaGFyZHNvblxyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRtYXgtbnVtLW9mLWNoaWxkcmVuIFs3XSAtIElmIHRoZSBudW1iZXIgb2YgY2hpbGRyZW4gZXhjZWVkcyB0aGlzIG51bWJlciwgdGhlIGxheW91dCB3aWxsIGJyZWFrLlxyXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRvcmllbnRhdGlvbiBbdmVydGljYWxdIC0gVGhlIGRpcmVjdGlvbiBvZiB0aGUgZmxleCBjb250YWluZXIuIEVpdGhlciBcInZlcnRpY2FsXCIgb3IgXCJob3Jpem9udGFsXCIuXHJcbkBtaXhpbiBhYnNvbHV0ZUZsZXgoJG1heC1udW0tb2YtY2hpbGRyZW46IDcsICRvcmllbnRhdGlvbjogXCJ2ZXJ0aWNhbFwiLCAkZ3V0dGVyOiAwJSkge1xyXG4gIEBpZiB0eXBlLW9mKCRtYXgtbnVtLW9mLWNoaWxkcmVuKSAhPW51bWJlciB7XHJcbiAgICBAZXJyb3IgXCJJbnB1dCBgJG1heC1udW0tb2YtY2hpbGRyZW5gIG11c3QgYmUgYSBudW1iZXIuXCI7XHJcbiAgfVxyXG5cclxuICBAaWYgJG9yaWVudGF0aW9uICE9IFwiaG9yaXpvbnRhbFwiIGFuZCAkb3JpZW50YXRpb24gIT0gXCJ2ZXJ0aWNhbFwiIHtcclxuICAgIEBlcnJvciBcIklucHV0IGAkbWF4LW51bS1vZi1jaGlsZHJlbmAgbXVzdCBiZSBzZXQgdG8gZWl0aGVyIGBob3Jpem9udGFsYCBvciBgdmVydGljYWxgXCI7XHJcbiAgfVxyXG5cclxuICBAd2hpbGUgJG1heC1udW0tb2YtY2hpbGRyZW4+MSB7XHJcbiAgICAkc2l6ZTogbWF0aC5kaXYoMTAwJSwgJG1heC1udW0tb2YtY2hpbGRyZW4pO1xyXG4gICAgJGd1dHRlclNpemVPZmZzZXQ6IG1hdGguZGl2KCRndXR0ZXIsICRtYXgtbnVtLW9mLWNoaWxkcmVuKTtcclxuXHJcbiAgICAvLyBXZSBjYW4gZGV0ZWN0IHRoZSBudW1iZXIgb2YgaXRlbXMgYSBwYXJlbnQgaGFzIHB1cmVseSB3aXRoIENTUy4gQ3JhenksIGh1aCFcclxuICAgID4gKjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRtYXgtbnVtLW9mLWNoaWxkcmVufSksXHJcbiAgICA+ICo6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skbWF4LW51bS1vZi1jaGlsZHJlbn0pIH4gKiB7XHJcbiAgICAgIEBpZiAoJG9yaWVudGF0aW9uPT0gXCJob3Jpem9udGFsXCIpIHtcclxuICAgICAgICB3aWR0aDogY2FsYygjeyRzaXplfSAtICN7JGd1dHRlciAtICRndXR0ZXJTaXplT2Zmc2V0fSk7XHJcbiAgICAgIH0gQGVsc2UgaWYgKCRvcmllbnRhdGlvbj09IFwidmVydGljYWxcIikge1xyXG4gICAgICAgIGhlaWdodDogY2FsYygjeyRzaXplfSAtICN7JGd1dHRlciAtICRndXR0ZXJTaXplT2Zmc2V0fSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIENhbGN1bGF0ZSBhbmQgc2V0IGNoaWxkIHBvc2l0aW9uLlxyXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRtYXgtbnVtLW9mLWNoaWxkcmVuIHtcclxuICAgICAgICAmOm50aC1jaGlsZCgjeyRpfSkge1xyXG4gICAgICAgICAgQGlmICgkb3JpZW50YXRpb249PSBcImhvcml6b250YWxcIikge1xyXG4gICAgICAgICAgICBsZWZ0OiBjYWxjKCN7JHNpemUgKiAkaSAtICRzaXplfSArICN7JGd1dHRlciAtICRndXR0ZXJTaXplT2Zmc2V0ICogJGl9KTtcclxuICAgICAgICAgIH0gQGVsc2UgaWYgKCRvcmllbnRhdGlvbj09IFwidmVydGljYWxcIikge1xyXG4gICAgICAgICAgICB0b3A6ICRzaXplICogJGkgLSAkc2l6ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAkbWF4LW51bS1vZi1jaGlsZHJlbjogJG1heC1udW0tb2YtY2hpbGRyZW4gLSAxO1xyXG4gIH1cclxuXHJcbiAgPiAqIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB9XHJcbn1cclxuXHJcbi8vLyBDcmVhdGUgYSBibHVyIGVmZmVjdCB3aXRoIGZhbGxiYWNrcyBmb3IgdW5zdXBwb3J0ZWQgYnJvd3NlcnMuXHJcbi8vLyBAYXV0aG9yIEJlbiBSaWNoYXJkc29uXHJcbi8vLyBAcGFyYW0ge2NvbG9yfSAkY29sb3IgLSBUaGUgYmFja2dyb3VuZC1jb2xvciBvZiB0aGUgZWxlbWVudC5cclxuLy8vIEBwYXJhbSB7bnVtfSAkb3BhY2l0eSBbODUlXSAtIFRoZSBsZXZlbCBvZiBvcGFjaXR5IGRlc2lyZWQuXHJcbkBtaXhpbiBmcm9zdGVkR2xhc3MoJGNvbG9yOiAkbGlnaHQsICRvcGFjaXR5OiA4NSUpIHtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvciwgJG9wYWNpdHkpO1xyXG5cclxuICBAc3VwcG9ydHMgKGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KSkge1xyXG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xyXG5cclxuICAgIEBpZiAoJG9wYWNpdHkgLSAyMCUgPiAwKSB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGNvbG9yLCAkb3BhY2l0eSAtIDIwJSk7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vLyBEZWxpdmVycyBidWxsZXRwcm9vZiBob3ZlciBzdHlsaW5nIHRoYXQgcHJldmVudHMgdG91Y2ggZXZlbnRzIGZyb20gdHJpZ2dlcmluZ1xyXG4vLy8gc2luY2UgOTklIG9mIHRoZSB0aW1lIHRoYXQncyBub3Qgd2hhdCB5b3Ugd2FudC4gSW5jbHVkZXMgZmFsbGJhY2tzIGZvciBvbGRlciBicm93c2Vycy5cclxuLy8vIFdlIHVzZWQgdG8gdXNlIGFueS1wb2ludGVyOiBmaW5lIGJ1dCBmb3Igc29tZSByZWFzb24gdGhhdCB3YXMgYWx3YXlzIHJldHVybmluZyB0cnVlXHJcbi8vLyBvbiBBbmRyb2lkIGRldmljZXMsIGV2ZW4gd2l0aCBubyBtb3VzZSBhdHRhY2hlZC4gU28gaXQncyBiYWNrIHRvIHJlZ3VsYXIgb2xkIHBvaW50ZXI6IGZpbmUuXHJcbi8vLyBAYXV0aG9yIEJlbiBSaWNoYXJkc29uXHJcbi8vLyBAY29udGVudFxyXG5AbWl4aW4gaG92ZXIoKSB7XHJcbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgW2RhdGEtYnJvd3Nlcj1cImllXCJdICY6aG92ZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG5cclxuICAuaWUgJjpob3ZlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbi8vLyBEZWxpdmVycyBidWxsZXRwcm9vZiBmb2N1cy12aXNpYmxlIHN0eWxpbmcgd2l0aCBmYWxsYmFja3MgZm9yIG9sZGVyIGJyb3dzZXJzLiBSZXF1aXJlc1xyXG4vLy8gYSBKUyBwb2x5ZmlsbCAoV0lDRyBmb2N1cy12aXNpYmxlKSBmb3Igb2xkZXIgYnJvd3NlcnMuXHJcbi8vLyBAYXV0aG9yIEJlbiBSaWNoYXJkc29uXHJcbi8vLyBAY29udGVudFxyXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL1dJQ0cvZm9jdXMtdmlzaWJsZVxyXG5AbWl4aW4gZm9jdXMoKSB7XHJcbiAgJi5mb2N1cy12aXNpYmxlIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuXHJcbiAgJjpmb2N1cy12aXNpYmxlIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8vIEBtaXhpbiBob3ZlciBhbmQgQG1peGluIGZvY3VzIHN0eWxpbmcgaW4gb25lIG1peGluLlxyXG4vLy8gQGF1dGhvciBCZW4gUmljaGFyZHNvblxyXG4vLy8gQGNvbnRlbnRcclxuQG1peGluIGhvdmVyQW5kRm9jdXMoKSB7XHJcbiAgQGluY2x1ZGUgaG92ZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBmb2N1cyB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbi8vLyBBY2Nlc3NpYmxlIGJhY2tncm91bmRzISBFbnN1cmUgeW91ciBlbGVtZW50cyBhbHdheXMgaGF2ZSBwcm9wZXIgY29udHJhc3QgYnkgc2V0dGluZyBib3RoIGJhY2tncm91bmQtY29sb3IgYW5kIGNvbG9yIHByb3BlcnRpZXMuXHJcbi8vLyBAYXV0aG9yIEJlbiBSaWNoYXJkc29uXHJcbi8vLyBAcGFyYW0ge3N0cmluZ30gJGJnIC0gVGhlIGJhY2tncm91bmQgdG8gdXNlIGZvciB0aGUgZWxlbWVudC5cclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkdGV4dERhcmsgW2RhcmtdIC0gVGV4dCBjb2xvciB0byB1c2Ugd2hlbiBlbGVtZW50J3MgYmFja2dyb3VuZCBpcyBhYm92ZSBhIGNlcnRhaW4gdGhyZXNob2xkIGluIGxpZ2h0bmVzcy4gT25seSB1c2VkIGlmICRiZyBpcyBhIHNhc3MgdmFyaWFibGUuXHJcbi8vLyBAcGFyYW0ge3N0cmluZ30gJHRleHRMaWdodCBbd2hpdGVdIC0gVGV4dCBjb2xvciB0byB1c2Ugd2hlbiBlbGVtZW50J3MgYmFja2dyb3VuZCBpcyBiZWxvdyBhIGNlcnRhaW4gdGhyZXNob2xkIGluIGxpZ2h0bmVzcy4gT25seSB1c2VkIGlmICRiZyBpcyBhIHNhc3MgdmFyaWFibGUuXHJcbkBtaXhpbiBiZ1dpdGhDb250cmFzdCgkYmcsICR0ZXh0RGFyazogYmxhY2ssICR0ZXh0TGlnaHQ6IHdoaXRlKSB7XHJcbiAgLy8gQ2hlY2sgaWYgcGFyYW1ldGVyIGlzIGEgY3NzIGN1c3RvbSBwcm9wZXJ0eS4gVGhlIHZhbHVlIG9mIGN1c3RvbSBwcm9wZXJ0aWVzIGFyZSBub3RcclxuICAvLyBrbm93biBhdCBjb21waWxlIHRpbWUgdGhlcmVmb3JlIHdlIGRvIG5vdCBjYWxjdWxhdGUgY29udHJhc3QgaGVyZS5cclxuICBAaWYgKHN0cmluZy5pbmRleChcIiN7JGJnfVwiLCBcIi0tXCIpKSB7XHJcbiAgICAkYmc6IHVud3JhcC1jdXN0b20tcHJvcCgkYmcpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCN7JGJnfSk7XHJcbiAgICBjb2xvcjogdmFyKCN7JGJnfSN7LWNvbnRyYXN0fSk7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XHJcblxyXG4gICAgJHJhdGlvV2l0aERhcms6IHdjYWctY29udHJhc3QtcmF0aW8oJGJnLCAkdGV4dERhcmspO1xyXG4gICAgJHJhdGlvV2l0aExpZ2h0OiB3Y2FnLWNvbnRyYXN0LXJhdGlvKCRiZywgJHRleHRMaWdodCk7XHJcblxyXG4gICAgQGlmICRyYXRpb1dpdGhEYXJrIDwgMyBhbmQgJHJhdGlvV2l0aExpZ2h0IDwgMyB7XHJcbiAgICAgIEBlcnJvciBcIlRoZSBjb2xvciAjeyRiZ30gZG9lcyBub3QgbWVldCBXQ0FHIEFBIG1pbmltdW0gYWNjZXNzaWJpbGl0eSBjb250cmFzdCByYXRpbyBvZiAzOjEuIFBsZWFzZSBjaG9vc2UgYSBkaWZmZXJlbnQgY29sb3IgY29tYmluYXRpb24uXCI7XHJcbiAgICB9IEBlbHNlIGlmICRyYXRpb1dpdGhEYXJrIDwgNC41IGFuZCAkcmF0aW9XaXRoTGlnaHQgPCA0LjUge1xyXG4gICAgICBAd2FybiBcIlRoZSBjb2xvciAjeyRiZ30gZG9lcyBub3QgbWVldCBXQ0FHIEFBIG1pbmltdW0gYWNjZXNzaWJpbGl0eSBjb250cmFzdCByYXRpbyBvZiA0LjU6MS4gUGxlYXNlIGNvbmZpcm0gdGhhdCBhbnkgdGV4dCBpbnNpZGUgdGhpcyBlbGVtZW50IGlzIGdyZWF0ZXIgdGhhbiAxOHB4LlwiO1xyXG4gICAgfVxyXG5cclxuICAgIEBpZiAkcmF0aW9XaXRoRGFyayA+PSRyYXRpb1dpdGhMaWdodCB7XHJcbiAgICAgIGNvbG9yOiAkdGV4dERhcms7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgY29sb3I6ICR0ZXh0TGlnaHQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQWNjZXNzaWJsZSB0ZXh0ISBFbnN1cmUgeW91ciBlbGVtZW50cyBhbHdheXMgaGF2ZSBwcm9wZXIgY29udHJhc3QgYnkgc2V0dGluZyBib3RoIGNvbG9yIGFuZCBiYWNrZ3JvdW5kLWNvbG9yIHByb3BlcnRpZXMuXHJcbi8vLyBAYXV0aG9yIEJlbiBSaWNoYXJkc29uXHJcbi8vLyBAcGFyYW0ge3N0cmluZ30gJHRleHRDb2xvciAtIFRoZSB0ZXh0IGNvbG9yIHRvIHVzZSBmb3IgdGhlIGVsZW1lbnQuXHJcbi8vLyBAcGFyYW0ge3N0cmluZ30gJGJnRGFyayBbZGFya10gLSBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSB3aGVuIGVsZW1lbnQncyB0ZXh0IGlzIGFib3ZlIGEgY2VydGFpbiB0aHJlc2hvbGQgaW4gbGlnaHRuZXNzLiBPbmx5IHVzZWQgaWYgJHRleHRDb2xvciBpcyBhIHNhc3MgdmFyaWFibGUuXHJcbi8vLyBAcGFyYW0ge3N0cmluZ30gJGJnTGlnaHQgW3doaXRlXSAtIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIHdoZW4gZWxlbWVudCdzIHRleHQgaXMgYmVsb3cgYSBjZXJ0YWluIHRocmVzaG9sZCBpbiBsaWdodG5lc3MuIE9ubHkgdXNlZCBpZiAkdGV4dENvbG9yIGlzIGEgc2FzcyB2YXJpYWJsZS5cclxuQG1peGluIGNvbG9yV2l0aENvbnRyYXN0KCR0ZXh0Q29sb3IsICRiZ0Rhcms6IGJsYWNrLCAkYmdMaWdodDogd2hpdGUpIHtcclxuICAvLyBDaGVjayBpZiBwYXJhbWV0ZXIgaXMgYSBjc3MgY3VzdG9tIHByb3BlcnR5LiBUaGUgdmFsdWUgb2YgY3VzdG9tIHByb3BlcnRpZXMgYXJlIG5vdFxyXG4gIC8vIGtub3duIGF0IGNvbXBpbGUgdGltZSB0aGVyZWZvcmUgd2UgZG8gbm90IGNhbGN1bGF0ZSBjb250cmFzdCBoZXJlLlxyXG4gIEBpZiAoc3RyaW5nLmluZGV4KFwiI3skdGV4dENvbG9yfVwiLCBcIi0tXCIpKSB7XHJcbiAgICAkdGV4dENvbG9yOiB1bndyYXAtY3VzdG9tLXByb3AoJHRleHRDb2xvcik7XHJcbiAgICBjb2xvcjogdmFyKCN7JHRleHRDb2xvcn0pO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCN7JHRleHRDb2xvcn0jey1jb250cmFzdH0pO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgY29sb3I6ICR0ZXh0Q29sb3I7XHJcblxyXG4gICAgJHJhdGlvV2l0aERhcms6IHdjYWctY29udHJhc3QtcmF0aW8oJHRleHRDb2xvciwgJGJnRGFyayk7XHJcbiAgICAkcmF0aW9XaXRoTGlnaHQ6IHdjYWctY29udHJhc3QtcmF0aW8oJHRleHRDb2xvciwgJGJnTGlnaHQpO1xyXG5cclxuICAgIEBpZiAkcmF0aW9XaXRoRGFyayA8IDMgYW5kICRyYXRpb1dpdGhMaWdodCA8IDMge1xyXG4gICAgICBAZXJyb3IgXCJUaGUgY29sb3IgI3skdGV4dENvbG9yfSBkb2VzIG5vdCBtZWV0IFdDQUcgQUEgbWluaW11bSBhY2Nlc3NpYmlsaXR5IGNvbnRyYXN0IHJhdGlvIG9mIDM6MS4gUGxlYXNlIGNob29zZSBhIGRpZmZlcmVudCBjb2xvciBjb21iaW5hdGlvbi5cIjtcclxuICAgIH0gQGVsc2UgaWYgJHJhdGlvV2l0aERhcmsgPCA0LjUgYW5kICRyYXRpb1dpdGhMaWdodCA8IDQuNSB7XHJcbiAgICAgIEB3YXJuIFwiVGhlIGNvbG9yICN7JHRleHRDb2xvcn0gZG9lcyBub3QgbWVldCBXQ0FHIEFBIG1pbmltdW0gYWNjZXNzaWJpbGl0eSBjb250cmFzdCByYXRpbyBvZiA0LjU6MS4gUGxlYXNlIGNvbmZpcm0gdGhhdCBhbnkgdGV4dCBpbnNpZGUgdGhpcyBlbGVtZW50IGlzIGdyZWF0ZXIgdGhhbiAxOHB4LlwiO1xyXG4gICAgfVxyXG5cclxuICAgIEBpZiAkcmF0aW9XaXRoRGFyayA+PSRyYXRpb1dpdGhMaWdodCB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiZ0Rhcms7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJnTGlnaHQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gUmV0dXJucyBhIGNvbnRyYXN0aW5nIGNvbG9yIHZhbHVlIHRvIHRoZSBnaXZlbiBjb2xvci5cclxuLy8vIEBhdXRob3IgQmVuIFJpY2hhcmRzb25cclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkY29sb3IgLSBUaGUgY29sb3IgdG8gY29udHJhc3QgYWdhaW4uXHJcbi8vLyBAcGFyYW0ge3N0cmluZ30gJGRhcmsgW2RhcmtdIC0gQmFja2dyb3VuZCBjb2xvciB0byB1c2Ugd2hlbiAkY29sb3IgaXMgYWJvdmUgYSBjZXJ0YWluIHRocmVzaG9sZCBpbiBsaWdodG5lc3MuIE9ubHkgdXNlZCBpZiAkY29sb3IgaXMgYSBzYXNzIHZhcmlhYmxlLlxyXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRsaWdodCBbd2hpdGVdIC0gQmFja2dyb3VuZCBjb2xvciB0byB1c2Ugd2hlbiAkY29sb3IgaXMgYmVsb3cgYSBjZXJ0YWluIHRocmVzaG9sZCBpbiBsaWdodG5lc3MuIE9ubHkgdXNlZCBpZiAkY29sb3IgaXMgYSBzYXNzIHZhcmlhYmxlLlxyXG4vLy8gQHJldHVybiB7c3RyaW5nfSAtIExpZ2h0IG9yIGRhcmsgZGVwZW5kaW5nIG9uIHRoZSBjb2xvciBnaXZlbi5cclxuQGZ1bmN0aW9uIGNhbGMtY29udHJhc3QoJGNvbG9yLCAkZGFyazogYmxhY2ssICRsaWdodDogd2hpdGUpIHtcclxuICBAaWYgKHN0cmluZy5pbmRleChcIiN7JGNvbG9yfVwiLCBcIi0tXCIpKSB7XHJcbiAgICAkY29sb3I6IHVud3JhcC1jdXN0b20tcHJvcCgkY29sb3IpO1xyXG4gICAgQHJldHVybiB2YXIoI3skY29sb3J9I3stY29udHJhc3R9KTtcclxuICB9IEBlbHNlIHtcclxuICAgICRyYXRpb1dpdGhEYXJrOiB3Y2FnLWNvbnRyYXN0LXJhdGlvKCRjb2xvciwgJGRhcmspO1xyXG4gICAgJHJhdGlvV2l0aExpZ2h0OiB3Y2FnLWNvbnRyYXN0LXJhdGlvKCRjb2xvciwgJGxpZ2h0KTtcclxuXHJcbiAgICBAaWYgJHJhdGlvV2l0aERhcmsgPCAzIGFuZCAkcmF0aW9XaXRoTGlnaHQgPCAzIHtcclxuICAgICAgQGVycm9yIFwiVGhlIGNvbG9yICN7JGNvbG9yfSBkb2VzIG5vdCBtZWV0IFdDQUcgQUEgbWluaW11bSBhY2Nlc3NpYmlsaXR5IGNvbnRyYXN0IHJhdGlvIG9mIDM6MS4gUGxlYXNlIGNob29zZSBhIGRpZmZlcmVudCBjb2xvciBjb21iaW5hdGlvbi5cIjtcclxuICAgIH0gQGVsc2UgaWYgJHJhdGlvV2l0aERhcmsgPCA0LjUgYW5kICRyYXRpb1dpdGhMaWdodCA8IDQuNSB7XHJcbiAgICAgIEB3YXJuIFwiVGhlIGNvbG9yICN7JGNvbG9yfSBkb2VzIG5vdCBtZWV0IFdDQUcgQUEgbWluaW11bSBhY2Nlc3NpYmlsaXR5IGNvbnRyYXN0IHJhdGlvIG9mIDQuNToxLiBQbGVhc2UgY29uZmlybSB0aGF0IGFueSB0ZXh0IGluc2lkZSB0aGlzIGVsZW1lbnQgaXMgZ3JlYXRlciB0aGFuIDE4cHguXCI7XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICRyYXRpb1dpdGhEYXJrID49JHJhdGlvV2l0aExpZ2h0IHtcclxuICAgICAgQHJldHVybiAkZGFyaztcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBAcmV0dXJuICRsaWdodDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBmdW5jdGlvbiB2YXItcmdiYSgkY29sb3IsICRvcGFjaXR5OiAxKSB7XHJcbiAgJG9wYWNpdHk6IHZhbGlkYXRlLWFuZC13cmFwLWlmLWN1c3RvbS1wcm9wKCRvcGFjaXR5KTtcclxuICAkY29sb3I6IHZhbGlkYXRlLWFuZC13cmFwLWlmLWN1c3RvbS1wcm9wKCRjb2xvcik7XHJcblxyXG4gICRwZXJjZW50YWdlOiBjYWxjKCN7JG9wYWNpdHl9ICogMTAwJSk7XHJcblxyXG4gIEByZXR1cm4gY29sb3ItbWl4KGluIHNyZ2IsICN7JGNvbG9yfSAjeyRwZXJjZW50YWdlfSwgdHJhbnNwYXJlbnQpO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gdmFyLWxpZ2h0ZW4oJGNvbG9yLCAkYWRqdXN0bWVudDogMCUpIHtcclxuICBAaWYgKGdldC11bml0KCRhZGp1c3RtZW50KSA9PSBcIiVcIikge1xyXG4gICAgJGFkanVzdG1lbnQ6IG1hdGguZGl2KCRhZGp1c3RtZW50LCAxMDAlKTtcclxuICAgICRjb2xvcjogdmFsaWRhdGUtYW5kLXdyYXAtaWYtY3VzdG9tLXByb3AoJGNvbG9yKTtcclxuXHJcbiAgICBAcmV0dXJuIG9rbGNoKGZyb20gI3skY29sb3J9IG1pbihjYWxjKGwgKyAobCAqICN7JGFkanVzdG1lbnR9KSksICN7MX0pIGMgaCk7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAZXJyb3IgXCJUaGUgYWRqdXN0bWVudCAjeyRhZGp1c3RtZW50fSBtdXN0IGJlIGEgcGVyY2VudGFnZS5cIjtcclxuICB9XHJcbn1cclxuXHJcbkBmdW5jdGlvbiB2YXItZGFya2VuKCRjb2xvciwgJGFkanVzdG1lbnQ6IDAlKSB7XHJcbiAgQGlmIChnZXQtdW5pdCgkYWRqdXN0bWVudCkgPT0gXCIlXCIpIHtcclxuICAgICRhZGp1c3RtZW50OiBtYXRoLmRpdigkYWRqdXN0bWVudCwgMTAwJSk7XHJcbiAgICAkY29sb3I6IHZhbGlkYXRlLWFuZC13cmFwLWlmLWN1c3RvbS1wcm9wKCRjb2xvcik7XHJcblxyXG4gICAgQHJldHVybiBva2xjaChmcm9tICN7JGNvbG9yfSBtYXgoY2FsYyhsIC0gKGwgKiAjeyRhZGp1c3RtZW50fSkpLCAjezB9KSBjIGgpO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQGVycm9yIFwiVGhlIGFkanVzdG1lbnQgI3skYWRqdXN0bWVudH0gbXVzdCBiZSBhIHBlcmNlbnRhZ2UuXCI7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gU2V0cyBiYWNrZ3JvdW5kLXBvc2l0aW9uIGNzcyBiYXNlZCBvbiBbZGF0YS1iZy1wb3M9XCJ4IHlcIl0uXHJcbi8vLyBAYXV0aG9yIEJlbiBSaWNoYXJkc29uXHJcbkBtaXhpbiBiZ1BvcygpIHtcclxuICAmW2RhdGEtYmctcG9zPVwidG9wIGxlZnRcIl0ge1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCUgMCU7XHJcbiAgfVxyXG5cclxuICAmW2RhdGEtYmctcG9zPVwidG9wIG1pZGRsZVwiXSB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMDtcclxuICB9XHJcblxyXG4gICZbZGF0YS1iZy1wb3M9XCJ0b3AgcmlnaHRcIl0ge1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAwJTtcclxuICB9XHJcblxyXG4gICZbZGF0YS1iZy1wb3M9XCJjZW50ZXIgbGVmdFwiXSB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwJSA1MCU7XHJcbiAgfVxyXG5cclxuICAmW2RhdGEtYmctcG9zPVwiY2VudGVyXCJdIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XHJcbiAgfVxyXG5cclxuICAmW2RhdGEtYmctcG9zPVwiY2VudGVyIHJpZ2h0XCJdIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlO1xyXG4gIH1cclxuXHJcbiAgJltkYXRhLWJnLXBvcz1cImJvdHRvbSBsZWZ0XCJdIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAlIDEwMCU7XHJcbiAgfVxyXG5cclxuICAmW2RhdGEtYmctcG9zPVwiYm90dG9tIG1pZGRsZVwiXSB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMTAwJTtcclxuICB9XHJcblxyXG4gICZbZGF0YS1iZy1wb3M9XCJib3R0b20gcmlnaHRcIl0ge1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAxMDAlO1xyXG4gIH1cclxufVxyXG5cclxuLy8vIFRyaWdnZXJzIHN0eWxpbmcgYmFzZWQgb24gd2hldGhlciBhIGdpdmVuIGRpYWxvZyBpcyBhY3RpdmUgb3Igbm90LiBDYW4gYmUgdXNlZCBuZXN0ZWQgb3Igc3RhbmRhbG9uZS5cclxuLy8vIEBhdXRob3IgQmVuIFJpY2hhcmRzb25cclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkaWQgLSBUaGUgaWQgb2YgYSBkaWFsb2cuXHJcbi8vLyBAY29udGVudCAtIG9wdGlvbmFsXHJcbkBtaXhpbiBhY3RpdmVEaWFsb2coJGlkKSB7XHJcbiAgQGlmICYge1xyXG4gICAgW2RhdGEtYWN0aXZlLWRpYWxvZz1cIiN7JGlkfVwiXSAmIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBbZGF0YS1hY3RpdmUtZGlhbG9nPVwiI3skaWR9XCJdIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gVHJpZ2dlcnMgc3R5bGluZyBiYXNlZCBvbiB3aGV0aGVyIGEgZ2l2ZW4gem9uZSBpcyBhY3RpdmUgb3Igbm90LiBDYW4gYmUgdXNlZCBuZXN0ZWQgb3Igc3RhbmRhbG9uZS5cclxuLy8vIEBhdXRob3IgQmVuIFJpY2hhcmRzb25cclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkaWQgLSBUaGUgaWQgb2YgYSB6b25lLlxyXG4vLy8gQGNvbnRlbnQgLSBvcHRpb25hbFxyXG5AbWl4aW4gYWN0aXZlWm9uZSgkaWQpIHtcclxuICBAaWYgJiB7XHJcbiAgICBbZGF0YS1hY3RpdmUtem9uZT1cIiN7JGlkfVwiXSAmIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBbZGF0YS1hY3RpdmUtem9uZT1cIiN7JGlkfVwiXSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vIFJldHVybnMgYXNwZWN0LXJhdGlvIHdpdGggc3VwcG9ydCBmb3Igb2xkZXIgYnJvd3NlcnMgdXNpbmcgcGFkZGluZy1ib3R0b20gcGVyY2VudGFnZSB0cmljay5cclxuLy8vIEBhdXRob3IgQmVuIFJpY2hhcmRzb25cclxuLy8vIEBwYXJhbSB7bnVtfSAkaCAtIFRoZSBob3Jpem9udGFsIGFzcGVjdCByYXRpbyBvZiB0aGUgZWxlbWVudC5cclxuLy8vIEBwYXJhbSB7bnVtfSAkdiAtIFRoZSB2ZXJ0aWNhbCBhc3BlY3QgcmF0aW8gb2YgdGhlIGVsZW1lbnQuXHJcbkBtaXhpbiBhc3BlY3RSYXRpbygkaCwgJHYpIHtcclxuICBAc3VwcG9ydHMgKGFzcGVjdC1yYXRpbzogMSAvIDEpIHtcclxuICAgIGFzcGVjdC1yYXRpbzogJGggI3tcIi9cIn0gJHY7XHJcbiAgfVxyXG5cclxuICBAc3VwcG9ydHMgbm90IChhc3BlY3QtcmF0aW86IDEgLyAxKSB7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiBtYXRoLmRpdigkdiwgJGgpICogMTAwJTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vLyBUcmlnZ2VycyBzdHlsaW5nIGJhc2VkIG9uIHdoZXRoZXIgYW55IGRpc2NvdmVyeSB0b29sIGRpYWxvZ3MgYXJlIGFjdGl2ZS4gQ2FuIGJlIHVzZWQgbmVzdGVkIG9yIHN0YW5kYWxvbmUuXHJcbi8vLyBAYXV0aG9yIEJlbiBSaWNoYXJkc29uXHJcbi8vLyBAY29udGVudCAtIG9wdGlvbmFsXHJcbkBtaXhpbiBkaXNjb3ZlcnlUb29sc0FjdGl2ZSgpIHtcclxuICBAaWYgJiB7XHJcbiAgICBbZGF0YS1hY3RpdmUtZGlhbG9nPVwiY2hlY2tsaXN0XCJdICYsXHJcbiAgICBbZGF0YS1hY3RpdmUtZGlhbG9nPVwiZmFxXCJdICYsXHJcbiAgICBbZGF0YS1hY3RpdmUtZGlhbG9nPVwiZ2xvc3NhcnlcIl0gJixcclxuICAgIFtkYXRhLWFjdGl2ZS1kaWFsb2c9XCJhY2hpZXZlbWVudHNcIl0gJixcclxuICAgIFtkYXRhLWFjdGl2ZS1kaWFsb2c9XCJyZXNvdXJjZXNcIl0gJixcclxuICAgIFtkYXRhLWFjdGl2ZS1kaWFsb2c9XCJmYXFDb25maXJtUXVlc3Rpb25NZXNzYWdlXCJdICYsXHJcbiAgICBbZGF0YS1hY3RpdmUtZGlhbG9nPVwiZmFxUXVlc3Rpb25TdWJtaXR0ZWRNZXNzYWdlXCJdICYge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIFtkYXRhLWFjdGl2ZS1kaWFsb2c9XCJjaGVja2xpc3RcIl0sXHJcbiAgICBbZGF0YS1hY3RpdmUtZGlhbG9nPVwiZmFxXCJdLFxyXG4gICAgW2RhdGEtYWN0aXZlLWRpYWxvZz1cImdsb3NzYXJ5XCJdLFxyXG4gICAgW2RhdGEtYWN0aXZlLWRpYWxvZz1cImFjaGlldmVtZW50c1wiXSxcclxuICAgIFtkYXRhLWFjdGl2ZS1kaWFsb2c9XCJyZXNvdXJjZXNcIl0sXHJcbiAgICBbZGF0YS1hY3RpdmUtZGlhbG9nPVwiZmFxQ29uZmlybVF1ZXN0aW9uTWVzc2FnZVwiXSxcclxuICAgIFtkYXRhLWFjdGl2ZS1kaWFsb2c9XCJmYXFRdWVzdGlvblN1Ym1pdHRlZE1lc3NhZ2VcIl0ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBmdW5jdGlvbiB3Y2FnLWNvbnRyYXN0LXJhdGlvKCRjb2xvcjEsICRjb2xvcjIpIHtcclxuICAkbDE6IHdjYWctbHVtaW5hbmNlKCRjb2xvcjEpICsgMC4wNTtcclxuICAkbDI6IHdjYWctbHVtaW5hbmNlKCRjb2xvcjIpICsgMC4wNTtcclxuICAkcmF0aW86IG1hdGguZGl2KCRsMSwgJGwyKTtcclxuXHJcbiAgQGlmICRsMiA+JGwxIHtcclxuICAgICRyYXRpbzogbWF0aC5kaXYoMSwgJHJhdGlvKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHJhdGlvO1xyXG59XHJcblxyXG4vLy8gUmV0dXJucyB0aGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgIGFzIGEgZmxvYXQgKGJldHdlZW4gMCBhbmQgMSlcclxuLy8vIDEgaXMgcHVyZSB3aGl0ZSwgMCBpcyBwdXJlIGJsYWNrXHJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvclxyXG4vLy8gQHJldHVybiB7TnVtYmVyfVxyXG4vLy8gQGxpbmsgaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNyZWxhdGl2ZWx1bWluYW5jZWRlZiBSZWZlcmVuY2VcclxuQGZ1bmN0aW9uIHdjYWctbHVtaW5hbmNlKCRjb2xvcikge1xyXG4gICRyZ2I6IChcclxuICAgIFwiclwiOiBjb2xvci5jaGFubmVsKCRjb2xvciwgXCJyZWRcIiwgJHNwYWNlOiByZ2IpLFxyXG4gICAgXCJnXCI6IGNvbG9yLmNoYW5uZWwoJGNvbG9yLCBcImdyZWVuXCIsICRzcGFjZTogcmdiKSxcclxuICAgIFwiYlwiOiBjb2xvci5jaGFubmVsKCRjb2xvciwgXCJibHVlXCIsICRzcGFjZTogcmdiKVxyXG4gICk7XHJcblxyXG4gIEBlYWNoICRjaGFubmVsLCAkdmFsdWUgaW4gJHJnYiB7XHJcbiAgICAkdmFsdWU6IG1hdGguZGl2KCR2YWx1ZSwgMjU1KTtcclxuXHJcbiAgICBAaWYgJHZhbHVlIDwgMC4wMzkyOCB7XHJcbiAgICAgICR2YWx1ZTogbWF0aC5kaXYoJHZhbHVlLCAxMi45Mik7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgJHZhbHVlOiBtYXRoLmRpdigkdmFsdWUgKyAwLjA1NSwgMS4wNTUpO1xyXG4gICAgICAkdmFsdWU6IG1hdGgucG93KCR2YWx1ZSwgMi40KTtcclxuICAgIH1cclxuXHJcbiAgICAkcmdiOiBtYXAubWVyZ2UoXHJcbiAgICAgICRyZ2IsXHJcbiAgICAgIChcclxuICAgICAgICAkY2hhbm5lbDogJHZhbHVlXHJcbiAgICAgIClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuIChtYXAuZ2V0KCRyZ2IsIFwiclwiKSAqIDAuMjEyNikgKyAobWFwLmdldCgkcmdiLCBcImdcIikgKiAwLjcxNTIpICsgKG1hcC5nZXQoJHJnYiwgXCJiXCIpICogMC4wNzIyKTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIHZhbGlkYXRlLWFuZC13cmFwLWlmLWN1c3RvbS1wcm9wKCRwcm9wKSB7XHJcbiAgQGlmIChzdHJpbmcuaW5kZXgoI3skcHJvcH0sIFwidmFyKFwiKSkge1xyXG4gICAgJHVud3JhcHBlZDogc3RyaW5nLnNsaWNlKCN7JHByb3B9LCAkc3RhcnQtYXQ6IHN0cmluZy5pbmRleCgjeyRwcm9wfSwgXCJ2YXIoXCIpICsgNCwgJGVuZC1hdDogc3RyaW5nLmxlbmd0aCgjeyRwcm9wfSkgLSAxKTtcclxuICAgIEByZXR1cm4gdmFsaWRhdGUtYW5kLXdyYXAtaWYtY3VzdG9tLXByb3AoJHVud3JhcHBlZCk7XHJcbiAgfSBAZWxzZSBpZiAoc3RyaW5nLmluZGV4KFwiI3skcHJvcH1cIiwgXCItLVwiKSkge1xyXG4gICAgQHJldHVybiB2YXIoI3skcHJvcH0pO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQHJldHVybiAkcHJvcDtcclxuICB9XHJcbn1cclxuXHJcbkBmdW5jdGlvbiB1bndyYXAtY3VzdG9tLXByb3AoJHByb3ApIHtcclxuICBAaWYgKHN0cmluZy5pbmRleCgjeyRwcm9wfSwgXCJ2YXIoXCIpKSB7XHJcbiAgICAkdW53cmFwcGVkOiBzdHJpbmcuc2xpY2UoI3skcHJvcH0sICRzdGFydC1hdDogc3RyaW5nLmluZGV4KCN7JHByb3B9LCBcInZhcihcIikgKyA0LCAkZW5kLWF0OiBzdHJpbmcubGVuZ3RoKCN7JHByb3B9KSAtIDEpO1xyXG5cclxuICAgIEBpZiAoc3RyaW5nLmluZGV4KCR1bndyYXBwZWQsIFwidmFyKFwiKSkge1xyXG4gICAgICBAcmV0dXJuIHVud3JhcC1jdXN0b20tcHJvcCgkdW53cmFwcGVkKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBAcmV0dXJuICR1bndyYXBwZWQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAcmV0dXJuICRwcm9wO1xyXG4gIH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIHN0ci1sYXN0LWluZGV4KCRzdHJpbmcsICRzdWJzdHJpbmcpIHtcclxuICAkbGFzdC1pbmRleDogbnVsbDtcclxuICAkbGVuZ3RoOiBzdHJpbmcubGVuZ3RoKCRzdHJpbmcpO1xyXG4gICRzdWItbGVuZ3RoOiBzdHJpbmcubGVuZ3RoKCRzdWJzdHJpbmcpO1xyXG5cclxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICgkbGVuZ3RoIC0gJHN1Yi1sZW5ndGggKyAxKSB7XHJcbiAgICBAaWYgc3RyaW5nLnNsaWNlKCRzdHJpbmcsICRpLCAkaSArICRzdWItbGVuZ3RoIC0gMSkgPT0kc3Vic3RyaW5nIHtcclxuICAgICAgJGxhc3QtaW5kZXg6ICRpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkbGFzdC1pbmRleDtcclxufVxyXG5cclxuQGZ1bmN0aW9uIGdldC11bml0KCR2YWx1ZSkge1xyXG4gIEByZXR1cm4gc3RyaW5nLnNsaWNlKCR2YWx1ZSAqIDAgKyBcIlwiLCAyLCAtMSk7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBzbGljZS1saXN0KCRsaXN0LCAkc3RhcnQsICRlbmQ6IG51bGwpIHtcclxuICAkZW5kOiBpZigkZW5kID09IG51bGwsIGxpc3QubGVuZ3RoKCRsaXN0KSwgJGVuZCk7XHJcbiAgJHJlc3VsdDogKCk7XHJcbiAgQGZvciAkaSBmcm9tICRzdGFydCB0aHJvdWdoICRlbmQge1xyXG4gICAgJHJlc3VsdDogbGlzdC5hcHBlbmQoJHJlc3VsdCwgbGlzdC5udGgoJGxpc3QsICRpKSk7XHJcbiAgfVxyXG4gIEByZXR1cm4gJHJlc3VsdDtcclxufVxyXG5cclxuLyoqIERFRkFVTFQgT1ZFUlJJREVTICoqL1xyXG5cclxuLy8vIFJlbW92ZSBhbGwgZGVmYXVsdCBzdHlsZXMgZnJvbSBidXR0b25zXHJcbi8vLyBAYXV0aG9yIEtvdXJ0bmV5IFN0cmlja2xhbmRcclxuQG1peGluIHJlc2V0QnV0dG9uKCkge1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlcjogMHB4O1xyXG4gIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgb3V0bGluZTogMHB4O1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHRleHQtYWxpZ246IHVuc2V0O1xyXG4gIGFsaWduLWl0ZW1zOiB1bnNldDtcclxuICBwYWRkaW5nOiAwcHg7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGNvbG9yOiB1bnNldDtcclxufVxyXG5cclxuLy8vIEFwcGx5IHN0eWxpbmcgdG8gYSBwYXJlbnQgYmFzZWQgb24gbnVtYmVyIG9mIGNoaWxkcmVuLlxyXG4vLy8gQGF1dGhvciBCZW4gUmljaGFyZHNvblxyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRudW0gLSBUaGUgbnVtYmVyIG9mIGNoaWxkcmVuIHRvIGNoZWNrLlxyXG4vLy8gQHBhcmFtIHtib29sZWFufSAkb3JNb3JlIFtmYWxzZV0gLSBBcHBsaWVzIGlmIGVsZW1lbnQgaGFzIGFib3ZlIHRoZSBnaXZlbiBudW1iZXIgb2YgY2hpbGRyZW4uXHJcbi8vLyBAcGFyYW0ge2Jvb2xlYW59ICRvckxlc3MgW2ZhbHNlXSAtIEFwcGxpZXMgaWYgZWxlbWVudCBoYXMgYmVsb3cgdGhlIGdpdmVuIG51bWJlciBvZiBjaGlsZHJlbi5cclxuLy8vIEBsaW5rIGh0dHBzOi8vY3NzLXRpcC5jb20vbnVtYmVyLWVsZW1lbnRzLWhhcy1zZWxlY3Rvci9cclxuQG1peGluIGhhc051bWJlck9mQ2hpbGRyZW4oJG51bSwgJG9yTW9yZTogZmFsc2UsICRvckxlc3M6IGZhbHNlKSB7XHJcbiAgQGlmICgkb3JNb3JlID09dHJ1ZSBhbmQgJG9yTGVzcyA9PXRydWUpIHtcclxuICAgIEBlcnJvciBcIkFib3ZlIGFuZCBiZWxvdyBjYW5ub3QgYm90aCBiZSB0cnVlLlwiO1xyXG4gIH1cclxuXHJcbiAgQGlmICgkbnVtID09MCkge1xyXG4gICAgJjpub3QoOmhhcygqKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIEBpZiAoJG9yTW9yZSA9PXRydWUpIHtcclxuICAgICAgJjpoYXMoPiA6bnRoLWNoaWxkKCN7JG51bX0pKSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2UgaWYgKCRvckxlc3MgPT10cnVlKSB7XHJcbiAgICAgICY6aGFzKD4gOmxhc3QtY2hpbGQ6bnRoLWNoaWxkKC1uICsgI3skbnVtfSkpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICY6aGFzKD4gOmxhc3QtY2hpbGQ6bnRoLWNoaWxkKCN7JG51bX0pKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vIFRyaWdnZXIgc3R5bGluZyBiYXNlZCBvbiB3aGV0aGVyIGFueSBkaWFsb2cgaXMgb3Blbi5cclxuLy8vIEBhdXRob3IgQmVuIFJpY2hhcmRzb25cclxuQG1peGluIGlzQW55RGlhbG9nT3BlbigpIHtcclxuICBAaWYgJiB7XHJcbiAgICBodG1sW2RhdGEtZGlhbG9nLWhpZGUtb3ZlcmZsb3c9XCJ0cnVlXCJdICYge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIGh0bWxbZGF0YS1kaWFsb2ctaGlkZS1vdmVyZmxvdz1cInRydWVcIl0ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiQHVzZSBcInNhc3M6bWF0aFwiO1xyXG5AdXNlIFwic2hhcmVkLXZhcmlhYmxlc1wiIGFzICo7XHJcbkB1c2UgXCJtZXRhLW1peGluc1wiIGFzICo7XHJcblxyXG5AbGF5ZXIgYmFzZSB7XHJcbiAgLmZpZWxkV3JhcHBlcixcclxuICAudW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlcixcclxuICAudW1icmFjby1mb3Jtcy1maWVsZC5kYXRlLFxyXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1heC13aWR0aDogNTAwcHg7XHJcblxyXG4gICAgbGFiZWw6bm90KC5jaGVja2JveExhYmVsKSB7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG4gICAgfVxyXG5cclxuICAgIGlucHV0Om5vdChbdHlwZT1cImNoZWNrYm94XCJdKTpub3QoW3R5cGU9XCJyYWRpb1wiXSkge1xyXG4gICAgICBhcHBlYXJhbmNlOiBub25lO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICBtaW4td2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgaW5wdXQ6Oi1tcy1yZXZlYWwsXHJcbiAgICBpbnB1dDo6LW1zLWNsZWFyIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAuZGVzY3JpcHRpb24ge1xyXG4gICAgICBtYXJnaW4tdG9wOiA2cHg7XHJcbiAgICAgIGZvbnQtc2l6ZTogMC44NGVtO1xyXG4gICAgICBjb2xvcjogdmFyLXJnYmEoLS1iYXNpYywgMC44NSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZmllbGRXcmFwcGVyLFxyXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLmxvbmdhbnN3ZXIge1xyXG4gICAgdGV4dGFyZWEge1xyXG4gICAgICBhcHBlYXJhbmNlOiBub25lO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICBtaW4td2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZHJvcGRvd25XcmFwcGVyLFxyXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLmRyb3Bkb3duIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1heC13aWR0aDogNTAwcHg7XHJcblxyXG4gICAgc2VsZWN0IHtcclxuICAgICAgYXBwZWFyYW5jZTogbm9uZTtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG4gICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgbWluLXdpZHRoOiAxMDAlO1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIGZpbGw9J2JsYWNrJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIHdpZHRoPScyNCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJz48cGF0aCBkPSdNNyAxMGw1IDUgNS01eicvPjxwYXRoIGQ9J00wIDBoMjR2MjRIMHonIGZpbGw9J25vbmUnLz48L3N2Zz5cIik7XHJcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlO1xyXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDI1cHggNTBweDtcclxuXHJcbiAgICAgICY6Oi1tcy1leHBhbmQge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jb250cm9sV3JhcHBlcixcclxuICAuYWRnLXVtYnJhY28tZm9ybXMtY29udHJvbHdyYXBwZXIge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHZhcigtLWxpZ2h0LWdyZXkpO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG5cclxuICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICBib3JkZXItYm90dG9tOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb250cm9sIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICBsYWJlbCB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS4yZW07XHJcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICAuZGVzY3JpcHRpb24ge1xyXG4gICAgICBtYXJnaW4tdG9wOiA2cHg7XHJcbiAgICAgIGZvbnQtc2l6ZTogMC44NGVtO1xyXG4gICAgICBsaW5lLWhlaWdodDogMS4zZW07XHJcbiAgICAgIGNvbG9yOiB2YXItcmdiYSgtLWJhc2ljLCAwLjg1KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vVGhlc2Ugc3R5bGUgaXMganVzdCB1c2VkIGZvciB0aGUgSG9uZXlwb3QgZmVhdHVyZS4gVGhlc2Ugc3R5bGVzIGtlZXAgdGhlIGZpZWxkIGZyb20gYmVpbmcgc2VlbiBieSBodW1hbnMgYW5kIHRoZXkgc2hvdWxkIG5vdCBiZSBjaGFuZ2VkIG9yIHJlbW92ZWQuXHJcbiAgLmZpZWxkV3JhcHBlci5lbnJvbGxlZU5hbWUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIEBpbmNsdWRlIGFic29sdXRlO1xyXG4gICAgd2lkdGg6IDA7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgICB6LWluZGV4OiAtMTtcclxuICB9XHJcblxyXG4gIC5zdHlsZWRGaWVsZHNldCxcclxuICAudW1icmFjby1mb3Jtcy1maWVsZHNldCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1saWdodC1ncmV5KTtcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXItcmdiYSgtLWxpZ2h0LWdyZXksIDAuNCk7XHJcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xyXG4gICAgbWluLXdpZHRoOiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgbGVnZW5kLFxyXG4gICAgLmdyb3VwTGVnZW5kIHtcclxuICAgICAgcGFkZGluZzogNHB4IDhweDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcclxuICAgICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoLS1iYXNpYyk7XHJcbiAgICB9XHJcblxyXG4gICAgLmdyb3VwTGVnZW5kIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIG1hcmdpbjogMCBhdXRvIDEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmZpZWxkc2V0R3JpZCB7XHJcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcclxuICAgICAgZ2FwOiAxMnB4O1xyXG5cclxuICAgICAgLmZpZWxkV3JhcHBlcixcclxuICAgICAgLmNvbnRyb2xXcmFwcGVyIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5maWVsZFdyYXBwZXIsXHJcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIsXHJcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSxcclxuICAudW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCB7XHJcbiAgICBtYXJnaW46IDEwcHggYXV0bztcclxuXHJcbiAgICBsYWJlbDpub3QoLmNoZWNrYm94TGFiZWwpIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDhweDtcclxuICAgICAgbGVmdDogOHB4O1xyXG4gICAgICB6LWluZGV4OiAyO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgbWFyZ2luOiAwIDAgNXB4O1xyXG4gICAgICBib3JkZXI6IDA7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgIGZvbnQtc2l6ZTogMC44ZW07XHJcbiAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1wcmltYXJ5LWZvbnQpO1xyXG4gICAgICBjb2xvcjogdmFyKC0tYmFzaWMpO1xyXG4gICAgfVxyXG5cclxuICAgIGlucHV0Om5vdChbdHlwZT1cImNoZWNrYm94XCJdKTpub3QoW3R5cGU9XCJyYWRpb1wiXSk6bm90KC5pdGlfX3NlYXJjaC1pbnB1dCksXHJcbiAgICB0ZXh0YXJlYSB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBtaW4taGVpZ2h0OiA0OHB4O1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWdyZXkpO1xyXG4gICAgICBwYWRkaW5nOiAyM3B4IDhweCA2cHg7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0KTtcclxuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIH1cclxuXHJcbiAgICAuc2hvd0hpZGUge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgIGhlaWdodDogNTNweDtcclxuICAgICAgd2lkdGg6IDQwcHg7XHJcbiAgICAgIEBpbmNsdWRlIGZsZXhDZW50ZXI7XHJcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcclxuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcclxuICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KC0tYnJhbmQtZGFyayk7XHJcblxyXG4gICAgICBAaW5jbHVkZSBob3ZlckFuZEZvY3VzIHtcclxuICAgICAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgtLWJyYW5kLWJyaWdodCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICZbYXJpYS1jaGVja2VkPVwidHJ1ZVwiXSB7XHJcbiAgICAgICAgLmljb246YWZ0ZXIge1xyXG4gICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgIHdpZHRoOiAzcHg7XHJcbiAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKC00NWRlZyk7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5pY29uIHtcclxuICAgICAgICBmb250LXNpemU6IDEuMmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAjUGFzc3dvcmQ6Zm9jdXMgKyAjcmVxdWlyZW1lbnRzIHtcclxuICAgICAgbWF4LWhlaWdodDogMTAwMHB4O1xyXG4gICAgfVxyXG4gICAgI3JlcXVpcmVtZW50cyB7XHJcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgIHBhZGRpbmc6IDEwcHggMCAwIDA7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgbWF4LWhlaWdodDogMDtcclxuICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkc2xvdyBlYXNlLWluLW91dDtcclxuICAgICAgbGkge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBmb250LXNpemU6IDAuOWVtO1xyXG4gICAgICAgICYudmFsaWQge1xyXG4gICAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgtLWNvcnJlY3QpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDAuODhlbTtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDAuMWVtO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoLS13cm9uZyk7XHJcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgICBmb250LXNpemU6IDAuOTVlbTtcclxuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjFlbTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5kcm9wZG93bldyYXBwZXIsXHJcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuZHJvcGRvd24ge1xyXG4gICAgbGFiZWw6bm90KC5jaGVja2JveExhYmVsKSB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiA4cHg7XHJcbiAgICAgIGxlZnQ6IDhweDtcclxuICAgICAgei1pbmRleDogMjtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIG1hcmdpbjogMCAwIDVweDtcclxuICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICBmb250LXNpemU6IDAuOGVtO1xyXG4gICAgICBmb250LWZhbWlseTogdmFyKC0tcHJpbWFyeS1mb250KTtcclxuICAgICAgY29sb3I6IHZhcigtLWJhc2ljKTtcclxuICAgIH1cclxuICAgIHNlbGVjdCB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBtaW4taGVpZ2h0OiA1MnB4O1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWdyZXkpO1xyXG4gICAgICBwYWRkaW5nOiAyNnB4IDQ1cHggOHB4IDhweDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQpO1xyXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQubG9uZ2Fuc3dlciB7XHJcbiAgICB0ZXh0YXJlYSB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBtaW4taGVpZ2h0OiA1NnB4O1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWdyZXkpO1xyXG4gICAgICBwYWRkaW5nOiA2cHggOHB4IDZweDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQpO1xyXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZm9ybSxcclxuICAuZm9ybVdyYXAge1xyXG4gICAgLmVycm9yIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIG1hcmdpbjogNHB4IDA7XHJcbiAgICAgIHBhZGRpbmc6IDJweCA0cHg7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoLS13cm9uZyk7XHJcbiAgICAgICY6ZW1wdHkge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIE1FRElBIFFVRVJJRVMgJiBCUk9XU0VSLVNQRUNJRklDIEFESlVTVE1FTlRTIEJFTE9XIC8vXHJcblxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkeHMpIHtcclxuICAgIC5zdHlsZWRGaWVsZHNldCxcclxuICAgIC51bWJyYWNvLWZvcm1zLWZpZWxkc2V0IHtcclxuICAgICAgcGFkZGluZzogMTBweDtcclxuXHJcbiAgICAgIC5maWVsZHNldEdyaWQge1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICR4eHMpIHtcclxuICAgIC5jb250cm9sV3JhcHBlciB7XHJcbiAgICAgIGxhYmVsIHtcclxuICAgICAgICBmb250LXNpemU6IDFlbTtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkdGlueSkge1xyXG4gICAgLmNvbnRyb2xXcmFwcGVyIHtcclxuICAgICAgbGFiZWwge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMC45ZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5maWVsZFdyYXBwZXIsXHJcbi51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyLFxyXG4udW1icmFjby1mb3Jtcy1maWVsZC5kYXRlLFxyXG4udW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCB7XHJcbiAgLmRlc2NyaXB0aW9uIHtcclxuICAgID4gKjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICA+ICo6bGFzdC1jaGlsZCB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5jb250cm9sV3JhcHBlcixcclxuLmFkZy11bWJyYWNvLWZvcm1zLWNvbnRyb2x3cmFwcGVyIHtcclxuICA+ICo6Zmlyc3QtY2hpbGQge1xyXG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgPiAqOmxhc3QtY2hpbGQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLmRlc2NyaXB0aW9uIHtcclxuICAgID4gKjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICA+ICo6bGFzdC1jaGlsZCB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuLnN0eWxlZEZpZWxkc2V0LFxyXG4udW1icmFjby1mb3Jtcy1maWVsZHNldCB7XHJcbiAgPiA6bGFzdC1jaGlsZCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcbiIsIkB1c2UgXCIuLi9fZ2xvYmFsL3NoYXJlZC1mb3Jtc1wiO1xyXG5AdXNlIFwiLi4vX2dsb2JhbC9zaGFyZWQtdmFyaWFibGVzXCIgYXMgKjtcclxuQHVzZSBcIm1peGluc1wiIGFzICo7XHJcblxyXG4jcmVxdWlyZW1lbnRzIHtcclxuICBsaSB7XHJcbiAgICAmLnZhbGlkIHtcclxuICAgICAgLmljb24ge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIGNvbnRlbnQ6IFwiYVwiO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJAdXNlIFwic2hhcmVkLXZhcmlhYmxlc1wiIGFzICo7XHJcbkB1c2UgXCJzaGFyZWQtbWl4aW5zXCIgYXMgKjtcclxuXHJcbkBsYXllciByZXNldCB7XHJcbiAgLy8gQm94IHNpemluZyBydWxlc1xyXG4gICosXHJcbiAgKjo6YmVmb3JlLFxyXG4gICo6OmFmdGVyIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgfVxyXG5cclxuICBodG1sIHtcclxuICAgIG1pbi1oZWlnaHQ6IDEwMGR2aDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcclxuICB9XHJcblxyXG4gIGJvZHkge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZVNwZWVkO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuXHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB3aWR0aDogMTAwJTsgLy8gQ2hhbmdpbmcgdGhpcyB3aWxsIGJyZWFrIHRoZSB2YWx1ZSBvZiAtLXNjcm9sbGJhci13aWR0aCwgc28gcHJvY2VlZCB3aXRoIGNhdXRpb24uXHJcbiAgICBoZWlnaHQ6IDEwMGR2aDtcclxuICB9XHJcblxyXG4gIC8vIE1ha2UgaW1hZ2VzIGVhc2llciB0byB3b3JrIHdpdGhcclxuICBpbWcge1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgfVxyXG5cclxuICAvLyBOYXR1cmFsIGZsb3cgYW5kIHJoeXRobSBpbiBhcnRpY2xlcyBieSBkZWZhdWx0XHJcbiAgYXJ0aWNsZSA+ICogKyAqIHtcclxuICAgIG1hcmdpbi10b3A6IDFlbTtcclxuICB9XHJcblxyXG4gIC8vIEluaGVyaXQgZm9udHMgZm9yIGlucHV0cyBhbmQgYnV0dG9uc1xyXG4gIGlucHV0LFxyXG4gIGJ1dHRvbixcclxuICB0ZXh0YXJlYSxcclxuICBzZWxlY3Qge1xyXG4gICAgZm9udDogaW5oZXJpdDtcclxuICB9XHJcblxyXG4gIGgxLFxyXG4gIGgyLFxyXG4gIGgzLFxyXG4gIGg0LFxyXG4gIGg1LFxyXG4gIGg2IHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1wcmltYXJ5LWZvbnQpO1xyXG4gIH1cclxuXHJcbiAgcCB7XHJcbiAgICBtYXJnaW46IDAuMzVlbSAwIDAuNzVlbTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjU1ZW07XHJcbiAgfVxyXG5cclxuICBvbCxcclxuICB1bCB7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgbWFyZ2luOiAwLjRlbSAwIDAuNzVlbTtcclxuICAgIG9sLHVse1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBsaSB7XHJcbiAgICBsaW5lLWhlaWdodDogMS41ZW07XHJcbiAgfVxyXG5cclxuICBidXR0b24ge1xyXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICB9XHJcbiAgaWZyYW1lIHtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbkBsYXllciBiYXNlIHtcclxuICBib2R5IHtcclxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1iYXNpYy1mb250KTtcclxuICB9XHJcbiAgYSB7XHJcblxyXG4gICAgY29sb3I6IHZhcigtLWxpbmspO1xyXG4gICAgcGFkZGluZy1pbmxpbmU6IDJweDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAycHg7XHJcbiAgICB0cmFuc2l0aW9uOiAwLjE1cztcclxuICAgIC8vIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHJcbiAgICBAaW5jbHVkZSBob3ZlckFuZEZvY3VzIHtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC50YXJnZXRCbGFua05vdGlmaWVyIHtcclxuICAgICAgQGluY2x1ZGUgc2NyZWVuUmVhZGVyO1xyXG4gICAgfVxyXG4gICAgLmljb24tbWFpbCB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMC45ZW07XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcHgpO1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMC4yNWVtO1xyXG4gICAgfVxyXG5cclxuICAgIC5pY29uLWV4dGVybmFsLWxpbmsge1xyXG4gICAgICBtYXJnaW4tbGVmdDogMC4yNWVtO1xyXG4gICAgICBmb250LXNpemU6IDAuOGVtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgYWN0aXZlWm9uZShcImhvbWVcIikge1xyXG4gICAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjtcclxuICB9XHJcbn1cclxuXHJcblxyXG5cclxuLy8gRm9jdXMgc3R5bGVzXHJcbio6bm90KGE6bm90KFtyb2xlPVwiYnV0dG9uXCJdKSkge1xyXG4gICY6Zm9jdXMtdmlzaWJsZSxcclxuICAmLmZvY3VzLXZpc2libGUge1xyXG4gICAgb3V0bGluZS1jb2xvcjogdmFyKC0tZm9jdXMtb3V0bGluZS1jb2xvcikgIWltcG9ydGFudDtcclxuICAgIG91dGxpbmUtb2Zmc2V0OiB2YXIoLS1mb2N1cy1vdXRsaW5lLW9mZnNldCkgIWltcG9ydGFudDtcclxuICAgIG91dGxpbmUtc3R5bGU6IHZhcigtLWZvY3VzLW91dGxpbmUtc3R5bGUpICFpbXBvcnRhbnQ7XHJcbiAgICBvdXRsaW5lLXdpZHRoOiB2YXIoLS1mb2N1cy1vdXRsaW5lLXdpZHRoKSAhaW1wb3J0YW50O1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDAgdmFyKC0tZm9jdXMtb3V0bGluZS1vZmZzZXQpIHZhcigtLWZvY3VzLXNoYWRvdy1jb2xvcikgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi5zb2NpYWxNZWRpYUxvZ2lucyB7XHJcbiAgYTpmb2N1cy12aXNpYmxlLFxyXG4gIGEuZm9jdXMtdmlzaWJsZSB7XHJcbiAgICBvdXRsaW5lLWNvbG9yOiB2YXIoLS1mb2N1cy1vdXRsaW5lLWNvbG9yKSAhaW1wb3J0YW50O1xyXG4gICAgb3V0bGluZS1vZmZzZXQ6IHZhcigtLWZvY3VzLW91dGxpbmUtb2Zmc2V0KSAhaW1wb3J0YW50O1xyXG4gICAgb3V0bGluZS1zdHlsZTogdmFyKC0tZm9jdXMtb3V0bGluZS1zdHlsZSkgIWltcG9ydGFudDtcclxuICAgIG91dGxpbmUtd2lkdGg6IHZhcigtLWZvY3VzLW91dGxpbmUtd2lkdGgpICFpbXBvcnRhbnQ7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1mb2N1cy1vdXRsaW5lLW9mZnNldCkgdmFyKC0tZm9jdXMtc2hhZG93LWNvbG9yKSAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8gQW5pbWF0aW9uXHJcbmJvZHlbZGF0YS1yZWR1Y2UtYW5pbWF0aW9uPVwidHJ1ZVwiXSB7XHJcbiAgKixcclxuICAqOjpiZWZvcmUsXHJcbiAgKjo6YWZ0ZXIge1xyXG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjAxbXMgIWltcG9ydGFudDtcclxuICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDEgIWltcG9ydGFudDtcclxuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMDFtcyAhaW1wb3J0YW50O1xyXG4gICAgc2Nyb2xsLWJlaGF2aW9yOiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcbi8vIFdlJ3JlIG5vIGxvbmdlciByZWFkaW5nIHRoZSBicm93c2VyIHByZWZlcmVuY2UgYW5kIHJlbHlpbmcgc29sZWx5IG9uIHRoZSB1c2VyJ3Mgc3RvcmVkIHByZWZlcmVuY2UuXHJcbi8vIEtlZXBpbmcgdGhpcyBjb2RlIGNvbW1lbnRlZCBvdXQgZm9yIHBvc3Rlcml0eSBiZWNhdXNlIHRoZSBqYXZhc2NyaXB0IGxvZ2ljIHdhcyB0cmlja3kgYW5kIGluIGNhc2Ugd2UgbmVlZCBpdCBhZ2Fpbi5cclxuLy8gQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcclxuLy8gICBib2R5Om5vdChbZGF0YS1yZWR1Y2UtYW5pbWF0aW9uPVwiZmFsc2VcIl0pIHtcclxuLy8gICAgICosXHJcbi8vICAgICAqOjpiZWZvcmUsXHJcbi8vICAgICAqOjphZnRlciB7XHJcbi8vICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4wMW1zICFpbXBvcnRhbnQ7XHJcbi8vICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDEgIWltcG9ydGFudDtcclxuLy8gICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4wMW1zICFpbXBvcnRhbnQ7XHJcbi8vICAgICAgIHNjcm9sbC1iZWhhdmlvcjogYXV0byAhaW1wb3J0YW50O1xyXG4vLyAgICAgfVxyXG4vLyAgIH1cclxuLy8gfVxyXG5cclxuLy8gU2tpcCBCdXR0b25zXHJcbi5zbGlkZVNraXAsXHJcbi5ob21lU2tpcCxcclxuLm1lbWJlcnNoaXBTa2lwIHtcclxuICBAaW5jbHVkZSBzY3JlZW5SZWFkZXI7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuICBAaW5jbHVkZSBmb2N1cyB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDEwcHg7XHJcbiAgICBsZWZ0OiAxMHB4O1xyXG4gICAgei1pbmRleDogOTk5OTk5OTk5OTk5OTk5O1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgY2xpcC1wYXRoOiBpbml0aWFsO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoLS1icmFuZC1icmlnaHQpO1xyXG4gIH1cclxufVxyXG5cclxuLmhvbWVTa2lwIHtcclxuICBAaW5jbHVkZSBhY3RpdmVab25lKFwiaG9tZVwiKSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcbn1cclxuXHJcbi5zbGlkZVNraXAge1xyXG4gIEBpbmNsdWRlIGFjdGl2ZVpvbmUoXCJzbGlkZXNcIikge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG59XHJcblxyXG4ubWVtYmVyc2hpcFNraXAge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcbiIsIkB1c2UgXCIuLi9fZ2xvYmFsL3NoYXJlZC12YXJpYWJsZXNcIiBhcyAqO1xyXG5AdXNlIFwibWl4aW5zXCIgYXMgKjtcclxuQHVzZSBcIi4uL19nbG9iYWwvc2hhcmVkLWdsb2JhbFwiO1xyXG5cclxuaHRtbCB7XHJcbiAgc2Nyb2xsYmFyLWd1dHRlcjogc3RhYmxlO1xyXG59XHJcblxyXG4vLyBNRURJQSBRVUVSSUVTICYgQlJPV1NFUi1TUEVDSUZJQyBBREpVU1RNRU5UUyBCRUxPVyAvL1xyXG4iLCJAdXNlIFwic2hhcmVkLXZhcmlhYmxlc1wiIGFzICo7XHJcblxyXG53aWxsaXMtem9uZSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbltpbmVydF0ge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuXHJcbndpbGxpcy1kaWFsb2c6bm90KFtkYXRhLW9wZW49XCJ0cnVlXCJdKSB7XHJcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vLyBIaWRlIGh0bWwgc2Nyb2xsYmFyIHdoZW4gdGhlcmUncyBhbiBhY3RpdmUgZGlhbG9nLlxyXG5odG1sW2RhdGEtZGlhbG9nLWhpZGUtb3ZlcmZsb3c9XCJ0cnVlXCJdIHtcclxuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbkBsYXllciBiYXNlIHtcclxuICAuZGlhbG9nQmFja2Ryb3Age1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiAxMDBkdnc7XHJcbiAgICBoZWlnaHQ6IDEwMGR2aDtcclxuICAgIEBzdXBwb3J0cyAoaGVpZ2h0OiAxMDBkdmgpIHtcclxuICAgICAgaGVpZ2h0OiAxMDBkdmg7XHJcbiAgICB9XHJcblxyXG4gICAgLnNsaWRlICYge1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7IC8vQXBwbGllZCB0aGlzIGJlY2F1c2Ugb2YgaXNzdWVzIHJlc3BvbnNpdmxleSB3aXRoIGRpYWxvZ3Mgd2l0aGluIHRoZSBzbGlkZXMgYXQgc21hbGxlciBzY3JlZW4gc2l6ZXMuIElmIGl0IG1lc3NlcyB0aGluZ3MgdXAsIHdlIGNhbiByZW1vdmUuIC0gS1NcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5kaWFsb2dJbm5lciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgfVxyXG5cclxuICBkaXZbcm9sZT1cImRpYWxvZ1wiXSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xyXG4gIH1cclxuXHJcbiAgW2RhdGEtZGlhbG9nLXN0eWxlPVwibW9kYWxcIl0ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG5cclxuICAgIGRpdltyb2xlPVwiZGlhbG9nXCJdIHtcclxuICAgICAgd2lkdGg6IDU4MHB4O1xyXG4gICAgICBtYXJnaW46IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgLmRpYWxvZ0lubmVyIHtcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcclxuICAgIH1cclxuICAgIFxyXG4gIH1cclxuXHJcbiAgW2RhdGEtZGlhbG9nLXN0eWxlPVwibGFyZ2VNb2RhbFwiXSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIG92ZXJmbG93LXk6IGF1dG87XHJcblxyXG4gICAgZGl2W3JvbGU9XCJkaWFsb2dcIl0ge1xyXG4gICAgICB3aWR0aDogODAwcHg7XHJcbiAgICAgIG1heC13aWR0aDogMTAwZHZ3O1xyXG4gICAgICBtYXJnaW46IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgLmRpYWxvZ0lubmVyIHtcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIFtkYXRhLWRpYWxvZy1zdHlsZT1cInNoYWRlXCJdIHtcclxuICAgIG92ZXJmbG93LXk6IGF1dG87XHJcblxyXG4gICAgZGl2W3JvbGU9XCJkaWFsb2dcIl0ge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICAgLmRpYWxvZ0xhYmVsIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDgwMHB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuZGlhbG9nQ29udGVudCB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA4MDBweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmRpYWxvZ0FjdGlvbnMge1xyXG4gICAgICAgIG1heC13aWR0aDogODAwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZGlhbG9nSW5uZXIge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAwIDAgdmFyKC0tcmFkaXVzKSB2YXIoLS1yYWRpdXMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgW2RhdGEtZGlhbG9nLXN0eWxlXj1cInNpZGViYXJcIl0ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xyXG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG5cclxuICAgICZbZGF0YS1kaWFsb2ctc3R5bGU9XCJzaWRlYmFyTGVmdFwiXSB7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgIH1cclxuXHJcbiAgICAmW2RhdGEtZGlhbG9nLXN0eWxlPVwic2lkZWJhclJpZ2h0XCJdIHtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgIH1cclxuXHJcbiAgICBkaXZbcm9sZT1cImRpYWxvZ1wiXSB7XHJcbiAgICAgIHdpZHRoOiA0NDBweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIFtkYXRhLWRpYWxvZy1zdHlsZV49XCJmdWxsXCJdIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgZGl2W3JvbGU9XCJkaWFsb2dcIl0ge1xyXG4gICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcclxuICAgIFtkYXRhLWRpYWxvZy1zdHlsZV49XCJzaWRlYmFyXCJdIHtcclxuICAgICAgZGl2W3JvbGU9XCJkaWFsb2dcIl0ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1pbi13aWR0aDogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIFtkYXRhLWRpYWxvZy1zdHlsZT1cIm1vZGFsXCJdIHtcclxuICAgICAgZGl2W3JvbGU9XCJkaWFsb2dcIl0ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBBbmltYXRpb25zXHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLXNwZWVkPVwiZ2xhY2lhbFwiXSB7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkZ2xhY2lhbDtcclxufVxyXG5cclxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1zcGVlZD1cInZlcnlTbG93XCJdIHtcclxuICBhbmltYXRpb24tZHVyYXRpb246ICR2ZXJ5U2xvdztcclxufVxyXG5cclxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1zcGVlZD1cInNsb3dcIl0ge1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogJHNsb3c7XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tc3BlZWQ9XCJtZWRpdW1cIl0ge1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogJG1lZGl1bTtcclxufVxyXG5cclxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1zcGVlZD1cImZhc3RcIl0ge1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogJGZhc3Q7XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tc3BlZWQ9XCJ2ZXJ5RmFzdFwiXSB7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkdmVyeUZhc3Q7XHJcbn1cclxuXHJcbi5kaWFsb2dCYWNrZHJvcCB7XHJcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcclxuICBhbmltYXRpb24tZHVyYXRpb246ICR2ZXJ5RmFzdDtcclxuXHJcbiAgJi5pbiB7XHJcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluO1xyXG4gIH1cclxuXHJcbiAgJi5vdXQge1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cImZhZGVJblwiXSB7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlT3V0IHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxufVxyXG5cclxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPVwiZmFkZU91dFwiXSB7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZVRvcEluIHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcclxuICB9XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cImZhZGVUb3BJblwiXSB7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVUb3BJbjtcclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlVG9wT3V0IHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICB9XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cImZhZGVUb3BPdXRcIl0ge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlVG9wT3V0O1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVCb3R0b21JbiB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcclxuICB9XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cImZhZGVCb3R0b21JblwiXSB7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVCb3R0b21JbjtcclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlQm90dG9tT3V0IHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xyXG4gIH1cclxufVxyXG5cclxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPVwiZmFkZUJvdHRvbU91dFwiXSB7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVCb3R0b21PdXQ7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZVJpZ2h0SW4ge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9XCJmYWRlUmlnaHRJblwiXSB7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVSaWdodEluO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVSaWdodE91dCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcclxuICB9XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cImZhZGVSaWdodE91dFwiXSB7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVSaWdodE91dDtcclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlTGVmdEluIHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcclxuICB9XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cImZhZGVMZWZ0SW5cIl0ge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlTGVmdEluO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVMZWZ0T3V0IHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICB9XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cImZhZGVMZWZ0T3V0XCJdIHtcclxuICBhbmltYXRpb24tbmFtZTogZmFkZUxlZnRPdXQ7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc2xpZGVUb3BJbiB7XHJcbiAgZnJvbSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEyMCUpO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9XCJzbGlkZVRvcEluXCJdIHtcclxuICBhbmltYXRpb24tbmFtZTogc2xpZGVUb3BJbjtcclxuICBAbWVkaWEgKG1heC13aWR0aDogJHNtKSB7XHJcbiAgICBhbmltYXRpb24tbmFtZTogc2xpZGVCb3R0b21JbjtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc2xpZGVUb3BPdXQge1xyXG4gIGZyb20ge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTIwJSk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxufVxyXG5cclxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPVwic2xpZGVUb3BPdXRcIl0ge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZVRvcE91dDtcclxufVxyXG5cclxuQGtleWZyYW1lcyBzbGlkZUJvdHRvbUluIHtcclxuICBmcm9tIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9XCJzbGlkZUJvdHRvbUluXCJdIHtcclxuICBhbmltYXRpb24tbmFtZTogc2xpZGVCb3R0b21JbjtcclxufVxyXG5cclxuQGtleWZyYW1lcyBzbGlkZUJvdHRvbU91dCB7XHJcbiAgZnJvbSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE1MCUpO1xyXG4gIH1cclxufVxyXG5cclxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPVwic2xpZGVCb3R0b21PdXRcIl0ge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUJvdHRvbU91dDtcclxufVxyXG5cclxuQGtleWZyYW1lcyBzbGlkZVJpZ2h0SW4ge1xyXG4gIGZyb20ge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcclxuICB9XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cInNsaWRlUmlnaHRJblwiXSB7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlUmlnaHRJbjtcclxufVxyXG5cclxuQGtleWZyYW1lcyBzbGlkZVJpZ2h0T3V0IHtcclxuICBmcm9tIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9XCJzbGlkZVJpZ2h0T3V0XCJdIHtcclxuICBhbmltYXRpb24tbmFtZTogc2xpZGVSaWdodE91dDtcclxufVxyXG5cclxuQGtleWZyYW1lcyBzbGlkZUxlZnRJbiB7XHJcbiAgZnJvbSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcclxuICB9XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cInNsaWRlTGVmdEluXCJdIHtcclxuICBhbmltYXRpb24tbmFtZTogc2xpZGVMZWZ0SW47XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc2xpZGVMZWZ0T3V0IHtcclxuICBmcm9tIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xyXG4gIH1cclxufVxyXG5cclxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPVwic2xpZGVMZWZ0T3V0XCJdIHtcclxuICBhbmltYXRpb24tbmFtZTogc2xpZGVMZWZ0T3V0O1xyXG59XHJcbiIsIkB1c2UgXCJtaXhpbnNcIiBhcyAqO1xyXG5AdXNlIFwiLi4vX2dsb2JhbC9zaGFyZWQtdmFyaWFibGVzXCIgYXMgKjtcclxuQHVzZSBcIi4uL19nbG9iYWwvc2hhcmVkLWRpYWxvZ3NcIjtcclxuXHJcbi5kaWFsb2dCYWNrZHJvcCB7XHJcbiAgYmFja2dyb3VuZDogdmFyLXJnYmEoLS1ibGFjaywgMC43KTtcclxuICBzY3JvbGxiYXItY29sb3I6IHZhcigtLWRhcmstZ3JleSkgdmFyKC0tbGlnaHQtZ3JleSk7XHJcbn1cclxuXHJcbi5kaWFsb2dDb250ZW50IHtcclxuICBtYXJnaW46IDEwcHggMDtcclxufVxyXG5cclxuLmRpYWxvZ0FjdGlvbnMuZ2VuZXJhdGVkIHtcclxuICBidXR0b24uY2xvc2VEaWFsb2cge1xyXG4gICAgLmljb246YmVmb3JlIHtcclxuICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWljb24tZm9udCk7XHJcbiAgICAgIGNvbnRlbnQ6IFwiYlwiO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5idXR0b24uY2xvc2VEaWFsb2cge1xyXG4gICAgICBAaW5jbHVkZSBhY3Rpb25CdXR0b24oJHR5cGU6dGV4dCk7XHJcbiAgLmljb246YmVmb3JlIHtcclxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1pY29uLWZvbnQpO1xyXG4gICAgZm9udC1zaXplOiAxLjVlbTtcclxuICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XHJcbiAgICBjb250ZW50OiBcImJcIjtcclxuICB9XHJcbn1cclxuXHJcbi5kaWFsb2dMYWJlbCBoMiB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxufVxyXG5cclxuW2RhdGEtZGlhbG9nLXN0eWxlPVwibW9kYWxcIl0ge1xyXG4gIHBhZGRpbmc6IDIwcHg7XHJcbiAgLnNhZmFyaSAmIHtcclxuICAgIHBhZGRpbmc6IDIwcHggMjBweCAxNTBweDtcclxuICB9XHJcbiAgLmRpYWxvZ0lubmVyIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XHJcbiAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoLS1saWdodCk7XHJcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCA4cHggdmFyKC0tc2Vjb25kYXJ5KSwgMCAwIDAgMTVweCB2YXItcmdiYSgtLWxpZ2h0LDEpO1xyXG4gIH1cclxufVxyXG5cclxuW2RhdGEtZGlhbG9nLXN0eWxlPVwibGFyZ2VNb2RhbFwiXSB7XHJcbiAgLnNhZmFyaSAmIHtcclxuICAgIHBhZGRpbmc6IDIwcHggMjBweCAxNTBweDtcclxuICB9XHJcbiAgLmRpYWxvZ0lubmVyIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XHJcbiAgICBwYWRkaW5nOiAzMHB4O1xyXG4gICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoLS1saWdodCk7XHJcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCA4cHggdmFyKC0tc2Vjb25kYXJ5KSwgMCAwIDAgMTVweCB2YXItcmdiYSgtLWxpZ2h0LDEpO1xyXG4gIH1cclxuXHJcbiAgLmRpYWxvZ0xhYmVsIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYnJhbmQtZGFyayk7XHJcbiAgICBwYWRkaW5nOiA1cHggMTBweCAyMHB4O1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGgyIHtcclxuICAgICAgQGluY2x1ZGUgemVyb01hcmdQYWQ7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xyXG4gICAgICBjb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5bZGF0YS1kaWFsb2ctc3R5bGU9XCJzaGFkZVwiXSB7XHJcbiAgcGFkZGluZy10b3A6IDQwcHg7XHJcbiAgLmRpYWxvZ0lubmVyIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDAgMCB2YXIoLS1yYWRpdXMpIHZhcigtLXJhZGl1cyk7XHJcbiAgICBwYWRkaW5nOiAyNXB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMTc1ZGVnLCB2YXIoLS1icmFuZC1kYXJrKSA0MCUsIHZhci1kYXJrZW4odmFyKC0tYnJhbmQtZGFyayksIDUlKSAxMDAlKTtcclxuICAgIGNvbG9yOiBjYWxjLWNvbnRyYXN0KHZhcigtLWJyYW5kLWRhcmspKTtcclxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1saWdodCksIDAgMCAwIDEwcHggdmFyLXJnYmEoLS1zZWNvbmRhcnksMSk7XHJcbiAgICAuZGlhbG9nTGFiZWwge1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICB9XHJcbiAgICAuZGlhbG9nQWN0aW9ucyB7XHJcbiAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgZ2FwOiA3cHg7XHJcbiAgICB9XHJcbiAgICAuY2xvc2VEaWFsb2cge1xyXG4gICAgICBAaW5jbHVkZSBidXR0b24odmFyKC0tYnJhbmQtYnJpZ2h0KSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5bZGF0YS1kaWFsb2ctc3R5bGVePVwic2lkZWJhclwiXSB7XHJcbiAgLmRpYWxvZ0lubmVyIHtcclxuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XHJcbiAgfVxyXG4gICZbZGF0YS1kaWFsb2ctc3R5bGU9XCJzaWRlYmFyTGVmdFwiXSB7XHJcbiAgICAuZGlhbG9nSW5uZXIge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAwIHZhcigtLXJhZGl1cykgdmFyKC0tcmFkaXVzKSAwO1xyXG4gICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJltkYXRhLWRpYWxvZy1zdHlsZT1cInNpZGViYXJSaWdodFwiXSB7XHJcbiAgICAuZGlhbG9nSW5uZXIge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpIDAgMCB2YXIoLS1yYWRpdXMpO1xyXG4gICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuW2RhdGEtZGlhbG9nLXN0eWxlXj1cImZ1bGxcIl0ge1xyXG4gIC5kaWFsb2dJbm5lciB7XHJcbiAgICBwYWRkaW5nOiAyMHB4O1xyXG4gIH1cclxufVxyXG5cclxuLnNpbXBsZURpYWxvZyB7XHJcbiAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoLS1saWdodCk7XHJcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcclxufVxyXG5cclxuI3JldHVybk1lc3NhZ2Uge1xyXG4gIC5jbG9zZURpYWxvZyB7XHJcbiAgICAuaWNvbiB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBNRURJQSBRVUVSSUVTICYgQlJPV1NFUi1TUEVDSUZJQyBBREpVU1RNRU5UUyBCRUxPVyAvL1xyXG5AbWVkaWEgKG1heC13aWR0aDogJHhzKSB7XHJcbiAgW2RhdGEtZGlhbG9nLXN0eWxlXj1cInNpZGViYXJcIl0ge1xyXG4gICAgJltkYXRhLWRpYWxvZy1zdHlsZT1cInNpZGViYXJMZWZ0XCJdIHtcclxuICAgICAgLmRpYWxvZ0lubmVyIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJltkYXRhLWRpYWxvZy1zdHlsZT1cInNpZGViYXJSaWdodFwiXSB7XHJcbiAgICAgIC5kaWFsb2dJbm5lciB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgW2RhdGEtZGlhbG9nLXN0eWxlPVwibW9kYWxcIl0ge1xyXG4gICAgZGl2W3JvbGU9XCJkaWFsb2dcIl0ge1xyXG4gICAgICAmLnJlcG9ydE5lZWRlZCB7XHJcbiAgICAgICAgLy9VbmlxdWUgc3R5bGluZyBmb3IgdGhlIFJlcG9ydCBhIEJhcnJpZXIgZmVhdHVyZS4gLSBERlRcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJAZm9yd2FyZCBcIi4uL19nbG9iYWwvc2hhcmVkLW1peGluc1wiO1xyXG5AdXNlIFwiLi4vX2dsb2JhbC9zaGFyZWQtbWl4aW5zXCIgYXMgKjtcclxuQHVzZSBcIi4uL19nbG9iYWwvc2hhcmVkLXZhcmlhYmxlc1wiIGFzICo7XHJcbkB1c2UgXCJzYXNzOm1hdGhcIjtcclxuQHVzZSBcInNhc3M6c3RyaW5nXCI7XHJcblxyXG5cclxuQG1peGluIGFjY2VudEFuZ2xlKCRzaXplOiA1MCUsICRjb2xvcjogdmFyKC0tYWNjZW50KSl7XHJcbiAgY29udGVudDogJyc7XHJcbiAgY2xpcC1wYXRoOiBwb2x5Z29uKDEwMCUgMCwgMCUgMTAwJSwgMTAwJSAxMDAlKTtcclxuICBoZWlnaHQ6ICRzaXplO1xyXG4gICBtYXgtaGVpZ2h0OiA4MHB4O1xyXG4gIGFzcGVjdC1yYXRpbzogMSAvIDE7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGJvdHRvbTogMHB4O1xyXG4gIHJpZ2h0OiAwcHg7XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgYmFja2dyb3VuZDogJGNvbG9yO1xyXG59XHJcbkBtaXhpbiBiZ1BvcygpIHtcclxuICAmW2RhdGEtYmctcG9zPVwidG9wIGxlZnRcIl0ge1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCUgMCU7XHJcbiAgfVxyXG4gICZbZGF0YS1iZy1wb3M9XCJ0b3AgbWlkZGxlXCJdIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAwO1xyXG4gIH1cclxuICAmW2RhdGEtYmctcG9zPVwidG9wIHJpZ2h0XCJdIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMCU7XHJcbiAgfVxyXG4gICZbZGF0YS1iZy1wb3M9XCJjZW50ZXIgbGVmdFwiXSB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwJSA1MCU7XHJcbiAgfVxyXG4gICZbZGF0YS1iZy1wb3M9XCJjZW50ZXJcIl0ge1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcclxuICB9XHJcbiAgJltkYXRhLWJnLXBvcz1cImNlbnRlciByaWdodFwiXSB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDUwJTtcclxuICB9XHJcbiAgJltkYXRhLWJnLXBvcz1cImJvdHRvbSBsZWZ0XCJdIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAlIDEwMCU7XHJcbiAgfVxyXG4gICZbZGF0YS1iZy1wb3M9XCJib3R0b20gbWlkZGxlXCJdIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAxMDAlO1xyXG4gIH1cclxuICAmW2RhdGEtYmctcG9zPVwiYm90dG9tIHJpZ2h0XCJdIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMTAwJTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBidXR0b24oJGNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKSwgJGhvdmVyQ29sb3I6IHZhcigtLWhvdmVyKSkge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIHBhZGRpbmc6IDAuOGVtIDEuM2VtO1xyXG4gIGJvcmRlci13aWR0aDogMnB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XHJcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICBib3JkZXItY29sb3I6IHZhci1kYXJrZW4oJGNvbG9yLCAxMCUpO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjFlbTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgZm9udC1mYW1pbHk6IHZhcigtLWJhc2ljLWZvbnQpO1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIG91dGxpbmUtb2Zmc2V0OiAwO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB0cmFuc2l0aW9uOiBhbGwgMC4xcztcclxuICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgkY29sb3IpO1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgLmljb24ge1xyXG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWljb24tZm9udCk7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBob3ZlckFuZEZvY3VzIHtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgkaG92ZXJDb2xvcik7XHJcbiAgICBib3JkZXItY29sb3I6IHZhci1saWdodGVuKCRob3ZlckNvbG9yLCAyMCUpO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIH1cclxuICAmW2Rpc2FibGVkXSxcclxuICAmW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdIHtcclxuICAgIG9wYWNpdHk6IDAuNTtcclxuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gRm9yIGJ1dHRvbnMgdGhhdCBmZWF0dXJlIGJvdGggYW4gaWNvbiBhbmQgdGV4dC4gVXN1YWxseSBzZWVuIGluIGRpYWxvZ3MuXHJcbi8vLyBAcGFyYW0ge251bX0gJHNpemUgLSBUaGUgd2lkdGggYW5kIGhlaWdodCBvZiB0aGUgYnV0dG9uLiBEb2VzIG5vdCBhcHBseSB3aGVuIGJ1dHRvbiBvbmx5IGNvbnRhaW5zIHRleHQuXHJcbi8vLyBAcGFyYW0ge3N0cmluZ30gJHR5cGUgW3Rvb2xUaXBdIC0gUG9zc2libGUgdmFsdWVzOiB0b29sVGlwLCBpY29uLCB0ZXh0LlxyXG5AbWl4aW4gYWN0aW9uQnV0dG9uKCRjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KSwgJGhvdmVyQ29sb3I6IHZhcigtLWhvdmVyKSwgJHNpemU6IDQ1cHgsICR0eXBlOiB0b29sVGlwKSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpZ2h0KTtcclxuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtY2lyY2xlKTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoJGNvbG9yKTtcclxuICB0cmFuc2l0aW9uOiBhbGwgJHZlcnlGYXN0O1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgQGlmICR0eXBlID09IHRvb2xUaXAge1xyXG4gICAgd2lkdGg6ICRzaXplO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XHJcbiAgICAuaWNvbiB7XHJcbiAgICAgIGZvbnQtc2l6ZTogY2FsYygjeyRzaXplfSAqIDAuNCk7XHJcbiAgICB9XHJcbiAgICAudGV4dCB7XHJcbiAgICAgIEBpbmNsdWRlIHRvb2xUaXA7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBob3ZlckFuZEZvY3VzIHtcclxuICAgICAgLnRleHQge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgc2NhbGU6IDE7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9IEBlbHNlIGlmICR0eXBlID09IGljb24ge1xyXG4gICAgd2lkdGg6ICRzaXplO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XHJcbiAgICAuaWNvbiB7XHJcbiAgICAgIGZvbnQtc2l6ZTogY2FsYygjeyRzaXplfSAqIDAuNCk7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB9XHJcbiAgICAudGV4dCB7XHJcbiAgICAgIEBpbmNsdWRlIHNjcmVlblJlYWRlcjtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICR0eXBlID09IHRleHQge1xyXG4gICAgcGFkZGluZzogMC41ZW0gMWVtO1xyXG4gICAgZm9udC1zaXplOiAwLjllbTtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcclxuICAgIC5pY29uIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGhvdmVyQW5kRm9jdXMge1xyXG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93KTtcclxuICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KCRob3ZlckNvbG9yKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBvcGVuQWxsVG9nZ2xlQnV0dG9uKCRpbm5lci1zaXplOiAyMHB4KSB7XHJcbiAgLy8gVGhlc2UgcGFyYW1ldGVyIGNhbGN1bGF0aW9ucyBlbnN1cmUgdGhhdCBjaGFuZ2luZyB0aGUgJGlubmVyLXNpemUgdmFsdWUga2VlcHMgdGhlIHRvZ2dsZSBidXR0b24ncyBzcGFjaW5nIGJldHdlZW4gaXRzIGVsZW1lbnRzIGNvbnNpc3RlbnQuXHJcbiAgJHRvZ2dsZS1oZWlnaHQ6ICRpbm5lci1zaXplICsgNnB4O1xyXG4gICR0b2dnbGUtd2lkdGg6ICRpbm5lci1zaXplICogMi4yNTtcclxuICAkdG9nZ2xlLXJhZGl1czogbWF0aC5kaXYoJHRvZ2dsZS1oZWlnaHQsIDIpOyAvLyBUaGlzIGRpdmlzaW9uIGVuc3VyZXMgdGhlIHBpbGwgc2hhcGUuIFlvdSBjYW4gYWRqdXN0IHRoaXMgdG8geW91ciBwcm9qZWN0J3MgbmVlZHMgYnkgcmVwbGFjaW5nIHdpdGggYSBwaXhlbCB2YWx1ZS5cclxuICAkcGFkZGluZzogKCRpbm5lci1zaXplICogMC42KSAoJGlubmVyLXNpemUgKiAwLjc1KSAoJGlubmVyLXNpemUgKiAwLjYpICgkdG9nZ2xlLXdpZHRoICsgJGlubmVyLXNpemUgKiAwLjUgKyAxMHB4KTtcclxuXHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtYXJnaW46IDIwcHggYXV0byAxNXB4O1xyXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xyXG4gIGZvbnQtc2l6ZTogMWVtO1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZ3JleSk7XHJcbiAgYmFja2dyb3VuZDogdmFyKC0tbGlnaHQpO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICB0cmFuc2l0aW9uOiAkZmFzdDtcclxuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblxyXG4gIC5idG4ge1xyXG4gICAgY29sb3I6IHZhcigtLWJyYW5kLWRhcmspO1xyXG4gIH1cclxuXHJcbiAgLnRvZ2dsZSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIGxlZnQ6ICRpbm5lci1zaXplICogMC41O1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgaGVpZ2h0OiAkdG9nZ2xlLWhlaWdodDtcclxuICAgIHdpZHRoOiAkdG9nZ2xlLXdpZHRoO1xyXG4gICAgYm9yZGVyLXJhZGl1czogJHRvZ2dsZS1yYWRpdXM7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ncmV5KTtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWxpZ2h0KTtcclxuXHJcbiAgICAuaW5uZXIge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgLSAjeyRpbm5lci1zaXplICsgM3B4fSk7XHJcbiAgICAgIGhlaWdodDogJGlubmVyLXNpemU7XHJcbiAgICAgIHdpZHRoOiAkaW5uZXItc2l6ZTtcclxuICAgICAgYm9yZGVyLXJhZGl1czogbWF0aC5kaXYoJGlubmVyLXNpemUsIDIpOyAvL1RoaXMgZGl2aXNpb24gZW5zdXJlcyB0aGUgdG9nZ2xlJ3MgaW5uZXIgaXMgcm91bmQuIFlvdSBjYW4gYWRqdXN0IHRoaXMgdG8geW91ciBwcm9qZWN0J3MgbmVlZHMgYnkgcmVwbGFjaW5nIHdpdGggYSBwaXhlbCB2YWx1ZS5cclxuICAgICAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQtZGFyayk7XHJcbiAgICAgIHRyYW5zaXRpb246IHJpZ2h0ICRmYXN0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJlthcmlhLXByZXNzZWQ9XCJ0cnVlXCJdIHtcclxuICAgIC50b2dnbGUge1xyXG4gICAgICAuaW5uZXIge1xyXG4gICAgICAgIHJpZ2h0OiA0cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGhvdmVyQW5kRm9jdXMge1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcclxuICAgIC50b2dnbGUge1xyXG4gICAgICAuaW5uZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJyYW5kLWJyaWdodCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5idG4ge1xyXG4gICAgICBjb2xvcjogY2FsYy1jb250cmFzdCgtLWJyYW5kLWJyaWdodCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gSGlkZXMgdGV4dCBhbmQgcHJlcHMgZm9yIGhvdmVyLiBCZWNhdXNlIHRoaXMgbWl4aW4gaXMgdXN1YWxseSBiZWluZyB1c2VkIGluIGEgYnV0dG9uLFxyXG4vLy8gdGhlIGhvdmVyIHN0eWxlIG5lZWRzIHRvIGJlIG1hbnVsbHkgc2V0IGluIHdoYXRldmVyIHBhcmVudCB0aGlzIG1peGluIGlzIGJlaW5nIHVzZWQgaW4uXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGVcclxuLy8vICAgYnV0dG9uIHtcclxuLy8vICAgICAudGV4dCB7XHJcbi8vLyAgICAgICBAaW5jbHVkZSB0b29sVGlwKCRkaXI6IHRvcCwgJGNvbG9yOiB2YXIoLS1ibHVlKSwgJG9mZnNldDogMTBweCk7XHJcbi8vLyAgICAgfVxyXG4vLy8gICAgIEBpbmNsdWRlIGhvdmVyV2l0aEZvY3VzIHtcclxuLy8vICAgICAgIC50ZXh0IHtcclxuLy8vICAgICAgICAgLy8gQnkgZGVmYXVsdCB0aGVzZSBhcmUgdGhlIHR3byBwcm9wZXJ0aWVzIHRoYXQgbmVlZCB0byBiZSBvdmVyd3JpdHRlbi5cclxuLy8vICAgICAgICAgb3BhY2l0eTogMTtcclxuLy8vICAgICAgICAgc2NhbGU6IDE7XHJcbi8vLyAgICAgICB9XHJcbi8vLyAgICAgfVxyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQHRvZG8gQWRkIGEgdG9vbFRpcFNob3cgbWl4aW4gdGhhdCBvdmVycmlkZXMgYWxsIHRoZSBwcm9wZXJ0aWVzIGxpc3RlZCBpbiB0b29sVGlwLlxyXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRkaXIgW3RvcCB8IHRvcC1sZWZ0IHwgdG9wLXJpZ2h0XSBbYm90dG9tIHwgYm90dG9tLWxlZnQgfCBib3R0b20tcmlnaHRdIFtsZWZ0IHwgcmlnaHRdXHJcbi8vLyBAcGFyYW0ge2NvbG9yfSAkY29sb3IgW3ZhcigtLWxpZ2h0KV0gLSBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgdGhlIHRvb2wgdGlwLlxyXG4vLy8gQHBhcmFtIHtib29sZWFufSAkYXJyb3cgW3RydWVdIC0gRHJhd3MgYSB0cmlhbmdsZSB0aGF0IHBvaW50cyB0b3dhcmRzIHRoZSBwYXJlbnQuXHJcbi8vLyBAcGFyYW0ge251bWJlcn0gJG9mZnNldCBbNXB4XSAtIFRoZSBhbW91bnQgdGhlIGFycm93IHNob3VsZCBiZSBzaGlmdGVkIGlmIHRpcCBpc24ndCBjZW50ZXJlZC5cclxuLy8vIEBzaW5jZSBGdWd1IDguMFxyXG5AbWl4aW4gdG9vbFRpcCgkZGlyOiBib3R0b20sICRjb2xvcjogdmFyKC0tbGlnaHQpLCAkYXJyb3c6IHRydWUsICRvZmZzZXQ6IDVweCkge1xyXG4gICRkaXN0YW5jZTogLTJweDtcclxuICAkYm9yZGVyV2lkdGg6IDJweDtcclxuICAkYm9yZGVyQ29sb3I6IHZhcigtLWxpZ2h0KTtcclxuICAkYXJyb3dTaXplOiAxMHB4O1xyXG4gICRib3JkZXJBcnJvd1NpemU6ICRhcnJvd1NpemUgKyAoJGJvcmRlcldpZHRoICogMik7XHJcbiAgJGNvbG9yOiB2YWxpZGF0ZS1hbmQtd3JhcC1pZi1jdXN0b20tcHJvcCgkY29sb3IpO1xyXG5cclxuICAkYm94VHJhbnNsYXRpb246IDAgLTUwJTtcclxuICAkYXJyb3dUcmFuc2xhdGlvbjogMCAtNTAlO1xyXG4gICRhbGlnbjogY2VudGVyO1xyXG4gICRzaWRlOiBib3R0b207XHJcbiAgQGlmIHN0cmluZy5pbmRleCgkZGlyLCBcImJvdHRvbVwiKSBvciBzdHJpbmcuaW5kZXgoJGRpciwgXCJ0b3BcIikge1xyXG4gICAgQGlmIHN0cmluZy5pbmRleCgkZGlyLCBcImJvdHRvbVwiKSB7XHJcbiAgICAgICRzaWRlOiBib3R0b207XHJcbiAgICB9IEBlbHNlIGlmIHN0cmluZy5pbmRleCgkZGlyLCBcInRvcFwiKSB7XHJcbiAgICAgICRzaWRlOiB0b3A7XHJcbiAgICB9XHJcbiAgICBAaWYgc3RyaW5nLmluZGV4KCRkaXIsIFwibGVmdFwiKSB7XHJcbiAgICAgICRhbGlnbjogbGVmdDtcclxuICAgIH0gQGVsc2UgaWYgc3RyaW5nLmluZGV4KCRkaXIsIFwicmlnaHRcIikge1xyXG4gICAgICAkYWxpZ246IHJpZ2h0O1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgc3RyaW5nLmluZGV4KCRkaXIsIFwibGVmdFwiKSB7XHJcbiAgICAkc2lkZTogbGVmdDtcclxuICB9IEBlbHNlIGlmIHN0cmluZy5pbmRleCgkZGlyLCBcInJpZ2h0XCIpIHtcclxuICAgICRzaWRlOiByaWdodDtcclxuICB9XHJcblxyXG4gIEBpZiAkc2lkZSA9PSBib3R0b20gb3IgJHNpZGUgPT0gdG9wIHtcclxuICAgICRib3hUcmFuc2xhdGlvbjogLTUwJSAwO1xyXG4gICAgJGFycm93VHJhbnNsYXRpb246IC01MCUgMDtcclxuICB9XHJcblxyXG4gICRvcmlnaW5YOiA1MCU7XHJcbiAgQGlmICRzaWRlID09IGxlZnQge1xyXG4gICAgJG9yaWdpblg6IDEwMCU7XHJcbiAgfVxyXG4gIEBpZiAkc2lkZSA9PSByaWdodCB7XHJcbiAgICAkb3JpZ2luWDogMCU7XHJcbiAgfVxyXG5cclxuICAkb3JpZ2luWTogNTAlO1xyXG4gIEBpZiAkc2lkZSA9PSBib3R0b20ge1xyXG4gICAgJG9yaWdpblk6IDAlO1xyXG4gIH1cclxuICBAaWYgJHNpZGUgPT0gdG9wIHtcclxuICAgICRvcmlnaW5ZOiAxMDAlO1xyXG4gIH1cclxuXHJcbiAgJGJveFN0YXJ0UG9zOiA1MCU7XHJcbiAgJGFycm93UG9zOiA1MCU7XHJcbiAgQGlmICRhbGlnbiAhPSBjZW50ZXIge1xyXG4gICAgJGJveFN0YXJ0UG9zOiAwcHg7XHJcbiAgICAkYm94VHJhbnNsYXRpb246IDAgMDtcclxuICAgICRhcnJvd1RyYW5zbGF0aW9uOiAwIDA7XHJcbiAgfVxyXG5cclxuICBAaWYgJGFsaWduID09IGxlZnQge1xyXG4gICAgJG9yaWdpblg6IGNhbGMoJG9mZnNldCAtIHZhcigtLXJhZGl1cykpO1xyXG4gIH1cclxuICBAaWYgJGFsaWduID09IHJpZ2h0IHtcclxuICAgICRvcmlnaW5YOiBjYWxjKDEwMCUgLSAkb2Zmc2V0IC0gdmFyKC0tcmFkaXVzKSk7XHJcbiAgfVxyXG5cclxuICAvLyBBYnN0cmFjdCBvdXQgdGhlIHN0YXJ0aW5nIGF4aXMgYW5kIHBvc2l0aW9ucyBvZiB0aGUgdG9vbHRpcCBib3ggYW5kIGFycm93IHRvIGtlZXAgdGhpbmdzIHNhbmUuXHJcbiAgJGJveERpc3RhbmNlUHJvcDogXCJcIjtcclxuICAkYm94U3RhcnRQcm9wOiBcIlwiO1xyXG4gICRhcnJvd1Bvc1Byb3A6IFwiXCI7XHJcblxyXG4gIEBpZiAkc2lkZSA9PSBib3R0b20ge1xyXG4gICAgJGJveERpc3RhbmNlUHJvcDogdG9wO1xyXG4gICAgQGlmICRhbGlnbiA9PSByaWdodCB7XHJcbiAgICAgICRib3hTdGFydFByb3A6IHJpZ2h0O1xyXG4gICAgICAkYXJyb3dQb3NQcm9wOiByaWdodDtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAkYm94U3RhcnRQcm9wOiBsZWZ0O1xyXG4gICAgICAkYXJyb3dQb3NQcm9wOiBsZWZ0O1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgJHNpZGUgPT0gdG9wIHtcclxuICAgICRib3hEaXN0YW5jZVByb3A6IGJvdHRvbTtcclxuICAgIEBpZiAkYWxpZ24gPT0gcmlnaHQge1xyXG4gICAgICAkYm94U3RhcnRQcm9wOiByaWdodDtcclxuICAgICAgJGFycm93UG9zUHJvcDogcmlnaHQ7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgJGJveFN0YXJ0UHJvcDogbGVmdDtcclxuICAgICAgJGFycm93UG9zUHJvcDogbGVmdDtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICRzaWRlID09IGxlZnQge1xyXG4gICAgJGJveERpc3RhbmNlUHJvcDogcmlnaHQ7XHJcbiAgICBAaWYgJGFsaWduID09IHJpZ2h0IHtcclxuICAgICAgJGJveFN0YXJ0UHJvcDogYm90dG9tO1xyXG4gICAgICAkYXJyb3dQb3NQcm9wOiBib3R0b207XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgJGJveFN0YXJ0UHJvcDogdG9wO1xyXG4gICAgICAkYXJyb3dQb3NQcm9wOiB0b3A7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAkc2lkZSA9PSByaWdodCB7XHJcbiAgICAkYm94RGlzdGFuY2VQcm9wOiBsZWZ0O1xyXG4gICAgQGlmICRhbGlnbiA9PSByaWdodCB7XHJcbiAgICAgICRib3hTdGFydFByb3A6IGJvdHRvbTtcclxuICAgICAgJGFycm93UG9zUHJvcDogYm90dG9tO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICRib3hTdGFydFByb3A6IHRvcDtcclxuICAgICAgJGFycm93UG9zUHJvcDogdG9wO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgI3skYm94RGlzdGFuY2VQcm9wfTogY2FsYygxMDAlICsgI3skZGlzdGFuY2V9KTtcclxuICAjeyRib3hTdGFydFByb3B9OiAkYm94U3RhcnRQb3M7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHNjYWxlOiAwLjE7XHJcbiAgYm9yZGVyOiAkYm9yZGVyV2lkdGggc29saWQgJGJvcmRlckNvbG9yO1xyXG4gIHBhZGRpbmc6IDJweCA3cHg7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICBvcGFjaXR5OiAwO1xyXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1zZWNvbmRhcnktZm9udCk7XHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7XHJcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXhzKTtcclxuICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgkY29sb3IpO1xyXG4gIHRyYW5zaXRpb246IGFsbCAkbWVkaXVtIHZhcigtLXRpbWluZy1ib3VuY2UpO1xyXG4gIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW5YICRvcmlnaW5ZO1xyXG4gIHRyYW5zbGF0ZTogJGJveFRyYW5zbGF0aW9uO1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cclxuICBAaWYgJGFycm93ID09IHRydWUge1xyXG4gICAgLy8gQm9yZGVyIFRyaWFuZ2xlXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdHJhbnNpdGlvbjogYWxsICRtZWRpdW0gdmFyKC0tdGltaW5nLWJvdW5jZSk7XHJcbiAgICAgIHRyYW5zbGF0ZTogJGFycm93VHJhbnNsYXRpb247XHJcbiAgICAgIHdpZHRoOiAkYXJyb3dTaXplO1xyXG4gICAgICBoZWlnaHQ6ICRhcnJvd1NpemU7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRib3JkZXJDb2xvcjtcclxuICAgICAgQGlmICRhbGlnbiA9PSBcImNlbnRlclwiIHtcclxuICAgICAgICAjeyRhcnJvd1Bvc1Byb3B9OiA1MCU7XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICN7JGFycm93UG9zUHJvcH06IGNhbGMoJG9mZnNldCArIHZhcigtLXJhZGl1cykpO1xyXG4gICAgICB9XHJcbiAgICAgIEBpZiAkc2lkZSA9PSBib3R0b20ge1xyXG4gICAgICAgIGJvdHRvbTogMTAwJTtcclxuICAgICAgICB3aWR0aDogJGJvcmRlckFycm93U2l6ZTtcclxuICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oNTAlIDAlLCAwJSAxMDAlLCAxMDAlIDEwMCUpO1xyXG4gICAgICB9IEBlbHNlIGlmICRzaWRlID09IHRvcCB7XHJcbiAgICAgICAgdG9wOiAxMDAlO1xyXG4gICAgICAgIHdpZHRoOiAkYm9yZGVyQXJyb3dTaXplO1xyXG4gICAgICAgIGNsaXAtcGF0aDogcG9seWdvbig1MCUgMTAwJSwgMCUgMCUsIDEwMCUgMCUpO1xyXG4gICAgICB9IEBlbHNlIGlmICRzaWRlID09IGxlZnQge1xyXG4gICAgICAgIGxlZnQ6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAkYm9yZGVyQXJyb3dTaXplO1xyXG4gICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigxMDAlIDUwJSwgMCUgMTAwJSwgMCUgMCUpO1xyXG4gICAgICB9IEBlbHNlIGlmICRzaWRlID09IHJpZ2h0IHtcclxuICAgICAgICByaWdodDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6ICRib3JkZXJBcnJvd1NpemU7XHJcbiAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDUwJSwgMTAwJSAwJSwgMTAwJSAxMDAlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gQWN0dWFsIFRyaWFuZ2xlXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgJG1lZGl1bSB2YXIoLS10aW1pbmctYm91bmNlKTtcclxuICAgICAgdHJhbnNsYXRlOiAkYXJyb3dUcmFuc2xhdGlvbjtcclxuICAgICAgd2lkdGg6ICRhcnJvd1NpemU7XHJcbiAgICAgIGhlaWdodDogJGFycm93U2l6ZTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xyXG4gICAgICBAaWYgJGFsaWduID09IGNlbnRlciB7XHJcbiAgICAgICAgI3skYXJyb3dQb3NQcm9wfTogNTAlO1xyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICAjeyRhcnJvd1Bvc1Byb3B9OiBjYWxjKCRvZmZzZXQgKyB2YXIoLS1yYWRpdXMpICsgJGJvcmRlcldpZHRoKTtcclxuICAgICAgfVxyXG4gICAgICBAaWYgJHNpZGUgPT0gYm90dG9tIHtcclxuICAgICAgICBib3R0b206IGNhbGMoMTAwJSAtICN7JGJvcmRlcldpZHRofSk7XHJcbiAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDUwJSAwJSwgMCUgMTAwJSwgMTAwJSAxMDAlKTtcclxuICAgICAgfSBAZWxzZSBpZiAkc2lkZSA9PSB0b3Age1xyXG4gICAgICAgIHRvcDogY2FsYygxMDAlIC0gI3skYm9yZGVyV2lkdGh9KTtcclxuICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oNTAlIDEwMCUsIDAlIDAlLCAxMDAlIDAlKTtcclxuICAgICAgfSBAZWxzZSBpZiAkc2lkZSA9PSBsZWZ0IHtcclxuICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgLSAjeyRib3JkZXJXaWR0aH0pO1xyXG4gICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigxMDAlIDUwJSwgMCUgMTAwJSwgMCUgMCUpO1xyXG4gICAgICB9IEBlbHNlIGlmICRzaWRlID09IHJpZ2h0IHtcclxuICAgICAgICByaWdodDogY2FsYygxMDAlIC0gI3skYm9yZGVyV2lkdGh9KTtcclxuICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCUgNTAlLCAxMDAlIDAlLCAxMDAlIDEwMCUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gY2hlY2tib3goJHNpemU6IDFlbSwgJGJvcmRlckNvbG9yOiB2YXIoLS1iYXNpYyksICRzZWxlY3RlZENvbG9yOiB2YXIoLS1icmFuZC1kYXJrKSwgJHNlbGVjdGVkQm9yZGVyOiB2YXIoLS1icmFuZC1kYXJrKSkge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtYXJnaW46IDA7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICBAc3VwcG9ydHMgKGFwcGVhcmFuY2U6IG5vbmUpIHtcclxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICB3aWR0aDogJHNpemU7XHJcbiAgICBoZWlnaHQ6ICRzaXplO1xyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHdpZHRoOiAkc2l6ZTtcclxuICAgICAgaGVpZ2h0OiAkc2l6ZTtcclxuICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICBib3JkZXItd2lkdGg6IDJweDtcclxuICAgICAgYm9yZGVyLWNvbG9yOiB2YXItcmdiYSgkYm9yZGVyQ29sb3IsIDAuNyk7XHJcblxyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgJHZlcnlGYXN0O1xyXG4gICAgfVxyXG5cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgd2lkdGg6ICRzaXplO1xyXG4gICAgICBoZWlnaHQ6ICRzaXplO1xyXG5cclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjYWxjLWNvbnRyYXN0KCRzZWxlY3RlZENvbG9yKTtcclxuICAgICAgbWFzay1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5IElqQWdNQ0F6TVRZdU16Z2dNalV3TGpZaVBqeHdZWFJvSUdROUlrMDNNQzQwSURJeE9TNDRZelF1TlRVZ05DNDQgTnlBNUxqSXlJRGt1TmpjZ01UUXVNVElnTVRRdU1Ua2dNeTQzTlNBekxqUTNJRGN1TnpFZ05pNDROU0F4TVM0NSBNeUE1TGpjMElEVXVOU0F6TGpjNElERXhMamt5SURjdU1EZ2dNVGd1TnpnZ05pNDROU0EyTGpZMkxTNHlNeUF4IE1pNDNOeTB6TGpjeklERTNMamszTFRjdU5qSWdPQzQyTFRZdU5ESWdNVFl1TmpjdE1UVXVNVGNnTWpNdU9EUXQgTWpNdU1UUk1NekExTGpZNElEVTBMalk1WXpjdU1pMDRJREV4TGpjNUxURTRMakkxSURFd0xqUTNMVEk1TGpFMyBMVEV1TURRdE9DNDFPUzAxTGpjeExURTJMalUxTFRFekxqQXhMVEl4TGpJNUxUVXVOalV0TXk0Mk55MHhNaTR5IE5pMDBMams0TFRFNExqa3RNeTQ0TWkwNExqa2dNUzQxTmkweE5pNDFOQ0EzTGpJeUxUSXlMalE0SURFekxqYzQgTFRRNExqTTBJRFV6TGpNeUxUazJMalU1SURFd05pNDNNUzB4TkRRdU9EVWdNVFl3TGpFeGJDMHpMakU1SURNdSBOVE10TmpBdU5DMDJOaTQyTTJNdE9DNDBNaTA1TGpJNUxURTVMamN0TVRNdU9UUXRNekV1T1RJdE9TNDFOeTAwIExqY3lJREV1TmprdE9DNDVPU0EwTGpVNExURXlMalExSURndU1Ua3RNeTQ0TmlBMExqQTBMVFl1TnpnZ09TNHcgTmkwNExqRXpJREUwTGpRNUxUSXVNekVnT1M0eU55NHpJREU0TGpBM0lEWXVOaklnTWpVdU1UTnNOakl1T1RVZyBOekF1TXpWYUlpQnpkSGxzWlQwaVptbHNiQzF5ZFd4bE9tVjJaVzV2WkdRaUx6NDhMM04yWno0S1wiKTtcclxuICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgbWFzay1zaXplOiA2MCU7XHJcbiAgICAgIG1hc2stcG9zaXRpb246IDUwJSA1MCU7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAkdmVyeUZhc3Q7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgJjpjaGVja2VkIHtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJHNlbGVjdGVkQm9yZGVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3RlZENvbG9yO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJltkaXNhYmxlZF0ge1xyXG4gICAgICBvcGFjaXR5OiAwLjM7XHJcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcblxyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyLXJnYmEoLS1iYXNpYywgMC44KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHJhZGlvKCRzaXplOiAxZW0sICRib3JkZXJDb2xvcjogdmFyKC0tYmFzaWMpLCAkc2VsZWN0ZWRDb2xvcjogdmFyKC0tYnJhbmQtZGFyayksICRzZWxlY3RlZEJvcmRlcjogJHNlbGVjdGVkQ29sb3IpIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICBAc3VwcG9ydHMgKGFwcGVhcmFuY2U6IG5vbmUpIHtcclxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICB3aWR0aDogJHNpemU7XHJcbiAgICBoZWlnaHQ6ICRzaXplO1xyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHdpZHRoOiAkc2l6ZTtcclxuICAgICAgaGVpZ2h0OiAkc2l6ZTtcclxuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyLXJnYmEoJGJvcmRlckNvbG9yLCAwLjcpO1xyXG5cclxuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgJHZlcnlGYXN0O1xyXG4gICAgfVxyXG5cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICB6LWluZGV4OiA1O1xyXG5cclxuICAgICAgd2lkdGg6IDA7XHJcbiAgICAgIGhlaWdodDogMDtcclxuXHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgdHJhbnNpdGlvbjogYWxsICR2ZXJ5RmFzdDtcclxuICAgIH1cclxuXHJcbiAgICAmOmNoZWNrZWQge1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkc2VsZWN0ZWRCb3JkZXI7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdGVkQ29sb3I7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY2FsYy1jb250cmFzdCgkc2VsZWN0ZWRDb2xvcik7XHJcbiAgICAgICAgd2lkdGg6ICRzaXplICogMC40NTtcclxuICAgICAgICBoZWlnaHQ6ICRzaXplICogMC40NTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZbZGlzYWJsZWRdIHtcclxuICAgICAgb3BhY2l0eTogMC4zO1xyXG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG5cclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhci1saWdodGVuKHZhcigtLWJhc2ljKSwgNzUlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHN3aXRjaCgkc2l6ZTogMS4yNWVtLCAkY29sb3I6IHZhcigtLWJhc2ljKSwgJHNlbGVjdGVkQ29sb3I6IHZhcigtLWJyYW5kLWRhcmspKSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1hcmdpbjogMDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gIEBzdXBwb3J0cyAoYXBwZWFyYW5jZTogbm9uZSkge1xyXG4gICAgJGtub2JTaXplOiBjYWxjKCN7JHNpemV9IC0gOHB4KTtcclxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICB3aWR0aDogMS4yNWVtICogMjtcclxuICAgIGhlaWdodDogJHNpemU7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQpO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsICRmYXN0O1xyXG5cclxuICAgIC8qIFRoZSB0b2dnbGUga25vYiAqL1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgbGVmdDogMnB4O1xyXG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgIHdpZHRoOiAka25vYlNpemU7XHJcbiAgICAgIGhlaWdodDogJGtub2JTaXplO1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAkZmFzdDtcclxuICAgIH1cclxuXHJcbiAgICAvKiBDaGFuZ2UgY29sb3IgYW5kIHBvc2l0aW9uIHdoZW4gY2hlY2tlZCAqL1xyXG4gICAgJjpjaGVja2VkIHtcclxuICAgICAgYmFja2dyb3VuZDogJHNlbGVjdGVkQ29sb3I7XHJcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRzZWxlY3RlZENvbG9yO1xyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgLSAjeyRrbm9iU2l6ZX0gLSAycHgpO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IGNhbGMtY29udHJhc3QoJHNlbGVjdGVkQ29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyogRHJvcCB0aGUgb3BhY2l0eSBvZiB0aGUgdG9nZ2xlIGtub2Igd2hlbiB0aGUgaW5wdXQgaXMgZGlzYWJsZWQgKi9cclxuICAgICY6ZGlzYWJsZWQge1xyXG4gICAgICBvcGFjaXR5OiAwLjQ7XHJcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gc3VidGxlR3JhZGllbnQoJGNvbG9yLCAkZGVnOiAxMjhkZWcpIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGRlZywgJGNvbG9yIDQwJSwgdmFyLWRhcmtlbigkY29sb3IsIDUlKSAxMDAlKTtcclxufVxyXG5cclxuQG1peGluIHJlc2V0QnV0dG9uKCkge1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlcjogMHB4O1xyXG4gIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgb3V0bGluZTogMHB4O1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHRleHQtYWxpZ246IHVuc2V0O1xyXG4gIGFsaWduLWl0ZW1zOiB1bnNldDtcclxuICBwYWRkaW5nOiAwcHg7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGNvbG9yOiB1bnNldDtcclxufVxyXG5cclxuQG1peGluIGJ1dHRvbkFEQSgkY29sb3I6IHZhcigtLWJyYW5kLWRhcmspLCAkaG92ZXJDb2xvcjogdmFyKC0tYWRhLWhvdmVyKSkge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBwYWRkaW5nOiAwLjZlbSAxLjJlbTtcclxuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1saWdodC1ncmV5KTtcclxuXHJcbiAgbGluZS1oZWlnaHQ6IDEuMWVtO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xyXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1iYXNpYy1mb250KTtcclxuICBvdXRsaW5lLW9mZnNldDogMDtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgdHJhbnNpdGlvbjogYWxsICR2ZXJ5RmFzdDtcclxuICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgkY29sb3IpO1xyXG5cclxuICAmW2Rpc2FibGVkXSxcclxuICAmW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdIHtcclxuICAgIG9wYWNpdHk6IDAuNTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGhvdmVyQW5kRm9jdXMge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgJjpub3QoW2Rpc2FibGVkXSk6bm90KFthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSkge1xyXG4gICAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgkaG92ZXJDb2xvcik7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tbGlnaHQtZ3JleSk7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH1cclxuICB9XHJcbiAgJjpmb2N1cy12aXNpYmxlIHtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgfVxyXG59XHJcbiIsIkB1c2UgXCJzaGFyZWQtdmFyaWFibGVzXCIgYXMgKjtcclxuQHVzZSBcInNoYXJlZC1taXhpbnNcIiBhcyAqO1xyXG5cclxuLy8gS0VZRlJBTUUgQU5JTUFUSU9OUyBGT1IgWk9PTSBTTElERVNIT1cgLy9cclxuQGtleWZyYW1lcyB6b29tSW4ge1xyXG4gIGZyb20ge1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xyXG4gIH1cclxuICB0byB7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XHJcbiAgfVxyXG59XHJcbkBrZXlmcmFtZXMgem9vbU91dCB7XHJcbiAgZnJvbSB7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XHJcbiAgfVxyXG4gIHRvIHtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcclxuICB9XHJcbn1cclxuQGtleWZyYW1lcyBmYWRlSW4ge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbn1cclxuQGtleWZyYW1lcyBmYWRlT3V0IHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59XHJcblxyXG5AbGF5ZXIgYmFzZSB7XHJcbiAgI2JhY2tncm91bmQge1xyXG4gICAgW2RhdGEtc2xpZGVzaG93PVwiem9vbVNsaWRlc2hvd1wiXSB7XHJcbiAgICAgICYucmV0dXJuUGF1c2Uge1xyXG4gICAgICAgIC5iZ0ltZ1dyYXBwZXI6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLmJnSW1nV3JhcHBlciB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDAuODVzO1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcclxuXHJcbiAgICAgICAgJi5jdXJyZW50IHtcclxuICAgICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcclxuICAgICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucHJldiB7XHJcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogZmFkZU91dDtcclxuICAgICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcclxuICAgICAgICAgIC5iZ0ltZy50cmFucyB7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiB6b29tSW47XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcclxuICAgICAgICAgIC5iZ0ltZy50cmFucyB7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuYmdJbWcge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcclxuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDEwcztcclxuICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcclxuXHJcbiAgICAgICAgLy9iYWNrZ3JvdW5kIHBvc3Rpb24gKFgsWSlcclxuICAgICAgICAmW2RhdGEtYmctcG9zPVwiY2VudGVyXCJdIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZbZGF0YS1iZy1wb3M9XCJjZW50ZXIgbGVmdFwiXSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMCUgNTAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmW2RhdGEtYmctcG9zPVwiY2VudGVyIHJpZ2h0XCJdIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDkwJSA1MCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZbZGF0YS1iZy1wb3M9XCJ0b3AgbGVmdFwiXSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMCUgMTAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmW2RhdGEtYmctcG9zPVwidG9wIG1pZGRsZVwiXSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMTAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmW2RhdGEtYmctcG9zPVwidG9wIHJpZ2h0XCJdIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDkwJSAxMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZbZGF0YS1iZy1wb3M9XCJib3R0b20gbGVmdFwiXSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMCUgOTAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmW2RhdGEtYmctcG9zPVwiYm90dG9tIG1pZGRsZVwiXSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJltkYXRhLWJnLXBvcz1cImJvdHRvbSBsZWZ0XCJdIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDkwJSA5MCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvL2VzdGFibGlzaGluZyB0aGUgb3JpZ2luIG9mIHRoZSB6b29tIGFuaW1hdGlvbiB3aGljaFxyXG4gICAgICAgICZbZGF0YS1hbmltYXRpb249XCJjZW50ZXJcIl0ge1xyXG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJltkYXRhLWFuaW1hdGlvbj1cInRvcCByaWdodFwiXSB7XHJcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgcmlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZbZGF0YS1hbmltYXRpb249XCJ0b3AgbGVmdFwiXSB7XHJcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJltkYXRhLWFuaW1hdGlvbj1cImJvdHRvbSByaWdodFwiXSB7XHJcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gcmlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZbZGF0YS1hbmltYXRpb249XCJib3R0b20gbGVmdFwiXSB7XHJcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gbGVmdDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYucGF1c2VkIHtcclxuICAgICAgICAuYmdJbWdXcmFwcGVyLnRyYW5zIHtcclxuICAgICAgICAgIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5iZ0ltZy50cmFucyB7XHJcbiAgICAgICAgICBhbmltYXRpb24tcGxheS1zdGF0ZTogcGF1c2VkO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJnSW1nLFxyXG4gICAgLnNlY3Rpb25CZyB7XHJcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgIEBpbmNsdWRlIGJnUG9zKCk7XHJcbiAgICB9XHJcbiAgICB2aWRlbyB7XHJcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodC1ncmV5KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbiNiYWNrZ3JvdW5kIHtcclxuICBbZGF0YS1pcy1sb2FkaW5nPVwidHJ1ZVwiXSAmIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4jYmFja2dyb3VuZFBsYXlCdG4ge1xyXG4gIEBpbmNsdWRlIGRpc2NvdmVyeVRvb2xzQWN0aXZlIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBhY3RpdmVEaWFsb2coXCJ1dGlsaXR5TWVudVwiKSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgYWN0aXZlWm9uZShcInNsaWRlc1wiKSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuXHJcbiAgW2RhdGEtaXMtbG9hZGluZz1cInRydWVcIl0gJiB7XHJcbiAgICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAuaWNvbi1wbGF5IHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG4gICYucGF1c2Uge1xyXG4gICAgLmljb24tcGxheSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gICAgLmljb24tcGF1c2Uge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJAdXNlIFwiLi4vX2dsb2JhbC9zaGFyZWQtdmFyaWFibGVzXCIgYXMgKjtcclxuQHVzZSBcIi4uL19nbG9iYWwvc2hhcmVkLWJhY2tncm91bmRcIjtcclxuQHVzZSBcIm1peGluc1wiIGFzICo7XHJcblxyXG46cm9vdCB7XHJcbiAgLS1zcTFGdWxsVzogMTkxcHg7XHJcbiAgLS1zcTFXOiA3M3B4O1xyXG4gIC0tc3ExSDogMTczcHg7XHJcbiAgLS1zcTJGdWxsSDogMjU4cHg7XHJcbiAgLS1zcTFMZWZ0OiAxMDJweDtcclxuICAtLXJzcC1yaWdodC1vZmZzZXQ6IDBweDtcclxuXHJcbiAgLmluU2VjdGlvbntcclxuICAgIC0tc3ExRnVsbFc6IDEwNnB4O1xyXG4gICAgLS1zcTFXOiA0MHB4O1xyXG4gICAtLXNxMUg6IDk3cHg7XHJcbiAgLS1zcTJGdWxsSDogMzA1cHg7XHJcbiAgLS1mb290ZXItd2lkdGg6IDE3NXB4O1xyXG4gIC0tZm9vdGVyLWhlaWdodDogODBweDtcclxuICAtLXNxMUxlZnQ6IDgwcHg7XHJcbiAgfVxyXG5cclxuICAuc3RpY2t5e1xyXG4gICAgLS1zcTFGdWxsVzogODBweDtcclxuICAgIC0tc3ExVzogMTVweDtcclxuICAgLS1zcTFIOiAzMHB4O1xyXG4gIC8vIC0tc3EyRnVsbEg6IDE1MHB4O1xyXG4gIH1cclxufVxyXG5cclxuLmJhY2tncm91bmRNYXB7XHJcbiAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvU0ZfTWFwX1RleHR1cmUuanBnJykgbm8tcmVwZWF0O1xyXG4gIHdpZHRoOiAzNCU7XHJcbiAgaGVpZ2h0OjEwMHZoO1xyXG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHJpZ2h0OiAwcHg7XHJcbiAgYm90dG9tOiAwcHg7XHJcbiAgei1pbmRleDogMDtcclxuICB0cmFuc2l0aW9uOiB3aWR0aCAxcyBlYXNlLW91dCwgb3BhY2l0eSAuNXM7XHJcbiAgJjphZnRlcntcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgQGluY2x1ZGUgZmlsbFNwYWNlO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTU5ZGVnLHJnYmEoMjU1LCAyNTUsIDI1NSwgMSkgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjIpIDQxJSk7XHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC42cztcclxuICB9XHJcbiAgLm1lbnVPdXQgJntcclxuICAgIHdpZHRoOiA2NSU7XHJcbiAgICBvcGFjaXR5OiAuODtcclxuICAgICY6YWZ0ZXJ7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbiAgfVxyXG4gICY6YWZ0ZXJ7XHJcbiAgIC8vIG9wYWNpdHk6LjI7XHJcbiAgfVxyXG59XHJcblxyXG4uc3F1YXJlc3tcclxuIC5zcXVhcmV7XHJcbiAgICAvL3BvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAuNnMsIHNjYWxlIC41cyAuM3M7XHJcbiAgfVxyXG4gICYuc3F1YXJlRWxlbWVudHNUb3B7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAyNTtcclxuICAgIC5zcVRvcHtcclxuICAgICAgd2lkdGg6IHZhcigtLXNxMVcpO1xyXG4gICAgfVxyXG4gICAgLnNxQm90dG9te1xyXG4gICAgICBoZWlnaHQ6IHZhcigtLWZvb3Rlci1oZWlnaHQpO1xyXG4gICAgICAmOmFmdGVye1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XHJcbiAgICAgICAgaGVpZ2h0OiA3MHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRhcmspO1xyXG4gICAgICAgIGJvdHRvbTogMTAwJTtcclxuICAgICAgICBsZWZ0OiAxMDAlO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgcmlnaHQ7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogc2NhbGUgLjZzIDEuMjVzO1xyXG4gICAgICAgIHNjYWxlOiAxO1xyXG4gICAgICAgIFtkYXRhLWlzLWxvYWRpbmc9XCJ0cnVlXCJdICYge1xyXG4gICAgICAgICAgICBzY2FsZTowICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDEuMjVzO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgLm1lbnVPdXQgJntcclxuICAgICAgICAgICAgc2NhbGU6IDA7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5pblNlY3Rpb24gJntcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuIFxyXG4gIC5zcVRvcHtcclxuICAgIGhlaWdodDogdmFyKC0tc3ExSCk7XHJcbiAgICB3aWR0aDogdmFyKC0tc3ExRnVsbFcpO1xyXG4gICAgdG9wOiAxMHB4O1xyXG4gICAgbGVmdDogdmFyKC0tc3ExTGVmdCk7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZC1icmlnaHQpO1xyXG4gICAgdHJhbnNpdGlvbi1kZWxheTogLjJzO1xyXG4gICAgLmluU2VjdGlvbiAme1xyXG4gICAgICB0b3A6IDIwcHg7XHJcbiAgICAgIC8vIGxlZnQ6IDgwcHg7XHJcbiAgICB9XHJcbiAgICAuc3RpY2t5ICZ7XHJcbiAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcclxuICAgIH1cclxuXHJcblxyXG4gIH1cclxuICAuc3FCb3R0b217XHJcbiAgICBoZWlnaHQ6IHZhcigtLXNxMkZ1bGxIKTtcclxuICAgIHdpZHRoOiB2YXIoLS1mb290ZXItd2lkdGgpO1xyXG4gICAgYm90dG9tOiA1cHg7XHJcbiAgICBsZWZ0OiAwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xyXG4gICAgIC5pblNlY3Rpb24gJntcclxuICAgICAgYm90dG9tOiAxNXB4O1xyXG4gICAgICBsZWZ0OiAwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG59XHJcblxyXG4ub3JpZW50YXRpb25UaXRsZXtcclxuICBmb250LWZhbWlseTogdmFyKC0tc2Vjb25kYXJ5LWZvbnQpO1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgY29sb3I6IHZhcigtLWxpZ2h0KTtcclxuICBwYWRkaW5nLWxlZnQ6IHZhcigtLWxlZnQtb2Zmc2V0KTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGhlaWdodDogMTAwJTtcclxuICB3aWR0aDogMTAwJTtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBmb250LXdlaWdodDogNTAwO1xyXG4gIGZvbnQtc2l6ZTogMS42ZW07XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNzVzO1xyXG4gIC53b3JkOmxhc3Qtb2YtdHlwZXtcclxuICAgIGxldHRlci1zcGFjaW5nOiAuMDI1ZW07XHJcbiAgfVxyXG4gIC5tZW51T3V0ICZ7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgfVxyXG4gIC5pblNlY3Rpb24gJntcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG4gIFtkYXRhLWlzLWxvYWRpbmc9XCJ0cnVlXCJdICYge1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIHRyYW5zaXRpb24tZGVsYXk6IDFzO1xyXG4gfVxyXG59XHJcblxyXG4gXHJcblxyXG5cclxuXHJcbiNiYWNrZ3JvdW5kIHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgYm90dG9tOiAwcHg7XHJcbiAgbGVmdDogdmFyKC0tbGVmdC1vZmZzZXQpO1xyXG4gIHdpZHRoOiBjYWxjKDEwMGR2dyAtICh2YXIoLS1tYWluLXNpZGViYXIpICsgdmFyKC0tbGVmdC1vZmZzZXQpKSk7XHJcbiAgaGVpZ2h0OiBjYWxjKDEwMGR2aCAtIHZhcigtLXRvcC1vZmZzZXQpKTtcclxuICB0cmFuc2l0aW9uOiBzY2FsZSAxLjVzIC4yNXMsIGJvdHRvbSAxcywgd2lkdGggLjc1cztcclxuICB6LWluZGV4OiAxO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbmJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0KTtcclxudHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIHJpZ2h0O1xyXG5ib3gtc2hhZG93OiAtMXB4IDNweCA5cHggM3B4IHJnYmEoMCwwLDAsMC40OSkgaW5zZXQ7XHJcblxyXG5cclxuXHJcbiBbZGF0YS1pcy1sb2FkaW5nPVwidHJ1ZVwiXSAmIHtcclxuICBzY2FsZTogMDtcclxuIFxyXG4gfVxyXG4gLnV0aWxpdHlNb2RlICYge1xyXG4gICAgIHdpZHRoOiBjYWxjKDEwMGR2dyAtICh2YXIoLS1sZWZ0LW9mZnNldCkgKyB2YXIoLS11dGlsaXR5LXdpZHRoKSArIDMwcHgpKTtcclxuICB9XHJcblxyXG4gLm1lbnVPdXQgJntcclxuICBib3R0b206IC0xMDAlO1xyXG4gfVxyXG4gIFxyXG5cclxuIFxyXG5cclxuICAuY292ZXItc2xpZGVyLFxyXG4gIHZpZGVvLFxyXG4gIC5tYWluQmdJbWcge1xyXG4gICAgei1pbmRleDogMjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGluc2V0OiAwO1xyXG4gICAgJjphZnRlcntcclxuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICBAaW5jbHVkZSBmaWxsU3BhY2U7XHJcbiAgICBib3gtc2hhZG93OiAtMXB4IDNweCA5cHggM3B4IHJnYmEoMCwwLDAsMC40OSkgaW5zZXQ7XHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgfVxyXG4gIH1cclxuICAuc2VjdGlvbkJnSG9sZGVyIHtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBpbnNldDogMDtcclxuICAgIC5tZW51T3V0ICYge1xyXG4gICAgICB6LWluZGV4OiAzO1xyXG4gICAgfVxyXG4gICAgJltkYXRhLXNlY3Rpb24tYmctb25seT1cInRydWVcIl0ge1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XHJcbiAgICAgIC5pblNlY3Rpb24gJiB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmNvdmVyLXNsaWRlciB7XHJcbiAgICAuYmdJbWcge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIC8vICBib3gtc2hhZG93OiAtMXB4IDNweCA5cHggM3B4IHJnYmEoMCwwLDAsMC40OSkgaW5zZXQ7XHJcbiAgfVxyXG4gIC5iZ0ltZ1dyYXBwZXJ7XHJcbiAgLy8gIGJveC1zaGFkb3c6IC0xcHggM3B4IDlweCAzcHggcmdiYSgwLDAsMCwwLjQ5KSBpbnNldDtcclxuICB9XHJcblxyXG4gIC5iZ0ltZyxcclxuICAuc2VjdGlvbkJnIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAvLyBib3gtc2hhZG93OiAtMXB4IDNweCA5cHggM3B4IHJnYmEoMCwwLDAsMC40OSkgaW5zZXQ7XHJcbiAgfVxyXG5cclxuICB2aWRlbyB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgd2lkdGg6MTAwJTtcclxuICAvLyBib3gtc2hhZG93OiAtMXB4IDNweCA5cHggM3B4IHJnYmEoMCwwLDAsMC40OSkgaW5zZXQ7XHJcbiAgfVxyXG5cclxuIFxyXG4gIFxyXG59XHJcblxyXG4jYmFja2dyb3VuZFBsYXlCdG4ge1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gIGNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcclxuXHJcbiAgd2lkdGg6IHZhcigtLWxlZnQtb2Zmc2V0KTtcclxuICBoZWlnaHQ6IDQwcHg7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG50b3A6IDUwJTtcclxudHJhbnNsYXRlOiAwIC01MCU7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIGxlZnQ6IDBweDtcclxuICB6LWluZGV4OiAxNTA7XHJcbiAgZm9udC1zaXplOiAxLjRlbTtcclxuIFxyXG5cclxuICBAaW5jbHVkZSBkaXNjb3ZlcnlUb29sc0FjdGl2ZSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgYWN0aXZlRGlhbG9nKFwidXRpbGl0eU1lbnVcIikge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGFjdGl2ZURpYWxvZyhcInNlYXJjaFwiKSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgYWN0aXZlWm9uZShcInNsaWRlc1wiKSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuXHJcbiAgW2RhdGEtaXMtbG9hZGluZz1cInRydWVcIl0gJiB7XHJcbiAgICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAudGV4dCB7XHJcbiAgICBAaW5jbHVkZSB0b29sVGlwKHJpZ2h0KTtcclxuICAgIGZvbnQtc2l6ZTogMC44ZW07XHJcbiAgfVxyXG5cclxuICAuaWNvbi1wbGF5IHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG4gICYucGF1c2Uge1xyXG4gICAgLmljb24tcGxheSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gICAgLmljb24tcGF1c2Uge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgaG92ZXJBbmRGb2N1cyB7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcmltYXJ5KTtcclxuICAgIGNvbG9yOiB2YXIoLS1saWdodCk7XHJcbiAgICAudGV4dCB7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIHNjYWxlOiAxO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gTUVESUEgUVVFUklFUyAmIEJST1dTRVItU1BFQ0lGSUMgQURKVVNUTUVOVFMgQkVMT1cgLy9cclxuXHJcblxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6ICR4bCl7XHJcbiAgOnJvb3R7XHJcbiAgICAuaW5TZWN0aW9ue1xyXG4gICAgICAtLXNxMUxlZnQ6IDMwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6ICRsZyl7XHJcbiAgOnJvb3R7XHJcbiAgICAtLWZvb3Rlci1oZWlnaHQ6IDk1cHg7XHJcbiAgICAtLWZvb3Rlci13aWR0aDogMjI1cHg7XHJcbiAgfVxyXG4gIC5zcXVhcmVzLnNxdWFyZUVsZW1lbnRzVG9wIC5zcUJvdHRvbTphZnRlcntcclxuICAgIGhlaWdodDogNTBweDtcclxuICB9XHJcbiAgLm9yaWVudGF0aW9uVGl0bGV7XHJcbiAgICBmb250LXNpemU6IDEuNDVlbTtcclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkbWQpe1xyXG4gIDpyb290e1xyXG4gICAgLS1zcTFMZWZ0OiA3MHB4O1xyXG4gICAgLS1zcTFGdWxsVzogMTQwcHg7XHJcbiAgICAtLXNxMVc6IDQ1cHg7XHJcbiAgICAtLXNxMUg6IDEzNXB4O1xyXG4gICAgLS1mb290ZXItaGVpZ2h0OiA4MHB4O1xyXG4gICAgLS1mb290ZXItd2lkdGg6IDE3MHB4O1xyXG4gICAgLS1zcTJGdWxsSDogMjE1cHg7XHJcblxyXG4gIH1cclxuXHJcbiAgIC5vcmllbnRhdGlvblRpdGxle1xyXG4gICAgZm9udC1zaXplOiAxLjI1ZW07XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XHJcbiAgfVxyXG4gICAgLnNxdWFyZXMuc3F1YXJlRWxlbWVudHNUb3AgLnNxQm90dG9tOmFmdGVye1xyXG4gICAgaGVpZ2h0OiA0NXB4O1xyXG4gIH1cclxufVxyXG5cclxuLy8gQG1lZGlhIChtYXgtaGVpZ2h0OiAkbGdIKXtcclxuLy8gICA6cm9vdHtcclxuLy8gICAgIC0tc3EyRnVsbEg6IDIzNXB4O1xyXG4vLyAgIH1cclxuLy8gfVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6ICR0d2Vlbil7XHJcbiAgIDpyb290e1xyXG4gICAgLS1zcTFMZWZ0OiA1NXB4O1xyXG4gICAgLS1zcTFGdWxsVzogMTE1cHg7XHJcbiAgICAtLXNxMVc6IDM1cHg7XHJcbiAgICAtLXNxMUg6IDExNXB4O1xyXG4gICAgLS1zcTJGdWxsSDogMjAwcHg7XHJcbiAgICAtLWxlZnQtb2Zmc2V0OiAzNXB4O1xyXG4gICAgLmluU2VjdGlvbntcclxuICAgICAgLS1zcTFGdWxsVzogNDBweDtcclxuICAgICAgQG1lZGlhIChtYXgtaGVpZ2h0OiA2NTBweCl7XHJcbiAgICAgICAgLS1mb290ZXItd2lkdGg6IDBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnNxdWFyZXN7XHJcbiAgICAuc3FUb3B7XHJcbiAgICAgIHRvcDogNXB4O1xyXG4gICAgfVxyXG4gIH0gXHJcbiAgLm9yaWVudGF0aW9uVGl0bGV7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDBweDtcclxuICB9XHJcbiAgLnNxdWFyZXMuc3F1YXJlRWxlbWVudHNUb3AgLnNxQm90dG9tOmFmdGVye1xyXG4gICAgaGVpZ2h0OiA0MHB4O1xyXG4gIH1cclxufVxyXG5cclxuIEBtZWRpYSAobWF4LXdpZHRoOiAkc20pIGFuZCAobWluLWhlaWdodDogJHJzcEggKyAxKXtcclxuICAgIDpyb290e1xyXG4gICAgLS1zcTFMZWZ0OiAwcHg7XHJcbiAgICAtLXNxMUZ1bGxXOiA2NXB4O1xyXG4gICAgXHJcbiAgICAtLXNxMUg6IDExNXB4O1xyXG4gICAgLS1zcTJGdWxsSDogMjAwcHg7XHJcbiAgICAtLWxlZnQtb2Zmc2V0OiAzNXB4O1xyXG4gICAgLS1zcTFXOiB2YXIoLS1sZWZ0LW9mZnNldCk7XHJcbiAgfVxyXG4gICNiYWNrZ3JvdW5ke1xyXG4gICAgei1pbmRleDogMztcclxuICAgIHdpZHRoOiBjYWxjKDEwMGR2dyAtICh2YXIoLS1yc3AtcmlnaHQtb2Zmc2V0KSArIHZhcigtLWxlZnQtb2Zmc2V0KSkpO1xyXG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gKCh2YXIoLS10b3Atb2Zmc2V0KSArIHZhcigtLW5hdkgpKSAtIDIwcHgpKTtcclxuICAgIGJvdHRvbTogYXV0bztcclxuICAgIHRvcDogdmFyKC0tdG9wLW9mZnNldCk7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgcmlnaHQ7XHJcbiAgfVxyXG4gIC5zcXVhcmVFbGVtZW50c0JhY2t7XHJcbiAgICAuc3F1YXJle1xyXG4gICAgICB6LWluZGV4OiAyO1xyXG4gICAgfVxyXG4gIH1cclxuICAgLnNxdWFyZXN7XHJcbiAgXHJcbiAgICAuc3FUb3B7XHJcbiAgICAgIHRvcDogMjVweDtcclxuICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xyXG4gICAgICAgIFtkYXRhLWlzLWxvYWRpbmc9dHJ1ZV0gJntcclxuICAgICAgICBzY2FsZTogMDtcclxuICAgICAgfVxyXG4gICAgICBcclxuICAgIH1cclxuICAgIC5zcUJvdHRvbXtcclxuICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgIC8vIGJvdHRvbTpjYWxjKHZhcigtLW5hdkgpIC0gNTBweCk7XHJcbiAgICBcclxuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGxlZnQ7XHJcbiAgICAgIFtkYXRhLWlzLWxvYWRpbmc9dHJ1ZV0gJntcclxuICAgICAgICBzY2FsZTogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH0gXHJcbiAgLnNxdWFyZXMuc3F1YXJlRWxlbWVudHNUb3AgLnNxQm90dG9tOmFmdGVye1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbiAgLmJhY2tncm91bmRNYXB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgfVxyXG5cclxuICAjYmFja2dyb3VuZFBsYXlCdG57XHJcbiAgICAgdHJhbnNsYXRlOiAwIC00NSU7XHJcbiAgICAgdG9wOiA1NSU7XHJcbiAgfVxyXG5cclxuIFxyXG4gIFxyXG5cclxuIH1cclxuXHJcbiBAbWVkaWEgKG1heC13aWR0aDogJHNtKXtcclxuICAuc3F1YXJlcy5zcXVhcmVFbGVtZW50c1RvcCAuc3FCb3R0b206YWZ0ZXJ7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuIH1cclxuXHJcbiBAbWVkaWEgKG1heC1oZWlnaHQ6IDcyNXB4KXtcclxuICAgI2JhY2tncm91bmRQbGF5QnRue1xyXG4gICAgIHRyYW5zbGF0ZTogdW5zZXQ7XHJcbiAgICAgdG9wOiBjYWxjKHZhcigtLXRvcC1vZmZzZXQpICsgdmFyKC0tc3ExSCkpO1xyXG4gIH1cclxuIH1cclxuXHJcbiBAbWVkaWEgKG1heC1oZWlnaHQ6ICRzbUgpe1xyXG4gI2JhY2tncm91bmR7XHJcbiAgIFxyXG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gKCh2YXIoLS10b3Atb2Zmc2V0KSArICh2YXIoLS1mb290ZXItaGVpZ2h0KSAvIDMpKSAtIDBweCkpO1xyXG4gICAgYm90dG9tOiBhdXRvO1xyXG4gICAgdG9wOiBjYWxjKHZhcigtLXRvcC1vZmZzZXQpIC0gMjVweCk7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgcmlnaHQ7XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgKG1heC13aWR0aDogJHhzKXtcclxuICAgIDpyb290e1xyXG4gICAgICAtLWZvb3Rlci13aWR0aDogMTYwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG4gfVxyXG5cclxuIEBtZWRpYSAobWF4LXdpZHRoOiAkeHhzKXtcclxuICA6cm9vdHtcclxuICAgIC5pblNlY3Rpb24ge1xyXG4gICAgICAtLXNxMUxlZnQ6IDE1cHg7XHJcbiAgICAgLy8gLS1zcTFXOiAyNXB4O1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuIH1cclxuIEBtZWRpYSAobWF4LXdpZHRoOiAkdGlueSl7XHJcbiAgOnJvb3R7XHJcbiAgICAtLXNxMUZ1bGxXOiA0NXB4O1xyXG4gIH1cclxuIH0iLCJAdXNlIFwibWl4aW5zXCIgYXMgKjtcclxuQHVzZSBcIi4uL19nbG9iYWwvc2hhcmVkLXZhcmlhYmxlc1wiIGFzICo7XHJcblxyXG4vLyBCRUdJTiBCQVNFIFNUWUxFUyAtIERPIE5PVCBDSEFOR0UgVEhFU0UgVU5MRVNTIFlPVSBLTk9XIFdIQVQgWU9VJ1JFIERPSU5HIC8vXHJcblxyXG5ib2R5IHtcclxuICBiYWNrZ3JvdW5kOiB2YXIoLS1saWdodCk7XHJcbn1cclxuXHJcbi5idWZmZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB6LWluZGV4OiAxMjA7XHJcbiAgLy8gZmxleC1ncm93OiAxO1xyXG4gIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSA1NXB4KTtcclxufVxyXG4jYmFja2dyb3VuZC5tZW1iZXJzaGlwQmcge1xyXG4gIHZpZGVvIHtcclxuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzNTBweCk7XHJcbiAgfVxyXG59XHJcblxyXG5mb290ZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogNTVweDtcclxuICBwYWRkaW5nOiAwIDE1cHg7XHJcbiAgYmFja2dyb3VuZDogIzAwMDtcclxuICB6LWluZGV4OiA5OTk5O1xyXG5cclxuICAuYWRnTG9nb1dyYXAge1xyXG4gICAgYSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBiYWNrZ3JvdW5kOiBibGFjaztcclxuICAgICAgQGluY2x1ZGUgaG92ZXIge1xyXG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWxpZ2h0KTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iYXNpYyk7XHJcbiAgICAgIH1cclxuICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tbGlnaHQpO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJhc2ljKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5hZGdMb2dvIHtcclxuICAgICAgaGVpZ2h0OiAzOHB4O1xyXG4gICAgICB3aWR0aDogYXV0bztcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5zb2NpYWxNZWRpYSB7XHJcbiAgbWF4LXdpZHRoOiA1MDBweDtcclxuICB3aWR0aDogMTAwJTtcclxuICAuc29jaWFsTWVkaWFUaXRsZSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICB9XHJcblxyXG4gIC5zb2NpYWxNZWRpYUxvZ2lucyB7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xyXG4gICAgZ2FwOiAxMHB4O1xyXG4gICAgLmZhY2Vib29rTG9naW4ge1xyXG4gICAgICBiYWNrZ3JvdW5kOiByZ2IoOCwgMTAyLCAyNTUpICFpbXBvcnRhbnQ7XHJcbiAgICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLmdvb2dsZUxvZ2luIHtcclxuICAgICAgYmFja2dyb3VuZDogI2ViZWJlYyAhaW1wb3J0YW50O1xyXG4gICAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC50d2l0dGVyTG9naW4ge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAjMTQxNzFhICFpbXBvcnRhbnQ7XHJcbiAgICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgLnRleHQge1xyXG4gICAgICAgIEBpbmNsdWRlIHNjcmVlblJlYWRlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmFwcGxlTG9naW4ge1xyXG4gICAgICBiYWNrZ3JvdW5kOiBibGFjayAhaW1wb3J0YW50O1xyXG4gICAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgID4gYSB7XHJcbiAgICAgIEBpbmNsdWRlIGZsZXhDZW50ZXI7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xyXG4gICAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgcGFkZGluZzogMWVtICFpbXBvcnRhbnQ7XHJcbiAgICAgIGJvcmRlcjogMHB4O1xyXG5cclxuICAgICAgLnN2Z0ljb24ge1xyXG4gICAgICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDdweDtcclxuICAgICAgfVxyXG4gICAgICAudGV4dCB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjFlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmFwcGxlTG9naW4ge1xyXG4gICAgICBoZWlnaHQ6IDQ1cHg7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgPiBkaXYge1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vKi5sb2dpbldyYXBwZXJbZGF0YS1oaWRkZW4tZm9yLWd1ZXN0PVwidHJ1ZVwiXSB7XHJcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG59Ki9cclxuXHJcbi5ndWVzdFdyYXBwZXJIb2xkZXIge1xyXG4gIG1heC1oZWlnaHQ6IDA7XHJcbiAgb3BhY2l0eTogMDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHRyYW5zaXRpb246IGFsbCAkc2xvdztcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG59XHJcblxyXG4vL1RoZXNlIHN0eWxlIGlzIGp1c3QgdXNlZCBmb3IgdGhlIEhvbmV5cG90IGZlYXR1cmUuIFRoZXNlIHN0eWxlcyBrZWVwIHRoZSBmaWVsZCBmcm9tIGJlaW5nIHNlZW4gYnkgaHVtYW5zIGFuZCB0aGV5IHNob3VsZCBub3QgYmUgY2hhbmdlZCBvciByZW1vdmVkLlxyXG4uZmllbGRXcmFwcGVyLmVucm9sbGVlTmFtZSB7XHJcbiAgb3BhY2l0eTogMDtcclxuICBAaW5jbHVkZSBhYnNvbHV0ZTtcclxuICB3aWR0aDogMDtcclxuICBoZWlnaHQ6IDA7XHJcbiAgei1pbmRleDogLTE7XHJcbn1cclxuXHJcbi5maWVsZFdyYXBwZXIucGhvbmUge1xyXG4gICNQaG9uZU51bWJlciB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XHJcbiAgfVxyXG5cclxuICAuaXRpIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgY29sb3I6IHZhcigtLWJhc2ljKTtcclxuXHJcbiAgICAuaXRpX19jb3VudHJ5LWNvbnRhaW5lciB7XHJcbiAgICAgIHRvcDogMThweDtcclxuICAgICAgYm90dG9tOiAxcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLml0aV9fc2VsZWN0ZWQtY291bnRyeSB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cykgMCAwIHZhcigtLXJhZGl1cyk7XHJcbiAgICB9XHJcblxyXG4gICAgLml0aV9fZHJvcGRvd24tY29udGVudCB7XHJcbiAgICAgIHotaW5kZXg6IDM7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG46cm9vdCB7XHJcbiAgLS1pdGktcGF0aC1mbGFncy0xeDogdXJsKFwiL0ltYWdlcy9mbGFncy5wbmdcIik7XHJcbiAgLS1pdGktcGF0aC1mbGFncy0yeDogdXJsKFwiL0ltYWdlcy9mbGFnc0AyeC5wbmdcIik7XHJcbiAgLS1pdGktcGF0aC1nbG9iZS0xeDogdXJsKFwiL0ltYWdlcy9nbG9iZS5wbmdcIik7XHJcbiAgLS1pdGktcGF0aC1nbG9iZS0yeDogdXJsKFwiL0ltYWdlcy9nbG9iZUAyeC5wbmdcIik7XHJcbn1cclxuXHJcbi8vIEVORCBCQVNFIFNUWUxFUyAvL1xyXG5cclxuOnJvb3Qge1xyXG4gIC0tbG9naW4tdzogNjAwcHg7XHJcbiAgLS1sb2dpbi1oZWFkZXItaGVpZ2h0OiAxNTVweDtcclxufVxyXG5cclxuLm1lbWJlcnNoaXBCdWZmZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgcGFkZGluZy1yaWdodDogMzBweDtcclxuICBwYWRkaW5nLXRvcDozMHB4O1xyXG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMHB4IDBweCA1cHggcmdiYShibGFjaywgMC4zNSkpO1xyXG59XHJcblxyXG4jYmFja2dyb3VuZCB7XHJcbiBib3R0b206IDBweDtcclxuXHJcbiAgbGVmdDogdmFyKC0tbGVmdC1vZmZzZXQpO1xyXG4gIHdpZHRoOiBjYWxjKDEwMGR2dyAtICh2YXIoLS1tYWluLXNpZGViYXIpICsgdmFyKC0tbGVmdC1vZmZzZXQpKSk7XHJcbiAgaGVpZ2h0OiBjYWxjKDEwMGR2aCAtIHZhcigtLXRvcC1vZmZzZXQpKTtcclxuICBib3gtc2hhZG93OiAtMXB4IDNweCA5cHggM3B4IHJnYmEoMCwwLDAsMC40OSkgaW5zZXQ7XHJcbn1cclxuXHJcbiNiYWNrZ3JvdW5kUGxheUJ0biB7XHJcbiAgdG9wOiBhdXRvO1xyXG4gIGJvdHRvbTogMTBweDtcclxufVxyXG5cclxuLmxvZ2luVGVhc2VyVmlkZW8ge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB0b3A6IDUwJTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgbGVmdDogNTBweDtcclxuICByaWdodDogNjgwcHg7XHJcbiAgei1pbmRleDogOTk7XHJcblxyXG4gIC52aWRlb0hvbGRlciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIHBhZGRpbmc6IDU2LjI1JSAwIDA7XHJcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQtZGFyaykgdXJsKFwiL2ltYWdlcy9sb2FkLXNjcmVlbi5qcGdcIikgbm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuXHJcbiAgICAmW2RhdGEtdmltZW8taW5pdGlhbGl6ZWRdIHtcclxuICAgICAgYmFja2dyb3VuZDogdmFyKC0tYmFzaWMpO1xyXG4gICAgfVxyXG5cclxuICAgIC5wbGF5ZXIsXHJcbiAgICBpZnJhbWUge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgei1pbmRleDogMjtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgYm9yZGVyOiAwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuaGVhZGVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIG1pbi1oZWlnaHQ6IHZhcigtLWxvZ2luLWhlYWRlci1oZWlnaHQpO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1heC13aWR0aDogdmFyKC0tbG9naW4tdyk7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgYm9yZGVyLWJvdHRvbTogMjBweCBzb2xpZCB2YXIoLS1icmFuZC1icmlnaHQpO1xyXG4gIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KHZhcigtLWxpZ2h0KSk7XHJcbiAgcGFkZGluZzogMjVweCAwcHggMjBweDtcclxuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpIHZhcigtLXJhZGl1cykgMCAwO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gIC5icmFuZGluZyB7XHJcbiAgICBAaW5jbHVkZSBmbGV4Q2VudGVyKCRkaXI6IGNvbHVtbik7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBwYWRkaW5nOiAwcHggMTBweDtcclxuICB9XHJcbiAgLmxvZ29XcmFwIHtcclxuICAgIEBpbmNsdWRlIGZsZXhDZW50ZXI7XHJcbiAgICBtYXgtd2lkdGg6IDMxNXB4O1xyXG4gICAgaGVpZ2h0OiA3MHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgLmxvZ28ge1xyXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XHJcbiAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBbZGF0YS1sb2dvLWFzcGVjdD1cInRhbGxcIl0gJiB7XHJcbiAgICAubG9nb1dyYXAge1xyXG4gICAgICBoZWlnaHQ6IDE0MHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLm9yaWVudGF0aW9uVGl0bGUge1xyXG4gICAgZm9udC1zaXplOiAxLjFlbTtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBjb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XHJcbiAgICBwYWRkaW5nLXRvcDogMjVweDtcclxuICAgIHBhZGRpbmctbGVmdDogMHB4O1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbiNtZW1iZXJzaGlwIHtcclxuICAtLWZvY3VzLW91dGxpbmUtY29sb3I6IHZhcigtLWJyYW5kLWRhcmspO1xyXG4gIC0tZm9jdXMtc2hhZG93LWNvbG9yOiB2YXIoLS1saWdodCk7XHJcbiAgbWF4LXdpZHRoOiB2YXIoLS1sb2dpbi13KTtcclxuICB3aWR0aDogMTAwJTtcclxuICBmbGV4LWdyb3c6IDE7XHJcbiAgY29sb3I6IGNhbGMtY29udHJhc3QodmFyKC0tYnJhbmQtZGFyaykpO1xyXG4gIGJhY2tncm91bmQ6IHZhcigtLWJyYW5kLWRhcmspO1xyXG4gIHBhZGRpbmc6IDQwcHggMjVweCA2MHB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDAgMCB2YXIoLS1yYWRpdXMpIHZhcigtLXJhZGl1cyk7XHJcblxyXG4gIC50aXRsZUFyZWEge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuXHJcbiAgICAmLmFjY291bnRQcm9maWxlciB7XHJcbiAgICAgIGgxIHtcclxuICAgICAgICBmb250LXNpemU6IDJlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmVycm9yTWVzc2FnZSxcclxuICAuZmllbGQtdmFsaWRhdGlvbi1lcnJvciB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgtLXdyb25nKTtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBwYWRkaW5nOiA1cHggMTBweDtcclxuICAgIG1hcmdpbjogMnB4IGF1dG8gMTBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXItcmdiYSgtLWxpZ2h0LCAwLjQpO1xyXG4gIH1cclxuXHJcbiAgLmxvZ2luTmF2IHtcclxuICAgIEBpbmNsdWRlIGZsZXhDZW50ZXI7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyLXJnYmEoLS1saWdodCwgMC4zKTtcclxuICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcbiAgICBwYWRkaW5nLXRvcDogMTVweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogMC45ZW07XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGEge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgY29sb3I6IGNhbGMtY29udHJhc3QodmFyKC0tYnJhbmQtZGFyaykpO1xyXG4gICAgICBwYWRkaW5nOiAzcHggNXB4O1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogMHB4O1xyXG4gICAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDVweDtcclxuICAgICAgQGluY2x1ZGUgaG92ZXIge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgfVxyXG4gICAgICAmOmZvY3VzIHtcclxuICAgICAgICBvdXRsaW5lOiAycHggc29saWQgY2FsYy1jb250cmFzdCh2YXIoLS1icmFuZC1kYXJrKSk7XHJcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgID4gKiB7XHJcbiAgICAgIG1hcmdpbjogMCA1cHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZm9ybVdyYXAge1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcclxuICAgICAgQGluY2x1ZGUgY2hlY2tib3goJGJvcmRlckNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKSwgJHNlbGVjdGVkQ29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCkpO1xyXG4gICAgfVxyXG5cclxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB+IGxhYmVsLFxyXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIH4gbGFiZWwge1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuMzVlbTtcclxuICAgIH1cclxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS4xZW07XHJcbiAgICAgIEBpbmNsdWRlIHJhZGlvKCRzZWxlY3RlZEJvcmRlcjogdmFyKC0tYnJhbmQtZGFyayksICRzZWxlY3RlZENvbG9yOiB2YXIoLS1ob3ZlciksICRib3JkZXJDb2xvcjogdmFyKC0tYnJhbmQtZGFyaykpO1xyXG4gICAgfVxyXG5cclxuICAgIC5zdHlsZWRGaWVsZHNldCB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0KTtcclxuICAgICAgY29sb3I6IHZhcigtLWJyYW5kLWRhcmspO1xyXG4gICAgICBsZWdlbmQge1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQtZGFyayk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWxpZ2h0KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmZvcm1XcmFwLmxvZ2luIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIG1heC13aWR0aDogNDUwcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG5cclxuICAgIC5zdGF0dXNNZXNzYWdlIHtcclxuICAgICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QodmFyKC0tYmxhY2spKTtcclxuICAgICAgcGFkZGluZzogNXB4IDEwcHg7XHJcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgbWFyZ2luOiAxMHB4IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgLmhvcnpEaXZpZGVyIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gICAgICAvLyAubGluZSB7XHJcbiAgICAgIC8vICAgaGVpZ2h0OiAycHg7XHJcbiAgICAgIC8vICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAvLyAgIGJhY2tncm91bmQ6IHZhcigtLWxpZ2h0KTtcclxuICAgICAgLy8gICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xyXG4gICAgICAvLyB9XHJcblxyXG4gICAgICAub3Ige1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgbWFyZ2luLWlubGluZTogMTVweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZC1kYXJrKTtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XHJcbiAgICAgICAgdHJhbnNsYXRlOiAwIDIwcHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5sb2dpbldyYXBwZXIge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tYnJhbmQtZGFyay1jb250cmFzdCk7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XHJcbiAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgIC5maWVsZFdyYXBwZXIge1xyXG4gICAgICAgIG1pbi13aWR0aDogMjgwcHg7XHJcbiAgICAgIH1cclxuICAgICAgLmZpZWxkLXZhbGlkYXRpb24tZXJyb3Ige1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgIH1cclxuICAgICAgaDMge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZW1wbG95ZWVMb2dpbiB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBwYWRkaW5nOiAzMHB4IDIwcHg7XHJcbiAgICAgIG1hcmdpbi10b3A6IDI1cHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjg7XHJcbiAgICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KC0tYnJhbmQtYnJpZ2h0KTtcclxuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICBoMyB7XHJcbiAgICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgfVxyXG4gICAgICBhIHtcclxuICAgICAgICBwYWRkaW5nOiA4cHggMTZweDtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KC0tbGlnaHQpO1xyXG4gICAgICAgIEBpbmNsdWRlIGhvdmVyQW5kRm9jdXMge1xyXG4gICAgICAgICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoLS1ob3Zlcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZm9ybVdyYXAubGFuZGluZ1BhZ2Uge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwcHg7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAwcHg7XHJcbiAgICAuYnV0dG9ucyB7XHJcbiAgICAgIC0tZ3JhcGhpYzogNzVweDtcclxuICAgICAgLS1ndWVzdC1ncmFwaGljOiA2MHB4O1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICBnYXA6IDI1cHg7XHJcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICBtYXgtd2lkdGg6IDQ1MHB4O1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgcGFkZGluZzogMHB4IDI1cHggMCAwO1xyXG4gICAgICBhIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWxpZ2h0KTtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMHB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAvL0NyZWF0ZXMgc2FtZSBob3ZlciBlZmZlY3QgYXMgbmF2aWdhdGlvblxyXG4gICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIGluc2V0OiAwO1xyXG4gICAgICAgICAgc2NhbGU6IDAgMC4yNTtcclxuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAlIDUwJTtcclxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1jaXJjbGUpO1xyXG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsICRtZWRpdW0gdmFyKC0tdGltaW5nLXNtb290aC1zbSk7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhhcyguaW1hZ2UpIHtcclxuICAgICAgICAgIC0tZ3JhcGhpYzogOTBweDtcclxuICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGxTcGFjZTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYmFja2dyb3VuZENvdmVyO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIC5pY29uIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnRleHQge1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxLjhlbTtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgIHotaW5kZXg6IDM7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkZmFzdDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmdyYXBoaWNIb2xkZXIge1xyXG4gICAgICAgICAgbWluLXdpZHRoOiB2YXIoLS1ncmFwaGljKTtcclxuICAgICAgICAgIHdpZHRoOiB2YXIoLS1ncmFwaGljKTtcclxuICAgICAgICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XHJcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICB6LWluZGV4OiAzO1xyXG4gICAgICAgICAgLmljb24sXHJcbiAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtY2lyY2xlKTtcclxuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pY29uIHtcclxuICAgICAgICAgIEBpbmNsdWRlIGZsZXhDZW50ZXI7XHJcbiAgICAgICAgICBmb250LXNpemU6IDIuOGVtO1xyXG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgICBAaW5jbHVkZSBmaWxsU3BhY2U7XHJcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgdHJhbnNpdGlvbjpcclxuICAgICAgICAgICAgYWxsICRtZWRpdW0gdmFyKC0tdGltaW5nLXNtb290aC1zbSksXHJcbiAgICAgICAgICAgIGNvbG9yICRmYXN0O1xyXG4gICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0taWNvbi1mb250KTtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcclxuICAgICAgICAgICAgY29udGVudDogXCJrXCI7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgei1pbmRleDogMztcclxuICAgICAgICAgIH1cclxuICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAvL0NyZWF0ZXMgc2FtZSBob3ZlciBlZmZlY3QgYXMgbmF2aWdhdGlvblxyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGluc2V0OiAwO1xyXG4gICAgICAgICAgICBzY2FsZTogMCAwLjI1O1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtY2lyY2xlKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICRtZWRpdW0gdmFyKC0tdGltaW5nLXNtb290aC1zbSk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZW5yb2xsZWVMb2dpbkJ0biB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBjYWxjLWNvbnRyYXN0KHZhcigtLWJyYW5kLWRhcmspKTtcclxuICAgICAgICAgIGNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcclxuICAgICAgICAgIC5ncmFwaGljSG9sZGVyIHtcclxuICAgICAgICAgICAgdHJhbnNsYXRlOiAtMjBweCAwcHg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJyYW5kLWRhcmspO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGNhbGMtY29udHJhc3QodmFyKC0tYnJhbmQtZGFyaykpO1xyXG4gICAgICAgICAgICBjb2xvcjogY2FsYy1jb250cmFzdCh2YXIoLS1icmFuZC1kYXJrKSk7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgIGNvbnRlbnQ6IFwiQ1wiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmd1ZXN0TG9naW5CdG4ge1xyXG4gICAgICAgICAgLS1ncmFwaGljOiB2YXIoLS1ndWVzdC1ncmFwaGljKTtcclxuICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJyYW5kLWRhcmspO1xyXG4gICAgICAgICAgY29sb3I6IGNhbGMtY29udHJhc3QodmFyKC0tYnJhbmQtZGFyaykpO1xyXG4gICAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgLmdyYXBoaWNIb2xkZXIge1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IHZhcigtLWd1ZXN0LWdyYXBoaWMpO1xyXG4gICAgICAgICAgICB3aWR0aDogdmFyKC0tZ3Vlc3QtZ3JhcGhpYyk7XHJcbiAgICAgICAgICAgIHRyYW5zbGF0ZTogLTIwcHggMHB4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgLnRleHQge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuNWVtO1xyXG4gICAgICAgICAgICB0cmFuc2xhdGU6IC0xMHB4IDBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIC5pY29uIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBjYWxjLWNvbnRyYXN0KHZhcigtLWJyYW5kLWRhcmspKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQtZGFyayk7XHJcbiAgICAgICAgICAgIGNvbG9yOiBjYWxjLWNvbnRyYXN0KHZhcigtLWJyYW5kLWRhcmspKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyLjVlbTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGhvdmVyQW5kRm9jdXMge1xyXG4gICAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICBjb2xvcjogY2FsYy1jb250cmFzdCh2YXIoLS1icmFuZC1icmlnaHQpKTtcclxuICAgICAgICAgICAgc2NhbGU6IDEuMTtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgc2NhbGU6IDEgMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgLnRleHQge1xyXG4gICAgICAgICAgICBjb2xvcjogY2FsYy1jb250cmFzdCh2YXIoLS1icmFuZC1icmlnaHQpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xyXG4gICAgICAgICAgICBzY2FsZTogMSAxO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmZvcm1XcmFwLmFjY291bnRQcm9maWxlciB7XHJcbiAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuXHJcbiAgICAucHJvZmlsZVNldHRpbmdzRXhwbGFpbmVyLFxyXG4gICAgLnByb2ZpbGVFcnJvcldyYXAge1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLmVycm9yTWVzc2FnZSB7XHJcbiAgICAgIGxpIHtcclxuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuaW5zdHJ1Y3Rpb24ge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLmFjY29yZGlvbldyYXBwZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICBjb2xvcjogY2FsYy1jb250cmFzdCh2YXIoLS1icmFuZC1kYXJrKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLnN0eWxlZEZpZWxkc2V0IHtcclxuICAgICAgZm9udC1zaXplOiAwLjllbTtcclxuICAgICAgLy9ib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyLXJnYmEoLS1saWdodCwgMC41KSAhaW1wb3J0YW50O1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogMThweDtcclxuXHJcbiAgICAgIC5jb250cm9sV3JhcHBlciB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnN0eWxlZEZpZWxkc2V0LnBob25lIHtcclxuICAgICAgLmZpZWxkV3JhcHBlciB7XHJcbiAgICAgICAgbWFyZ2luOiAxMHB4IDAgMTVweDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuICAgICAgfVxyXG4gICAgICAuY29udHJvbFdyYXBwZXIge1xyXG4gICAgICAgIC5jb250cm9sIHtcclxuICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcCB7XHJcbiAgICAgICYucHJvZmlsZVNlbGVjdEV4cGxhaW5lciB7XHJcbiAgICAgICAgQGluY2x1ZGUgZmxleENlbnRlcjtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZC1icmlnaHQpO1xyXG4gICAgICAgIGNvbG9yOiBjYWxjLWNvbnRyYXN0KHZhcigtLWJyYW5kLWJyaWdodCkpO1xyXG4gICAgICAgIHBhZGRpbmc6IDhweCAxMnB4O1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDE4cHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcclxuXHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgIEBpbmNsdWRlIGNzc0Fycm93KGJvdHRvbSwgJGNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQpLCAkaGVpZ2h0OiA3cHgsICR3aWR0aDogMTBweCk7XHJcbiAgICAgICAgICBAaW5jbHVkZSBob3J6Q2VudGVyO1xyXG4gICAgICAgICAgYm90dG9tOiAtNnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5idXR0b25Ib2xkZXIge1xyXG4gICAgICBtYXJnaW46IDIwcHggMCAyMHB4O1xyXG4gICAgfVxyXG4gICAgLnJlc2V0QWNjb3VudFR5cGVCdG4ge1xyXG4gICAgICBib3JkZXI6IDA7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gICAgICBmb250LXNpemU6IDAuOGVtO1xyXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgY2FsYy1jb250cmFzdCh2YXIoLS1icmFuZC1kYXJrKSk7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgQGluY2x1ZGUgY29sb3JXaXRoQ29udHJhc3QoLS1icmFuZC1kYXJrKTtcclxuICAgICAgdHJhbnNpdGlvbjogJHZlcnlGYXN0O1xyXG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICBjb2xvcjogdmFyKC0tbGlnaHQpO1xyXG4gICAgICBwYWRkaW5nOiAycHg7XHJcblxyXG4gICAgICBAaW5jbHVkZSBob3ZlckFuZEZvY3VzIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XHJcbiAgICAgICAgQGluY2x1ZGUgY29sb3JXaXRoQ29udHJhc3QoLS1icmFuZC1icmlnaHQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmFjY29yZGlvbk1vZHVsZSAuYWNjb3JkaW9uVGl0bGUge1xyXG4gICAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgtLWxpZ2h0KTtcclxuICAgICAgLmljb24ge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1iYXNpYyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5mb3JtV3JhcC50d29GYWN0b3Ige1xyXG4gICAgLnNpbmdsZUZpZWxkU3VibWlzc2lvbiB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuICAgICAgLmZpZWxkV3JhcHBlciB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDEwcHggMCAwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBidXR0b24ge1xyXG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbjtcclxuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWxpZ2h0KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICNURkFCdXR0b25BcHAge1xyXG4gICAgICBAaW5jbHVkZSBidXR0b247XHJcbiAgICAgIHBhZGRpbmc6IDAuMzVlbSAwLjVlbTtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIH1cclxuXHJcbiAgICAjVEZBQnV0dG9uRW1haWwsXHJcbiAgICAjT1RQQnV0dG9uIHtcclxuICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICBwYWRkaW5nOiAwIDAgNXB4O1xyXG4gICAgICBtYXJnaW4tdG9wOiAxNXB4O1xyXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgY2FsYy1jb250cmFzdCh2YXIoLS1icmFuZC1kYXJrKSk7XHJcbiAgICAgIGNvbG9yOiBjYWxjLWNvbnRyYXN0KHZhcigtLWJyYW5kLWRhcmspKTtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgICAgJltkYXRhLXdhaXQtYS1mZXc9XCJ0cnVlXCJdIHtcclxuICAgICAgICBvcGFjaXR5OiAwLjY7XHJcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmJ1dHRvbkhvbGRlciB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nLXRvcDogMTVweDtcclxuXHJcbiAgICBidXR0b24ge1xyXG4gICAgICBAaW5jbHVkZSBidXR0b24oKTtcclxuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1saWdodCk7XHJcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnN0eWxlZEZpZWxkc2V0IHtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblxyXG4gICAgLmdyb3VwTGVnZW5kIHtcclxuICAgICAgcGFkZGluZzogNHB4IDJweDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnNpbXBsZURpYWxvZyB7XHJcbiAgLmNsb3NlRGlhbG9nIHtcclxuICAgIEBpbmNsdWRlIGJ1dHRvbjtcclxuXHJcbiAgICAuaWNvbiB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4jcmVzZXREYXRhIHtcclxuICBidXR0b24ge1xyXG4gICAgQGluY2x1ZGUgYnV0dG9uO1xyXG4gIH1cclxufVxyXG5cclxuLy8gTUVESUEgUVVFUklFUyAmIEJST1dTRVItU1BFQ0lGSUMgQURKVVNUTUVOVFMgQkVMT1cgLy9cclxuQG1lZGlhIChtYXgtd2lkdGg6ICRsZykge1xyXG4gIC5sb2dpblRlYXNlclZpZGVvIHtcclxuICAgIGxlZnQ6IDIwcHg7XHJcbiAgICByaWdodDogNjUwcHg7XHJcbiAgfVxyXG59XHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkbWQpIHtcclxuICAubG9naW5UZWFzZXJWaWRlbyB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBsZWZ0OiBhdXRvO1xyXG4gICAgcmlnaHQ6IGF1dG87XHJcbiAgICB0b3A6IGF1dG87XHJcbiAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBhZGRpbmc6IDAgNnB4IDE1cHg7XHJcbiAgfVxyXG59XHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkdHdlZW4pIHtcclxuICA6cm9vdCB7XHJcbiAgICAtLWxvZ2luLXc6IDU1MHB4O1xyXG4gIH1cclxuICAubWVtYmVyc2hpcEJ1ZmZlciB7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcclxuICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICB9XHJcbiAgI2JhY2tncm91bmQubWVtYmVyc2hpcEJnIHtcclxuICAgIC8vaGVpZ2h0OiA3MGR2aDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgLmJnSW1nLFxyXG4gICAgLnNlY3Rpb25CZyxcclxuICAgIHZpZGVvIHtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIC8vICY6YmVmb3JlIHtcclxuICAgIC8vICAgY29udGVudDogXCJcIjtcclxuICAgIC8vICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgIC8vICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgLy8gICB6LWluZGV4OiAyMDtcclxuICAgIC8vICAgYm90dG9tOiAwO1xyXG4gICAgLy8gICBsZWZ0OiAwO1xyXG4gICAgLy8gICB3aWR0aDogMTAwJTtcclxuICAgIC8vICAgaGVpZ2h0OiA2MCU7XHJcbiAgICAvLyAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXItcmdiYSgtLWxpZ2h0LCAwKSwgdmFyKC0tbGlnaHQpKTtcclxuICAgIC8vIH1cclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkeHMpIHtcclxuICAjcmVzZXREYXRhIHtcclxuICAgIGJ1dHRvbiB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XHJcbiAgICB9XHJcbiAgfVxyXG4gICNiYWNrZ3JvdW5kLm1lbWJlcnNoaXBCZyB7XHJcbmxlZnQ6IDBweDtcclxudG9wOiB1bnNldCAhaW1wb3J0YW50O1xyXG53aWR0aDogMTAwZHZ3O1xyXG5oZWlnaHQ6IDEwMGR2aDtcclxuICB9XHJcbiAgYm9keTphZnRlciB7XHJcbiAgICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgfVxyXG4gIGhlYWRlciB7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG4gIGhlYWRlciAub3JpZW50YXRpb25UaXRsZXtcclxuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xyXG4gIH1cclxuICBbZGF0YS1sb2dvLWFzcGVjdD10YWxsXSBoZWFkZXIgLmxvZ29XcmFwe1xyXG4gICAgaGVpZ2h0OiAxMDBweDtcclxuICB9XHJcbiAgI21lbWJlcnNoaXAge1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG5cclxuICAgIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyB7XHJcbiAgICAgIHBhZGRpbmc6IDBweCAyNXB4IDAgMjVweDtcclxuICAgICAgYSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICYuZ3Vlc3RMb2dpbkJ0bixcclxuICAgICAgICAmLmVucm9sbGVlTG9naW5CdG4ge1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogJHh4cykge1xyXG4gIC5tZW1iZXJzaGlwQnVmZmVyIHtcclxuICAgIHBhZGRpbmctbGVmdDogMThweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDE4cHg7XHJcbiAgfVxyXG4gICNtZW1iZXJzaGlwIHtcclxuICAgIHBhZGRpbmc6IDIwcHggMTJweCA2MHB4O1xyXG4gICAgLmZvcm1XcmFwIHtcclxuICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgfVxyXG4gICAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIHtcclxuICAgICAgLmJ1dHRvbnMge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMC44ZW07XHJcbiAgICAgICAgZ2FwOiAxNXB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogJHRpbnkpIHtcclxuICAjbWVtYmVyc2hpcCB7XHJcbiAgICAuZm9ybVdyYXAubGFuZGluZ1BhZ2Uge1xyXG4gICAgICAuYnV0dG9ucyB7XHJcbiAgICAgICAgLS1ncmFwaGljOiA2NXB4O1xyXG4gICAgICAgIC0tZ3Vlc3QtZ3JhcGhpYzogNTJweDtcclxuICAgICAgICBmb250LXNpemU6IDAuN2VtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIkB1c2UgXCJzaGFyZWQtdmFyaWFibGVzXCIgYXMgKjtcclxuQHVzZSBcInNoYXJlZC1taXhpbnNcIiBhcyAqO1xyXG5AdXNlIFwibWV0YS1taXhpbnNcIiBhcyAqO1xyXG5cclxuXHJcbipbc3R5bGUqPVwiZm9udC13ZWlnaHQ6IGJvbGRcIl17XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ucnRlIHtcclxuICBjbGVhcjogYm90aDtcclxuICBoNCxcclxuICBoNSB7XHJcbiAgICBtYXJnaW46IDAuOGVtIDAgMC41ZW07XHJcbiAgfVxyXG4gID4gKjpmaXJzdC1jaGlsZCB7XHJcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gID4gKjpsYXN0LWNoaWxkIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcclxuICB9XHJcbiAgYSB7XHJcbiAgICBAaW5jbHVkZSBmb2N1cyB7XHJcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDJweCBibGFjayAhaW1wb3J0YW50O1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhOmhhcyhpbWcpIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIC5pY29uIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDJweDtcclxuICAgICAgcmlnaHQ6IDNweDtcclxuICAgICAgcGFkZGluZzogNnB4O1xyXG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xyXG4gICAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgtLWJyYW5kLWJyaWdodCk7XHJcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAkdmVyeUZhc3Q7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBob3ZlckFuZEZvY3VzIHtcclxuICAgICAgLmljb24ge1xyXG4gICAgICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KC0taG92ZXIpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyAuaWNvbiB7XHJcbiAgICAvLyAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIC8vIH1cclxuICB9XHJcblxyXG4gIC8vIEJFR0lOIElOTElORSBNRURJQSBTVFlMRVMgLy9cclxuICBpZnJhbWUge1xyXG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMGR2dyAtICg0MHB4ICogMikpO1xyXG4gICAgbWF4LWhlaWdodDogY2FsYygoMTAwZHZ3IC0gKDQwcHggKiAyKSkgLyAxLjc3NzgpOyAvKiAxNjo5ICovXHJcbiAgfVxyXG5cclxuICBpbWcge1xyXG4gICAgbWFyZ2luOiAxMHB4O1xyXG4gICAgJltzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0ge1xyXG4gICAgICBtYXJnaW46IDAgMCAyMHB4IDIwcHg7XHJcbiAgICB9XHJcbiAgICAmW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdIHtcclxuICAgICAgbWFyZ2luOiAwIDIwcHggMjBweCAwcHg7XHJcbiAgICB9XHJcbiAgICAmW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSxcclxuICAgICZbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0ge1xyXG4gICAgICBtYXgtd2lkdGg6IDYwJTtcclxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICR4cykge1xyXG4gICAgICAgIG1heC13aWR0aDogNTAlO1xyXG4gICAgICB9XHJcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkeHhzKSwgKG1heC13aWR0aDogJG1kKSBhbmQgKG1pbi13aWR0aDogJHNtICsgMSkge1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDhweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJHBhZDogNXB4O1xyXG4gICRib3JkZXI6IDFweDtcclxuICBmaWd1cmU6bm90KC50ZXJtQmJsKSB7XHJcbiAgICBtYXJnaW46IDIwcHggMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1yYWRpdXMpICsgI3skcGFkfSAtIHZhcigtLWJvcmRlcikpO1xyXG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXIpIHNvbGlkIHZhcigtLWdyZXkpO1xyXG4gICAgcGFkZGluZzogJHBhZDtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGltZyB7XHJcbiAgICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgIG1hcmdpbjogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpIHZhcigtLXJhZGl1cykgMHB4IDBweDtcclxuICAgIH1cclxuICAgICZbc3R5bGUqPVwidGV4dC1hbGlnbjogcmlnaHRcIl0ge1xyXG4gICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgIG1hcmdpbjogMCAwIDIwcHggMjBweDtcclxuICAgIH1cclxuICAgICZbc3R5bGUqPVwidGV4dC1hbGlnbjogbGVmdFwiXSB7XHJcbiAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICBtYXJnaW46IDAgMjBweCAyMHB4IDBweDtcclxuICAgIH1cclxuICAgICZbc3R5bGUqPVwidGV4dC1hbGlnbjogbGVmdFwiXSxcclxuICAgICZbc3R5bGUqPVwidGV4dC1hbGlnbjogcmlnaHRcIl0ge1xyXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XHJcbiAgICAgIG1heC13aWR0aDogNjAlO1xyXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJHhzKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XHJcbiAgICAgIH1cclxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICR4eHMpLCAobWF4LXdpZHRoOiAkbWQpIGFuZCAobWluLXdpZHRoOiAkc20gKyAxKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gOHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZmlnY2FwdGlvbiB7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDBweCAwcHggdmFyKC0tcmFkaXVzKSB2YXIoLS1yYWRpdXMpO1xyXG4gICAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgtLWxpZ2h0LWdyZXkpO1xyXG4gICAgICBmb250LXNpemU6IDAuOWVtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gRU5EIElOTElORSBNRURJQSBTVFlMRVMgLy9cclxuXHJcbiAgb2wge1xyXG4gICAgJltzdHlsZT1cImxpc3Qtc3R5bGUtdHlwZTogdXBwZXItYWxwaGE7XCJdLFxyXG4gICAgJltzdHlsZT1cImxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7XCJdLFxyXG4gICAgJltzdHlsZT1cImxpc3Qtc3R5bGUtdHlwZTogbG93ZXItZ3JlZWs7XCJdLFxyXG4gICAgJltzdHlsZT1cImxpc3Qtc3R5bGUtdHlwZTogdXBwZXItcm9tYW47XCJdLFxyXG4gICAgJltzdHlsZT1cImxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47XCJdIHtcclxuICAgICAgPiBsaTpiZWZvcmUge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIGh0dHBzOi8vd3d3LnczLm9yZy9XQUkvV0NBRzIxL1VuZGVyc3RhbmRpbmcvcmVmbG93Lmh0bWxcclxuICAvLyBFeGFtcGxlcyBvZiBjb250ZW50IHdoaWNoIHJlcXVpcmVzIHR3by1kaW1lbnNpb25hbCBsYXlvdXQgYXJlIFsuLi5dIGRhdGEgdGFibGVzIChub3QgaW5kaXZpZHVhbCBjZWxscyksIGFuZCBpbnRlcmZhY2VzXHJcbiAgLy8gd2hlcmUgaXQgaXMgbmVjZXNzYXJ5IHRvIGtlZXAgdG9vbGJhcnMgaW4gdmlldyB3aGlsZSBtYW5pcHVsYXRpbmcgY29udGVudC4gSXQgaXMgYWNjZXB0YWJsZSB0byBwcm92aWRlIHR3by1kaW1lbnNpb25hbFxyXG4gIC8vIHNjcm9sbGluZyBmb3Igc3VjaCBwYXJ0cyBvZiB0aGUgY29udGVudC5cclxuICAudGFibGVXcmFwcGVyIHtcclxuICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIGJhY2tncm91bmQ6XHJcbiAgICAgIGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdmFyKC0tbGlnaHQpIDMwJSwgdmFyLXJnYmEoLS1saWdodCwgMCkpLFxyXG4gICAgICBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHZhci1yZ2JhKC0tbGlnaHQsIDApLCB2YXIoLS1saWdodCkgNzAlKSAwIDEwMCUsXHJcbiAgICAgIHJhZGlhbC1ncmFkaWVudChmYXJ0aGVzdC1zaWRlIGF0IDAlIDUwJSwgdmFyLXJnYmEoLS1ibGFjaywgMC4yKSwgdmFyLXJnYmEoLS1ibGFjaywgMCkpLFxyXG4gICAgICByYWRpYWwtZ3JhZGllbnQoZmFydGhlc3Qtc2lkZSBhdCAxMDAlIDUwJSwgdmFyLXJnYmEoLS1ibGFjaywgMC4yKSwgdmFyLXJnYmEoLS1ibGFjaywgMCkpIDAgMTAwJTtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodCk7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6XHJcbiAgICAgIDQwcHggMTAwJSxcclxuICAgICAgNDBweCAxMDAlLFxyXG4gICAgICAxNHB4IDEwMCUsXHJcbiAgICAgIDE0cHggMTAwJTtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246XHJcbiAgICAgIDAgMCxcclxuICAgICAgMTAwJSxcclxuICAgICAgMCAwLFxyXG4gICAgICAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBsb2NhbCwgbG9jYWwsIHNjcm9sbCwgc2Nyb2xsO1xyXG4gICAgY29udGFpbmVyLXR5cGU6IGlubGluZS1zaXplO1xyXG5cclxuICAgIHRhYmxlIHtcclxuICAgICAgbWluLXdpZHRoOiA1MDBweDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgICBtYXJnaW46IDI1cHggMDtcclxuICAgICAgY2FwdGlvbiB7XHJcbiAgICAgICAgcGFkZGluZzogNHB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoLS1icmFuZC1kYXJrKTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIHBhZGRpbmc6IDdweDtcclxuICAgICAgICBmb250LWZhbWlseTogdmFyKC0tcHJpbWFyeS1mb250KTtcclxuICAgICAgfVxyXG4gICAgICB0cjpudGgtY2hpbGQoZXZlbikge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHZhci1yZ2JhKC0tYnJhbmQtYnJpZ2h0LCAwLjE3KTtcclxuICAgICAgfVxyXG4gICAgICB0cjpudGgtY2hpbGQob2RkKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdmFyLXJnYmEoLS1icmFuZC1icmlnaHQsIDAuMDYpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoIHtcclxuICAgICAgICBwYWRkaW5nOiA3cHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoLS1icmFuZC1icmlnaHQpO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogYmxhY2s7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNGVtO1xyXG4gICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1wcmltYXJ5LWZvbnQpO1xyXG4gICAgICB9XHJcbiAgICAgIHRkIHtcclxuICAgICAgICBwYWRkaW5nOiA1cHggN3B4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMC45NWVtO1xyXG4gICAgICB9XHJcbiAgICAgIGEge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubW9iaWxlU2Nyb2xsTWVzc2FnZSB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgbWFyZ2luLXRvcDogOHB4O1xyXG4gICAgICBwYWRkaW5nOiA1cHggOHB4O1xyXG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xyXG4gICAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgtLWJyYW5kLWRhcmspO1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgYm90dG9tOiAxMDAlO1xyXG4gICAgICAgIGxlZnQ6IGNhbGMoNXB4ICsgdmFyKC0tcmFkaXVzKSk7XHJcbiAgICAgICAgd2lkdGg6IDBweDtcclxuICAgICAgICBoZWlnaHQ6IDBweDtcclxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogMCA2cHggOHB4IDVweDtcclxuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHZhcigtLWJyYW5kLWRhcmspIHRyYW5zcGFyZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AY29udGFpbmVyIChtYXgtd2lkdGg6IDUwMHB4KSB7XHJcbiAgLnJ0ZSAudGFibGVXcmFwcGVyIC5tb2JpbGVTY3JvbGxNZXNzYWdlIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB9XHJcbn1cclxuQG1lZGlhIChtYXgtd2lkdGg6ICR4cykge1xyXG4gIC5ydGUgLnRhYmxlV3JhcHBlciB7XHJcbiAgICAubW9iaWxlU2Nyb2xsTWVzc2FnZSB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiQHVzZSBcIi4uL19nbG9iYWwvc2hhcmVkLXJpY2hUZXh0U3R5bGVzXCIgYXMgKjtcclxuQHVzZSBcIi4uL19nbG9iYWwvc2hhcmVkLXZhcmlhYmxlc1wiIGFzICo7XHJcbkB1c2UgXCJtaXhpbnNcIiBhcyAqO1xyXG5cclxuXHJcbi8vRml4ZXMgd2VpcmQgdGhpbmcgdGhhdCBoYXBwZW5zIHdoZW4gcmljaCB0ZXh0IGVkaXRvcnMgYWRkIGFuIGlubGluZSBib2xkIHN0eWxlXHJcblxyXG5cclxuLnJ0ZSxcclxuI3JldmVhbE1vZGFsRGlhbG9nIC5jb3B5V3JhcCB7XHJcbiAgcCB7XHJcbiAgICAgICAgbWFyZ2luOiAwLjM1ZW0gMCAwLjc1ZW07XHJcbiAgICBsaW5lLWhlaWdodDogMS41NWVtO1xyXG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWJhc2ljLWZvbnQpO1xyXG4gICAgZm9udC1zaXplOiAxZW07XHJcbiAgfVxyXG5cclxuICBoMy5oZWFkaW5nIHtcclxuICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgIG1hcmdpbjogMjBweCAwIDE1cHggMHB4O1xyXG4gICAgZm9udC1zaXplOiAxLjhlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XHJcbiAgICBjb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XHJcbiAgfVxyXG5cclxuICAuaGVhZGluZ0xpc3QsXHJcbiAgLnN1YmhlYWRpbmdMaXN0IHtcclxuICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAwLjI1ZW07XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDE1ZW07XHJcbiAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xyXG4gICBjb2xvcjogdmFyKC0tZGFyayk7XHJcbmZvbnQtZmFtaWx5OiB2YXIoLS1wcmltYXJ5LWZvbnQpO1xyXG5mb250LXNpemU6IDEuM2VtO1xyXG4gICAgICY6YmVmb3Jle1xyXG4gICAgICBjb250ZW50OiAnJztcclxuICAgICAgaGVpZ2h0OiAxMnB4O1xyXG4gICAgICB3aWR0aDogMTJweDtcclxuICAgICAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50KTtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBsZWZ0OiAwMHB4O1xyXG4gICAgICB0b3A6IDVweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIGgzLmhlYWRpbmdMaXN0IHtcclxuICAvLyAgIGZvbnQtc2l6ZTogMS4yZW07XHJcbiAgLy8gfVxyXG5cclxuICBoNC5zdWJoZWFkaW5nTGlzdCB7XHJcbiAgICY6YmVmb3Jle1xyXG4gICAgLy8gYmFja2dyb3VuZDogdmFyKC0tZGFyayk7XHJcbiAgIH1cclxuICB9XHJcblxyXG4gIGg0LnN1YmhlYWRpbmcge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZy10b3A6IDE1cHg7XHJcbiAgICBmb250LXNpemU6IDEuNDVlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xyXG4gICAgY29sb3I6dmFyKC0tc2Vjb25kYXJ5KTtcclxuICAgIHBhZGRpbmctYm90dG9tOiAwcHg7XHJcbiAgICBwYWRkaW5nOiAwcHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgIC8vIGJvcmRlci10b3A6IDJweCBzb2xpZCAkcHJpbWFyeTtcclxuICAgIC8vIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMXB4O1xyXG4gICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICBmb250LWZhbWlseTogdmFyKC0tc2Vjb25kYXJ5LWZvbnQpO1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWdyZXkpO1xyXG4gICAgcGFkZGluZy10b3A6IDE1cHg7XHJcbiAgIC8vIG1hcmdpbi10b3A6IDE1cHg7XHJcbiAgICBcclxuICAgY2xlYXI6IGJvdGg7XHJcbiAgICAmOmJlZm9yZXtcclxuICAgICAgY29udGVudDogJyc7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgd2lkdGg6IDEycHg7XHJcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWdyZXkpO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGxlZnQ6IDAwcHg7XHJcbiAgICAgIHRvcDogLTBweDtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5sYXJnZVRleHQge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgLy8gd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgZm9udC1zaXplOiAxLjRlbTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjRlbTtcclxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1wcmltYXJ5LWZvbnQpO1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIGNvbG9yOiB2YXIoLS1kYXJrKTtcclxuICAgIC8vIGJhY2tncm91bmQ6IHZhcigtLWxpZ2h0KTtcclxuICAgIC8vIHBhZGRpbmc6IDEwcHggMTVweCAxMHB4IDI1cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgYm94LXNoYWRvdzogMHB4IDBweCA1cHggM3B4IHJnYmEoMCwwLDAsMC4yKSBpbnNldDtcclxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gICAgcGFkZGluZzogMjVweDtcclxuICAgIGEge1xyXG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICBjb2xvcjogdmFyKC0tbGlnaHQtZ3JleS1jb250cmFzdCk7XHJcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDJweDtcclxuICAgIH1cclxuICAgICY6YmVmb3Jle1xyXG4gICAgIFxyXG4gICAgICBjb250ZW50OiAnJztcclxuICAgICAgQGluY2x1ZGUgYWNjZW50QW5nbGU7XHJcbiAgICAgIHotaW5kZXg6IDE7XHJcbiAgICBcclxuICAgIH1cclxuXHJcbiAgLmFjY29yZGlvbldyYXBwZXIgJntcclxuICAgIGZvbnQtc2l6ZTogMS4xNWVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xyXG4gICAgcGFkZGluZzogMjBweCAyNXB4O1xyXG4gICAgJjpiZWZvcmV7XHJcbiAgICAgIGhlaWdodDogMzVweDtcclxuICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDAsIDEwMCUgMCUsIDAlIDEwMCUpO1xyXG4gICAgICBib3R0b206IGF1dG87XHJcbiAgICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHhzKXtcclxuICAgICAgcGFkZGluZzogMjVweDtcclxuICAgICAgJjpiZWZvcmV7XHJcbiAgICAgICAgaGVpZ2h0OiAyNXB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIH1cclxuXHJcbiAgLmhpZ2hsaWdodCB7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXItcmdiYSgtLWdyZXksIDAuMyk7XHJcbiAgfVxyXG5cclxuICB1bCB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgID4gbGkge1xyXG4gICAgICBtYXJnaW4tbGVmdDogNDBweDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG5cclxuICAgICAgJjo6bWFya2VyIHtcclxuICAgICAgICBmb250LXNpemU6IDEuMWVtO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb2wge1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgIGNvdW50ZXItcmVzZXQ6IGNvdW50ZXI7XHJcblxyXG4gICAgPiBsaSB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgY291bnRlci1pbmNyZW1lbnQ6IGNvdW50ZXI7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcblxyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogY291bnRlcihjb3VudGVyKSBcIi4gXCI7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgKyA4cHgpO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYSB7XHJcbiAgICBAaW5jbHVkZSBjb2xvcldpdGhDb250cmFzdCgtLWxpbmspO1xyXG4gICAgLy8gQGluY2x1ZGUgaG92ZXJBbmRGb2N1cyB7XHJcbiAgICAvLyAgIEBpbmNsdWRlIGNvbG9yV2l0aENvbnRyYXN0KC0tYmFzaWMpO1xyXG4gICAgLy8gfVxyXG4gIH1cclxufVxyXG5cclxuLmNhbGxvdXRTdWJ0bGUge1xyXG4gIGNsZWFyOiBib3RoO1xyXG4gIG1hcmdpbjogMjBweCAwIDAuNzVlbTtcclxuICBwYWRkaW5nOiAxMHB4IDIwcHggMjBweDtcclxuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xyXG4gIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KC0tbGlnaHQtZ3JleSk7XHJcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwcHggMXB4IDRweCByZ2JhKGJsYWNrLCAwLjIpKTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgcGFkZGluZy10b3A6IDI1cHg7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xyXG4gIG1hcmdpbi1sZWZ0OiA0MHB4O1xyXG4gICY6YmVmb3Jle1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICAgIEBpbmNsdWRlIGNzc0Fycm93KGJvdHRvbSwgJGNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQpLCAkaGVpZ2h0OiAyMnB4LCAkd2lkdGg6IDUwcHgpO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICB0cmFuc2xhdGU6IC01MCUgMDtcclxuICB9XHJcblxyXG4gIGEge1xyXG4gICAvLyBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgtLWxpZ2h0LWdyZXkpO1xyXG4gICAgLy8gYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIGNhbGMtY29udHJhc3QodmFyKC0tbGlnaHQtZ3JleSkpO1xyXG5cclxuICAgIEBpbmNsdWRlIGhvdmVyQW5kRm9jdXMge1xyXG4gICAgICAvLyBAaW5jbHVkZSBjb2xvcldpdGhDb250cmFzdCgtLWJhc2ljKTtcclxuICAgICAgLy8gYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tYmFzaWMpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmNhbGxvdXRCb2xkIHtcclxuICAtLWI6IDNweDtcclxuICBjbGVhcjogYm90aDtcclxuICBtYXJnaW46IDI1cHggMDtcclxuICBwYWRkaW5nOiAyMHB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XHJcbiAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoLS1kYXJrKTtcclxuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDBweCAxcHggNHB4IHJnYmEoYmxhY2ssIDAuMikpO1xyXG4gIFxyXG4gICY6YmVmb3Jle1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICB3aWR0aDogMzBweDtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnkpO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAxMHB4O1xyXG4gICAgbGVmdDogMTBweDtcclxuICB9XHJcbiAucnRle1xyXG4gIGJvcmRlcjogNXB4IHNvbGlkIHZhcigtLXByaW1hcnkpO1xyXG4gIGJvcmRlci13aWR0aDogdmFyKC0tYikgMCAwIHZhcigtLWIpO1xyXG4gIHBhZGRpbmc6IDE1cHg7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgcGFkZGluZy1ib3R0b206IDVweDtcclxuICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgtLWRhcmspO1xyXG4gICAgICB6LWluZGV4OiAyO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiB9XHJcbiAgYSB7XHJcbiAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgtLWRhcmspO1xyXG4gICAgLy8gYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIGNhbGMtY29udHJhc3QodmFyKC0tZGFyaykpO1xyXG5cclxuICAgIEBpbmNsdWRlIGhvdmVyQW5kRm9jdXMge1xyXG4gICAgICAvLyBAaW5jbHVkZSBjb2xvcldpdGhDb250cmFzdCgtLWJhc2ljKTtcclxuICAgICAgLy8gYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tYmFzaWMpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gTUVESUEgUVVFUklFUyAmIEJST1dTRVItU1BFQ0lGSUMgQURKVVNUTUVOVFMgQkVMT1cgLy9cclxuXHJcblxyXG5AY29udGFpbmVyIHNsaWRlQ29weSAobWF4LXdpZHRoOiA1NDBweCkge1xyXG4gIC5jYWxsb3V0U3VidGxle1xyXG4gICAgbWF4LXdpZHRoOjEwMCU7XHJcbiAgICBtYXJnaW4tbGVmdDogMHB4O1xyXG4gIH1cclxufVxyXG5cclxuQGNvbnRhaW5lciBzbGlkZUNvcHkgKG1heC13aWR0aDogNDAwcHgpIHtcclxuICAucnRlIC5sYXJnZVRleHQsICNyZXZlYWxNb2RhbERpYWxvZyAuY29weVdyYXAgLmxhcmdlVGV4dHtcclxuICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMjVlbTtcclxuICAgICY6YmVmb3Jle1xyXG4gICAgICBtYXgtaGVpZ2h0OiA2MHB4O1xyXG4gICAgICBwYWRkaW5nOiAyNXB4IDMwcHggMzBweCAyNXB4O1xyXG4gICAgfVxyXG5cclxuICB9XHJcbn0iLCJAdXNlIFwibWl4aW5zXCIgYXMgKjtcclxuQHVzZSBcIi4uL19nbG9iYWwvc2hhcmVkLXZhcmlhYmxlc1wiIGFzICo7XHJcblxyXG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubWFpbnRlbmFuY2Uge1xyXG4gIGJhY2tncm91bmQ6IHZhcigtLWJyYW5kLWJyaWdodCk7XHJcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1saWdodCk7XHJcblxyXG4gIC5mb3JtQXJlYSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHJcbiAgICAucnRlIHtcclxuICAgICAgY29sb3I6IHZhcigtLWxpZ2h0KTtcclxuICAgIH1cclxuXHJcbiAgICAuaWNvbiB7XHJcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgICBmbGV4LWdyb3c6IDA7XHJcbiAgICAgIHdpZHRoOiA3NXB4O1xyXG4gICAgICBoZWlnaHQ6IDc1cHg7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBmb250LXNpemU6IDNlbTtcclxuICAgICAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQtZGFyayk7XHJcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWxpZ2h0KTtcclxuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICBjb2xvcjogdmFyKC0tbGlnaHQpO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6ICR4cykge1xyXG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5tYWludGVuYW5jZSB7XHJcbiAgICBwYWRkaW5nOiAxNXB4O1xyXG5cclxuICAgIC5mb3JtQXJlYSB7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gICAgICAuaWNvbiB7XHJcbiAgICAgICAgd2lkdGg6IDU1cHg7XHJcbiAgICAgICAgaGVpZ2h0OiA1NXB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMi4yNWVtO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJAdXNlIFwibWl4aW5zXCIgYXMgKjtcclxuQHVzZSBcIi4uL19nbG9iYWwvc2hhcmVkLXZhcmlhYmxlc1wiIGFzICo7XHJcblxyXG4ubWVtYmVyc2hpcFBhZ2UgLmVycm9yUGFnZSB7XHJcbiAgLnRpdGxlQXJlYSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gIH1cclxuXHJcbiAgLmljb24ge1xyXG4gICAgZm9udC1zaXplOiA1ZW07XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZC1icmlnaHQpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgYm9yZGVyOiA0cHggc29saWQgdmFyKC0tbGlnaHQpO1xyXG4gICAgY29sb3I6IHZhcigtLWxpZ2h0KTtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICB3aWR0aDogMTUwcHg7XHJcbiAgICBoZWlnaHQ6IDE1MHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgfVxyXG5cclxuICAucnRlIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQ6IHZhci1kYXJrZW4odmFyKC0tYnJhbmQtZGFyayksIDE1JSk7XHJcbiAgICBwYWRkaW5nOiA1MHB4IDIwcHggNDBweCAyMHB4O1xyXG4gICAgbWFyZ2luLXRvcDogLTYwcHg7XHJcbiAgICBib3JkZXI6IDNweCBzb2xpZCB2YXIoLS1saWdodCk7XHJcbiAgICBoMy5oZWFkaW5nIHtcclxuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIGNvbG9yOiBjYWxjLWNvbnRyYXN0KHZhcigtLWJyYW5kLWRhcmspKTtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogJHNtKSB7XHJcbiAgLm1lbWJlcnNoaXBQYWdlIC5lcnJvclBhZ2Uge1xyXG4gICAgLmljb24ge1xyXG4gICAgICBmb250LXNpemU6IDRlbTtcclxuICAgICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgICBoZWlnaHQ6IDEwMHB4O1xyXG4gICAgICBib3JkZXItd2lkdGg6IDJweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiQHVzZSBcInNoYXJlZC12YXJpYWJsZXNcIiBhcyAqO1xyXG5AdXNlIFwic2hhcmVkLW1peGluc1wiIGFzICo7XHJcblxyXG5AbGF5ZXIgYmFzZSB7XHJcbiAgZGV0YWlscyB7XHJcbiAgICAvLyBJZiB5b3UgY2hhbmdlIHRoaXMgdHJhbnNpdGlvbiBzcGVlZCwgeW91J2xsIGhhdmUgdG8gY2hhbmdlIGl0IGF0IHRoZSB0b3Agb2YgQWNjb3JkaW9uLnRzXHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgJG1lZGl1bTtcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gIH1cclxuXHJcbiAgZGV0YWlscyA+IHN1bW1hcnk6Om1hcmtlciwgLyogTGF0ZXN0IENocm9tZSwgRWRnZSwgRmlyZWZveCAqL1xyXG4gIGRldGFpbHMgPiBzdW1tYXJ5Ojotd2Via2l0LWRldGFpbHMtbWFya2VyIC8qIFNhZmFyaSAqLyB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuXHJcbiAgLmFjY29yZGlvbk1vZHVsZSB7XHJcbiAgICAuYWNjb3JkaW9uVGl0bGUge1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgJltkYXRhLWludGVyYWN0aW9uLW1hbmRhdG9yeT1cInRydWVcIl06bm90KC5pbnRlcmFjdGVkV2l0aCkge1xyXG4gICAgICAuaWNvbi1tYW5kYXRvcnkge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgICAgLmludGVyYWN0aW9uTm90aWZpY2F0aW9uIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgICAgIEBpbmNsdWRlIHNjcmVlblJlYWRlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICsgLnJ0ZSB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDI1cHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG51bDpoYXMoLmFjY29yZGlvbk1vZHVsZSkge1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG5cclxuICAgPiBsaSB7XHJcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gIH1cclxuXHJcbiAgKyAucnRlIHtcclxuICAgIG1hcmdpbi10b3A6IDI1cHg7XHJcbiAgfVxyXG59XHJcbiIsIkB1c2UgXCIuLi9fZ2xvYmFsL3NoYXJlZC1hY2NvcmRpb25zXCI7XHJcbkB1c2UgXCJzYXNzOm1hdGhcIjtcclxuQHVzZSBcIi4uL19nbG9iYWwvc2hhcmVkLXZhcmlhYmxlc1wiIGFzICo7XHJcbkB1c2UgXCJtaXhpbnNcIiBhcyAqO1xyXG5cclxuXHJcbjpyb290e1xyXG4gIC0taWNvbi13aWR0aDogNDVweDtcclxufVxyXG5cclxuLnByaW1hcnlBY2NvcmRpb24gKyBwLCAucHJpbWFyeUFjY29yZGlvbiArIGgye1xyXG4gIG1hcmdpbi10b3A6IDI1cHg7XHJcbn1cclxucCArIC5wcmltYXJ5QWNjb3JkaW9uLCBoMiArIC5wcmltYXJ5QWNjb3JkaW9ue1xyXG4gIG1hcmdpbi10b3A6IDI4cHg7XHJcbiAgJi5jbGlja2Vke1xyXG4gICAgICBtYXJnaW4tdG9wOiAyOHB4O1xyXG4gIH1cclxufVxyXG5cclxuLnByaW1hcnlBY2NvcmRpb24ge1xyXG5wb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWFyZ2luOiAxMHB4IDA7XHJcbmZpbHRlcjogZHJvcC1zaGFkb3coMHB4IDVweCA3cHggdmFyLXJnYmEoLS1ibGFjaywuMykpO1xyXG4gICZbb3Blbl0ge1xyXG4gICA+IC5hY2NvcmRpb25UaXRsZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1saWdodCk7XHJcbiAgICAgIC50ZXh0e1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXNlY29uZGFyeSkgO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuaWNvbi1hcnJvdy1kb3duIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1saWdodCk7XHJcbiAgICAgICAgJjpiZWZvcmV7XHJcbiAgICAgICAgICBjb250ZW50OiAnVSc7XHJcbiAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgICY6aGFzKC5hY2NvcmRpb25UaXRsZTpob3Zlcil7XHJcbiAgIFxyXG4gICAgLmFjY29yZGlvbldyYXBwZXJ7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50KSA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmW2RhdGEtaW50ZXJhY3Rpb24tbWFuZGF0b3J5PVwidHJ1ZVwiXTpub3QoLmludGVyYWN0ZWRXaXRoKSB7XHJcbiAgICAuaWNvbi1tYW5kYXRvcnkge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHJpZ2h0OiAtM3B4O1xyXG4gICAgICB0b3A6IC0zcHg7XHJcbiAgICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KC0tYnJhbmQtYnJpZ2h0KTtcclxuICAgICAgcGFkZGluZzogM3B4O1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAwcHg7XHJcbiAgICAgIGJveC1zaGFkb3c6IDFweCAxcHggOHB4IDBweCB2YXItcmdiYSgtLWJsYWNrLCAwLjMpO1xyXG4gICAgICBmb250LXNpemU6IDAuNzVlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5hY2NvcmRpb25UaXRsZSB7XHJcbiAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICBcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcclxuICBnYXA6IDRweDtcclxuXHJcbiAgICBAaW5jbHVkZSBob3ZlckFuZEZvY3VzIHtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgIC50ZXh0e1xyXG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpIDtcclxuICAgIH1cclxuICAgIC5pY29ue1xyXG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpIDtcclxuICAgICAgY29sb3I6IHZhcigtLWxpZ2h0KSA7XHJcbiAgICB9XHJcbiAgICB9XHJcbiAgICAgLnRleHR7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBwYWRkaW5nOiAyMHB4IDIwcHg7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxOHB4O1xyXG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kYXJrLWdyZXkpIDtcclxuICAgICAgY29sb3I6dmFyKC0tbGlnaHQpIDtcclxuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS4wNWVtO1xyXG4gICAgICBcclxuICAgIH1cclxuXHJcbiAgICAuaWNvbi1hcnJvdy1kb3duIHtcclxuICAgICBtaW4td2lkdGg6IHZhcigtLWljb24td2lkdGgpO1xyXG4gICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XHJcbiAgICAgIHdpZHRoOiB2YXIoLS1pY29uLXdpZHRoKTtcclxuICAgICAgbWF4LXdpZHRoOiB2YXIoLS1pY29uLXdpZHRoKTtcclxuICAgICAgZm9udC1zaXplOiAxLjJlbTtcclxuICAgICAgQGluY2x1ZGUgZmxleENlbnRlcjtcclxuICAgICAgYmFja2dyb3VuZDogdmFyKC0tbGlnaHQtZ3JleSkgO1xyXG4gICAgICBjb2xvcjp2YXIoLS1kYXJrKSA7XHJcbiAgICAgICY6YmVmb3Jle1xyXG4gICAgICAgIGNvbnRlbnQ6ICdRJztcclxuICAgICAgICB0cmFuc2l0aW9uOiByb3RhdGUgLjM1cztcclxuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYWNjb3JkaW9uV3JhcHBlciB7XHJcbiAgICBwYWRkaW5nOiAyMHB4IDIwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOjBweDtcclxuICAgIGJvcmRlci1yaWdodDogIHZhcigtLWljb24td2lkdGgpIHNvbGlkIHZhcigtLWFjY2VudCkgO1xyXG4gICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QodmFyKC0tbGlnaHQpICk7XHJcbiAgICBpbWcge1xyXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIFxyXG4gIH1cclxuXHJcbiAgKyAucnRlIHtcclxuICAgIG1hcmdpbi10b3A6IDI1cHg7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBNRURJQSBRVUVSSUVTICYgQlJPV1NFUi1TUEVDSUZJQyBBREpVU1RNRU5UUyBCRUxPVyAvL1xyXG5AbWVkaWEgKG1heC13aWR0aDogJHRpbnkpe1xyXG4gIDpyb290e1xyXG4gICAgLS1pY29uLXdpZHRoOiAzNXB4O1xyXG4gIH1cclxuICAuYWNjb3JkaW9uTW9kdWxle1xyXG4gICAgLmFjY29yZGlvbldyYXBwZXJ7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19 */