@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 */
/*---TEXT AND FONT---*/
/*---BACKGROUND---*/
/*---POSITIONING---*/
/*---CONTENT---*/
/*---LISTS---*/
/*---BORDER ARROWS---*/
/**Forms**/
/** DEFAULT OVERRIDES **/
@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;
  }
  p {
    margin: 0.35em 0 0.75em;
    line-height: 1.55em;
  }
  ol,
  ul {
    text-align: left;
    margin: 0.4em 0 0.75em;
  }
  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);
    background-color: var(--link-contrast);
    padding-left: 2px;
    padding-right: 2px;
    border-bottom: 1px solid var(--link);
    transition: 0.15s;
    text-decoration: none;
  }
  @media (hover: hover) and (pointer: fine) {
    a:hover {
      border-bottom-color: transparent;
    }
  }
  [data-browser=ie] a:hover {
    border-bottom-color: transparent;
  }
  .ie a:hover {
    border-bottom-color: transparent;
  }
  a.focus-visible {
    border-bottom-color: transparent;
  }
  a:focus-visible {
    border-bottom-color: transparent;
  }
  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 {
  overflow-y: scroll;
  scrollbar-gutter: stable;
}

@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: 650px) {
    .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";
}

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: 100vw;
    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: 100vw;
    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(-100%);
  }
  to {
    transform: translateY(0%);
  }
}
div[data-dialog-animation-name=slideTopIn] {
  animation-name: slideTopIn;
}
@media (max-width: 800px) {
  div[data-dialog-animation-name=slideTopIn] {
    animation-name: slideBottomIn;
  }
}

@keyframes slideTopOut {
  from {
    transform: translateY(0%);
  }
  to {
    transform: translateY(-100%);
  }
}
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(--light-grey) calc(0.95 * 100%), transparent);
}

.dialogContent {
  margin: 10px 0;
}

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

button.closeDialog .icon:before {
  font-family: var(--icon-font);
  font-size: 1.5em;
  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 {
  padding: 20px;
  text-align: center;
  background-color: var(--light);
  color: var(--light-contrast);
  box-shadow: var(--shadow);
}
[data-dialog-style=modal] .dialogLabel {
  text-align: center;
  margin-bottom: 25px;
  border-bottom: 1px solid var(--brand-dark);
  padding: 5px 10px 20px;
  text-transform: uppercase;
}
[data-dialog-style=modal] .dialogLabel h2 {
  margin: 0;
  padding: 0;
  font-size: 1.25em;
}
[data-dialog-style=modal] button.closeDialog {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.6em 1.5em;
  border-width: 3px;
  border-style: solid;
  border-color: oklch(from var(--brand-bright) max(l - l * 0.15, 0) c h);
  line-height: 1.1em;
  text-align: center;
  border-radius: var(--radius);
  font-family: var(--basic-font);
  outline-offset: 0;
  text-decoration: none;
  transition: all 200ms;
  background-color: var(--brand-bright);
  color: var(--brand-bright-contrast);
}
@media (hover: hover) and (pointer: fine) {
  [data-dialog-style=modal] button.closeDialog:hover {
    transform: scale(1.03);
    text-decoration: none;
    background-color: var(--hover);
    color: var(--hover-contrast);
    border-color: oklch(from var(--hover) max(l - l * 0.1, 0) c h);
    cursor: pointer;
  }
}
[data-browser=ie] [data-dialog-style=modal] button.closeDialog:hover {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) max(l - l * 0.1, 0) c h);
  cursor: pointer;
}
.ie [data-dialog-style=modal] button.closeDialog:hover {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) max(l - l * 0.1, 0) c h);
  cursor: pointer;
}
[data-dialog-style=modal] button.closeDialog.focus-visible {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) max(l - l * 0.1, 0) c h);
  cursor: pointer;
}
[data-dialog-style=modal] button.closeDialog:focus-visible {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) max(l - l * 0.1, 0) c h);
  cursor: pointer;
}
[data-dialog-style=modal] button.closeDialog[disabled], [data-dialog-style=modal] button.closeDialog[aria-disabled=true] {
  opacity: 0.5;
  cursor: not-allowed;
}
[data-dialog-style=modal] button.closeDialog .icon {
  display: none;
}

.safari [data-dialog-style=largeModal] {
  padding: 20px 20px 150px;
}
[data-dialog-style=largeModal] .dialogInner {
  padding: 20px;
  background-color: var(--light);
  color: var(--light-contrast);
}
[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] .dialogInner {
  padding: 20px;
}
[data-dialog-style=shade] div[role=dialog] {
  background-color: var(--brand-dark);
  color: var(--brand-dark-contrast);
}

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

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

@media (max-width: 800px) {
  [data-dialog-style^=sidebar][data-dialog-style=sidebarRight] .dialogInner {
    border-radius: 0;
  }
  [data-dialog-style=modal] div[role=dialog] {
    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;
}

#background {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  opacity: 1;
  transition: all 300ms;
}
#background .cover-slider,
#background video,
#background .mainBgImg {
  z-index: 2;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
#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 .bgImg,
#background .sectionBg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#background video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#background:after {
  content: "";
  position: absolute;
  z-index: 5;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: color-mix(in srgb, var(--light) calc(0.2 * 100%), transparent);
  pointer-events: none;
  opacity: 0;
  -webkit-backdrop-filter: blur(5px);
          backdrop-filter: blur(5px);
  transition: opacity 500ms;
}
[data-active-zone=slides] #background:after {
  opacity: 1;
}

#backgroundPlayBtn {
  position: absolute;
  top: calc(var(--header-height) + 5px);
  right: 0;
  z-index: 150;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border-radius: var(--radius-sm) 0 0 var(--radius-sm);
  box-shadow: var(--shadow);
  border-width: 2px 0 2px 2px;
  border-style: solid;
  border-color: var(--light);
  cursor: pointer;
  transition: all 200ms;
  background-color: var(--brand-bright);
  color: var(--brand-bright-contrast);
}
#backgroundPlayBtn .text {
  right: 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(--basic-font);
  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: 100% 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%;
  left: 100%;
  height: 14px;
  -webkit-clip-path: polygon(100% 50%, 0% 100%, 0% 0%);
          clip-path: polygon(100% 50%, 0% 100%, 0% 0%);
}
#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%;
  left: calc(100% - 2px);
  -webkit-clip-path: polygon(100% 50%, 0% 100%, 0% 0%);
          clip-path: polygon(100% 50%, 0% 100%, 0% 0%);
}
#backgroundPlayBtn .text {
  font-size: 0.8em;
}
#backgroundPlayBtn .icon {
  position: relative;
  font-size: 1.2em;
  z-index: 4;
}
@media (hover: hover) and (pointer: fine) {
  #backgroundPlayBtn:hover {
    background-color: var(--hover);
    color: var(--hover-contrast);
  }
  #backgroundPlayBtn:hover .text {
    opacity: 1;
    scale: 1;
  }
}
[data-browser=ie] #backgroundPlayBtn:hover {
  background-color: var(--hover);
  color: var(--hover-contrast);
}
[data-browser=ie] #backgroundPlayBtn:hover .text {
  opacity: 1;
  scale: 1;
}
.ie #backgroundPlayBtn:hover {
  background-color: var(--hover);
  color: var(--hover-contrast);
}
.ie #backgroundPlayBtn:hover .text {
  opacity: 1;
  scale: 1;
}
#backgroundPlayBtn.focus-visible {
  background-color: var(--hover);
  color: var(--hover-contrast);
}
#backgroundPlayBtn.focus-visible .text {
  opacity: 1;
  scale: 1;
}
#backgroundPlayBtn:focus-visible {
  background-color: var(--hover);
  color: var(--hover-contrast);
}
#backgroundPlayBtn:focus-visible .text {
  opacity: 1;
  scale: 1;
}

@media (max-width: 650px) {
  #background {
    top: 0;
    height: 100vh;
    background: var(--brand-dark);
  }
  #background .bgImg,
  #background .sectionBg,
  #background video,
  #background .mainBgImg,
  #background .sectionBgHolder {
    top: 0;
    height: max(200px, 50vh);
  }
  #background:after {
    background: var(--brand-dark);
    -webkit-backdrop-filter: none;
            backdrop-filter: none;
  }
  [data-active-zone=slides] #background:after {
    opacity: 1;
  }
}
.buffer {
  overflow: auto;
  overflow-x: hidden;
  min-height: calc(100dvh - 40px);
}
.landing .buffer {
  overflow: hidden;
}

footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  position: relative;
  width: 100%;
  height: 40px;
  padding: 0 15px;
  background: #000;
  z-index: 9999;
}
footer .adgLogoWrap a {
  display: block;
  background: #000 !important;
}
footer .adgLogoWrap .adgLogo {
  height: 30px;
  width: auto;
}

.socialMedia .socialMediaTitle {
  margin-bottom: 15px;
  font-weight: 400;
  text-align: center;
}
.socialMedia .socialMediaLogins {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 10px;
}
.socialMedia .socialMediaLogins .facebookLogin {
  background: rgb(8, 102, 255) !important;
  color: white !important;
  border: 2px solid var(--brand-bright-contrast) !important;
}
.socialMedia .socialMediaLogins .googleLogin {
  background: #ebebec !important;
  color: black !important;
  border: 2px solid var(--brand-bright-contrast) !important;
}
.socialMedia .socialMediaLogins .twitterLogin {
  background: #14171a !important;
  color: white !important;
  border: 2px solid var(--brand-bright-contrast) !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;
  border: 2px solid var(--brand-bright-contrast) !important;
}
.socialMedia .socialMediaLogins > a {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  text-decoration: none !important;
  border-radius: var(--radius);
  height: 45px;
  text-align: center;
  padding: 1em !important;
  border-bottom: 0 !important;
}
.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");
}

body:before {
  content: "";
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 140px;
  background-color: var(--brand-dark);
  border-radius: 50% 40% 40% 50%;
  transform-origin: 50% 0%;
  scale: 1.2 2;
  z-index: 2;
}

#background {
  height: calc(100% - 60px);
}

#backgroundPlayBtn {
  top: 185px;
}

header {
  position: absolute;
  z-index: 120;
  display: flex;
  width: 100%;
}
header .branding {
  display: flex;
  justify-content: flex-end;
  align-items: start;
  flex-grow: 1;
  height: 100%;
  padding: 25px 50px;
}
header .branding h1 {
  margin: 0;
}
header .orientationTitle {
  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;
}
header .logoWrap {
  position: absolute;
  z-index: 5;
  top: 0;
  left: 45px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 300px;
  aspect-ratio: 30/12;
  padding: 0 0 25px 10px;
  transform-origin: 0 0;
  filter: drop-shadow(-2px -2px 5px color-mix(in srgb, var(--black) calc(0.5 * 100%), transparent));
  transition: all 500ms var(--timing-bounce);
}
.safari16 header .logoWrap:before, .safari15 header .logoWrap:before {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: calc(100% + 1px);
  aspect-ratio: 1/1;
  background: var(--brand-bright);
  -webkit-clip-path: url(#horizonLogoShapeNew);
          clip-path: url(#horizonLogoShapeNew);
  transition: all 500ms;
}
header .logoWrap:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 1/1;
  background-color: var(--light);
  -webkit-clip-path: url(#horizonLogoShapeNew);
          clip-path: url(#horizonLogoShapeNew);
  transition: all 500ms;
}
header .logoWrap .logo {
  position: relative;
  z-index: 4;
  max-width: 65%;
  max-height: 65%;
  width: auto;
  height: auto;
}
[data-logo-aspect=tall] header .logoWrap {
  top: -15px;
  padding: 15px 0 10px;
  width: 280px;
  height: 180px;
}

.headerElement {
  position: absolute;
  overflow: hidden;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 110;
  height: 60px;
  pointer-events: none;
}
.headerElement:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 600px;
  height: 100%;
  background-color: var(--brand-dark);
  border-radius: 0% 0% 40% 50%;
  transform: rotate(-5deg);
  transform-origin: 50% 100%;
  scale: 1.2 2;
  transition: all 500ms var(--timing-bounce);
  z-index: -1;
}

#membership {
  --focus-outline-color: var(--brand-dark);
  --focus-shadow-color: var(--light);
  position: relative;
  z-index: 5;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  margin-top: 200px;
  min-height: calc(100dvh - 200px);
  width: 100vw;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}
#membership .titleArea {
  margin: auto auto 0;
  background-color: var(--brand-bright);
  color: var(--brand-bright-contrast);
  padding: 40px 80px 10px;
  max-width: 1000px;
  width: 100%;
  text-align: center;
  border-radius: var(--radius-xxl) var(--radius-xxl) 0 0;
  border-color: var(--light);
  border-style: solid;
  border-width: 3px 3px 0 3px;
}
#membership .titleArea.accountProfiler h1 {
  font-size: 2em;
  font-weight: 800;
}
#membership .titleArea h2 {
  margin: 0;
  font-size: 1.8em;
}
#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);
}
#membership .loginNav {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  border-top: 2px solid var(--light-grey);
  margin-top: 30px;
  padding-top: 10px;
  text-align: center;
  font-size: 0.9em;
}
#membership .loginNav a {
  background-color: var(--brand-bright);
  color: var(--brand-bright-contrast);
  font-weight: 700;
  border-width: 2px;
  padding-bottom: 2px;
  transition: all 200ms;
}
@media (hover: hover) and (pointer: fine) {
  #membership .loginNav a:hover {
    scale: 1.05;
  }
}
[data-browser=ie] #membership .loginNav a:hover {
  scale: 1.05;
}
.ie #membership .loginNav a:hover {
  scale: 1.05;
}
#membership .loginNav > * {
  margin: 0 5px;
}
#membership .formWrap {
  position: relative;
  width: 100%;
  min-height: 200px;
  margin: 0 auto;
  padding: 20px 70px 50px;
  border-color: var(--light);
  border-style: solid;
  border-width: 0 3px 0 3px;
  background-color: var(--brand-bright);
  color: var(--brand-bright-contrast);
}
#membership .formWrap input[type=radio] {
  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(--basic) 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(--brand-dark);
  }
  #membership .formWrap input[type=radio]:checked:after {
    opacity: 1;
    background-color: var(--brand-dark-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 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: var(--radius-xs);
    border-style: solid;
    border-width: 2px;
    border-color: color-mix(in srgb, var(--basic) 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-dark-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-dark);
  }
  #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.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;
  margin: 25px 0;
}
#membership .formWrap.login .horzDivider .line {
  height: 1px;
  flex-grow: 1;
  background: color-mix(in srgb, var(--brand-bright-contrast) calc(0.8 * 100%), transparent);
}
#membership .formWrap.login .horzDivider .or {
  text-transform: uppercase;
  margin-left: 15px;
  margin-right: 15px;
}
#membership .formWrap.login .loginWrapper {
  border-radius: var(--radius);
  margin: 0 auto;
}
#membership .formWrap.login .loginWrapper .fieldWrapper {
  min-width: 200px;
  max-width: 350px;
}
#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-dark);
  color: var(--brand-dark-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: 0 80px;
  min-height: 200px;
}
#membership .formWrap.landingPage .buttons {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  gap: 25px;
  padding: 50px 20px;
  height: 100%;
}
#membership .formWrap.landingPage .buttons a {
  display: flex;
  align-items: center;
  gap: 25px;
  padding: 20px 20px;
  max-width: 400px;
  width: 100%;
  min-height: 65px;
  flex-grow: 1;
  border: 3px solid var(--light);
  background-color: var(--brand-dark);
  color: var(--brand-dark-contrast);
  border-radius: var(--radius-xl);
  transition: all 200ms;
}
@media (hover: hover) and (pointer: fine) {
  #membership .formWrap.landingPage .buttons a:hover {
    scale: 1.05;
    background-color: var(--brand-dark);
    color: var(--brand-dark-contrast);
  }
  #membership .formWrap.landingPage .buttons a:hover .image {
    scale: 1.1;
  }
  #membership .formWrap.landingPage .buttons a:hover .icon {
    background-color: var(--hover);
    color: var(--hover-contrast);
  }
}
[data-browser=ie] #membership .formWrap.landingPage .buttons a:hover {
  scale: 1.05;
  background-color: var(--brand-dark);
  color: var(--brand-dark-contrast);
}
[data-browser=ie] #membership .formWrap.landingPage .buttons a:hover .image {
  scale: 1.1;
}
[data-browser=ie] #membership .formWrap.landingPage .buttons a:hover .icon {
  background-color: var(--hover);
  color: var(--hover-contrast);
}
.ie #membership .formWrap.landingPage .buttons a:hover {
  scale: 1.05;
  background-color: var(--brand-dark);
  color: var(--brand-dark-contrast);
}
.ie #membership .formWrap.landingPage .buttons a:hover .image {
  scale: 1.1;
}
.ie #membership .formWrap.landingPage .buttons a:hover .icon {
  background-color: var(--hover);
  color: var(--hover-contrast);
}
#membership .formWrap.landingPage .buttons a.focus-visible {
  scale: 1.05;
  background-color: var(--brand-dark);
  color: var(--brand-dark-contrast);
}
#membership .formWrap.landingPage .buttons a.focus-visible .image {
  scale: 1.1;
}
#membership .formWrap.landingPage .buttons a.focus-visible .icon {
  background-color: var(--hover);
  color: var(--hover-contrast);
}
#membership .formWrap.landingPage .buttons a:focus-visible {
  scale: 1.05;
  background-color: var(--brand-dark);
  color: var(--brand-dark-contrast);
}
#membership .formWrap.landingPage .buttons a:focus-visible .image {
  scale: 1.1;
}
#membership .formWrap.landingPage .buttons a:focus-visible .icon {
  background-color: var(--hover);
  color: var(--hover-contrast);
}
#membership .formWrap.landingPage .buttons a:has(.image) .graphicHolder {
  height: 115px;
}
#membership .formWrap.landingPage .buttons a:has(.image) .icon {
  display: none;
}
#membership .formWrap.landingPage .buttons .graphicHolder {
  min-height: 78px;
  aspect-ratio: 1/1;
  display: flex;
  overflow: hidden;
  flex-shrink: 0;
  transition: all 200ms;
  box-shadow: var(--shadow);
  border-radius: calc(var(--radius-circle) * 0.4);
}
@supports (corner-shape: squircle) {
  #membership .formWrap.landingPage .buttons .graphicHolder {
    /* stylelint-disable */
    corner-shape: squircle;
    /* stylelint-enable */
    border-radius: var(--radius-circle);
  }
}
#membership .formWrap.landingPage .buttons .graphicHolder {
  background-color: var(--light);
  color: var(--light-contrast);
}
#membership .formWrap.landingPage .buttons .graphicHolder > * {
  width: 100%;
  height: 100%;
  transition: all 200ms;
}
#membership .formWrap.landingPage .buttons .image {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 50% 50%;
}
#membership .formWrap.landingPage .buttons .icon {
  font-family: var(--icon-font);
  font-size: 2.8em;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 15px;
  color: var(--brand-dark);
  border: 2px solid var(--light);
  background: var(--light);
  border-radius: calc(var(--radius-circle) * 0.4);
}
@supports (corner-shape: squircle) {
  #membership .formWrap.landingPage .buttons .icon {
    /* stylelint-disable */
    corner-shape: squircle;
    /* stylelint-enable */
    border-radius: var(--radius-circle);
  }
}
#membership .formWrap.landingPage .buttons .text {
  font-size: 1.5em;
}
#membership .formWrap.landingPage .buttons .guestLoginBtn .icon:before {
  content: "k";
}
#membership .formWrap.landingPage .buttons .enrolleeLoginBtn .icon:before {
  content: "C";
}
#membership .formWrap.accountProfiler {
  text-align: left;
  padding-top: 30px;
  color: var(--light-contrast);
}
#membership .formWrap.accountProfiler .profilerFormWrapper {
  max-width: 600px;
  margin: 0 auto;
}
#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: 15px;
  text-align: center;
}
#membership .formWrap.accountProfiler .styledFieldset.phone .fieldWrapper {
  border-bottom: 2px solid var(--light-grey);
  margin-bottom: 15px;
  padding-bottom: 10px;
}
#membership .formWrap.accountProfiler p.profileSelectExplainer {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  position: relative;
  text-align: left;
  background: var(--brand-dark);
  color: var(--brand-dark-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-dark);
  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;
  background: none;
  border-radius: var(--radius);
  overflow: visible;
  font-size: 0.8em;
  border-bottom: 1px solid var(--brand-dark);
  cursor: pointer;
  color: var(--brand-dark);
  background-color: var(--brand-dark-contrast);
  transition: 200ms;
}
@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.twoFactor .singleFieldSubmission {
  display: flex;
  justify-content: center;
  margin-bottom: 25px;
}
#membership .formWrap.twoFactor .singleFieldSubmission .fieldWrapper {
  margin: 0 5px 0 0;
}
#membership .formWrap.twoFactor .singleFieldSubmission button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.6em 1.5em;
  border-width: 3px;
  border-style: solid;
  border-color: oklch(from var(--brand-dark) max(l - l * 0.15, 0) c h);
  line-height: 1.1em;
  text-align: center;
  border-radius: var(--radius);
  font-family: var(--basic-font);
  outline-offset: 0;
  text-decoration: none;
  transition: all 200ms;
  background-color: var(--brand-dark);
  color: var(--brand-dark-contrast);
}
@media (hover: hover) and (pointer: fine) {
  #membership .formWrap.twoFactor .singleFieldSubmission button:hover {
    transform: scale(1.03);
    text-decoration: none;
    background-color: var(--brand-bright);
    color: var(--brand-bright-contrast);
    border-color: oklch(from var(--brand-bright) max(l - l * 0.1, 0) c h);
    cursor: pointer;
  }
}
[data-browser=ie] #membership .formWrap.twoFactor .singleFieldSubmission button:hover {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--brand-bright);
  color: var(--brand-bright-contrast);
  border-color: oklch(from var(--brand-bright) max(l - l * 0.1, 0) c h);
  cursor: pointer;
}
.ie #membership .formWrap.twoFactor .singleFieldSubmission button:hover {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--brand-bright);
  color: var(--brand-bright-contrast);
  border-color: oklch(from var(--brand-bright) max(l - l * 0.1, 0) c h);
  cursor: pointer;
}
#membership .formWrap.twoFactor .singleFieldSubmission button.focus-visible {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--brand-bright);
  color: var(--brand-bright-contrast);
  border-color: oklch(from var(--brand-bright) max(l - l * 0.1, 0) c h);
  cursor: pointer;
}
#membership .formWrap.twoFactor .singleFieldSubmission button:focus-visible {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--brand-bright);
  color: var(--brand-bright-contrast);
  border-color: oklch(from var(--brand-bright) max(l - l * 0.1, 0) 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 #TFAButtonApp {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.6em 1.5em;
  border-width: 3px;
  border-style: solid;
  border-color: oklch(from var(--brand-bright) max(l - l * 0.15, 0) c h);
  line-height: 1.1em;
  text-align: center;
  border-radius: var(--radius);
  font-family: var(--basic-font);
  outline-offset: 0;
  text-decoration: none;
  transition: all 200ms;
  background-color: var(--brand-bright);
  color: var(--brand-bright-contrast);
}
@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) max(l - l * 0.1, 0) 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) max(l - l * 0.1, 0) 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) max(l - l * 0.1, 0) 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) max(l - l * 0.1, 0) 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) max(l - l * 0.1, 0) 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: 0;
  padding: 0 0 2px;
  margin-top: 15px;
  border-bottom: 1px solid var(--brand-dark);
  color: var(--brand-dark);
  background-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 .formWrap.forgotPassword p {
  text-align: center;
}
#membership .buttonHolder {
  text-align: center;
}
#membership .buttonHolder button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.6em 1.5em;
  border-width: 3px;
  border-style: solid;
  border-color: oklch(from var(--brand-dark) max(l - l * 0.15, 0) c h);
  line-height: 1.1em;
  text-align: center;
  border-radius: var(--radius);
  font-family: var(--basic-font);
  outline-offset: 0;
  text-decoration: none;
  transition: all 200ms;
  background-color: var(--brand-dark);
  color: var(--brand-dark-contrast);
}
@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) max(l - l * 0.1, 0) 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) max(l - l * 0.1, 0) 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) max(l - l * 0.1, 0) 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) max(l - l * 0.1, 0) 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) max(l - l * 0.1, 0) 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;
  background-color: var(--light);
  border-color: var(--brand-dark);
}
#membership .styledFieldset legend {
  background-color: var(--brand-dark);
  border: 2px solid var(--light);
}
#membership .styledFieldset .groupLegend {
  display: inline-block;
  margin-bottom: 20px;
  background-color: var(--brand-dark);
  color: var(--brand-dark-contrast);
  padding: 5px 10px;
  font-weight: 700;
}
#membership .styledFieldset #requirements > :not(.icon) {
  color: var(--light-contrast);
}
#membership .styledFieldset #requirements .invalid .icon::before {
  content: "b";
}

.simpleDialog .closeDialog {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.6em 1.5em;
  border-width: 3px;
  border-style: solid;
  border-color: oklch(from var(--brand-bright) max(l - l * 0.15, 0) c h);
  line-height: 1.1em;
  text-align: center;
  border-radius: var(--radius);
  font-family: var(--basic-font);
  outline-offset: 0;
  text-decoration: none;
  transition: all 200ms;
  background-color: var(--brand-bright);
  color: var(--brand-bright-contrast);
}
@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) max(l - l * 0.1, 0) 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) max(l - l * 0.1, 0) 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) max(l - l * 0.1, 0) 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) max(l - l * 0.1, 0) 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) max(l - l * 0.1, 0) 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.6em 1.5em;
  border-width: 3px;
  border-style: solid;
  border-color: oklch(from var(--brand-bright) max(l - l * 0.15, 0) c h);
  line-height: 1.1em;
  text-align: center;
  border-radius: var(--radius);
  font-family: var(--basic-font);
  outline-offset: 0;
  text-decoration: none;
  transition: all 200ms;
  background-color: var(--brand-bright);
  color: var(--brand-bright-contrast);
}
@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) max(l - l * 0.1, 0) 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) max(l - l * 0.1, 0) 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) max(l - l * 0.1, 0) 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) max(l - l * 0.1, 0) 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) max(l - l * 0.1, 0) c h);
  cursor: pointer;
}
#resetData button[disabled], #resetData button[aria-disabled=true] {
  opacity: 0.5;
  cursor: not-allowed;
}

@media (max-width: 1280px) {
  #membership {
    max-width: 750px;
  }
  #membership .formWrap.landingPage {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 1050px) {
  #backgroundPlayBtn {
    position: absolute;
    top: 118px;
  }
}
@media (max-width: 900px) {
  #membership {
    max-width: 100%;
  }
}
@media (max-width: 800px) {
  .socialMedia .socialMediaLogins {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  header {
    height: auto;
  }
  header .branding {
    flex-direction: column;
  }
  header .branding .orientationTitle {
    text-align: center;
    font-size: 1.5em;
  }
  header .logoWrap {
    justify-content: center;
    width: 100%;
    max-width: 280px;
    margin-bottom: 10px;
    flex: auto;
  }
  [data-logo-aspect=tall] header .logoWrap {
    width: 230px;
    height: 150px;
  }
  [data-logo-aspect=tall] .headerElement:before {
    width: 400px;
  }
  #membership .formWrap.landingPage .buttons {
    flex-direction: column;
    padding-top: 20px;
    padding-left: 0;
    padding-right: 0;
    gap: 18px;
  }
  #membership .formWrap.landingPage .buttons a .graphicHolder {
    min-height: 80px;
  }
  #membership .formWrap.login .loginWrapper {
    flex-direction: column;
    gap: 0;
  }
  #backgroundPlayBtn {
    top: 165px;
  }
}
@media (max-width: 650px) {
  header .logoWrap {
    left: -20px;
    width: 200px;
    padding-bottom: 15px;
  }
  [data-logo-aspect=tall] header .logoWrap {
    left: -15px;
    padding-left: 5px;
    width: 150px;
    height: 100px;
  }
  .headerElement {
    height: 120px;
  }
  .headerElement:before {
    width: 100%;
    scale: 1;
    border-radius: 0;
    border-radius: 200px/60px;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    border-bottom-left-radius: 0;
    top: -100px;
    left: -1px;
  }
  #background {
    height: 100vh;
  }
  #membership .titleArea {
    padding-left: 30px;
    padding-right: 30px;
    text-wrap: balance;
  }
  #membership .titleArea h2 {
    font-size: 1.5em;
  }
  #membership .formWrap.landingPage {
    padding-left: 20px;
    padding-right: 20px;
  }
  #membership .formWrap.landingPage .buttons {
    gap: 14px;
  }
  #membership .formWrap.landingPage .buttons a {
    border-radius: var(--radius-xxl);
  }
  #membership .formWrap.accountProfiler {
    width: 100%;
  }
  #resetData button {
    width: 100%;
    margin-bottom: 8px;
  }
  #backgroundPlayBtn {
    display: none;
  }
}
@media (max-width: 520px) {
  .socialMedia .socialMediaLogins {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  #membership {
    padding-bottom: 0;
  }
  #membership .titleArea {
    margin-bottom: 0;
  }
  #membership .formWrap {
    max-width: 100vw;
    width: 100%;
    margin: 0;
    padding-left: 30px;
    padding-right: 30px;
  }
  #membership .formWrap::after {
    width: 100%;
    margin: 0;
  }
  #membership .formWrap.accountProfiler {
    width: 100%;
  }
  #membership .formWrap.landingPage .buttons a .graphicHolder {
    height: 70px;
  }
}
.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(100vw - 80px);
  max-height: calc((100vw - 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: 650px) {
  .rte img[style*="float: right"], .rte img[style*="float: left"] {
    max-width: 50%;
  }
}
@media (max-width: 520px), (max-width: 1050px) and (min-width: 801px) {
  .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: 650px) {
  .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: 1050px) and (min-width: 801px) {
  .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;
}
.rte .tableWrapper table caption {
  padding: 4px;
  font-weight: 500;
  background-color: var(--brand-dark);
  color: var(--brand-dark-contrast);
}
.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: 3px;
  background-color: var(--brand-bright);
  color: var(--brand-bright-contrast);
  border-color: black;
}
.rte .tableWrapper table td {
  padding: 3px;
  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: 650px) {
  .rte .tableWrapper .mobileScrollMessage {
    display: inline-block;
  }
}
.rte p,
#revealModalDialog .copyWrap p {
  font-family: var(--basic-font);
  font-size: 1em;
}
.rte h3.heading,
#revealModalDialog .copyWrap h3.heading {
  width: -webkit-fit-content;
  width: fit-content;
  margin: 0.75em 0 0.4em;
  font-size: 1.65em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  color: var(--brand-dark);
  background-color: var(--brand-dark-contrast);
}
.rte .headingList,
.rte .subheadingList,
#revealModalDialog .copyWrap .headingList,
#revealModalDialog .copyWrap .subheadingList {
  width: -webkit-fit-content;
  width: fit-content;
  margin: 0.75em 0 0.4em;
  padding-bottom: 0.25em;
  border-bottom: 2px solid var(--brand-dark);
  font-weight: 400;
  letter-spacing: 0.025em;
  line-height: 1.2em;
  color: var(--brand-dark);
  background-color: var(--brand-dark-contrast);
}
.rte h3.headingList,
#revealModalDialog .copyWrap h3.headingList {
  font-size: 1.2em;
}
.rte h4.subheadingList,
#revealModalDialog .copyWrap h4.subheadingList {
  font-size: 1em;
}
.rte h4.subheading,
#revealModalDialog .copyWrap h4.subheading {
  width: -webkit-fit-content;
  width: fit-content;
  margin: 0.75em 0 0.4em;
  font-size: 1.35em;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--basic);
  background-color: var(--basic-contrast);
  border-radius: 8px;
}
.rte .largeText,
#revealModalDialog .copyWrap .largeText {
  position: relative;
  margin-bottom: 25px;
  display: block;
  width: -webkit-fit-content;
  width: fit-content;
  font-size: 1.3em;
  line-height: 1.4em;
  font-family: var(--primary-font);
  font-weight: 400;
  background: var(--light-grey);
  padding: 10px 15px 10px 25px;
  border-radius: var(--radius-sm);
  overflow: hidden;
}
.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: "";
  position: absolute;
  left: 0px;
  top: 0px;
  width: 10px;
  height: 0;
  background: var(--brand-bright);
  transition: height 300ms;
  transition-delay: 1000ms;
}
.current .rte .largeText:before,
.current #revealModalDialog .copyWrap .largeText:before {
  height: 100%;
}
.rte .highlight,
#revealModalDialog .copyWrap .highlight {
  background: color-mix(in srgb, var(--brand-bright) 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.25em;
  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: 1em 0 0.4em;
  padding: 10px 15px;
  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));
  border: 2px solid var(--light);
  position: relative;
}
.calloutSubtle a {
  background-color: var(--light-grey);
  color: var(--light-grey-contrast);
  border-bottom: 2px solid var(--light-grey-contrast);
}
@media (hover: hover) and (pointer: fine) {
  .calloutSubtle a:hover {
    color: var(--basic);
    background-color: var(--basic-contrast);
    border-bottom-color: var(--basic);
  }
}
[data-browser=ie] .calloutSubtle a:hover {
  color: var(--basic);
  background-color: var(--basic-contrast);
  border-bottom-color: var(--basic);
}
.ie .calloutSubtle a:hover {
  color: var(--basic);
  background-color: var(--basic-contrast);
  border-bottom-color: var(--basic);
}
.calloutSubtle a.focus-visible {
  color: var(--basic);
  background-color: var(--basic-contrast);
  border-bottom-color: var(--basic);
}
.calloutSubtle a:focus-visible {
  color: var(--basic);
  background-color: var(--basic-contrast);
  border-bottom-color: var(--basic);
}

.calloutBold {
  clear: both;
  margin: 0.75em 0 0.4em;
  padding: 10px 15px;
  border-radius: var(--radius);
  background-color: var(--brand-dark);
  color: var(--brand-dark-contrast);
  filter: drop-shadow(0px 1px 4px rgba(0, 0, 0, 0.2));
}
.calloutBold a {
  background-color: var(--brand-dark);
  color: var(--brand-dark-contrast);
  border-bottom: 2px solid var(--brand-dark-contrast);
}
@media (hover: hover) and (pointer: fine) {
  .calloutBold a:hover {
    color: var(--basic);
    background-color: var(--basic-contrast);
    border-bottom-color: var(--basic);
  }
}
[data-browser=ie] .calloutBold a:hover {
  color: var(--basic);
  background-color: var(--basic-contrast);
  border-bottom-color: var(--basic);
}
.ie .calloutBold a:hover {
  color: var(--basic);
  background-color: var(--basic-contrast);
  border-bottom-color: var(--basic);
}
.calloutBold a.focus-visible {
  color: var(--basic);
  background-color: var(--basic-contrast);
  border-bottom-color: var(--basic);
}
.calloutBold a:focus-visible {
  color: var(--basic);
  background-color: var(--basic-contrast);
  border-bottom-color: var(--basic);
}

#membership .formWrap.maintenance {
  background: var(--brand-dark);
  border-color: var(--light);
}
#membership .formWrap.maintenance .formArea {
  display: flex;
  justify-content: space-around;
  align-items: center;
  width: 100%;
  background: transparent;
}
#membership .formWrap.maintenance .formArea .rte {
  color: var(--light);
  padding-right: 25px;
}
#membership .formWrap.maintenance .formArea .icon {
  flex-shrink: 0;
  flex-grow: 0;
  width: 350px;
  height: 350px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 16em;
  border-radius: 34% 66% 70% 30%/61% 74% 26% 39%;
  padding-right: 25px;
  background-color: oklch(from var(--brand-dark) max(l - l * 0.1, 0) c h);
  color: var(--light);
}

@media (max-width: 800px) {
  #membership .formWrap.maintenance .formArea .icon {
    width: 150px;
    height: 150px;
    font-size: 6em;
    padding-right: 8px;
  }
}
@media (max-width: 650px) {
  #membership .formWrap.maintenance .formArea {
    flex-direction: column-reverse;
    justify-content: center;
  }
  #membership .formWrap.maintenance .formArea .rte {
    padding-right: 0;
  }
  #membership .formWrap.maintenance .formArea .icon {
    width: 75px;
    height: 75px;
    font-size: 3em;
    padding: 0;
    margin-bottom: 25px;
  }
}
.membershipPage .errorPage .titleArea {
  margin-bottom: 0 !important;
}
.membershipPage .errorPage .errorWrap {
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  align-items: center;
  background-color: var(--brand-bright);
  color: var(--brand-bright-contrast);
  border-radius: 0;
  padding: 30px;
  border-color: var(--light);
  border-style: solid;
  border-width: 0px 3px 0 3px;
}
.membershipPage .errorPage .icon {
  flex-shrink: 0;
  flex-grow: 0;
  width: 350px;
  height: 350px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 16em;
  border-radius: 75px;
  border: 4px solid var(--light);
  background-color: oklch(from var(--brand-dark) max(l - l * 0.1, 0) c h);
  color: var(--light);
  overflow: hidden;
}
.membershipPage .errorPage .rte {
  text-align: center;
  margin-right: 40px;
  color: currentColor;
}
.membershipPage .errorPage .rte h3.heading {
  background: transparent;
  color: currentColor;
  text-transform: none;
}

@media (max-width: 1050px) {
  .membershipPage .errorPage .icon {
    font-size: 5.25em;
    width: 125px;
    height: 125px;
    border-width: 2px;
    padding-left: 30px;
  }
}
@media (max-width: 800px) {
  .membershipPage .errorPage .errorWrap {
    flex-direction: column;
    padding-top: 20px;
  }
  .membershipPage .errorPage .rte {
    margin-right: 0;
  }
  .membershipPage .errorPage .icon {
    font-size: 4em;
    width: 100px;
    height: 100px;
    border-width: 2px;
    margin-bottom: 20px;
  }
}
@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;
}

.primaryAccordion {
  position: relative;
  margin: 10px 0;
}
.primaryAccordion[open] > .accordionTitle {
  border-radius: var(--radius-sm) var(--radius-sm) 0 0;
}
.primaryAccordion[open] > .accordionTitle .icon-arrow-down {
  transform: translateY(-50%) rotate(180deg);
}
.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: 2px;
  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;
  background-color: var(--brand-dark);
  color: var(--brand-dark-contrast);
  padding: 20px 20px 20px 34px;
  transition: all 200ms;
  border-radius: var(--radius-sm);
}
@media (hover: hover) and (pointer: fine) {
  .primaryAccordion .accordionTitle:hover {
    background-color: var(--brand-bright);
    color: var(--brand-bright-contrast);
  }
  .primaryAccordion .accordionTitle:hover .icon-arrow-down {
    color: var(--brand-bright-contrast);
  }
}
[data-browser=ie] .primaryAccordion .accordionTitle:hover {
  background-color: var(--brand-bright);
  color: var(--brand-bright-contrast);
}
[data-browser=ie] .primaryAccordion .accordionTitle:hover .icon-arrow-down {
  color: var(--brand-bright-contrast);
}
.ie .primaryAccordion .accordionTitle:hover {
  background-color: var(--brand-bright);
  color: var(--brand-bright-contrast);
}
.ie .primaryAccordion .accordionTitle:hover .icon-arrow-down {
  color: var(--brand-bright-contrast);
}
.primaryAccordion .accordionTitle.focus-visible {
  background-color: var(--brand-bright);
  color: var(--brand-bright-contrast);
}
.primaryAccordion .accordionTitle.focus-visible .icon-arrow-down {
  color: var(--brand-bright-contrast);
}
.primaryAccordion .accordionTitle:focus-visible {
  background-color: var(--brand-bright);
  color: var(--brand-bright-contrast);
}
.primaryAccordion .accordionTitle:focus-visible .icon-arrow-down {
  color: var(--brand-bright-contrast);
}
.primaryAccordion .accordionTitle .icon-arrow-down {
  color: var(--brand-dark-contrast);
  position: absolute;
  top: 50%;
  left: 12px;
  transform: rotate(0) translateY(-50%);
  transform-origin: center;
  transition: 0.2s transform;
}
.primaryAccordion .accordionWrapper {
  padding: 20px 20px;
  background-color: var(--light);
  color: var(--light-contrast);
  border-left: 7px solid var(--light-grey);
}
.primaryAccordion .accordionWrapper img {
  max-width: 100%;
  height: auto !important;
}
.primaryAccordion + .rte {
  margin-top: 25px;
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpbGU6Ly8vRDovU291cmNlL1dvcmtzcGFjZXMvUXVpbnNpZ2Ftb25kJTIwQ29tbXVuaXR5JTIwQ29sbGVnZSUyMC0lMjBVcGdyYWRlJTIwLSUyMDc4MTQvUXVpbnNpZ2Ftb25kLTc4MTQvU2Fzcy9fZ2xvYmFsL19zb2xvLWxheWVycy5zY3NzIiwiZmlsZTovLy9EOi9Tb3VyY2UvV29ya3NwYWNlcy9RdWluc2lnYW1vbmQlMjBDb21tdW5pdHklMjBDb2xsZWdlJTIwLSUyMFVwZ3JhZGUlMjAtJTIwNzgxNC9RdWluc2lnYW1vbmQtNzgxNC9TYXNzL2hvcml6b24vYWRnTWVtYmVyc2hpcC5zY3NzIiwiZmlsZTovLy9kOi9zb3VyY2Uvd29ya3NwYWNlcy9xdWluc2lnYW1vbmQlMjBjb21tdW5pdHklMjBjb2xsZWdlJTIwLSUyMHVwZ3JhZGUlMjAtJTIwNzgxNC9xdWluc2lnYW1vbmQtNzgxNC9ub2RlX21vZHVsZXMvaW50bC10ZWwtaW5wdXQvYnVpbGQvY3NzL2ludGx0ZWxpbnB1dC5jc3MiLCIuLi8uLi8uLi9TYXNzL2hvcml6b24vYWRnTWVtYmVyc2hpcC5zY3NzIiwiZmlsZTovLy9EOi9Tb3VyY2UvV29ya3NwYWNlcy9RdWluc2lnYW1vbmQlMjBDb21tdW5pdHklMjBDb2xsZWdlJTIwLSUyMFVwZ3JhZGUlMjAtJTIwNzgxNC9RdWluc2lnYW1vbmQtNzgxNC9TYXNzL19nbG9iYWwvX3NoYXJlZC1taXhpbnMuc2NzcyIsImZpbGU6Ly8vRDovU291cmNlL1dvcmtzcGFjZXMvUXVpbnNpZ2Ftb25kJTIwQ29tbXVuaXR5JTIwQ29sbGVnZSUyMC0lMjBVcGdyYWRlJTIwLSUyMDc4MTQvUXVpbnNpZ2Ftb25kLTc4MTQvU2Fzcy9fZ2xvYmFsL19zaGFyZWQtZ2xvYmFsLnNjc3MiLCJmaWxlOi8vL0Q6L1NvdXJjZS9Xb3Jrc3BhY2VzL1F1aW5zaWdhbW9uZCUyMENvbW11bml0eSUyMENvbGxlZ2UlMjAtJTIwVXBncmFkZSUyMC0lMjA3ODE0L1F1aW5zaWdhbW9uZC03ODE0L1Nhc3MvaG9yaXpvbi9fZ2xvYmFsLnNjc3MiLCJmaWxlOi8vL0Q6L1NvdXJjZS9Xb3Jrc3BhY2VzL1F1aW5zaWdhbW9uZCUyMENvbW11bml0eSUyMENvbGxlZ2UlMjAtJTIwVXBncmFkZSUyMC0lMjA3ODE0L1F1aW5zaWdhbW9uZC03ODE0L1Nhc3MvX2dsb2JhbC9fc2hhcmVkLWZvcm1zLnNjc3MiLCJmaWxlOi8vL0Q6L1NvdXJjZS9Xb3Jrc3BhY2VzL1F1aW5zaWdhbW9uZCUyMENvbW11bml0eSUyMENvbGxlZ2UlMjAtJTIwVXBncmFkZSUyMC0lMjA3ODE0L1F1aW5zaWdhbW9uZC03ODE0L1Nhc3MvaG9yaXpvbi9fZm9ybXMuc2NzcyIsImZpbGU6Ly8vRDovU291cmNlL1dvcmtzcGFjZXMvUXVpbnNpZ2Ftb25kJTIwQ29tbXVuaXR5JTIwQ29sbGVnZSUyMC0lMjBVcGdyYWRlJTIwLSUyMDc4MTQvUXVpbnNpZ2Ftb25kLTc4MTQvU2Fzcy9fZ2xvYmFsL19zaGFyZWQtZGlhbG9ncy5zY3NzIiwiZmlsZTovLy9EOi9Tb3VyY2UvV29ya3NwYWNlcy9RdWluc2lnYW1vbmQlMjBDb21tdW5pdHklMjBDb2xsZWdlJTIwLSUyMFVwZ3JhZGUlMjAtJTIwNzgxNC9RdWluc2lnYW1vbmQtNzgxNC9TYXNzL19nbG9iYWwvX3NoYXJlZC12YXJpYWJsZXMuc2NzcyIsImZpbGU6Ly8vRDovU291cmNlL1dvcmtzcGFjZXMvUXVpbnNpZ2Ftb25kJTIwQ29tbXVuaXR5JTIwQ29sbGVnZSUyMC0lMjBVcGdyYWRlJTIwLSUyMDc4MTQvUXVpbnNpZ2Ftb25kLTc4MTQvU2Fzcy9ob3Jpem9uL19kaWFsb2cuc2NzcyIsImZpbGU6Ly8vRDovU291cmNlL1dvcmtzcGFjZXMvUXVpbnNpZ2Ftb25kJTIwQ29tbXVuaXR5JTIwQ29sbGVnZSUyMC0lMjBVcGdyYWRlJTIwLSUyMDc4MTQvUXVpbnNpZ2Ftb25kLTc4MTQvU2Fzcy9ob3Jpem9uL19taXhpbnMuc2NzcyIsImZpbGU6Ly8vRDovU291cmNlL1dvcmtzcGFjZXMvUXVpbnNpZ2Ftb25kJTIwQ29tbXVuaXR5JTIwQ29sbGVnZSUyMC0lMjBVcGdyYWRlJTIwLSUyMDc4MTQvUXVpbnNpZ2Ftb25kLTc4MTQvU2Fzcy9fZ2xvYmFsL19zaGFyZWQtYmFja2dyb3VuZC5zY3NzIiwiZmlsZTovLy9EOi9Tb3VyY2UvV29ya3NwYWNlcy9RdWluc2lnYW1vbmQlMjBDb21tdW5pdHklMjBDb2xsZWdlJTIwLSUyMFVwZ3JhZGUlMjAtJTIwNzgxNC9RdWluc2lnYW1vbmQtNzgxNC9TYXNzL2hvcml6b24vX2JhY2tncm91bmQuc2NzcyIsImZpbGU6Ly8vRDovU291cmNlL1dvcmtzcGFjZXMvUXVpbnNpZ2Ftb25kJTIwQ29tbXVuaXR5JTIwQ29sbGVnZSUyMC0lMjBVcGdyYWRlJTIwLSUyMDc4MTQvUXVpbnNpZ2Ftb25kLTc4MTQvU2Fzcy9ob3Jpem9uL19sb2dpbi5zY3NzIiwiZmlsZTovLy9EOi9Tb3VyY2UvV29ya3NwYWNlcy9RdWluc2lnYW1vbmQlMjBDb21tdW5pdHklMjBDb2xsZWdlJTIwLSUyMFVwZ3JhZGUlMjAtJTIwNzgxNC9RdWluc2lnYW1vbmQtNzgxNC9TYXNzL19nbG9iYWwvX3NoYXJlZC1yaWNoVGV4dFN0eWxlcy5zY3NzIiwiZmlsZTovLy9EOi9Tb3VyY2UvV29ya3NwYWNlcy9RdWluc2lnYW1vbmQlMjBDb21tdW5pdHklMjBDb2xsZWdlJTIwLSUyMFVwZ3JhZGUlMjAtJTIwNzgxNC9RdWluc2lnYW1vbmQtNzgxNC9TYXNzL2hvcml6b24vX3JpY2hUZXh0U3R5bGVzLnNjc3MiLCJmaWxlOi8vL0Q6L1NvdXJjZS9Xb3Jrc3BhY2VzL1F1aW5zaWdhbW9uZCUyMENvbW11bml0eSUyMENvbGxlZ2UlMjAtJTIwVXBncmFkZSUyMC0lMjA3ODE0L1F1aW5zaWdhbW9uZC03ODE0L1Nhc3MvaG9yaXpvbi9fbWFpbnRlbmFuY2Uuc2NzcyIsImZpbGU6Ly8vRDovU291cmNlL1dvcmtzcGFjZXMvUXVpbnNpZ2Ftb25kJTIwQ29tbXVuaXR5JTIwQ29sbGVnZSUyMC0lMjBVcGdyYWRlJTIwLSUyMDc4MTQvUXVpbnNpZ2Ftb25kLTc4MTQvU2Fzcy9ob3Jpem9uL19lcnJvclBhZ2VzLnNjc3MiLCJmaWxlOi8vL0Q6L1NvdXJjZS9Xb3Jrc3BhY2VzL1F1aW5zaWdhbW9uZCUyMENvbW11bml0eSUyMENvbGxlZ2UlMjAtJTIwVXBncmFkZSUyMC0lMjA3ODE0L1F1aW5zaWdhbW9uZC03ODE0L1Nhc3MvX2dsb2JhbC9fc2hhcmVkLWFjY29yZGlvbnMuc2NzcyIsImZpbGU6Ly8vRDovU291cmNlL1dvcmtzcGFjZXMvUXVpbnNpZ2Ftb25kJTIwQ29tbXVuaXR5JTIwQ29sbGVnZSUyMC0lMjBVcGdyYWRlJTIwLSUyMDc4MTQvUXVpbnNpZ2Ftb25kLTc4MTQvU2Fzcy9ob3Jpem9uL19hY2NvcmRpb24uc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFBO0FBQ0EsV0FBQTtBQ0NBLHNCQUFBO0FDRkE7RUFDRSxzQ0FBQTtFQUNBLHdCQUFBO0VBQ0EsMEJBQUE7RUFDQSx3QkFBQTtFQUNBLDZCQUFBO0VBQ0EsNEJBQUE7RUFDQSx1QkFBQTtFQUNBLHNCQUFBO0VBQ0EsdUJBQUE7RUFDQSx1QkFBQTtFQUNBLHNCQUFBO0VBQ0EsdURBQUE7RUFDQSx3QkFBQTtFQUNBLHVCQUFBO0VBQ0EsNkNBQUE7RUFDQSxnREFBQTtFQUNBLDZDQUFBO0VBQ0EsZ0RBQUE7RUFDQSwrQkFBQTtFQUNBLDhCQUFBO0VBQ0EsK0JBQUE7QUNJRjs7QUREQTtFQUNFLGtCQUFBO0VBQ0EscUJBQUE7QUNJRjs7QURGQTtFQUNFLHNCQUFBO0FDS0Y7O0FESEE7RUFDRSxVQUFBO0VBQ0EsV0FBQTtFQUNBLDhCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtBQ01GOztBREpBOzs7RUFHRSxrQkFBQTtFQUNBLFVBQUE7RUFDQSxvQkFBQTtBQ09GOztBRExBOzs7RUFHRSxpQkFBQTtBQ1FGOztBRE5BO0VBQ0Usa0JBQUE7RUFDQSxNQUFBO0VBQ0EsU0FBQTtFQUNBLGdDQUFBO0FDU0Y7O0FEUEE7RUFDRSxVQUFBO0VBQ0Esa0JB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QUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtBQytDRjs7QUQ3Q0E7RUFDRSxrQkFBQTtFQUNBLGtCQUFBO0FDZ0RGOztBRDdDQTtFQUNFLHdCQUFBO0VBQ0EsOEJBQUE7RUFDQSw0QkFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0NBQUE7RUFDQSwwQ0FBQTtFQUNBLDRCQUFBO0VBQ0EsNkNBQUE7RUFDQSwyRUFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSxzQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx3QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx3QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx3QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx3QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx3QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx3QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSww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RSxtQ0FBQTtBbEJ3d0pSO0FDendJRTtFQTJDRSxxQ0FBQTtFQUNBLG1DQUFBO0FEaXVJSjtBa0I3d0pNO0VBQ0UsbUNBQUE7QWxCK3dKUjtBQ3J3SUU7RUFnQ0UscUNBQUE7RUFDQSxtQ0FBQTtBRHd1SUo7QWtCcHhKTTtFQUNFLG1DQUFBO0FsQnN4SlI7QUN4d0lFO0VBNEJFLHFDQUFBO0VBQ0EsbUNBQUE7QUQrdUlKO0FrQjN4Sk07RUFDRSxtQ0FBQTtBbEI2eEpSO0FrQnp4Skk7RUFDRSxpQ0FBQTtFQUNBLGtCQUFBO0VBQ0EsUUFBQTtFQUNBLFVBQUE7RUFDQSxxQ0FBQTtFQUNBLHdCQUFBO0VBQ0EsMEJBQUE7QWxCMnhKTjtBa0J2eEpFO0VBQ0Usa0JBQUE7RWpCMGhCQSw4QkFBQTtFQUNBLDRCQUFBO0VpQnpoQkEsd0NBQUE7QWxCMHhKSjtBa0J6eEpJO0VBQ0UsZUFBQTtFQUNBLHVCQUFBO0FsQjJ4Sk47QWtCdnhKRTtFQUNFLGdCQUFBO0FsQnl4SkoiLCJmaWxlIjoiYWRnTWVtYmVyc2hpcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAbGF5ZXIgcmVzZXQ7IC8vIENyZWF0ZSAxc3QgbGF5ZXIgbmFtZWQgXCJyZXNldFwiXHJcbkBsYXllciBiYXNlOyAvLyBDcmVhdGUgMm5kIGxheWVyIG5hbWVkIFwiYmFzZVwiXHJcblxyXG4vLyBTb21lIGFkZGl0aW9uYWwgbm90ZXMgYW5kIHJlbWluZGVyczpcclxuLy8gLSBzb2xvLWxheWVycyBhcmUgYXBwbGllZCBpbiB0aGUgb3JkZXIgdGhleSdyZSBkZWNsYXJlZC4gU28gaW4gdGhlIGNhc2UgYWJvdmUsIHN0eWxlcyBpbiBcImJhc2VcIiBvdmVyd3JpdGUgc3R5bGVzIGluIFwicmVzZXRcIi5cclxuLy8gLSBSZWd1bGFyIHN0eWxlcyAoYWthIG9uZXMgbm90IGluc2lkZSBhIGxheWVyKSBhbHdheXMgb3ZlcndyaXRlIHN0eWxlcyBpbnNpZGUgb2Ygc29sby1sYXllcnMsIHJlZ2FyZGxlc3Mgb2Ygc3BlY2lmaWNpdHkuXHJcbi8vIC0gRE8gTk9UIHVzZSAhaW1wb3J0YW50IGluc2lkZSBvZiBhIGxheWVyLCBpdCBXSUxMIGNhdXNlIGlzc3VlcyBhbmQgc2FkbmVzcy5cclxuIiwiQHVzZSBcIi4uL19nbG9iYWwvc29sby1sYXllcnNcIjsgLy8gVGhpcyBzaG91bGQgQUxXQVlTIGJlIGZpcnN0IGluIHRoZSBsaXN0IG9mIGltcG9ydHMgb3IgdGhpbmdzIHdpbGwgZ2V0IHdlaXJkLlxyXG5cclxuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cclxuQHVzZSBcInBrZzppbnRsLXRlbC1pbnB1dC9zdHlsZXNcIjtcclxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xyXG5AdXNlIFwiZ2xvYmFsXCI7XHJcbkB1c2UgXCJmb250c1wiO1xyXG5AdXNlIFwiZm9ybXNcIjtcclxuQHVzZSBcImRpYWxvZ1wiO1xyXG5AdXNlIFwiYmFja2dyb3VuZFwiO1xyXG5AdXNlIFwibG9naW5cIjtcclxuQHVzZSBcInJpY2hUZXh0U3R5bGVzXCI7XHJcbkB1c2UgXCJtYWludGVuYW5jZVwiO1xyXG5AdXNlIFwiZXJyb3JQYWdlc1wiO1xyXG5AdXNlIFwiYWNjb3JkaW9uXCI7XHJcbiIsIjpyb290IHtcbiAgLS1pdGktaG92ZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIC0taXRpLWJvcmRlci1jb2xvcjogI2NjYztcbiAgLS1pdGktZGlhbGNvZGUtY29sb3I6ICM5OTk7XG4gIC0taXRpLWRyb3Bkb3duLWJnOiB3aGl0ZTtcbiAgLS1pdGktc2VhcmNoLWljb24tY29sb3I6ICM5OTk7XG4gIC0taXRpLXNwYWNlci1ob3Jpem9udGFsOiA4cHg7XG4gIC0taXRpLWZsYWctaGVpZ2h0OiAxMnB4O1xuICAtLWl0aS1mbGFnLXdpZHRoOiAxNnB4O1xuICAtLWl0aS1ib3JkZXItd2lkdGg6IDFweDtcbiAgLS1pdGktYXJyb3ctaGVpZ2h0OiA0cHg7XG4gIC0taXRpLWFycm93LXdpZHRoOiA2cHg7XG4gIC0taXRpLXRyaWFuZ2xlLWJvcmRlcjogY2FsYyh2YXIoLS1pdGktYXJyb3ctd2lkdGgpIC8gMik7XG4gIC0taXRpLWFycm93LXBhZGRpbmc6IDZweDtcbiAgLS1pdGktYXJyb3ctY29sb3I6ICM1NTU7XG4gIC0taXRpLXBhdGgtZmxhZ3MtMXg6IHVybChcIi4uL2ltZy9mbGFncy53ZWJwXCIpO1xuICAtLWl0aS1wYXRoLWZsYWdzLTJ4OiB1cmwoXCIuLi9pbWcvZmxhZ3NAMngud2VicFwiKTtcbiAgLS1pdGktcGF0aC1nbG9iZS0xeDogdXJsKFwiLi4vaW1nL2dsb2JlLndlYnBcIik7XG4gIC0taXRpLXBhdGgtZ2xvYmUtMng6IHVybChcIi4uL2ltZy9nbG9iZUAyeC53ZWJwXCIpO1xuICAtLWl0aS1mbGFnLXNwcml0ZS13aWR0aDogMzkwNHB4O1xuICAtLWl0aS1mbGFnLXNwcml0ZS1oZWlnaHQ6IDEycHg7XG4gIC0taXRpLW1vYmlsZS1wb3B1cC1tYXJnaW46IDMwcHg7XG59XG5cbi5pdGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5pdGkgKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4uaXRpX19hMTF5LXRleHQge1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4uaXRpIGlucHV0Lml0aV9fdGVsLWlucHV0LFxuLml0aSBpbnB1dC5pdGlfX3RlbC1pbnB1dFt0eXBlPXRleHRdLFxuLml0aSBpbnB1dC5pdGlfX3RlbC1pbnB1dFt0eXBlPXRlbF0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xufVxuW2Rpcj1ydGxdIC5pdGkgaW5wdXQuaXRpX190ZWwtaW5wdXQsXG5bZGlyPXJ0bF0gLml0aSBpbnB1dC5pdGlfX3RlbC1pbnB1dFt0eXBlPXRleHRdLFxuW2Rpcj1ydGxdIC5pdGkgaW5wdXQuaXRpX190ZWwtaW5wdXRbdHlwZT10ZWxdIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4uaXRpX19jb3VudHJ5LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHBhZGRpbmc6IHZhcigtLWl0aS1ib3JkZXItd2lkdGgpO1xufVxuLml0aV9fc2VsZWN0ZWQtY291bnRyeSB7XG4gIHotaW5kZXg6IDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLml0aV9fc2VsZWN0ZWQtY291bnRyeS1wcmltYXJ5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAwIHZhcigtLWl0aS1hcnJvdy1wYWRkaW5nKSAwIHZhcigtLWl0aS1zcGFjZXItaG9yaXpvbnRhbCk7XG59XG4uaXRpX19hcnJvdyB7XG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1pdGktYXJyb3ctcGFkZGluZyk7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1sZWZ0OiB2YXIoLS1pdGktdHJpYW5nbGUtYm9yZGVyKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiB2YXIoLS1pdGktdHJpYW5nbGUtYm9yZGVyKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcDogdmFyKC0taXRpLWFycm93LWhlaWdodCkgc29saWQgdmFyKC0taXRpLWFycm93LWNvbG9yKTtcbn1cbltkaXI9cnRsXSAuaXRpX19hcnJvdyB7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0taXRpLWFycm93LXBhZGRpbmcpO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5pdGlfX2Fycm93LS11cCB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IHZhcigtLWl0aS1hcnJvdy1oZWlnaHQpIHNvbGlkIHZhcigtLWl0aS1hcnJvdy1jb2xvcik7XG59XG4uaXRpX19kcm9wZG93bi1jb250ZW50IHtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pdGktZHJvcGRvd24tYmcpO1xufVxuLml0aS0taW5saW5lLWRyb3Bkb3duIC5pdGlfX2Ryb3Bkb3duLWNvbnRlbnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDI7XG4gIG1hcmdpbi10b3A6IDNweDtcbiAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0taXRpLWJvcmRlci13aWR0aCkgKiAtMSk7XG4gIGJvcmRlcjogdmFyKC0taXRpLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0taXRpLWJvcmRlci1jb2xvcik7XG4gIGJveC1zaGFkb3c6IDFweCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cbi5pdGlfX3NlYXJjaC1pbnB1dCB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItd2lkdGg6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyOHB4O1xufVxuW2Rpcj1ydGxdIC5pdGlfX3NlYXJjaC1pbnB1dCB7XG4gIHBhZGRpbmctbGVmdDogaW5oZXJpdDtcbiAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgOHB4IGNlbnRlcjtcbn1cbi5pdGlfX3NlYXJjaC1pbnB1dCArIC5pdGlfX2NvdW50cnktbGlzdCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1pdGktYm9yZGVyLWNvbG9yKTtcbn1cbi5pdGlfX3NlYXJjaC1pbnB1dDo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG59XG4uaXRpX19zZWFyY2gtaW5wdXQtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5pdGlfX3NlYXJjaC1pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA4cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuW2Rpcj1ydGxdIC5pdGlfX3NlYXJjaC1pY29uIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDhweDtcbn1cbi5pdGlfX3NlYXJjaC1pY29uLXN2ZyB7XG4gIHN0cm9rZTogdmFyKC0taXRpLXNlYXJjaC1pY29uLWNvbG9yKTtcbiAgZmlsbDogbm9uZTtcbiAgc3Ryb2tlLXdpZHRoOiAzO1xufVxuLml0aV9fc2VhcmNoLWNsZWFyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogNHB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcGFkZGluZzogNHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlO1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xufVxuLml0aV9fc2VhcmNoLWNsZWFyIC5pdGlfX3NlYXJjaC1jbGVhci14IHtcbiAgc3Ryb2tlLXdpZHRoOiAyO1xufVxuLml0aV9fc2VhcmNoLWNsZWFyIC5pdGlfX3NlYXJjaC1jbGVhci1iZyB7XG4gIGZpbGw6IHZhcigtLWl0aS1zZWFyY2gtaWNvbi1jb2xvcik7XG59XG5bZGlyPXJ0bF0gLml0aV9fc2VhcmNoLWNsZWFyIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDRweDtcbn1cbi5pdGlfX3NlYXJjaC1jbGVhcjpob3ZlciwgLml0aV9fc2VhcmNoLWNsZWFyOmZvY3VzLXZpc2libGUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1pdGktaG92ZXItY29sb3IpO1xuICBvdXRsaW5lOiBub25lO1xufVxuLml0aV9fbm8tcmVzdWx0cyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMzBweCAwO1xufVxuLml0aV9fY291bnRyeS1saXN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuLml0aS0taW5saW5lLWRyb3Bkb3duIC5pdGlfX2NvdW50cnktbGlzdCB7XG4gIG1heC1oZWlnaHQ6IDE4NXB4O1xufVxuLml0aS0tZmxleGlibGUtZHJvcGRvd24td2lkdGggLml0aV9fY291bnRyeS1saXN0IHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA1MDBweCkge1xuICAuaXRpLS1mbGV4aWJsZS1kcm9wZG93bi13aWR0aCAuaXRpX19jb3VudHJ5LWxpc3Qge1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIH1cbn1cbi5pdGlfX2NvdW50cnkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiA4cHggdmFyKC0taXRpLXNwYWNlci1ob3Jpem9udGFsKTtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5pdGlfX2RpYWwtY29kZSB7XG4gIGNvbG9yOiB2YXIoLS1pdGktZGlhbGNvZGUtY29sb3IpO1xufVxuLml0aV9fY291bnRyeS5pdGlfX2hpZ2hsaWdodCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWl0aS1ob3Zlci1jb2xvcik7XG59XG4uaXRpX19jb3VudHJ5LWxpc3QgLml0aV9fZmxhZywgLml0aV9fY291bnRyeS1uYW1lIHtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1pdGktc3BhY2VyLWhvcml6b250YWwpO1xufVxuW2Rpcj1ydGxdIC5pdGlfX2NvdW50cnktbGlzdCAuaXRpX19mbGFnLCBbZGlyPXJ0bF0gLml0aV9fY291bnRyeS1uYW1lIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogdmFyKC0taXRpLXNwYWNlci1ob3Jpem9udGFsKTtcbn1cbi5pdGktLWFsbG93LWRyb3Bkb3duIC5pdGlfX2NvdW50cnktY29udGFpbmVyOm5vdCg6aGFzKCsgaW5wdXRbZGlzYWJsZWRdKSk6bm90KDpoYXMoKyBpbnB1dFtyZWFkb25seV0pKSBidXR0b24uaXRpX19zZWxlY3RlZC1jb3VudHJ5IHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLml0aS0tYWxsb3ctZHJvcGRvd24gLml0aV9fY291bnRyeS1jb250YWluZXI6bm90KDpoYXMoKyBpbnB1dFtkaXNhYmxlZF0pKTpub3QoOmhhcygrIGlucHV0W3JlYWRvbmx5XSkpIC5pdGlfX3NlbGVjdGVkLWNvdW50cnktcHJpbWFyeTpob3Zlcixcbi5pdGktLWFsbG93LWRyb3Bkb3duIC5pdGlfX2NvdW50cnktY29udGFpbmVyOm5vdCg6aGFzKCsgaW5wdXRbZGlzYWJsZWRdKSk6bm90KDpoYXMoKyBpbnB1dFtyZWFkb25seV0pKSAuaXRpX19zZWxlY3RlZC1jb3VudHJ5OmhhcygrIC5pdGlfX2Ryb3Bkb3duLWNvbnRlbnQ6aG92ZXIpIC5pdGlfX3NlbGVjdGVkLWNvdW50cnktcHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWl0aS1ob3Zlci1jb2xvcik7XG59XG4uaXRpIC5pdGlfX3NlbGVjdGVkLWRpYWwtY29kZSB7XG4gIG1hcmdpbi1sZWZ0OiA0cHg7XG59XG5bZGlyPXJ0bF0gLml0aSAuaXRpX19zZWxlY3RlZC1kaWFsLWNvZGUge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiA0cHg7XG59XG4uaXRpLS1jb250YWluZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogLTEwMDBweDtcbiAgbGVmdDogLTEwMDBweDtcbiAgei1pbmRleDogMTA2MDtcbiAgcGFkZGluZzogdmFyKC0taXRpLWJvcmRlci13aWR0aCk7XG59XG4uaXRpLS1jb250YWluZXI6aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uaXRpX19oaWRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5pdGlfX3YtaGlkZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLml0aS0tZnVsbHNjcmVlbi1wb3B1cC5pdGktLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHBhZGRpbmc6IHZhcigtLWl0aS1tb2JpbGUtcG9wdXAtbWFyZ2luKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuLml0aS0tZnVsbHNjcmVlbi1wb3B1cCAuaXRpX19kcm9wZG93bi1jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLml0aS0tZnVsbHNjcmVlbi1wb3B1cCAuaXRpX19jb3VudHJ5IHtcbiAgcGFkZGluZzogMTBweCAxMHB4O1xuICBsaW5lLWhlaWdodDogMS41ZW07XG59XG5cbi5pdGlfX2ZsYWcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogMTAwcHg7XG4gIGhlaWdodDogdmFyKC0taXRpLWZsYWctaGVpZ2h0KTtcbiAgd2lkdGg6IHZhcigtLWl0aS1mbGFnLXdpZHRoKTtcbiAgYm9yZGVyLXJhZGl1czogMXB4O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDFweCAwcHggIzg4ODtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taXRpLXBhdGgtZmxhZ3MtMXgpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB2YXIoLS1pdGktZmxhZy1vZmZzZXQpIDA7XG4gIGJhY2tncm91bmQtc2l6ZTogdmFyKC0taXRpLWZsYWctc3ByaXRlLXdpZHRoKSB2YXIoLS1pdGktZmxhZy1zcHJpdGUtaGVpZ2h0KTtcbn1cblxuLml0aV9fYWMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogMHB4O1xufVxuXG4uaXRpX19hZCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTZweDtcbn1cblxuLml0aV9fYWUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMycHg7XG59XG5cbi5pdGlfX2FmIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC00OHB4O1xufVxuXG4uaXRpX19hZyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNjRweDtcbn1cblxuLml0aV9fYWkge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTgwcHg7XG59XG5cbi5pdGlfX2FsIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC05NnB4O1xufVxuXG4uaXRpX19hbSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTEycHg7XG59XG5cbi5pdGlfX2FvIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMjhweDtcbn1cblxuLml0aV9fYXIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE0NHB4O1xufVxuXG4uaXRpX19hcyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTYwcHg7XG59XG5cbi5pdGlfX2F0IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNzZweDtcbn1cblxuLml0aV9fYXUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE5MnB4O1xufVxuXG4uaXRpX19hdyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjA4cHg7XG59XG5cbi5pdGlfX2F4IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMjRweDtcbn1cblxuLml0aV9fYXoge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI0MHB4O1xufVxuXG4uaXRpX19iYSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjU2cHg7XG59XG5cbi5pdGlfX2JiIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNzJweDtcbn1cblxuLml0aV9fYmQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI4OHB4O1xufVxuXG4uaXRpX19iZSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzA0cHg7XG59XG5cbi5pdGlfX2JmIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMjBweDtcbn1cblxuLml0aV9fYmcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMzNnB4O1xufVxuXG4uaXRpX19iaCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzUycHg7XG59XG5cbi5pdGlfX2JpIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNjhweDtcbn1cblxuLml0aV9fYmoge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM4NHB4O1xufVxuXG4uaXRpX19ibCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNDAwcHg7XG59XG5cbi5pdGlfX2JtIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC00MTZweDtcbn1cblxuLml0aV9fYm4ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTQzMnB4O1xufVxuXG4uaXRpX19ibyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNDQ4cHg7XG59XG5cbi5pdGlfX2JxIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC00NjRweDtcbn1cblxuLml0aV9fYnIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTQ4MHB4O1xufVxuXG4uaXRpX19icyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNDk2cHg7XG59XG5cbi5pdGlfX2J0IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC01MTJweDtcbn1cblxuLml0aV9fYncge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTUyOHB4O1xufVxuXG4uaXRpX19ieSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNTQ0cHg7XG59XG5cbi5pdGlfX2J6IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC01NjBweDtcbn1cblxuLml0aV9fY2Ege1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTU3NnB4O1xufVxuXG4uaXRpX19jYyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNTkycHg7XG59XG5cbi5pdGlfX2NkIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC02MDhweDtcbn1cblxuLml0aV9fY2Yge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTYyNHB4O1xufVxuXG4uaXRpX19jZyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNjQwcHg7XG59XG5cbi5pdGlfX2NoIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC02NTZweDtcbn1cblxuLml0aV9fY2kge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTY3MnB4O1xufVxuXG4uaXRpX19jayB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNjg4cHg7XG59XG5cbi5pdGlfX2NsIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC03MDRweDtcbn1cblxuLml0aV9fY20ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTcyMHB4O1xufVxuXG4uaXRpX19jbiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNzM2cHg7XG59XG5cbi5pdGlfX2NvIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC03NTJweDtcbn1cblxuLml0aV9fY3Ige1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTc2OHB4O1xufVxuXG4uaXRpX19jdSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNzg0cHg7XG59XG5cbi5pdGlfX2N2IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC04MDBweDtcbn1cblxuLml0aV9fY3cge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTgxNnB4O1xufVxuXG4uaXRpX19jeCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtODMycHg7XG59XG5cbi5pdGlfX2N5IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC04NDhweDtcbn1cblxuLml0aV9fY3oge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTg2NHB4O1xufVxuXG4uaXRpX19kZSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtODgwcHg7XG59XG5cbi5pdGlfX2RqIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC04OTZweDtcbn1cblxuLml0aV9fZGsge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTkxMnB4O1xufVxuXG4uaXRpX19kbSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtOTI4cHg7XG59XG5cbi5pdGlfX2RvIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC05NDRweDtcbn1cblxuLml0aV9fZHoge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTk2MHB4O1xufVxuXG4uaXRpX19lYyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtOTc2cHg7XG59XG5cbi5pdGlfX2VlIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC05OTJweDtcbn1cblxuLml0aV9fZWcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEwMDhweDtcbn1cblxuLml0aV9fZWgge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEwMjRweDtcbn1cblxuLml0aV9fZXIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEwNDBweDtcbn1cblxuLml0aV9fZXMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEwNTZweDtcbn1cblxuLml0aV9fZXQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEwNzJweDtcbn1cblxuLml0aV9fZmkge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEwODhweDtcbn1cblxuLml0aV9fZmoge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTExMDRweDtcbn1cblxuLml0aV9fZmsge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTExMjBweDtcbn1cblxuLml0aV9fZm0ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTExMzZweDtcbn1cblxuLml0aV9fZm8ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTExNTJweDtcbn1cblxuLml0aV9fZnIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTExNjhweDtcbn1cblxuLml0aV9fZ2Ege1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTExODRweDtcbn1cblxuLml0aV9fZ2Ige1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEyMDBweDtcbn1cblxuLml0aV9fZ2Qge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEyMTZweDtcbn1cblxuLml0aV9fZ2Uge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEyMzJweDtcbn1cblxuLml0aV9fZ2Yge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEyNDhweDtcbn1cblxuLml0aV9fZ2cge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEyNjRweDtcbn1cblxuLml0aV9fZ2gge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEyODBweDtcbn1cblxuLml0aV9fZ2kge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEyOTZweDtcbn1cblxuLml0aV9fZ2wge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEzMTJweDtcbn1cblxuLml0aV9fZ20ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEzMjhweDtcbn1cblxuLml0aV9fZ24ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEzNDRweDtcbn1cblxuLml0aV9fZ3Age1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEzNjBweDtcbn1cblxuLml0aV9fZ3Ege1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEzNzZweDtcbn1cblxuLml0aV9fZ3Ige1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEzOTJweDtcbn1cblxuLml0aV9fZ3Qge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE0MDhweDtcbn1cblxuLml0aV9fZ3Uge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE0MjRweDtcbn1cblxuLml0aV9fZ3cge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE0NDBweDtcbn1cblxuLml0aV9fZ3kge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE0NTZweDtcbn1cblxuLml0aV9faGsge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE0NzJweDtcbn1cblxuLml0aV9faG4ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE0ODhweDtcbn1cblxuLml0aV9faHIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE1MDRweDtcbn1cblxuLml0aV9faHQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE1MjBweDtcbn1cblxuLml0aV9faHUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE1MzZweDtcbn1cblxuLml0aV9faWQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE1NTJweDtcbn1cblxuLml0aV9faWUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE1NjhweDtcbn1cblxuLml0aV9faWwge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE1ODRweDtcbn1cblxuLml0aV9faW0ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE2MDBweDtcbn1cblxuLml0aV9faW4ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE2MTZweDtcbn1cblxuLml0aV9faW8ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE2MzJweDtcbn1cblxuLml0aV9faXEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE2NDhweDtcbn1cblxuLml0aV9faXIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE2NjRweDtcbn1cblxuLml0aV9faXMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE2ODBweDtcbn1cblxuLml0aV9faXQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE2OTZweDtcbn1cblxuLml0aV9famUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE3MTJweDtcbn1cblxuLml0aV9fam0ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE3MjhweDtcbn1cblxuLml0aV9fam8ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE3NDRweDtcbn1cblxuLml0aV9fanAge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE3NjBweDtcbn1cblxuLml0aV9fa2Uge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE3NzZweDtcbn1cblxuLml0aV9fa2cge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE3OTJweDtcbn1cblxuLml0aV9fa2gge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE4MDhweDtcbn1cblxuLml0aV9fa2kge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE4MjRweDtcbn1cblxuLml0aV9fa20ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE4NDBweDtcbn1cblxuLml0aV9fa24ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE4NTZweDtcbn1cblxuLml0aV9fa3Age1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE4NzJweDtcbn1cblxuLml0aV9fa3Ige1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE4ODhweDtcbn1cblxuLml0aV9fa3cge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE5MDRweDtcbn1cblxuLml0aV9fa3kge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE5MjBweDtcbn1cblxuLml0aV9fa3oge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE5MzZweDtcbn1cblxuLml0aV9fbGEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE5NTJweDtcbn1cblxuLml0aV9fbGIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE5NjhweDtcbn1cblxuLml0aV9fbGMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE5ODRweDtcbn1cblxuLml0aV9fbGkge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIwMDBweDtcbn1cblxuLml0aV9fbGsge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIwMTZweDtcbn1cblxuLml0aV9fbHIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIwMzJweDtcbn1cblxuLml0aV9fbHMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIwNDhweDtcbn1cblxuLml0aV9fbHQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIwNjRweDtcbn1cblxuLml0aV9fbHUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIwODBweDtcbn1cblxuLml0aV9fbHYge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIwOTZweDtcbn1cblxuLml0aV9fbHkge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIxMTJweDtcbn1cblxuLml0aV9fbWEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIxMjhweDtcbn1cblxuLml0aV9fbWMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIxNDRweDtcbn1cblxuLml0aV9fbWQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIxNjBweDtcbn1cblxuLml0aV9fbWUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIxNzZweDtcbn1cblxuLml0aV9fbWYge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIxOTJweDtcbn1cblxuLml0aV9fbWcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIyMDhweDtcbn1cblxuLml0aV9fbWgge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIyMjRweDtcbn1cblxuLml0aV9fbWsge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIyNDBweDtcbn1cblxuLml0aV9fbWwge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIyNTZweDtcbn1cblxuLml0aV9fbW0ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIyNzJweDtcbn1cblxuLml0aV9fbW4ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIyODhweDtcbn1cblxuLml0aV9fbW8ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIzMDRweDtcbn1cblxuLml0aV9fbXAge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIzMjBweDtcbn1cblxuLml0aV9fbXEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIzMzZweDtcbn1cblxuLml0aV9fbXIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIzNTJweDtcbn1cblxuLml0aV9fbXMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIzNjhweDtcbn1cblxuLml0aV9fbXQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIzODRweDtcbn1cblxuLml0aV9fbXUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI0MDBweDtcbn1cblxuLml0aV9fbXYge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI0MTZweDtcbn1cblxuLml0aV9fbXcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI0MzJweDtcbn1cblxuLml0aV9fbXgge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI0NDhweDtcbn1cblxuLml0aV9fbXkge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI0NjRweDtcbn1cblxuLml0aV9fbXoge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI0ODBweDtcbn1cblxuLml0aV9fbmEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI0OTZweDtcbn1cblxuLml0aV9fbmMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI1MTJweDtcbn1cblxuLml0aV9fbmUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI1MjhweDtcbn1cblxuLml0aV9fbmYge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI1NDRweDtcbn1cblxuLml0aV9fbmcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI1NjBweDtcbn1cblxuLml0aV9fbmkge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI1NzZweDtcbn1cblxuLml0aV9fbmwge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI1OTJweDtcbn1cblxuLml0aV9fbm8ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI2MDhweDtcbn1cblxuLml0aV9fbnAge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI2MjRweDtcbn1cblxuLml0aV9fbnIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI2NDBweDtcbn1cblxuLml0aV9fbnUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI2NTZweDtcbn1cblxuLml0aV9fbnoge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI2NzJweDtcbn1cblxuLml0aV9fb20ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI2ODhweDtcbn1cblxuLml0aV9fcGEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI3MDRweDtcbn1cblxuLml0aV9fcGUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI3MjBweDtcbn1cblxuLml0aV9fcGYge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI3MzZweDtcbn1cblxuLml0aV9fcGcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI3NTJweDtcbn1cblxuLml0aV9fcGgge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI3NjhweDtcbn1cblxuLml0aV9fcGsge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI3ODRweDtcbn1cblxuLml0aV9fcGwge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI4MDBweDtcbn1cblxuLml0aV9fcG0ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI4MTZweDtcbn1cblxuLml0aV9fcHIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI4MzJweDtcbn1cblxuLml0aV9fcHMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI4NDhweDtcbn1cblxuLml0aV9fcHQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI4NjRweDtcbn1cblxuLml0aV9fcHcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI4ODBweDtcbn1cblxuLml0aV9fcHkge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI4OTZweDtcbn1cblxuLml0aV9fcWEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI5MTJweDtcbn1cblxuLml0aV9fcmUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI5MjhweDtcbn1cblxuLml0aV9fcm8ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI5NDRweDtcbn1cblxuLml0aV9fcnMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI5NjBweDtcbn1cblxuLml0aV9fcnUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI5NzZweDtcbn1cblxuLml0aV9fcncge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI5OTJweDtcbn1cblxuLml0aV9fc2Ege1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMwMDhweDtcbn1cblxuLml0aV9fc2Ige1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMwMjRweDtcbn1cblxuLml0aV9fc2Mge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMwNDBweDtcbn1cblxuLml0aV9fc2Qge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMwNTZweDtcbn1cblxuLml0aV9fc2Uge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMwNzJweDtcbn1cblxuLml0aV9fc2cge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMwODhweDtcbn1cblxuLml0aV9fc2gge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMxMDRweDtcbn1cblxuLml0aV9fc2kge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMxMjBweDtcbn1cblxuLml0aV9fc2oge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMxMzZweDtcbn1cblxuLml0aV9fc2sge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMxNTJweDtcbn1cblxuLml0aV9fc2wge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMxNjhweDtcbn1cblxuLml0aV9fc20ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMxODRweDtcbn1cblxuLml0aV9fc24ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMyMDBweDtcbn1cblxuLml0aV9fc28ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMyMTZweDtcbn1cblxuLml0aV9fc3Ige1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMyMzJweDtcbn1cblxuLml0aV9fc3Mge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMyNDhweDtcbn1cblxuLml0aV9fc3Qge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMyNjRweDtcbn1cblxuLml0aV9fc3Yge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMyODBweDtcbn1cblxuLml0aV9fc3gge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMyOTZweDtcbn1cblxuLml0aV9fc3kge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMzMTJweDtcbn1cblxuLml0aV9fc3oge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMzMjhweDtcbn1cblxuLml0aV9fdGMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMzNDRweDtcbn1cblxuLml0aV9fdGQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMzNjBweDtcbn1cblxuLml0aV9fdGcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMzNzZweDtcbn1cblxuLml0aV9fdGgge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMzOTJweDtcbn1cblxuLml0aV9fdGoge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM0MDhweDtcbn1cblxuLml0aV9fdGsge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM0MjRweDtcbn1cblxuLml0aV9fdGwge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM0NDBweDtcbn1cblxuLml0aV9fdG0ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM0NTZweDtcbn1cblxuLml0aV9fdG4ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM0NzJweDtcbn1cblxuLml0aV9fdG8ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM0ODhweDtcbn1cblxuLml0aV9fdHIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM1MDRweDtcbn1cblxuLml0aV9fdHQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM1MjBweDtcbn1cblxuLml0aV9fdHYge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM1MzZweDtcbn1cblxuLml0aV9fdHcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM1NTJweDtcbn1cblxuLml0aV9fdHoge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM1NjhweDtcbn1cblxuLml0aV9fdWEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM1ODRweDtcbn1cblxuLml0aV9fdWcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM2MDBweDtcbn1cblxuLml0aV9fdXMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM2MTZweDtcbn1cblxuLml0aV9fdXkge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM2MzJweDtcbn1cblxuLml0aV9fdXoge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM2NDhweDtcbn1cblxuLml0aV9fdmEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM2NjRweDtcbn1cblxuLml0aV9fdmMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM2ODBweDtcbn1cblxuLml0aV9fdmUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM2OTZweDtcbn1cblxuLml0aV9fdmcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM3MTJweDtcbn1cblxuLml0aV9fdmkge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM3MjhweDtcbn1cblxuLml0aV9fdm4ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM3NDRweDtcbn1cblxuLml0aV9fdnUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM3NjBweDtcbn1cblxuLml0aV9fd2Yge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM3NzZweDtcbn1cblxuLml0aV9fd3Mge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM3OTJweDtcbn1cblxuLml0aV9feGsge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM4MDhweDtcbn1cblxuLml0aV9feWUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM4MjRweDtcbn1cblxuLml0aV9feXQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM4NDBweDtcbn1cblxuLml0aV9femEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM4NTZweDtcbn1cblxuLml0aV9fem0ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM4NzJweDtcbn1cblxuLml0aV9fencge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM4ODhweDtcbn1cblxuLml0aV9fZ2xvYmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pdGktcGF0aC1nbG9iZS0xeCk7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGhlaWdodDogMTlweDtcbn1cblxuQG1lZGlhIChtaW4tcmVzb2x1dGlvbjogMngpIHtcbiAgLml0aV9fZmxhZyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taXRpLXBhdGgtZmxhZ3MtMngpO1xuICB9XG4gIC5pdGlfX2dsb2JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pdGktcGF0aC1nbG9iZS0yeCk7XG4gIH1cbn0iLCJAbGF5ZXIgcmVzZXQ7XG5AbGF5ZXIgYmFzZTtcbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG46cm9vdCB7XG4gIC0taXRpLWhvdmVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICAtLWl0aS1ib3JkZXItY29sb3I6ICNjY2M7XG4gIC0taXRpLWRpYWxjb2RlLWNvbG9yOiAjOTk5O1xuICAtLWl0aS1kcm9wZG93bi1iZzogd2hpdGU7XG4gIC0taXRpLXNlYXJjaC1pY29uLWNvbG9yOiAjOTk5O1xuICAtLWl0aS1zcGFjZXItaG9yaXpvbnRhbDogOHB4O1xuICAtLWl0aS1mbGFnLWhlaWdodDogMTJweDtcbiAgLS1pdGktZmxhZy13aWR0aDogMTZweDtcbiAgLS1pdGktYm9yZGVyLXdpZHRoOiAxcHg7XG4gIC0taXRpLWFycm93LWhlaWdodDogNHB4O1xuICAtLWl0aS1hcnJvdy13aWR0aDogNnB4O1xuICAtLWl0aS10cmlhbmdsZS1ib3JkZXI6IGNhbGModmFyKC0taXRpLWFycm93LXdpZHRoKSAvIDIpO1xuICAtLWl0aS1hcnJvdy1wYWRkaW5nOiA2cHg7XG4gIC0taXRpLWFycm93LWNvbG9yOiAjNTU1O1xuICAtLWl0aS1wYXRoLWZsYWdzLTF4OiB1cmwoXCIuLi9pbWcvZmxhZ3Mud2VicFwiKTtcbiAgLS1pdGktcGF0aC1mbGFncy0yeDogdXJsKFwiLi4vaW1nL2ZsYWdzQDJ4LndlYnBcIik7XG4gIC0taXRpLXBhdGgtZ2xvYmUtMXg6IHVybChcIi4uL2ltZy9nbG9iZS53ZWJwXCIpO1xuICAtLWl0aS1wYXRoLWdsb2JlLTJ4OiB1cmwoXCIuLi9pbWcvZ2xvYmVAMngud2VicFwiKTtcbiAgLS1pdGktZmxhZy1zcHJpdGUtd2lkdGg6IDM5MDRweDtcbiAgLS1pdGktZmxhZy1zcHJpdGUtaGVpZ2h0OiAxMnB4O1xuICAtLWl0aS1tb2JpbGUtcG9wdXAtbWFyZ2luOiAzMHB4O1xufVxuXG4uaXRpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5pdGkgKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5pdGlfX2ExMXktdGV4dCB7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLml0aSBpbnB1dC5pdGlfX3RlbC1pbnB1dCxcbi5pdGkgaW5wdXQuaXRpX190ZWwtaW5wdXRbdHlwZT10ZXh0XSxcbi5pdGkgaW5wdXQuaXRpX190ZWwtaW5wdXRbdHlwZT10ZWxdIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwO1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbn1cblxuW2Rpcj1ydGxdIC5pdGkgaW5wdXQuaXRpX190ZWwtaW5wdXQsXG5bZGlyPXJ0bF0gLml0aSBpbnB1dC5pdGlfX3RlbC1pbnB1dFt0eXBlPXRleHRdLFxuW2Rpcj1ydGxdIC5pdGkgaW5wdXQuaXRpX190ZWwtaW5wdXRbdHlwZT10ZWxdIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5pdGlfX2NvdW50cnktY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgcGFkZGluZzogdmFyKC0taXRpLWJvcmRlci13aWR0aCk7XG59XG5cbi5pdGlfX3NlbGVjdGVkLWNvdW50cnkge1xuICB6LWluZGV4OiAxO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLml0aV9fc2VsZWN0ZWQtY291bnRyeS1wcmltYXJ5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAwIHZhcigtLWl0aS1hcnJvdy1wYWRkaW5nKSAwIHZhcigtLWl0aS1zcGFjZXItaG9yaXpvbnRhbCk7XG59XG5cbi5pdGlfX2Fycm93IHtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLWl0aS1hcnJvdy1wYWRkaW5nKTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLWxlZnQ6IHZhcigtLWl0aS10cmlhbmdsZS1ib3JkZXIpIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IHZhcigtLWl0aS10cmlhbmdsZS1ib3JkZXIpIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiB2YXIoLS1pdGktYXJyb3ctaGVpZ2h0KSBzb2xpZCB2YXIoLS1pdGktYXJyb3ctY29sb3IpO1xufVxuXG5bZGlyPXJ0bF0gLml0aV9fYXJyb3cge1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLWl0aS1hcnJvdy1wYWRkaW5nKTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5pdGlfX2Fycm93LS11cCB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IHZhcigtLWl0aS1hcnJvdy1oZWlnaHQpIHNvbGlkIHZhcigtLWl0aS1hcnJvdy1jb2xvcik7XG59XG5cbi5pdGlfX2Ryb3Bkb3duLWNvbnRlbnQge1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWl0aS1kcm9wZG93bi1iZyk7XG59XG5cbi5pdGktLWlubGluZS1kcm9wZG93biAuaXRpX19kcm9wZG93bi1jb250ZW50IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAyO1xuICBtYXJnaW4tdG9wOiAzcHg7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLWl0aS1ib3JkZXItd2lkdGgpICogLTEpO1xuICBib3JkZXI6IHZhcigtLWl0aS1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWl0aS1ib3JkZXItY29sb3IpO1xuICBib3gtc2hhZG93OiAxcHggMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG5cbi5pdGlfX3NlYXJjaC1pbnB1dCB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItd2lkdGg6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyOHB4O1xufVxuXG5bZGlyPXJ0bF0gLml0aV9fc2VhcmNoLWlucHV0IHtcbiAgcGFkZGluZy1sZWZ0OiBpbmhlcml0O1xuICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCA4cHggY2VudGVyO1xufVxuXG4uaXRpX19zZWFyY2gtaW5wdXQgKyAuaXRpX19jb3VudHJ5LWxpc3Qge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0taXRpLWJvcmRlci1jb2xvcik7XG59XG5cbi5pdGlfX3NlYXJjaC1pbnB1dDo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi5pdGlfX3NlYXJjaC1pbnB1dC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uaXRpX19zZWFyY2gtaWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogOHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuW2Rpcj1ydGxdIC5pdGlfX3NlYXJjaC1pY29uIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDhweDtcbn1cblxuLml0aV9fc2VhcmNoLWljb24tc3ZnIHtcbiAgc3Ryb2tlOiB2YXIoLS1pdGktc2VhcmNoLWljb24tY29sb3IpO1xuICBmaWxsOiBub25lO1xuICBzdHJva2Utd2lkdGg6IDM7XG59XG5cbi5pdGlfX3NlYXJjaC1jbGVhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDRweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBhZGRpbmc6IDRweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZTtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbn1cblxuLml0aV9fc2VhcmNoLWNsZWFyIC5pdGlfX3NlYXJjaC1jbGVhci14IHtcbiAgc3Ryb2tlLXdpZHRoOiAyO1xufVxuXG4uaXRpX19zZWFyY2gtY2xlYXIgLml0aV9fc2VhcmNoLWNsZWFyLWJnIHtcbiAgZmlsbDogdmFyKC0taXRpLXNlYXJjaC1pY29uLWNvbG9yKTtcbn1cblxuW2Rpcj1ydGxdIC5pdGlfX3NlYXJjaC1jbGVhciB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiA0cHg7XG59XG5cbi5pdGlfX3NlYXJjaC1jbGVhcjpob3ZlciwgLml0aV9fc2VhcmNoLWNsZWFyOmZvY3VzLXZpc2libGUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1pdGktaG92ZXItY29sb3IpO1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4uaXRpX19uby1yZXN1bHRzIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAzMHB4IDA7XG59XG5cbi5pdGlfX2NvdW50cnktbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cblxuLml0aS0taW5saW5lLWRyb3Bkb3duIC5pdGlfX2NvdW50cnktbGlzdCB7XG4gIG1heC1oZWlnaHQ6IDE4NXB4O1xufVxuXG4uaXRpLS1mbGV4aWJsZS1kcm9wZG93bi13aWR0aCAuaXRpX19jb3VudHJ5LWxpc3Qge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgLml0aS0tZmxleGlibGUtZHJvcGRvd24td2lkdGggLml0aV9fY291bnRyeS1saXN0IHtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB9XG59XG4uaXRpX19jb3VudHJ5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogOHB4IHZhcigtLWl0aS1zcGFjZXItaG9yaXpvbnRhbCk7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi5pdGlfX2RpYWwtY29kZSB7XG4gIGNvbG9yOiB2YXIoLS1pdGktZGlhbGNvZGUtY29sb3IpO1xufVxuXG4uaXRpX19jb3VudHJ5Lml0aV9faGlnaGxpZ2h0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taXRpLWhvdmVyLWNvbG9yKTtcbn1cblxuLml0aV9fY291bnRyeS1saXN0IC5pdGlfX2ZsYWcsIC5pdGlfX2NvdW50cnktbmFtZSB7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0taXRpLXNwYWNlci1ob3Jpem9udGFsKTtcbn1cblxuW2Rpcj1ydGxdIC5pdGlfX2NvdW50cnktbGlzdCAuaXRpX19mbGFnLCBbZGlyPXJ0bF0gLml0aV9fY291bnRyeS1uYW1lIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogdmFyKC0taXRpLXNwYWNlci1ob3Jpem9udGFsKTtcbn1cblxuLml0aS0tYWxsb3ctZHJvcGRvd24gLml0aV9fY291bnRyeS1jb250YWluZXI6bm90KDpoYXMoKyBpbnB1dFtkaXNhYmxlZF0pKTpub3QoOmhhcygrIGlucHV0W3JlYWRvbmx5XSkpIGJ1dHRvbi5pdGlfX3NlbGVjdGVkLWNvdW50cnkge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5pdGktLWFsbG93LWRyb3Bkb3duIC5pdGlfX2NvdW50cnktY29udGFpbmVyOm5vdCg6aGFzKCsgaW5wdXRbZGlzYWJsZWRdKSk6bm90KDpoYXMoKyBpbnB1dFtyZWFkb25seV0pKSAuaXRpX19zZWxlY3RlZC1jb3VudHJ5LXByaW1hcnk6aG92ZXIsXG4uaXRpLS1hbGxvdy1kcm9wZG93biAuaXRpX19jb3VudHJ5LWNvbnRhaW5lcjpub3QoOmhhcygrIGlucHV0W2Rpc2FibGVkXSkpOm5vdCg6aGFzKCsgaW5wdXRbcmVhZG9ubHldKSkgLml0aV9fc2VsZWN0ZWQtY291bnRyeTpoYXMoKyAuaXRpX19kcm9wZG93bi1jb250ZW50OmhvdmVyKSAuaXRpX19zZWxlY3RlZC1jb3VudHJ5LXByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pdGktaG92ZXItY29sb3IpO1xufVxuXG4uaXRpIC5pdGlfX3NlbGVjdGVkLWRpYWwtY29kZSB7XG4gIG1hcmdpbi1sZWZ0OiA0cHg7XG59XG5cbltkaXI9cnRsXSAuaXRpIC5pdGlfX3NlbGVjdGVkLWRpYWwtY29kZSB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDRweDtcbn1cblxuLml0aS0tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IC0xMDAwcHg7XG4gIGxlZnQ6IC0xMDAwcHg7XG4gIHotaW5kZXg6IDEwNjA7XG4gIHBhZGRpbmc6IHZhcigtLWl0aS1ib3JkZXItd2lkdGgpO1xufVxuXG4uaXRpLS1jb250YWluZXI6aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5pdGlfX2hpZGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uaXRpX192LWhpZGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5pdGktLWZ1bGxzY3JlZW4tcG9wdXAuaXRpLS1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBwYWRkaW5nOiB2YXIoLS1pdGktbW9iaWxlLXBvcHVwLW1hcmdpbik7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLml0aS0tZnVsbHNjcmVlbi1wb3B1cCAuaXRpX19kcm9wZG93bi1jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uaXRpLS1mdWxsc2NyZWVuLXBvcHVwIC5pdGlfX2NvdW50cnkge1xuICBwYWRkaW5nOiAxMHB4IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbn1cblxuLml0aV9fZmxhZyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAxMDBweDtcbiAgaGVpZ2h0OiB2YXIoLS1pdGktZmxhZy1oZWlnaHQpO1xuICB3aWR0aDogdmFyKC0taXRpLWZsYWctd2lkdGgpO1xuICBib3JkZXItcmFkaXVzOiAxcHg7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMXB4IDBweCAjODg4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pdGktcGF0aC1mbGFncy0xeCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHZhcigtLWl0aS1mbGFnLW9mZnNldCkgMDtcbiAgYmFja2dyb3VuZC1zaXplOiB2YXIoLS1pdGktZmxhZy1zcHJpdGUtd2lkdGgpIHZhcigtLWl0aS1mbGFnLXNwcml0ZS1oZWlnaHQpO1xufVxuXG4uaXRpX19hYyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAwcHg7XG59XG5cbi5pdGlfX2FkIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNnB4O1xufVxuXG4uaXRpX19hZSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzJweDtcbn1cblxuLml0aV9fYWYge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTQ4cHg7XG59XG5cbi5pdGlfX2FnIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC02NHB4O1xufVxuXG4uaXRpX19haSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtODBweDtcbn1cblxuLml0aV9fYWwge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTk2cHg7XG59XG5cbi5pdGlfX2FtIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMTJweDtcbn1cblxuLml0aV9fYW8ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEyOHB4O1xufVxuXG4uaXRpX19hciB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTQ0cHg7XG59XG5cbi5pdGlfX2FzIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNjBweDtcbn1cblxuLml0aV9fYXQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE3NnB4O1xufVxuXG4uaXRpX19hdSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTkycHg7XG59XG5cbi5pdGlfX2F3IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMDhweDtcbn1cblxuLml0aV9fYXgge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIyNHB4O1xufVxuXG4uaXRpX19heiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjQwcHg7XG59XG5cbi5pdGlfX2JhIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNTZweDtcbn1cblxuLml0aV9fYmIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI3MnB4O1xufVxuXG4uaXRpX19iZCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjg4cHg7XG59XG5cbi5pdGlfX2JlIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMDRweDtcbn1cblxuLml0aV9fYmYge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMyMHB4O1xufVxuXG4uaXRpX19iZyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzM2cHg7XG59XG5cbi5pdGlfX2JoIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNTJweDtcbn1cblxuLml0aV9fYmkge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM2OHB4O1xufVxuXG4uaXRpX19iaiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzg0cHg7XG59XG5cbi5pdGlfX2JsIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC00MDBweDtcbn1cblxuLml0aV9fYm0ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTQxNnB4O1xufVxuXG4uaXRpX19ibiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNDMycHg7XG59XG5cbi5pdGlfX2JvIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC00NDhweDtcbn1cblxuLml0aV9fYnEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTQ2NHB4O1xufVxuXG4uaXRpX19iciB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNDgwcHg7XG59XG5cbi5pdGlfX2JzIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC00OTZweDtcbn1cblxuLml0aV9fYnQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTUxMnB4O1xufVxuXG4uaXRpX19idyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNTI4cHg7XG59XG5cbi5pdGlfX2J5IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC01NDRweDtcbn1cblxuLml0aV9fYnoge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTU2MHB4O1xufVxuXG4uaXRpX19jYSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNTc2cHg7XG59XG5cbi5pdGlfX2NjIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC01OTJweDtcbn1cblxuLml0aV9fY2Qge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTYwOHB4O1xufVxuXG4uaXRpX19jZiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNjI0cHg7XG59XG5cbi5pdGlfX2NnIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC02NDBweDtcbn1cblxuLml0aV9fY2gge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTY1NnB4O1xufVxuXG4uaXRpX19jaSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNjcycHg7XG59XG5cbi5pdGlfX2NrIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC02ODhweDtcbn1cblxuLml0aV9fY2wge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTcwNHB4O1xufVxuXG4uaXRpX19jbSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNzIwcHg7XG59XG5cbi5pdGlfX2NuIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC03MzZweDtcbn1cblxuLml0aV9fY28ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTc1MnB4O1xufVxuXG4uaXRpX19jciB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNzY4cHg7XG59XG5cbi5pdGlfX2N1IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC03ODRweDtcbn1cblxuLml0aV9fY3Yge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTgwMHB4O1xufVxuXG4uaXRpX19jdyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtODE2cHg7XG59XG5cbi5pdGlfX2N4IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC04MzJweDtcbn1cblxuLml0aV9fY3kge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTg0OHB4O1xufVxuXG4uaXRpX19jeiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtODY0cHg7XG59XG5cbi5pdGlfX2RlIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC04ODBweDtcbn1cblxuLml0aV9fZGoge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTg5NnB4O1xufVxuXG4uaXRpX19kayB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtOTEycHg7XG59XG5cbi5pdGlfX2RtIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC05MjhweDtcbn1cblxuLml0aV9fZG8ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTk0NHB4O1xufVxuXG4uaXRpX19keiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtOTYwcHg7XG59XG5cbi5pdGlfX2VjIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC05NzZweDtcbn1cblxuLml0aV9fZWUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTk5MnB4O1xufVxuXG4uaXRpX19lZyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTAwOHB4O1xufVxuXG4uaXRpX19laCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTAyNHB4O1xufVxuXG4uaXRpX19lciB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTA0MHB4O1xufVxuXG4uaXRpX19lcyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTA1NnB4O1xufVxuXG4uaXRpX19ldCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTA3MnB4O1xufVxuXG4uaXRpX19maSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTA4OHB4O1xufVxuXG4uaXRpX19maiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTEwNHB4O1xufVxuXG4uaXRpX19mayB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTEyMHB4O1xufVxuXG4uaXRpX19mbSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTEzNnB4O1xufVxuXG4uaXRpX19mbyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTE1MnB4O1xufVxuXG4uaXRpX19mciB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTE2OHB4O1xufVxuXG4uaXRpX19nYSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTE4NHB4O1xufVxuXG4uaXRpX19nYiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTIwMHB4O1xufVxuXG4uaXRpX19nZCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTIxNnB4O1xufVxuXG4uaXRpX19nZSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTIzMnB4O1xufVxuXG4uaXRpX19nZiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTI0OHB4O1xufVxuXG4uaXRpX19nZyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTI2NHB4O1xufVxuXG4uaXRpX19naCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTI4MHB4O1xufVxuXG4uaXRpX19naSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTI5NnB4O1xufVxuXG4uaXRpX19nbCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTMxMnB4O1xufVxuXG4uaXRpX19nbSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTMyOHB4O1xufVxuXG4uaXRpX19nbiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTM0NHB4O1xufVxuXG4uaXRpX19ncCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTM2MHB4O1xufVxuXG4uaXRpX19ncSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTM3NnB4O1xufVxuXG4uaXRpX19nciB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTM5MnB4O1xufVxuXG4uaXRpX19ndCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTQwOHB4O1xufVxuXG4uaXRpX19ndSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTQyNHB4O1xufVxuXG4uaXRpX19ndyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTQ0MHB4O1xufVxuXG4uaXRpX19neSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTQ1NnB4O1xufVxuXG4uaXRpX19oayB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTQ3MnB4O1xufVxuXG4uaXRpX19obiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTQ4OHB4O1xufVxuXG4uaXRpX19ociB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTUwNHB4O1xufVxuXG4uaXRpX19odCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTUyMHB4O1xufVxuXG4uaXRpX19odSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTUzNnB4O1xufVxuXG4uaXRpX19pZCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTU1MnB4O1xufVxuXG4uaXRpX19pZSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTU2OHB4O1xufVxuXG4uaXRpX19pbCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTU4NHB4O1xufVxuXG4uaXRpX19pbSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTYwMHB4O1xufVxuXG4uaXRpX19pbiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTYxNnB4O1xufVxuXG4uaXRpX19pbyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTYzMnB4O1xufVxuXG4uaXRpX19pcSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTY0OHB4O1xufVxuXG4uaXRpX19pciB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTY2NHB4O1xufVxuXG4uaXRpX19pcyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTY4MHB4O1xufVxuXG4uaXRpX19pdCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTY5NnB4O1xufVxuXG4uaXRpX19qZSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTcxMnB4O1xufVxuXG4uaXRpX19qbSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTcyOHB4O1xufVxuXG4uaXRpX19qbyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTc0NHB4O1xufVxuXG4uaXRpX19qcCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTc2MHB4O1xufVxuXG4uaXRpX19rZSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTc3NnB4O1xufVxuXG4uaXRpX19rZyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTc5MnB4O1xufVxuXG4uaXRpX19raCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTgwOHB4O1xufVxuXG4uaXRpX19raSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTgyNHB4O1xufVxuXG4uaXRpX19rbSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTg0MHB4O1xufVxuXG4uaXRpX19rbiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTg1NnB4O1xufVxuXG4uaXRpX19rcCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTg3MnB4O1xufVxuXG4uaXRpX19rciB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTg4OHB4O1xufVxuXG4uaXRpX19rdyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTkwNHB4O1xufVxuXG4uaXRpX19reSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTkyMHB4O1xufVxuXG4uaXRpX19reiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTkzNnB4O1xufVxuXG4uaXRpX19sYSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTk1MnB4O1xufVxuXG4uaXRpX19sYiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTk2OHB4O1xufVxuXG4uaXRpX19sYyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTk4NHB4O1xufVxuXG4uaXRpX19saSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjAwMHB4O1xufVxuXG4uaXRpX19sayB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjAxNnB4O1xufVxuXG4uaXRpX19sciB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjAzMnB4O1xufVxuXG4uaXRpX19scyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjA0OHB4O1xufVxuXG4uaXRpX19sdCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjA2NHB4O1xufVxuXG4uaXRpX19sdSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjA4MHB4O1xufVxuXG4uaXRpX19sdiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjA5NnB4O1xufVxuXG4uaXRpX19seSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjExMnB4O1xufVxuXG4uaXRpX19tYSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjEyOHB4O1xufVxuXG4uaXRpX19tYyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjE0NHB4O1xufVxuXG4uaXRpX19tZCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjE2MHB4O1xufVxuXG4uaXRpX19tZSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjE3NnB4O1xufVxuXG4uaXRpX19tZiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjE5MnB4O1xufVxuXG4uaXRpX19tZyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjIwOHB4O1xufVxuXG4uaXRpX19taCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjIyNHB4O1xufVxuXG4uaXRpX19tayB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjI0MHB4O1xufVxuXG4uaXRpX19tbCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjI1NnB4O1xufVxuXG4uaXRpX19tbSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjI3MnB4O1xufVxuXG4uaXRpX19tbiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjI4OHB4O1xufVxuXG4uaXRpX19tbyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjMwNHB4O1xufVxuXG4uaXRpX19tcCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjMyMHB4O1xufVxuXG4uaXRpX19tcSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjMzNnB4O1xufVxuXG4uaXRpX19tciB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjM1MnB4O1xufVxuXG4uaXRpX19tcyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjM2OHB4O1xufVxuXG4uaXRpX19tdCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjM4NHB4O1xufVxuXG4uaXRpX19tdSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjQwMHB4O1xufVxuXG4uaXRpX19tdiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjQxNnB4O1xufVxuXG4uaXRpX19tdyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjQzMnB4O1xufVxuXG4uaXRpX19teCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjQ0OHB4O1xufVxuXG4uaXRpX19teSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjQ2NHB4O1xufVxuXG4uaXRpX19teiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjQ4MHB4O1xufVxuXG4uaXRpX19uYSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjQ5NnB4O1xufVxuXG4uaXRpX19uYyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjUxMnB4O1xufVxuXG4uaXRpX19uZSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjUyOHB4O1xufVxuXG4uaXRpX19uZiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjU0NHB4O1xufVxuXG4uaXRpX19uZyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjU2MHB4O1xufVxuXG4uaXRpX19uaSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjU3NnB4O1xufVxuXG4uaXRpX19ubCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjU5MnB4O1xufVxuXG4uaXRpX19ubyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjYwOHB4O1xufVxuXG4uaXRpX19ucCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjYyNHB4O1xufVxuXG4uaXRpX19uciB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjY0MHB4O1xufVxuXG4uaXRpX19udSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjY1NnB4O1xufVxuXG4uaXRpX19ueiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjY3MnB4O1xufVxuXG4uaXRpX19vbSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjY4OHB4O1xufVxuXG4uaXRpX19wYSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjcwNHB4O1xufVxuXG4uaXRpX19wZSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjcyMHB4O1xufVxuXG4uaXRpX19wZiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjczNnB4O1xufVxuXG4uaXRpX19wZyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjc1MnB4O1xufVxuXG4uaXRpX19waCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjc2OHB4O1xufVxuXG4uaXRpX19wayB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjc4NHB4O1xufVxuXG4uaXRpX19wbCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjgwMHB4O1xufVxuXG4uaXRpX19wbSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjgxNnB4O1xufVxuXG4uaXRpX19wciB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjgzMnB4O1xufVxuXG4uaXRpX19wcyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjg0OHB4O1xufVxuXG4uaXRpX19wdCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjg2NHB4O1xufVxuXG4uaXRpX19wdyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjg4MHB4O1xufVxuXG4uaXRpX19weSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjg5NnB4O1xufVxuXG4uaXRpX19xYSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjkxMnB4O1xufVxuXG4uaXRpX19yZSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjkyOHB4O1xufVxuXG4uaXRpX19ybyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjk0NHB4O1xufVxuXG4uaXRpX19ycyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjk2MHB4O1xufVxuXG4uaXRpX19ydSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjk3NnB4O1xufVxuXG4uaXRpX19ydyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjk5MnB4O1xufVxuXG4uaXRpX19zYSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzAwOHB4O1xufVxuXG4uaXRpX19zYiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzAyNHB4O1xufVxuXG4uaXRpX19zYyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzA0MHB4O1xufVxuXG4uaXRpX19zZCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzA1NnB4O1xufVxuXG4uaXRpX19zZSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzA3MnB4O1xufVxuXG4uaXRpX19zZyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzA4OHB4O1xufVxuXG4uaXRpX19zaCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzEwNHB4O1xufVxuXG4uaXRpX19zaSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzEyMHB4O1xufVxuXG4uaXRpX19zaiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzEzNnB4O1xufVxuXG4uaXRpX19zayB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzE1MnB4O1xufVxuXG4uaXRpX19zbCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzE2OHB4O1xufVxuXG4uaXRpX19zbSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzE4NHB4O1xufVxuXG4uaXRpX19zbiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzIwMHB4O1xufVxuXG4uaXRpX19zbyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzIxNnB4O1xufVxuXG4uaXRpX19zciB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzIzMnB4O1xufVxuXG4uaXRpX19zcyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzI0OHB4O1xufVxuXG4uaXRpX19zdCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzI2NHB4O1xufVxuXG4uaXRpX19zdiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzI4MHB4O1xufVxuXG4uaXRpX19zeCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzI5NnB4O1xufVxuXG4uaXRpX19zeSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzMxMnB4O1xufVxuXG4uaXRpX19zeiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzMyOHB4O1xufVxuXG4uaXRpX190YyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzM0NHB4O1xufVxuXG4uaXRpX190ZCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzM2MHB4O1xufVxuXG4uaXRpX190ZyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzM3NnB4O1xufVxuXG4uaXRpX190aCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzM5MnB4O1xufVxuXG4uaXRpX190aiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzQwOHB4O1xufVxuXG4uaXRpX190ayB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzQyNHB4O1xufVxuXG4uaXRpX190bCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzQ0MHB4O1xufVxuXG4uaXRpX190bSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzQ1NnB4O1xufVxuXG4uaXRpX190biB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzQ3MnB4O1xufVxuXG4uaXRpX190byB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzQ4OHB4O1xufVxuXG4uaXRpX190ciB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzUwNHB4O1xufVxuXG4uaXRpX190dCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzUyMHB4O1xufVxuXG4uaXRpX190diB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzUzNnB4O1xufVxuXG4uaXRpX190dyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzU1MnB4O1xufVxuXG4uaXRpX190eiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzU2OHB4O1xufVxuXG4uaXRpX191YSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzU4NHB4O1xufVxuXG4uaXRpX191ZyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzYwMHB4O1xufVxuXG4uaXRpX191cyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzYxNnB4O1xufVxuXG4uaXRpX191eSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzYzMnB4O1xufVxuXG4uaXRpX191eiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzY0OHB4O1xufVxuXG4uaXRpX192YSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzY2NHB4O1xufVxuXG4uaXRpX192YyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzY4MHB4O1xufVxuXG4uaXRpX192ZSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzY5NnB4O1xufVxuXG4uaXRpX192ZyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzcxMnB4O1xufVxuXG4uaXRpX192aSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzcyOHB4O1xufVxuXG4uaXRpX192biB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzc0NHB4O1xufVxuXG4uaXRpX192dSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzc2MHB4O1xufVxuXG4uaXRpX193ZiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzc3NnB4O1xufVxuXG4uaXRpX193cyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzc5MnB4O1xufVxuXG4uaXRpX194ayB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzgwOHB4O1xufVxuXG4uaXRpX195ZSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzgyNHB4O1xufVxuXG4uaXRpX195dCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzg0MHB4O1xufVxuXG4uaXRpX196YSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzg1NnB4O1xufVxuXG4uaXRpX196bSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzg3MnB4O1xufVxuXG4uaXRpX196dyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzg4OHB4O1xufVxuXG4uaXRpX19nbG9iZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWl0aS1wYXRoLWdsb2JlLTF4KTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgaGVpZ2h0OiAxOXB4O1xufVxuXG5AbWVkaWEgKG1pbi1yZXNvbHV0aW9uOiAyeCkge1xuICAuaXRpX19mbGFnIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pdGktcGF0aC1mbGFncy0yeCk7XG4gIH1cbiAgLml0aV9fZ2xvYmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWl0aS1wYXRoLWdsb2JlLTJ4KTtcbiAgfVxufVxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyotLS1URVhUIEFORCBGT05ULS0tKi9cbi8qLS0tQkFDS0dST1VORC0tLSovXG4vKi0tLVBPU0lUSU9OSU5HLS0tKi9cbi8qLS0tQ09OVEVOVC0tLSovXG4vKi0tLUxJU1RTLS0tKi9cbi8qLS0tQk9SREVSIEFSUk9XUy0tLSovXG4vKipGb3JtcyoqL1xuLyoqIERFRkFVTFQgT1ZFUlJJREVTICoqL1xuQGxheWVyIHJlc2V0IHtcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuICBodG1sIHtcbiAgICBtaW4taGVpZ2h0OiAxMDBkdmg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICB9XG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZVNwZWVkO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMGR2aDtcbiAgfVxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgYXJ0aWNsZSA+ICogKyAqIHtcbiAgICBtYXJnaW4tdG9wOiAxZW07XG4gIH1cbiAgaW5wdXQsXG4gIGJ1dHRvbixcbiAgdGV4dGFyZWEsXG4gIHNlbGVjdCB7XG4gICAgZm9udDogaW5oZXJpdDtcbiAgfVxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2IHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgcCB7XG4gICAgbWFyZ2luOiAwLjM1ZW0gMCAwLjc1ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTVlbTtcbiAgfVxuICBvbCxcbiAgdWwge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWFyZ2luOiAwLjRlbSAwIDAuNzVlbTtcbiAgfVxuICBsaSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICB9XG4gIGJ1dHRvbiB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuICBpZnJhbWUge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgfVxufVxuQGxheWVyIGJhc2Uge1xuICBib2R5IHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tYmFzaWMtZm9udCk7XG4gIH1cbiAgYSB7XG4gICAgY29sb3I6IHZhcigtLWxpbmspO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpbmstY29udHJhc3QpO1xuICAgIHBhZGRpbmctaW5saW5lOiAycHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWxpbmspO1xuICAgIHRyYW5zaXRpb246IDAuMTVzO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuICBAbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gICAgYTpob3ZlciB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbiAgW2RhdGEtYnJvd3Nlcj1pZV0gYTpob3ZlciB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgLmllIGE6aG92ZXIge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gIGEuZm9jdXMtdmlzaWJsZSB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgYTpmb2N1cy12aXNpYmxlIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICBhIC50YXJnZXRCbGFua05vdGlmaWVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcC1wYXRoOiByZWN0KDAgMCAwIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gIH1cbiAgYSAuaWNvbi1tYWlsIHtcbiAgICBmb250LXNpemU6IDAuOWVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcHgpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVlbTtcbiAgfVxuICBhIC5pY29uLWV4dGVybmFsLWxpbmsge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1ZW07XG4gICAgZm9udC1zaXplOiAwLjhlbTtcbiAgfVxuICBbZGF0YS1hY3RpdmUtem9uZT1ob21lXSB7XG4gICAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjtcbiAgfVxufVxuKjpub3QoYTpub3QoW3JvbGU9YnV0dG9uXSkpOmZvY3VzLXZpc2libGUsICo6bm90KGE6bm90KFtyb2xlPWJ1dHRvbl0pKS5mb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZS1jb2xvcjogdmFyKC0tZm9jdXMtb3V0bGluZS1jb2xvcikgIWltcG9ydGFudDtcbiAgb3V0bGluZS1vZmZzZXQ6IHZhcigtLWZvY3VzLW91dGxpbmUtb2Zmc2V0KSAhaW1wb3J0YW50O1xuICBvdXRsaW5lLXN0eWxlOiB2YXIoLS1mb2N1cy1vdXRsaW5lLXN0eWxlKSAhaW1wb3J0YW50O1xuICBvdXRsaW5lLXdpZHRoOiB2YXIoLS1mb2N1cy1vdXRsaW5lLXdpZHRoKSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1mb2N1cy1vdXRsaW5lLW9mZnNldCkgdmFyKC0tZm9jdXMtc2hhZG93LWNvbG9yKSAhaW1wb3J0YW50O1xufVxuXG4uc29jaWFsTWVkaWFMb2dpbnMgYTpmb2N1cy12aXNpYmxlLFxuLnNvY2lhbE1lZGlhTG9naW5zIGEuZm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmUtY29sb3I6IHZhcigtLWZvY3VzLW91dGxpbmUtY29sb3IpICFpbXBvcnRhbnQ7XG4gIG91dGxpbmUtb2Zmc2V0OiB2YXIoLS1mb2N1cy1vdXRsaW5lLW9mZnNldCkgIWltcG9ydGFudDtcbiAgb3V0bGluZS1zdHlsZTogdmFyKC0tZm9jdXMtb3V0bGluZS1zdHlsZSkgIWltcG9ydGFudDtcbiAgb3V0bGluZS13aWR0aDogdmFyKC0tZm9jdXMtb3V0bGluZS13aWR0aCkgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgdmFyKC0tZm9jdXMtb3V0bGluZS1vZmZzZXQpIHZhcigtLWZvY3VzLXNoYWRvdy1jb2xvcikgIWltcG9ydGFudDtcbn1cblxuYm9keVtkYXRhLXJlZHVjZS1hbmltYXRpb249dHJ1ZV0gKixcbmJvZHlbZGF0YS1yZWR1Y2UtYW5pbWF0aW9uPXRydWVdICo6OmJlZm9yZSxcbmJvZHlbZGF0YS1yZWR1Y2UtYW5pbWF0aW9uPXRydWVdICo6OmFmdGVyIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjAxbXMgIWltcG9ydGFudDtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMSAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjAxbXMgIWltcG9ydGFudDtcbiAgc2Nyb2xsLWJlaGF2aW9yOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5zbGlkZVNraXAsXG4uaG9tZVNraXAsXG4ubWVtYmVyc2hpcFNraXAge1xuICBib3JkZXI6IDA7XG4gIGNsaXAtcGF0aDogcmVjdCgwIDAgMCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBkaXNwbGF5OiBub25lO1xufVxuLnNsaWRlU2tpcC5mb2N1cy12aXNpYmxlLFxuLmhvbWVTa2lwLmZvY3VzLXZpc2libGUsXG4ubWVtYmVyc2hpcFNraXAuZm9jdXMtdmlzaWJsZSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAxMHB4O1xuICBsZWZ0OiAxMHB4O1xuICB6LWluZGV4OiA5OTk5OTk5OTk5OTk5OTk7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMTBweDtcbiAgY2xpcC1wYXRoOiBpbml0aWFsO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG59XG4uc2xpZGVTa2lwOmZvY3VzLXZpc2libGUsXG4uaG9tZVNraXA6Zm9jdXMtdmlzaWJsZSxcbi5tZW1iZXJzaGlwU2tpcDpmb2N1cy12aXNpYmxlIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDEwcHg7XG4gIGxlZnQ6IDEwcHg7XG4gIHotaW5kZXg6IDk5OTk5OTk5OTk5OTk5OTtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxMHB4O1xuICBjbGlwLXBhdGg6IGluaXRpYWw7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQpO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbn1cblxuW2RhdGEtYWN0aXZlLXpvbmU9aG9tZV0gLmhvbWVTa2lwIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbltkYXRhLWFjdGl2ZS16b25lPXNsaWRlc10gLnNsaWRlU2tpcCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubWVtYmVyc2hpcFNraXAge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuaHRtbCB7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgc2Nyb2xsYmFyLWd1dHRlcjogc3RhYmxlO1xufVxuXG5AbGF5ZXIgYmFzZSB7XG4gIC5maWVsZFdyYXBwZXIsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5kYXRlLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1heC13aWR0aDogNTAwcHg7XG4gIH1cbiAgLmZpZWxkV3JhcHBlciBsYWJlbDpub3QoLmNoZWNrYm94TGFiZWwpLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlciBsYWJlbDpub3QoLmNoZWNrYm94TGFiZWwpLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5kYXRlIGxhYmVsOm5vdCguY2hlY2tib3hMYWJlbCksXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIGxhYmVsOm5vdCguY2hlY2tib3hMYWJlbCkge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIH1cbiAgLmZpZWxkV3JhcHBlciBpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9cmFkaW9dKSxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KFt0eXBlPXJhZGlvXSksXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUgaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KFt0eXBlPXJhZGlvXSksXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1yYWRpb10pIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1pbi13aWR0aDogMTAwJTtcbiAgfVxuICAuZmllbGRXcmFwcGVyIGlucHV0OjotbXMtcmV2ZWFsLFxuICAuZmllbGRXcmFwcGVyIGlucHV0OjotbXMtY2xlYXIsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyIGlucHV0OjotbXMtcmV2ZWFsLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlciBpbnB1dDo6LW1zLWNsZWFyLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5kYXRlIGlucHV0OjotbXMtcmV2ZWFsLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5kYXRlIGlucHV0OjotbXMtY2xlYXIsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIGlucHV0OjotbXMtcmV2ZWFsLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCBpbnB1dDo6LW1zLWNsZWFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5maWVsZFdyYXBwZXIgLmRlc2NyaXB0aW9uLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlciAuZGVzY3JpcHRpb24sXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUgLmRlc2NyaXB0aW9uLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCAuZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi10b3A6IDZweDtcbiAgICBmb250LXNpemU6IDAuODRlbTtcbiAgICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWJhc2ljKSBjYWxjKDAuODUgKiAxMDAlKSwgdHJhbnNwYXJlbnQpO1xuICB9XG4gIC5maWVsZFdyYXBwZXIgdGV4dGFyZWEsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLmxvbmdhbnN3ZXIgdGV4dGFyZWEge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICB9XG4gIC5kcm9wZG93bldyYXBwZXIsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLmRyb3Bkb3duIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgfVxuICAuZHJvcGRvd25XcmFwcGVyIHNlbGVjdCxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuZHJvcGRvd24gc2VsZWN0IHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIGZpbGw9J2JsYWNrJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIHdpZHRoPScyNCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJz48cGF0aCBkPSdNNyAxMGw1IDUgNS01eicvPjxwYXRoIGQ9J00wIDBoMjR2MjRIMHonIGZpbGw9J25vbmUnLz48L3N2Zz5cIik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDUwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDI1cHggNTBweDtcbiAgfVxuICAuZHJvcGRvd25XcmFwcGVyIHNlbGVjdDo6LW1zLWV4cGFuZCxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuZHJvcGRvd24gc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5jb250cm9sV3JhcHBlcixcbiAgLmFkZy11bWJyYWNvLWZvcm1zLWNvbnRyb2x3cmFwcGVyIHtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdmFyKC0tbGlnaHQtZ3JleSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgfVxuICAuY29udHJvbFdyYXBwZXI6bGFzdC1jaGlsZCxcbiAgLmFkZy11bWJyYWNvLWZvcm1zLWNvbnRyb2x3cmFwcGVyOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgfVxuICAuY29udHJvbFdyYXBwZXIgLmNvbnRyb2wsXG4gIC5hZGctdW1icmFjby1mb3Jtcy1jb250cm9sd3JhcHBlciAuY29udHJvbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIC5jb250cm9sV3JhcHBlciBsYWJlbCxcbiAgLmFkZy11bWJyYWNvLWZvcm1zLWNvbnRyb2x3cmFwcGVyIGxhYmVsIHtcbiAgICBmb250LXNpemU6IDEuMmVtO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG4gIC5jb250cm9sV3JhcHBlciAuZGVzY3JpcHRpb24sXG4gIC5hZGctdW1icmFjby1mb3Jtcy1jb250cm9sd3JhcHBlciAuZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi10b3A6IDZweDtcbiAgICBmb250LXNpemU6IDAuODRlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zZW07XG4gICAgY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1iYXNpYykgY2FsYygwLjg1ICogMTAwJSksIHRyYW5zcGFyZW50KTtcbiAgfVxuICAuZmllbGRXcmFwcGVyLmVucm9sbGVlTmFtZSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG4gIC5zdHlsZWRGaWVsZHNldCxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGRzZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1saWdodC1ncmV5KTtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1saWdodC1ncmV5KSBjYWxjKDAuNCAqIDEwMCUpLCB0cmFuc3BhcmVudCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnN0eWxlZEZpZWxkc2V0IGxlZ2VuZCxcbiAgLnN0eWxlZEZpZWxkc2V0IC5ncm91cExlZ2VuZCxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGRzZXQgbGVnZW5kLFxuICAudW1icmFjby1mb3Jtcy1maWVsZHNldCAuZ3JvdXBMZWdlbmQge1xuICAgIHBhZGRpbmc6IDRweCA4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYXNpYyk7XG4gICAgY29sb3I6IHZhcigtLWJhc2ljLWNvbnRyYXN0KTtcbiAgfVxuICAuc3R5bGVkRmllbGRzZXQgLmdyb3VwTGVnZW5kLFxuICAudW1icmFjby1mb3Jtcy1maWVsZHNldCAuZ3JvdXBMZWdlbmQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG8gMTBweDtcbiAgfVxuICAuc3R5bGVkRmllbGRzZXQgLmZpZWxkc2V0R3JpZCxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGRzZXQgLmZpZWxkc2V0R3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgZ2FwOiAxMnB4O1xuICB9XG4gIC5zdHlsZWRGaWVsZHNldCAuZmllbGRzZXRHcmlkIC5maWVsZFdyYXBwZXIsXG4gIC5zdHlsZWRGaWVsZHNldCAuZmllbGRzZXRHcmlkIC5jb250cm9sV3JhcHBlcixcbiAgLnVtYnJhY28tZm9ybXMtZmllbGRzZXQgLmZpZWxkc2V0R3JpZCAuZmllbGRXcmFwcGVyLFxuICAudW1icmFjby1mb3Jtcy1maWVsZHNldCAuZmllbGRzZXRHcmlkIC5jb250cm9sV3JhcHBlciB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIC5maWVsZFdyYXBwZXIsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5kYXRlLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCB7XG4gICAgbWFyZ2luOiAxMHB4IGF1dG87XG4gIH1cbiAgLmZpZWxkV3JhcHBlciBsYWJlbDpub3QoLmNoZWNrYm94TGFiZWwpLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlciBsYWJlbDpub3QoLmNoZWNrYm94TGFiZWwpLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5kYXRlIGxhYmVsOm5vdCguY2hlY2tib3hMYWJlbCksXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIGxhYmVsOm5vdCguY2hlY2tib3hMYWJlbCkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDhweDtcbiAgICBsZWZ0OiA4cHg7XG4gICAgei1pbmRleDogMjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgMCA1cHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tcHJpbWFyeS1mb250KTtcbiAgICBjb2xvcjogdmFyKC0tYmFzaWMpO1xuICB9XG4gIC5maWVsZFdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KFt0eXBlPXJhZGlvXSk6bm90KC5pdGlfX3NlYXJjaC1pbnB1dCksXG4gIC5maWVsZFdyYXBwZXIgdGV4dGFyZWEsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyIGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1yYWRpb10pOm5vdCguaXRpX19zZWFyY2gtaW5wdXQpLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlciB0ZXh0YXJlYSxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSBpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9cmFkaW9dKTpub3QoLml0aV9fc2VhcmNoLWlucHV0KSxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSB0ZXh0YXJlYSxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQgaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KFt0eXBlPXJhZGlvXSk6bm90KC5pdGlfX3NlYXJjaC1pbnB1dCksXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIHRleHRhcmVhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogNDhweDtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tZ3JleSk7XG4gICAgcGFkZGluZzogMjNweCA4cHggNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgLmZpZWxkV3JhcHBlciAuc2hvd0hpZGUsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyIC5zaG93SGlkZSxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSAuc2hvd0hpZGUsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIC5zaG93SGlkZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDUzcHg7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWRhcmspO1xuICAgIGNvbG9yOiB2YXIoLS1icmFuZC1kYXJrLWNvbnRyYXN0KTtcbiAgfVxuICBAbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gICAgLmZpZWxkV3JhcHBlciAuc2hvd0hpZGU6aG92ZXIsXG4gICAgLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgLnNob3dIaWRlOmhvdmVyLFxuICAgIC51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUgLnNob3dIaWRlOmhvdmVyLFxuICAgIC51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIC5zaG93SGlkZTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQpO1xuICAgICAgY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG4gICAgfVxuICB9XG4gIFtkYXRhLWJyb3dzZXI9aWVdIC5maWVsZFdyYXBwZXIgLnNob3dIaWRlOmhvdmVyLFxuICBbZGF0YS1icm93c2VyPWllXSAudW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlciAuc2hvd0hpZGU6aG92ZXIsXG4gIFtkYXRhLWJyb3dzZXI9aWVdIC51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUgLnNob3dIaWRlOmhvdmVyLFxuICBbZGF0YS1icm93c2VyPWllXSAudW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCAuc2hvd0hpZGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gICAgY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG4gIH1cbiAgLmllIC5maWVsZFdyYXBwZXIgLnNob3dIaWRlOmhvdmVyLFxuICAuaWUgLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgLnNob3dIaWRlOmhvdmVyLFxuICAuaWUgLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSAuc2hvd0hpZGU6aG92ZXIsXG4gIC5pZSAudW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCAuc2hvd0hpZGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gICAgY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG4gIH1cbiAgLmZpZWxkV3JhcHBlciAuc2hvd0hpZGUuZm9jdXMtdmlzaWJsZSxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgLnNob3dIaWRlLmZvY3VzLXZpc2libGUsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUgLnNob3dIaWRlLmZvY3VzLXZpc2libGUsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIC5zaG93SGlkZS5mb2N1cy12aXNpYmxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQpO1xuICAgIGNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpO1xuICB9XG4gIC5maWVsZFdyYXBwZXIgLnNob3dIaWRlOmZvY3VzLXZpc2libGUsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyIC5zaG93SGlkZTpmb2N1cy12aXNpYmxlLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5kYXRlIC5zaG93SGlkZTpmb2N1cy12aXNpYmxlLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCAuc2hvd0hpZGU6Zm9jdXMtdmlzaWJsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbiAgfVxuICAuZmllbGRXcmFwcGVyIC5zaG93SGlkZVthcmlhLWNoZWNrZWQ9dHJ1ZV0gLmljb246YWZ0ZXIsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyIC5zaG93SGlkZVthcmlhLWNoZWNrZWQ9dHJ1ZV0gLmljb246YWZ0ZXIsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUgLnNob3dIaWRlW2FyaWEtY2hlY2tlZD10cnVlXSAuaWNvbjphZnRlcixcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQgLnNob3dIaWRlW2FyaWEtY2hlY2tlZD10cnVlXSAuaWNvbjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogM3B4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtNDVkZWcpO1xuICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgfVxuICAuZmllbGRXcmFwcGVyIC5zaG93SGlkZSAuaWNvbixcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgLnNob3dIaWRlIC5pY29uLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5kYXRlIC5zaG93SGlkZSAuaWNvbixcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQgLnNob3dIaWRlIC5pY29uIHtcbiAgICBmb250LXNpemU6IDEuMmVtO1xuICB9XG4gIC5maWVsZFdyYXBwZXIgI1Bhc3N3b3JkOmZvY3VzICsgI3JlcXVpcmVtZW50cyxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgI1Bhc3N3b3JkOmZvY3VzICsgI3JlcXVpcmVtZW50cyxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSAjUGFzc3dvcmQ6Zm9jdXMgKyAjcmVxdWlyZW1lbnRzLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCAjUGFzc3dvcmQ6Zm9jdXMgKyAjcmVxdWlyZW1lbnRzIHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAwcHg7XG4gIH1cbiAgLmZpZWxkV3JhcHBlciAjcmVxdWlyZW1lbnRzLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlciAjcmVxdWlyZW1lbnRzLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5kYXRlICNyZXF1aXJlbWVudHMsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkICNyZXF1aXJlbWVudHMge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMTBweCAwIDAgMDtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCA4MDBtcyBlYXNlLWluLW91dDtcbiAgfVxuICAuZmllbGRXcmFwcGVyICNyZXF1aXJlbWVudHMgbGksXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyICNyZXF1aXJlbWVudHMgbGksXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUgI3JlcXVpcmVtZW50cyBsaSxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQgI3JlcXVpcmVtZW50cyBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gIH1cbiAgLmZpZWxkV3JhcHBlciAjcmVxdWlyZW1lbnRzIGxpLnZhbGlkIC5pY29uLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlciAjcmVxdWlyZW1lbnRzIGxpLnZhbGlkIC5pY29uLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5kYXRlICNyZXF1aXJlbWVudHMgbGkudmFsaWQgLmljb24sXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkICNyZXF1aXJlbWVudHMgbGkudmFsaWQgLmljb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvcnJlY3QpO1xuICAgIGNvbG9yOiB2YXIoLS1jb3JyZWN0LWNvbnRyYXN0KTtcbiAgICBmb250LXNpemU6IDAuODhlbTtcbiAgICBwYWRkaW5nLXRvcDogMC4xZW07XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbiAgLmZpZWxkV3JhcHBlciAjcmVxdWlyZW1lbnRzIGxpIC5pY29uLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlciAjcmVxdWlyZW1lbnRzIGxpIC5pY29uLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5kYXRlICNyZXF1aXJlbWVudHMgbGkgLmljb24sXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkICNyZXF1aXJlbWVudHMgbGkgLmljb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdyb25nKTtcbiAgICBjb2xvcjogdmFyKC0td3JvbmctY29udHJhc3QpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgZm9udC1zaXplOiAwLjk1ZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuMWVtO1xuICB9XG4gIC5kcm9wZG93bldyYXBwZXIgbGFiZWw6bm90KC5jaGVja2JveExhYmVsKSxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuZHJvcGRvd24gbGFiZWw6bm90KC5jaGVja2JveExhYmVsKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogOHB4O1xuICAgIGxlZnQ6IDhweDtcbiAgICB6LWluZGV4OiAyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCAwIDVweDtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXNpemU6IDAuOGVtO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1wcmltYXJ5LWZvbnQpO1xuICAgIGNvbG9yOiB2YXIoLS1iYXNpYyk7XG4gIH1cbiAgLmRyb3Bkb3duV3JhcHBlciBzZWxlY3QsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLmRyb3Bkb3duIHNlbGVjdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDUycHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWdyZXkpO1xuICAgIHBhZGRpbmc6IDI2cHggNDVweCA4cHggOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgLnVtYnJhY28tZm9ybXMtZmllbGQubG9uZ2Fuc3dlciB0ZXh0YXJlYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDU2cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWdyZXkpO1xuICAgIHBhZGRpbmc6IDZweCA4cHggNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgZm9ybSAuZXJyb3IsXG4gIC5mb3JtV3JhcCAuZXJyb3Ige1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogNHB4IDA7XG4gICAgcGFkZGluZzogMnB4IDRweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3JvbmcpO1xuICAgIGNvbG9yOiB2YXIoLS13cm9uZy1jb250cmFzdCk7XG4gIH1cbiAgZm9ybSAuZXJyb3I6ZW1wdHksXG4gIC5mb3JtV3JhcCAuZXJyb3I6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDY1MHB4KSB7XG4gICAgLnN0eWxlZEZpZWxkc2V0LFxuICAgIC51bWJyYWNvLWZvcm1zLWZpZWxkc2V0IHtcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgfVxuICAgIC5zdHlsZWRGaWVsZHNldCAuZmllbGRzZXRHcmlkLFxuICAgIC51bWJyYWNvLWZvcm1zLWZpZWxkc2V0IC5maWVsZHNldEdyaWQge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBub25lO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNTIwcHgpIHtcbiAgICAuY29udHJvbFdyYXBwZXIgbGFiZWwge1xuICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ1MHB4KSB7XG4gICAgLmNvbnRyb2xXcmFwcGVyIGxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgfVxuICB9XG59XG4uZmllbGRXcmFwcGVyIC5kZXNjcmlwdGlvbiA+ICo6Zmlyc3QtY2hpbGQsXG4udW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlciAuZGVzY3JpcHRpb24gPiAqOmZpcnN0LWNoaWxkLFxuLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSAuZGVzY3JpcHRpb24gPiAqOmZpcnN0LWNoaWxkLFxuLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQgLmRlc2NyaXB0aW9uID4gKjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbn1cbi5maWVsZFdyYXBwZXIgLmRlc2NyaXB0aW9uID4gKjpsYXN0LWNoaWxkLFxuLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgLmRlc2NyaXB0aW9uID4gKjpsYXN0LWNoaWxkLFxuLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSAuZGVzY3JpcHRpb24gPiAqOmxhc3QtY2hpbGQsXG4udW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCAuZGVzY3JpcHRpb24gPiAqOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5jb250cm9sV3JhcHBlciA+ICo6Zmlyc3QtY2hpbGQsXG4uYWRnLXVtYnJhY28tZm9ybXMtY29udHJvbHdyYXBwZXIgPiAqOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuLmNvbnRyb2xXcmFwcGVyID4gKjpsYXN0LWNoaWxkLFxuLmFkZy11bWJyYWNvLWZvcm1zLWNvbnRyb2x3cmFwcGVyID4gKjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuLmNvbnRyb2xXcmFwcGVyIC5kZXNjcmlwdGlvbiA+ICo6Zmlyc3QtY2hpbGQsXG4uYWRnLXVtYnJhY28tZm9ybXMtY29udHJvbHdyYXBwZXIgLmRlc2NyaXB0aW9uID4gKjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbn1cbi5jb250cm9sV3JhcHBlciAuZGVzY3JpcHRpb24gPiAqOmxhc3QtY2hpbGQsXG4uYWRnLXVtYnJhY28tZm9ybXMtY29udHJvbHdyYXBwZXIgLmRlc2NyaXB0aW9uID4gKjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4uc3R5bGVkRmllbGRzZXQgPiA6bGFzdC1jaGlsZCxcbi51bWJyYWNvLWZvcm1zLWZpZWxkc2V0ID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbiNyZXF1aXJlbWVudHMgbGkudmFsaWQgLmljb246YmVmb3JlIHtcbiAgY29udGVudDogXCJhXCI7XG59XG5cbndpbGxpcy16b25lIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbltpbmVydF0ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxud2lsbGlzLWRpYWxvZzpub3QoW2RhdGEtb3Blbj10cnVlXSkge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbmh0bWxbZGF0YS1kaWFsb2ctaGlkZS1vdmVyZmxvdz10cnVlXSB7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuQGxheWVyIGJhc2Uge1xuICAuZGlhbG9nQmFja2Ryb3Age1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgaGVpZ2h0OiAxMDBkdmg7XG4gIH1cbiAgQHN1cHBvcnRzIChoZWlnaHQ6IDEwMGR2aCkge1xuICAgIC5kaWFsb2dCYWNrZHJvcCB7XG4gICAgICBoZWlnaHQ6IDEwMGR2aDtcbiAgICB9XG4gIH1cbiAgLnNsaWRlIC5kaWFsb2dCYWNrZHJvcCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG4gIC5kaWFsb2dJbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIGRpdltyb2xlPWRpYWxvZ10ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICB9XG4gIFtkYXRhLWRpYWxvZy1zdHlsZT1tb2RhbF0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG4gIFtkYXRhLWRpYWxvZy1zdHlsZT1tb2RhbF0gZGl2W3JvbGU9ZGlhbG9nXSB7XG4gICAgd2lkdGg6IDU4MHB4O1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxuICBbZGF0YS1kaWFsb2ctc3R5bGU9bW9kYWxdIC5kaWFsb2dJbm5lciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICB9XG4gIFtkYXRhLWRpYWxvZy1zdHlsZT1sYXJnZU1vZGFsXSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cbiAgW2RhdGEtZGlhbG9nLXN0eWxlPWxhcmdlTW9kYWxdIGRpdltyb2xlPWRpYWxvZ10ge1xuICAgIHdpZHRoOiA4MDBweDtcbiAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxuICBbZGF0YS1kaWFsb2ctc3R5bGU9bGFyZ2VNb2RhbF0gLmRpYWxvZ0lubmVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XG4gIH1cbiAgW2RhdGEtZGlhbG9nLXN0eWxlPXNoYWRlXSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxuICBbZGF0YS1kaWFsb2ctc3R5bGU9c2hhZGVdIGRpdltyb2xlPWRpYWxvZ10ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICBbZGF0YS1kaWFsb2ctc3R5bGU9c2hhZGVdIGRpdltyb2xlPWRpYWxvZ10gLmRpYWxvZ0xhYmVsIHtcbiAgICBtYXgtd2lkdGg6IDgwMHB4O1xuICB9XG4gIFtkYXRhLWRpYWxvZy1zdHlsZT1zaGFkZV0gZGl2W3JvbGU9ZGlhbG9nXSAuZGlhbG9nQ29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgfVxuICBbZGF0YS1kaWFsb2ctc3R5bGU9c2hhZGVdIGRpdltyb2xlPWRpYWxvZ10gLmRpYWxvZ0FjdGlvbnMge1xuICAgIG1heC13aWR0aDogODAwcHg7XG4gIH1cbiAgW2RhdGEtZGlhbG9nLXN0eWxlPXNoYWRlXSAuZGlhbG9nSW5uZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCB2YXIoLS1yYWRpdXMpIHZhcigtLXJhZGl1cyk7XG4gIH1cbiAgW2RhdGEtZGlhbG9nLXN0eWxlXj1zaWRlYmFyXSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICB9XG4gIFtkYXRhLWRpYWxvZy1zdHlsZV49c2lkZWJhcl1bZGF0YS1kaWFsb2ctc3R5bGU9c2lkZWJhckxlZnRdIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIH1cbiAgW2RhdGEtZGlhbG9nLXN0eWxlXj1zaWRlYmFyXVtkYXRhLWRpYWxvZy1zdHlsZT1zaWRlYmFyUmlnaHRdIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB9XG4gIFtkYXRhLWRpYWxvZy1zdHlsZV49c2lkZWJhcl0gZGl2W3JvbGU9ZGlhbG9nXSB7XG4gICAgd2lkdGg6IDQ0MHB4O1xuICB9XG4gIFtkYXRhLWRpYWxvZy1zdHlsZV49ZnVsbF0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuICBbZGF0YS1kaWFsb2ctc3R5bGVePWZ1bGxdIGRpdltyb2xlPWRpYWxvZ10ge1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgW2RhdGEtZGlhbG9nLXN0eWxlXj1zaWRlYmFyXSBkaXZbcm9sZT1kaWFsb2ddIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbiAgICBbZGF0YS1kaWFsb2ctc3R5bGU9bW9kYWxdIGRpdltyb2xlPWRpYWxvZ10ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLXNwZWVkPWdsYWNpYWxdIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAzMDAwbXM7XG59XG5cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tc3BlZWQ9dmVyeVNsb3ddIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XG59XG5cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tc3BlZWQ9c2xvd10ge1xuICBhbmltYXRpb24tZHVyYXRpb246IDgwMG1zO1xufVxuXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLXNwZWVkPW1lZGl1bV0ge1xuICBhbmltYXRpb24tZHVyYXRpb246IDUwMG1zO1xufVxuXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLXNwZWVkPWZhc3RdIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAzMDBtcztcbn1cblxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1zcGVlZD12ZXJ5RmFzdF0ge1xuICBhbmltYXRpb24tZHVyYXRpb246IDIwMG1zO1xufVxuXG4uZGlhbG9nQmFja2Ryb3Age1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICBhbmltYXRpb24tZHVyYXRpb246IDIwMG1zO1xufVxuLmRpYWxvZ0JhY2tkcm9wLmluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcbn1cbi5kaWFsb2dCYWNrZHJvcC5vdXQge1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dDtcbn1cblxuQGtleWZyYW1lcyBmYWRlSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9ZmFkZUluXSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1mYWRlT3V0XSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVUb3BJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cbn1cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1mYWRlVG9wSW5dIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVUb3BJbjtcbn1cblxuQGtleWZyYW1lcyBmYWRlVG9wT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxufVxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPWZhZGVUb3BPdXRdIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVUb3BPdXQ7XG59XG5cbkBrZXlmcmFtZXMgZmFkZUJvdHRvbUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICB9XG59XG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9ZmFkZUJvdHRvbUluXSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlQm90dG9tSW47XG59XG5cbkBrZXlmcmFtZXMgZmFkZUJvdHRvbU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcbiAgfVxufVxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPWZhZGVCb3R0b21PdXRdIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVCb3R0b21PdXQ7XG59XG5cbkBrZXlmcmFtZXMgZmFkZVJpZ2h0SW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gIH1cbn1cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1mYWRlUmlnaHRJbl0ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZVJpZ2h0SW47XG59XG5cbkBrZXlmcmFtZXMgZmFkZVJpZ2h0T3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpO1xuICB9XG59XG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9ZmFkZVJpZ2h0T3V0XSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlUmlnaHRPdXQ7XG59XG5cbkBrZXlmcmFtZXMgZmFkZUxlZnRJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gIH1cbn1cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1mYWRlTGVmdEluXSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlTGVmdEluO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVMZWZ0T3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxufVxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPWZhZGVMZWZ0T3V0XSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlTGVmdE91dDtcbn1cblxuQGtleWZyYW1lcyBzbGlkZVRvcEluIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgfVxufVxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPXNsaWRlVG9wSW5dIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlVG9wSW47XG59XG5AbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPXNsaWRlVG9wSW5dIHtcbiAgICBhbmltYXRpb24tbmFtZTogc2xpZGVCb3R0b21JbjtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlVG9wT3V0IHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgfVxufVxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPXNsaWRlVG9wT3V0XSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZVRvcE91dDtcbn1cblxuQGtleWZyYW1lcyBzbGlkZUJvdHRvbUluIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICB9XG59XG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9c2xpZGVCb3R0b21Jbl0ge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVCb3R0b21Jbjtcbn1cblxuQGtleWZyYW1lcyBzbGlkZUJvdHRvbU91dCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNTAlKTtcbiAgfVxufVxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPXNsaWRlQm90dG9tT3V0XSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUJvdHRvbU91dDtcbn1cblxuQGtleWZyYW1lcyBzbGlkZVJpZ2h0SW4ge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gIH1cbn1cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1zbGlkZVJpZ2h0SW5dIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlUmlnaHRJbjtcbn1cblxuQGtleWZyYW1lcyBzbGlkZVJpZ2h0T3V0IHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB9XG59XG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9c2xpZGVSaWdodE91dF0ge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVSaWdodE91dDtcbn1cblxuQGtleWZyYW1lcyBzbGlkZUxlZnRJbiB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gIH1cbn1cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1zbGlkZUxlZnRJbl0ge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVMZWZ0SW47XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVMZWZ0T3V0IHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgfVxufVxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPXNsaWRlTGVmdE91dF0ge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVMZWZ0T3V0O1xufVxuXG4uZGlhbG9nQmFja2Ryb3Age1xuICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbGlnaHQtZ3JleSkgY2FsYygwLjk1ICogMTAwJSksIHRyYW5zcGFyZW50KTtcbn1cblxuLmRpYWxvZ0NvbnRlbnQge1xuICBtYXJnaW46IDEwcHggMDtcbn1cblxuLmRpYWxvZ0FjdGlvbnMuZ2VuZXJhdGVkIGJ1dHRvbi5jbG9zZURpYWxvZyAuaWNvbjpiZWZvcmUge1xuICBmb250LWZhbWlseTogdmFyKC0taWNvbi1mb250KTtcbiAgY29udGVudDogXCJiXCI7XG59XG5cbmJ1dHRvbi5jbG9zZURpYWxvZyAuaWNvbjpiZWZvcmUge1xuICBmb250LWZhbWlseTogdmFyKC0taWNvbi1mb250KTtcbiAgZm9udC1zaXplOiAxLjVlbTtcbiAgY29udGVudDogXCJiXCI7XG59XG5cbi5kaWFsb2dMYWJlbCBoMiB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbltkYXRhLWRpYWxvZy1zdHlsZT1tb2RhbF0ge1xuICBwYWRkaW5nOiAyMHB4O1xufVxuLnNhZmFyaSBbZGF0YS1kaWFsb2ctc3R5bGU9bW9kYWxdIHtcbiAgcGFkZGluZzogMjBweCAyMHB4IDE1MHB4O1xufVxuW2RhdGEtZGlhbG9nLXN0eWxlPW1vZGFsXSAuZGlhbG9nSW5uZXIge1xuICBwYWRkaW5nOiAyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWxpZ2h0LWNvbnRyYXN0KTtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93KTtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZT1tb2RhbF0gLmRpYWxvZ0xhYmVsIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYnJhbmQtZGFyayk7XG4gIHBhZGRpbmc6IDVweCAxMHB4IDIwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5bZGF0YS1kaWFsb2ctc3R5bGU9bW9kYWxdIC5kaWFsb2dMYWJlbCBoMiB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1zaXplOiAxLjI1ZW07XG59XG5bZGF0YS1kaWFsb2ctc3R5bGU9bW9kYWxdIGJ1dHRvbi5jbG9zZURpYWxvZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwLjZlbSAxLjVlbTtcbiAgYm9yZGVyLXdpZHRoOiAzcHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1icmFuZC1icmlnaHQpIG1heChsIC0gbCAqIDAuMTUsIDApIGMgaCk7XG4gIGxpbmUtaGVpZ2h0OiAxLjFlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBmb250LWZhbWlseTogdmFyKC0tYmFzaWMtZm9udCk7XG4gIG91dGxpbmUtb2Zmc2V0OiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGFsbCAyMDBtcztcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIFtkYXRhLWRpYWxvZy1zdHlsZT1tb2RhbF0gYnV0dG9uLmNsb3NlRGlhbG9nOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gICAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbiAgICBib3JkZXItY29sb3I6IG9rbGNoKGZyb20gdmFyKC0taG92ZXIpIG1heChsIC0gbCAqIDAuMSwgMCkgYyBoKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cbltkYXRhLWJyb3dzZXI9aWVdIFtkYXRhLWRpYWxvZy1zdHlsZT1tb2RhbF0gYnV0dG9uLmNsb3NlRGlhbG9nOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG4gIGJvcmRlci1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1ob3ZlcikgbWF4KGwgLSBsICogMC4xLCAwKSBjIGgpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uaWUgW2RhdGEtZGlhbG9nLXN0eWxlPW1vZGFsXSBidXR0b24uY2xvc2VEaWFsb2c6aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbiAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWhvdmVyKSBtYXgobCAtIGwgKiAwLjEsIDApIGMgaCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZT1tb2RhbF0gYnV0dG9uLmNsb3NlRGlhbG9nLmZvY3VzLXZpc2libGUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbiAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWhvdmVyKSBtYXgobCAtIGwgKiAwLjEsIDApIGMgaCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZT1tb2RhbF0gYnV0dG9uLmNsb3NlRGlhbG9nOmZvY3VzLXZpc2libGUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbiAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWhvdmVyKSBtYXgobCAtIGwgKiAwLjEsIDApIGMgaCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZT1tb2RhbF0gYnV0dG9uLmNsb3NlRGlhbG9nW2Rpc2FibGVkXSwgW2RhdGEtZGlhbG9nLXN0eWxlPW1vZGFsXSBidXR0b24uY2xvc2VEaWFsb2dbYXJpYS1kaXNhYmxlZD10cnVlXSB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZT1tb2RhbF0gYnV0dG9uLmNsb3NlRGlhbG9nIC5pY29uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNhZmFyaSBbZGF0YS1kaWFsb2ctc3R5bGU9bGFyZ2VNb2RhbF0ge1xuICBwYWRkaW5nOiAyMHB4IDIwcHggMTUwcHg7XG59XG5bZGF0YS1kaWFsb2ctc3R5bGU9bGFyZ2VNb2RhbF0gLmRpYWxvZ0lubmVyIHtcbiAgcGFkZGluZzogMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQpO1xuICBjb2xvcjogdmFyKC0tbGlnaHQtY29udHJhc3QpO1xufVxuW2RhdGEtZGlhbG9nLXN0eWxlPWxhcmdlTW9kYWxdIC5kaWFsb2dMYWJlbCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJyYW5kLWRhcmspO1xuICBwYWRkaW5nOiA1cHggMTBweCAyMHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuW2RhdGEtZGlhbG9nLXN0eWxlPWxhcmdlTW9kYWxdIC5kaWFsb2dMYWJlbCBoMiB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1zaXplOiAxLjI1ZW07XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcbn1cblxuW2RhdGEtZGlhbG9nLXN0eWxlPXNoYWRlXSAuZGlhbG9nSW5uZXIge1xuICBwYWRkaW5nOiAyMHB4O1xufVxuW2RhdGEtZGlhbG9nLXN0eWxlPXNoYWRlXSBkaXZbcm9sZT1kaWFsb2ddIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1kYXJrLWNvbnRyYXN0KTtcbn1cblxuW2RhdGEtZGlhbG9nLXN0eWxlXj1zaWRlYmFyXSAuZGlhbG9nSW5uZXIge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xufVxuW2RhdGEtZGlhbG9nLXN0eWxlXj1zaWRlYmFyXVtkYXRhLWRpYWxvZy1zdHlsZT1zaWRlYmFyTGVmdF0gLmRpYWxvZ0lubmVyIHtcbiAgcGFkZGluZzogMjBweDtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZV49c2lkZWJhcl1bZGF0YS1kaWFsb2ctc3R5bGU9c2lkZWJhclJpZ2h0XSAuZGlhbG9nSW5uZXIge1xuICBwYWRkaW5nOiAyMHB4O1xufVxuXG5bZGF0YS1kaWFsb2ctc3R5bGVePWZ1bGxdIC5kaWFsb2dJbm5lciB7XG4gIHBhZGRpbmc6IDIwcHg7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICBbZGF0YS1kaWFsb2ctc3R5bGVePXNpZGViYXJdW2RhdGEtZGlhbG9nLXN0eWxlPXNpZGViYXJSaWdodF0gLmRpYWxvZ0lubmVyIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG4gIFtkYXRhLWRpYWxvZy1zdHlsZT1tb2RhbF0gZGl2W3JvbGU9ZGlhbG9nXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBrZXlmcmFtZXMgem9vbUluIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgem9vbU91dCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBsYXllciBiYXNlIHtcbiAgI2JhY2tncm91bmQgW2RhdGEtc2xpZGVzaG93PXpvb21TbGlkZXNob3ddLnJldHVyblBhdXNlIC5iZ0ltZ1dyYXBwZXI6Zmlyc3QtY2hpbGQge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgI2JhY2tncm91bmQgW2RhdGEtc2xpZGVzaG93PXpvb21TbGlkZXNob3ddIC5iZ0ltZ1dyYXBwZXIge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjg1cztcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIH1cbiAgI2JhY2tncm91bmQgW2RhdGEtc2xpZGVzaG93PXpvb21TbGlkZXNob3ddIC5iZ0ltZ1dyYXBwZXIuY3VycmVudCB7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcbiAgICB6LWluZGV4OiAxO1xuICB9XG4gICNiYWNrZ3JvdW5kIFtkYXRhLXNsaWRlc2hvdz16b29tU2xpZGVzaG93XSAuYmdJbWdXcmFwcGVyLnByZXYge1xuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICB9XG4gICNiYWNrZ3JvdW5kIFtkYXRhLXNsaWRlc2hvdz16b29tU2xpZGVzaG93XSAuYmdJbWdXcmFwcGVyOm50aC1jaGlsZChvZGQpIC5iZ0ltZy50cmFucyB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbjtcbiAgfVxuICAjYmFja2dyb3VuZCBbZGF0YS1zbGlkZXNob3c9em9vbVNsaWRlc2hvd10gLmJnSW1nV3JhcHBlcjpudGgtY2hpbGQoZXZlbikgLmJnSW1nLnRyYW5zIHtcbiAgICBhbmltYXRpb24tbmFtZTogem9vbU91dDtcbiAgfVxuICAjYmFja2dyb3VuZCBbZGF0YS1zbGlkZXNob3c9em9vbVNsaWRlc2hvd10gLmJnSW1nIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gICAgei1pbmRleDogMTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxMHM7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gIH1cbiAgI2JhY2tncm91bmQgW2RhdGEtc2xpZGVzaG93PXpvb21TbGlkZXNob3ddIC5iZ0ltZ1tkYXRhLWJnLXBvcz1jZW50ZXJdIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICB9XG4gICNiYWNrZ3JvdW5kIFtkYXRhLXNsaWRlc2hvdz16b29tU2xpZGVzaG93XSAuYmdJbWdbZGF0YS1iZy1wb3M9XCJjZW50ZXIgbGVmdFwiXSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAlIDUwJTtcbiAgfVxuICAjYmFja2dyb3VuZCBbZGF0YS1zbGlkZXNob3c9em9vbVNsaWRlc2hvd10gLmJnSW1nW2RhdGEtYmctcG9zPVwiY2VudGVyIHJpZ2h0XCJdIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA5MCUgNTAlO1xuICB9XG4gICNiYWNrZ3JvdW5kIFtkYXRhLXNsaWRlc2hvdz16b29tU2xpZGVzaG93XSAuYmdJbWdbZGF0YS1iZy1wb3M9XCJ0b3AgbGVmdFwiXSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAlIDEwJTtcbiAgfVxuICAjYmFja2dyb3VuZCBbZGF0YS1zbGlkZXNob3c9em9vbVNsaWRlc2hvd10gLmJnSW1nW2RhdGEtYmctcG9zPVwidG9wIG1pZGRsZVwiXSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDEwJTtcbiAgfVxuICAjYmFja2dyb3VuZCBbZGF0YS1zbGlkZXNob3c9em9vbVNsaWRlc2hvd10gLmJnSW1nW2RhdGEtYmctcG9zPVwidG9wIHJpZ2h0XCJdIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA5MCUgMTAlO1xuICB9XG4gICNiYWNrZ3JvdW5kIFtkYXRhLXNsaWRlc2hvdz16b29tU2xpZGVzaG93XSAuYmdJbWdbZGF0YS1iZy1wb3M9XCJib3R0b20gbGVmdFwiXSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAlIDkwJTtcbiAgfVxuICAjYmFja2dyb3VuZCBbZGF0YS1zbGlkZXNob3c9em9vbVNsaWRlc2hvd10gLmJnSW1nW2RhdGEtYmctcG9zPVwiYm90dG9tIG1pZGRsZVwiXSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDEwMCU7XG4gIH1cbiAgI2JhY2tncm91bmQgW2RhdGEtc2xpZGVzaG93PXpvb21TbGlkZXNob3ddIC5iZ0ltZ1tkYXRhLWJnLXBvcz1cImJvdHRvbSBsZWZ0XCJdIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA5MCUgOTAlO1xuICB9XG4gICNiYWNrZ3JvdW5kIFtkYXRhLXNsaWRlc2hvdz16b29tU2xpZGVzaG93XSAuYmdJbWdbZGF0YS1hbmltYXRpb249Y2VudGVyXSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgfVxuICAjYmFja2dyb3VuZCBbZGF0YS1zbGlkZXNob3c9em9vbVNsaWRlc2hvd10gLmJnSW1nW2RhdGEtYW5pbWF0aW9uPVwidG9wIHJpZ2h0XCJdIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgcmlnaHQ7XG4gIH1cbiAgI2JhY2tncm91bmQgW2RhdGEtc2xpZGVzaG93PXpvb21TbGlkZXNob3ddIC5iZ0ltZ1tkYXRhLWFuaW1hdGlvbj1cInRvcCBsZWZ0XCJdIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgfVxuICAjYmFja2dyb3VuZCBbZGF0YS1zbGlkZXNob3c9em9vbVNsaWRlc2hvd10gLmJnSW1nW2RhdGEtYW5pbWF0aW9uPVwiYm90dG9tIHJpZ2h0XCJdIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gcmlnaHQ7XG4gIH1cbiAgI2JhY2tncm91bmQgW2RhdGEtc2xpZGVzaG93PXpvb21TbGlkZXNob3ddIC5iZ0ltZ1tkYXRhLWFuaW1hdGlvbj1cImJvdHRvbSBsZWZ0XCJdIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gbGVmdDtcbiAgfVxuICAjYmFja2dyb3VuZCBbZGF0YS1zbGlkZXNob3c9em9vbVNsaWRlc2hvd10ucGF1c2VkIC5iZ0ltZ1dyYXBwZXIudHJhbnMge1xuICAgIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7XG4gIH1cbiAgI2JhY2tncm91bmQgW2RhdGEtc2xpZGVzaG93PXpvb21TbGlkZXNob3ddLnBhdXNlZCAuYmdJbWcudHJhbnMge1xuICAgIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7XG4gIH1cbiAgI2JhY2tncm91bmQgLmJnSW1nLFxuICAjYmFja2dyb3VuZCAuc2VjdGlvbkJnIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICB9XG4gICNiYWNrZ3JvdW5kIC5iZ0ltZ1tkYXRhLWJnLXBvcz1cInRvcCBsZWZ0XCJdLFxuICAjYmFja2dyb3VuZCAuc2VjdGlvbkJnW2RhdGEtYmctcG9zPVwidG9wIGxlZnRcIl0ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAlIDAlO1xuICB9XG4gICNiYWNrZ3JvdW5kIC5iZ0ltZ1tkYXRhLWJnLXBvcz1cInRvcCBtaWRkbGVcIl0sXG4gICNiYWNrZ3JvdW5kIC5zZWN0aW9uQmdbZGF0YS1iZy1wb3M9XCJ0b3AgbWlkZGxlXCJdIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMDtcbiAgfVxuICAjYmFja2dyb3VuZCAuYmdJbWdbZGF0YS1iZy1wb3M9XCJ0b3AgcmlnaHRcIl0sXG4gICNiYWNrZ3JvdW5kIC5zZWN0aW9uQmdbZGF0YS1iZy1wb3M9XCJ0b3AgcmlnaHRcIl0ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMCU7XG4gIH1cbiAgI2JhY2tncm91bmQgLmJnSW1nW2RhdGEtYmctcG9zPVwiY2VudGVyIGxlZnRcIl0sXG4gICNiYWNrZ3JvdW5kIC5zZWN0aW9uQmdbZGF0YS1iZy1wb3M9XCJjZW50ZXIgbGVmdFwiXSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCUgNTAlO1xuICB9XG4gICNiYWNrZ3JvdW5kIC5iZ0ltZ1tkYXRhLWJnLXBvcz1jZW50ZXJdLFxuICAjYmFja2dyb3VuZCAuc2VjdGlvbkJnW2RhdGEtYmctcG9zPWNlbnRlcl0ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gIH1cbiAgI2JhY2tncm91bmQgLmJnSW1nW2RhdGEtYmctcG9zPVwiY2VudGVyIHJpZ2h0XCJdLFxuICAjYmFja2dyb3VuZCAuc2VjdGlvbkJnW2RhdGEtYmctcG9zPVwiY2VudGVyIHJpZ2h0XCJdIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDUwJTtcbiAgfVxuICAjYmFja2dyb3VuZCAuYmdJbWdbZGF0YS1iZy1wb3M9XCJib3R0b20gbGVmdFwiXSxcbiAgI2JhY2tncm91bmQgLnNlY3Rpb25CZ1tkYXRhLWJnLXBvcz1cImJvdHRvbSBsZWZ0XCJdIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwJSAxMDAlO1xuICB9XG4gICNiYWNrZ3JvdW5kIC5iZ0ltZ1tkYXRhLWJnLXBvcz1cImJvdHRvbSBtaWRkbGVcIl0sXG4gICNiYWNrZ3JvdW5kIC5zZWN0aW9uQmdbZGF0YS1iZy1wb3M9XCJib3R0b20gbWlkZGxlXCJdIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMTAwJTtcbiAgfVxuICAjYmFja2dyb3VuZCAuYmdJbWdbZGF0YS1iZy1wb3M9XCJib3R0b20gcmlnaHRcIl0sXG4gICNiYWNrZ3JvdW5kIC5zZWN0aW9uQmdbZGF0YS1iZy1wb3M9XCJib3R0b20gcmlnaHRcIl0ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMTAwJTtcbiAgfVxuICAjYmFja2dyb3VuZCB2aWRlbyB7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQtZ3JleSk7XG4gIH1cbn1cbltkYXRhLWlzLWxvYWRpbmc9dHJ1ZV0gI2JhY2tncm91bmQge1xuICBvcGFjaXR5OiAwO1xufVxuXG5bZGF0YS1hY3RpdmUtZGlhbG9nPWNoZWNrbGlzdF0gI2JhY2tncm91bmRQbGF5QnRuLCBbZGF0YS1hY3RpdmUtZGlhbG9nPWZhcV0gI2JhY2tncm91bmRQbGF5QnRuLCBbZGF0YS1hY3RpdmUtZGlhbG9nPWdsb3NzYXJ5XSAjYmFja2dyb3VuZFBsYXlCdG4sIFtkYXRhLWFjdGl2ZS1kaWFsb2c9YWNoaWV2ZW1lbnRzXSAjYmFja2dyb3VuZFBsYXlCdG4sIFtkYXRhLWFjdGl2ZS1kaWFsb2c9cmVzb3VyY2VzXSAjYmFja2dyb3VuZFBsYXlCdG4sIFtkYXRhLWFjdGl2ZS1kaWFsb2c9ZmFxQ29uZmlybVF1ZXN0aW9uTWVzc2FnZV0gI2JhY2tncm91bmRQbGF5QnRuLCBbZGF0YS1hY3RpdmUtZGlhbG9nPWZhcVF1ZXN0aW9uU3VibWl0dGVkTWVzc2FnZV0gI2JhY2tncm91bmRQbGF5QnRuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbltkYXRhLWFjdGl2ZS1kaWFsb2c9dXRpbGl0eU1lbnVdICNiYWNrZ3JvdW5kUGxheUJ0biB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5bZGF0YS1hY3RpdmUtem9uZT1zbGlkZXNdICNiYWNrZ3JvdW5kUGxheUJ0biB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5bZGF0YS1pcy1sb2FkaW5nPXRydWVdICNiYWNrZ3JvdW5kUGxheUJ0biB7XG4gIG9wYWNpdHk6IDAgIWltcG9ydGFudDtcbn1cbiNiYWNrZ3JvdW5kUGxheUJ0biAuaWNvbi1wbGF5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiNiYWNrZ3JvdW5kUGxheUJ0bi5wYXVzZSAuaWNvbi1wbGF5IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4jYmFja2dyb3VuZFBsYXlCdG4ucGF1c2UgLmljb24tcGF1c2Uge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4jYmFja2dyb3VuZCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IGFsbCAzMDBtcztcbn1cbiNiYWNrZ3JvdW5kIC5jb3Zlci1zbGlkZXIsXG4jYmFja2dyb3VuZCB2aWRlbyxcbiNiYWNrZ3JvdW5kIC5tYWluQmdJbWcge1xuICB6LWluZGV4OiAyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xufVxuI2JhY2tncm91bmQgLnNlY3Rpb25CZ0hvbGRlciB7XG4gIHotaW5kZXg6IDE7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG59XG4ubWVudU91dCAjYmFja2dyb3VuZCAuc2VjdGlvbkJnSG9sZGVyIHtcbiAgei1pbmRleDogMztcbn1cbiNiYWNrZ3JvdW5kIC5zZWN0aW9uQmdIb2xkZXJbZGF0YS1zZWN0aW9uLWJnLW9ubHk9dHJ1ZV0ge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG59XG4uaW5TZWN0aW9uICNiYWNrZ3JvdW5kIC5zZWN0aW9uQmdIb2xkZXJbZGF0YS1zZWN0aW9uLWJnLW9ubHk9dHJ1ZV0ge1xuICBvcGFjaXR5OiAxO1xufVxuI2JhY2tncm91bmQgLmJnSW1nLFxuI2JhY2tncm91bmQgLnNlY3Rpb25CZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuI2JhY2tncm91bmQgdmlkZW8ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cbiNiYWNrZ3JvdW5kOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiA1O1xuICBpbnNldDogMDtcbiAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWxpZ2h0KSBjYWxjKDAuMiAqIDEwMCUpLCB0cmFuc3BhcmVudCk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNXB4KTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSA1MDBtcztcbn1cbltkYXRhLWFjdGl2ZS16b25lPXNsaWRlc10gI2JhY2tncm91bmQ6YWZ0ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuXG4jYmFja2dyb3VuZFBsYXlCdG4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYyh2YXIoLS1oZWFkZXItaGVpZ2h0KSArIDVweCk7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAxNTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pIDAgMCB2YXIoLS1yYWRpdXMtc20pO1xuICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cpO1xuICBib3JkZXItd2lkdGg6IDJweCAwIDJweCAycHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tbGlnaHQpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAyMDBtcztcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG59XG4jYmFja2dyb3VuZFBsYXlCdG4gLnRleHQge1xuICByaWdodDogY2FsYygxMDAlICsgMnB4KTtcbiAgdG9wOiA1MCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgc2NhbGU6IDAuMTtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tbGlnaHQpO1xuICBwYWRkaW5nOiAycHggN3B4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvcGFjaXR5OiAwO1xuICBmb250LWZhbWlseTogdmFyKC0tYmFzaWMtZm9udCk7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy14cyk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWxpZ2h0LWNvbnRyYXN0KTtcbiAgdHJhbnNpdGlvbjogYWxsIDUwMG1zIHZhcigtLXRpbWluZy1ib3VuY2UpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDUwJTtcbiAgdHJhbnNsYXRlOiAwIC01MCU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuI2JhY2tncm91bmRQbGF5QnRuIC50ZXh0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNpdGlvbjogYWxsIDUwMG1zIHZhcigtLXRpbWluZy1ib3VuY2UpO1xuICB0cmFuc2xhdGU6IDAgLTUwJTtcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQpO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogMTAwJTtcbiAgaGVpZ2h0OiAxNHB4O1xuICBjbGlwLXBhdGg6IHBvbHlnb24oMTAwJSA1MCUsIDAlIDEwMCUsIDAlIDAlKTtcbn1cbiNiYWNrZ3JvdW5kUGxheUJ0biAudGV4dDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNpdGlvbjogYWxsIDUwMG1zIHZhcigtLXRpbWluZy1ib3VuY2UpO1xuICB0cmFuc2xhdGU6IDAgLTUwJTtcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQpO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogY2FsYygxMDAlIC0gMnB4KTtcbiAgY2xpcC1wYXRoOiBwb2x5Z29uKDEwMCUgNTAlLCAwJSAxMDAlLCAwJSAwJSk7XG59XG4jYmFja2dyb3VuZFBsYXlCdG4gLnRleHQge1xuICBmb250LXNpemU6IDAuOGVtO1xufVxuI2JhY2tncm91bmRQbGF5QnRuIC5pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXNpemU6IDEuMmVtO1xuICB6LWluZGV4OiA0O1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAjYmFja2dyb3VuZFBsYXlCdG46aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICB9XG4gICNiYWNrZ3JvdW5kUGxheUJ0bjpob3ZlciAudGV4dCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBzY2FsZTogMTtcbiAgfVxufVxuW2RhdGEtYnJvd3Nlcj1pZV0gI2JhY2tncm91bmRQbGF5QnRuOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xufVxuW2RhdGEtYnJvd3Nlcj1pZV0gI2JhY2tncm91bmRQbGF5QnRuOmhvdmVyIC50ZXh0IHtcbiAgb3BhY2l0eTogMTtcbiAgc2NhbGU6IDE7XG59XG4uaWUgI2JhY2tncm91bmRQbGF5QnRuOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xufVxuLmllICNiYWNrZ3JvdW5kUGxheUJ0bjpob3ZlciAudGV4dCB7XG4gIG9wYWNpdHk6IDE7XG4gIHNjYWxlOiAxO1xufVxuI2JhY2tncm91bmRQbGF5QnRuLmZvY3VzLXZpc2libGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG59XG4jYmFja2dyb3VuZFBsYXlCdG4uZm9jdXMtdmlzaWJsZSAudGV4dCB7XG4gIG9wYWNpdHk6IDE7XG4gIHNjYWxlOiAxO1xufVxuI2JhY2tncm91bmRQbGF5QnRuOmZvY3VzLXZpc2libGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG59XG4jYmFja2dyb3VuZFBsYXlCdG46Zm9jdXMtdmlzaWJsZSAudGV4dCB7XG4gIG9wYWNpdHk6IDE7XG4gIHNjYWxlOiAxO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjUwcHgpIHtcbiAgI2JhY2tncm91bmQge1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJyYW5kLWRhcmspO1xuICB9XG4gICNiYWNrZ3JvdW5kIC5iZ0ltZyxcbiAgI2JhY2tncm91bmQgLnNlY3Rpb25CZyxcbiAgI2JhY2tncm91bmQgdmlkZW8sXG4gICNiYWNrZ3JvdW5kIC5tYWluQmdJbWcsXG4gICNiYWNrZ3JvdW5kIC5zZWN0aW9uQmdIb2xkZXIge1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IG1heCgyMDBweCwgNTB2aCk7XG4gIH1cbiAgI2JhY2tncm91bmQ6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJyYW5kLWRhcmspO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogbm9uZTtcbiAgfVxuICBbZGF0YS1hY3RpdmUtem9uZT1zbGlkZXNdICNiYWNrZ3JvdW5kOmFmdGVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG4uYnVmZmVyIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgbWluLWhlaWdodDogY2FsYygxMDBkdmggLSA0MHB4KTtcbn1cbi5sYW5kaW5nIC5idWZmZXIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDAgMTVweDtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgei1pbmRleDogOTk5OTtcbn1cbmZvb3RlciAuYWRnTG9nb1dyYXAgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kOiAjMDAwICFpbXBvcnRhbnQ7XG59XG5mb290ZXIgLmFkZ0xvZ29XcmFwIC5hZGdMb2dvIHtcbiAgaGVpZ2h0OiAzMHB4O1xuICB3aWR0aDogYXV0bztcbn1cblxuLnNvY2lhbE1lZGlhIC5zb2NpYWxNZWRpYVRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnNvY2lhbE1lZGlhIC5zb2NpYWxNZWRpYUxvZ2lucyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnIgMWZyO1xuICBnYXA6IDEwcHg7XG59XG4uc29jaWFsTWVkaWEgLnNvY2lhbE1lZGlhTG9naW5zIC5mYWNlYm9va0xvZ2luIHtcbiAgYmFja2dyb3VuZDogcmdiKDgsIDEwMiwgMjU1KSAhaW1wb3J0YW50O1xuICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KSAhaW1wb3J0YW50O1xufVxuLnNvY2lhbE1lZGlhIC5zb2NpYWxNZWRpYUxvZ2lucyAuZ29vZ2xlTG9naW4ge1xuICBiYWNrZ3JvdW5kOiAjZWJlYmVjICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpICFpbXBvcnRhbnQ7XG59XG4uc29jaWFsTWVkaWEgLnNvY2lhbE1lZGlhTG9naW5zIC50d2l0dGVyTG9naW4ge1xuICBiYWNrZ3JvdW5kOiAjMTQxNzFhICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpICFpbXBvcnRhbnQ7XG59XG4uc29jaWFsTWVkaWEgLnNvY2lhbE1lZGlhTG9naW5zIC50d2l0dGVyTG9naW4gLnRleHQge1xuICBib3JkZXI6IDA7XG4gIGNsaXAtcGF0aDogcmVjdCgwIDAgMCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xufVxuLnNvY2lhbE1lZGlhIC5zb2NpYWxNZWRpYUxvZ2lucyAuYXBwbGVMb2dpbiB7XG4gIGJhY2tncm91bmQ6IGJsYWNrICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpICFpbXBvcnRhbnQ7XG59XG4uc29jaWFsTWVkaWEgLnNvY2lhbE1lZGlhTG9naW5zID4gYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgaGVpZ2h0OiA0NXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDFlbSAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG4uc29jaWFsTWVkaWEgLnNvY2lhbE1lZGlhTG9naW5zID4gYSAuc3ZnSWNvbiB7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogN3B4O1xufVxuLnNvY2lhbE1lZGlhIC5zb2NpYWxNZWRpYUxvZ2lucyA+IGEgLnRleHQge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAxLjFlbTtcbn1cbi5zb2NpYWxNZWRpYSAuc29jaWFsTWVkaWFMb2dpbnMgLmFwcGxlTG9naW4ge1xuICBoZWlnaHQ6IDQ1cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5zb2NpYWxNZWRpYSAuc29jaWFsTWVkaWFMb2dpbnMgLmFwcGxlTG9naW4gPiBkaXYge1xuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLypcbi5sb2dpbldyYXBwZXJbZGF0YS1oaWRkZW4tZm9yLWd1ZXN0PVwidHJ1ZVwiXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn0qL1xuLmd1ZXN0V3JhcHBlckhvbGRlciB7XG4gIG1heC1oZWlnaHQ6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCA4MDBtcztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmZpZWxkV3JhcHBlci5lbnJvbGxlZU5hbWUge1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgei1pbmRleDogLTE7XG59XG5cbi5maWVsZFdyYXBwZXIucGhvbmUgI1Bob25lTnVtYmVyIHtcbiAgcGFkZGluZy1sZWZ0OiA1MHB4O1xufVxuLmZpZWxkV3JhcHBlci5waG9uZSAuaXRpIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGNvbG9yOiB2YXIoLS1iYXNpYyk7XG59XG4uZmllbGRXcmFwcGVyLnBob25lIC5pdGkgLml0aV9fY291bnRyeS1jb250YWluZXIge1xuICB0b3A6IDE4cHg7XG4gIGJvdHRvbTogMXB4O1xufVxuLmZpZWxkV3JhcHBlci5waG9uZSAuaXRpIC5pdGlfX3NlbGVjdGVkLWNvdW50cnkge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpIDAgMCB2YXIoLS1yYWRpdXMpO1xufVxuLmZpZWxkV3JhcHBlci5waG9uZSAuaXRpIC5pdGlfX2Ryb3Bkb3duLWNvbnRlbnQge1xuICB6LWluZGV4OiAzO1xufVxuXG46cm9vdCB7XG4gIC0taXRpLXBhdGgtZmxhZ3MtMXg6IHVybChcIi9JbWFnZXMvZmxhZ3MucG5nXCIpO1xuICAtLWl0aS1wYXRoLWZsYWdzLTJ4OiB1cmwoXCIvSW1hZ2VzL2ZsYWdzQDJ4LnBuZ1wiKTtcbiAgLS1pdGktcGF0aC1nbG9iZS0xeDogdXJsKFwiL0ltYWdlcy9nbG9iZS5wbmdcIik7XG4gIC0taXRpLXBhdGgtZ2xvYmUtMng6IHVybChcIi9JbWFnZXMvZ2xvYmVAMngucG5nXCIpO1xufVxuXG5ib2R5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxNDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJSA0MCUgNDAlIDUwJTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDAlO1xuICBzY2FsZTogMS4yIDI7XG4gIHotaW5kZXg6IDI7XG59XG5cbiNiYWNrZ3JvdW5kIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA2MHB4KTtcbn1cblxuI2JhY2tncm91bmRQbGF5QnRuIHtcbiAgdG9wOiAxODVweDtcbn1cblxuaGVhZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMjA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xufVxuaGVhZGVyIC5icmFuZGluZyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgZmxleC1ncm93OiAxO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDI1cHggNTBweDtcbn1cbmhlYWRlciAuYnJhbmRpbmcgaDEge1xuICBtYXJnaW46IDA7XG59XG5oZWFkZXIgLm9yaWVudGF0aW9uVGl0bGUge1xuICBib3JkZXI6IDA7XG4gIGNsaXAtcGF0aDogcmVjdCgwIDAgMCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xufVxuaGVhZGVyIC5sb2dvV3JhcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogNTtcbiAgdG9wOiAwO1xuICBsZWZ0OiA0NXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDMwMHB4O1xuICBhc3BlY3QtcmF0aW86IDMwLzEyO1xuICBwYWRkaW5nOiAwIDAgMjVweCAxMHB4O1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIGZpbHRlcjogZHJvcC1zaGFkb3coLTJweCAtMnB4IDVweCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tYmxhY2spIGNhbGMoMC41ICogMTAwJSksIHRyYW5zcGFyZW50KSk7XG4gIHRyYW5zaXRpb246IGFsbCA1MDBtcyB2YXIoLS10aW1pbmctYm91bmNlKTtcbn1cbi5zYWZhcmkxNiBoZWFkZXIgLmxvZ29XcmFwOmJlZm9yZSwgLnNhZmFyaTE1IGhlYWRlciAubG9nb1dyYXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC0xcHg7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAxcHgpO1xuICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgY2xpcC1wYXRoOiB1cmwoI2hvcml6b25Mb2dvU2hhcGVOZXcpO1xuICB0cmFuc2l0aW9uOiBhbGwgNTAwbXM7XG59XG5oZWFkZXIgLmxvZ29XcmFwOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQpO1xuICBjbGlwLXBhdGg6IHVybCgjaG9yaXpvbkxvZ29TaGFwZU5ldyk7XG4gIHRyYW5zaXRpb246IGFsbCA1MDBtcztcbn1cbmhlYWRlciAubG9nb1dyYXAgLmxvZ28ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDQ7XG4gIG1heC13aWR0aDogNjUlO1xuICBtYXgtaGVpZ2h0OiA2NSU7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG59XG5bZGF0YS1sb2dvLWFzcGVjdD10YWxsXSBoZWFkZXIgLmxvZ29XcmFwIHtcbiAgdG9wOiAtMTVweDtcbiAgcGFkZGluZzogMTVweCAwIDEwcHg7XG4gIHdpZHRoOiAyODBweDtcbiAgaGVpZ2h0OiAxODBweDtcbn1cblxuLmhlYWRlckVsZW1lbnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDExMDtcbiAgaGVpZ2h0OiA2MHB4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5oZWFkZXJFbGVtZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogNjAwcHg7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XG4gIGJvcmRlci1yYWRpdXM6IDAlIDAlIDQwJSA1MCU7XG4gIHRyYW5zZm9ybTogcm90YXRlKC01ZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDEwMCU7XG4gIHNjYWxlOiAxLjIgMjtcbiAgdHJhbnNpdGlvbjogYWxsIDUwMG1zIHZhcigtLXRpbWluZy1ib3VuY2UpO1xuICB6LWluZGV4OiAtMTtcbn1cblxuI21lbWJlcnNoaXAge1xuICAtLWZvY3VzLW91dGxpbmUtY29sb3I6IHZhcigtLWJyYW5kLWRhcmspO1xuICAtLWZvY3VzLXNoYWRvdy1jb2xvcjogdmFyKC0tbGlnaHQpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIG1hcmdpbi10b3A6IDIwMHB4O1xuICBtaW4taGVpZ2h0OiBjYWxjKDEwMGR2aCAtIDIwMHB4KTtcbiAgd2lkdGg6IDEwMHZ3O1xuICBtYXgtd2lkdGg6IDEwMDBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbiNtZW1iZXJzaGlwIC50aXRsZUFyZWEge1xuICBtYXJnaW46IGF1dG8gYXV0byAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQpO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbiAgcGFkZGluZzogNDBweCA4MHB4IDEwcHg7XG4gIG1heC13aWR0aDogMTAwMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMteHhsKSB2YXIoLS1yYWRpdXMteHhsKSAwIDA7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tbGlnaHQpO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDNweCAzcHggMCAzcHg7XG59XG4jbWVtYmVyc2hpcCAudGl0bGVBcmVhLmFjY291bnRQcm9maWxlciBoMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBmb250LXdlaWdodDogODAwO1xufVxuI21lbWJlcnNoaXAgLnRpdGxlQXJlYSBoMiB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAxLjhlbTtcbn1cbiNtZW1iZXJzaGlwIC5lcnJvck1lc3NhZ2UsXG4jbWVtYmVyc2hpcCAuZmllbGQtdmFsaWRhdGlvbi1lcnJvciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cm9uZyk7XG4gIGNvbG9yOiB2YXIoLS13cm9uZy1jb250cmFzdCk7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIG1hcmdpbjogMnB4IGF1dG8gMTBweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbn1cbiNtZW1iZXJzaGlwIC5sb2dpbk5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBib3JkZXItdG9wOiAycHggc29saWQgdmFyKC0tbGlnaHQtZ3JleSk7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMC45ZW07XG59XG4jbWVtYmVyc2hpcCAubG9naW5OYXYgYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgcGFkZGluZy1ib3R0b206IDJweDtcbiAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAjbWVtYmVyc2hpcCAubG9naW5OYXYgYTpob3ZlciB7XG4gICAgc2NhbGU6IDEuMDU7XG4gIH1cbn1cbltkYXRhLWJyb3dzZXI9aWVdICNtZW1iZXJzaGlwIC5sb2dpbk5hdiBhOmhvdmVyIHtcbiAgc2NhbGU6IDEuMDU7XG59XG4uaWUgI21lbWJlcnNoaXAgLmxvZ2luTmF2IGE6aG92ZXIge1xuICBzY2FsZTogMS4wNTtcbn1cbiNtZW1iZXJzaGlwIC5sb2dpbk5hdiA+ICoge1xuICBtYXJnaW46IDAgNXB4O1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMjAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAyMHB4IDcwcHggNTBweDtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1saWdodCk7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMCAzcHggMCAzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwIGlucHV0W3R5cGU9cmFkaW9dIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbkBzdXBwb3J0cyAoYXBwZWFyYW5jZTogbm9uZSkge1xuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAgaW5wdXRbdHlwZT1yYWRpb10ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgd2lkdGg6IDFlbTtcbiAgICBoZWlnaHQ6IDFlbTtcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAgaW5wdXRbdHlwZT1yYWRpb106YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxZW07XG4gICAgaGVpZ2h0OiAxZW07XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1iYXNpYykgY2FsYygwLjcgKiAxMDAlKSwgdHJhbnNwYXJlbnQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG4gIH1cbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwIGlucHV0W3R5cGU9cmFkaW9dOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgei1pbmRleDogNTtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcCBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkOmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZDphZnRlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1kYXJrLWNvbnRyYXN0KTtcbiAgICB3aWR0aDogMC40NWVtO1xuICAgIGhlaWdodDogMC40NWVtO1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcCBpbnB1dFt0eXBlPXJhZGlvXVtkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6IDAuMztcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcCBpbnB1dFt0eXBlPXJhZGlvXVtkaXNhYmxlZF06YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWJhc2ljKSBtaW4obCArIGwgKiAwLjc1LCAxKSBjIGgpO1xuICB9XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAgaW5wdXRbdHlwZT1jaGVja2JveF0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuQHN1cHBvcnRzIChhcHBlYXJhbmNlOiBub25lKSB7XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcCBpbnB1dFt0eXBlPWNoZWNrYm94XSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICB3aWR0aDogMWVtO1xuICAgIGhlaWdodDogMWVtO1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcCBpbnB1dFt0eXBlPWNoZWNrYm94XTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDFlbTtcbiAgICBoZWlnaHQ6IDFlbTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMteHMpO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tYmFzaWMpIGNhbGMoMC43ICogMTAwJSksIHRyYW5zcGFyZW50KTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG4gIH1cbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwIGlucHV0W3R5cGU9Y2hlY2tib3hdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMWVtO1xuICAgIGhlaWdodDogMWVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWRhcmstY29udHJhc3QpO1xuICAgIG1hc2staW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOSBJakFnTUNBek1UWXVNemdnTWpVd0xqWWlQanh3WVhSb0lHUTlJazAzTUM0MElESXhPUzQ0WXpRdU5UVWdOQzQ0IE55QTVMakl5SURrdU5qY2dNVFF1TVRJZ01UUXVNVGtnTXk0M05TQXpMalEzSURjdU56RWdOaTQ0TlNBeE1TNDUgTXlBNUxqYzBJRFV1TlNBekxqYzRJREV4TGpreUlEY3VNRGdnTVRndU56Z2dOaTQ0TlNBMkxqWTJMUzR5TXlBeCBNaTQzTnkwekxqY3pJREUzTGprM0xUY3VOaklnT0M0MkxUWXVORElnTVRZdU5qY3RNVFV1TVRjZ01qTXVPRFF0IE1qTXVNVFJNTXpBMUxqWTRJRFUwTGpZNVl6Y3VNaTA0SURFeExqYzVMVEU0TGpJMUlERXdMalEzTFRJNUxqRTMgTFRFdU1EUXRPQzQxT1MwMUxqY3hMVEUyTGpVMUxURXpMakF4TFRJeExqSTVMVFV1TmpVdE15NDJOeTB4TWk0eSBOaTAwTGprNExURTRMamt0TXk0NE1pMDRMamtnTVM0MU5pMHhOaTQxTkNBM0xqSXlMVEl5TGpRNElERXpMamM0IExUUTRMak0wSURVekxqTXlMVGsyTGpVNUlERXdOaTQzTVMweE5EUXVPRFVnTVRZd0xqRXhiQzB6TGpFNUlETXUgTlRNdE5qQXVOQzAyTmk0Mk0yTXRPQzQwTWkwNUxqSTVMVEU1TGpjdE1UTXVPVFF0TXpFdU9USXRPUzQxTnkwMCBMamN5SURFdU5qa3RPQzQ1T1NBMExqVTRMVEV5TGpRMUlEZ3VNVGt0TXk0NE5pQTBMakEwTFRZdU56Z2dPUzR3IE5pMDRMakV6SURFMExqUTVMVEl1TXpFZ09TNHlOeTR6SURFNExqQTNJRFl1TmpJZ01qVXVNVE5zTmpJdU9UVWcgTnpBdU16VmFJaUJ6ZEhsc1pUMGlabWxzYkMxeWRXeGxPbVYyWlc1dlpHUWlMejQ4TDNOMlp6NEtcIik7XG4gICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBtYXNrLXNpemU6IDYwJTtcbiAgICBtYXNrLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcztcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcCBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkOmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZDphZnRlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAgaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjM7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAgaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWJhc2ljKSBjYWxjKDAuOCAqIDEwMCUpLCB0cmFuc3BhcmVudCk7XG4gIH1cbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcCBpbnB1dFt0eXBlPWNoZWNrYm94XSB+IGxhYmVsLFxuI21lbWJlcnNoaXAgLmZvcm1XcmFwIGlucHV0W3R5cGU9cmFkaW9dIH4gbGFiZWwge1xuICBwYWRkaW5nLWxlZnQ6IDAuMzVlbTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sb2dpbiAuc3RhdHVzTWVzc2FnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJsYWNrKTtcbiAgY29sb3I6IHZhcigtLWJsYWNrLWNvbnRyYXN0KTtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgbWFyZ2luOiAxMHB4IGF1dG87XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubG9naW4gLmhvcnpEaXZpZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luOiAyNXB4IDA7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubG9naW4gLmhvcnpEaXZpZGVyIC5saW5lIHtcbiAgaGVpZ2h0OiAxcHg7XG4gIGZsZXgtZ3JvdzogMTtcbiAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCkgY2FsYygwLjggKiAxMDAlKSwgdHJhbnNwYXJlbnQpO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxvZ2luIC5ob3J6RGl2aWRlciAub3Ige1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW4taW5saW5lOiAxNXB4O1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxvZ2luIC5sb2dpbldyYXBwZXIge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBtYXJnaW46IDAgYXV0bztcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sb2dpbiAubG9naW5XcmFwcGVyIC5maWVsZFdyYXBwZXIge1xuICBtaW4td2lkdGg6IDIwMHB4O1xuICBtYXgtd2lkdGg6IDM1MHB4O1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxvZ2luIC5sb2dpbldyYXBwZXIgLmZpZWxkLXZhbGlkYXRpb24tZXJyb3Ige1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxvZ2luIC5sb2dpbldyYXBwZXIgaDMge1xuICBmb250LXdlaWdodDogNDAwO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxvZ2luIC5lbXBsb3llZUxvZ2luIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDMwcHggMjBweDtcbiAgbWFyZ2luLXRvcDogMjVweDtcbiAgbGluZS1oZWlnaHQ6IDEuODtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1kYXJrLWNvbnRyYXN0KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxvZ2luIC5lbXBsb3llZUxvZ2luIGgzIHtcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxvZ2luIC5lbXBsb3llZUxvZ2luIGEge1xuICBwYWRkaW5nOiA4cHggMTZweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodCk7XG4gIGNvbG9yOiB2YXIoLS1saWdodC1jb250cmFzdCk7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sb2dpbiAuZW1wbG95ZWVMb2dpbiBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gICAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbiAgfVxufVxuW2RhdGEtYnJvd3Nlcj1pZV0gI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxvZ2luIC5lbXBsb3llZUxvZ2luIGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG59XG4uaWUgI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxvZ2luIC5lbXBsb3llZUxvZ2luIGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubG9naW4gLmVtcGxveWVlTG9naW4gYS5mb2N1cy12aXNpYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxvZ2luIC5lbXBsb3llZUxvZ2luIGE6Zm9jdXMtdmlzaWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSB7XG4gIHBhZGRpbmc6IDAgODBweDtcbiAgbWluLWhlaWdodDogMjAwcHg7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZ2FwOiAyNXB4O1xuICBwYWRkaW5nOiA1MHB4IDIwcHg7XG4gIGhlaWdodDogMTAwJTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAyNXB4O1xuICBwYWRkaW5nOiAyMHB4IDIwcHg7XG4gIG1heC13aWR0aDogNDAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiA2NXB4O1xuICBmbGV4LWdyb3c6IDE7XG4gIGJvcmRlcjogM3B4IHNvbGlkIHZhcigtLWxpZ2h0KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1kYXJrLWNvbnRyYXN0KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXhsKTtcbiAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYTpob3ZlciB7XG4gICAgc2NhbGU6IDEuMDU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XG4gICAgY29sb3I6IHZhcigtLWJyYW5kLWRhcmstY29udHJhc3QpO1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhOmhvdmVyIC5pbWFnZSB7XG4gICAgc2NhbGU6IDEuMTtcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYTpob3ZlciAuaWNvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICAgIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG4gIH1cbn1cbltkYXRhLWJyb3dzZXI9aWVdICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhOmhvdmVyIHtcbiAgc2NhbGU6IDEuMDU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWRhcmspO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtZGFyay1jb250cmFzdCk7XG59XG5bZGF0YS1icm93c2VyPWllXSAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYTpob3ZlciAuaW1hZ2Uge1xuICBzY2FsZTogMS4xO1xufVxuW2RhdGEtYnJvd3Nlcj1pZV0gI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGE6aG92ZXIgLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG59XG4uaWUgI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGE6aG92ZXIge1xuICBzY2FsZTogMS4wNTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1kYXJrLWNvbnRyYXN0KTtcbn1cbi5pZSAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYTpob3ZlciAuaW1hZ2Uge1xuICBzY2FsZTogMS4xO1xufVxuLmllICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhOmhvdmVyIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGEuZm9jdXMtdmlzaWJsZSB7XG4gIHNjYWxlOiAxLjA1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWRhcmstY29udHJhc3QpO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGEuZm9jdXMtdmlzaWJsZSAuaW1hZ2Uge1xuICBzY2FsZTogMS4xO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGEuZm9jdXMtdmlzaWJsZSAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhOmZvY3VzLXZpc2libGUge1xuICBzY2FsZTogMS4wNTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1kYXJrLWNvbnRyYXN0KTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhOmZvY3VzLXZpc2libGUgLmltYWdlIHtcbiAgc2NhbGU6IDEuMTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhOmZvY3VzLXZpc2libGUgLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYTpoYXMoLmltYWdlKSAuZ3JhcGhpY0hvbGRlciB7XG4gIGhlaWdodDogMTE1cHg7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYTpoYXMoLmltYWdlKSAuaWNvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgLmdyYXBoaWNIb2xkZXIge1xuICBtaW4taGVpZ2h0OiA3OHB4O1xuICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgZGlzcGxheTogZmxleDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAyMDBtcztcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93KTtcbiAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1yYWRpdXMtY2lyY2xlKSAqIDAuNCk7XG59XG5Ac3VwcG9ydHMgKGNvcm5lci1zaGFwZTogc3F1aXJjbGUpIHtcbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIC5ncmFwaGljSG9sZGVyIHtcbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuICAgIGNvcm5lci1zaGFwZTogc3F1aXJjbGU7XG4gICAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1jaXJjbGUpO1xuICB9XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgLmdyYXBoaWNIb2xkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodCk7XG4gIGNvbG9yOiB2YXIoLS1saWdodC1jb250cmFzdCk7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgLmdyYXBoaWNIb2xkZXIgPiAqIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIC5pbWFnZSB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgLmljb24ge1xuICBmb250LWZhbWlseTogdmFyKC0taWNvbi1mb250KTtcbiAgZm9udC1zaXplOiAyLjhlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tbGlnaHQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1saWdodCk7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tcmFkaXVzLWNpcmNsZSkgKiAwLjQpO1xufVxuQHN1cHBvcnRzIChjb3JuZXItc2hhcGU6IHNxdWlyY2xlKSB7XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyAuaWNvbiB7XG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgICBjb3JuZXItc2hhcGU6IHNxdWlyY2xlO1xuICAgIC8qIHN0eWxlbGludC1lbmFibGUgKi9cbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtY2lyY2xlKTtcbiAgfVxufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIC50ZXh0IHtcbiAgZm9udC1zaXplOiAxLjVlbTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyAuZ3Vlc3RMb2dpbkJ0biAuaWNvbjpiZWZvcmUge1xuICBjb250ZW50OiBcImtcIjtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyAuZW5yb2xsZWVMb2dpbkJ0biAuaWNvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIkNcIjtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBwYWRkaW5nLXRvcDogMzBweDtcbiAgY29sb3I6IHZhcigtLWxpZ2h0LWNvbnRyYXN0KTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIgLnByb2ZpbGVyRm9ybVdyYXBwZXIge1xuICBtYXgtd2lkdGg6IDYwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIgLnByb2ZpbGVTZXR0aW5nc0V4cGxhaW5lcixcbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIgLnByb2ZpbGVFcnJvcldyYXAge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAuYWNjb3VudFByb2ZpbGVyIC5lcnJvck1lc3NhZ2UgbGkge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAuYWNjb3VudFByb2ZpbGVyIC5pbnN0cnVjdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIgLnN0eWxlZEZpZWxkc2V0LnBob25lIC5maWVsZFdyYXBwZXIge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgdmFyKC0tbGlnaHQtZ3JleSk7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmFjY291bnRQcm9maWxlciBwLnByb2ZpbGVTZWxlY3RFeHBsYWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZC1kYXJrKTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWRhcmstY29udHJhc3QpO1xuICBwYWRkaW5nOiA4cHggMTJweDtcbiAgbWFyZ2luOiAwIGF1dG8gMThweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIgcC5wcm9maWxlU2VsZWN0RXhwbGFpbmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogN3B4IGNhbGMoMTBweCAvIDIpIDAgY2FsYygxMHB4IC8gMik7XG4gIGJvcmRlci10b3AtY29sb3I6IHZhcigtLWJyYW5kLWRhcmspO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgYm90dG9tOiAtNnB4O1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmFjY291bnRQcm9maWxlciAuYnV0dG9uSG9sZGVyIHtcbiAgbWFyZ2luOiAyMHB4IDAgMjBweDtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIgLnJlc2V0QWNjb3VudFR5cGVCdG4ge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBmb250LXNpemU6IDAuOGVtO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYnJhbmQtZGFyayk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWRhcmspO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1kYXJrLWNvbnRyYXN0KTtcbiAgdHJhbnNpdGlvbjogMjAwbXM7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIgLnJlc2V0QWNjb3VudFR5cGVCdG46aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpO1xuICB9XG59XG5bZGF0YS1icm93c2VyPWllXSAjbWVtYmVyc2hpcCAuZm9ybVdyYXAuYWNjb3VudFByb2ZpbGVyIC5yZXNldEFjY291bnRUeXBlQnRuOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQpO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbn1cbi5pZSAjbWVtYmVyc2hpcCAuZm9ybVdyYXAuYWNjb3VudFByb2ZpbGVyIC5yZXNldEFjY291bnRUeXBlQnRuOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQpO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIgLnJlc2V0QWNjb3VudFR5cGVCdG4uZm9jdXMtdmlzaWJsZSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAuYWNjb3VudFByb2ZpbGVyIC5yZXNldEFjY291bnRUeXBlQnRuOmZvY3VzLXZpc2libGUge1xuICBib3JkZXItY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLnR3b0ZhY3RvciAuc2luZ2xlRmllbGRTdWJtaXNzaW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAudHdvRmFjdG9yIC5zaW5nbGVGaWVsZFN1Ym1pc3Npb24gLmZpZWxkV3JhcHBlciB7XG4gIG1hcmdpbjogMCA1cHggMCAwO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLnR3b0ZhY3RvciAuc2luZ2xlRmllbGRTdWJtaXNzaW9uIGJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwLjZlbSAxLjVlbTtcbiAgYm9yZGVyLXdpZHRoOiAzcHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1icmFuZC1kYXJrKSBtYXgobCAtIGwgKiAwLjE1LCAwKSBjIGgpO1xuICBsaW5lLWhlaWdodDogMS4xZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWJhc2ljLWZvbnQpO1xuICBvdXRsaW5lLW9mZnNldDogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWRhcmspO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtZGFyay1jb250cmFzdCk7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcC50d29GYWN0b3IgLnNpbmdsZUZpZWxkU3VibWlzc2lvbiBidXR0b246aG92ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gICAgY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG4gICAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWJyYW5kLWJyaWdodCkgbWF4KGwgLSBsICogMC4xLCAwKSBjIGgpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuW2RhdGEtYnJvd3Nlcj1pZV0gI21lbWJlcnNoaXAgLmZvcm1XcmFwLnR3b0ZhY3RvciAuc2luZ2xlRmllbGRTdWJtaXNzaW9uIGJ1dHRvbjpob3ZlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG4gIGJvcmRlci1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1icmFuZC1icmlnaHQpIG1heChsIC0gbCAqIDAuMSwgMCkgYyBoKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmllICNtZW1iZXJzaGlwIC5mb3JtV3JhcC50d29GYWN0b3IgLnNpbmdsZUZpZWxkU3VibWlzc2lvbiBidXR0b246aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpO1xuICBib3JkZXItY29sb3I6IG9rbGNoKGZyb20gdmFyKC0tYnJhbmQtYnJpZ2h0KSBtYXgobCAtIGwgKiAwLjEsIDApIGMgaCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC50d29GYWN0b3IgLnNpbmdsZUZpZWxkU3VibWlzc2lvbiBidXR0b24uZm9jdXMtdmlzaWJsZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG4gIGJvcmRlci1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1icmFuZC1icmlnaHQpIG1heChsIC0gbCAqIDAuMSwgMCkgYyBoKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLnR3b0ZhY3RvciAuc2luZ2xlRmllbGRTdWJtaXNzaW9uIGJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQpO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbiAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWJyYW5kLWJyaWdodCkgbWF4KGwgLSBsICogMC4xLCAwKSBjIGgpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAudHdvRmFjdG9yIC5zaW5nbGVGaWVsZFN1Ym1pc3Npb24gYnV0dG9uW2Rpc2FibGVkXSwgI21lbWJlcnNoaXAgLmZvcm1XcmFwLnR3b0ZhY3RvciAuc2luZ2xlRmllbGRTdWJtaXNzaW9uIGJ1dHRvblthcmlhLWRpc2FibGVkPXRydWVdIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLnR3b0ZhY3RvciAjVEZBQnV0dG9uQXBwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAuNmVtIDEuNWVtO1xuICBib3JkZXItd2lkdGg6IDNweDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWJyYW5kLWJyaWdodCkgbWF4KGwgLSBsICogMC4xNSwgMCkgYyBoKTtcbiAgbGluZS1oZWlnaHQ6IDEuMWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1iYXNpYy1mb250KTtcbiAgb3V0bGluZS1vZmZzZXQ6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQpO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwLnR3b0ZhY3RvciAjVEZBQnV0dG9uQXBwOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gICAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbiAgICBib3JkZXItY29sb3I6IG9rbGNoKGZyb20gdmFyKC0taG92ZXIpIG1heChsIC0gbCAqIDAuMSwgMCkgYyBoKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cbltkYXRhLWJyb3dzZXI9aWVdICNtZW1iZXJzaGlwIC5mb3JtV3JhcC50d29GYWN0b3IgI1RGQUJ1dHRvbkFwcDpob3ZlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICBib3JkZXItY29sb3I6IG9rbGNoKGZyb20gdmFyKC0taG92ZXIpIG1heChsIC0gbCAqIDAuMSwgMCkgYyBoKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmllICNtZW1iZXJzaGlwIC5mb3JtV3JhcC50d29GYWN0b3IgI1RGQUJ1dHRvbkFwcDpob3ZlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICBib3JkZXItY29sb3I6IG9rbGNoKGZyb20gdmFyKC0taG92ZXIpIG1heChsIC0gbCAqIDAuMSwgMCkgYyBoKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLnR3b0ZhY3RvciAjVEZBQnV0dG9uQXBwLmZvY3VzLXZpc2libGUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbiAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWhvdmVyKSBtYXgobCAtIGwgKiAwLjEsIDApIGMgaCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC50d29GYWN0b3IgI1RGQUJ1dHRvbkFwcDpmb2N1cy12aXNpYmxlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG4gIGJvcmRlci1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1ob3ZlcikgbWF4KGwgLSBsICogMC4xLCAwKSBjIGgpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAudHdvRmFjdG9yICNURkFCdXR0b25BcHBbZGlzYWJsZWRdLCAjbWVtYmVyc2hpcCAuZm9ybVdyYXAudHdvRmFjdG9yICNURkFCdXR0b25BcHBbYXJpYS1kaXNhYmxlZD10cnVlXSB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC50d29GYWN0b3IgI1RGQUJ1dHRvbkFwcCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjVlbTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC50d29GYWN0b3IgI1RGQUJ1dHRvbkVtYWlsLFxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLnR3b0ZhY3RvciAjT1RQQnV0dG9uIHtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiAwO1xuICBwYWRkaW5nOiAwIDAgMnB4O1xuICBtYXJnaW4tdG9wOiAxNXB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYnJhbmQtZGFyayk7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtZGFyay1jb250cmFzdCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC50d29GYWN0b3IgI1RGQUJ1dHRvbkVtYWlsW2RhdGEtd2FpdC1hLWZldz10cnVlXSxcbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC50d29GYWN0b3IgI09UUEJ1dHRvbltkYXRhLXdhaXQtYS1mZXc9dHJ1ZV0ge1xuICBvcGFjaXR5OiAwLjY7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAuZm9yZ290UGFzc3dvcmQgcCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiNtZW1iZXJzaGlwIC5idXR0b25Ib2xkZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4jbWVtYmVyc2hpcCAuYnV0dG9uSG9sZGVyIGJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwLjZlbSAxLjVlbTtcbiAgYm9yZGVyLXdpZHRoOiAzcHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1icmFuZC1kYXJrKSBtYXgobCAtIGwgKiAwLjE1LCAwKSBjIGgpO1xuICBsaW5lLWhlaWdodDogMS4xZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWJhc2ljLWZvbnQpO1xuICBvdXRsaW5lLW9mZnNldDogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWRhcmspO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtZGFyay1jb250cmFzdCk7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gICNtZW1iZXJzaGlwIC5idXR0b25Ib2xkZXIgYnV0dG9uOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gICAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbiAgICBib3JkZXItY29sb3I6IG9rbGNoKGZyb20gdmFyKC0taG92ZXIpIG1heChsIC0gbCAqIDAuMSwgMCkgYyBoKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cbltkYXRhLWJyb3dzZXI9aWVdICNtZW1iZXJzaGlwIC5idXR0b25Ib2xkZXIgYnV0dG9uOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG4gIGJvcmRlci1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1ob3ZlcikgbWF4KGwgLSBsICogMC4xLCAwKSBjIGgpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uaWUgI21lbWJlcnNoaXAgLmJ1dHRvbkhvbGRlciBidXR0b246aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbiAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWhvdmVyKSBtYXgobCAtIGwgKiAwLjEsIDApIGMgaCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiNtZW1iZXJzaGlwIC5idXR0b25Ib2xkZXIgYnV0dG9uLmZvY3VzLXZpc2libGUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbiAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWhvdmVyKSBtYXgobCAtIGwgKiAwLjEsIDApIGMgaCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiNtZW1iZXJzaGlwIC5idXR0b25Ib2xkZXIgYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbiAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWhvdmVyKSBtYXgobCAtIGwgKiAwLjEsIDApIGMgaCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiNtZW1iZXJzaGlwIC5idXR0b25Ib2xkZXIgYnV0dG9uW2Rpc2FibGVkXSwgI21lbWJlcnNoaXAgLmJ1dHRvbkhvbGRlciBidXR0b25bYXJpYS1kaXNhYmxlZD10cnVlXSB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbiNtZW1iZXJzaGlwIC5idXR0b25Ib2xkZXIgYnV0dG9uIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1saWdodCk7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuI21lbWJlcnNoaXAgLnN0eWxlZEZpZWxkc2V0IHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWJyYW5kLWRhcmspO1xufVxuI21lbWJlcnNoaXAgLnN0eWxlZEZpZWxkc2V0IGxlZ2VuZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWRhcmspO1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1saWdodCk7XG59XG4jbWVtYmVyc2hpcCAuc3R5bGVkRmllbGRzZXQgLmdyb3VwTGVnZW5kIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWRhcmstY29udHJhc3QpO1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbiNtZW1iZXJzaGlwIC5zdHlsZWRGaWVsZHNldCAjcmVxdWlyZW1lbnRzID4gOm5vdCguaWNvbikge1xuICBjb2xvcjogdmFyKC0tbGlnaHQtY29udHJhc3QpO1xufVxuI21lbWJlcnNoaXAgLnN0eWxlZEZpZWxkc2V0ICNyZXF1aXJlbWVudHMgLmludmFsaWQgLmljb246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiYlwiO1xufVxuXG4uc2ltcGxlRGlhbG9nIC5jbG9zZURpYWxvZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwLjZlbSAxLjVlbTtcbiAgYm9yZGVyLXdpZHRoOiAzcHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1icmFuZC1icmlnaHQpIG1heChsIC0gbCAqIDAuMTUsIDApIGMgaCk7XG4gIGxpbmUtaGVpZ2h0OiAxLjFlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBmb250LWZhbWlseTogdmFyKC0tYmFzaWMtZm9udCk7XG4gIG91dGxpbmUtb2Zmc2V0OiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGFsbCAyMDBtcztcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIC5zaW1wbGVEaWFsb2cgLmNsb3NlRGlhbG9nOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gICAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbiAgICBib3JkZXItY29sb3I6IG9rbGNoKGZyb20gdmFyKC0taG92ZXIpIG1heChsIC0gbCAqIDAuMSwgMCkgYyBoKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cbltkYXRhLWJyb3dzZXI9aWVdIC5zaW1wbGVEaWFsb2cgLmNsb3NlRGlhbG9nOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG4gIGJvcmRlci1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1ob3ZlcikgbWF4KGwgLSBsICogMC4xLCAwKSBjIGgpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uaWUgLnNpbXBsZURpYWxvZyAuY2xvc2VEaWFsb2c6aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbiAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWhvdmVyKSBtYXgobCAtIGwgKiAwLjEsIDApIGMgaCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5zaW1wbGVEaWFsb2cgLmNsb3NlRGlhbG9nLmZvY3VzLXZpc2libGUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbiAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWhvdmVyKSBtYXgobCAtIGwgKiAwLjEsIDApIGMgaCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5zaW1wbGVEaWFsb2cgLmNsb3NlRGlhbG9nOmZvY3VzLXZpc2libGUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbiAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWhvdmVyKSBtYXgobCAtIGwgKiAwLjEsIDApIGMgaCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5zaW1wbGVEaWFsb2cgLmNsb3NlRGlhbG9nW2Rpc2FibGVkXSwgLnNpbXBsZURpYWxvZyAuY2xvc2VEaWFsb2dbYXJpYS1kaXNhYmxlZD10cnVlXSB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbi5zaW1wbGVEaWFsb2cgLmNsb3NlRGlhbG9nIC5pY29uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuI3Jlc2V0RGF0YSBidXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMC42ZW0gMS41ZW07XG4gIGJvcmRlci13aWR0aDogM3B4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IG9rbGNoKGZyb20gdmFyKC0tYnJhbmQtYnJpZ2h0KSBtYXgobCAtIGwgKiAwLjE1LCAwKSBjIGgpO1xuICBsaW5lLWhlaWdodDogMS4xZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWJhc2ljLWZvbnQpO1xuICBvdXRsaW5lLW9mZnNldDogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAjcmVzZXREYXRhIGJ1dHRvbjpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICAgIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG4gICAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWhvdmVyKSBtYXgobCAtIGwgKiAwLjEsIDApIGMgaCk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5bZGF0YS1icm93c2VyPWllXSAjcmVzZXREYXRhIGJ1dHRvbjpob3ZlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICBib3JkZXItY29sb3I6IG9rbGNoKGZyb20gdmFyKC0taG92ZXIpIG1heChsIC0gbCAqIDAuMSwgMCkgYyBoKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmllICNyZXNldERhdGEgYnV0dG9uOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG4gIGJvcmRlci1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1ob3ZlcikgbWF4KGwgLSBsICogMC4xLCAwKSBjIGgpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4jcmVzZXREYXRhIGJ1dHRvbi5mb2N1cy12aXNpYmxlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG4gIGJvcmRlci1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1ob3ZlcikgbWF4KGwgLSBsICogMC4xLCAwKSBjIGgpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4jcmVzZXREYXRhIGJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG4gIGJvcmRlci1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1ob3ZlcikgbWF4KGwgLSBsICogMC4xLCAwKSBjIGgpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4jcmVzZXREYXRhIGJ1dHRvbltkaXNhYmxlZF0sICNyZXNldERhdGEgYnV0dG9uW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0ge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMjgwcHgpIHtcbiAgI21lbWJlcnNoaXAge1xuICAgIG1heC13aWR0aDogNzUwcHg7XG4gIH1cbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDEwNTBweCkge1xuICAjYmFja2dyb3VuZFBsYXlCdG4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDExOHB4O1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgI21lbWJlcnNoaXAge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gIC5zb2NpYWxNZWRpYSAuc29jaWFsTWVkaWFMb2dpbnMge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICBnYXA6IDhweDtcbiAgfVxuICBoZWFkZXIge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICBoZWFkZXIgLmJyYW5kaW5nIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG4gIGhlYWRlciAuYnJhbmRpbmcgLm9yaWVudGF0aW9uVGl0bGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEuNWVtO1xuICB9XG4gIGhlYWRlciAubG9nb1dyYXAge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMjgwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBmbGV4OiBhdXRvO1xuICB9XG4gIFtkYXRhLWxvZ28tYXNwZWN0PXRhbGxdIGhlYWRlciAubG9nb1dyYXAge1xuICAgIHdpZHRoOiAyMzBweDtcbiAgICBoZWlnaHQ6IDE1MHB4O1xuICB9XG4gIFtkYXRhLWxvZ28tYXNwZWN0PXRhbGxdIC5oZWFkZXJFbGVtZW50OmJlZm9yZSB7XG4gICAgd2lkdGg6IDQwMHB4O1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICBwYWRkaW5nLWlubGluZTogMDtcbiAgICBnYXA6IDE4cHg7XG4gIH1cbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGEgLmdyYXBoaWNIb2xkZXIge1xuICAgIG1pbi1oZWlnaHQ6IDgwcHg7XG4gIH1cbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxvZ2luIC5sb2dpbldyYXBwZXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAwO1xuICB9XG4gICNiYWNrZ3JvdW5kUGxheUJ0biB7XG4gICAgdG9wOiAxNjVweDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDY1MHB4KSB7XG4gIGhlYWRlciAubG9nb1dyYXAge1xuICAgIGxlZnQ6IC0yMHB4O1xuICAgIHdpZHRoOiAyMDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgfVxuICBbZGF0YS1sb2dvLWFzcGVjdD10YWxsXSBoZWFkZXIgLmxvZ29XcmFwIHtcbiAgICBsZWZ0OiAtMTVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICB3aWR0aDogMTUwcHg7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgfVxuICAuaGVhZGVyRWxlbWVudCB7XG4gICAgaGVpZ2h0OiAxMjBweDtcbiAgfVxuICAuaGVhZGVyRWxlbWVudDpiZWZvcmUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHNjYWxlOiAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMjAwcHgvNjBweDtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgdG9wOiAtMTAwcHg7XG4gICAgbGVmdDogLTFweDtcbiAgfVxuICAjYmFja2dyb3VuZCB7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgfVxuICAjbWVtYmVyc2hpcCAudGl0bGVBcmVhIHtcbiAgICBwYWRkaW5nLWlubGluZTogMzBweDtcbiAgICB0ZXh0LXdyYXA6IGJhbGFuY2U7XG4gIH1cbiAgI21lbWJlcnNoaXAgLnRpdGxlQXJlYSBoMiB7XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2Uge1xuICAgIHBhZGRpbmctaW5saW5lOiAyMHB4O1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyB7XG4gICAgZ2FwOiAxNHB4O1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhIHtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMteHhsKTtcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAuYWNjb3VudFByb2ZpbGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAjcmVzZXREYXRhIGJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICB9XG4gICNiYWNrZ3JvdW5kUGxheUJ0biB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDUyMHB4KSB7XG4gIC5zb2NpYWxNZWRpYSAuc29jaWFsTWVkaWFMb2dpbnMge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIGdhcDogOHB4O1xuICB9XG4gICNtZW1iZXJzaGlwIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxuICAjbWVtYmVyc2hpcCAudGl0bGVBcmVhIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcCB7XG4gICAgbWF4LXdpZHRoOiAxMDB2dztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy1pbmxpbmU6IDMwcHg7XG4gIH1cbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwOjphZnRlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhIC5ncmFwaGljSG9sZGVyIHtcbiAgICBoZWlnaHQ6IDcwcHg7XG4gIH1cbn1cbi5ydGUge1xuICBjbGVhcjogYm90aDtcbn1cbi5ydGUgaDQsXG4ucnRlIGg1IHtcbiAgbWFyZ2luOiAwLjhlbSAwIDAuNWVtO1xufVxuLnJ0ZSA+ICo6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG4ucnRlID4gKjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuLnJ0ZSBhLmZvY3VzLXZpc2libGUge1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAycHggYmxhY2sgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xufVxuLnJ0ZSBhOmZvY3VzLXZpc2libGUge1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAycHggYmxhY2sgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xufVxuLnJ0ZSBhOmhhcyhpbWcpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuLnJ0ZSBhOmhhcyhpbWcpIC5pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDJweDtcbiAgcmlnaHQ6IDNweDtcbiAgcGFkZGluZzogNnB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQpO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93KTtcbiAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAucnRlIGE6aGFzKGltZyk6aG92ZXIgLmljb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICB9XG59XG5bZGF0YS1icm93c2VyPWllXSAucnRlIGE6aGFzKGltZyk6aG92ZXIgLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG59XG4uaWUgLnJ0ZSBhOmhhcyhpbWcpOmhvdmVyIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xufVxuLnJ0ZSBhOmhhcyhpbWcpLmZvY3VzLXZpc2libGUgLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG59XG4ucnRlIGE6aGFzKGltZyk6Zm9jdXMtdmlzaWJsZSAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbn1cbi5ydGUgaWZyYW1lIHtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gODBweCk7XG4gIG1heC1oZWlnaHQ6IGNhbGMoKDEwMHZ3IC0gODBweCkgLyAxLjc3NzgpOyAvKiAxNjo5ICovXG59XG4ucnRlIGltZyB7XG4gIG1hcmdpbjogMTBweDtcbn1cbi5ydGUgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSB7XG4gIG1hcmdpbjogMCAwIDIwcHggMjBweDtcbn1cbi5ydGUgaW1nW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdIHtcbiAgbWFyZ2luOiAwIDIwcHggMjBweCAwcHg7XG59XG4ucnRlIGltZ1tzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0sIC5ydGUgaW1nW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdIHtcbiAgbWF4LXdpZHRoOiA2MCU7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNjUwcHgpIHtcbiAgLnJ0ZSBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdLCAucnRlIGltZ1tzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSB7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA1MjBweCksIChtYXgtd2lkdGg6IDEwNTBweCkgYW5kIChtaW4td2lkdGg6IDgwMXB4KSB7XG4gIC5ydGUgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSwgLnJ0ZSBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0ge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCBhdXRvIDhweDtcbiAgfVxufVxuLnJ0ZSBmaWd1cmU6bm90KC50ZXJtQmJsKSB7XG4gIG1hcmdpbjogMjBweCAwcHg7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tcmFkaXVzKSArIDVweCAtIHZhcigtLWJvcmRlcikpO1xuICBib3JkZXI6IHZhcigtLWJvcmRlcikgc29saWQgdmFyKC0tZ3JleSk7XG4gIHBhZGRpbmc6IDVweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLnJ0ZSBmaWd1cmU6bm90KC50ZXJtQmJsKSBpbWcge1xuICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICBtYXJnaW46IDBweCAhaW1wb3J0YW50O1xuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKSB2YXIoLS1yYWRpdXMpIDBweCAwcHg7XG59XG4ucnRlIGZpZ3VyZTpub3QoLnRlcm1CYmwpW3N0eWxlKj1cInRleHQtYWxpZ246IHJpZ2h0XCJdIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW46IDAgMCAyMHB4IDIwcHg7XG59XG4ucnRlIGZpZ3VyZTpub3QoLnRlcm1CYmwpW3N0eWxlKj1cInRleHQtYWxpZ246IGxlZnRcIl0ge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiAwIDIwcHggMjBweCAwcHg7XG59XG4ucnRlIGZpZ3VyZTpub3QoLnRlcm1CYmwpW3N0eWxlKj1cInRleHQtYWxpZ246IGxlZnRcIl0sIC5ydGUgZmlndXJlOm5vdCgudGVybUJibClbc3R5bGUqPVwidGV4dC1hbGlnbjogcmlnaHRcIl0ge1xuICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIG1heC13aWR0aDogNjAlO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDY1MHB4KSB7XG4gIC5ydGUgZmlndXJlOm5vdCgudGVybUJibClbc3R5bGUqPVwidGV4dC1hbGlnbjogbGVmdFwiXSwgLnJ0ZSBmaWd1cmU6bm90KC50ZXJtQmJsKVtzdHlsZSo9XCJ0ZXh0LWFsaWduOiByaWdodFwiXSB7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA1MjBweCksIChtYXgtd2lkdGg6IDEwNTBweCkgYW5kIChtaW4td2lkdGg6IDgwMXB4KSB7XG4gIC5ydGUgZmlndXJlOm5vdCgudGVybUJibClbc3R5bGUqPVwidGV4dC1hbGlnbjogbGVmdFwiXSwgLnJ0ZSBmaWd1cmU6bm90KC50ZXJtQmJsKVtzdHlsZSo9XCJ0ZXh0LWFsaWduOiByaWdodFwiXSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwIGF1dG8gOHB4O1xuICB9XG59XG4ucnRlIGZpZ3VyZTpub3QoLnRlcm1CYmwpIGZpZ2NhcHRpb24ge1xuICBmb250LXdlaWdodDogNDAwO1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3JkZXItcmFkaXVzOiAwcHggMHB4IHZhcigtLXJhZGl1cykgdmFyKC0tcmFkaXVzKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQtZ3JleSk7XG4gIGNvbG9yOiB2YXIoLS1saWdodC1ncmV5LWNvbnRyYXN0KTtcbiAgZm9udC1zaXplOiAwLjllbTtcbn1cbi5ydGUgb2xbc3R5bGU9XCJsaXN0LXN0eWxlLXR5cGU6IHVwcGVyLWFscGhhO1wiXSA+IGxpOmJlZm9yZSwgLnJ0ZSBvbFtzdHlsZT1cImxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7XCJdID4gbGk6YmVmb3JlLCAucnRlIG9sW3N0eWxlPVwibGlzdC1zdHlsZS10eXBlOiBsb3dlci1ncmVlaztcIl0gPiBsaTpiZWZvcmUsIC5ydGUgb2xbc3R5bGU9XCJsaXN0LXN0eWxlLXR5cGU6IHVwcGVyLXJvbWFuO1wiXSA+IGxpOmJlZm9yZSwgLnJ0ZSBvbFtzdHlsZT1cImxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47XCJdID4gbGk6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5ydGUgLnRhYmxlV3JhcHBlciB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdmFyKC0tbGlnaHQpIDMwJSwgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWxpZ2h0KSBjYWxjKDAgKiAxMDAlKSwgdHJhbnNwYXJlbnQpKSwgbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbGlnaHQpIGNhbGMoMCAqIDEwMCUpLCB0cmFuc3BhcmVudCksIHZhcigtLWxpZ2h0KSA3MCUpIDAgMTAwJSwgcmFkaWFsLWdyYWRpZW50KGZhcnRoZXN0LXNpZGUgYXQgMCUgNTAlLCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tYmxhY2spIGNhbGMoMC4yICogMTAwJSksIHRyYW5zcGFyZW50KSwgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWJsYWNrKSBjYWxjKDAgKiAxMDAlKSwgdHJhbnNwYXJlbnQpKSwgcmFkaWFsLWdyYWRpZW50KGZhcnRoZXN0LXNpZGUgYXQgMTAwJSA1MCUsIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1ibGFjaykgY2FsYygwLjIgKiAxMDAlKSwgdHJhbnNwYXJlbnQpLCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tYmxhY2spIGNhbGMoMCAqIDEwMCUpLCB0cmFuc3BhcmVudCkpIDAgMTAwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDQwcHggMTAwJSwgNDBweCAxMDAlLCAxNHB4IDEwMCUsIDE0cHggMTAwJTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwLCAxMDAlLCAwIDAsIDEwMCU7XG4gIGJhY2tncm91bmQtYXR0YWNobWVudDogbG9jYWwsIGxvY2FsLCBzY3JvbGwsIHNjcm9sbDtcbiAgY29udGFpbmVyLXR5cGU6IGlubGluZS1zaXplO1xufVxuLnJ0ZSAudGFibGVXcmFwcGVyIHRhYmxlIHtcbiAgbWluLXdpZHRoOiA1MDBweDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuLnJ0ZSAudGFibGVXcmFwcGVyIHRhYmxlIGNhcHRpb24ge1xuICBwYWRkaW5nOiA0cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWRhcmspO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtZGFyay1jb250cmFzdCk7XG59XG4ucnRlIC50YWJsZVdyYXBwZXIgdGFibGUgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWJyYW5kLWJyaWdodCkgY2FsYygwLjE3ICogMTAwJSksIHRyYW5zcGFyZW50KTtcbn1cbi5ydGUgLnRhYmxlV3JhcHBlciB0YWJsZSB0cjpudGgtY2hpbGQob2RkKSB7XG4gIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1icmFuZC1icmlnaHQpIGNhbGMoMC4wNiAqIDEwMCUpLCB0cmFuc3BhcmVudCk7XG59XG4ucnRlIC50YWJsZVdyYXBwZXIgdGFibGUgdGgge1xuICBwYWRkaW5nOiAzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpO1xuICBib3JkZXItY29sb3I6IGJsYWNrO1xufVxuLnJ0ZSAudGFibGVXcmFwcGVyIHRhYmxlIHRkIHtcbiAgcGFkZGluZzogM3B4O1xuICBmb250LXNpemU6IDAuOTVlbTtcbn1cbi5ydGUgLnRhYmxlV3JhcHBlciB0YWJsZSBhIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbn1cbi5ydGUgLnRhYmxlV3JhcHBlciAubW9iaWxlU2Nyb2xsTWVzc2FnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogOHB4O1xuICBwYWRkaW5nOiA1cHggOHB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWRhcmstY29udHJhc3QpO1xufVxuLnJ0ZSAudGFibGVXcmFwcGVyIC5tb2JpbGVTY3JvbGxNZXNzYWdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAxMDAlO1xuICBsZWZ0OiBjYWxjKDVweCArIHZhcigtLXJhZGl1cykpO1xuICB3aWR0aDogMHB4O1xuICBoZWlnaHQ6IDBweDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwIDZweCA4cHggNXB4O1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHZhcigtLWJyYW5kLWRhcmspIHRyYW5zcGFyZW50O1xufVxuXG5AY29udGFpbmVyIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gIC5ydGUgLnRhYmxlV3JhcHBlciAubW9iaWxlU2Nyb2xsTWVzc2FnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNjUwcHgpIHtcbiAgLnJ0ZSAudGFibGVXcmFwcGVyIC5tb2JpbGVTY3JvbGxNZXNzYWdlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cbi5ydGUgcCxcbiNyZXZlYWxNb2RhbERpYWxvZyAuY29weVdyYXAgcCB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1iYXNpYy1mb250KTtcbiAgZm9udC1zaXplOiAxZW07XG59XG4ucnRlIGgzLmhlYWRpbmcsXG4jcmV2ZWFsTW9kYWxEaWFsb2cgLmNvcHlXcmFwIGgzLmhlYWRpbmcge1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIG1hcmdpbjogMC43NWVtIDAgMC40ZW07XG4gIGZvbnQtc2l6ZTogMS42NWVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMjVlbTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWRhcmspO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1kYXJrLWNvbnRyYXN0KTtcbn1cbi5ydGUgLmhlYWRpbmdMaXN0LFxuLnJ0ZSAuc3ViaGVhZGluZ0xpc3QsXG4jcmV2ZWFsTW9kYWxEaWFsb2cgLmNvcHlXcmFwIC5oZWFkaW5nTGlzdCxcbiNyZXZlYWxNb2RhbERpYWxvZyAuY29weVdyYXAgLnN1YmhlYWRpbmdMaXN0IHtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBtYXJnaW46IDAuNzVlbSAwIDAuNGVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC4yNWVtO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgdmFyKC0tYnJhbmQtZGFyayk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAyNWVtO1xuICBsaW5lLWhlaWdodDogMS4yZW07XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtZGFyay1jb250cmFzdCk7XG59XG4ucnRlIGgzLmhlYWRpbmdMaXN0LFxuI3JldmVhbE1vZGFsRGlhbG9nIC5jb3B5V3JhcCBoMy5oZWFkaW5nTGlzdCB7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG59XG4ucnRlIGg0LnN1YmhlYWRpbmdMaXN0LFxuI3JldmVhbE1vZGFsRGlhbG9nIC5jb3B5V3JhcCBoNC5zdWJoZWFkaW5nTGlzdCB7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuLnJ0ZSBoNC5zdWJoZWFkaW5nLFxuI3JldmVhbE1vZGFsRGlhbG9nIC5jb3B5V3JhcCBoNC5zdWJoZWFkaW5nIHtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBtYXJnaW46IDAuNzVlbSAwIDAuNGVtO1xuICBmb250LXNpemU6IDEuMzVlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbiAgY29sb3I6IHZhcigtLWJhc2ljKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFzaWMtY29udHJhc3QpO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG59XG4ucnRlIC5sYXJnZVRleHQsXG4jcmV2ZWFsTW9kYWxEaWFsb2cgLmNvcHlXcmFwIC5sYXJnZVRleHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIGZvbnQtc2l6ZTogMS4zZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjRlbTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLXByaW1hcnktZm9udCk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGJhY2tncm91bmQ6IHZhcigtLWxpZ2h0LWdyZXkpO1xuICBwYWRkaW5nOiAxMHB4IDE1cHggMTBweCAyNXB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLnJ0ZSAubGFyZ2VUZXh0IGEsXG4jcmV2ZWFsTW9kYWxEaWFsb2cgLmNvcHlXcmFwIC5sYXJnZVRleHQgYSB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGNvbG9yOiB2YXIoLS1saWdodC1ncmV5LWNvbnRyYXN0KTtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xufVxuLnJ0ZSAubGFyZ2VUZXh0OmJlZm9yZSxcbiNyZXZlYWxNb2RhbERpYWxvZyAuY29weVdyYXAgLmxhcmdlVGV4dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDBweDtcbiAgdG9wOiAwcHg7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDA7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gIHRyYW5zaXRpb246IGhlaWdodCAzMDBtcztcbiAgdHJhbnNpdGlvbi1kZWxheTogMTAwMG1zO1xufVxuLmN1cnJlbnQgLnJ0ZSAubGFyZ2VUZXh0OmJlZm9yZSxcbi5jdXJyZW50ICNyZXZlYWxNb2RhbERpYWxvZyAuY29weVdyYXAgLmxhcmdlVGV4dDpiZWZvcmUge1xuICBoZWlnaHQ6IDEwMCU7XG59XG4ucnRlIC5oaWdobGlnaHQsXG4jcmV2ZWFsTW9kYWxEaWFsb2cgLmNvcHlXcmFwIC5oaWdobGlnaHQge1xuICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tYnJhbmQtYnJpZ2h0KSBjYWxjKDAuMyAqIDEwMCUpLCB0cmFuc3BhcmVudCk7XG59XG4ucnRlIHVsLFxuI3JldmVhbE1vZGFsRGlhbG9nIC5jb3B5V3JhcCB1bCB7XG4gIHBhZGRpbmc6IDA7XG59XG4ucnRlIHVsID4gbGksXG4jcmV2ZWFsTW9kYWxEaWFsb2cgLmNvcHlXcmFwIHVsID4gbGkge1xuICBtYXJnaW4tbGVmdDogNDBweDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuLnJ0ZSB1bCA+IGxpOjptYXJrZXIsXG4jcmV2ZWFsTW9kYWxEaWFsb2cgLmNvcHlXcmFwIHVsID4gbGk6Om1hcmtlciB7XG4gIGZvbnQtc2l6ZTogMS4yNWVtO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XG59XG4ucnRlIG9sLFxuI3JldmVhbE1vZGFsRGlhbG9nIC5jb3B5V3JhcCBvbCB7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgY291bnRlci1yZXNldDogY291bnRlcjtcbn1cbi5ydGUgb2wgPiBsaSxcbiNyZXZlYWxNb2RhbERpYWxvZyAuY29weVdyYXAgb2wgPiBsaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY291bnRlci1pbmNyZW1lbnQ6IGNvdW50ZXI7XG4gIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG4ucnRlIG9sID4gbGk6YmVmb3JlLFxuI3JldmVhbE1vZGFsRGlhbG9nIC5jb3B5V3JhcCBvbCA+IGxpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IGNvdW50ZXIoY291bnRlcikgXCIuIFwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiBjYWxjKDEwMCUgKyA4cHgpO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLnJ0ZSBhLFxuI3JldmVhbE1vZGFsRGlhbG9nIC5jb3B5V3JhcCBhIHtcbiAgY29sb3I6IHZhcigtLWxpbmspO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saW5rLWNvbnRyYXN0KTtcbn1cblxuLmNhbGxvdXRTdWJ0bGUge1xuICBjbGVhcjogYm90aDtcbiAgbWFyZ2luOiAxZW0gMCAwLjRlbTtcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodC1ncmV5KTtcbiAgY29sb3I6IHZhcigtLWxpZ2h0LWdyZXktY29udHJhc3QpO1xuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDBweCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4yKSk7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWxpZ2h0KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmNhbGxvdXRTdWJ0bGUgYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0LWdyZXkpO1xuICBjb2xvcjogdmFyKC0tbGlnaHQtZ3JleS1jb250cmFzdCk7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB2YXIoLS1saWdodC1ncmV5LWNvbnRyYXN0KTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLmNhbGxvdXRTdWJ0bGUgYTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWJhc2ljKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYXNpYy1jb250cmFzdCk7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tYmFzaWMpO1xuICB9XG59XG5bZGF0YS1icm93c2VyPWllXSAuY2FsbG91dFN1YnRsZSBhOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWJhc2ljKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFzaWMtY29udHJhc3QpO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1iYXNpYyk7XG59XG4uaWUgLmNhbGxvdXRTdWJ0bGUgYTpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS1iYXNpYyk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhc2ljLWNvbnRyYXN0KTtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tYmFzaWMpO1xufVxuLmNhbGxvdXRTdWJ0bGUgYS5mb2N1cy12aXNpYmxlIHtcbiAgY29sb3I6IHZhcigtLWJhc2ljKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFzaWMtY29udHJhc3QpO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1iYXNpYyk7XG59XG4uY2FsbG91dFN1YnRsZSBhOmZvY3VzLXZpc2libGUge1xuICBjb2xvcjogdmFyKC0tYmFzaWMpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYXNpYy1jb250cmFzdCk7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWJhc2ljKTtcbn1cblxuLmNhbGxvdXRCb2xkIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1hcmdpbjogMC43NWVtIDAgMC40ZW07XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1kYXJrLWNvbnRyYXN0KTtcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwcHggMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMikpO1xufVxuLmNhbGxvdXRCb2xkIGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWRhcmstY29udHJhc3QpO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgdmFyKC0tYnJhbmQtZGFyay1jb250cmFzdCk7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIC5jYWxsb3V0Qm9sZCBhOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tYmFzaWMpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhc2ljLWNvbnRyYXN0KTtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1iYXNpYyk7XG4gIH1cbn1cbltkYXRhLWJyb3dzZXI9aWVdIC5jYWxsb3V0Qm9sZCBhOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWJhc2ljKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFzaWMtY29udHJhc3QpO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1iYXNpYyk7XG59XG4uaWUgLmNhbGxvdXRCb2xkIGE6aG92ZXIge1xuICBjb2xvcjogdmFyKC0tYmFzaWMpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYXNpYy1jb250cmFzdCk7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWJhc2ljKTtcbn1cbi5jYWxsb3V0Qm9sZCBhLmZvY3VzLXZpc2libGUge1xuICBjb2xvcjogdmFyKC0tYmFzaWMpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYXNpYy1jb250cmFzdCk7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWJhc2ljKTtcbn1cbi5jYWxsb3V0Qm9sZCBhOmZvY3VzLXZpc2libGUge1xuICBjb2xvcjogdmFyKC0tYmFzaWMpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYXNpYy1jb250cmFzdCk7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWJhc2ljKTtcbn1cblxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLm1haW50ZW5hbmNlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQtZGFyayk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tbGlnaHQpO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLm1haW50ZW5hbmNlIC5mb3JtQXJlYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubWFpbnRlbmFuY2UgLmZvcm1BcmVhIC5ydGUge1xuICBjb2xvcjogdmFyKC0tbGlnaHQpO1xuICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLm1haW50ZW5hbmNlIC5mb3JtQXJlYSAuaWNvbiB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBmbGV4LWdyb3c6IDA7XG4gIHdpZHRoOiAzNTBweDtcbiAgaGVpZ2h0OiAzNTBweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMTZlbTtcbiAgYm9yZGVyLXJhZGl1czogMzQlIDY2JSA3MCUgMzAlLzYxJSA3NCUgMjYlIDM5JTtcbiAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1icmFuZC1kYXJrKSBtYXgobCAtIGwgKiAwLjEsIDApIGMgaCk7XG4gIGNvbG9yOiB2YXIoLS1saWdodCk7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubWFpbnRlbmFuY2UgLmZvcm1BcmVhIC5pY29uIHtcbiAgICB3aWR0aDogMTUwcHg7XG4gICAgaGVpZ2h0OiAxNTBweDtcbiAgICBmb250LXNpemU6IDZlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA2NTBweCkge1xuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubWFpbnRlbmFuY2UgLmZvcm1BcmVhIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwLm1haW50ZW5hbmNlIC5mb3JtQXJlYSAucnRlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5tYWludGVuYW5jZSAuZm9ybUFyZWEgLmljb24ge1xuICAgIHdpZHRoOiA3NXB4O1xuICAgIGhlaWdodDogNzVweDtcbiAgICBmb250LXNpemU6IDNlbTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIH1cbn1cbi5tZW1iZXJzaGlwUGFnZSAuZXJyb3JQYWdlIC50aXRsZUFyZWEge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG4ubWVtYmVyc2hpcFBhZ2UgLmVycm9yUGFnZSAuZXJyb3JXcmFwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHBhZGRpbmc6IDMwcHg7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tbGlnaHQpO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDBweCAzcHggMCAzcHg7XG59XG4ubWVtYmVyc2hpcFBhZ2UgLmVycm9yUGFnZSAuaWNvbiB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBmbGV4LWdyb3c6IDA7XG4gIHdpZHRoOiAzNTBweDtcbiAgaGVpZ2h0OiAzNTBweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMTZlbTtcbiAgYm9yZGVyLXJhZGl1czogNzVweDtcbiAgYm9yZGVyOiA0cHggc29saWQgdmFyKC0tbGlnaHQpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWJyYW5kLWRhcmspIG1heChsIC0gbCAqIDAuMSwgMCkgYyBoKTtcbiAgY29sb3I6IHZhcigtLWxpZ2h0KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5tZW1iZXJzaGlwUGFnZSAuZXJyb3JQYWdlIC5ydGUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1yaWdodDogNDBweDtcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbn1cbi5tZW1iZXJzaGlwUGFnZSAuZXJyb3JQYWdlIC5ydGUgaDMuaGVhZGluZyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogY3VycmVudENvbG9yO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEwNTBweCkge1xuICAubWVtYmVyc2hpcFBhZ2UgLmVycm9yUGFnZSAuaWNvbiB7XG4gICAgZm9udC1zaXplOiA1LjI1ZW07XG4gICAgd2lkdGg6IDEyNXB4O1xuICAgIGhlaWdodDogMTI1cHg7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgLm1lbWJlcnNoaXBQYWdlIC5lcnJvclBhZ2UgLmVycm9yV3JhcCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgfVxuICAubWVtYmVyc2hpcFBhZ2UgLmVycm9yUGFnZSAucnRlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbiAgLm1lbWJlcnNoaXBQYWdlIC5lcnJvclBhZ2UgLmljb24ge1xuICAgIGZvbnQtc2l6ZTogNGVtO1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cbn1cbkBsYXllciBiYXNlIHtcbiAgZGV0YWlscyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDUwMG1zO1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIGRldGFpbHMgPiBzdW1tYXJ5OjptYXJrZXIsXG4gIGRldGFpbHMgPiBzdW1tYXJ5Ojotd2Via2l0LWRldGFpbHMtbWFya2VyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5hY2NvcmRpb25Nb2R1bGUgLmFjY29yZGlvblRpdGxlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxuICAuYWNjb3JkaW9uTW9kdWxlW2RhdGEtaW50ZXJhY3Rpb24tbWFuZGF0b3J5PXRydWVdOm5vdCguaW50ZXJhY3RlZFdpdGgpIC5pY29uLW1hbmRhdG9yeSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICAuYWNjb3JkaW9uTW9kdWxlW2RhdGEtaW50ZXJhY3Rpb24tbWFuZGF0b3J5PXRydWVdOm5vdCguaW50ZXJhY3RlZFdpdGgpIC5pbnRlcmFjdGlvbk5vdGlmaWNhdGlvbiB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcC1wYXRoOiByZWN0KDAgMCAwIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gIH1cbiAgLmFjY29yZGlvbk1vZHVsZSArIC5ydGUge1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gIH1cbn1cbnVsOmhhcyguYWNjb3JkaW9uTW9kdWxlKSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cbnVsOmhhcyguYWNjb3JkaW9uTW9kdWxlKSA+IGxpIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG51bDpoYXMoLmFjY29yZGlvbk1vZHVsZSkgKyAucnRlIHtcbiAgbWFyZ2luLXRvcDogMjVweDtcbn1cblxuLnByaW1hcnlBY2NvcmRpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMTBweCAwO1xufVxuLnByaW1hcnlBY2NvcmRpb25bb3Blbl0gPiAuYWNjb3JkaW9uVGl0bGUge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pIHZhcigtLXJhZGl1cy1zbSkgMCAwO1xufVxuLnByaW1hcnlBY2NvcmRpb25bb3Blbl0gPiAuYWNjb3JkaW9uVGl0bGUgLmljb24tYXJyb3ctZG93biB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoMTgwZGVnKTtcbn1cbi5wcmltYXJ5QWNjb3JkaW9uW2RhdGEtaW50ZXJhY3Rpb24tbWFuZGF0b3J5PXRydWVdOm5vdCguaW50ZXJhY3RlZFdpdGgpIC5pY29uLW1hbmRhdG9yeSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IC0zcHg7XG4gIHRvcDogLTNweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG4gIHBhZGRpbmc6IDNweDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBib3gtc2hhZG93OiAxcHggMXB4IDhweCAwcHggY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWJsYWNrKSBjYWxjKDAuMyAqIDEwMCUpLCB0cmFuc3BhcmVudCk7XG4gIGZvbnQtc2l6ZTogMC43NWVtO1xufVxuLnByaW1hcnlBY2NvcmRpb24gLmFjY29yZGlvblRpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWRhcmstY29udHJhc3QpO1xuICBwYWRkaW5nOiAyMHB4IDIwcHggMjBweCAzNHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIC5wcmltYXJ5QWNjb3JkaW9uIC5hY2NvcmRpb25UaXRsZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbiAgfVxuICAucHJpbWFyeUFjY29yZGlvbiAuYWNjb3JkaW9uVGl0bGU6aG92ZXIgLmljb24tYXJyb3ctZG93biB7XG4gICAgY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG4gIH1cbn1cbltkYXRhLWJyb3dzZXI9aWVdIC5wcmltYXJ5QWNjb3JkaW9uIC5hY2NvcmRpb25UaXRsZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpO1xufVxuW2RhdGEtYnJvd3Nlcj1pZV0gLnByaW1hcnlBY2NvcmRpb24gLmFjY29yZGlvblRpdGxlOmhvdmVyIC5pY29uLWFycm93LWRvd24ge1xuICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbn1cbi5pZSAucHJpbWFyeUFjY29yZGlvbiAuYWNjb3JkaW9uVGl0bGU6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQpO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbn1cbi5pZSAucHJpbWFyeUFjY29yZGlvbiAuYWNjb3JkaW9uVGl0bGU6aG92ZXIgLmljb24tYXJyb3ctZG93biB7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpO1xufVxuLnByaW1hcnlBY2NvcmRpb24gLmFjY29yZGlvblRpdGxlLmZvY3VzLXZpc2libGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQpO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbn1cbi5wcmltYXJ5QWNjb3JkaW9uIC5hY2NvcmRpb25UaXRsZS5mb2N1cy12aXNpYmxlIC5pY29uLWFycm93LWRvd24ge1xuICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbn1cbi5wcmltYXJ5QWNjb3JkaW9uIC5hY2NvcmRpb25UaXRsZTpmb2N1cy12aXNpYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG59XG4ucHJpbWFyeUFjY29yZGlvbiAuYWNjb3JkaW9uVGl0bGU6Zm9jdXMtdmlzaWJsZSAuaWNvbi1hcnJvdy1kb3duIHtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG59XG4ucHJpbWFyeUFjY29yZGlvbiAuYWNjb3JkaW9uVGl0bGUgLmljb24tYXJyb3ctZG93biB7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1kYXJrLWNvbnRyYXN0KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogMTJweDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiAwLjJzIHRyYW5zZm9ybTtcbn1cbi5wcmltYXJ5QWNjb3JkaW9uIC5hY2NvcmRpb25XcmFwcGVyIHtcbiAgcGFkZGluZzogMjBweCAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodCk7XG4gIGNvbG9yOiB2YXIoLS1saWdodC1jb250cmFzdCk7XG4gIGJvcmRlci1sZWZ0OiA3cHggc29saWQgdmFyKC0tbGlnaHQtZ3JleSk7XG59XG4ucHJpbWFyeUFjY29yZGlvbiAuYWNjb3JkaW9uV3JhcHBlciBpbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuLnByaW1hcnlBY2NvcmRpb24gKyAucnRlIHtcbiAgbWFyZ2luLXRvcDogMjVweDtcbn0iLCJAdXNlIFwic2FzczptZXRhXCI7XHJcbkB1c2UgXCJzYXNzOm1hdGhcIjtcclxuQHVzZSBcInNhc3M6c3RyaW5nXCI7XHJcbkB1c2UgXCJzYXNzOmNvbG9yXCI7XHJcbkB1c2UgXCJzYXNzOmxpc3RcIjtcclxuQHVzZSBcInNhc3M6bWFwXCI7XHJcblxyXG4vKi0tLVRFWFQgQU5EIEZPTlQtLS0qL1xyXG5cclxuLy8vIENyZWF0ZSBhIHRleHQtc2hhZG93IHdpdGggY2xlYXJlciBwcm9wZXJ0aWVzLlxyXG4vLy8gQHBhcmFtIHsqfSAkeCBbMHB4XVxyXG4vLy8gQHBhcmFtIHsqfSAkeSBbMXB4XVxyXG4vLy8gQHBhcmFtIHsqfSAkYmx1ciBbMHB4XVxyXG4vLy8gQHBhcmFtIHsqfSAkY29sb3IgW3JnYmEoMCwgMCwgMCwgMC43NSldXHJcbkBtaXhpbiB0ZXh0U2hhZG93KCR4OiAwcHgsICR5OiAxcHgsICRibHVyOiAwcHgsICRjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjc1KSkge1xyXG4gIHRleHQtc2hhZG93OiAkeCAkeSAkYmx1ciAkY29sb3I7XHJcbn1cclxuXHJcbi8vLyBTZXQgaWNvbiBmb250IGFuZCBub3JtYWxpemUgYWxsIHByb3BlcnRpZXMuXHJcbi8vLyBAcGFyYW0geyp9ICRmb250IFskaWNvbkZvbnRdXHJcbkBtaXhpbiBpY29uRm9udCgkZm9udDogJGljb25Gb250KSB7XHJcbiAgZm9udC1mYW1pbHk6ICRmb250ICFpbXBvcnRhbnQ7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gIGZvbnQtdmFyaWFudDogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcclxuICBsaW5lLWhlaWdodDogMWVtO1xyXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG59XHJcblxyXG4vKi0tLUJBQ0tHUk9VTkQtLS0qL1xyXG5cclxuLy8vIFNldHMgYmFja2dyb3VuZCB0byBjb3ZlciB3aXRoIDUwJSA1MCUgcG9zaXRpb24uXHJcbkBtaXhpbiBiYWNrZ3JvdW5kQ292ZXIge1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xyXG59XHJcblxyXG4vLy8gU2V0cyBoZWlnaHQgYW5kIHdpZHRoIHRvIDEwMCUuXHJcbkBtaXhpbiBmaWxsU3BhY2Uge1xyXG4gIGhlaWdodDogMTAwJTtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLy8vIENyZWF0ZSBhIGJveCBzaGFkb3cgd2l0aCBjbGVhcmVyIHByb3BlcnRpZXMuXHJcbi8vLyBAcGFyYW0geyp9ICR4IFswcHhdXHJcbi8vLyBAcGFyYW0geyp9ICR5IFswcHhdXHJcbi8vLyBAcGFyYW0geyp9ICRibHVyIFsycHhdXHJcbi8vLyBAcGFyYW0geyp9ICRzcHJlYWQgWzJweF1cclxuLy8vIEBwYXJhbSB7Kn0gJGNvbG9yIFtyZ2JhKDAsIDAsIDAsIDAuMildXHJcbkBtaXhpbiBib3hTaGFkb3coJHg6IDBweCwgJHk6IDBweCwgJGJsdXI6IDJweCwgJHNwcmVhZDogMnB4LCAkY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yKSkge1xyXG4gIGJveC1zaGFkb3c6ICR4ICR5ICRibHVyICRzcHJlYWQgJGNvbG9yO1xyXG59XHJcblxyXG4vLy8gQ3JlYXRlIGEgYm94IHNoYWRvdyB3aXRoIGNsZWFyZXIgcHJvcGVydGllcy5cclxuLy8vIEBwYXJhbSB7Kn0gJHggWzBweF1cclxuLy8vIEBwYXJhbSB7Kn0gJHkgWzFweF1cclxuLy8vIEBwYXJhbSB7Kn0gJGJsdXIgWzNweF1cclxuLy8vIEBwYXJhbSB7Kn0gJHNwcmVhZCBbMHB4XVxyXG4vLy8gQHBhcmFtIHsqfSAkY29sb3IgW3JnYmEoMCwgMCwgMCwgMC4yKV1cclxuQG1peGluIHNoYWRvdy1pbnNldCgkeDogMHB4LCAkeTogMXB4LCAkYmx1cjogM3B4LCAkc3ByZWFkOiAwcHgsICRjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpKSB7XHJcbiAgYm94LXNoYWRvdzogaW5zZXQgJHggJHkgJGJsdXIgJHNwcmVhZCAkY29sb3I7XHJcbn1cclxuXHJcbi8qLS0tUE9TSVRJT05JTkctLS0qL1xyXG5cclxuLy8vIFNldHMgZWxlbWVudCB0byBwb3NpdGlvbiBhYnNvbHV0ZSB0byB3aXRoIHRvcDogMCBhbmQgbGVmdDogMDtcclxuQG1peGluIGFic29sdXRlIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbn1cclxuXHJcbi8vLyBTZXRzIGVsZW1lbnQgdG8gcG9zaXRpb24gZml4ZWQgdG8gd2l0aCB0b3A6IDAgYW5kIGxlZnQ6IDA7XHJcbkBtaXhpbiBmaXhlZCB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG59XHJcblxyXG4vLy8gUmVzZXRzIHBvc2l0aW9uIHByb3BlcnRpZXMgKHRvcCwgYm90dG9tLCBsZWZ0LCByaWdodCkuXHJcbi8vLyBAcGFyYW0geyp9ICRwb3MgW3JlbGF0aXZlXSAtIFNldHMgdGhlIHBvc2l0aW9uIHByb3BlcnR5LlxyXG5AbWl4aW4gcmVzZXRQb3MoJHBvczogcmVsYXRpdmUpIHtcclxuICBwb3NpdGlvbjogJHBvcztcclxuICB0b3A6IGF1dG87XHJcbiAgYm90dG9tOiBhdXRvO1xyXG4gIGxlZnQ6IGF1dG87XHJcbiAgcmlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgYW4gZWxlbWVudCB1c2luZyBwb3NpdGlvbiBhYnNvbHV0ZSBhbmQgdHJhbnNmb3Jtcy5cclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkcGVyY2VudCBbNTAlXSAtIFByb3BlcnR5IHRvcCBwZXJjZW50YWdlLlxyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICR0cmFucyBbNTAlXSAtIFByb3BlcnR5IHRyYW5zbGF0ZVkgcGVyY2VudGFnZS5cclxuQG1peGluIHZlcnRDZW50ZXIoJHBlcmNlbnQ6IDUwJSwgJHRyYW5zOiA1MCUpIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAkcGVyY2VudDtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSR0cmFucyk7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSR0cmFucyk7XHJcbn1cclxuXHJcbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgYW4gZWxlbWVudCB1c2luZyBwb3NpdGlvbiBhYnNvbHV0ZSBhbmQgdHJhbnNmb3Jtcy5cclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkcGVyY2VudCBbNTAlXSAtIFByb3BlcnR5IGxlZnQgcGVyY2VudGFnZS5cclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkdHJhbnMgWzUwJV0gLSBQcm9wZXJ0eSB0cmFuc2xhdGVYIHBlcmNlbnRhZ2UuXHJcbkBtaXhpbiBob3J6Q2VudGVyKCRwZXJjZW50OiA1MCUsICR0cmFuczogNTAlKSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGxlZnQ6ICRwZXJjZW50O1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHRyYW5zKTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHRyYW5zKTtcclxufVxyXG5cclxuQG1peGluIHZlcnRIb3J6Q2VudGVyIHtcclxuICBAaW5jbHVkZSB2ZXJ0Q2VudGVyO1xyXG4gIEBpbmNsdWRlIGhvcnpDZW50ZXI7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbn1cclxuXHJcbi8vLyBEb2VzIHdoYXQgaXQgc2F5cyBvbiB0aGUgdGluLiBTZXRzIG1hcmdpbiBhbmQgcGFkZGluZyB0byAwLlxyXG5AbWl4aW4gemVyb01hcmdQYWQge1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4vKi0tLUNPTlRFTlQtLS0qL1xyXG5cclxuLy8vIFVzZWQgaW5zaWRlIDo6YmVmb3JlIGFuZCA6OmFmdGVyIGVsZW1lbnRzLiBTZXRzIHdpZHRoIGFuZCBoZWlnaHQgdG8gMTAwJS5cclxuQG1peGluIHBzZXVkb0NvbnRlbnQge1xyXG4gIGNvbnRlbnQ6IFwiXCI7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4vLy8gQ3JlYXRlcyBhbiA6OmFmdGVyIGVsZW1lbnQgdG8gcHJldmVudCBmbG9hdCBvdmVybGFwLlxyXG5AbWl4aW4gY2xlYXJmaXgge1xyXG4gICY6YWZ0ZXIge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgfVxyXG59XHJcblxyXG4vKi0tLUxJU1RTLS0tKi9cclxuXHJcbi8vLyBSZW1vdmUgbGlzdCBzdHlsaW5nLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxyXG5AbWl4aW4gcmVmb3JtYXRMaXN0IHtcclxuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgQGluY2x1ZGUgemVyb01hcmdQYWQ7XHJcblxyXG4gIGxpIHtcclxuICAgIEBpbmNsdWRlIHplcm9NYXJnUGFkO1xyXG4gIH1cclxufVxyXG5cclxuLyotLS1CT1JERVIgQVJST1dTLS0tKi9cclxuLy8vIERyYXcgYW4gYXJyb3cgdXNpbmcgY3NzIGJvcmRlcnNcclxuLy8vIEBwYXJhbSB7dmFyaWFibGV9ICRkaXIgW3RvcCwgcmlnaHQsIGJvdHRvbSwgbGVmdCwgdG9wUmlnaHQsIGJvdHRvbVJpZ2h0LCB0b3BMZWZ0LCBib3R0b21MZWZ0XVxyXG4vLy8gQHBhcmFtIHtjb2xvcn0gJGNvbG9yIFskbGlnaHRdXHJcbi8vLyBAcGFyYW0ge251bWJlcn0gJGhlaWdodCBbMjBweF1cclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkd2lkdGggWzMwcHhdXHJcbkBtaXhpbiBjc3NBcnJvdygkZGlyLCAkY29sb3I6IHZhcigtLWJyYW5kLWRhcmspLCAkaGVpZ2h0OiAyMHB4LCAkd2lkdGg6IDIwcHgpIHtcclxuICBjb250ZW50OiBcIlwiO1xyXG4gIHdpZHRoOiAwO1xyXG4gIGhlaWdodDogMDtcclxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblxyXG4gIEBpZiAkZGlyID09dG9wIHtcclxuICAgIGJvcmRlci13aWR0aDogMCBjYWxjKCN7JHdpZHRofSAvIDIpICRoZWlnaHQgY2FsYygjeyR3aWR0aH0gLyAyKTtcclxuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvcjtcclxuICB9IEBlbHNlIGlmICRkaXIgPT1yaWdodCB7XHJcbiAgICBib3JkZXItd2lkdGg6IGNhbGMoI3skaGVpZ2h0fSAvIDIpIDAgY2FsYygjeyRoZWlnaHR9IC8gMikgJHdpZHRoO1xyXG4gICAgYm9yZGVyLWxlZnQtY29sb3I6ICRjb2xvcjtcclxuICB9IEBlbHNlIGlmICRkaXIgPT1ib3R0b20ge1xyXG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0IGNhbGMoI3skd2lkdGh9IC8gMikgMCBjYWxjKCN7JHdpZHRofSAvIDIpO1xyXG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xyXG4gIH0gQGVsc2UgaWYgJGRpciA9PWxlZnQge1xyXG4gICAgYm9yZGVyLXdpZHRoOiBjYWxjKCN7JGhlaWdodH0gLyAyKSAkd2lkdGggY2FsYygjeyRoZWlnaHR9IC8gMikgMDtcclxuICAgIGJvcmRlci1yaWdodC1jb2xvcjogJGNvbG9yO1xyXG4gIH0gQGVsc2UgaWYgJGRpciA9PXRvcFJpZ2h0IHtcclxuICAgIGJvcmRlci13aWR0aDogMCAkaGVpZ2h0ICR3aWR0aCAwO1xyXG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkY29sb3I7XHJcbiAgfSBAZWxzZSBpZiAkZGlyID09Ym90dG9tUmlnaHQge1xyXG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgJGhlaWdodCAkd2lkdGg7XHJcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3I7XHJcbiAgfSBAZWxzZSBpZiAkZGlyID09Ym90dG9tTGVmdCB7XHJcbiAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgMCAwICR3aWR0aDtcclxuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkY29sb3I7XHJcbiAgfSBAZWxzZSBpZiAkZGlyID09dG9wTGVmdCB7XHJcbiAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoIDAgMDtcclxuICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcclxuICB9IEBlbHNlIHtcclxuICAgIEBlcnJvciBcIlVua25vd24gZGlyZWN0aW9uICN7JGRpcn0uXCI7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gRHJhdyBhIGRvd24gYXJyb3cgdXNpbmcgY3NzIGJvcmRlcnNcclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkc2l6ZSBbOHB4XVxyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRzaXplTFIgWyRzaXplXVxyXG4vLy8gQHBhcmFtIHtjb2xvcn0gJGNvbG9yIFskbGlnaHRdXHJcbi8vLyBAcGFyYW0ge251bWJlcn0gJHRvcCBbYXV0b11cclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkbGVmdCBbYXV0b11cclxuQG1peGluIHJpZ2h0QXJyb3coJHNpemU6IDhweCwgJHNpemVUQjogJHNpemUsICRjb2xvcjogJGxpZ2h0LCAkdG9wOiBhdXRvLCAkcmlnaHQ6IGF1dG8pIHtcclxuICBjb250ZW50OiBcIlwiO1xyXG4gIHdpZHRoOiAwO1xyXG4gIGhlaWdodDogMDtcclxuICBib3JkZXItdG9wOiAkc2l6ZVRCIHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlci1ib3R0b206ICRzaXplVEIgc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyLWxlZnQ6ICRzaXplIHNvbGlkICRjb2xvcjtcclxuICBib3JkZXItcmlnaHQ6IDA7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogJHRvcDtcclxuICByaWdodDogJHJpZ2h0O1xyXG59XHJcblxyXG4vLy8gRHJhdyBhIGRvd24gYXJyb3cgdXNpbmcgY3NzIGJvcmRlcnNcclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkc2l6ZSBbOHB4XVxyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRzaXplTFIgWyRzaXplXVxyXG4vLy8gQHBhcmFtIHtjb2xvcn0gJGNvbG9yIFskbGlnaHRdXHJcbi8vLyBAcGFyYW0ge251bWJlcn0gJHRvcCBbYXV0b11cclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkbGVmdCBbYXV0b11cclxuQG1peGluIGxlZnRBcnJvdygkc2l6ZTogOHB4LCAkc2l6ZVRCOiAkc2l6ZSwgJGNvbG9yOiAkbGlnaHQsICR0b3A6IGF1dG8sICRsZWZ0OiBhdXRvKSB7XHJcbiAgY29udGVudDogXCJcIjtcclxuICB3aWR0aDogMDtcclxuICBoZWlnaHQ6IDA7XHJcbiAgYm9yZGVyLXRvcDogJHNpemVUQiBzb2xpZCB0cmFuc3BhcmVudDtcclxuICBib3JkZXItYm90dG9tOiAkc2l6ZVRCIHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlci1sZWZ0OiAwO1xyXG4gIGJvcmRlci1yaWdodDogJHNpemUgc29saWQgJGNvbG9yO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6ICR0b3A7XHJcbiAgbGVmdDogJGxlZnQ7XHJcbn1cclxuXHJcbi8vLyBEcmF3IGEgZG93biBhcnJvdyB1c2luZyBjc3MgYm9yZGVyc1xyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRzaXplIFs4cHhdXHJcbi8vLyBAcGFyYW0ge251bWJlcn0gJHNpemVMUiBbJHNpemVdXHJcbi8vLyBAcGFyYW0ge2NvbG9yfSAkY29sb3IgWyRsaWdodF1cclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkdG9wIFthdXRvXVxyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRsZWZ0IFthdXRvXVxyXG5AbWl4aW4gdG9wQXJyb3coJHNpemU6IDhweCwgJHNpemVMUjogJHNpemUsICRjb2xvcjogJGxpZ2h0LCAkdG9wOiBhdXRvLCAkbGVmdDogYXV0bykge1xyXG4gIGNvbnRlbnQ6IFwiXCI7XHJcbiAgd2lkdGg6IDA7XHJcbiAgaGVpZ2h0OiAwO1xyXG4gIGJvcmRlci1sZWZ0OiAkc2l6ZUxSIHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlci1yaWdodDogJHNpemVMUiBzb2xpZCB0cmFuc3BhcmVudDtcclxuICBib3JkZXItYm90dG9tOiAkc2l6ZSBzb2xpZCAkY29sb3I7XHJcbiAgYm9yZGVyLXRvcDogMDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAkdG9wO1xyXG4gIGxlZnQ6ICRsZWZ0O1xyXG59XHJcblxyXG4vLy8gRHJhdyBhIGRvd24gYXJyb3cgdXNpbmcgY3NzIGJvcmRlcnNcclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkc2l6ZSBbOHB4XVxyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRzaXplTFIgWyRzaXplXVxyXG4vLy8gQHBhcmFtIHtjb2xvcn0gJGNvbG9yIFskbGlnaHRdXHJcbi8vLyBAcGFyYW0ge251bWJlcn0gJHRvcCBbYXV0b11cclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkbGVmdCBbYXV0b11cclxuQG1peGluIGJvdHRvbUFycm93KCRzaXplOiA4cHgsICRzaXplTFI6ICRzaXplLCAkY29sb3I6ICRsaWdodCwgJHRvcDogYXV0bywgJGxlZnQ6IGF1dG8pIHtcclxuICBjb250ZW50OiBcIlwiO1xyXG4gIHdpZHRoOiAwO1xyXG4gIGhlaWdodDogMDtcclxuICBib3JkZXItbGVmdDogJHNpemVMUiBzb2xpZCB0cmFuc3BhcmVudDtcclxuICBib3JkZXItcmlnaHQ6ICRzaXplTFIgc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyLXRvcDogJHNpemUgc29saWQgJGNvbG9yO1xyXG4gIGJvcmRlci1ib3R0b206IDA7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogJHRvcDtcclxuICBsZWZ0OiAkbGVmdDtcclxufVxyXG5cclxuLy8vIEEga2luZCBvZiBoYWNreSBtaXhpbiB0byBmb3JjZSB0aGUgYnJvd3NlciB0byB1c2UgYSBHUFUgdG8gcmVuZGVyIHRoZSBlbGVtZW50LlxyXG5AbWl4aW4gdXNlR1BVIHtcclxuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAtd2Via2l0LXBlcnNwZWN0aXZlOiAxMDAwcHg7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xyXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICBwZXJzcGVjdGl2ZTogMTAwMHB4O1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xyXG59XHJcblxyXG4vLy8gVmlkZW8gYmFja2dyb3VuZCBzaXplLlxyXG4vLy8gQHBhcmFtIHsqfSAkYmdJbWcgLSBUaGUgYmFja2dyb3VuZCBpbWFnZS4gSW4gdGhlIGZvcm0gb2YgdXJsKC9pbWFnZS9teS1pbWFnZS5qcGcpLlxyXG5AbWl4aW4gdmlkZW9CRygkYmdJbWcpIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBAaW5jbHVkZSBhYnNvbHV0ZTtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICB2aWRlbyB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICByaWdodDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIG1pbi13aWR0aDogMTAwJTtcclxuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XHJcbiAgICB3aWR0aDogYXV0bztcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIHotaW5kZXg6IC0xMDA7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAkYmdJbWc7XHJcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kQ292ZXI7XHJcbiAgfVxyXG59XHJcblxyXG4vKipGb3JtcyoqL1xyXG5cclxuLy8vIElucHV0IFBsYWNlaG9sZGVyIHN0eWxpbmdcclxuLy8vIEBwYXJhbSB7Y29sb3J9ICRjb2xvciBbbGlnaHRlbigkYmFzaWMsIDYwJSldIC0gVGhlIGNvbG9yIG9mIHRoZSBwbGFjZWhvbGRlciB0ZXh0LlxyXG4vLy8gQHBhcmFtIHsqfSAkc3R5bGUgW2l0YWxpY10gLSBGb250IHN0eWxlLlxyXG4vLy8gQHBhcmFtIHsqfSAkZm9udCBbJGJhc2ljRm9udF0gLSBGb250IGZhbWlseS5cclxuLy8vIEBwYXJhbSB7Kn0gJHNpemUgWzFlbV0gLSBGb250IHNpemUuXHJcbkBtaXhpbiBwbGFjZWhvbGRlcigkY29sb3I6IHZhcigtLWRhcmstZ3JleSksICRzdHlsZTogaXRhbGljLCAkZm9udDogJGJhc2ljRm9udCwgJHNpemU6IDFlbSkge1xyXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgICBmb250OiB7XHJcbiAgICAgIHN0eWxlOiAkc3R5bGU7XHJcbiAgICAgIGZhbWlseTogJGZvbnQ7XHJcbiAgICAgIHNpemU6ICRzaXplO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJjotbW96LXBsYWNlaG9sZGVyIHtcclxuICAgIC8qIEZpcmVmb3ggMTgtICovXHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG5cclxuICAgIGZvbnQ6IHtcclxuICAgICAgc3R5bGU6ICRzdHlsZTtcclxuICAgICAgZmFtaWx5OiAkZm9udDtcclxuICAgICAgc2l6ZTogJHNpemU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmOjotbW96LXBsYWNlaG9sZGVyIHtcclxuICAgIC8qIEZpcmVmb3ggMTkrICovXHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG5cclxuICAgIGZvbnQ6IHtcclxuICAgICAgc3R5bGU6ICRzdHlsZTtcclxuICAgICAgZmFtaWx5OiAkZm9udDtcclxuICAgICAgc2l6ZTogJHNpemU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG5cclxuICAgIGZvbnQ6IHtcclxuICAgICAgc3R5bGU6ICRzdHlsZTtcclxuICAgICAgZmFtaWx5OiAkZm9udDtcclxuICAgICAgc2l6ZTogJHNpemU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQnJlYWtzIGxvbmcgd29yZHMgYW5kIHVybHNcclxuLy8vIEBhdXRob3IgS2FybCBSb3NzXHJcbkBtaXhpbiB3b3JkQnJlYWsge1xyXG4gIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlO1xyXG5cclxuICAvKiBBZGRzIGEgaHlwaGVuIHdoZXJlIHRoZSB3b3JkIGJyZWFrcywgaWYgc3VwcG9ydGVkIChObyBCbGluaykgKi9cclxuICAtbXMtaHlwaGVuczogYXV0bztcclxuICAtbW96LWh5cGhlbnM6IGF1dG87XHJcbiAgLXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xyXG4gIGh5cGhlbnM6IGF1dG87XHJcbn1cclxuXHJcbi8vLyBIaWRlcyBhbiBlbGVtZW50IGJ1dCBzdGlsbCBhbGxvd3MgaXQgdG8gYmUgcmVhZCBieSBhIHNjcmVlbiByZWFkZXIuXHJcbi8vLyBAYXV0aG9yIEJlbiBSaWNoYXJkc29uXHJcbkBtaXhpbiBzY3JlZW5SZWFkZXIoKSB7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIGNsaXAtcGF0aDogcmVjdCgwIDAgMCAwKTtcclxuICBoZWlnaHQ6IDFweDtcclxuICBtYXJnaW46IC0xcHg7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBwYWRkaW5nOiAwO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB3aWR0aDogMXB4O1xyXG59XHJcblxyXG4vLyBGaXhlcyBsZWdlbmRzIG9uIG9sZGVyIGJyb3dzZXJzIGFuZCBzbWFsbGVyIGJyb3dzZXJzLlxyXG5AbWl4aW4gbGVnZW5kRml4IHtcclxuICAvL1RoaXMgZml4ZXMgZm9yIHJlc3BvbnNpdmVcclxuICBkaXNwbGF5OiB0YWJsZTtcclxuICAvKiBFbmFibGUgbGluZS13cmFwcGluZyBpbiBJRTgrICovXHJcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuICAvKiBFbmFibGUgbGluZS13cmFwcGluZyBpbiBvbGQgdmVyc2lvbnMgb2Ygc29tZSBvdGhlciBicm93c2VycyAqL1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4vLy8gU3R5bGUgc2Nyb2xsYmFycyB3aXRoIGFsbCBicm93c2VyIHZlbmRvciBwcm9wZXJ0aWVzLlxyXG4vLy8gQGF1dGhvciBLb3VydG5leSBTdHJpY2tsYW5kXHJcbi8vLyBAcGFyYW0ge251bWJlcn0gJHdpZHRoIFs1cHhdIC0gVGhlIHdpZHRoIG9mIHRoZSBzY3JvbGxiYXIuXHJcbi8vLyBAcGFyYW0ge2NvbG9yfSAkY29sb3IgWyM0NDQ0NDRdIC0gVGhlIGNvbG9yIG9mIHRoZSBzY3JvbGwga25vYi5cclxuLy8vIEBwYXJhbSB7Y29sb3J9ICRiZ0NvbG9yIFsjZjVmNWY1XSAtIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBzY3JvbGxiYXIuXHJcbi8vLyBAcGFyYW0ge2Jvb2xlYW59ICRzaGFkb3cgW3RydWVdIC0gV2hldGhlciB0byBkcmF3IGEgYm94IHNoYWRvdyBvbiB0aGUgc2Nyb2xsYmFyLlxyXG5AbWl4aW4gc2Nyb2xsYmFyKCR3aWR0aDogNXB4LCAkY29sb3I6ICM0NDQ0NDQsICRiZ0NvbG9yOiAjZjVmNWY1LCAkc2hhZG93OiB0cnVlKSB7XHJcbiAgLy8gTm9uc3RhbmRhcmQgd2Via2l0IHByb3BlcnRpZXMsIHdvcmtzIG9uIENocm9tZSwgTW9kZXJuIEVkZ2UsIGFuZCBTYWZhcmlcclxuICAmOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XHJcbiAgICBAaWYgJHNoYWRvdyB7XHJcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAwIDZweCByZ2JhKDAsIDAsIDAsIDAuMyk7XHJcbiAgICB9XHJcblxyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnQ29sb3I7XHJcbiAgfVxyXG5cclxuICAmOjotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgICB3aWR0aDogJHdpZHRoO1xyXG4gICAgaGVpZ2h0OiAkd2lkdGg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmdDb2xvcjtcclxuICB9XHJcblxyXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcclxuICB9XHJcblxyXG4gIC8vIFRoZSBwcm9wZXIsIHN0YW5kYXJkIHdheSB0byBzdHlsZSBzY3JvbGxiYXJzLiBTdXBwb3J0ZWQgaW4gRmlyZWZveCwgRWRnZSAxMjErLCBhbmQgQ2hyb21lIDEyMStcclxuICBzY3JvbGxiYXItY29sb3I6ICRjb2xvciAkYmdDb2xvcjtcclxuXHJcbiAgQGlmICgkd2lkdGggPCAxNXB4KSB7XHJcbiAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gU2hvcnRoYW5kIGZvciBhIGZsZXhib3ggY29udGFpbmVyIHRoYXQganVzdGlmZXMgY29udGVudCBhdCB0aGUgc3RhcnQuXHJcbi8vLyBAYXV0aG9yIEtvdXJ0bmV5IFN0cmlja2xhbmRcclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkZGlyIFtyb3ddIC0gVGhlIGZsZXgtZGlyZWN0aW9uIG9mIHRoZSBlbGVtZW50LlxyXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRqdXN0aWZ5IFtzcGFjZS1iZXR3ZWVuXSAtIFRoZSBqdXN0aWZ5LWNvbnRlbnQgcHJvcGVydHkgb2YgdGhlIGVsZW1lbnQuXHJcbkBtaXhpbiBmbGV4SnVzdGlmeSgkZGlyOiByb3csICRqdXN0aWZ5OiBzcGFjZS1iZXR3ZWVuKSB7XHJcbiAgLy9hbHRlcm5hdGUgd291bGQgYmUgc3BhY2UtYXJvdW5kXHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6ICRqdXN0aWZ5O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgZmxleC1kaXJlY3Rpb246ICRkaXI7XHJcbn1cclxuXHJcbi8vLyBTaG9ydGhhbmQgZm9yIGEgZmxleGJveCBjb250YWluZXIgdGhhdCBqdXN0aWZlcyBjb250ZW50IGluIGNlbnRlci5cclxuLy8vIEBhdXRob3IgS291cnRuZXkgU3RyaWNrbGFuZFxyXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRkaXIgW3Jvd10gLSBUaGUgZmxleC1kaXJlY3Rpb24gb2YgdGhlIGVsZW1lbnQuXHJcbkBtaXhpbiBmbGV4Q2VudGVyKCRkaXI6IHJvdykge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBmbGV4LWRpcmVjdGlvbjogJGRpcjtcclxufVxyXG5cclxuLy8vIFNob3J0aGFuZCBmb3IgYSBmbGV4Ym94IGNvbnRhaW5lciB0aGF0IGp1c3RpZmVzIGNvbnRlbnQgYXQgdGhlIGVuZC5cclxuLy8vIEBhdXRob3IgS291cnRuZXkgU3RyaWNrbGFuZFxyXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRkaXIgW3Jvd10gLSBUaGUgZmxleC1kaXJlY3Rpb24gb2YgdGhlIGVsZW1lbnQuXHJcbkBtaXhpbiBmbGV4RW5kKCRkaXI6IHJvdykge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyO1xyXG59XHJcblxyXG4vLy8gU2hvcnRoYW5kIGZvciBhIGZsZXhib3ggY29udGFpbmVyIHRoYXQganVzdGlmZXMgY29udGVudCBhdCB0aGUgc3RhcnQuXHJcbi8vLyBAYXV0aG9yIEtvdXJ0bmV5IFN0cmlja2xhbmRcclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkZGlyIFtyb3ddIC0gVGhlIGZsZXgtZGlyZWN0aW9uIG9mIHRoZSBlbGVtZW50LlxyXG5AbWl4aW4gZmxleFN0YXJ0KCRkaXI6IHJvdykge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgZmxleC1kaXJlY3Rpb246ICRkaXI7XHJcbn1cclxuXHJcbi8vLyBDcmVhdGVzIGEgZmxleGlibGUgaG9yaXpvbnRhbCBsYXlvdXQgb2YgYWJzb2x1dGVseS1wb3NpdGlvbmVkIGNoaWxkIGVsZW1lbnRzIG9mIGVxdWFsIHdpZHRoLlxyXG4vLy8gVmVyeSB1c2VmdWwgZm9yIHNvbWV0aGluZyBsaWtlIGEgbWFpbiBuYXYgdGhhdCB0cmFuc2l0aW9ucy4gQmVjYXVzZSBldmVyeXRoaW5nIGlzIGFscmVhZHkgYWJzb2x1dGUsXHJcbi8vLyB5b3UgY2FuIGVhc2lseSBtb3ZlIHNlY3Rpb25zIG91dCBhbmQgaW4gdXNpbmcgdGhlIHRvcC9sZWZ0IHByb3BlcnRpZXMuXHJcbi8vLyBAYXV0aG9yIEJlbiBSaWNoYXJkc29uXHJcbi8vLyBAcGFyYW0ge251bWJlcn0gJG1heC1udW0tb2YtY2hpbGRyZW4gWzddIC0gSWYgdGhlIG51bWJlciBvZiBjaGlsZHJlbiBleGNlZWRzIHRoaXMgbnVtYmVyLCB0aGUgbGF5b3V0IHdpbGwgYnJlYWsuXHJcbi8vLyBAcGFyYW0ge3N0cmluZ30gJG9yaWVudGF0aW9uIFt2ZXJ0aWNhbF0gLSBUaGUgZGlyZWN0aW9uIG9mIHRoZSBmbGV4IGNvbnRhaW5lci4gRWl0aGVyIFwidmVydGljYWxcIiBvciBcImhvcml6b250YWxcIi5cclxuQG1peGluIGFic29sdXRlRmxleCgkbWF4LW51bS1vZi1jaGlsZHJlbjogNywgJG9yaWVudGF0aW9uOiBcInZlcnRpY2FsXCIsICRndXR0ZXI6IDAlKSB7XHJcbiAgQGlmIHR5cGUtb2YoJG1heC1udW0tb2YtY2hpbGRyZW4pICE9bnVtYmVyIHtcclxuICAgIEBlcnJvciBcIklucHV0IGAkbWF4LW51bS1vZi1jaGlsZHJlbmAgbXVzdCBiZSBhIG51bWJlci5cIjtcclxuICB9XHJcblxyXG4gIEBpZiAkb3JpZW50YXRpb24gIT0gXCJob3Jpem9udGFsXCIgYW5kICRvcmllbnRhdGlvbiAhPSBcInZlcnRpY2FsXCIge1xyXG4gICAgQGVycm9yIFwiSW5wdXQgYCRtYXgtbnVtLW9mLWNoaWxkcmVuYCBtdXN0IGJlIHNldCB0byBlaXRoZXIgYGhvcml6b250YWxgIG9yIGB2ZXJ0aWNhbGBcIjtcclxuICB9XHJcblxyXG4gIEB3aGlsZSAkbWF4LW51bS1vZi1jaGlsZHJlbj4xIHtcclxuICAgICRzaXplOiBtYXRoLmRpdigxMDAlLCAkbWF4LW51bS1vZi1jaGlsZHJlbik7XHJcbiAgICAkZ3V0dGVyU2l6ZU9mZnNldDogbWF0aC5kaXYoJGd1dHRlciwgJG1heC1udW0tb2YtY2hpbGRyZW4pO1xyXG5cclxuICAgIC8vIFdlIGNhbiBkZXRlY3QgdGhlIG51bWJlciBvZiBpdGVtcyBhIHBhcmVudCBoYXMgcHVyZWx5IHdpdGggQ1NTLiBDcmF6eSwgaHVoIVxyXG4gICAgPiAqOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JG1heC1udW0tb2YtY2hpbGRyZW59KSxcclxuICAgID4gKjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRtYXgtbnVtLW9mLWNoaWxkcmVufSkgfiAqIHtcclxuICAgICAgQGlmICgkb3JpZW50YXRpb249PSBcImhvcml6b250YWxcIikge1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKCN7JHNpemV9IC0gI3skZ3V0dGVyIC0gJGd1dHRlclNpemVPZmZzZXR9KTtcclxuICAgICAgfSBAZWxzZSBpZiAoJG9yaWVudGF0aW9uPT0gXCJ2ZXJ0aWNhbFwiKSB7XHJcbiAgICAgICAgaGVpZ2h0OiBjYWxjKCN7JHNpemV9IC0gI3skZ3V0dGVyIC0gJGd1dHRlclNpemVPZmZzZXR9KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gQ2FsY3VsYXRlIGFuZCBzZXQgY2hpbGQgcG9zaXRpb24uXHJcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJG1heC1udW0tb2YtY2hpbGRyZW4ge1xyXG4gICAgICAgICY6bnRoLWNoaWxkKCN7JGl9KSB7XHJcbiAgICAgICAgICBAaWYgKCRvcmllbnRhdGlvbj09IFwiaG9yaXpvbnRhbFwiKSB7XHJcbiAgICAgICAgICAgIGxlZnQ6IGNhbGMoI3skc2l6ZSAqICRpIC0gJHNpemV9ICsgI3skZ3V0dGVyIC0gJGd1dHRlclNpemVPZmZzZXQgKiAkaX0pO1xyXG4gICAgICAgICAgfSBAZWxzZSBpZiAoJG9yaWVudGF0aW9uPT0gXCJ2ZXJ0aWNhbFwiKSB7XHJcbiAgICAgICAgICAgIHRvcDogJHNpemUgKiAkaSAtICRzaXplO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICRtYXgtbnVtLW9mLWNoaWxkcmVuOiAkbWF4LW51bS1vZi1jaGlsZHJlbiAtIDE7XHJcbiAgfVxyXG5cclxuICA+ICoge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIH1cclxufVxyXG5cclxuLy8vIENyZWF0ZSBhIGJsdXIgZWZmZWN0IHdpdGggZmFsbGJhY2tzIGZvciB1bnN1cHBvcnRlZCBicm93c2Vycy5cclxuLy8vIEBhdXRob3IgQmVuIFJpY2hhcmRzb25cclxuLy8vIEBwYXJhbSB7Y29sb3J9ICRjb2xvciAtIFRoZSBiYWNrZ3JvdW5kLWNvbG9yIG9mIHRoZSBlbGVtZW50LlxyXG4vLy8gQHBhcmFtIHtudW19ICRvcGFjaXR5IFs4NSVdIC0gVGhlIGxldmVsIG9mIG9wYWNpdHkgZGVzaXJlZC5cclxuQG1peGluIGZyb3N0ZWRHbGFzcygkY29sb3I6ICRsaWdodCwgJG9wYWNpdHk6IDg1JSkge1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoJGNvbG9yLCAkb3BhY2l0eSk7XHJcblxyXG4gIEBzdXBwb3J0cyAoYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpKSB7XHJcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XHJcblxyXG4gICAgQGlmICgkb3BhY2l0eSAtIDIwJSA+IDApIHtcclxuICAgICAgYmFja2dyb3VuZDogcmdiYSgkY29sb3IsICRvcGFjaXR5IC0gMjAlKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vIERlbGl2ZXJzIGJ1bGxldHByb29mIGhvdmVyIHN0eWxpbmcgdGhhdCBwcmV2ZW50cyB0b3VjaCBldmVudHMgZnJvbSB0cmlnZ2VyaW5nXHJcbi8vLyBzaW5jZSA5OSUgb2YgdGhlIHRpbWUgdGhhdCdzIG5vdCB3aGF0IHlvdSB3YW50LiBJbmNsdWRlcyBmYWxsYmFja3MgZm9yIG9sZGVyIGJyb3dzZXJzLlxyXG4vLy8gV2UgdXNlZCB0byB1c2UgYW55LXBvaW50ZXI6IGZpbmUgYnV0IGZvciBzb21lIHJlYXNvbiB0aGF0IHdhcyBhbHdheXMgcmV0dXJuaW5nIHRydWVcclxuLy8vIG9uIEFuZHJvaWQgZGV2aWNlcywgZXZlbiB3aXRoIG5vIG1vdXNlIGF0dGFjaGVkLiBTbyBpdCdzIGJhY2sgdG8gcmVndWxhciBvbGQgcG9pbnRlcjogZmluZS5cclxuLy8vIEBhdXRob3IgQmVuIFJpY2hhcmRzb25cclxuLy8vIEBjb250ZW50XHJcbkBtaXhpbiBob3ZlcigpIHtcclxuICBAbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBbZGF0YS1icm93c2VyPVwiaWVcIl0gJjpob3ZlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcblxyXG4gIC5pZSAmOmhvdmVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8vIERlbGl2ZXJzIGJ1bGxldHByb29mIGZvY3VzLXZpc2libGUgc3R5bGluZyB3aXRoIGZhbGxiYWNrcyBmb3Igb2xkZXIgYnJvd3NlcnMuIFJlcXVpcmVzXHJcbi8vLyBhIEpTIHBvbHlmaWxsIChXSUNHIGZvY3VzLXZpc2libGUpIGZvciBvbGRlciBicm93c2Vycy5cclxuLy8vIEBhdXRob3IgQmVuIFJpY2hhcmRzb25cclxuLy8vIEBjb250ZW50XHJcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vV0lDRy9mb2N1cy12aXNpYmxlXHJcbkBtaXhpbiBmb2N1cygpIHtcclxuICAmLmZvY3VzLXZpc2libGUge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG5cclxuICAmOmZvY3VzLXZpc2libGUge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQG1peGluIGhvdmVyIGFuZCBAbWl4aW4gZm9jdXMgc3R5bGluZyBpbiBvbmUgbWl4aW4uXHJcbi8vLyBAYXV0aG9yIEJlbiBSaWNoYXJkc29uXHJcbi8vLyBAY29udGVudFxyXG5AbWl4aW4gaG92ZXJBbmRGb2N1cygpIHtcclxuICBAaW5jbHVkZSBob3ZlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGZvY3VzIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8vIEFjY2Vzc2libGUgYmFja2dyb3VuZHMhIEVuc3VyZSB5b3VyIGVsZW1lbnRzIGFsd2F5cyBoYXZlIHByb3BlciBjb250cmFzdCBieSBzZXR0aW5nIGJvdGggYmFja2dyb3VuZC1jb2xvciBhbmQgY29sb3IgcHJvcGVydGllcy5cclxuLy8vIEBhdXRob3IgQmVuIFJpY2hhcmRzb25cclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkYmcgLSBUaGUgYmFja2dyb3VuZCB0byB1c2UgZm9yIHRoZSBlbGVtZW50LlxyXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICR0ZXh0RGFyayBbZGFya10gLSBUZXh0IGNvbG9yIHRvIHVzZSB3aGVuIGVsZW1lbnQncyBiYWNrZ3JvdW5kIGlzIGFib3ZlIGEgY2VydGFpbiB0aHJlc2hvbGQgaW4gbGlnaHRuZXNzLiBPbmx5IHVzZWQgaWYgJGJnIGlzIGEgc2FzcyB2YXJpYWJsZS5cclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkdGV4dExpZ2h0IFt3aGl0ZV0gLSBUZXh0IGNvbG9yIHRvIHVzZSB3aGVuIGVsZW1lbnQncyBiYWNrZ3JvdW5kIGlzIGJlbG93IGEgY2VydGFpbiB0aHJlc2hvbGQgaW4gbGlnaHRuZXNzLiBPbmx5IHVzZWQgaWYgJGJnIGlzIGEgc2FzcyB2YXJpYWJsZS5cclxuQG1peGluIGJnV2l0aENvbnRyYXN0KCRiZywgJHRleHREYXJrOiBibGFjaywgJHRleHRMaWdodDogd2hpdGUpIHtcclxuICAvLyBDaGVjayBpZiBwYXJhbWV0ZXIgaXMgYSBjc3MgY3VzdG9tIHByb3BlcnR5LiBUaGUgdmFsdWUgb2YgY3VzdG9tIHByb3BlcnRpZXMgYXJlIG5vdFxyXG4gIC8vIGtub3duIGF0IGNvbXBpbGUgdGltZSB0aGVyZWZvcmUgd2UgZG8gbm90IGNhbGN1bGF0ZSBjb250cmFzdCBoZXJlLlxyXG4gIEBpZiAoc3RyaW5nLmluZGV4KFwiI3skYmd9XCIsIFwiLS1cIikpIHtcclxuICAgICRiZzogdW53cmFwLWN1c3RvbS1wcm9wKCRiZyk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skYmd9KTtcclxuICAgIGNvbG9yOiB2YXIoI3skYmd9I3stY29udHJhc3R9KTtcclxuICB9IEBlbHNlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZztcclxuXHJcbiAgICAkcmF0aW9XaXRoRGFyazogd2NhZy1jb250cmFzdC1yYXRpbygkYmcsICR0ZXh0RGFyayk7XHJcbiAgICAkcmF0aW9XaXRoTGlnaHQ6IHdjYWctY29udHJhc3QtcmF0aW8oJGJnLCAkdGV4dExpZ2h0KTtcclxuXHJcbiAgICBAaWYgJHJhdGlvV2l0aERhcmsgPCAzIGFuZCAkcmF0aW9XaXRoTGlnaHQgPCAzIHtcclxuICAgICAgQGVycm9yIFwiVGhlIGNvbG9yICN7JGJnfSBkb2VzIG5vdCBtZWV0IFdDQUcgQUEgbWluaW11bSBhY2Nlc3NpYmlsaXR5IGNvbnRyYXN0IHJhdGlvIG9mIDM6MS4gUGxlYXNlIGNob29zZSBhIGRpZmZlcmVudCBjb2xvciBjb21iaW5hdGlvbi5cIjtcclxuICAgIH0gQGVsc2UgaWYgJHJhdGlvV2l0aERhcmsgPCA0LjUgYW5kICRyYXRpb1dpdGhMaWdodCA8IDQuNSB7XHJcbiAgICAgIEB3YXJuIFwiVGhlIGNvbG9yICN7JGJnfSBkb2VzIG5vdCBtZWV0IFdDQUcgQUEgbWluaW11bSBhY2Nlc3NpYmlsaXR5IGNvbnRyYXN0IHJhdGlvIG9mIDQuNToxLiBQbGVhc2UgY29uZmlybSB0aGF0IGFueSB0ZXh0IGluc2lkZSB0aGlzIGVsZW1lbnQgaXMgZ3JlYXRlciB0aGFuIDE4cHguXCI7XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICRyYXRpb1dpdGhEYXJrID49JHJhdGlvV2l0aExpZ2h0IHtcclxuICAgICAgY29sb3I6ICR0ZXh0RGFyaztcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBjb2xvcjogJHRleHRMaWdodDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vLyBBY2Nlc3NpYmxlIHRleHQhIEVuc3VyZSB5b3VyIGVsZW1lbnRzIGFsd2F5cyBoYXZlIHByb3BlciBjb250cmFzdCBieSBzZXR0aW5nIGJvdGggY29sb3IgYW5kIGJhY2tncm91bmQtY29sb3IgcHJvcGVydGllcy5cclxuLy8vIEBhdXRob3IgQmVuIFJpY2hhcmRzb25cclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkdGV4dENvbG9yIC0gVGhlIHRleHQgY29sb3IgdG8gdXNlIGZvciB0aGUgZWxlbWVudC5cclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkYmdEYXJrIFtkYXJrXSAtIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIHdoZW4gZWxlbWVudCdzIHRleHQgaXMgYWJvdmUgYSBjZXJ0YWluIHRocmVzaG9sZCBpbiBsaWdodG5lc3MuIE9ubHkgdXNlZCBpZiAkdGV4dENvbG9yIGlzIGEgc2FzcyB2YXJpYWJsZS5cclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkYmdMaWdodCBbd2hpdGVdIC0gQmFja2dyb3VuZCBjb2xvciB0byB1c2Ugd2hlbiBlbGVtZW50J3MgdGV4dCBpcyBiZWxvdyBhIGNlcnRhaW4gdGhyZXNob2xkIGluIGxpZ2h0bmVzcy4gT25seSB1c2VkIGlmICR0ZXh0Q29sb3IgaXMgYSBzYXNzIHZhcmlhYmxlLlxyXG5AbWl4aW4gY29sb3JXaXRoQ29udHJhc3QoJHRleHRDb2xvciwgJGJnRGFyazogYmxhY2ssICRiZ0xpZ2h0OiB3aGl0ZSkge1xyXG4gIC8vIENoZWNrIGlmIHBhcmFtZXRlciBpcyBhIGNzcyBjdXN0b20gcHJvcGVydHkuIFRoZSB2YWx1ZSBvZiBjdXN0b20gcHJvcGVydGllcyBhcmUgbm90XHJcbiAgLy8ga25vd24gYXQgY29tcGlsZSB0aW1lIHRoZXJlZm9yZSB3ZSBkbyBub3QgY2FsY3VsYXRlIGNvbnRyYXN0IGhlcmUuXHJcbiAgQGlmIChzdHJpbmcuaW5kZXgoXCIjeyR0ZXh0Q29sb3J9XCIsIFwiLS1cIikpIHtcclxuICAgICR0ZXh0Q29sb3I6IHVud3JhcC1jdXN0b20tcHJvcCgkdGV4dENvbG9yKTtcclxuICAgIGNvbG9yOiB2YXIoI3skdGV4dENvbG9yfSk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skdGV4dENvbG9yfSN7LWNvbnRyYXN0fSk7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBjb2xvcjogJHRleHRDb2xvcjtcclxuXHJcbiAgICAkcmF0aW9XaXRoRGFyazogd2NhZy1jb250cmFzdC1yYXRpbygkdGV4dENvbG9yLCAkYmdEYXJrKTtcclxuICAgICRyYXRpb1dpdGhMaWdodDogd2NhZy1jb250cmFzdC1yYXRpbygkdGV4dENvbG9yLCAkYmdMaWdodCk7XHJcblxyXG4gICAgQGlmICRyYXRpb1dpdGhEYXJrIDwgMyBhbmQgJHJhdGlvV2l0aExpZ2h0IDwgMyB7XHJcbiAgICAgIEBlcnJvciBcIlRoZSBjb2xvciAjeyR0ZXh0Q29sb3J9IGRvZXMgbm90IG1lZXQgV0NBRyBBQSBtaW5pbXVtIGFjY2Vzc2liaWxpdHkgY29udHJhc3QgcmF0aW8gb2YgMzoxLiBQbGVhc2UgY2hvb3NlIGEgZGlmZmVyZW50IGNvbG9yIGNvbWJpbmF0aW9uLlwiO1xyXG4gICAgfSBAZWxzZSBpZiAkcmF0aW9XaXRoRGFyayA8IDQuNSBhbmQgJHJhdGlvV2l0aExpZ2h0IDwgNC41IHtcclxuICAgICAgQHdhcm4gXCJUaGUgY29sb3IgI3skdGV4dENvbG9yfSBkb2VzIG5vdCBtZWV0IFdDQUcgQUEgbWluaW11bSBhY2Nlc3NpYmlsaXR5IGNvbnRyYXN0IHJhdGlvIG9mIDQuNToxLiBQbGVhc2UgY29uZmlybSB0aGF0IGFueSB0ZXh0IGluc2lkZSB0aGlzIGVsZW1lbnQgaXMgZ3JlYXRlciB0aGFuIDE4cHguXCI7XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICRyYXRpb1dpdGhEYXJrID49JHJhdGlvV2l0aExpZ2h0IHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJnRGFyaztcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmdMaWdodDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vLyBSZXR1cm5zIGEgY29udHJhc3RpbmcgY29sb3IgdmFsdWUgdG8gdGhlIGdpdmVuIGNvbG9yLlxyXG4vLy8gQGF1dGhvciBCZW4gUmljaGFyZHNvblxyXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRjb2xvciAtIFRoZSBjb2xvciB0byBjb250cmFzdCBhZ2Fpbi5cclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkZGFyayBbZGFya10gLSBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSB3aGVuICRjb2xvciBpcyBhYm92ZSBhIGNlcnRhaW4gdGhyZXNob2xkIGluIGxpZ2h0bmVzcy4gT25seSB1c2VkIGlmICRjb2xvciBpcyBhIHNhc3MgdmFyaWFibGUuXHJcbi8vLyBAcGFyYW0ge3N0cmluZ30gJGxpZ2h0IFt3aGl0ZV0gLSBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSB3aGVuICRjb2xvciBpcyBiZWxvdyBhIGNlcnRhaW4gdGhyZXNob2xkIGluIGxpZ2h0bmVzcy4gT25seSB1c2VkIGlmICRjb2xvciBpcyBhIHNhc3MgdmFyaWFibGUuXHJcbi8vLyBAcmV0dXJuIHtzdHJpbmd9IC0gTGlnaHQgb3IgZGFyayBkZXBlbmRpbmcgb24gdGhlIGNvbG9yIGdpdmVuLlxyXG5AZnVuY3Rpb24gY2FsYy1jb250cmFzdCgkY29sb3IsICRkYXJrOiBibGFjaywgJGxpZ2h0OiB3aGl0ZSkge1xyXG4gIEBpZiAoc3RyaW5nLmluZGV4KFwiI3skY29sb3J9XCIsIFwiLS1cIikpIHtcclxuICAgICRjb2xvcjogdW53cmFwLWN1c3RvbS1wcm9wKCRjb2xvcik7XHJcbiAgICBAcmV0dXJuIHZhcigjeyRjb2xvcn0jey1jb250cmFzdH0pO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgJHJhdGlvV2l0aERhcms6IHdjYWctY29udHJhc3QtcmF0aW8oJGNvbG9yLCAkZGFyayk7XHJcbiAgICAkcmF0aW9XaXRoTGlnaHQ6IHdjYWctY29udHJhc3QtcmF0aW8oJGNvbG9yLCAkbGlnaHQpO1xyXG5cclxuICAgIEBpZiAkcmF0aW9XaXRoRGFyayA8IDMgYW5kICRyYXRpb1dpdGhMaWdodCA8IDMge1xyXG4gICAgICBAZXJyb3IgXCJUaGUgY29sb3IgI3skY29sb3J9IGRvZXMgbm90IG1lZXQgV0NBRyBBQSBtaW5pbXVtIGFjY2Vzc2liaWxpdHkgY29udHJhc3QgcmF0aW8gb2YgMzoxLiBQbGVhc2UgY2hvb3NlIGEgZGlmZmVyZW50IGNvbG9yIGNvbWJpbmF0aW9uLlwiO1xyXG4gICAgfSBAZWxzZSBpZiAkcmF0aW9XaXRoRGFyayA8IDQuNSBhbmQgJHJhdGlvV2l0aExpZ2h0IDwgNC41IHtcclxuICAgICAgQHdhcm4gXCJUaGUgY29sb3IgI3skY29sb3J9IGRvZXMgbm90IG1lZXQgV0NBRyBBQSBtaW5pbXVtIGFjY2Vzc2liaWxpdHkgY29udHJhc3QgcmF0aW8gb2YgNC41OjEuIFBsZWFzZSBjb25maXJtIHRoYXQgYW55IHRleHQgaW5zaWRlIHRoaXMgZWxlbWVudCBpcyBncmVhdGVyIHRoYW4gMThweC5cIjtcclxuICAgIH1cclxuXHJcbiAgICBAaWYgJHJhdGlvV2l0aERhcmsgPj0kcmF0aW9XaXRoTGlnaHQge1xyXG4gICAgICBAcmV0dXJuICRkYXJrO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIEByZXR1cm4gJGxpZ2h0O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIHZhci1yZ2JhKCRjb2xvciwgJG9wYWNpdHk6IDEpIHtcclxuICAkb3BhY2l0eTogdmFsaWRhdGUtYW5kLXdyYXAtaWYtY3VzdG9tLXByb3AoJG9wYWNpdHkpO1xyXG4gICRjb2xvcjogdmFsaWRhdGUtYW5kLXdyYXAtaWYtY3VzdG9tLXByb3AoJGNvbG9yKTtcclxuXHJcbiAgJHBlcmNlbnRhZ2U6IGNhbGMoI3skb3BhY2l0eX0gKiAxMDAlKTtcclxuXHJcbiAgQHJldHVybiBjb2xvci1taXgoaW4gc3JnYiwgI3skY29sb3J9ICN7JHBlcmNlbnRhZ2V9LCB0cmFuc3BhcmVudCk7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiB2YXItbGlnaHRlbigkY29sb3IsICRhZGp1c3RtZW50OiAwJSkge1xyXG4gIEBpZiAoZ2V0LXVuaXQoJGFkanVzdG1lbnQpID09IFwiJVwiKSB7XHJcbiAgICAkYWRqdXN0bWVudDogbWF0aC5kaXYoJGFkanVzdG1lbnQsIDEwMCUpO1xyXG4gICAgJGNvbG9yOiB2YWxpZGF0ZS1hbmQtd3JhcC1pZi1jdXN0b20tcHJvcCgkY29sb3IpO1xyXG5cclxuICAgIEByZXR1cm4gb2tsY2goZnJvbSAjeyRjb2xvcn0gbWluKGNhbGMobCArIChsICogI3skYWRqdXN0bWVudH0pKSwgI3sxfSkgYyBoKTtcclxuICB9IEBlbHNlIHtcclxuICAgIEBlcnJvciBcIlRoZSBhZGp1c3RtZW50ICN7JGFkanVzdG1lbnR9IG11c3QgYmUgYSBwZXJjZW50YWdlLlwiO1xyXG4gIH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIHZhci1kYXJrZW4oJGNvbG9yLCAkYWRqdXN0bWVudDogMCUpIHtcclxuICBAaWYgKGdldC11bml0KCRhZGp1c3RtZW50KSA9PSBcIiVcIikge1xyXG4gICAgJGFkanVzdG1lbnQ6IG1hdGguZGl2KCRhZGp1c3RtZW50LCAxMDAlKTtcclxuICAgICRjb2xvcjogdmFsaWRhdGUtYW5kLXdyYXAtaWYtY3VzdG9tLXByb3AoJGNvbG9yKTtcclxuXHJcbiAgICBAcmV0dXJuIG9rbGNoKGZyb20gI3skY29sb3J9IG1heChjYWxjKGwgLSAobCAqICN7JGFkanVzdG1lbnR9KSksICN7MH0pIGMgaCk7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAZXJyb3IgXCJUaGUgYWRqdXN0bWVudCAjeyRhZGp1c3RtZW50fSBtdXN0IGJlIGEgcGVyY2VudGFnZS5cIjtcclxuICB9XHJcbn1cclxuXHJcbi8vLyBTZXRzIGJhY2tncm91bmQtcG9zaXRpb24gY3NzIGJhc2VkIG9uIFtkYXRhLWJnLXBvcz1cInggeVwiXS5cclxuLy8vIEBhdXRob3IgQmVuIFJpY2hhcmRzb25cclxuQG1peGluIGJnUG9zKCkge1xyXG4gICZbZGF0YS1iZy1wb3M9XCJ0b3AgbGVmdFwiXSB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwJSAwJTtcclxuICB9XHJcblxyXG4gICZbZGF0YS1iZy1wb3M9XCJ0b3AgbWlkZGxlXCJdIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAwO1xyXG4gIH1cclxuXHJcbiAgJltkYXRhLWJnLXBvcz1cInRvcCByaWdodFwiXSB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDAlO1xyXG4gIH1cclxuXHJcbiAgJltkYXRhLWJnLXBvcz1cImNlbnRlciBsZWZ0XCJdIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAlIDUwJTtcclxuICB9XHJcblxyXG4gICZbZGF0YS1iZy1wb3M9XCJjZW50ZXJcIl0ge1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcclxuICB9XHJcblxyXG4gICZbZGF0YS1iZy1wb3M9XCJjZW50ZXIgcmlnaHRcIl0ge1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSA1MCU7XHJcbiAgfVxyXG5cclxuICAmW2RhdGEtYmctcG9zPVwiYm90dG9tIGxlZnRcIl0ge1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCUgMTAwJTtcclxuICB9XHJcblxyXG4gICZbZGF0YS1iZy1wb3M9XCJib3R0b20gbWlkZGxlXCJdIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAxMDAlO1xyXG4gIH1cclxuXHJcbiAgJltkYXRhLWJnLXBvcz1cImJvdHRvbSByaWdodFwiXSB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDEwMCU7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gVHJpZ2dlcnMgc3R5bGluZyBiYXNlZCBvbiB3aGV0aGVyIGEgZ2l2ZW4gZGlhbG9nIGlzIGFjdGl2ZSBvciBub3QuIENhbiBiZSB1c2VkIG5lc3RlZCBvciBzdGFuZGFsb25lLlxyXG4vLy8gQGF1dGhvciBCZW4gUmljaGFyZHNvblxyXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRpZCAtIFRoZSBpZCBvZiBhIGRpYWxvZy5cclxuLy8vIEBjb250ZW50IC0gb3B0aW9uYWxcclxuQG1peGluIGFjdGl2ZURpYWxvZygkaWQpIHtcclxuICBAaWYgJiB7XHJcbiAgICBbZGF0YS1hY3RpdmUtZGlhbG9nPVwiI3skaWR9XCJdICYge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIFtkYXRhLWFjdGl2ZS1kaWFsb2c9XCIjeyRpZH1cIl0ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vLyBUcmlnZ2VycyBzdHlsaW5nIGJhc2VkIG9uIHdoZXRoZXIgYSBnaXZlbiB6b25lIGlzIGFjdGl2ZSBvciBub3QuIENhbiBiZSB1c2VkIG5lc3RlZCBvciBzdGFuZGFsb25lLlxyXG4vLy8gQGF1dGhvciBCZW4gUmljaGFyZHNvblxyXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRpZCAtIFRoZSBpZCBvZiBhIHpvbmUuXHJcbi8vLyBAY29udGVudCAtIG9wdGlvbmFsXHJcbkBtaXhpbiBhY3RpdmVab25lKCRpZCkge1xyXG4gIEBpZiAmIHtcclxuICAgIFtkYXRhLWFjdGl2ZS16b25lPVwiI3skaWR9XCJdICYge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIFtkYXRhLWFjdGl2ZS16b25lPVwiI3skaWR9XCJdIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gUmV0dXJucyBhc3BlY3QtcmF0aW8gd2l0aCBzdXBwb3J0IGZvciBvbGRlciBicm93c2VycyB1c2luZyBwYWRkaW5nLWJvdHRvbSBwZXJjZW50YWdlIHRyaWNrLlxyXG4vLy8gQGF1dGhvciBCZW4gUmljaGFyZHNvblxyXG4vLy8gQHBhcmFtIHtudW19ICRoIC0gVGhlIGhvcml6b250YWwgYXNwZWN0IHJhdGlvIG9mIHRoZSBlbGVtZW50LlxyXG4vLy8gQHBhcmFtIHtudW19ICR2IC0gVGhlIHZlcnRpY2FsIGFzcGVjdCByYXRpbyBvZiB0aGUgZWxlbWVudC5cclxuQG1peGluIGFzcGVjdFJhdGlvKCRoLCAkdikge1xyXG4gIEBzdXBwb3J0cyAoYXNwZWN0LXJhdGlvOiAxIC8gMSkge1xyXG4gICAgYXNwZWN0LXJhdGlvOiAkaCAje1wiL1wifSAkdjtcclxuICB9XHJcblxyXG4gIEBzdXBwb3J0cyBub3QgKGFzcGVjdC1yYXRpbzogMSAvIDEpIHtcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgcGFkZGluZy1ib3R0b206IG1hdGguZGl2KCR2LCAkaCkgKiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vIFRyaWdnZXJzIHN0eWxpbmcgYmFzZWQgb24gd2hldGhlciBhbnkgZGlzY292ZXJ5IHRvb2wgZGlhbG9ncyBhcmUgYWN0aXZlLiBDYW4gYmUgdXNlZCBuZXN0ZWQgb3Igc3RhbmRhbG9uZS5cclxuLy8vIEBhdXRob3IgQmVuIFJpY2hhcmRzb25cclxuLy8vIEBjb250ZW50IC0gb3B0aW9uYWxcclxuQG1peGluIGRpc2NvdmVyeVRvb2xzQWN0aXZlKCkge1xyXG4gIEBpZiAmIHtcclxuICAgIFtkYXRhLWFjdGl2ZS1kaWFsb2c9XCJjaGVja2xpc3RcIl0gJixcclxuICAgIFtkYXRhLWFjdGl2ZS1kaWFsb2c9XCJmYXFcIl0gJixcclxuICAgIFtkYXRhLWFjdGl2ZS1kaWFsb2c9XCJnbG9zc2FyeVwiXSAmLFxyXG4gICAgW2RhdGEtYWN0aXZlLWRpYWxvZz1cImFjaGlldmVtZW50c1wiXSAmLFxyXG4gICAgW2RhdGEtYWN0aXZlLWRpYWxvZz1cInJlc291cmNlc1wiXSAmLFxyXG4gICAgW2RhdGEtYWN0aXZlLWRpYWxvZz1cImZhcUNvbmZpcm1RdWVzdGlvbk1lc3NhZ2VcIl0gJixcclxuICAgIFtkYXRhLWFjdGl2ZS1kaWFsb2c9XCJmYXFRdWVzdGlvblN1Ym1pdHRlZE1lc3NhZ2VcIl0gJiB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgW2RhdGEtYWN0aXZlLWRpYWxvZz1cImNoZWNrbGlzdFwiXSxcclxuICAgIFtkYXRhLWFjdGl2ZS1kaWFsb2c9XCJmYXFcIl0sXHJcbiAgICBbZGF0YS1hY3RpdmUtZGlhbG9nPVwiZ2xvc3NhcnlcIl0sXHJcbiAgICBbZGF0YS1hY3RpdmUtZGlhbG9nPVwiYWNoaWV2ZW1lbnRzXCJdLFxyXG4gICAgW2RhdGEtYWN0aXZlLWRpYWxvZz1cInJlc291cmNlc1wiXSxcclxuICAgIFtkYXRhLWFjdGl2ZS1kaWFsb2c9XCJmYXFDb25maXJtUXVlc3Rpb25NZXNzYWdlXCJdLFxyXG4gICAgW2RhdGEtYWN0aXZlLWRpYWxvZz1cImZhcVF1ZXN0aW9uU3VibWl0dGVkTWVzc2FnZVwiXSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIHdjYWctY29udHJhc3QtcmF0aW8oJGNvbG9yMSwgJGNvbG9yMikge1xyXG4gICRsMTogd2NhZy1sdW1pbmFuY2UoJGNvbG9yMSkgKyAwLjA1O1xyXG4gICRsMjogd2NhZy1sdW1pbmFuY2UoJGNvbG9yMikgKyAwLjA1O1xyXG4gICRyYXRpbzogbWF0aC5kaXYoJGwxLCAkbDIpO1xyXG5cclxuICBAaWYgJGwyID4kbDEge1xyXG4gICAgJHJhdGlvOiBtYXRoLmRpdigxLCAkcmF0aW8pO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkcmF0aW87XHJcbn1cclxuXHJcbi8vLyBSZXR1cm5zIHRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAgYXMgYSBmbG9hdCAoYmV0d2VlbiAwIGFuZCAxKVxyXG4vLy8gMSBpcyBwdXJlIHdoaXRlLCAwIGlzIHB1cmUgYmxhY2tcclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yXHJcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9XHJcbi8vLyBAbGluayBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI3JlbGF0aXZlbHVtaW5hbmNlZGVmIFJlZmVyZW5jZVxyXG5AZnVuY3Rpb24gd2NhZy1sdW1pbmFuY2UoJGNvbG9yKSB7XHJcbiAgJHJnYjogKFxyXG4gICAgXCJyXCI6IGNvbG9yLmNoYW5uZWwoJGNvbG9yLCBcInJlZFwiLCAkc3BhY2U6IHJnYiksXHJcbiAgICBcImdcIjogY29sb3IuY2hhbm5lbCgkY29sb3IsIFwiZ3JlZW5cIiwgJHNwYWNlOiByZ2IpLFxyXG4gICAgXCJiXCI6IGNvbG9yLmNoYW5uZWwoJGNvbG9yLCBcImJsdWVcIiwgJHNwYWNlOiByZ2IpXHJcbiAgKTtcclxuXHJcbiAgQGVhY2ggJGNoYW5uZWwsICR2YWx1ZSBpbiAkcmdiIHtcclxuICAgICR2YWx1ZTogbWF0aC5kaXYoJHZhbHVlLCAyNTUpO1xyXG5cclxuICAgIEBpZiAkdmFsdWUgPCAwLjAzOTI4IHtcclxuICAgICAgJHZhbHVlOiBtYXRoLmRpdigkdmFsdWUsIDEyLjkyKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAkdmFsdWU6IG1hdGguZGl2KCR2YWx1ZSArIDAuMDU1LCAxLjA1NSk7XHJcbiAgICAgICR2YWx1ZTogbWF0aC5wb3coJHZhbHVlLCAyLjQpO1xyXG4gICAgfVxyXG5cclxuICAgICRyZ2I6IG1hcC5tZXJnZShcclxuICAgICAgJHJnYixcclxuICAgICAgKFxyXG4gICAgICAgICRjaGFubmVsOiAkdmFsdWVcclxuICAgICAgKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gKG1hcC5nZXQoJHJnYiwgXCJyXCIpICogMC4yMTI2KSArIChtYXAuZ2V0KCRyZ2IsIFwiZ1wiKSAqIDAuNzE1MikgKyAobWFwLmdldCgkcmdiLCBcImJcIikgKiAwLjA3MjIpO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gdmFsaWRhdGUtYW5kLXdyYXAtaWYtY3VzdG9tLXByb3AoJHByb3ApIHtcclxuICBAaWYgKHN0cmluZy5pbmRleCgjeyRwcm9wfSwgXCJ2YXIoXCIpKSB7XHJcbiAgICAkdW53cmFwcGVkOiBzdHJpbmcuc2xpY2UoI3skcHJvcH0sICRzdGFydC1hdDogc3RyaW5nLmluZGV4KCN7JHByb3B9LCBcInZhcihcIikgKyA0LCAkZW5kLWF0OiBzdHJpbmcubGVuZ3RoKCN7JHByb3B9KSAtIDEpO1xyXG4gICAgQHJldHVybiB2YWxpZGF0ZS1hbmQtd3JhcC1pZi1jdXN0b20tcHJvcCgkdW53cmFwcGVkKTtcclxuICB9IEBlbHNlIGlmIChzdHJpbmcuaW5kZXgoXCIjeyRwcm9wfVwiLCBcIi0tXCIpKSB7XHJcbiAgICBAcmV0dXJuIHZhcigjeyRwcm9wfSk7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAcmV0dXJuICRwcm9wO1xyXG4gIH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIHVud3JhcC1jdXN0b20tcHJvcCgkcHJvcCkge1xyXG4gIEBpZiAoc3RyaW5nLmluZGV4KCN7JHByb3B9LCBcInZhcihcIikpIHtcclxuICAgICR1bndyYXBwZWQ6IHN0cmluZy5zbGljZSgjeyRwcm9wfSwgJHN0YXJ0LWF0OiBzdHJpbmcuaW5kZXgoI3skcHJvcH0sIFwidmFyKFwiKSArIDQsICRlbmQtYXQ6IHN0cmluZy5sZW5ndGgoI3skcHJvcH0pIC0gMSk7XHJcblxyXG4gICAgQGlmIChzdHJpbmcuaW5kZXgoJHVud3JhcHBlZCwgXCJ2YXIoXCIpKSB7XHJcbiAgICAgIEByZXR1cm4gdW53cmFwLWN1c3RvbS1wcm9wKCR1bndyYXBwZWQpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIEByZXR1cm4gJHVud3JhcHBlZDtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIEByZXR1cm4gJHByb3A7XHJcbiAgfVxyXG59XHJcblxyXG5AZnVuY3Rpb24gc3RyLWxhc3QtaW5kZXgoJHN0cmluZywgJHN1YnN0cmluZykge1xyXG4gICRsYXN0LWluZGV4OiBudWxsO1xyXG4gICRsZW5ndGg6IHN0cmluZy5sZW5ndGgoJHN0cmluZyk7XHJcbiAgJHN1Yi1sZW5ndGg6IHN0cmluZy5sZW5ndGgoJHN1YnN0cmluZyk7XHJcblxyXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggKCRsZW5ndGggLSAkc3ViLWxlbmd0aCArIDEpIHtcclxuICAgIEBpZiBzdHJpbmcuc2xpY2UoJHN0cmluZywgJGksICRpICsgJHN1Yi1sZW5ndGggLSAxKSA9PSRzdWJzdHJpbmcge1xyXG4gICAgICAkbGFzdC1pbmRleDogJGk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRsYXN0LWluZGV4O1xyXG59XHJcblxyXG5AZnVuY3Rpb24gZ2V0LXVuaXQoJHZhbHVlKSB7XHJcbiAgQHJldHVybiBzdHJpbmcuc2xpY2UoJHZhbHVlICogMCArIFwiXCIsIDIsIC0xKTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIHNsaWNlLWxpc3QoJGxpc3QsICRzdGFydCwgJGVuZDogbnVsbCkge1xyXG4gICRlbmQ6IGlmKCRlbmQgPT0gbnVsbCwgbGlzdC5sZW5ndGgoJGxpc3QpLCAkZW5kKTtcclxuICAkcmVzdWx0OiAoKTtcclxuICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XHJcbiAgICAkcmVzdWx0OiBsaXN0LmFwcGVuZCgkcmVzdWx0LCBsaXN0Lm50aCgkbGlzdCwgJGkpKTtcclxuICB9XHJcbiAgQHJldHVybiAkcmVzdWx0O1xyXG59XHJcblxyXG4vKiogREVGQVVMVCBPVkVSUklERVMgKiovXHJcblxyXG4vLy8gUmVtb3ZlIGFsbCBkZWZhdWx0IHN0eWxlcyBmcm9tIGJ1dHRvbnNcclxuLy8vIEBhdXRob3IgS291cnRuZXkgU3RyaWNrbGFuZFxyXG5AbWl4aW4gcmVzZXRCdXR0b24oKSB7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyOiAwcHg7XHJcbiAgYm94LXNoYWRvdzogbm9uZTtcclxuICBvdXRsaW5lOiAwcHg7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XHJcbiAgYWxpZ24taXRlbXM6IHVuc2V0O1xyXG4gIHBhZGRpbmc6IDBweDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgY29sb3I6IHVuc2V0O1xyXG59XHJcblxyXG4vLy8gQXBwbHkgc3R5bGluZyB0byBhIHBhcmVudCBiYXNlZCBvbiBudW1iZXIgb2YgY2hpbGRyZW4uXHJcbi8vLyBAYXV0aG9yIEJlbiBSaWNoYXJkc29uXHJcbi8vLyBAcGFyYW0ge251bWJlcn0gJG51bSAtIFRoZSBudW1iZXIgb2YgY2hpbGRyZW4gdG8gY2hlY2suXHJcbi8vLyBAcGFyYW0ge2Jvb2xlYW59ICRvck1vcmUgW2ZhbHNlXSAtIEFwcGxpZXMgaWYgZWxlbWVudCBoYXMgYWJvdmUgdGhlIGdpdmVuIG51bWJlciBvZiBjaGlsZHJlbi5cclxuLy8vIEBwYXJhbSB7Ym9vbGVhbn0gJG9yTGVzcyBbZmFsc2VdIC0gQXBwbGllcyBpZiBlbGVtZW50IGhhcyBiZWxvdyB0aGUgZ2l2ZW4gbnVtYmVyIG9mIGNoaWxkcmVuLlxyXG4vLy8gQGxpbmsgaHR0cHM6Ly9jc3MtdGlwLmNvbS9udW1iZXItZWxlbWVudHMtaGFzLXNlbGVjdG9yL1xyXG5AbWl4aW4gaGFzTnVtYmVyT2ZDaGlsZHJlbigkbnVtLCAkb3JNb3JlOiBmYWxzZSwgJG9yTGVzczogZmFsc2UpIHtcclxuICBAaWYgKCRvck1vcmUgPT10cnVlIGFuZCAkb3JMZXNzID09dHJ1ZSkge1xyXG4gICAgQGVycm9yIFwiQWJvdmUgYW5kIGJlbG93IGNhbm5vdCBib3RoIGJlIHRydWUuXCI7XHJcbiAgfVxyXG5cclxuICBAaWYgKCRudW0gPT0wKSB7XHJcbiAgICAmOm5vdCg6aGFzKCopKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgQGlmICgkb3JNb3JlID09dHJ1ZSkge1xyXG4gICAgICAmOmhhcyg+IDpudGgtY2hpbGQoI3skbnVtfSkpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSBpZiAoJG9yTGVzcyA9PXRydWUpIHtcclxuICAgICAgJjpoYXMoPiA6bGFzdC1jaGlsZDpudGgtY2hpbGQoLW4gKyAjeyRudW19KSkge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJjpoYXMoPiA6bGFzdC1jaGlsZDpudGgtY2hpbGQoI3skbnVtfSkpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gVHJpZ2dlciBzdHlsaW5nIGJhc2VkIG9uIHdoZXRoZXIgYW55IGRpYWxvZyBpcyBvcGVuLlxyXG4vLy8gQGF1dGhvciBCZW4gUmljaGFyZHNvblxyXG5AbWl4aW4gaXNBbnlEaWFsb2dPcGVuKCkge1xyXG4gIEBpZiAmIHtcclxuICAgIGh0bWxbZGF0YS1kaWFsb2ctaGlkZS1vdmVyZmxvdz1cInRydWVcIl0gJiB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgaHRtbFtkYXRhLWRpYWxvZy1oaWRlLW92ZXJmbG93PVwidHJ1ZVwiXSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJAdXNlIFwic2hhcmVkLXZhcmlhYmxlc1wiIGFzICo7XHJcbkB1c2UgXCJzaGFyZWQtbWl4aW5zXCIgYXMgKjtcclxuXHJcbkBsYXllciByZXNldCB7XHJcbiAgLy8gQm94IHNpemluZyBydWxlc1xyXG4gICosXHJcbiAgKjo6YmVmb3JlLFxyXG4gICo6OmFmdGVyIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgfVxyXG5cclxuICBodG1sIHtcclxuICAgIG1pbi1oZWlnaHQ6IDEwMGR2aDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcclxuICB9XHJcblxyXG4gIGJvZHkge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZVNwZWVkO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuXHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB3aWR0aDogMTAwJTsgLy8gQ2hhbmdpbmcgdGhpcyB3aWxsIGJyZWFrIHRoZSB2YWx1ZSBvZiAtLXNjcm9sbGJhci13aWR0aCwgc28gcHJvY2VlZCB3aXRoIGNhdXRpb24uXHJcbiAgICBoZWlnaHQ6IDEwMGR2aDtcclxuICB9XHJcblxyXG4gIC8vIE1ha2UgaW1hZ2VzIGVhc2llciB0byB3b3JrIHdpdGhcclxuICBpbWcge1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgfVxyXG5cclxuICAvLyBOYXR1cmFsIGZsb3cgYW5kIHJoeXRobSBpbiBhcnRpY2xlcyBieSBkZWZhdWx0XHJcbiAgYXJ0aWNsZSA+ICogKyAqIHtcclxuICAgIG1hcmdpbi10b3A6IDFlbTtcclxuICB9XHJcblxyXG4gIC8vIEluaGVyaXQgZm9udHMgZm9yIGlucHV0cyBhbmQgYnV0dG9uc1xyXG4gIGlucHV0LFxyXG4gIGJ1dHRvbixcclxuICB0ZXh0YXJlYSxcclxuICBzZWxlY3Qge1xyXG4gICAgZm9udDogaW5oZXJpdDtcclxuICB9XHJcblxyXG4gIGgxLFxyXG4gIGgyLFxyXG4gIGgzLFxyXG4gIGg0LFxyXG4gIGg1LFxyXG4gIGg2IHtcclxuICAgIG1hcmdpbjogMDtcclxuICB9XHJcblxyXG4gIHAge1xyXG4gICAgbWFyZ2luOiAwLjM1ZW0gMCAwLjc1ZW07XHJcbiAgICBsaW5lLWhlaWdodDogMS41NWVtO1xyXG4gIH1cclxuXHJcbiAgb2wsXHJcbiAgdWwge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIG1hcmdpbjogMC40ZW0gMCAwLjc1ZW07XHJcbiAgfVxyXG5cclxuICBsaSB7XHJcbiAgICBsaW5lLWhlaWdodDogMS41ZW07XHJcbiAgfVxyXG5cclxuICBidXR0b24ge1xyXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICB9XHJcbiAgaWZyYW1lIHtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbkBsYXllciBiYXNlIHtcclxuICBib2R5IHtcclxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1iYXNpYy1mb250KTtcclxuICB9XHJcbiAgYSB7XHJcbiAgICBAaW5jbHVkZSBjb2xvcldpdGhDb250cmFzdCgtLWxpbmspO1xyXG4gICAgcGFkZGluZy1pbmxpbmU6IDJweDtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1saW5rKTtcclxuICAgIHRyYW5zaXRpb246IDAuMTVzO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cclxuICAgIEBpbmNsdWRlIGhvdmVyQW5kRm9jdXMge1xyXG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIH1cclxuXHJcbiAgICAudGFyZ2V0QmxhbmtOb3RpZmllciB7XHJcbiAgICAgIEBpbmNsdWRlIHNjcmVlblJlYWRlcjtcclxuICAgIH1cclxuICAgIC5pY29uLW1haWwge1xyXG4gICAgICBmb250LXNpemU6IDAuOWVtO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMXB4KTtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMjVlbTtcclxuICAgIH1cclxuXHJcbiAgICAuaWNvbi1leHRlcm5hbC1saW5rIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDAuMjVlbTtcclxuICAgICAgZm9udC1zaXplOiAwLjhlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGFjdGl2ZVpvbmUoXCJob21lXCIpIHtcclxuICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47XHJcbiAgfVxyXG59XHJcblxyXG4vLyBGb2N1cyBzdHlsZXNcclxuKjpub3QoYTpub3QoW3JvbGU9XCJidXR0b25cIl0pKSB7XHJcbiAgJjpmb2N1cy12aXNpYmxlLFxyXG4gICYuZm9jdXMtdmlzaWJsZSB7XHJcbiAgICBvdXRsaW5lLWNvbG9yOiB2YXIoLS1mb2N1cy1vdXRsaW5lLWNvbG9yKSAhaW1wb3J0YW50O1xyXG4gICAgb3V0bGluZS1vZmZzZXQ6IHZhcigtLWZvY3VzLW91dGxpbmUtb2Zmc2V0KSAhaW1wb3J0YW50O1xyXG4gICAgb3V0bGluZS1zdHlsZTogdmFyKC0tZm9jdXMtb3V0bGluZS1zdHlsZSkgIWltcG9ydGFudDtcclxuICAgIG91dGxpbmUtd2lkdGg6IHZhcigtLWZvY3VzLW91dGxpbmUtd2lkdGgpICFpbXBvcnRhbnQ7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1mb2N1cy1vdXRsaW5lLW9mZnNldCkgdmFyKC0tZm9jdXMtc2hhZG93LWNvbG9yKSAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLnNvY2lhbE1lZGlhTG9naW5zIHtcclxuICBhOmZvY3VzLXZpc2libGUsXHJcbiAgYS5mb2N1cy12aXNpYmxlIHtcclxuICAgIG91dGxpbmUtY29sb3I6IHZhcigtLWZvY3VzLW91dGxpbmUtY29sb3IpICFpbXBvcnRhbnQ7XHJcbiAgICBvdXRsaW5lLW9mZnNldDogdmFyKC0tZm9jdXMtb3V0bGluZS1vZmZzZXQpICFpbXBvcnRhbnQ7XHJcbiAgICBvdXRsaW5lLXN0eWxlOiB2YXIoLS1mb2N1cy1vdXRsaW5lLXN0eWxlKSAhaW1wb3J0YW50O1xyXG4gICAgb3V0bGluZS13aWR0aDogdmFyKC0tZm9jdXMtb3V0bGluZS13aWR0aCkgIWltcG9ydGFudDtcclxuICAgIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLWZvY3VzLW91dGxpbmUtb2Zmc2V0KSB2YXIoLS1mb2N1cy1zaGFkb3ctY29sb3IpICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBBbmltYXRpb25cclxuYm9keVtkYXRhLXJlZHVjZS1hbmltYXRpb249XCJ0cnVlXCJdIHtcclxuICAqLFxyXG4gICo6OmJlZm9yZSxcclxuICAqOjphZnRlciB7XHJcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuMDFtcyAhaW1wb3J0YW50O1xyXG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMSAhaW1wb3J0YW50O1xyXG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4wMW1zICFpbXBvcnRhbnQ7XHJcbiAgICBzY3JvbGwtYmVoYXZpb3I6IGF1dG8gIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuLy8gV2UncmUgbm8gbG9uZ2VyIHJlYWRpbmcgdGhlIGJyb3dzZXIgcHJlZmVyZW5jZSBhbmQgcmVseWluZyBzb2xlbHkgb24gdGhlIHVzZXIncyBzdG9yZWQgcHJlZmVyZW5jZS5cclxuLy8gS2VlcGluZyB0aGlzIGNvZGUgY29tbWVudGVkIG91dCBmb3IgcG9zdGVyaXR5IGJlY2F1c2UgdGhlIGphdmFzY3JpcHQgbG9naWMgd2FzIHRyaWNreSBhbmQgaW4gY2FzZSB3ZSBuZWVkIGl0IGFnYWluLlxyXG4vLyBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xyXG4vLyAgIGJvZHk6bm90KFtkYXRhLXJlZHVjZS1hbmltYXRpb249XCJmYWxzZVwiXSkge1xyXG4vLyAgICAgKixcclxuLy8gICAgICo6OmJlZm9yZSxcclxuLy8gICAgICo6OmFmdGVyIHtcclxuLy8gICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjAxbXMgIWltcG9ydGFudDtcclxuLy8gICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMSAhaW1wb3J0YW50O1xyXG4vLyAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjAxbXMgIWltcG9ydGFudDtcclxuLy8gICAgICAgc2Nyb2xsLWJlaGF2aW9yOiBhdXRvICFpbXBvcnRhbnQ7XHJcbi8vICAgICB9XHJcbi8vICAgfVxyXG4vLyB9XHJcblxyXG4vLyBTa2lwIEJ1dHRvbnNcclxuLnNsaWRlU2tpcCxcclxuLmhvbWVTa2lwLFxyXG4ubWVtYmVyc2hpcFNraXAge1xyXG4gIEBpbmNsdWRlIHNjcmVlblJlYWRlcjtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gIEBpbmNsdWRlIGZvY3VzIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMTBweDtcclxuICAgIGxlZnQ6IDEwcHg7XHJcbiAgICB6LWluZGV4OiA5OTk5OTk5OTk5OTk5OTk7XHJcbiAgICB3aWR0aDogYXV0bztcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBjbGlwLXBhdGg6IGluaXRpYWw7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgtLWJyYW5kLWJyaWdodCk7XHJcbiAgfVxyXG59XHJcblxyXG4uaG9tZVNraXAge1xyXG4gIEBpbmNsdWRlIGFjdGl2ZVpvbmUoXCJob21lXCIpIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxufVxyXG5cclxuLnNsaWRlU2tpcCB7XHJcbiAgQGluY2x1ZGUgYWN0aXZlWm9uZShcInNsaWRlc1wiKSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcbn1cclxuXHJcbi5tZW1iZXJzaGlwU2tpcCB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuIiwiQHVzZSBcIi4uL19nbG9iYWwvc2hhcmVkLXZhcmlhYmxlc1wiIGFzICo7XHJcbkB1c2UgXCJtaXhpbnNcIiBhcyAqO1xyXG5AdXNlIFwiLi4vX2dsb2JhbC9zaGFyZWQtZ2xvYmFsXCI7XHJcblxyXG4vLyBNRURJQSBRVUVSSUVTICYgQlJPV1NFUi1TUEVDSUZJQyBBREpVU1RNRU5UUyBCRUxPVyAvL1xyXG5cclxuaHRtbCB7XHJcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gIHNjcm9sbGJhci1ndXR0ZXI6IHN0YWJsZTtcclxufVxyXG4iLCJAdXNlIFwic2FzczptYXRoXCI7XHJcbkB1c2UgXCJzaGFyZWQtdmFyaWFibGVzXCIgYXMgKjtcclxuQHVzZSBcIm1ldGEtbWl4aW5zXCIgYXMgKjtcclxuXHJcbkBsYXllciBiYXNlIHtcclxuICAuZmllbGRXcmFwcGVyLFxyXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyLFxyXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUsXHJcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWF4LXdpZHRoOiA1MDBweDtcclxuXHJcbiAgICBsYWJlbDpub3QoLmNoZWNrYm94TGFiZWwpIHtcclxuICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgICB9XHJcblxyXG4gICAgaW5wdXQ6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0pOm5vdChbdHlwZT1cInJhZGlvXCJdKSB7XHJcbiAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgIG1pbi13aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICBpbnB1dDo6LW1zLXJldmVhbCxcclxuICAgIGlucHV0OjotbXMtY2xlYXIge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDZweDtcclxuICAgICAgZm9udC1zaXplOiAwLjg0ZW07XHJcbiAgICAgIGNvbG9yOiB2YXItcmdiYSgtLWJhc2ljLCAwLjg1KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5maWVsZFdyYXBwZXIsXHJcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQubG9uZ2Fuc3dlciB7XHJcbiAgICB0ZXh0YXJlYSB7XHJcbiAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgIG1pbi13aWR0aDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5kcm9wZG93bldyYXBwZXIsXHJcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuZHJvcGRvd24ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWF4LXdpZHRoOiA1MDBweDtcclxuXHJcbiAgICBzZWxlY3Qge1xyXG4gICAgICBhcHBlYXJhbmNlOiBub25lO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICBtaW4td2lkdGg6IDEwMCU7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgZmlsbD0nYmxhY2snIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgd2lkdGg9JzI0JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxwYXRoIGQ9J003IDEwbDUgNSA1LTV6Jy8+PHBhdGggZD0nTTAgMGgyNHYyNEgweicgZmlsbD0nbm9uZScvPjwvc3ZnPlwiKTtcclxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSA1MCU7XHJcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMjVweCA1MHB4O1xyXG5cclxuICAgICAgJjo6LW1zLWV4cGFuZCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmNvbnRyb2xXcmFwcGVyLFxyXG4gIC5hZGctdW1icmFjby1mb3Jtcy1jb250cm9sd3JhcHBlciB7XHJcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdmFyKC0tbGlnaHQtZ3JleSk7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcblxyXG4gICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbnRyb2wge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgIGxhYmVsIHtcclxuICAgICAgZm9udC1zaXplOiAxLjJlbTtcclxuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgfVxyXG5cclxuICAgIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDZweDtcclxuICAgICAgZm9udC1zaXplOiAwLjg0ZW07XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjNlbTtcclxuICAgICAgY29sb3I6IHZhci1yZ2JhKC0tYmFzaWMsIDAuODUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy9UaGVzZSBzdHlsZSBpcyBqdXN0IHVzZWQgZm9yIHRoZSBIb25leXBvdCBmZWF0dXJlLiBUaGVzZSBzdHlsZXMga2VlcCB0aGUgZmllbGQgZnJvbSBiZWluZyBzZWVuIGJ5IGh1bWFucyBhbmQgdGhleSBzaG91bGQgbm90IGJlIGNoYW5nZWQgb3IgcmVtb3ZlZC5cclxuICAuZmllbGRXcmFwcGVyLmVucm9sbGVlTmFtZSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgQGluY2x1ZGUgYWJzb2x1dGU7XHJcbiAgICB3aWR0aDogMDtcclxuICAgIGhlaWdodDogMDtcclxuICAgIHotaW5kZXg6IC0xO1xyXG4gIH1cclxuXHJcbiAgLnN0eWxlZEZpZWxkc2V0LFxyXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkc2V0IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWxpZ2h0LWdyZXkpO1xyXG4gICAgcGFkZGluZzogMjBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhci1yZ2JhKC0tbGlnaHQtZ3JleSwgMC40KTtcclxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XHJcbiAgICBtaW4td2lkdGg6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICBsZWdlbmQsXHJcbiAgICAuZ3JvdXBMZWdlbmQge1xyXG4gICAgICBwYWRkaW5nOiA0cHggOHB4O1xyXG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xyXG4gICAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgtLWJhc2ljKTtcclxuICAgIH1cclxuXHJcbiAgICAuZ3JvdXBMZWdlbmQge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgbWFyZ2luOiAwIGF1dG8gMTBweDtcclxuICAgIH1cclxuXHJcbiAgICAuZmllbGRzZXRHcmlkIHtcclxuICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xyXG4gICAgICBnYXA6IDEycHg7XHJcblxyXG4gICAgICAuZmllbGRXcmFwcGVyLFxyXG4gICAgICAuY29udHJvbFdyYXBwZXIge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmZpZWxkV3JhcHBlcixcclxuICAudW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlcixcclxuICAudW1icmFjby1mb3Jtcy1maWVsZC5kYXRlLFxyXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIHtcclxuICAgIG1hcmdpbjogMTBweCBhdXRvO1xyXG5cclxuICAgIGxhYmVsOm5vdCguY2hlY2tib3hMYWJlbCkge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogOHB4O1xyXG4gICAgICBsZWZ0OiA4cHg7XHJcbiAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBtYXJnaW46IDAgMCA1cHg7XHJcbiAgICAgIGJvcmRlcjogMDtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgICAgZm9udC1zaXplOiAwLjhlbTtcclxuICAgICAgZm9udC1mYW1pbHk6IHZhcigtLXByaW1hcnktZm9udCk7XHJcbiAgICAgIGNvbG9yOiB2YXIoLS1iYXNpYyk7XHJcbiAgICB9XHJcblxyXG4gICAgaW5wdXQ6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0pOm5vdChbdHlwZT1cInJhZGlvXCJdKTpub3QoLml0aV9fc2VhcmNoLWlucHV0KSxcclxuICAgIHRleHRhcmVhIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG1pbi1oZWlnaHQ6IDQ4cHg7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tZ3JleSk7XHJcbiAgICAgIHBhZGRpbmc6IDIzcHggOHB4IDZweDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQpO1xyXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxyXG5cclxuICAgIC5zaG93SGlkZSB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgaGVpZ2h0OiA1M3B4O1xyXG4gICAgICB3aWR0aDogNDBweDtcclxuICAgICAgQGluY2x1ZGUgZmxleENlbnRlcjtcclxuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xyXG4gICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoLS1icmFuZC1kYXJrKTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGhvdmVyQW5kRm9jdXMge1xyXG4gICAgICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KC0tYnJhbmQtYnJpZ2h0KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJlthcmlhLWNoZWNrZWQ9XCJ0cnVlXCJdIHtcclxuICAgICAgICAuaWNvbjphZnRlciB7XHJcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgd2lkdGg6IDNweDtcclxuICAgICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIHRyYW5zZm9ybTogc2tld1goLTQ1ZGVnKTtcclxuICAgICAgICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLmljb24ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4yZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICNQYXNzd29yZDpmb2N1cyArICNyZXF1aXJlbWVudHMge1xyXG4gICAgICBtYXgtaGVpZ2h0OiAxMDAwcHg7XHJcbiAgICB9XHJcbiAgICAjcmVxdWlyZW1lbnRzIHtcclxuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgcGFkZGluZzogMTBweCAwIDAgMDtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICRzbG93IGVhc2UtaW4tb3V0O1xyXG4gICAgICBsaSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMC45ZW07XHJcbiAgICAgICAgJi52YWxpZCB7XHJcbiAgICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KC0tY29ycmVjdCk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44OGVtO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMC4xZW07XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgtLXdyb25nKTtcclxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICAgIGhlaWdodDogMTZweDtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMC45NWVtO1xyXG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDAuMWVtO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmRyb3Bkb3duV3JhcHBlcixcclxuICAudW1icmFjby1mb3Jtcy1maWVsZC5kcm9wZG93biB7XHJcbiAgICBsYWJlbDpub3QoLmNoZWNrYm94TGFiZWwpIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDhweDtcclxuICAgICAgbGVmdDogOHB4O1xyXG4gICAgICB6LWluZGV4OiAyO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgbWFyZ2luOiAwIDAgNXB4O1xyXG4gICAgICBib3JkZXI6IDA7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgIGZvbnQtc2l6ZTogMC44ZW07XHJcbiAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1wcmltYXJ5LWZvbnQpO1xyXG4gICAgICBjb2xvcjogdmFyKC0tYmFzaWMpO1xyXG4gICAgfVxyXG4gICAgc2VsZWN0IHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG1pbi1oZWlnaHQ6IDUycHg7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tZ3JleSk7XHJcbiAgICAgIHBhZGRpbmc6IDI2cHggNDVweCA4cHggOHB4O1xyXG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodCk7XHJcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAudW1icmFjby1mb3Jtcy1maWVsZC5sb25nYW5zd2VyIHtcclxuICAgIHRleHRhcmVhIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG1pbi1oZWlnaHQ6IDU2cHg7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tZ3JleSk7XHJcbiAgICAgIHBhZGRpbmc6IDZweCA4cHggNnB4O1xyXG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodCk7XHJcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBmb3JtLFxyXG4gIC5mb3JtV3JhcCB7XHJcbiAgICAuZXJyb3Ige1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgbWFyZ2luOiA0cHggMDtcclxuICAgICAgcGFkZGluZzogMnB4IDRweDtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgtLXdyb25nKTtcclxuICAgICAgJjplbXB0eSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gTUVESUEgUVVFUklFUyAmIEJST1dTRVItU1BFQ0lGSUMgQURKVVNUTUVOVFMgQkVMT1cgLy9cclxuXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICR4cykge1xyXG4gICAgLnN0eWxlZEZpZWxkc2V0LFxyXG4gICAgLnVtYnJhY28tZm9ybXMtZmllbGRzZXQge1xyXG4gICAgICBwYWRkaW5nOiAxMHB4O1xyXG5cclxuICAgICAgLmZpZWxkc2V0R3JpZCB7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgKG1heC13aWR0aDogJHh4cykge1xyXG4gICAgLmNvbnRyb2xXcmFwcGVyIHtcclxuICAgICAgbGFiZWwge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICR0aW55KSB7XHJcbiAgICAuY29udHJvbFdyYXBwZXIge1xyXG4gICAgICBsYWJlbCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAwLjllbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmZpZWxkV3JhcHBlcixcclxuLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIsXHJcbi51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUsXHJcbi51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIHtcclxuICAuZGVzY3JpcHRpb24ge1xyXG4gICAgPiAqOmZpcnN0LWNoaWxkIHtcclxuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgID4gKjpsYXN0LWNoaWxkIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmNvbnRyb2xXcmFwcGVyLFxyXG4uYWRnLXVtYnJhY28tZm9ybXMtY29udHJvbHdyYXBwZXIge1xyXG4gID4gKjpmaXJzdC1jaGlsZCB7XHJcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICA+ICo6bGFzdC1jaGlsZCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAuZGVzY3JpcHRpb24ge1xyXG4gICAgPiAqOmZpcnN0LWNoaWxkIHtcclxuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgID4gKjpsYXN0LWNoaWxkIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4uc3R5bGVkRmllbGRzZXQsXHJcbi51bWJyYWNvLWZvcm1zLWZpZWxkc2V0IHtcclxuICA+IDpsYXN0LWNoaWxkIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuIiwiQHVzZSBcIi4uL19nbG9iYWwvc2hhcmVkLWZvcm1zXCI7XHJcbkB1c2UgXCIuLi9fZ2xvYmFsL3NoYXJlZC12YXJpYWJsZXNcIiBhcyAqO1xyXG5AdXNlIFwibWl4aW5zXCIgYXMgKjtcclxuXHJcbiNyZXF1aXJlbWVudHMge1xyXG4gIGxpIHtcclxuICAgICYudmFsaWQge1xyXG4gICAgICAuaWNvbiB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgY29udGVudDogXCJhXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIkB1c2UgXCJzaGFyZWQtdmFyaWFibGVzXCIgYXMgKjtcclxuXHJcbndpbGxpcy16b25lIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuW2luZXJ0XSB7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG5cclxud2lsbGlzLWRpYWxvZzpub3QoW2RhdGEtb3Blbj1cInRydWVcIl0pIHtcclxuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8vIEhpZGUgaHRtbCBzY3JvbGxiYXIgd2hlbiB0aGVyZSdzIGFuIGFjdGl2ZSBkaWFsb2cuXHJcbmh0bWxbZGF0YS1kaWFsb2ctaGlkZS1vdmVyZmxvdz1cInRydWVcIl0ge1xyXG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcclxufVxyXG5cclxuQGxheWVyIGJhc2Uge1xyXG4gIC5kaWFsb2dCYWNrZHJvcCB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgd2lkdGg6IDEwMHZ3O1xyXG4gICAgaGVpZ2h0OiAxMDBkdmg7XHJcbiAgICBAc3VwcG9ydHMgKGhlaWdodDogMTAwZHZoKSB7XHJcbiAgICAgIGhlaWdodDogMTAwZHZoO1xyXG4gICAgfVxyXG5cclxuICAgIC5zbGlkZSAmIHtcclxuICAgICAgaGVpZ2h0OiAxMDAlOyAvL0FwcGxpZWQgdGhpcyBiZWNhdXNlIG9mIGlzc3VlcyByZXNwb25zaXZsZXkgd2l0aCBkaWFsb2dzIHdpdGhpbiB0aGUgc2xpZGVzIGF0IHNtYWxsZXIgc2NyZWVuIHNpemVzLiBJZiBpdCBtZXNzZXMgdGhpbmdzIHVwLCB3ZSBjYW4gcmVtb3ZlLiAtIEtTXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZGlhbG9nSW5uZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIH1cclxuXHJcbiAgZGl2W3JvbGU9XCJkaWFsb2dcIl0ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcclxuICB9XHJcblxyXG4gIFtkYXRhLWRpYWxvZy1zdHlsZT1cIm1vZGFsXCJdIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgb3ZlcmZsb3cteTogYXV0bztcclxuXHJcbiAgICBkaXZbcm9sZT1cImRpYWxvZ1wiXSB7XHJcbiAgICAgIHdpZHRoOiA1ODBweDtcclxuICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgIC5kaWFsb2dJbm5lciB7XHJcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBbZGF0YS1kaWFsb2ctc3R5bGU9XCJsYXJnZU1vZGFsXCJdIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgb3ZlcmZsb3cteTogYXV0bztcclxuXHJcbiAgICBkaXZbcm9sZT1cImRpYWxvZ1wiXSB7XHJcbiAgICAgIHdpZHRoOiA4MDBweDtcclxuICAgICAgbWF4LXdpZHRoOiAxMDB2dztcclxuICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgIC5kaWFsb2dJbm5lciB7XHJcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBbZGF0YS1kaWFsb2ctc3R5bGU9XCJzaGFkZVwiXSB7XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG5cclxuICAgIGRpdltyb2xlPVwiZGlhbG9nXCJdIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAgIC5kaWFsb2dMYWJlbCB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA4MDBweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmRpYWxvZ0NvbnRlbnQge1xyXG4gICAgICAgIG1heC13aWR0aDogODAwcHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5kaWFsb2dBY3Rpb25zIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDgwMHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmRpYWxvZ0lubmVyIHtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMCAwIHZhcigtLXJhZGl1cykgdmFyKC0tcmFkaXVzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIFtkYXRhLWRpYWxvZy1zdHlsZV49XCJzaWRlYmFyXCJdIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcclxuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuXHJcbiAgICAmW2RhdGEtZGlhbG9nLXN0eWxlPVwic2lkZWJhckxlZnRcIl0ge1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICB9XHJcblxyXG4gICAgJltkYXRhLWRpYWxvZy1zdHlsZT1cInNpZGViYXJSaWdodFwiXSB7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICB9XHJcblxyXG4gICAgZGl2W3JvbGU9XCJkaWFsb2dcIl0ge1xyXG4gICAgICB3aWR0aDogNDQwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBbZGF0YS1kaWFsb2ctc3R5bGVePVwiZnVsbFwiXSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgIGRpdltyb2xlPVwiZGlhbG9nXCJdIHtcclxuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XHJcbiAgICBbZGF0YS1kaWFsb2ctc3R5bGVePVwic2lkZWJhclwiXSB7XHJcbiAgICAgIGRpdltyb2xlPVwiZGlhbG9nXCJdIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtaW4td2lkdGg6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBbZGF0YS1kaWFsb2ctc3R5bGU9XCJtb2RhbFwiXSB7XHJcbiAgICAgIGRpdltyb2xlPVwiZGlhbG9nXCJdIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gQW5pbWF0aW9uc1xyXG5cclxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1zcGVlZD1cImdsYWNpYWxcIl0ge1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogJGdsYWNpYWw7XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tc3BlZWQ9XCJ2ZXJ5U2xvd1wiXSB7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkdmVyeVNsb3c7XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tc3BlZWQ9XCJzbG93XCJdIHtcclxuICBhbmltYXRpb24tZHVyYXRpb246ICRzbG93O1xyXG59XHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLXNwZWVkPVwibWVkaXVtXCJdIHtcclxuICBhbmltYXRpb24tZHVyYXRpb246ICRtZWRpdW07XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tc3BlZWQ9XCJmYXN0XCJdIHtcclxuICBhbmltYXRpb24tZHVyYXRpb246ICRmYXN0O1xyXG59XHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLXNwZWVkPVwidmVyeUZhc3RcIl0ge1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogJHZlcnlGYXN0O1xyXG59XHJcblxyXG4uZGlhbG9nQmFja2Ryb3Age1xyXG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkdmVyeUZhc3Q7XHJcblxyXG4gICYuaW4ge1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcclxuICB9XHJcblxyXG4gICYub3V0IHtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlSW4ge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG59XHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9XCJmYWRlSW5cIl0ge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZU91dCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cImZhZGVPdXRcIl0ge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVUb3BJbiB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9XCJmYWRlVG9wSW5cIl0ge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlVG9wSW47XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZVRvcE91dCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9XCJmYWRlVG9wT3V0XCJdIHtcclxuICBhbmltYXRpb24tbmFtZTogZmFkZVRvcE91dDtcclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlQm90dG9tSW4ge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9XCJmYWRlQm90dG9tSW5cIl0ge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlQm90dG9tSW47XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZUJvdHRvbU91dCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcclxuICB9XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cImZhZGVCb3R0b21PdXRcIl0ge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlQm90dG9tT3V0O1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVSaWdodEluIHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xyXG4gIH1cclxufVxyXG5cclxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPVwiZmFkZVJpZ2h0SW5cIl0ge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlUmlnaHRJbjtcclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlUmlnaHRPdXQge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9XCJmYWRlUmlnaHRPdXRcIl0ge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlUmlnaHRPdXQ7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZUxlZnRJbiB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9XCJmYWRlTGVmdEluXCJdIHtcclxuICBhbmltYXRpb24tbmFtZTogZmFkZUxlZnRJbjtcclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlTGVmdE91dCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9XCJmYWRlTGVmdE91dFwiXSB7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVMZWZ0T3V0O1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNsaWRlVG9wSW4ge1xyXG4gIGZyb20ge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9XCJzbGlkZVRvcEluXCJdIHtcclxuICBhbmltYXRpb24tbmFtZTogc2xpZGVUb3BJbjtcclxuICBAbWVkaWEgKG1heC13aWR0aDogJHNtKSB7XHJcbiAgICBhbmltYXRpb24tbmFtZTogc2xpZGVCb3R0b21JbjtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc2xpZGVUb3BPdXQge1xyXG4gIGZyb20ge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9XCJzbGlkZVRvcE91dFwiXSB7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlVG9wT3V0O1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNsaWRlQm90dG9tSW4ge1xyXG4gIGZyb20ge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcclxuICB9XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cInNsaWRlQm90dG9tSW5cIl0ge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUJvdHRvbUluO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNsaWRlQm90dG9tT3V0IHtcclxuICBmcm9tIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTUwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9XCJzbGlkZUJvdHRvbU91dFwiXSB7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlQm90dG9tT3V0O1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNsaWRlUmlnaHRJbiB7XHJcbiAgZnJvbSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xyXG4gIH1cclxufVxyXG5cclxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPVwic2xpZGVSaWdodEluXCJdIHtcclxuICBhbmltYXRpb24tbmFtZTogc2xpZGVSaWdodEluO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNsaWRlUmlnaHRPdXQge1xyXG4gIGZyb20ge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcclxuICB9XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cInNsaWRlUmlnaHRPdXRcIl0ge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZVJpZ2h0T3V0O1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNsaWRlTGVmdEluIHtcclxuICBmcm9tIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xyXG4gIH1cclxufVxyXG5cclxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPVwic2xpZGVMZWZ0SW5cIl0ge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUxlZnRJbjtcclxufVxyXG5cclxuQGtleWZyYW1lcyBzbGlkZUxlZnRPdXQge1xyXG4gIGZyb20ge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9XCJzbGlkZUxlZnRPdXRcIl0ge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUxlZnRPdXQ7XHJcbn1cclxuIiwiLy8gV2lkdGhzXHJcbiR0ZWVueTogMzgwcHg7XHJcbiR0aW55OiA0NTBweDtcclxuJHh4czogNTIwcHg7XHJcbiR4czogNjUwcHg7XHJcbiRzbTogODAwcHg7XHJcbiR0d2VlbjogOTAwcHg7XHJcbiRtZDogMTA1MHB4O1xyXG4kbWlkOiAxMTgwcHg7XHJcbiRsZzogMTI4MHB4O1xyXG4keGw6IDE0MjVweDtcclxuJHh4bDogMTYwMHB4O1xyXG5cclxuLy8gQ29udGFpbmVyIFdpZHRoc1xyXG4keHNDb250YWluZXI6IDQwMHB4O1xyXG4kc21Db250YWluZXI6IDUwMHB4O1xyXG4kbWRDb250YWluZXI6IDc3MHB4O1xyXG4kbGdDb250YWluZXI6IDEwMDBweDtcclxuJHhsQ29udGFpbmVyOiAxMjAwcHg7XHJcblxyXG4vLyBBbmltYXRpb24gU3BlZWRzIC0gdGhlc2UgYWxzbyBuZWVkIHRvIGJlIGNoYW5nZWQgaW4gYW5pbWF0aW9uLnRzIGlmIG1vZGlmaWVkXHJcbiR2ZXJ5RmFzdDogMjAwbXM7XHJcbiRmYXN0OiAzMDBtcztcclxuJG1lZGl1bTogNTAwbXM7XHJcbiRzbG93OiA4MDBtcztcclxuJHZlcnlTbG93OiAxMDAwbXM7XHJcbiRnbGFjaWFsOiAzMDAwbXM7XHJcbiIsIkB1c2UgXCJtaXhpbnNcIiBhcyAqO1xyXG5AdXNlIFwiLi4vX2dsb2JhbC9zaGFyZWQtdmFyaWFibGVzXCIgYXMgKjtcclxuQHVzZSBcIi4uL19nbG9iYWwvc2hhcmVkLWRpYWxvZ3NcIjtcclxuXHJcbi5kaWFsb2dCYWNrZHJvcCB7XHJcbiAgYmFja2dyb3VuZDogdmFyLXJnYmEoLS1saWdodC1ncmV5LCAwLjk1KTtcclxufVxyXG5cclxuLmRpYWxvZ0NvbnRlbnQge1xyXG4gIG1hcmdpbjogMTBweCAwO1xyXG59XHJcblxyXG4uZGlhbG9nQWN0aW9ucy5nZW5lcmF0ZWQge1xyXG4gIGJ1dHRvbi5jbG9zZURpYWxvZyB7XHJcbiAgICAuaWNvbjpiZWZvcmUge1xyXG4gICAgICBmb250LWZhbWlseTogdmFyKC0taWNvbi1mb250KTtcclxuICAgICAgY29udGVudDogXCJiXCI7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5idXR0b24uY2xvc2VEaWFsb2cge1xyXG4gIC5pY29uOmJlZm9yZSB7XHJcbiAgICBmb250LWZhbWlseTogdmFyKC0taWNvbi1mb250KTtcclxuICAgIGZvbnQtc2l6ZTogMS41ZW07XHJcbiAgICBjb250ZW50OiBcImJcIjtcclxuICB9XHJcbn1cclxuXHJcbi5kaWFsb2dMYWJlbCBoMiB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxufVxyXG5cclxuW2RhdGEtZGlhbG9nLXN0eWxlPVwibW9kYWxcIl0ge1xyXG4gIHBhZGRpbmc6IDIwcHg7XHJcblxyXG4gIC5zYWZhcmkgJiB7XHJcbiAgICBwYWRkaW5nOiAyMHB4IDIwcHggMTUwcHg7XHJcbiAgfVxyXG5cclxuICAuZGlhbG9nSW5uZXIge1xyXG4gICAgcGFkZGluZzogMjBweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KC0tbGlnaHQpO1xyXG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93KTtcclxuICB9XHJcblxyXG4gIC5kaWFsb2dMYWJlbCB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJyYW5kLWRhcmspO1xyXG4gICAgcGFkZGluZzogNXB4IDEwcHggMjBweDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblxyXG4gICAgaDIge1xyXG4gICAgICBAaW5jbHVkZSB6ZXJvTWFyZ1BhZDtcclxuICAgICAgZm9udC1zaXplOiAxLjI1ZW07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBidXR0b24uY2xvc2VEaWFsb2cge1xyXG4gICAgQGluY2x1ZGUgYnV0dG9uO1xyXG5cclxuICAgIC5pY29uIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbltkYXRhLWRpYWxvZy1zdHlsZT1cImxhcmdlTW9kYWxcIl0ge1xyXG4gIC5zYWZhcmkgJiB7XHJcbiAgICBwYWRkaW5nOiAyMHB4IDIwcHggMTUwcHg7XHJcbiAgfVxyXG4gIC5kaWFsb2dJbm5lciB7XHJcbiAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoLS1saWdodCk7XHJcbiAgfVxyXG5cclxuICAuZGlhbG9nTGFiZWwge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1icmFuZC1kYXJrKTtcclxuICAgIHBhZGRpbmc6IDVweCAxMHB4IDIwcHg7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuICAgIGgyIHtcclxuICAgICAgQGluY2x1ZGUgemVyb01hcmdQYWQ7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xyXG4gICAgICBjb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5bZGF0YS1kaWFsb2ctc3R5bGU9XCJzaGFkZVwiXSB7XHJcbiAgLmRpYWxvZ0lubmVyIHtcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgfVxyXG4gIGRpdltyb2xlPVwiZGlhbG9nXCJdIHtcclxuICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KC0tYnJhbmQtZGFyayk7XHJcbiAgfVxyXG59XHJcblxyXG5bZGF0YS1kaWFsb2ctc3R5bGVePVwic2lkZWJhclwiXSB7XHJcbiAgLmRpYWxvZ0lubmVyIHtcclxuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XHJcbiAgfVxyXG5cclxuICAmW2RhdGEtZGlhbG9nLXN0eWxlPVwic2lkZWJhckxlZnRcIl0ge1xyXG4gICAgLmRpYWxvZ0lubmVyIHtcclxuICAgICAgcGFkZGluZzogMjBweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZbZGF0YS1kaWFsb2ctc3R5bGU9XCJzaWRlYmFyUmlnaHRcIl0ge1xyXG4gICAgLmRpYWxvZ0lubmVyIHtcclxuICAgICAgcGFkZGluZzogMjBweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbltkYXRhLWRpYWxvZy1zdHlsZV49XCJmdWxsXCJdIHtcclxuICAuZGlhbG9nSW5uZXIge1xyXG4gICAgcGFkZGluZzogMjBweDtcclxuICB9XHJcbn1cclxuXHJcbi5zaW1wbGVEaWFsb2cge1xyXG4gIC8vIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KC0tbGlnaHQpO1xyXG4gIC8vIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XHJcbn1cclxuXHJcbi8vIE1FRElBIFFVRVJJRVMgJiBCUk9XU0VSLVNQRUNJRklDIEFESlVTVE1FTlRTIEJFTE9XIC8vXHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogJHNtKSB7XHJcbiAgW2RhdGEtZGlhbG9nLXN0eWxlXj1cInNpZGViYXJcIl1bZGF0YS1kaWFsb2ctc3R5bGU9XCJzaWRlYmFyUmlnaHRcIl0gLmRpYWxvZ0lubmVyIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgfVxyXG4gIFtkYXRhLWRpYWxvZy1zdHlsZT1cIm1vZGFsXCJdIGRpdltyb2xlPVwiZGlhbG9nXCJdIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxufVxyXG4iLCJAZm9yd2FyZCBcIi4uL19nbG9iYWwvc2hhcmVkLW1peGluc1wiO1xyXG5AdXNlIFwiLi4vX2dsb2JhbC9zaGFyZWQtbWl4aW5zXCIgYXMgKjtcclxuQHVzZSBcIi4uL19nbG9iYWwvc2hhcmVkLXZhcmlhYmxlc1wiIGFzICo7XHJcbkB1c2UgXCJzYXNzOm1hdGhcIjtcclxuQHVzZSBcInNhc3M6c3RyaW5nXCI7XHJcblxyXG5AbWl4aW4gYmdQb3MoKSB7XHJcbiAgJltkYXRhLWJnLXBvcz1cInRvcCBsZWZ0XCJdIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAlIDAlO1xyXG4gIH1cclxuICAmW2RhdGEtYmctcG9zPVwidG9wIG1pZGRsZVwiXSB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMDtcclxuICB9XHJcbiAgJltkYXRhLWJnLXBvcz1cInRvcCByaWdodFwiXSB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDAlO1xyXG4gIH1cclxuICAmW2RhdGEtYmctcG9zPVwiY2VudGVyIGxlZnRcIl0ge1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCUgNTAlO1xyXG4gIH1cclxuICAmW2RhdGEtYmctcG9zPVwiY2VudGVyXCJdIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XHJcbiAgfVxyXG4gICZbZGF0YS1iZy1wb3M9XCJjZW50ZXIgcmlnaHRcIl0ge1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSA1MCU7XHJcbiAgfVxyXG4gICZbZGF0YS1iZy1wb3M9XCJib3R0b20gbGVmdFwiXSB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwJSAxMDAlO1xyXG4gIH1cclxuICAmW2RhdGEtYmctcG9zPVwiYm90dG9tIG1pZGRsZVwiXSB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMTAwJTtcclxuICB9XHJcbiAgJltkYXRhLWJnLXBvcz1cImJvdHRvbSByaWdodFwiXSB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDEwMCU7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gc3F1aXJjbGUoKSB7XHJcbiAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1yYWRpdXMtY2lyY2xlKSAqIDAuNCk7XHJcbiAgQHN1cHBvcnRzIChjb3JuZXItc2hhcGU6IHNxdWlyY2xlKSB7XHJcbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xyXG4gICAgY29ybmVyLXNoYXBlOiBzcXVpcmNsZTtcclxuICAgIC8qIHN0eWxlbGludC1lbmFibGUgKi9cclxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1jaXJjbGUpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGJ1dHRvbigkY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCksICRob3ZlckNvbG9yOiB2YXIoLS1ob3ZlcikpIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBwYWRkaW5nOiAwLjZlbSAxLjVlbTtcclxuICBib3JkZXItd2lkdGg6IDNweDtcclxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gIGJvcmRlci1jb2xvcjogdmFyLWRhcmtlbigkY29sb3IsIDE1JSk7XHJcbiAgbGluZS1oZWlnaHQ6IDEuMWVtO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xyXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1iYXNpYy1mb250KTtcclxuICBvdXRsaW5lLW9mZnNldDogMDtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgdHJhbnNpdGlvbjogYWxsICR2ZXJ5RmFzdDtcclxuICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgkY29sb3IpO1xyXG5cclxuICBAaW5jbHVkZSBob3ZlckFuZEZvY3VzIHtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgkaG92ZXJDb2xvcik7XHJcbiAgICBib3JkZXItY29sb3I6IHZhci1kYXJrZW4oJGhvdmVyQ29sb3IsIDEwJSk7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgfVxyXG5cclxuICAmW2Rpc2FibGVkXSxcclxuICAmW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdIHtcclxuICAgIG9wYWNpdHk6IDAuNTtcclxuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gRm9yIGJ1dHRvbnMgdGhhdCBmZWF0dXJlIGJvdGggYW4gaWNvbiBhbmQgdGV4dC4gVXN1YWxseSBzZWVuIGluIGRpYWxvZ3MuXHJcbi8vLyBAcGFyYW0ge251bX0gJHNpemUgLSBUaGUgd2lkdGggYW5kIGhlaWdodCBvZiB0aGUgYnV0dG9uLiBEb2VzIG5vdCBhcHBseSB3aGVuIGJ1dHRvbiBvbmx5IGNvbnRhaW5zIHRleHQuXHJcbi8vLyBAcGFyYW0ge3N0cmluZ30gJHR5cGUgW3Rvb2xUaXBdIC0gUG9zc2libGUgdmFsdWVzOiB0b29sVGlwLCBpY29uLCB0ZXh0LlxyXG5AbWl4aW4gYWN0aW9uQnV0dG9uKCRjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KSwgJGhvdmVyQ29sb3I6IHZhcigtLWhvdmVyKSwgJHNpemU6IDQ1cHgsICR0eXBlOiB0b29sVGlwKSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWxpZ2h0KTtcclxuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtY2lyY2xlKTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoJGNvbG9yKTtcclxuICB0cmFuc2l0aW9uOiBhbGwgJHZlcnlGYXN0O1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgQGlmICR0eXBlID09IHRvb2xUaXAge1xyXG4gICAgd2lkdGg6ICRzaXplO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XHJcbiAgICAuaWNvbiB7XHJcbiAgICAgIGZvbnQtc2l6ZTogY2FsYygjeyRzaXplfSAqIDAuNCk7XHJcbiAgICB9XHJcbiAgICAudGV4dCB7XHJcbiAgICAgIEBpbmNsdWRlIHRvb2xUaXA7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBob3ZlckFuZEZvY3VzIHtcclxuICAgICAgLnRleHQge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgc2NhbGU6IDE7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9IEBlbHNlIGlmICR0eXBlID09IGljb24ge1xyXG4gICAgd2lkdGg6ICRzaXplO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XHJcbiAgICAuaWNvbiB7XHJcbiAgICAgIGZvbnQtc2l6ZTogY2FsYygjeyRzaXplfSAqIDAuNCk7XHJcbiAgICB9XHJcbiAgICAudGV4dCB7XHJcbiAgICAgIEBpbmNsdWRlIHNjcmVlblJlYWRlcjtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICR0eXBlID09IHRleHQge1xyXG4gICAgcGFkZGluZzogMC41ZW0gMWVtO1xyXG4gICAgZm9udC1zaXplOiAwLjllbTtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xyXG4gICAgLmljb24ge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgaG92ZXJBbmRGb2N1cyB7XHJcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cpO1xyXG4gICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoJGhvdmVyQ29sb3IpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG9wZW5BbGxUb2dnbGVCdXR0b24oJGlubmVyLXNpemU6IDIwcHgpIHtcclxuICAvLyBUaGVzZSBwYXJhbWV0ZXIgY2FsY3VsYXRpb25zIGVuc3VyZSB0aGF0IGNoYW5naW5nIHRoZSAkaW5uZXItc2l6ZSB2YWx1ZSBrZWVwcyB0aGUgdG9nZ2xlIGJ1dHRvbidzIHNwYWNpbmcgYmV0d2VlbiBpdHMgZWxlbWVudHMgY29uc2lzdGVudC5cclxuICAkdG9nZ2xlLWhlaWdodDogJGlubmVyLXNpemUgKyA2cHg7XHJcbiAgJHRvZ2dsZS13aWR0aDogJGlubmVyLXNpemUgKiAyLjI1O1xyXG4gICR0b2dnbGUtcmFkaXVzOiBtYXRoLmRpdigkdG9nZ2xlLWhlaWdodCwgMik7IC8vIFRoaXMgZGl2aXNpb24gZW5zdXJlcyB0aGUgcGlsbCBzaGFwZS4gWW91IGNhbiBhZGp1c3QgdGhpcyB0byB5b3VyIHByb2plY3QncyBuZWVkcyBieSByZXBsYWNpbmcgd2l0aCBhIHBpeGVsIHZhbHVlLlxyXG4gICRwYWRkaW5nOiAoJGlubmVyLXNpemUgKiAwLjYpICgkaW5uZXItc2l6ZSAqIDAuNzUpICgkaW5uZXItc2l6ZSAqIDAuNikgKCR0b2dnbGUtd2lkdGggKyAkaW5uZXItc2l6ZSAqIDAuNSArIDEwcHgpO1xyXG5cclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1hcmdpbjogMjBweCBhdXRvIDE1cHg7XHJcbiAgcGFkZGluZzogJHBhZGRpbmc7XHJcbiAgZm9udC1zaXplOiAxZW07XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ncmV5KTtcclxuICBiYWNrZ3JvdW5kOiB2YXIoLS1saWdodC1ncmV5KTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgdHJhbnNpdGlvbjogJGZhc3Q7XHJcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcclxuXHJcbiAgLmJ0biB7XHJcbiAgICBjb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XHJcbiAgfVxyXG5cclxuICAudG9nZ2xlIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbGVmdDogJGlubmVyLXNpemUgKiAwLjU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICBoZWlnaHQ6ICR0b2dnbGUtaGVpZ2h0O1xyXG4gICAgd2lkdGg6ICR0b2dnbGUtd2lkdGg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkdG9nZ2xlLXJhZGl1cztcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWdyZXkpO1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tbGlnaHQpO1xyXG5cclxuICAgIC5pbm5lciB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgcmlnaHQ6IGNhbGMoMTAwJSAtICN7JGlubmVyLXNpemUgKyAzcHh9KTtcclxuICAgICAgaGVpZ2h0OiAkaW5uZXItc2l6ZTtcclxuICAgICAgd2lkdGg6ICRpbm5lci1zaXplO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiBtYXRoLmRpdigkaW5uZXItc2l6ZSwgMik7IC8vVGhpcyBkaXZpc2lvbiBlbnN1cmVzIHRoZSB0b2dnbGUncyBpbm5lciBpcyByb3VuZC4gWW91IGNhbiBhZGp1c3QgdGhpcyB0byB5b3VyIHByb2plY3QncyBuZWVkcyBieSByZXBsYWNpbmcgd2l0aCBhIHBpeGVsIHZhbHVlLlxyXG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZC1kYXJrKTtcclxuICAgICAgdHJhbnNpdGlvbjogcmlnaHQgJGZhc3Q7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmW2FyaWEtcHJlc3NlZD1cInRydWVcIl0ge1xyXG4gICAgLnRvZ2dsZSB7XHJcbiAgICAgIC5pbm5lciB7XHJcbiAgICAgICAgcmlnaHQ6IDRweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgaG92ZXJBbmRGb2N1cyB7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZC1icmlnaHQpO1xyXG4gICAgLnRvZ2dsZSB7XHJcbiAgICAgIC5pbm5lciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJ0biB7XHJcbiAgICAgIGNvbG9yOiBjYWxjLWNvbnRyYXN0KC0tYnJhbmQtYnJpZ2h0KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vLyBIaWRlcyB0ZXh0IGFuZCBwcmVwcyBmb3IgaG92ZXIuIEJlY2F1c2UgdGhpcyBtaXhpbiBpcyB1c3VhbGx5IGJlaW5nIHVzZWQgaW4gYSBidXR0b24sXHJcbi8vLyB0aGUgaG92ZXIgc3R5bGUgbmVlZHMgdG8gYmUgbWFudWxseSBzZXQgaW4gd2hhdGV2ZXIgcGFyZW50IHRoaXMgbWl4aW4gaXMgYmVpbmcgdXNlZCBpbi5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZVxyXG4vLy8gICBidXR0b24ge1xyXG4vLy8gICAgIC50ZXh0IHtcclxuLy8vICAgICAgIEBpbmNsdWRlIHRvb2xUaXAoJGRpcjogdG9wLCAkY29sb3I6IHZhcigtLWJsdWUpLCAkb2Zmc2V0OiAxMHB4KTtcclxuLy8vICAgICB9XHJcbi8vLyAgICAgQGluY2x1ZGUgaG92ZXJXaXRoRm9jdXMge1xyXG4vLy8gICAgICAgLnRleHQge1xyXG4vLy8gICAgICAgICAvLyBCeSBkZWZhdWx0IHRoZXNlIGFyZSB0aGUgdHdvIHByb3BlcnRpZXMgdGhhdCBuZWVkIHRvIGJlIG92ZXJ3cml0dGVuLlxyXG4vLy8gICAgICAgICBvcGFjaXR5OiAxO1xyXG4vLy8gICAgICAgICBzY2FsZTogMTtcclxuLy8vICAgICAgIH1cclxuLy8vICAgICB9XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAdG9kbyBBZGQgYSB0b29sVGlwU2hvdyBtaXhpbiB0aGF0IG92ZXJyaWRlcyBhbGwgdGhlIHByb3BlcnRpZXMgbGlzdGVkIGluIHRvb2xUaXAuXHJcbi8vLyBAcGFyYW0ge3N0cmluZ30gJGRpciBbdG9wIHwgdG9wLWxlZnQgfCB0b3AtcmlnaHRdIFtib3R0b20gfCBib3R0b20tbGVmdCB8IGJvdHRvbS1yaWdodF0gW2xlZnQgfCByaWdodF1cclxuLy8vIEBwYXJhbSB7Y29sb3J9ICRjb2xvciBbdmFyKC0tbGlnaHQpXSAtIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSB0aGUgdG9vbCB0aXAuXHJcbi8vLyBAcGFyYW0ge2Jvb2xlYW59ICRhcnJvdyBbdHJ1ZV0gLSBEcmF3cyBhIHRyaWFuZ2xlIHRoYXQgcG9pbnRzIHRvd2FyZHMgdGhlIHBhcmVudC5cclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkb2Zmc2V0IFs1cHhdIC0gVGhlIGFtb3VudCB0aGUgYXJyb3cgc2hvdWxkIGJlIHNoaWZ0ZWQgaWYgdGlwIGlzbid0IGNlbnRlcmVkLlxyXG4vLy8gQHNpbmNlIEZ1Z3UgOC4wXHJcbkBtaXhpbiB0b29sVGlwKCRkaXI6IGJvdHRvbSwgJGNvbG9yOiB2YXIoLS1saWdodCksICRhcnJvdzogdHJ1ZSwgJG9mZnNldDogNXB4KSB7XHJcbiAgJGRpc3RhbmNlOiAycHg7XHJcbiAgJGJvcmRlcldpZHRoOiAycHg7XHJcbiAgJGJvcmRlckNvbG9yOiB2YXIoLS1saWdodCk7XHJcbiAgJGFycm93U2l6ZTogMTBweDtcclxuICAkYm9yZGVyQXJyb3dTaXplOiAkYXJyb3dTaXplICsgKCRib3JkZXJXaWR0aCAqIDIpO1xyXG4gICRjb2xvcjogdmFsaWRhdGUtYW5kLXdyYXAtaWYtY3VzdG9tLXByb3AoJGNvbG9yKTtcclxuXHJcbiAgJGJveFRyYW5zbGF0aW9uOiAwIC01MCU7XHJcbiAgJGFycm93VHJhbnNsYXRpb246IDAgLTUwJTtcclxuICAkYWxpZ246IGNlbnRlcjtcclxuICAkc2lkZTogYm90dG9tO1xyXG4gIEBpZiBzdHJpbmcuaW5kZXgoJGRpciwgXCJib3R0b21cIikgb3Igc3RyaW5nLmluZGV4KCRkaXIsIFwidG9wXCIpIHtcclxuICAgIEBpZiBzdHJpbmcuaW5kZXgoJGRpciwgXCJib3R0b21cIikge1xyXG4gICAgICAkc2lkZTogYm90dG9tO1xyXG4gICAgfSBAZWxzZSBpZiBzdHJpbmcuaW5kZXgoJGRpciwgXCJ0b3BcIikge1xyXG4gICAgICAkc2lkZTogdG9wO1xyXG4gICAgfVxyXG4gICAgQGlmIHN0cmluZy5pbmRleCgkZGlyLCBcImxlZnRcIikge1xyXG4gICAgICAkYWxpZ246IGxlZnQ7XHJcbiAgICB9IEBlbHNlIGlmIHN0cmluZy5pbmRleCgkZGlyLCBcInJpZ2h0XCIpIHtcclxuICAgICAgJGFsaWduOiByaWdodDtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmIHN0cmluZy5pbmRleCgkZGlyLCBcImxlZnRcIikge1xyXG4gICAgJHNpZGU6IGxlZnQ7XHJcbiAgfSBAZWxzZSBpZiBzdHJpbmcuaW5kZXgoJGRpciwgXCJyaWdodFwiKSB7XHJcbiAgICAkc2lkZTogcmlnaHQ7XHJcbiAgfVxyXG5cclxuICBAaWYgJHNpZGUgPT0gYm90dG9tIG9yICRzaWRlID09IHRvcCB7XHJcbiAgICAkYm94VHJhbnNsYXRpb246IC01MCUgMDtcclxuICAgICRhcnJvd1RyYW5zbGF0aW9uOiAtNTAlIDA7XHJcbiAgfVxyXG5cclxuICAkb3JpZ2luWDogNTAlO1xyXG4gIEBpZiAkc2lkZSA9PSBsZWZ0IHtcclxuICAgICRvcmlnaW5YOiAxMDAlO1xyXG4gIH1cclxuICBAaWYgJHNpZGUgPT0gcmlnaHQge1xyXG4gICAgJG9yaWdpblg6IDAlO1xyXG4gIH1cclxuXHJcbiAgJG9yaWdpblk6IDUwJTtcclxuICBAaWYgJHNpZGUgPT0gYm90dG9tIHtcclxuICAgICRvcmlnaW5ZOiAwJTtcclxuICB9XHJcbiAgQGlmICRzaWRlID09IHRvcCB7XHJcbiAgICAkb3JpZ2luWTogMTAwJTtcclxuICB9XHJcblxyXG4gICRib3hTdGFydFBvczogNTAlO1xyXG4gICRhcnJvd1BvczogNTAlO1xyXG4gIEBpZiAkYWxpZ24gIT0gY2VudGVyIHtcclxuICAgICRib3hTdGFydFBvczogMHB4O1xyXG4gICAgJGJveFRyYW5zbGF0aW9uOiAwIDA7XHJcbiAgICAkYXJyb3dUcmFuc2xhdGlvbjogMCAwO1xyXG4gIH1cclxuXHJcbiAgQGlmICRhbGlnbiA9PSBsZWZ0IHtcclxuICAgICRvcmlnaW5YOiBjYWxjKCRvZmZzZXQgLSB2YXIoLS1yYWRpdXMpKTtcclxuICB9XHJcbiAgQGlmICRhbGlnbiA9PSByaWdodCB7XHJcbiAgICAkb3JpZ2luWDogY2FsYygxMDAlIC0gJG9mZnNldCAtIHZhcigtLXJhZGl1cykpO1xyXG4gIH1cclxuXHJcbiAgLy8gQWJzdHJhY3Qgb3V0IHRoZSBzdGFydGluZyBheGlzIGFuZCBwb3NpdGlvbnMgb2YgdGhlIHRvb2x0aXAgYm94IGFuZCBhcnJvdyB0byBrZWVwIHRoaW5ncyBzYW5lLlxyXG4gICRib3hEaXN0YW5jZVByb3A6IFwiXCI7XHJcbiAgJGJveFN0YXJ0UHJvcDogXCJcIjtcclxuICAkYXJyb3dQb3NQcm9wOiBcIlwiO1xyXG5cclxuICBAaWYgJHNpZGUgPT0gYm90dG9tIHtcclxuICAgICRib3hEaXN0YW5jZVByb3A6IHRvcDtcclxuICAgIEBpZiAkYWxpZ24gPT0gcmlnaHQge1xyXG4gICAgICAkYm94U3RhcnRQcm9wOiByaWdodDtcclxuICAgICAgJGFycm93UG9zUHJvcDogcmlnaHQ7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgJGJveFN0YXJ0UHJvcDogbGVmdDtcclxuICAgICAgJGFycm93UG9zUHJvcDogbGVmdDtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICRzaWRlID09IHRvcCB7XHJcbiAgICAkYm94RGlzdGFuY2VQcm9wOiBib3R0b207XHJcbiAgICBAaWYgJGFsaWduID09IHJpZ2h0IHtcclxuICAgICAgJGJveFN0YXJ0UHJvcDogcmlnaHQ7XHJcbiAgICAgICRhcnJvd1Bvc1Byb3A6IHJpZ2h0O1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICRib3hTdGFydFByb3A6IGxlZnQ7XHJcbiAgICAgICRhcnJvd1Bvc1Byb3A6IGxlZnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAkc2lkZSA9PSBsZWZ0IHtcclxuICAgICRib3hEaXN0YW5jZVByb3A6IHJpZ2h0O1xyXG4gICAgQGlmICRhbGlnbiA9PSByaWdodCB7XHJcbiAgICAgICRib3hTdGFydFByb3A6IGJvdHRvbTtcclxuICAgICAgJGFycm93UG9zUHJvcDogYm90dG9tO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICRib3hTdGFydFByb3A6IHRvcDtcclxuICAgICAgJGFycm93UG9zUHJvcDogdG9wO1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgJHNpZGUgPT0gcmlnaHQge1xyXG4gICAgJGJveERpc3RhbmNlUHJvcDogbGVmdDtcclxuICAgIEBpZiAkYWxpZ24gPT0gcmlnaHQge1xyXG4gICAgICAkYm94U3RhcnRQcm9wOiBib3R0b207XHJcbiAgICAgICRhcnJvd1Bvc1Byb3A6IGJvdHRvbTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAkYm94U3RhcnRQcm9wOiB0b3A7XHJcbiAgICAgICRhcnJvd1Bvc1Byb3A6IHRvcDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICN7JGJveERpc3RhbmNlUHJvcH06IGNhbGMoMTAwJSArICN7JGRpc3RhbmNlfSk7XHJcbiAgI3skYm94U3RhcnRQcm9wfTogJGJveFN0YXJ0UG9zO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBzY2FsZTogMC4xO1xyXG4gIGJvcmRlcjogJGJvcmRlcldpZHRoIHNvbGlkICRib3JkZXJDb2xvcjtcclxuICBwYWRkaW5nOiAycHggN3B4O1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgb3BhY2l0eTogMDtcclxuICBmb250LWZhbWlseTogdmFyKC0tYmFzaWMtZm9udCk7XHJcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93KTtcclxuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMteHMpO1xyXG4gIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KCRjb2xvcik7XHJcbiAgdHJhbnNpdGlvbjogYWxsICRtZWRpdW0gdmFyKC0tdGltaW5nLWJvdW5jZSk7XHJcbiAgdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpblggJG9yaWdpblk7XHJcbiAgdHJhbnNsYXRlOiAkYm94VHJhbnNsYXRpb247XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblxyXG4gIEBpZiAkYXJyb3cgPT0gdHJ1ZSB7XHJcbiAgICAvLyBCb3JkZXIgVHJpYW5nbGVcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgJG1lZGl1bSB2YXIoLS10aW1pbmctYm91bmNlKTtcclxuICAgICAgdHJhbnNsYXRlOiAkYXJyb3dUcmFuc2xhdGlvbjtcclxuICAgICAgd2lkdGg6ICRhcnJvd1NpemU7XHJcbiAgICAgIGhlaWdodDogJGFycm93U2l6ZTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJvcmRlckNvbG9yO1xyXG4gICAgICBAaWYgJGFsaWduID09IFwiY2VudGVyXCIge1xyXG4gICAgICAgICN7JGFycm93UG9zUHJvcH06IDUwJTtcclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgI3skYXJyb3dQb3NQcm9wfTogY2FsYygkb2Zmc2V0ICsgdmFyKC0tcmFkaXVzKSk7XHJcbiAgICAgIH1cclxuICAgICAgQGlmICRzaWRlID09IGJvdHRvbSB7XHJcbiAgICAgICAgYm90dG9tOiAxMDAlO1xyXG4gICAgICAgIHdpZHRoOiAkYm9yZGVyQXJyb3dTaXplO1xyXG4gICAgICAgIGNsaXAtcGF0aDogcG9seWdvbig1MCUgMCUsIDAlIDEwMCUsIDEwMCUgMTAwJSk7XHJcbiAgICAgIH0gQGVsc2UgaWYgJHNpZGUgPT0gdG9wIHtcclxuICAgICAgICB0b3A6IDEwMCU7XHJcbiAgICAgICAgd2lkdGg6ICRib3JkZXJBcnJvd1NpemU7XHJcbiAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDUwJSAxMDAlLCAwJSAwJSwgMTAwJSAwJSk7XHJcbiAgICAgIH0gQGVsc2UgaWYgJHNpZGUgPT0gbGVmdCB7XHJcbiAgICAgICAgbGVmdDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6ICRib3JkZXJBcnJvd1NpemU7XHJcbiAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDEwMCUgNTAlLCAwJSAxMDAlLCAwJSAwJSk7XHJcbiAgICAgIH0gQGVsc2UgaWYgJHNpZGUgPT0gcmlnaHQge1xyXG4gICAgICAgIHJpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogJGJvcmRlckFycm93U2l6ZTtcclxuICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCUgNTAlLCAxMDAlIDAlLCAxMDAlIDEwMCUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBBY3R1YWwgVHJpYW5nbGVcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAkbWVkaXVtIHZhcigtLXRpbWluZy1ib3VuY2UpO1xyXG4gICAgICB0cmFuc2xhdGU6ICRhcnJvd1RyYW5zbGF0aW9uO1xyXG4gICAgICB3aWR0aDogJGFycm93U2l6ZTtcclxuICAgICAgaGVpZ2h0OiAkYXJyb3dTaXplO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XHJcbiAgICAgIEBpZiAkYWxpZ24gPT0gY2VudGVyIHtcclxuICAgICAgICAjeyRhcnJvd1Bvc1Byb3B9OiA1MCU7XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICN7JGFycm93UG9zUHJvcH06IGNhbGMoJG9mZnNldCArIHZhcigtLXJhZGl1cykgKyAkYm9yZGVyV2lkdGgpO1xyXG4gICAgICB9XHJcbiAgICAgIEBpZiAkc2lkZSA9PSBib3R0b20ge1xyXG4gICAgICAgIGJvdHRvbTogY2FsYygxMDAlIC0gI3skYm9yZGVyV2lkdGh9KTtcclxuICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oNTAlIDAlLCAwJSAxMDAlLCAxMDAlIDEwMCUpO1xyXG4gICAgICB9IEBlbHNlIGlmICRzaWRlID09IHRvcCB7XHJcbiAgICAgICAgdG9wOiBjYWxjKDEwMCUgLSAjeyRib3JkZXJXaWR0aH0pO1xyXG4gICAgICAgIGNsaXAtcGF0aDogcG9seWdvbig1MCUgMTAwJSwgMCUgMCUsIDEwMCUgMCUpO1xyXG4gICAgICB9IEBlbHNlIGlmICRzaWRlID09IGxlZnQge1xyXG4gICAgICAgIGxlZnQ6IGNhbGMoMTAwJSAtICN7JGJvcmRlcldpZHRofSk7XHJcbiAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDEwMCUgNTAlLCAwJSAxMDAlLCAwJSAwJSk7XHJcbiAgICAgIH0gQGVsc2UgaWYgJHNpZGUgPT0gcmlnaHQge1xyXG4gICAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgLSAjeyRib3JkZXJXaWR0aH0pO1xyXG4gICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwJSA1MCUsIDEwMCUgMCUsIDEwMCUgMTAwJSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBjaGVja2JveCgkc2l6ZTogMWVtLCAkYm9yZGVyQ29sb3I6IHZhcigtLWJhc2ljKSwgJHNlbGVjdGVkQ29sb3I6IHZhcigtLWJyYW5kLWRhcmspLCAkc2VsZWN0ZWRCb3JkZXI6ICRzZWxlY3RlZENvbG9yKSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1hcmdpbjogMDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gIEBzdXBwb3J0cyAoYXBwZWFyYW5jZTogbm9uZSkge1xyXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIHdpZHRoOiAkc2l6ZTtcclxuICAgIGhlaWdodDogJHNpemU7XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgd2lkdGg6ICRzaXplO1xyXG4gICAgICBoZWlnaHQ6ICRzaXplO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMteHMpO1xyXG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICBib3JkZXItd2lkdGg6IDJweDtcclxuICAgICAgYm9yZGVyLWNvbG9yOiB2YXItcmdiYSgkYm9yZGVyQ29sb3IsIDAuNyk7XHJcblxyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgJHZlcnlGYXN0O1xyXG4gICAgfVxyXG5cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgd2lkdGg6ICRzaXplO1xyXG4gICAgICBoZWlnaHQ6ICRzaXplO1xyXG5cclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjYWxjLWNvbnRyYXN0KCRzZWxlY3RlZENvbG9yKTtcclxuICAgICAgbWFzay1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5IElqQWdNQ0F6TVRZdU16Z2dNalV3TGpZaVBqeHdZWFJvSUdROUlrMDNNQzQwSURJeE9TNDRZelF1TlRVZ05DNDQgTnlBNUxqSXlJRGt1TmpjZ01UUXVNVElnTVRRdU1Ua2dNeTQzTlNBekxqUTNJRGN1TnpFZ05pNDROU0F4TVM0NSBNeUE1TGpjMElEVXVOU0F6TGpjNElERXhMamt5SURjdU1EZ2dNVGd1TnpnZ05pNDROU0EyTGpZMkxTNHlNeUF4IE1pNDNOeTB6TGpjeklERTNMamszTFRjdU5qSWdPQzQyTFRZdU5ESWdNVFl1TmpjdE1UVXVNVGNnTWpNdU9EUXQgTWpNdU1UUk1NekExTGpZNElEVTBMalk1WXpjdU1pMDRJREV4TGpjNUxURTRMakkxSURFd0xqUTNMVEk1TGpFMyBMVEV1TURRdE9DNDFPUzAxTGpjeExURTJMalUxTFRFekxqQXhMVEl4TGpJNUxUVXVOalV0TXk0Mk55MHhNaTR5IE5pMDBMams0TFRFNExqa3RNeTQ0TWkwNExqa2dNUzQxTmkweE5pNDFOQ0EzTGpJeUxUSXlMalE0SURFekxqYzQgTFRRNExqTTBJRFV6TGpNeUxUazJMalU1SURFd05pNDNNUzB4TkRRdU9EVWdNVFl3TGpFeGJDMHpMakU1SURNdSBOVE10TmpBdU5DMDJOaTQyTTJNdE9DNDBNaTA1TGpJNUxURTVMamN0TVRNdU9UUXRNekV1T1RJdE9TNDFOeTAwIExqY3lJREV1TmprdE9DNDVPU0EwTGpVNExURXlMalExSURndU1Ua3RNeTQ0TmlBMExqQTBMVFl1TnpnZ09TNHcgTmkwNExqRXpJREUwTGpRNUxUSXVNekVnT1M0eU55NHpJREU0TGpBM0lEWXVOaklnTWpVdU1UTnNOakl1T1RVZyBOekF1TXpWYUlpQnpkSGxzWlQwaVptbHNiQzF5ZFd4bE9tVjJaVzV2WkdRaUx6NDhMM04yWno0S1wiKTtcclxuICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgbWFzay1zaXplOiA2MCU7XHJcbiAgICAgIG1hc2stcG9zaXRpb246IDUwJSA1MCU7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAkdmVyeUZhc3Q7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgJjpjaGVja2VkIHtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJHNlbGVjdGVkQm9yZGVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3RlZENvbG9yO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJltkaXNhYmxlZF0ge1xyXG4gICAgICBvcGFjaXR5OiAwLjM7XHJcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcblxyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyLXJnYmEoLS1iYXNpYywgMC44KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHJhZGlvKCRzaXplOiAxZW0sICRib3JkZXJDb2xvcjogdmFyKC0tYmFzaWMpLCAkc2VsZWN0ZWRDb2xvcjogdmFyKC0tYnJhbmQtZGFyayksICRzZWxlY3RlZEJvcmRlcjogJHNlbGVjdGVkQ29sb3IpIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICBAc3VwcG9ydHMgKGFwcGVhcmFuY2U6IG5vbmUpIHtcclxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICB3aWR0aDogJHNpemU7XHJcbiAgICBoZWlnaHQ6ICRzaXplO1xyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHdpZHRoOiAkc2l6ZTtcclxuICAgICAgaGVpZ2h0OiAkc2l6ZTtcclxuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyLXJnYmEoJGJvcmRlckNvbG9yLCAwLjcpO1xyXG5cclxuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgJHZlcnlGYXN0O1xyXG4gICAgfVxyXG5cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICB6LWluZGV4OiA1O1xyXG5cclxuICAgICAgd2lkdGg6IDA7XHJcbiAgICAgIGhlaWdodDogMDtcclxuXHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgdHJhbnNpdGlvbjogYWxsICR2ZXJ5RmFzdDtcclxuICAgIH1cclxuXHJcbiAgICAmOmNoZWNrZWQge1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkc2VsZWN0ZWRCb3JkZXI7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdGVkQ29sb3I7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY2FsYy1jb250cmFzdCgkc2VsZWN0ZWRDb2xvcik7XHJcbiAgICAgICAgd2lkdGg6ICRzaXplICogMC40NTtcclxuICAgICAgICBoZWlnaHQ6ICRzaXplICogMC40NTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZbZGlzYWJsZWRdIHtcclxuICAgICAgb3BhY2l0eTogMC4zO1xyXG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG5cclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhci1saWdodGVuKHZhcigtLWJhc2ljKSwgNzUlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHN3aXRjaCgkc2l6ZTogMS4yNWVtLCAkY29sb3I6IHZhcigtLWJhc2ljKSwgJHNlbGVjdGVkQ29sb3I6IHZhcigtLWJyYW5kLWRhcmspKSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1hcmdpbjogMDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gIEBzdXBwb3J0cyAoYXBwZWFyYW5jZTogbm9uZSkge1xyXG4gICAgJGtub2JTaXplOiBjYWxjKCN7JHNpemV9IC0gOHB4KTtcclxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICB3aWR0aDogMS4yNWVtICogMjtcclxuICAgIGhlaWdodDogJHNpemU7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQpO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsICRmYXN0O1xyXG5cclxuICAgIC8qIFRoZSB0b2dnbGUga25vYiAqL1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgbGVmdDogMnB4O1xyXG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgIHdpZHRoOiAka25vYlNpemU7XHJcbiAgICAgIGhlaWdodDogJGtub2JTaXplO1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAkZmFzdDtcclxuICAgIH1cclxuXHJcbiAgICAvKiBDaGFuZ2UgY29sb3IgYW5kIHBvc2l0aW9uIHdoZW4gY2hlY2tlZCAqL1xyXG4gICAgJjpjaGVja2VkIHtcclxuICAgICAgYmFja2dyb3VuZDogJHNlbGVjdGVkQ29sb3I7XHJcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRzZWxlY3RlZENvbG9yO1xyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgLSAjeyRrbm9iU2l6ZX0gLSAycHgpO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IGNhbGMtY29udHJhc3QoJHNlbGVjdGVkQ29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyogRHJvcCB0aGUgb3BhY2l0eSBvZiB0aGUgdG9nZ2xlIGtub2Igd2hlbiB0aGUgaW5wdXQgaXMgZGlzYWJsZWQgKi9cclxuICAgICY6ZGlzYWJsZWQge1xyXG4gICAgICBvcGFjaXR5OiAwLjQ7XHJcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYnV0dG9uQURBKCRjb2xvcjogdmFyKC0tYnJhbmQtZGFyayksICRob3ZlckNvbG9yOiB2YXIoLS1hZGEtaG92ZXIpKSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIHBhZGRpbmc6IDAuNmVtIDEuMmVtO1xyXG4gIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWxpZ2h0LWdyZXkpO1xyXG5cclxuICBsaW5lLWhlaWdodDogMS4xZW07XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XHJcbiAgZm9udC1mYW1pbHk6IHZhcigtLWJhc2ljLWZvbnQpO1xyXG4gIG91dGxpbmUtb2Zmc2V0OiAwO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB0cmFuc2l0aW9uOiBhbGwgJHZlcnlGYXN0O1xyXG4gIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KCRjb2xvcik7XHJcblxyXG4gICZbZGlzYWJsZWRdLFxyXG4gICZbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0ge1xyXG4gICAgb3BhY2l0eTogMC41O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgaG92ZXJBbmRGb2N1cyB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAmOm5vdChbZGlzYWJsZWRdKTpub3QoW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdKSB7XHJcbiAgICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KCRob3ZlckNvbG9yKTtcclxuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1saWdodC1ncmV5KTtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgfVxyXG4gIH1cclxuICAmOmZvY3VzLXZpc2libGUge1xyXG4gICAgei1pbmRleDogMTtcclxuICB9XHJcbn1cclxuIiwiQHVzZSBcInNoYXJlZC12YXJpYWJsZXNcIiBhcyAqO1xyXG5AdXNlIFwic2hhcmVkLW1peGluc1wiIGFzICo7XHJcblxyXG4vLyBLRVlGUkFNRSBBTklNQVRJT05TIEZPUiBaT09NIFNMSURFU0hPVyAvL1xyXG5Aa2V5ZnJhbWVzIHpvb21JbiB7XHJcbiAgZnJvbSB7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XHJcbiAgfVxyXG4gIHRvIHtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKTtcclxuICB9XHJcbn1cclxuQGtleWZyYW1lcyB6b29tT3V0IHtcclxuICBmcm9tIHtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcclxuICB9XHJcbiAgdG8ge1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xyXG4gIH1cclxufVxyXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxufVxyXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbn1cclxuXHJcbkBsYXllciBiYXNlIHtcclxuICAjYmFja2dyb3VuZCB7XHJcbiAgICBbZGF0YS1zbGlkZXNob3c9XCJ6b29tU2xpZGVzaG93XCJdIHtcclxuICAgICAgJi5yZXR1cm5QYXVzZSB7XHJcbiAgICAgICAgLmJnSW1nV3JhcHBlcjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuYmdJbWdXcmFwcGVyIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC44NXM7XHJcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xyXG5cclxuICAgICAgICAmLmN1cnJlbnQge1xyXG4gICAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XHJcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogZmFkZUluO1xyXG4gICAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5wcmV2IHtcclxuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xyXG4gICAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xyXG4gICAgICAgICAgLmJnSW1nLnRyYW5zIHtcclxuICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xyXG4gICAgICAgICAgLmJnSW1nLnRyYW5zIHtcclxuICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5iZ0ltZyB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xyXG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMTBzO1xyXG4gICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG5cclxuICAgICAgICAvL2JhY2tncm91bmQgcG9zdGlvbiAoWCxZKVxyXG4gICAgICAgICZbZGF0YS1iZy1wb3M9XCJjZW50ZXJcIl0ge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJltkYXRhLWJnLXBvcz1cImNlbnRlciBsZWZ0XCJdIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwJSA1MCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZbZGF0YS1iZy1wb3M9XCJjZW50ZXIgcmlnaHRcIl0ge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogOTAlIDUwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJltkYXRhLWJnLXBvcz1cInRvcCBsZWZ0XCJdIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwJSAxMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZbZGF0YS1iZy1wb3M9XCJ0b3AgbWlkZGxlXCJdIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAxMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZbZGF0YS1iZy1wb3M9XCJ0b3AgcmlnaHRcIl0ge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogOTAlIDEwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJltkYXRhLWJnLXBvcz1cImJvdHRvbSBsZWZ0XCJdIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwJSA5MCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZbZGF0YS1iZy1wb3M9XCJib3R0b20gbWlkZGxlXCJdIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmW2RhdGEtYmctcG9zPVwiYm90dG9tIGxlZnRcIl0ge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogOTAlIDkwJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vZXN0YWJsaXNoaW5nIHRoZSBvcmlnaW4gb2YgdGhlIHpvb20gYW5pbWF0aW9uIHdoaWNoXHJcbiAgICAgICAgJltkYXRhLWFuaW1hdGlvbj1cImNlbnRlclwiXSB7XHJcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmW2RhdGEtYW5pbWF0aW9uPVwidG9wIHJpZ2h0XCJdIHtcclxuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCByaWdodDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJltkYXRhLWFuaW1hdGlvbj1cInRvcCBsZWZ0XCJdIHtcclxuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmW2RhdGEtYW5pbWF0aW9uPVwiYm90dG9tIHJpZ2h0XCJdIHtcclxuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSByaWdodDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJltkYXRhLWFuaW1hdGlvbj1cImJvdHRvbSBsZWZ0XCJdIHtcclxuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJi5wYXVzZWQge1xyXG4gICAgICAgIC5iZ0ltZ1dyYXBwZXIudHJhbnMge1xyXG4gICAgICAgICAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmJnSW1nLnRyYW5zIHtcclxuICAgICAgICAgIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuYmdJbWcsXHJcbiAgICAuc2VjdGlvbkJnIHtcclxuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgQGluY2x1ZGUgYmdQb3MoKTtcclxuICAgIH1cclxuICAgIHZpZGVvIHtcclxuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0LWdyZXkpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuI2JhY2tncm91bmQge1xyXG4gIFtkYXRhLWlzLWxvYWRpbmc9XCJ0cnVlXCJdICYge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbn1cclxuXHJcbiNiYWNrZ3JvdW5kUGxheUJ0biB7XHJcbiAgQGluY2x1ZGUgZGlzY292ZXJ5VG9vbHNBY3RpdmUge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGFjdGl2ZURpYWxvZyhcInV0aWxpdHlNZW51XCIpIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBhY3RpdmVab25lKFwic2xpZGVzXCIpIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG5cclxuICBbZGF0YS1pcy1sb2FkaW5nPVwidHJ1ZVwiXSAmIHtcclxuICAgIG9wYWNpdHk6IDAgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5pY29uLXBsYXkge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbiAgJi5wYXVzZSB7XHJcbiAgICAuaWNvbi1wbGF5IHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgICAuaWNvbi1wYXVzZSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIkB1c2UgXCIuLi9fZ2xvYmFsL3NoYXJlZC1iYWNrZ3JvdW5kXCI7XHJcbkB1c2UgXCJtaXhpbnNcIiBhcyAqO1xyXG5AdXNlIFwiLi4vX2dsb2JhbC9zaGFyZWQtdmFyaWFibGVzXCIgYXMgKjtcclxuXHJcbi8vS0VZRlJBTUUgQU5JTUFUSU9OUyBGT1IgWk9PTSBTTElERVNIT1cvL1xyXG5cclxuI2JhY2tncm91bmQge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICB3aWR0aDogMTAwdnc7XHJcbiAgaGVpZ2h0OiAxMDB2aDtcclxuICBvcGFjaXR5OiAxO1xyXG4gIHRyYW5zaXRpb246IGFsbCAkZmFzdDtcclxuXHJcbiAgLmNvdmVyLXNsaWRlcixcclxuICB2aWRlbyxcclxuICAubWFpbkJnSW1nIHtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBpbnNldDogMDtcclxuICB9XHJcbiAgLnNlY3Rpb25CZ0hvbGRlciB7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgaW5zZXQ6IDA7XHJcbiAgICAubWVudU91dCAmIHtcclxuICAgICAgei1pbmRleDogMztcclxuICAgIH1cclxuICAgICZbZGF0YS1zZWN0aW9uLWJnLW9ubHk9XCJ0cnVlXCJdIHtcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xyXG4gICAgICAuaW5TZWN0aW9uICYge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5iZ0ltZyxcclxuICAuc2VjdGlvbkJnIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICB9XHJcblxyXG4gIHZpZGVvIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICB9XHJcblxyXG4gICY6YWZ0ZXIge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHotaW5kZXg6IDU7XHJcbiAgICBpbnNldDogMDtcclxuICAgIGJhY2tncm91bmQ6IHZhci1yZ2JhKC0tbGlnaHQsIDAuMik7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNXB4KTtcclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJG1lZGl1bTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGFjdGl2ZVpvbmUoXCJzbGlkZXNcIikge1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4jYmFja2dyb3VuZFBsYXlCdG4ge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IGNhbGModmFyKC0taGVhZGVyLWhlaWdodCkgKyA1cHgpO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIHotaW5kZXg6IDE1MDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgd2lkdGg6IDQwcHg7XHJcbiAgaGVpZ2h0OiA0MHB4O1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKSAwIDAgdmFyKC0tcmFkaXVzLXNtKTtcclxuICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cpO1xyXG4gIGJvcmRlci13aWR0aDogMnB4IDAgMnB4IDJweDtcclxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tbGlnaHQpO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICB0cmFuc2l0aW9uOiBhbGwgJHZlcnlGYXN0O1xyXG4gIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KC0tYnJhbmQtYnJpZ2h0KTtcclxuXHJcbiAgLnRleHQge1xyXG4gICAgQGluY2x1ZGUgdG9vbFRpcChsZWZ0LCAkb2Zmc2V0OiA1cHgpO1xyXG4gICAgZm9udC1zaXplOiAwLjhlbTtcclxuICB9XHJcblxyXG4gIC5pY29uIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGZvbnQtc2l6ZTogMS4yZW07XHJcbiAgICB6LWluZGV4OiA0O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgaG92ZXJBbmRGb2N1cyB7XHJcbiAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgtLWhvdmVyKTtcclxuICAgIC50ZXh0IHtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgc2NhbGU6IDE7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBNRURJQSBRVUVSSUVTICYgQlJPV1NFUi1TUEVDSUZJQyBBREpVU1RNRU5UUyBCRUxPVyAvL1xyXG5AbWVkaWEgKG1heC13aWR0aDogJHhzKSB7XHJcbiAgI2JhY2tncm91bmQge1xyXG4gICAgdG9wOiAwO1xyXG4gICAgaGVpZ2h0OiAxMDB2aDtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWJyYW5kLWRhcmspO1xyXG5cclxuICAgIC5iZ0ltZyxcclxuICAgIC5zZWN0aW9uQmcsXHJcbiAgICB2aWRlbyxcclxuICAgIC5tYWluQmdJbWcsXHJcbiAgICAuc2VjdGlvbkJnSG9sZGVyIHtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBoZWlnaHQ6IG1heCgyMDBweCwgNTB2aCk7XHJcbiAgICB9XHJcblxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJyYW5kLWRhcmspO1xyXG4gICAgICBiYWNrZHJvcC1maWx0ZXI6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgYWN0aXZlWm9uZShcInNsaWRlc1wiKSB7XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiQHVzZSBcIm1peGluc1wiIGFzICo7XHJcbkB1c2UgXCIuLi9fZ2xvYmFsL3NoYXJlZC12YXJpYWJsZXNcIiBhcyAqO1xyXG5cclxuLy8gQkVHSU4gQkFTRSBTVFlMRVMgLSBETyBOT1QgQ0hBTkdFIFRIRVNFIFVOTEVTUyBZT1UgS05PVyBXSEFUIFlPVSdSRSBET0lORyAvL1xyXG5cclxuLmJ1ZmZlciB7XHJcbiAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gIG1pbi1oZWlnaHQ6IGNhbGMoMTAwZHZoIC0gNDBweCk7XHJcblxyXG4gIC5sYW5kaW5nICYge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB9XHJcbn1cclxuXHJcbmZvb3RlciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogNDBweDtcclxuICBwYWRkaW5nOiAwIDE1cHg7XHJcbiAgYmFja2dyb3VuZDogIzAwMDtcclxuICB6LWluZGV4OiA5OTk5O1xyXG5cclxuICAuYWRnTG9nb1dyYXAge1xyXG4gICAgYSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBiYWNrZ3JvdW5kOiAjMDAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLmFkZ0xvZ28ge1xyXG4gICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnNvY2lhbE1lZGlhIHtcclxuICAuc29jaWFsTWVkaWFUaXRsZSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcblxyXG4gIC5zb2NpYWxNZWRpYUxvZ2lucyB7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmciAxZnI7XHJcbiAgICBnYXA6IDEwcHg7XHJcbiAgICAuZmFjZWJvb2tMb2dpbiB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHJnYig4LCAxMDIsIDI1NSkgIWltcG9ydGFudDtcclxuICAgICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCkgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5nb29nbGVMb2dpbiB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICNlYmViZWMgIWltcG9ydGFudDtcclxuICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XHJcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCkgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC50d2l0dGVyTG9naW4ge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAjMTQxNzFhICFpbXBvcnRhbnQ7XHJcbiAgICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpICFpbXBvcnRhbnQ7XHJcbiAgICAgIC50ZXh0IHtcclxuICAgICAgICBAaW5jbHVkZSBzY3JlZW5SZWFkZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5hcHBsZUxvZ2luIHtcclxuICAgICAgYmFja2dyb3VuZDogYmxhY2sgIWltcG9ydGFudDtcclxuICAgICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCkgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgID4gYSB7XHJcbiAgICAgIEBpbmNsdWRlIGZsZXhDZW50ZXI7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xyXG4gICAgICBoZWlnaHQ6IDQ1cHg7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgcGFkZGluZzogMWVtICFpbXBvcnRhbnQ7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDtcclxuXHJcbiAgICAgIC5zdmdJY29uIHtcclxuICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA3cHg7XHJcbiAgICAgIH1cclxuICAgICAgLnRleHQge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4xZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5hcHBsZUxvZ2luIHtcclxuICAgICAgaGVpZ2h0OiA0NXB4O1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgID4gZGl2IHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4vKlxyXG4ubG9naW5XcmFwcGVyW2RhdGEtaGlkZGVuLWZvci1ndWVzdD1cInRydWVcIl0ge1xyXG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxufSovXHJcblxyXG4uZ3Vlc3RXcmFwcGVySG9sZGVyIHtcclxuICBtYXgtaGVpZ2h0OiAwO1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB0cmFuc2l0aW9uOiBhbGwgJHNsb3c7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxufVxyXG5cclxuLy9UaGVzZSBzdHlsZSBpcyBqdXN0IHVzZWQgZm9yIHRoZSBIb25leXBvdCBmZWF0dXJlLiBUaGVzZSBzdHlsZXMga2VlcCB0aGUgZmllbGQgZnJvbSBiZWluZyBzZWVuIGJ5IGh1bWFucyBhbmQgdGhleSBzaG91bGQgbm90IGJlIGNoYW5nZWQgb3IgcmVtb3ZlZC5cclxuLmZpZWxkV3JhcHBlci5lbnJvbGxlZU5hbWUge1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgQGluY2x1ZGUgYWJzb2x1dGU7XHJcbiAgd2lkdGg6IDA7XHJcbiAgaGVpZ2h0OiAwO1xyXG4gIHotaW5kZXg6IC0xO1xyXG59XHJcblxyXG4uZmllbGRXcmFwcGVyLnBob25lIHtcclxuICAjUGhvbmVOdW1iZXIge1xyXG4gICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xyXG4gIH1cclxuXHJcbiAgLml0aSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGNvbG9yOiB2YXIoLS1iYXNpYyk7XHJcblxyXG4gICAgLml0aV9fY291bnRyeS1jb250YWluZXIge1xyXG4gICAgICB0b3A6IDE4cHg7XHJcbiAgICAgIGJvdHRvbTogMXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5pdGlfX3NlbGVjdGVkLWNvdW50cnkge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpIDAgMCB2YXIoLS1yYWRpdXMpO1xyXG4gICAgfVxyXG5cclxuICAgIC5pdGlfX2Ryb3Bkb3duLWNvbnRlbnQge1xyXG4gICAgICB6LWluZGV4OiAzO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuOnJvb3Qge1xyXG4gIC0taXRpLXBhdGgtZmxhZ3MtMXg6IHVybChcIi9JbWFnZXMvZmxhZ3MucG5nXCIpO1xyXG4gIC0taXRpLXBhdGgtZmxhZ3MtMng6IHVybChcIi9JbWFnZXMvZmxhZ3NAMngucG5nXCIpO1xyXG4gIC0taXRpLXBhdGgtZ2xvYmUtMXg6IHVybChcIi9JbWFnZXMvZ2xvYmUucG5nXCIpO1xyXG4gIC0taXRpLXBhdGgtZ2xvYmUtMng6IHVybChcIi9JbWFnZXMvZ2xvYmVAMngucG5nXCIpO1xyXG59XHJcblxyXG4vLyBFTkQgQkFTRSBTVFlMRVMgLy9cclxuXHJcbmJvZHkge1xyXG4gICY6YmVmb3JlIHtcclxuICAgIC8vIG5hdmlnYXRpb24gYmFja2dyb3VuZFxyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTQwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJSA0MCUgNDAlIDUwJTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAwJTtcclxuICAgIHNjYWxlOiAxLjIgMjtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgfVxyXG59XHJcblxyXG4jYmFja2dyb3VuZCB7XHJcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA2MHB4KTtcclxufVxyXG5cclxuI2JhY2tncm91bmRQbGF5QnRuIHtcclxuICB0b3A6IDE4NXB4O1xyXG59XHJcblxyXG5oZWFkZXIge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB6LWluZGV4OiAxMjA7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICB3aWR0aDogMTAwJTtcclxuXHJcbiAgLmJyYW5kaW5nIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xyXG4gICAgZmxleC1ncm93OiAxO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgcGFkZGluZzogMjVweCA1MHB4O1xyXG5cclxuICAgIGgxIHtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLm9yaWVudGF0aW9uVGl0bGUge1xyXG4gICAgQGluY2x1ZGUgc2NyZWVuUmVhZGVyO1xyXG4gIH1cclxuXHJcbiAgLmxvZ29XcmFwIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHotaW5kZXg6IDU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiA0NXB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB3aWR0aDogMzAwcHg7XHJcbiAgICBhc3BlY3QtcmF0aW86IDMwIC8gMTI7XHJcbiAgICBwYWRkaW5nOiAwIDAgMjVweCAxMHB4O1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xyXG4gICAgZmlsdGVyOiBkcm9wLXNoYWRvdygtMnB4IC0ycHggNXB4IHZhci1yZ2JhKC0tYmxhY2ssIDAuNSkpO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsICRtZWRpdW0gdmFyKC0tdGltaW5nLWJvdW5jZSk7XHJcblxyXG4gICAgLnNhZmFyaTE2ICYsXHJcbiAgICAuc2FmYXJpMTUgJiB7XHJcbiAgICAgIC8vIEdpdmUgbG9nbyBob2xkZXIgYSBzbWFsbCBib3JkZXIgYmVjYXVzZSB0aGUgZHJvcC1zaGFkb3dcclxuICAgICAgLy8gZmlsdGVyIGRvZXNuJ3Qgd29yayBmb3Igb2xkZXIgc2FmYXJpIHZlcnNpb25zLlxyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgYm90dG9tOiAtMXB4O1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDFweCk7XHJcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZC1icmlnaHQpO1xyXG4gICAgICAgIGNsaXAtcGF0aDogdXJsKCNob3Jpem9uTG9nb1NoYXBlTmV3KTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJG1lZGl1bTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIEJhY2tncm91bmRcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGJvdHRvbTogMDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0KTtcclxuICAgICAgY2xpcC1wYXRoOiB1cmwoI2hvcml6b25Mb2dvU2hhcGVOZXcpO1xyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgJG1lZGl1bTtcclxuICAgIH1cclxuXHJcbiAgICAubG9nbyB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgei1pbmRleDogNDtcclxuICAgICAgbWF4LXdpZHRoOiA2NSU7XHJcbiAgICAgIG1heC1oZWlnaHQ6IDY1JTtcclxuICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIGhlaWdodDogYXV0bztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIFtkYXRhLWxvZ28tYXNwZWN0PVwidGFsbFwiXSAmIHtcclxuICAgIC5sb2dvV3JhcCB7XHJcbiAgICAgIHRvcDogLTE1cHg7XHJcbiAgICAgIHBhZGRpbmc6IDE1cHggMCAxMHB4O1xyXG4gICAgICB3aWR0aDogMjgwcHg7XHJcbiAgICAgIGhlaWdodDogMTgwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uaGVhZGVyRWxlbWVudCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgei1pbmRleDogMTEwO1xyXG4gIGhlaWdodDogNjBweDtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHJcbiAgJjpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogNjAwcHg7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDAlIDAlIDQwJSA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTtcclxuICAgIHNjYWxlOiAxLjIgMjtcclxuICAgIHRyYW5zaXRpb246IGFsbCAkbWVkaXVtIHZhcigtLXRpbWluZy1ib3VuY2UpO1xyXG4gICAgei1pbmRleDogLTE7XHJcbiAgfVxyXG59XHJcblxyXG4jbWVtYmVyc2hpcCB7XHJcbiAgLS1mb2N1cy1vdXRsaW5lLWNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcclxuICAtLWZvY3VzLXNoYWRvdy1jb2xvcjogdmFyKC0tbGlnaHQpO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB6LWluZGV4OiA1O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gIG1hcmdpbi10b3A6IDIwMHB4O1xyXG4gIG1pbi1oZWlnaHQ6IGNhbGMoMTAwZHZoIC0gMjAwcHgpO1xyXG4gIHdpZHRoOiAxMDB2dztcclxuICBtYXgtd2lkdGg6IDEwMDBweDtcclxuICBtYXJnaW4tbGVmdDogYXV0bztcclxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcblxyXG4gIC50aXRsZUFyZWEge1xyXG4gICAgbWFyZ2luOiBhdXRvIGF1dG8gMDtcclxuICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KC0tYnJhbmQtYnJpZ2h0KTtcclxuICAgIHBhZGRpbmc6IDQwcHggODBweCAxMHB4O1xyXG4gICAgbWF4LXdpZHRoOiAxMDAwcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy14eGwpIHZhcigtLXJhZGl1cy14eGwpIDAgMDtcclxuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tbGlnaHQpO1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci13aWR0aDogM3B4IDNweCAwIDNweDtcclxuXHJcbiAgICAmLmFjY291bnRQcm9maWxlciB7XHJcbiAgICAgIGgxIHtcclxuICAgICAgICBmb250LXNpemU6IDJlbTtcclxuICAgICAgICBmb250LXdlaWdodDogODAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaDIge1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS44ZW07XHJcbiAgICB9XHJcblxyXG4gICAgcCB7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZXJyb3JNZXNzYWdlLFxyXG4gIC5maWVsZC12YWxpZGF0aW9uLWVycm9yIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KC0td3JvbmcpO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIHBhZGRpbmc6IDVweCAxMHB4O1xyXG4gICAgbWFyZ2luOiAycHggYXV0byAxMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcclxuICB9XHJcblxyXG4gIC5sb2dpbk5hdiB7XHJcbiAgICBAaW5jbHVkZSBmbGV4Q2VudGVyO1xyXG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIHZhcigtLWxpZ2h0LWdyZXkpO1xyXG4gICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgZm9udC1zaXplOiAwLjllbTtcclxuXHJcbiAgICBhIHtcclxuICAgICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoLS1icmFuZC1icmlnaHQpO1xyXG4gICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICBib3JkZXItd2lkdGg6IDJweDtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDJweDtcclxuICAgICAgdHJhbnNpdGlvbjogYWxsICR2ZXJ5RmFzdDtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGhvdmVyIHtcclxuICAgICAgICBzY2FsZTogMS4wNTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgID4gKiB7XHJcbiAgICAgIG1hcmdpbjogMCA1cHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZm9ybVdyYXAge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtaW4taGVpZ2h0OiAyMDBweDtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgcGFkZGluZzogMjBweCA3MHB4IDUwcHg7XHJcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWxpZ2h0KTtcclxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICBib3JkZXItd2lkdGg6IDAgM3B4IDAgM3B4O1xyXG4gICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoLS1icmFuZC1icmlnaHQpO1xyXG5cclxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XHJcbiAgICAgIEBpbmNsdWRlIHJhZGlvO1xyXG4gICAgfVxyXG5cclxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XHJcbiAgICAgIEBpbmNsdWRlIGNoZWNrYm94O1xyXG4gICAgfVxyXG5cclxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB+IGxhYmVsLFxyXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIH4gbGFiZWwge1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuMzVlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5mb3JtV3JhcC5sb2dpbiB7XHJcbiAgICAuc3RhdHVzTWVzc2FnZSB7XHJcbiAgICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KHZhcigtLWJsYWNrKSk7XHJcbiAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xyXG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgIG1hcmdpbjogMTBweCBhdXRvO1xyXG4gICAgfVxyXG4gICAgLmhvcnpEaXZpZGVyIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgbWFyZ2luOiAyNXB4IDA7XHJcblxyXG4gICAgICAubGluZSB7XHJcbiAgICAgICAgaGVpZ2h0OiAxcHg7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHZhci1yZ2JhKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0LCAwLjgpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAub3Ige1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgbWFyZ2luLWlubGluZTogMTVweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5sb2dpbldyYXBwZXIge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xyXG4gICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgLmZpZWxkV3JhcHBlciB7XHJcbiAgICAgICAgbWluLXdpZHRoOiAyMDBweDtcclxuICAgICAgICBtYXgtd2lkdGg6IDM1MHB4O1xyXG4gICAgICB9XHJcbiAgICAgIC5maWVsZC12YWxpZGF0aW9uLWVycm9yIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICB9XHJcbiAgICAgIGgzIHtcclxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuZW1wbG95ZWVMb2dpbiB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBwYWRkaW5nOiAzMHB4IDIwcHg7XHJcbiAgICAgIG1hcmdpbi10b3A6IDI1cHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjg7XHJcbiAgICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KC0tYnJhbmQtZGFyayk7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgaDMge1xyXG4gICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgIH1cclxuICAgICAgYSB7XHJcbiAgICAgICAgcGFkZGluZzogOHB4IDE2cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgtLWxpZ2h0KTtcclxuICAgICAgICBAaW5jbHVkZSBob3ZlckFuZEZvY3VzIHtcclxuICAgICAgICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KC0taG92ZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIHtcclxuICAgIHBhZGRpbmc6IDAgODBweDtcclxuICAgIG1pbi1oZWlnaHQ6IDIwMHB4O1xyXG5cclxuICAgIC5idXR0b25zIHtcclxuICAgICAgQGluY2x1ZGUgZmxleENlbnRlcjtcclxuICAgICAgZ2FwOiAyNXB4O1xyXG4gICAgICBwYWRkaW5nOiA1MHB4IDIwcHg7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuXHJcbiAgICAgIGEge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBnYXA6IDI1cHg7XHJcbiAgICAgICAgcGFkZGluZzogMjBweCAyMHB4O1xyXG4gICAgICAgIG1heC13aWR0aDogNDAwcHg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWluLWhlaWdodDogNjVweDtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgdmFyKC0tbGlnaHQpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KC0tYnJhbmQtZGFyayk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXhsKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHZlcnlGYXN0O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBob3ZlckFuZEZvY3VzIHtcclxuICAgICAgICAgIHNjYWxlOiAxLjA1O1xyXG4gICAgICAgICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoLS1icmFuZC1kYXJrKTtcclxuXHJcbiAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICBzY2FsZTogMS4xO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgtLWhvdmVyKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpoYXMoLmltYWdlKSB7XHJcbiAgICAgICAgICAuZ3JhcGhpY0hvbGRlciB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTE1cHg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAuZ3JhcGhpY0hvbGRlciB7XHJcbiAgICAgICAgbWluLWhlaWdodDogNzhweDtcclxuICAgICAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBmbGV4LXNocmluazogMDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHZlcnlGYXN0O1xyXG4gICAgICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7XHJcbiAgICAgICAgQGluY2x1ZGUgc3F1aXJjbGU7XHJcbiAgICAgICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoLS1saWdodCk7XHJcblxyXG4gICAgICAgID4gKiB7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAkdmVyeUZhc3Q7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAuaW1hZ2Uge1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuaWNvbiB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWljb24tZm9udCk7XHJcbiAgICAgICAgZm9udC1zaXplOiAyLjhlbTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogMTVweDtcclxuICAgICAgICBjb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XHJcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tbGlnaHQpO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWxpZ2h0KTtcclxuICAgICAgICBAaW5jbHVkZSBzcXVpcmNsZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLnRleHQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS41ZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5ndWVzdExvZ2luQnRuIHtcclxuICAgICAgICAuaWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgY29udGVudDogXCJrXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAuZW5yb2xsZWVMb2dpbkJ0biB7XHJcbiAgICAgICAgLmljb246YmVmb3JlIHtcclxuICAgICAgICAgIGNvbnRlbnQ6IFwiQ1wiO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmZvcm1XcmFwLmFjY291bnRQcm9maWxlciB7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgLy8gd2lkdGg6IDYwMHB4O1xyXG4gICAgcGFkZGluZy10b3A6IDMwcHg7XHJcbiAgICBjb2xvcjogdmFyKC0tbGlnaHQtY29udHJhc3QpO1xyXG4gICAgLnByb2ZpbGVyRm9ybVdyYXBwZXIge1xyXG4gICAgICBtYXgtd2lkdGg6IDYwMHB4O1xyXG4gICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIH1cclxuXHJcbiAgICAucHJvZmlsZVNldHRpbmdzRXhwbGFpbmVyLFxyXG4gICAgLnByb2ZpbGVFcnJvcldyYXAge1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLmVycm9yTWVzc2FnZSB7XHJcbiAgICAgIGxpIHtcclxuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuaW5zdHJ1Y3Rpb24ge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLnN0eWxlZEZpZWxkc2V0LnBob25lIHtcclxuICAgICAgLmZpZWxkV3JhcHBlciB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHZhcigtLWxpZ2h0LWdyZXkpO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwIHtcclxuICAgICAgJi5wcm9maWxlU2VsZWN0RXhwbGFpbmVyIHtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4Q2VudGVyO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJyYW5kLWRhcmspO1xyXG4gICAgICAgIGNvbG9yOiBjYWxjLWNvbnRyYXN0KHZhcigtLWJyYW5kLWRhcmspKTtcclxuICAgICAgICBwYWRkaW5nOiA4cHggMTJweDtcclxuICAgICAgICBtYXJnaW46IDAgYXV0byAxOHB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XHJcblxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICBAaW5jbHVkZSBjc3NBcnJvdyhib3R0b20sICRjb2xvcjogdmFyKC0tYnJhbmQtZGFyayksICRoZWlnaHQ6IDdweCwgJHdpZHRoOiAxMHB4KTtcclxuICAgICAgICAgIEBpbmNsdWRlIGhvcnpDZW50ZXI7XHJcbiAgICAgICAgICBib3R0b206IC02cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmJ1dHRvbkhvbGRlciB7XHJcbiAgICAgIG1hcmdpbjogMjBweCAwIDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnJlc2V0QWNjb3VudFR5cGVCdG4ge1xyXG4gICAgICBib3JkZXI6IDA7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XHJcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gICAgICBmb250LXNpemU6IDAuOGVtO1xyXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYnJhbmQtZGFyayk7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgQGluY2x1ZGUgY29sb3JXaXRoQ29udHJhc3QoLS1icmFuZC1kYXJrKTtcclxuICAgICAgdHJhbnNpdGlvbjogJHZlcnlGYXN0O1xyXG5cclxuICAgICAgQGluY2x1ZGUgaG92ZXJBbmRGb2N1cyB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQpO1xyXG4gICAgICAgIEBpbmNsdWRlIGNvbG9yV2l0aENvbnRyYXN0KC0tYnJhbmQtYnJpZ2h0KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmZvcm1XcmFwLnR3b0ZhY3RvciB7XHJcbiAgICAuc2luZ2xlRmllbGRTdWJtaXNzaW9uIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcblxyXG4gICAgICAuZmllbGRXcmFwcGVyIHtcclxuICAgICAgICBtYXJnaW46IDAgNXB4IDAgMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgYnV0dG9uIHtcclxuICAgICAgICBAaW5jbHVkZSBidXR0b24odmFyKC0tYnJhbmQtZGFyayksIHZhcigtLWJyYW5kLWJyaWdodCkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgI1RGQUJ1dHRvbkFwcCB7XHJcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbjtcclxuICAgICAgcGFkZGluZzogMC4zNWVtIDAuNWVtO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgICNURkFCdXR0b25FbWFpbCxcclxuICAgICNPVFBCdXR0b24ge1xyXG4gICAgICBib3JkZXI6IDA7XHJcbiAgICAgIGJhY2tncm91bmQ6IDA7XHJcbiAgICAgIHBhZGRpbmc6IDAgMCAycHg7XHJcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1icmFuZC1kYXJrKTtcclxuICAgICAgQGluY2x1ZGUgY29sb3JXaXRoQ29udHJhc3QoLS1icmFuZC1kYXJrKTtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgICAgJltkYXRhLXdhaXQtYS1mZXc9XCJ0cnVlXCJdIHtcclxuICAgICAgICBvcGFjaXR5OiAwLjY7XHJcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmZvcm1XcmFwLmZvcmdvdFBhc3N3b3JkIHtcclxuICAgIHAge1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYnV0dG9uSG9sZGVyIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGJ1dHRvbiB7XHJcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbigtLWJyYW5kLWRhcmspO1xyXG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWxpZ2h0KTtcclxuICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc3R5bGVkRmllbGRzZXQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0KTtcclxuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XHJcblxyXG4gICAgbGVnZW5kIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XHJcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWxpZ2h0KTtcclxuICAgIH1cclxuXHJcbiAgICAuZ3JvdXBMZWdlbmQge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KC0tYnJhbmQtZGFyayk7XHJcbiAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xyXG4gICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgfVxyXG5cclxuICAgICNyZXF1aXJlbWVudHMge1xyXG4gICAgICA+IDpub3QoLmljb24pIHtcclxuICAgICAgICBjb2xvcjogdmFyKC0tbGlnaHQtY29udHJhc3QpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuaW52YWxpZCB7XHJcbiAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogXCJiXCI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uc2ltcGxlRGlhbG9nIHtcclxuICAuY2xvc2VEaWFsb2cge1xyXG4gICAgQGluY2x1ZGUgYnV0dG9uO1xyXG5cclxuICAgIC5pY29uIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbiNyZXNldERhdGEge1xyXG4gIGJ1dHRvbiB7XHJcbiAgICBAaW5jbHVkZSBidXR0b247XHJcbiAgfVxyXG59XHJcblxyXG4vLyBNRURJQSBRVUVSSUVTICYgQlJPV1NFUi1TUEVDSUZJQyBBREpVU1RNRU5UUyBCRUxPVyAvL1xyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6ICRsZykge1xyXG4gICNtZW1iZXJzaGlwIHtcclxuICAgIG1heC13aWR0aDogNzUwcHg7XHJcbiAgICAuZm9ybVdyYXAubGFuZGluZ1BhZ2Uge1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogJG1kKSB7XHJcbiAgI2JhY2tncm91bmRQbGF5QnRuIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMTE4cHg7XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogJHR3ZWVuKSB7XHJcbiAgI21lbWJlcnNoaXAge1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6ICRzbSkge1xyXG4gIC5zb2NpYWxNZWRpYSAuc29jaWFsTWVkaWFMb2dpbnMge1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xyXG4gICAgZ2FwOiA4cHg7XHJcbiAgfVxyXG4gIGhlYWRlciB7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcblxyXG4gICAgLmJyYW5kaW5nIHtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHJcbiAgICAgIC5vcmllbnRhdGlvblRpdGxlIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjVlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5sb2dvV3JhcCB7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgbWF4LXdpZHRoOiAyODBweDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgZmxleDogYXV0bztcclxuICAgIH1cclxuXHJcbiAgICBbZGF0YS1sb2dvLWFzcGVjdD1cInRhbGxcIl0gJiB7XHJcbiAgICAgIC5sb2dvV3JhcCB7XHJcbiAgICAgICAgd2lkdGg6IDIzMHB4O1xyXG4gICAgICAgIGhlaWdodDogMTUwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5oZWFkZXJFbGVtZW50IHtcclxuICAgIFtkYXRhLWxvZ28tYXNwZWN0PVwidGFsbFwiXSAmIHtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIHdpZHRoOiA0MDBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgI21lbWJlcnNoaXAge1xyXG4gICAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIHtcclxuICAgICAgLmJ1dHRvbnMge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XHJcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IDA7XHJcbiAgICAgICAgZ2FwOiAxOHB4O1xyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgLmdyYXBoaWNIb2xkZXIge1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA4MHB4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZvcm1XcmFwLmxvZ2luIHtcclxuICAgICAgLmxvZ2luV3JhcHBlciB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBnYXA6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICNiYWNrZ3JvdW5kUGxheUJ0biB7XHJcbiAgICB0b3A6IDE2NXB4O1xyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6ICR4cykge1xyXG4gIGhlYWRlciB7XHJcbiAgICAubG9nb1dyYXAge1xyXG4gICAgICBsZWZ0OiAtMjBweDtcclxuICAgICAgd2lkdGg6IDIwMHB4O1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcclxuICAgIH1cclxuXHJcbiAgICBbZGF0YS1sb2dvLWFzcGVjdD1cInRhbGxcIl0gJiB7XHJcbiAgICAgIC5sb2dvV3JhcCB7XHJcbiAgICAgICAgbGVmdDogLTE1cHg7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XHJcbiAgICAgICAgd2lkdGg6IDE1MHB4O1xyXG4gICAgICAgIGhlaWdodDogMTAwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5oZWFkZXJFbGVtZW50IHtcclxuICAgIGhlaWdodDogMTIwcHg7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBzY2FsZTogMTtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMjAwcHggLyA2MHB4O1xyXG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xyXG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcclxuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcclxuICAgICAgdG9wOiAtMTAwcHg7XHJcbiAgICAgIGxlZnQ6IC0xcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAjYmFja2dyb3VuZCB7XHJcbiAgICBoZWlnaHQ6IDEwMHZoO1xyXG4gIH1cclxuICAjbWVtYmVyc2hpcCB7XHJcbiAgICAudGl0bGVBcmVhIHtcclxuICAgICAgcGFkZGluZy1pbmxpbmU6IDMwcHg7XHJcbiAgICAgIHRleHQtd3JhcDogYmFsYW5jZTtcclxuICAgICAgaDIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS41ZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZm9ybVdyYXAubGFuZGluZ1BhZ2Uge1xyXG4gICAgICBwYWRkaW5nLWlubGluZTogMjBweDtcclxuICAgICAgLmJ1dHRvbnMge1xyXG4gICAgICAgIGdhcDogMTRweDtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy14eGwpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5mb3JtV3JhcCB7XHJcbiAgICAgICYuYWNjb3VudFByb2ZpbGVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAjcmVzZXREYXRhIHtcclxuICAgIGJ1dHRvbiB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAjYmFja2dyb3VuZFBsYXlCdG4ge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkeHhzKSB7XHJcbiAgLnNvY2lhbE1lZGlhIC5zb2NpYWxNZWRpYUxvZ2lucyB7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuICAgIGdhcDogOHB4O1xyXG4gIH1cclxuXHJcbiAgI21lbWJlcnNoaXAge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDA7XHJcblxyXG4gICAgLnRpdGxlQXJlYSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLmZvcm1XcmFwIHtcclxuICAgICAgbWF4LXdpZHRoOiAxMDB2dztcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgcGFkZGluZy1pbmxpbmU6IDMwcHg7XHJcblxyXG4gICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmZvcm1XcmFwLmFjY291bnRQcm9maWxlciB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSB7XHJcbiAgICAgIC5idXR0b25zIHtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgIC5ncmFwaGljSG9sZGVyIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiA3MHB4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJAdXNlIFwic2hhcmVkLXZhcmlhYmxlc1wiIGFzICo7XHJcbkB1c2UgXCJzaGFyZWQtbWl4aW5zXCIgYXMgKjtcclxuQHVzZSBcIm1ldGEtbWl4aW5zXCIgYXMgKjtcclxuXHJcbi5ydGUge1xyXG4gIGNsZWFyOiBib3RoO1xyXG4gIGg0LFxyXG4gIGg1IHtcclxuICAgIG1hcmdpbjogMC44ZW0gMCAwLjVlbTtcclxuICB9XHJcbiAgPiAqOmZpcnN0LWNoaWxkIHtcclxuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuICB9XHJcbiAgPiAqOmxhc3QtY2hpbGQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gIH1cclxuICBhIHtcclxuICAgIEBpbmNsdWRlIGZvY3VzIHtcclxuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMnB4IGJsYWNrICFpbXBvcnRhbnQ7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGE6aGFzKGltZykge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgLmljb24ge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMnB4O1xyXG4gICAgICByaWdodDogM3B4O1xyXG4gICAgICBwYWRkaW5nOiA2cHg7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XHJcbiAgICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KC0tYnJhbmQtYnJpZ2h0KTtcclxuICAgICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93KTtcclxuICAgICAgdHJhbnNpdGlvbjogYWxsICR2ZXJ5RmFzdDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGhvdmVyQW5kRm9jdXMge1xyXG4gICAgICAuaWNvbiB7XHJcbiAgICAgICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoLS1ob3Zlcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIC5pY29uIHtcclxuICAgIC8vICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgLy8gfVxyXG4gIH1cclxuXHJcbiAgLy8gQkVHSU4gSU5MSU5FIE1FRElBIFNUWUxFUyAvL1xyXG4gIGlmcmFtZSB7XHJcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAoNDBweCAqIDIpKTtcclxuICAgIG1heC1oZWlnaHQ6IGNhbGMoKDEwMHZ3IC0gKDQwcHggKiAyKSkgLyAxLjc3NzgpOyAvKiAxNjo5ICovXHJcbiAgfVxyXG5cclxuICBpbWcge1xyXG4gICAgbWFyZ2luOiAxMHB4O1xyXG4gICAgJltzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0ge1xyXG4gICAgICBtYXJnaW46IDAgMCAyMHB4IDIwcHg7XHJcbiAgICB9XHJcbiAgICAmW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdIHtcclxuICAgICAgbWFyZ2luOiAwIDIwcHggMjBweCAwcHg7XHJcbiAgICB9XHJcbiAgICAmW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSxcclxuICAgICZbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0ge1xyXG4gICAgICBtYXgtd2lkdGg6IDYwJTtcclxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICR4cykge1xyXG4gICAgICAgIG1heC13aWR0aDogNTAlO1xyXG4gICAgICB9XHJcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkeHhzKSwgKG1heC13aWR0aDogJG1kKSBhbmQgKG1pbi13aWR0aDogJHNtICsgMSkge1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDhweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJHBhZDogNXB4O1xyXG4gICRib3JkZXI6IDFweDtcclxuICBmaWd1cmU6bm90KC50ZXJtQmJsKSB7XHJcbiAgICBtYXJnaW46IDIwcHggMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1yYWRpdXMpICsgI3skcGFkfSAtIHZhcigtLWJvcmRlcikpO1xyXG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXIpIHNvbGlkIHZhcigtLWdyZXkpO1xyXG4gICAgcGFkZGluZzogJHBhZDtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGltZyB7XHJcbiAgICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgIG1hcmdpbjogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpIHZhcigtLXJhZGl1cykgMHB4IDBweDtcclxuICAgIH1cclxuICAgICZbc3R5bGUqPVwidGV4dC1hbGlnbjogcmlnaHRcIl0ge1xyXG4gICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgIG1hcmdpbjogMCAwIDIwcHggMjBweDtcclxuICAgIH1cclxuICAgICZbc3R5bGUqPVwidGV4dC1hbGlnbjogbGVmdFwiXSB7XHJcbiAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICBtYXJnaW46IDAgMjBweCAyMHB4IDBweDtcclxuICAgIH1cclxuICAgICZbc3R5bGUqPVwidGV4dC1hbGlnbjogbGVmdFwiXSxcclxuICAgICZbc3R5bGUqPVwidGV4dC1hbGlnbjogcmlnaHRcIl0ge1xyXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XHJcbiAgICAgIG1heC13aWR0aDogNjAlO1xyXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJHhzKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XHJcbiAgICAgIH1cclxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICR4eHMpLCAobWF4LXdpZHRoOiAkbWQpIGFuZCAobWluLXdpZHRoOiAkc20gKyAxKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gOHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZmlnY2FwdGlvbiB7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDBweCAwcHggdmFyKC0tcmFkaXVzKSB2YXIoLS1yYWRpdXMpO1xyXG4gICAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgtLWxpZ2h0LWdyZXkpO1xyXG4gICAgICBmb250LXNpemU6IDAuOWVtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gRU5EIElOTElORSBNRURJQSBTVFlMRVMgLy9cclxuXHJcbiAgb2wge1xyXG4gICAgJltzdHlsZT1cImxpc3Qtc3R5bGUtdHlwZTogdXBwZXItYWxwaGE7XCJdLFxyXG4gICAgJltzdHlsZT1cImxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7XCJdLFxyXG4gICAgJltzdHlsZT1cImxpc3Qtc3R5bGUtdHlwZTogbG93ZXItZ3JlZWs7XCJdLFxyXG4gICAgJltzdHlsZT1cImxpc3Qtc3R5bGUtdHlwZTogdXBwZXItcm9tYW47XCJdLFxyXG4gICAgJltzdHlsZT1cImxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47XCJdIHtcclxuICAgICAgPiBsaTpiZWZvcmUge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIGh0dHBzOi8vd3d3LnczLm9yZy9XQUkvV0NBRzIxL1VuZGVyc3RhbmRpbmcvcmVmbG93Lmh0bWxcclxuICAvLyBFeGFtcGxlcyBvZiBjb250ZW50IHdoaWNoIHJlcXVpcmVzIHR3by1kaW1lbnNpb25hbCBsYXlvdXQgYXJlIFsuLi5dIGRhdGEgdGFibGVzIChub3QgaW5kaXZpZHVhbCBjZWxscyksIGFuZCBpbnRlcmZhY2VzXHJcbiAgLy8gd2hlcmUgaXQgaXMgbmVjZXNzYXJ5IHRvIGtlZXAgdG9vbGJhcnMgaW4gdmlldyB3aGlsZSBtYW5pcHVsYXRpbmcgY29udGVudC4gSXQgaXMgYWNjZXB0YWJsZSB0byBwcm92aWRlIHR3by1kaW1lbnNpb25hbFxyXG4gIC8vIHNjcm9sbGluZyBmb3Igc3VjaCBwYXJ0cyBvZiB0aGUgY29udGVudC5cclxuICAudGFibGVXcmFwcGVyIHtcclxuICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIGJhY2tncm91bmQ6XHJcbiAgICAgIGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdmFyKC0tbGlnaHQpIDMwJSwgdmFyLXJnYmEoLS1saWdodCwgMCkpLFxyXG4gICAgICBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHZhci1yZ2JhKC0tbGlnaHQsIDApLCB2YXIoLS1saWdodCkgNzAlKSAwIDEwMCUsXHJcbiAgICAgIHJhZGlhbC1ncmFkaWVudChmYXJ0aGVzdC1zaWRlIGF0IDAlIDUwJSwgdmFyLXJnYmEoLS1ibGFjaywgMC4yKSwgdmFyLXJnYmEoLS1ibGFjaywgMCkpLFxyXG4gICAgICByYWRpYWwtZ3JhZGllbnQoZmFydGhlc3Qtc2lkZSBhdCAxMDAlIDUwJSwgdmFyLXJnYmEoLS1ibGFjaywgMC4yKSwgdmFyLXJnYmEoLS1ibGFjaywgMCkpIDAgMTAwJTtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodCk7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6XHJcbiAgICAgIDQwcHggMTAwJSxcclxuICAgICAgNDBweCAxMDAlLFxyXG4gICAgICAxNHB4IDEwMCUsXHJcbiAgICAgIDE0cHggMTAwJTtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246XHJcbiAgICAgIDAgMCxcclxuICAgICAgMTAwJSxcclxuICAgICAgMCAwLFxyXG4gICAgICAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBsb2NhbCwgbG9jYWwsIHNjcm9sbCwgc2Nyb2xsO1xyXG4gICAgY29udGFpbmVyLXR5cGU6IGlubGluZS1zaXplO1xyXG5cclxuICAgIHRhYmxlIHtcclxuICAgICAgbWluLXdpZHRoOiA1MDBweDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgICBjYXB0aW9uIHtcclxuICAgICAgICBwYWRkaW5nOiA0cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgtLWJyYW5kLWRhcmspO1xyXG4gICAgICB9XHJcbiAgICAgIHRyOm50aC1jaGlsZChldmVuKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdmFyLXJnYmEoLS1icmFuZC1icmlnaHQsIDAuMTcpO1xyXG4gICAgICB9XHJcbiAgICAgIHRyOm50aC1jaGlsZChvZGQpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB2YXItcmdiYSgtLWJyYW5kLWJyaWdodCwgMC4wNik7XHJcbiAgICAgIH1cclxuICAgICAgdGgge1xyXG4gICAgICAgIHBhZGRpbmc6IDNweDtcclxuICAgICAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgtLWJyYW5kLWJyaWdodCk7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBibGFjaztcclxuICAgICAgfVxyXG4gICAgICB0ZCB7XHJcbiAgICAgICAgcGFkZGluZzogM3B4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMC45NWVtO1xyXG4gICAgICB9XHJcbiAgICAgIGEge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubW9iaWxlU2Nyb2xsTWVzc2FnZSB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgbWFyZ2luLXRvcDogOHB4O1xyXG4gICAgICBwYWRkaW5nOiA1cHggOHB4O1xyXG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xyXG4gICAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgtLWJyYW5kLWRhcmspO1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgYm90dG9tOiAxMDAlO1xyXG4gICAgICAgIGxlZnQ6IGNhbGMoNXB4ICsgdmFyKC0tcmFkaXVzKSk7XHJcbiAgICAgICAgd2lkdGg6IDBweDtcclxuICAgICAgICBoZWlnaHQ6IDBweDtcclxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogMCA2cHggOHB4IDVweDtcclxuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHZhcigtLWJyYW5kLWRhcmspIHRyYW5zcGFyZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AY29udGFpbmVyIChtYXgtd2lkdGg6IDUwMHB4KSB7XHJcbiAgLnJ0ZSAudGFibGVXcmFwcGVyIC5tb2JpbGVTY3JvbGxNZXNzYWdlIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB9XHJcbn1cclxuQG1lZGlhIChtYXgtd2lkdGg6ICR4cykge1xyXG4gIC5ydGUgLnRhYmxlV3JhcHBlciB7XHJcbiAgICAubW9iaWxlU2Nyb2xsTWVzc2FnZSB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiQHVzZSBcIi4uL19nbG9iYWwvc2hhcmVkLXJpY2hUZXh0U3R5bGVzXCIgYXMgKjtcclxuQHVzZSBcIi4uL19nbG9iYWwvc2hhcmVkLXZhcmlhYmxlc1wiIGFzICo7XHJcbkB1c2UgXCJtaXhpbnNcIiBhcyAqO1xyXG5cclxuLnJ0ZSxcclxuI3JldmVhbE1vZGFsRGlhbG9nIC5jb3B5V3JhcCB7XHJcbiAgcCB7XHJcbiAgICBmb250LWZhbWlseTogdmFyKC0tYmFzaWMtZm9udCk7XHJcbiAgICBmb250LXNpemU6IDFlbTtcclxuICB9XHJcblxyXG4gIGgzLmhlYWRpbmcge1xyXG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgbWFyZ2luOiAwLjc1ZW0gMCAwLjRlbTtcclxuICAgIGZvbnQtc2l6ZTogMS42NWVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMjVlbTtcclxuICAgIEBpbmNsdWRlIGNvbG9yV2l0aENvbnRyYXN0KC0tYnJhbmQtZGFyayk7XHJcbiAgfVxyXG5cclxuICAuaGVhZGluZ0xpc3QsXHJcbiAgLnN1YmhlYWRpbmdMaXN0IHtcclxuICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgIG1hcmdpbjogMC43NWVtIDAgMC40ZW07XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4yNWVtO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHZhcigtLWJyYW5kLWRhcmspO1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIGxldHRlci1zcGFjaW5nOiAwLjAyNWVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xyXG4gICAgQGluY2x1ZGUgY29sb3JXaXRoQ29udHJhc3QoLS1icmFuZC1kYXJrKTtcclxuICB9XHJcblxyXG4gIGgzLmhlYWRpbmdMaXN0IHtcclxuICAgIGZvbnQtc2l6ZTogMS4yZW07XHJcbiAgfVxyXG5cclxuICBoNC5zdWJoZWFkaW5nTGlzdCB7XHJcbiAgICBmb250LXNpemU6IDFlbTtcclxuICB9XHJcblxyXG4gIGg0LnN1YmhlYWRpbmcge1xyXG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgbWFyZ2luOiAwLjc1ZW0gMCAwLjRlbTtcclxuICAgIGZvbnQtc2l6ZTogMS4zNWVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XHJcbiAgICBAaW5jbHVkZSBjb2xvcldpdGhDb250cmFzdCgtLWJhc2ljKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICB9XHJcblxyXG4gIC5sYXJnZVRleHQge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgZm9udC1zaXplOiAxLjNlbTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjRlbTtcclxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1wcmltYXJ5LWZvbnQpO1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWxpZ2h0LWdyZXkpO1xyXG4gICAgcGFkZGluZzogMTBweCAxNXB4IDEwcHggMjVweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgIGEge1xyXG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICBjb2xvcjogdmFyKC0tbGlnaHQtZ3JleS1jb250cmFzdCk7XHJcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDJweDtcclxuICAgIH1cclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgbGVmdDogMHB4O1xyXG4gICAgICB0b3A6IDBweDtcclxuICAgICAgd2lkdGg6IDEwcHg7XHJcbiAgICAgIGhlaWdodDogMDtcclxuICAgICAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcclxuICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0ICRmYXN0O1xyXG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAkdmVyeVNsb3c7XHJcblxyXG4gICAgICAuY3VycmVudCAmIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5oaWdobGlnaHQge1xyXG4gICAgYmFja2dyb3VuZDogdmFyLXJnYmEoLS1icmFuZC1icmlnaHQsIDAuMyk7XHJcbiAgfVxyXG5cclxuICB1bCB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgID4gbGkge1xyXG4gICAgICBtYXJnaW4tbGVmdDogNDBweDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG5cclxuICAgICAgJjo6bWFya2VyIHtcclxuICAgICAgICBmb250LXNpemU6IDEuMjVlbTtcclxuICAgICAgICBjb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9sIHtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICBjb3VudGVyLXJlc2V0OiBjb3VudGVyO1xyXG5cclxuICAgID4gbGkge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBjb3VudGVyO1xyXG4gICAgICBtYXJnaW4tbGVmdDogNDBweDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG5cclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IGNvdW50ZXIoY291bnRlcikgXCIuIFwiO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICByaWdodDogY2FsYygxMDAlICsgOHB4KTtcclxuICAgICAgICBjb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGEge1xyXG4gICAgQGluY2x1ZGUgY29sb3JXaXRoQ29udHJhc3QoLS1saW5rKTtcclxuICAgIC8vIEBpbmNsdWRlIGhvdmVyQW5kRm9jdXMge1xyXG4gICAgLy8gICBAaW5jbHVkZSBjb2xvcldpdGhDb250cmFzdCgtLWJhc2ljKTtcclxuICAgIC8vIH1cclxuICB9XHJcbn1cclxuXHJcbi5jYWxsb3V0U3VidGxlIHtcclxuICBjbGVhcjogYm90aDtcclxuICBtYXJnaW46IDFlbSAwIDAuNGVtO1xyXG4gIHBhZGRpbmc6IDEwcHggMTVweDtcclxuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xyXG4gIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KC0tbGlnaHQtZ3JleSk7XHJcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwcHggMXB4IDRweCByZ2JhKGJsYWNrLCAwLjIpKTtcclxuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1saWdodCk7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICBhIHtcclxuICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KC0tbGlnaHQtZ3JleSk7XHJcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgY2FsYy1jb250cmFzdCh2YXIoLS1saWdodC1ncmV5KSk7XHJcblxyXG4gICAgQGluY2x1ZGUgaG92ZXJBbmRGb2N1cyB7XHJcbiAgICAgIEBpbmNsdWRlIGNvbG9yV2l0aENvbnRyYXN0KC0tYmFzaWMpO1xyXG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1iYXNpYyk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uY2FsbG91dEJvbGQge1xyXG4gIGNsZWFyOiBib3RoO1xyXG4gIG1hcmdpbjogMC43NWVtIDAgMC40ZW07XHJcbiAgcGFkZGluZzogMTBweCAxNXB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XHJcbiAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoLS1icmFuZC1kYXJrKTtcclxuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDBweCAxcHggNHB4IHJnYmEoYmxhY2ssIDAuMikpO1xyXG4gIGEge1xyXG4gICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoLS1icmFuZC1kYXJrKTtcclxuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBjYWxjLWNvbnRyYXN0KHZhcigtLWJyYW5kLWRhcmspKTtcclxuXHJcbiAgICBAaW5jbHVkZSBob3ZlckFuZEZvY3VzIHtcclxuICAgICAgQGluY2x1ZGUgY29sb3JXaXRoQ29udHJhc3QoLS1iYXNpYyk7XHJcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWJhc2ljKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiQHVzZSBcIm1peGluc1wiIGFzICo7XHJcbkB1c2UgXCIuLi9fZ2xvYmFsL3NoYXJlZC12YXJpYWJsZXNcIiBhcyAqO1xyXG5cclxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLm1haW50ZW5hbmNlIHtcclxuICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZC1kYXJrKTtcclxuICBib3JkZXItY29sb3I6IHZhcigtLWxpZ2h0KTtcclxuXHJcbiAgLmZvcm1BcmVhIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cclxuICAgIC5ydGUge1xyXG4gICAgICBjb2xvcjogdmFyKC0tbGlnaHQpO1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5pY29uIHtcclxuICAgICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICAgIGZsZXgtZ3JvdzogMDtcclxuICAgICAgd2lkdGg6IDM1MHB4O1xyXG4gICAgICBoZWlnaHQ6IDM1MHB4O1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgZm9udC1zaXplOiAxNmVtO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAzNCUgNjYlIDcwJSAzMCUgLyA2MSUgNzQlIDI2JSAzOSU7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhci1kYXJrZW4oLS1icmFuZC1kYXJrLCAxMCUpO1xyXG4gICAgICBjb2xvcjogdmFyKC0tbGlnaHQpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6ICRzbSkge1xyXG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5tYWludGVuYW5jZSB7XHJcbiAgICAuZm9ybUFyZWEge1xyXG4gICAgICAuaWNvbiB7XHJcbiAgICAgICAgd2lkdGg6IDE1MHB4O1xyXG4gICAgICAgIGhlaWdodDogMTUwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiA2ZW07XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogOHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogJHhzKSB7XHJcbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwLm1haW50ZW5hbmNlIHtcclxuICAgIC5mb3JtQXJlYSB7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gICAgICAucnRlIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuaWNvbiB7XHJcbiAgICAgICAgd2lkdGg6IDc1cHg7XHJcbiAgICAgICAgaGVpZ2h0OiA3NXB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogM2VtO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJAdXNlIFwibWl4aW5zXCIgYXMgKjtcclxuQHVzZSBcIi4uL19nbG9iYWwvc2hhcmVkLXZhcmlhYmxlc1wiIGFzICo7XHJcblxyXG4ubWVtYmVyc2hpcFBhZ2UgLmVycm9yUGFnZSB7XHJcbiAgLnRpdGxlQXJlYSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAuZXJyb3JXcmFwIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgtLWJyYW5kLWJyaWdodCk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgcGFkZGluZzogMzBweDtcclxuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tbGlnaHQpO1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci13aWR0aDogMHB4IDNweCAwIDNweDtcclxuICB9XHJcblxyXG4gIC5pY29uIHtcclxuICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgZmxleC1ncm93OiAwO1xyXG4gICAgd2lkdGg6IDM1MHB4O1xyXG4gICAgaGVpZ2h0OiAzNTBweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBmb250LXNpemU6IDE2ZW07XHJcbiAgICBib3JkZXItcmFkaXVzOiA3NXB4O1xyXG4gICAgYm9yZGVyOiA0cHggc29saWQgdmFyKC0tbGlnaHQpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyLWRhcmtlbigtLWJyYW5kLWRhcmssIDEwJSk7XHJcbiAgICBjb2xvcjogdmFyKC0tbGlnaHQpO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB9XHJcblxyXG4gIC5ydGUge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xyXG4gICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcclxuICAgIGgzLmhlYWRpbmcge1xyXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogJG1kKSB7XHJcbiAgLm1lbWJlcnNoaXBQYWdlIC5lcnJvclBhZ2Uge1xyXG4gICAgLmljb24ge1xyXG4gICAgICBmb250LXNpemU6IDUuMjVlbTtcclxuICAgICAgd2lkdGg6IDEyNXB4O1xyXG4gICAgICBoZWlnaHQ6IDEyNXB4O1xyXG4gICAgICBib3JkZXItd2lkdGg6IDJweDtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6ICRzbSkge1xyXG4gIC5tZW1iZXJzaGlwUGFnZSAuZXJyb3JQYWdlIHtcclxuICAgIC5lcnJvcldyYXAge1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICBwYWRkaW5nLXRvcDogMjBweDtcclxuICAgIH1cclxuXHJcbiAgICAucnRlIHtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5pY29uIHtcclxuICAgICAgZm9udC1zaXplOiA0ZW07XHJcbiAgICAgIHdpZHRoOiAxMDBweDtcclxuICAgICAgaGVpZ2h0OiAxMDBweDtcclxuICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIkB1c2UgXCJzaGFyZWQtdmFyaWFibGVzXCIgYXMgKjtcclxuQHVzZSBcInNoYXJlZC1taXhpbnNcIiBhcyAqO1xyXG5cclxuQGxheWVyIGJhc2Uge1xyXG4gIGRldGFpbHMge1xyXG4gICAgLy8gSWYgeW91IGNoYW5nZSB0aGlzIHRyYW5zaXRpb24gc3BlZWQsIHlvdSdsbCBoYXZlIHRvIGNoYW5nZSBpdCBhdCB0aGUgdG9wIG9mIEFjY29yZGlvbi50c1xyXG4gICAgdHJhbnNpdGlvbjogYWxsICRtZWRpdW07XHJcbiAgICBjbGVhcjogYm90aDtcclxuICB9XHJcblxyXG4gIGRldGFpbHMgPiBzdW1tYXJ5OjptYXJrZXIsIC8qIExhdGVzdCBDaHJvbWUsIEVkZ2UsIEZpcmVmb3ggKi9cclxuICBkZXRhaWxzID4gc3VtbWFyeTo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlciAvKiBTYWZhcmkgKi8ge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gIC5hY2NvcmRpb25Nb2R1bGUge1xyXG4gICAgLmFjY29yZGlvblRpdGxlIHtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgICZbZGF0YS1pbnRlcmFjdGlvbi1tYW5kYXRvcnk9XCJ0cnVlXCJdOm5vdCguaW50ZXJhY3RlZFdpdGgpIHtcclxuICAgICAgLmljb24tbWFuZGF0b3J5IHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICAgIC5pbnRlcmFjdGlvbk5vdGlmaWNhdGlvbiB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgICAgICBAaW5jbHVkZSBzY3JlZW5SZWFkZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICArIC5ydGUge1xyXG4gICAgICBtYXJnaW4tdG9wOiAyNXB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxudWw6aGFzKC5hY2NvcmRpb25Nb2R1bGUpIHtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuXHJcbiAgPiBsaSB7XHJcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gIH1cclxuXHJcbiAgKyAucnRlIHtcclxuICAgIG1hcmdpbi10b3A6IDI1cHg7XHJcbiAgfVxyXG59XHJcbiIsIkB1c2UgXCIuLi9fZ2xvYmFsL3NoYXJlZC1hY2NvcmRpb25zXCI7XHJcbkB1c2UgXCIuLi9fZ2xvYmFsL3NoYXJlZC12YXJpYWJsZXNcIiBhcyAqO1xyXG5AdXNlIFwibWl4aW5zXCIgYXMgKjtcclxuQHVzZSBcInNhc3M6bWF0aFwiO1xyXG5cclxuLnByaW1hcnlBY2NvcmRpb24ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtYXJnaW46IDEwcHggMDtcclxuXHJcbiAgJltvcGVuXSB7XHJcbiAgICA+IC5hY2NvcmRpb25UaXRsZSB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSkgdmFyKC0tcmFkaXVzLXNtKSAwIDA7XHJcbiAgICAgIC5pY29uLWFycm93LWRvd24ge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoMTgwZGVnKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJltkYXRhLWludGVyYWN0aW9uLW1hbmRhdG9yeT1cInRydWVcIl06bm90KC5pbnRlcmFjdGVkV2l0aCkge1xyXG4gICAgLmljb24tbWFuZGF0b3J5IHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICByaWdodDogLTNweDtcclxuICAgICAgdG9wOiAtM3B4O1xyXG4gICAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgtLWJyYW5kLWJyaWdodCk7XHJcbiAgICAgIHBhZGRpbmc6IDNweDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gICAgICBib3gtc2hhZG93OiAxcHggMXB4IDhweCAwcHggdmFyLXJnYmEoLS1ibGFjaywgMC4zKTtcclxuICAgICAgZm9udC1zaXplOiAwLjc1ZW07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYWNjb3JkaW9uVGl0bGUge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoLS1icmFuZC1kYXJrKTtcclxuICAgIHBhZGRpbmc6IDIwcHggMjBweCAyMHB4IDM0cHg7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgJHZlcnlGYXN0O1xyXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcclxuXHJcbiAgICBAaW5jbHVkZSBob3ZlckFuZEZvY3VzIHtcclxuICAgICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoLS1icmFuZC1icmlnaHQpO1xyXG4gICAgICAuaWNvbi1hcnJvdy1kb3duIHtcclxuICAgICAgICBjb2xvcjogY2FsYy1jb250cmFzdCh2YXIoLS1icmFuZC1icmlnaHQpKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5pY29uLWFycm93LWRvd24ge1xyXG4gICAgICBjb2xvcjogY2FsYy1jb250cmFzdCgtLWJyYW5kLWRhcmspO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICBsZWZ0OiAxMnB4O1xyXG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKSB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XHJcbiAgICAgIHRyYW5zaXRpb246IDAuMnMgdHJhbnNmb3JtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmFjY29yZGlvbldyYXBwZXIge1xyXG4gICAgcGFkZGluZzogMjBweCAyMHB4O1xyXG4gICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoLS1saWdodCk7XHJcbiAgICBib3JkZXItbGVmdDogN3B4IHNvbGlkIHZhcigtLWxpZ2h0LWdyZXkpO1xyXG4gICAgaW1nIHtcclxuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICsgLnJ0ZSB7XHJcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xyXG4gIH1cclxufVxyXG5cclxuLy8gTUVESUEgUVVFUklFUyAmIEJST1dTRVItU1BFQ0lGSUMgQURKVVNUTUVOVFMgQkVMT1cgLy9cclxuIl19 */