@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 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;
    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);
    }
    .fieldWrapper .showHide:hover .icon:after,
    .umbraco-forms-field.shortanswer .showHide:hover .icon:after,
    .umbraco-forms-field.date .showHide:hover .icon:after,
    .umbraco-forms-field.password .showHide:hover .icon:after {
      background: 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);
  }
  [data-browser=ie] .fieldWrapper .showHide:hover .icon:after,
  [data-browser=ie] .umbraco-forms-field.shortanswer .showHide:hover .icon:after,
  [data-browser=ie] .umbraco-forms-field.date .showHide:hover .icon:after,
  [data-browser=ie] .umbraco-forms-field.password .showHide:hover .icon:after {
    background: 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);
  }
  .ie .fieldWrapper .showHide:hover .icon:after,
  .ie .umbraco-forms-field.shortanswer .showHide:hover .icon:after,
  .ie .umbraco-forms-field.date .showHide:hover .icon:after,
  .ie .umbraco-forms-field.password .showHide:hover .icon:after {
    background: 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 .icon:after,
  .umbraco-forms-field.shortanswer .showHide.focus-visible .icon:after,
  .umbraco-forms-field.date .showHide.focus-visible .icon:after,
  .umbraco-forms-field.password .showHide.focus-visible .icon:after {
    background: 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 .icon:after,
  .umbraco-forms-field.shortanswer .showHide:focus-visible .icon:after,
  .umbraco-forms-field.date .showHide:focus-visible .icon:after,
  .umbraco-forms-field.password .showHide:focus-visible .icon:after {
    background: 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: var(--brand-dark-contrast);
  }
  .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";
}

@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):focus-visible, *:not(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;
}

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

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

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

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

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

.membershipSkip {
  display: block;
}

html {
  scrollbar-gutter: stable;
}

willis-zone {
  display: block;
}

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

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

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

@layer base {
  .dialogBackdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: calc(100vw - var(--scrollbar-width));
    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(--black) calc(0.7 * 100%), transparent);
  scrollbar-color: var(--dark-grey) var(--light-grey);
}

.dialogContent {
  margin: 10px 0;
}

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

button.closeDialog .icon:before {
  font-family: var(--icon-font);
  font-size: 1.5em;
  text-transform: lowercase;
  content: "b";
}

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

[data-dialog-style=modal] {
  padding: 20px;
}
.safari [data-dialog-style=modal] {
  padding: 20px 20px 150px;
}
[data-dialog-style=modal] .dialogInner {
  border-radius: var(--radius);
  padding: 20px;
  text-align: center;
  background-color: var(--light);
  color: var(--light-contrast);
}

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

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

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

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

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

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

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

:root {
  --bg-offset: 500px;
}
@media (max-width: 1400px) {
  :root {
    --bg-offset: 400px;
  }
}
@media (max-width: 1200px) {
  :root {
    --bg-offset: 300px;
  }
}
@media (max-width: 1070px) {
  :root {
    --bg-offset: 200px;
  }
}
@media (max-width: 900px) {
  :root {
    --bg-offset: 0px;
  }
}

@property --p1 {
  syntax: "<percentage>";
  inherits: true;
  initial-value: 0%;
}
@property --p2 {
  syntax: "<percentage>";
  inherits: true;
  initial-value: 0%;
}
@property --p3 {
  syntax: "<percentage>";
  inherits: true;
  initial-value: 0%;
}
@property --p4 {
  syntax: "<percentage>";
  inherits: true;
  initial-value: 0%;
}
@property --o1 {
  syntax: "<number>";
  inherits: true;
  initial-value: 1;
}
@property --o2 {
  syntax: "<number>";
  inherits: true;
  initial-value: 1;
}
@property --o3 {
  syntax: "<number>";
  inherits: true;
  initial-value: 1;
}
@property --o4 {
  syntax: "<number>";
  inherits: true;
  initial-value: 1;
}
#background {
  position: fixed;
  top: var(--header-height);
  left: 0;
  width: 100vw;
  height: calc(100vh - var(--header-height));
  transition: all 500ms;
  width: 100%;
}
#background:after {
  --p1: 0%;
  --p2: 20%;
  --p3: 65%;
  --p4: 100%;
  --o1: 0;
  --o2: 0;
  --o3: 1;
  --o4: 1;
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  z-index: 5;
  height: 100%;
  width: 100%;
  background: linear-gradient(to right, color-mix(in srgb, var(--light) calc(var(--o1) * 100%), transparent) var(--p1), color-mix(in srgb, var(--light) calc(var(--o2) * 100%), transparent) var(--p2), color-mix(in srgb, var(--light) calc(var(--o3) * 100%), transparent) var(--p3), color-mix(in srgb, var(--light) calc(var(--o4) * 100%), transparent) var(--p4));
  transition: --p1 500ms, --p2 500ms, --p3 500ms, --p4 500ms, --o1 500ms, --o2 500ms, --o3 500ms, --o4 500ms;
}
#background > * {
  width: calc(100% - 350px);
}
#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 .cover-slider .bgImg {
  width: 100%;
}
#background .bgImg,
#background .sectionBg {
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100% - var(--bg-offset));
  height: 100%;
}
#background video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  width: calc(100% - var(--bg-offset));
}
.menuOut #background {
  top: 0;
  height: 100vh;
  filter: blur(10px);
}
.menuOut #background video,
.menuOut #background .bgImg,
.menuOut #background .sectionBg {
  width: 100%;
}
.menuOut #background:after {
  --p1: 50%;
  --p2: 50%;
  --p3: 50%;
  --p4: 100%;
  --o1: 1;
  --o2: 1;
  --o3: 1;
  --o4: 0.2;
}
[data-slide=centered].menuOut #background:after, [data-slide=full].menuOut #background:after {
  --p1: 0%;
  --p2: 40%;
  --p3: 70%;
  --p4: 100%;
  --o1: 0.9;
  --o2: 1;
  --o3: 1;
  --o4: 0.9;
}
[data-slide=frame].menuOut #background:after {
  --p1: 0%;
  --p2: 40%;
  --p3: 70%;
  --p4: 100%;
  --o1: 0.85;
  --o2: 0.9;
  --o3: 0.9;
  --o4: 0.85;
}

#backgroundPlayBtn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.8em 1.3em;
  border-width: 2px;
  border-radius: var(--radius-sm);
  border-style: solid;
  border-color: oklch(from var(--brand-dark) max(l - l * 0.1, 0) c h);
  line-height: 1.1em;
  text-align: center;
  font-family: var(--basic-font);
  font-weight: bold;
  outline-offset: 0;
  text-decoration: none;
  transition: all 0.1s;
  background-color: var(--brand-dark);
  color: var(--brand-dark-contrast);
  text-transform: uppercase;
  width: 40px;
  height: 40px;
  position: fixed;
  bottom: 10px;
  left: 10px;
  z-index: 150;
  padding: 8px;
}
#backgroundPlayBtn .icon {
  font-family: var(--icon-font);
}
@media (hover: hover) and (pointer: fine) {
  #backgroundPlayBtn:hover {
    transform: scale(1.03);
    text-decoration: none;
    background-color: var(--hover);
    color: var(--hover-contrast);
    border-color: oklch(from var(--hover) min(l + l * 0.2, 1) c h);
    cursor: pointer;
  }
}
[data-browser=ie] #backgroundPlayBtn:hover {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) min(l + l * 0.2, 1) c h);
  cursor: pointer;
}
.ie #backgroundPlayBtn:hover {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) min(l + l * 0.2, 1) c h);
  cursor: pointer;
}
#backgroundPlayBtn.focus-visible {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) min(l + l * 0.2, 1) c h);
  cursor: pointer;
}
#backgroundPlayBtn:focus-visible {
  transform: scale(1.03);
  text-decoration: none;
  background-color: var(--hover);
  color: var(--hover-contrast);
  border-color: oklch(from var(--hover) min(l + l * 0.2, 1) c h);
  cursor: pointer;
}
#backgroundPlayBtn[disabled], #backgroundPlayBtn[aria-disabled=true] {
  opacity: 0.5;
  cursor: not-allowed;
}
[data-active-dialog=checklist] #backgroundPlayBtn, [data-active-dialog=faq] #backgroundPlayBtn, [data-active-dialog=glossary] #backgroundPlayBtn, [data-active-dialog=achievements] #backgroundPlayBtn, [data-active-dialog=resources] #backgroundPlayBtn, [data-active-dialog=faqConfirmQuestionMessage] #backgroundPlayBtn, [data-active-dialog=faqQuestionSubmittedMessage] #backgroundPlayBtn {
  display: none;
}
[data-active-dialog=utilityMenu] #backgroundPlayBtn {
  display: none;
}
[data-active-dialog=search] #backgroundPlayBtn {
  display: none;
}
[data-active-zone=slides] #backgroundPlayBtn {
  display: none;
}
[data-is-loading=true] #backgroundPlayBtn {
  opacity: 0 !important;
}
#backgroundPlayBtn .text {
  left: calc(100% + 2px);
  top: 50%;
  position: absolute;
  scale: 0.1;
  border: 2px solid var(--light);
  padding: 2px 7px;
  white-space: nowrap;
  opacity: 0;
  font-family: var(--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: 0% 50%;
  translate: 0 -50%;
  pointer-events: none;
  font-size: 0.8em;
}
#backgroundPlayBtn .text:before {
  content: "";
  position: absolute;
  transition: all 500ms var(--timing-bounce);
  translate: 0 -50%;
  width: 10px;
  height: 10px;
  background-color: var(--light);
  top: 50%;
  right: 100%;
  height: 14px;
  -webkit-clip-path: polygon(0% 50%, 100% 0%, 100% 100%);
          clip-path: polygon(0% 50%, 100% 0%, 100% 100%);
}
#backgroundPlayBtn .text:after {
  content: "";
  position: absolute;
  transition: all 500ms var(--timing-bounce);
  translate: 0 -50%;
  width: 10px;
  height: 10px;
  background-color: var(--light);
  top: 50%;
  right: calc(100% - 2px);
  -webkit-clip-path: polygon(0% 50%, 100% 0%, 100% 100%);
          clip-path: polygon(0% 50%, 100% 0%, 100% 100%);
}
#backgroundPlayBtn .icon-play {
  display: none;
}
#backgroundPlayBtn.pause .icon-play {
  display: block;
}
#backgroundPlayBtn.pause .icon-pause {
  display: none;
}
@media (hover: hover) and (pointer: fine) {
  #backgroundPlayBtn:hover .text {
    opacity: 1;
    scale: 1;
  }
}
[data-browser=ie] #backgroundPlayBtn:hover .text {
  opacity: 1;
  scale: 1;
}
.ie #backgroundPlayBtn:hover .text {
  opacity: 1;
  scale: 1;
}
#backgroundPlayBtn.focus-visible .text {
  opacity: 1;
  scale: 1;
}
#backgroundPlayBtn:focus-visible .text {
  opacity: 1;
  scale: 1;
}

@media (max-width: 1050px) {
  #background:after {
    --p1: 0%;
    --p2: 20%;
    --p3: 55%;
    --p4: 100%;
    --o1: 0;
    --o2: 0;
    --o3: 0.95;
    --o4: 1;
  }
  .menuOut #background:after {
    --p1: 0%;
    --p2: 40%;
    --p3: 70%;
    --p4: 100%;
    --o1: 0.9;
    --o2: 1;
    --o3: 1;
    --o4: 0.9;
  }
}
@media (max-width: 900px) {
  #background {
    height: 70vh;
  }
  #background .cover-slider {
    width: 100%;
  }
  .menuOut #background {
    display: none;
  }
  #background:after {
    --p1: 0%;
    --p2: 20%;
    --p3: 55%;
    --p4: 100%;
    --o1: 0;
    --o2: 0;
    --o3: 0.95;
    --o4: 1;
    display: none;
  }
  #backgroundPlayBtn {
    position: absolute;
    bottom: auto;
    left: auto;
    right: 10px;
    top: calc(var(--header-height) + 10px);
  }
}
@media (max-width: 800px) {
  #background:after {
    --p1: 0%;
    --p2: 20%;
    --p3: 100%;
    --p4: 100%;
    --o1: 0;
    --o2: 1;
    --o3: 1;
    --o4: 1;
    display: none !important;
    top: max(100px, 25vh);
    height: max(100% - 100px, 100% - 50vh);
    background: linear-gradient(to bottom, color-mix(in srgb, var(--light) calc(var(--o1) * 100%), transparent) var(--p1), color-mix(in srgb, var(--light) calc(var(--o2) * 100%), transparent) var(--p2), color-mix(in srgb, var(--light) calc(var(--o3) * 100%), transparent) var(--p3), color-mix(in srgb, var(--light) calc(var(--o4) * 100%), transparent) var(--p4));
  }
  #background .bgImg,
  #background .sectionBg,
  #background video,
  #background .mainBgImg,
  #background .sectionBgHolder {
    top: 0;
    height: max(330px, 50vh);
  }
}
@media (max-width: 520px) {
  #backgroundPlayBtn {
    width: 32px;
    height: 32px;
    font-size: 0.9em;
  }
}
body {
  background: var(--light);
}

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

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

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

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

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

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

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

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

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

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

#background {
  top: 0;
  height: 100vh;
}

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

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

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

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

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

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

@media (max-width: 1280px) {
  .loginTeaserVideo {
    left: 20px;
    right: 650px;
  }
}
@media (max-width: 1050px) {
  .loginTeaserVideo {
    position: relative;
    left: auto;
    right: auto;
    top: auto;
    transform: none;
    width: 100%;
    padding: 0 6px 15px;
  }
}
@media (max-width: 900px) {
  :root {
    --login-w: 550px;
  }
  .membershipBuffer {
    align-items: center;
    padding-right: 20px;
    padding-left: 20px;
  }
  #background.membershipBg {
    height: 70vh;
    width: 100%;
  }
  #background.membershipBg .bgImg,
  #background.membershipBg .sectionBg,
  #background.membershipBg video {
    height: 100%;
    width: 100%;
  }
  #background.membershipBg:before {
    content: "";
    display: block !important;
    position: absolute;
    z-index: 20;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 60%;
    background: linear-gradient(color-mix(in srgb, var(--light) calc(0 * 100%), transparent), var(--light));
  }
}
@media (max-width: 650px) {
  #resetData button {
    width: 100%;
    margin-bottom: 8px;
  }
  body:after {
    max-width: none;
  }
  header {
    max-width: 100%;
  }
  #membership {
    max-width: 100%;
  }
  #membership .formWrap.landingPage .buttons {
    padding: 0px 25px 0 25px;
  }
  #membership .formWrap.landingPage .buttons a {
    width: 100%;
    margin: 0;
  }
  #membership .formWrap.landingPage .buttons a.guestLoginBtn, #membership .formWrap.landingPage .buttons a.enrolleeLoginBtn {
    width: 100%;
  }
}
@media (max-width: 520px) {
  .membershipBuffer {
    padding-left: 18px;
    padding-right: 18px;
  }
  #membership {
    padding: 20px 12px 60px;
  }
  #membership .formWrap {
    padding: 5px;
  }
  #membership .formWrap.landingPage .buttons {
    font-size: 0.8em;
    gap: 15px;
  }
}
@media (max-width: 450px) {
  #membership .formWrap.landingPage .buttons {
    --graphic: 65px;
    --guest-graphic: 52px;
    font-size: 0.7em;
  }
}
.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-bright);
  border-color: var(--light);
}
#membership .formWrap.maintenance .formArea {
  display: flex;
  flex-direction: column-reverse;
  justify-content: space-around;
  align-items: center;
  width: 100%;
  background: transparent;
}
#membership .formWrap.maintenance .formArea .rte {
  color: var(--light);
}
#membership .formWrap.maintenance .formArea .icon {
  flex-shrink: 0;
  flex-grow: 0;
  width: 75px;
  height: 75px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 3em;
  background: var(--brand-dark);
  border: 2px solid var(--light);
  border-radius: 50%;
  color: var(--light);
  margin-bottom: 20px;
}

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

@media (max-width: 800px) {
  .membershipPage .errorPage .icon {
    font-size: 4em;
    width: 100px;
    height: 100px;
    border-width: 2px;
  }
}
@layer base {
  details {
    transition: all 500ms;
  }
  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;
  }
}
.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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpbGU6Ly8vRDovU291cmNlL1dvcmtzcGFjZXMvU2NvdHRzZGFsZSUyMENvbW11bml0eSUyMENvbGxlZ2UlMjAtJTIwNzU2Mi9TY290dHNkYWxlQ0MtNzU2Mi9TYXNzL19nbG9iYWwvX3NvbG8tbGF5ZXJzLnNjc3MiLCJmaWxlOi8vL0Q6L1NvdXJjZS9Xb3Jrc3BhY2VzL1Njb3R0c2RhbGUlMjBDb21tdW5pdHklMjBDb2xsZWdlJTIwLSUyMDc1NjIvU2NvdHRzZGFsZUNDLTc1NjIvU2Fzcy9zaWRlYmFyL2FkZ01lbWJlcnNoaXAuc2NzcyIsImZpbGU6Ly8vZDovc291cmNlL3dvcmtzcGFjZXMvc2NvdHRzZGFsZSUyMGNvbW11bml0eSUyMGNvbGxlZ2UlMjAtJTIwNzU2Mi9zY290dHNkYWxlY2MtNzU2Mi9ub2RlX21vZHVsZXMvaW50bC10ZWwtaW5wdXQvYnVpbGQvY3NzL2ludGx0ZWxpbnB1dC5jc3MiLCIuLi8uLi8uLi9TYXNzL3NpZGViYXIvYWRnTWVtYmVyc2hpcC5zY3NzIiwiZmlsZTovLy9EOi9Tb3VyY2UvV29ya3NwYWNlcy9TY290dHNkYWxlJTIwQ29tbXVuaXR5JTIwQ29sbGVnZSUyMC0lMjA3NTYyL1Njb3R0c2RhbGVDQy03NTYyL1Nhc3MvX2dsb2JhbC9fc2hhcmVkLW1peGlucy5zY3NzIiwiZmlsZTovLy9EOi9Tb3VyY2UvV29ya3NwYWNlcy9TY290dHNkYWxlJTIwQ29tbXVuaXR5JTIwQ29sbGVnZSUyMC0lMjA3NTYyL1Njb3R0c2RhbGVDQy03NTYyL1Nhc3MvX2dsb2JhbC9fc2hhcmVkLWZvcm1zLnNjc3MiLCJmaWxlOi8vL0Q6L1NvdXJjZS9Xb3Jrc3BhY2VzL1Njb3R0c2RhbGUlMjBDb21tdW5pdHklMjBDb2xsZWdlJTIwLSUyMDc1NjIvU2NvdHRzZGFsZUNDLTc1NjIvU2Fzcy9zaWRlYmFyL19mb3Jtcy5zY3NzIiwiZmlsZTovLy9EOi9Tb3VyY2UvV29ya3NwYWNlcy9TY290dHNkYWxlJTIwQ29tbXVuaXR5JTIwQ29sbGVnZSUyMC0lMjA3NTYyL1Njb3R0c2RhbGVDQy03NTYyL1Nhc3MvX2dsb2JhbC9fc2hhcmVkLWdsb2JhbC5zY3NzIiwiZmlsZTovLy9EOi9Tb3VyY2UvV29ya3NwYWNlcy9TY290dHNkYWxlJTIwQ29tbXVuaXR5JTIwQ29sbGVnZSUyMC0lMjA3NTYyL1Njb3R0c2RhbGVDQy03NTYyL1Nhc3Mvc2lkZWJhci9fZ2xvYmFsLnNjc3MiLCJmaWxlOi8vL0Q6L1NvdXJjZS9Xb3Jrc3BhY2VzL1Njb3R0c2RhbGUlMjBDb21tdW5pdHklMjBDb2xsZWdlJTIwLSUyMDc1NjIvU2NvdHRzZGFsZUNDLTc1NjIvU2Fzcy9fZ2xvYmFsL19zaGFyZWQtZGlhbG9ncy5zY3NzIiwiZmlsZTovLy9EOi9Tb3VyY2UvV29ya3NwYWNlcy9TY290dHNkYWxlJTIwQ29tbXVuaXR5JTIwQ29sbGVnZSUyMC0lMjA3NTYyL1Njb3R0c2RhbGVDQy03NTYyL1Nhc3MvX2dsb2JhbC9fc2hhcmVkLXZhcmlhYmxlcy5zY3NzIiwiZmlsZTovLy9EOi9Tb3VyY2UvV29ya3NwYWNlcy9TY290dHNkYWxlJTIwQ29tbXVuaXR5JTIwQ29sbGVnZSUyMC0lMjA3NTYyL1Njb3R0c2RhbGVDQy03NTYyL1Nhc3Mvc2lkZWJhci9fZGlhbG9nLnNjc3MiLCJmaWxlOi8vL0Q6L1NvdXJjZS9Xb3Jrc3BhY2VzL1Njb3R0c2RhbGUlMjBDb21tdW5pdHklMjBDb2xsZWdlJTIwLSUyMDc1NjIvU2NvdHRzZGFsZUNDLTc1NjIvU2Fzcy9zaWRlYmFyL19taXhpbnMuc2NzcyIsImZpbGU6Ly8vRDovU291cmNlL1dvcmtzcGFjZXMvU2NvdHRzZGFsZSUyMENvbW11bml0eSUyMENvbGxlZ2UlMjAtJTIwNzU2Mi9TY290dHNkYWxlQ0MtNzU2Mi9TYXNzL19nbG9iYWwvX3NoYXJlZC1iYWNrZ3JvdW5kLnNjc3MiLCJmaWxlOi8vL0Q6L1NvdXJjZS9Xb3Jrc3BhY2VzL1Njb3R0c2RhbGUlMjBDb21tdW5pdHklMjBDb2xsZWdlJTIwLSUyMDc1NjIvU2NvdHRzZGFsZUNDLTc1NjIvU2Fzcy9zaWRlYmFyL19iYWNrZ3JvdW5kLnNjc3MiLCJmaWxlOi8vL0Q6L1NvdXJjZS9Xb3Jrc3BhY2VzL1Njb3R0c2RhbGUlMjBDb21tdW5pdHklMjBDb2xsZWdlJTIwLSUyMDc1NjIvU2NvdHRzZGFsZUNDLTc1NjIvU2Fzcy9zaWRlYmFyL19sb2dpbi5zY3NzIiwiZmlsZTovLy9EOi9Tb3VyY2UvV29ya3NwYWNlcy9TY290dHNkYWxlJTIwQ29tbXVuaXR5JTIwQ29sbGVnZSUyMC0lMjA3NTYyL1Njb3R0c2RhbGVDQy03NTYyL1Nhc3MvX2dsb2JhbC9fc2hhcmVkLXJpY2hUZXh0U3R5bGVzLnNjc3MiLCJmaWxlOi8vL0Q6L1NvdXJjZS9Xb3Jrc3BhY2VzL1Njb3R0c2RhbGUlMjBDb21tdW5pdHklMjBDb2xsZWdlJTIwLSUyMDc1NjIvU2NvdHRzZGFsZUNDLTc1NjIvU2Fzcy9zaWRlYmFyL19yaWNoVGV4dFN0eWxlcy5zY3NzIiwiZmlsZTovLy9EOi9Tb3VyY2UvV29ya3NwYWNlcy9TY290dHNkYWxlJTIwQ29tbXVuaXR5JTIwQ29sbGVnZSUyMC0lMjA3NTYyL1Njb3R0c2RhbGVDQy03NTYyL1Nhc3Mvc2lkZWJhci9fbWFpbnRlbmFuY2Uuc2NzcyIsImZpbGU6Ly8vRDovU291cmNlL1dvcmtzcGFjZXMvU2NvdHRzZGFsZSUyMENvbW11bml0eSUyMENvbGxlZ2UlMjAtJTIwNzU2Mi9TY290dHNkYWxlQ0MtNzU2Mi9TYXNzL3NpZGViYXIvX2Vycm9yUGFnZXMuc2NzcyIsImZpbGU6Ly8vRDovU291cmNlL1dvcmtzcGFjZXMvU2NvdHRzZGFsZSUyMENvbW11bml0eSUyMENvbGxlZ2UlMjAtJTIwNzU2Mi9TY290dHNkYWxlQ0MtNzU2Mi9TYXNzL19nbG9iYWwvX3NoYXJlZC1hY2NvcmRpb25zLnNjc3MiLCJmaWxlOi8vL0Q6L1NvdXJjZS9Xb3Jrc3BhY2VzL1Njb3R0c2RhbGUlMjBDb21tdW5pdHklMjBDb2xsZWdlJTIwLSUyMDc1NjIvU2NvdHRzZGFsZUNDLTc1NjIvU2Fzcy9zaWRlYmFyL19hY2NvcmRpb24uc2Nz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QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSx5QkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSwwQkFBQTtBQ2dERjs7QUQ3Q0E7RUFDRSww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QUE7RWlCbGpCQSw0QkFBQTtFQUNBLHFCQUFBO0VBQ0EsK0JBQUE7QWxCczdKSjtBQzU3SUU7RUFDRTtJQW9EQSxxQ0FBQTtJQUNBLG1DQUFBO0VEMjRJRjtFa0J2N0pJO0lBQ0UsbUNBQUE7RWxCeTdKTjtBQUNGO0FDLzdJRTtFQStDRSxxQ0FBQTtFQUNBLG1DQUFBO0FEbTVJSjtBa0IvN0pNO0VBQ0UsbUNBQUE7QWxCaThKUjtBQ2w4SUU7RUEyQ0UscUNBQUE7RUFDQSxtQ0FBQTtBRDA1SUo7QWtCdDhKTTtFQUNFLG1DQUFBO0FsQnc4SlI7QUM5N0lFO0VBZ0NFLHFDQUFBO0VBQ0EsbUNBQUE7QURpNklKO0FrQjc4Sk07RUFDRSxtQ0FBQTtBbEIrOEpSO0FDajhJRTtFQTRCRSxxQ0FBQTtFQUNBLG1DQUFBO0FEdzZJSjtBa0JwOUpNO0VBQ0UsbUNBQUE7QWxCczlKUjtBa0JsOUpJO0VBQ0UsaUNBQUE7RUFDQSxrQkFBQTtFQUNBLFFBQUE7RUFDQSxVQUFBO0VBQ0EscUNBQUE7RUFDQSx3QkFBQTtFQUNBLDBCQUFBO0FsQm85Sk47QWtCaDlKRTtFQUNFLGtCQUFBO0VqQjBoQkEsOEJBQUE7RUFDQSw0QkFBQTtFaUJ6aEJBLHdDQUFBO0FsQm05Sko7QWtCbDlKSTtFQUNFLGVBQUE7RUFDQSx1QkFBQTtBbEJvOUpOO0FrQmg5SkU7RUFDRSxnQkFBQTtBbEJrOUpKIiwiZmlsZSI6ImFkZ01lbWJlcnNoaXAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGxheWVyIHJlc2V0OyAvLyBDcmVhdGUgMXN0IGxheWVyIG5hbWVkIFwicmVzZXRcIlxyXG5AbGF5ZXIgYmFzZTsgLy8gQ3JlYXRlIDJuZCBsYXllciBuYW1lZCBcImJhc2VcIlxyXG5cclxuLy8gU29tZSBhZGRpdGlvbmFsIG5vdGVzIGFuZCByZW1pbmRlcnM6XHJcbi8vIC0gc29sby1sYXllcnMgYXJlIGFwcGxpZWQgaW4gdGhlIG9yZGVyIHRoZXkncmUgZGVjbGFyZWQuIFNvIGluIHRoZSBjYXNlIGFib3ZlLCBzdHlsZXMgaW4gXCJiYXNlXCIgb3ZlcndyaXRlIHN0eWxlcyBpbiBcInJlc2V0XCIuXHJcbi8vIC0gUmVndWxhciBzdHlsZXMgKGFrYSBvbmVzIG5vdCBpbnNpZGUgYSBsYXllcikgYWx3YXlzIG92ZXJ3cml0ZSBzdHlsZXMgaW5zaWRlIG9mIHNvbG8tbGF5ZXJzLCByZWdhcmRsZXNzIG9mIHNwZWNpZmljaXR5LlxyXG4vLyAtIERPIE5PVCB1c2UgIWltcG9ydGFudCBpbnNpZGUgb2YgYSBsYXllciwgaXQgV0lMTCBjYXVzZSBpc3N1ZXMgYW5kIHNhZG5lc3MuXHJcbiIsIkB1c2UgXCIuLi9fZ2xvYmFsL3NvbG8tbGF5ZXJzXCI7IC8vIFRoaXMgc2hvdWxkIEFMV0FZUyBiZSBmaXJzdCBpbiB0aGUgbGlzdCBvZiBpbXBvcnRzIG9yIHRoaW5ncyB3aWxsIGdldCB3ZWlyZC5cclxuXHJcbi8qIHN0eWxlbGludC1kaXNhYmxlICovXHJcbkB1c2UgXCJwa2c6aW50bC10ZWwtaW5wdXQvc3R5bGVzXCI7XHJcbi8qIHN0eWxlbGludC1lbmFibGUgKi9cclxuQHVzZSBcImZvbnRzXCI7XHJcbkB1c2UgXCJmb3Jtc1wiO1xyXG5AdXNlIFwiZ2xvYmFsXCI7XHJcbkB1c2UgXCJkaWFsb2dcIjtcclxuQHVzZSBcImJhY2tncm91bmRcIjtcclxuQHVzZSBcImxvZ2luXCI7XHJcbkB1c2UgXCJyaWNoVGV4dFN0eWxlc1wiO1xyXG5AdXNlIFwibWFpbnRlbmFuY2VcIjtcclxuQHVzZSBcImVycm9yUGFnZXNcIjtcclxuQHVzZSBcImFjY29yZGlvblwiO1xyXG4iLCI6cm9vdCB7XG4gIC0taXRpLWhvdmVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICAtLWl0aS1ib3JkZXItY29sb3I6ICNjY2M7XG4gIC0taXRpLWRpYWxjb2RlLWNvbG9yOiAjOTk5O1xuICAtLWl0aS1kcm9wZG93bi1iZzogd2hpdGU7XG4gIC0taXRpLXNlYXJjaC1pY29uLWNvbG9yOiAjOTk5O1xuICAtLWl0aS1zcGFjZXItaG9yaXpvbnRhbDogOHB4O1xuICAtLWl0aS1mbGFnLWhlaWdodDogMTJweDtcbiAgLS1pdGktZmxhZy13aWR0aDogMTZweDtcbiAgLS1pdGktYm9yZGVyLXdpZHRoOiAxcHg7XG4gIC0taXRpLWFycm93LWhlaWdodDogNHB4O1xuICAtLWl0aS1hcnJvdy13aWR0aDogNnB4O1xuICAtLWl0aS10cmlhbmdsZS1ib3JkZXI6IGNhbGModmFyKC0taXRpLWFycm93LXdpZHRoKSAvIDIpO1xuICAtLWl0aS1hcnJvdy1wYWRkaW5nOiA2cHg7XG4gIC0taXRpLWFycm93LWNvbG9yOiAjNTU1O1xuICAtLWl0aS1wYXRoLWZsYWdzLTF4OiB1cmwoXCIuLi9pbWcvZmxhZ3Mud2VicFwiKTtcbiAgLS1pdGktcGF0aC1mbGFncy0yeDogdXJsKFwiLi4vaW1nL2ZsYWdzQDJ4LndlYnBcIik7XG4gIC0taXRpLXBhdGgtZ2xvYmUtMXg6IHVybChcIi4uL2ltZy9nbG9iZS53ZWJwXCIpO1xuICAtLWl0aS1wYXRoLWdsb2JlLTJ4OiB1cmwoXCIuLi9pbWcvZ2xvYmVAMngud2VicFwiKTtcbiAgLS1pdGktZmxhZy1zcHJpdGUtd2lkdGg6IDM5MDRweDtcbiAgLS1pdGktZmxhZy1zcHJpdGUtaGVpZ2h0OiAxMnB4O1xuICAtLWl0aS1tb2JpbGUtcG9wdXAtbWFyZ2luOiAzMHB4O1xufVxuXG4uaXRpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4uaXRpICoge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuLml0aV9fYTExeS10ZXh0IHtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLml0aSBpbnB1dC5pdGlfX3RlbC1pbnB1dCxcbi5pdGkgaW5wdXQuaXRpX190ZWwtaW5wdXRbdHlwZT10ZXh0XSxcbi5pdGkgaW5wdXQuaXRpX190ZWwtaW5wdXRbdHlwZT10ZWxdIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwO1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbn1cbltkaXI9cnRsXSAuaXRpIGlucHV0Lml0aV9fdGVsLWlucHV0LFxuW2Rpcj1ydGxdIC5pdGkgaW5wdXQuaXRpX190ZWwtaW5wdXRbdHlwZT10ZXh0XSxcbltkaXI9cnRsXSAuaXRpIGlucHV0Lml0aV9fdGVsLWlucHV0W3R5cGU9dGVsXSB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLml0aV9fY291bnRyeS1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBwYWRkaW5nOiB2YXIoLS1pdGktYm9yZGVyLXdpZHRoKTtcbn1cbi5pdGlfX3NlbGVjdGVkLWNvdW50cnkge1xuICB6LWluZGV4OiAxO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5pdGlfX3NlbGVjdGVkLWNvdW50cnktcHJpbWFyeSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMCB2YXIoLS1pdGktYXJyb3ctcGFkZGluZykgMCB2YXIoLS1pdGktc3BhY2VyLWhvcml6b250YWwpO1xufVxuLml0aV9fYXJyb3cge1xuICBtYXJnaW4tbGVmdDogdmFyKC0taXRpLWFycm93LXBhZGRpbmcpO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItbGVmdDogdmFyKC0taXRpLXRyaWFuZ2xlLWJvcmRlcikgc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogdmFyKC0taXRpLXRyaWFuZ2xlLWJvcmRlcikgc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3A6IHZhcigtLWl0aS1hcnJvdy1oZWlnaHQpIHNvbGlkIHZhcigtLWl0aS1hcnJvdy1jb2xvcik7XG59XG5bZGlyPXJ0bF0gLml0aV9fYXJyb3cge1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLWl0aS1hcnJvdy1wYWRkaW5nKTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4uaXRpX19hcnJvdy0tdXAge1xuICBib3JkZXItdG9wOiBub25lO1xuICBib3JkZXItYm90dG9tOiB2YXIoLS1pdGktYXJyb3ctaGVpZ2h0KSBzb2xpZCB2YXIoLS1pdGktYXJyb3ctY29sb3IpO1xufVxuLml0aV9fZHJvcGRvd24tY29udGVudCB7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taXRpLWRyb3Bkb3duLWJnKTtcbn1cbi5pdGktLWlubGluZS1kcm9wZG93biAuaXRpX19kcm9wZG93bi1jb250ZW50IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAyO1xuICBtYXJnaW4tdG9wOiAzcHg7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLWl0aS1ib3JkZXItd2lkdGgpICogLTEpO1xuICBib3JkZXI6IHZhcigtLWl0aS1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWl0aS1ib3JkZXItY29sb3IpO1xuICBib3gtc2hhZG93OiAxcHggMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG4uaXRpX19zZWFyY2gtaW5wdXQge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIHBhZGRpbmctbGVmdDogMzBweDtcbiAgcGFkZGluZy1yaWdodDogMjhweDtcbn1cbltkaXI9cnRsXSAuaXRpX19zZWFyY2gtaW5wdXQge1xuICBwYWRkaW5nLWxlZnQ6IGluaGVyaXQ7XG4gIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDhweCBjZW50ZXI7XG59XG4uaXRpX19zZWFyY2gtaW5wdXQgKyAuaXRpX19jb3VudHJ5LWxpc3Qge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0taXRpLWJvcmRlci1jb2xvcik7XG59XG4uaXRpX19zZWFyY2gtaW5wdXQ6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24ge1xuICBhcHBlYXJhbmNlOiBub25lO1xufVxuLml0aV9fc2VhcmNoLWlucHV0LXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uaXRpX19zZWFyY2gtaWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogOHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbltkaXI9cnRsXSAuaXRpX19zZWFyY2gtaWNvbiB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiA4cHg7XG59XG4uaXRpX19zZWFyY2gtaWNvbi1zdmcge1xuICBzdHJva2U6IHZhcigtLWl0aS1zZWFyY2gtaWNvbi1jb2xvcik7XG4gIGZpbGw6IG5vbmU7XG4gIHN0cm9rZS13aWR0aDogMztcbn1cbi5pdGlfX3NlYXJjaC1jbGVhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDRweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBhZGRpbmc6IDRweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZTtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbn1cbi5pdGlfX3NlYXJjaC1jbGVhciAuaXRpX19zZWFyY2gtY2xlYXIteCB7XG4gIHN0cm9rZS13aWR0aDogMjtcbn1cbi5pdGlfX3NlYXJjaC1jbGVhciAuaXRpX19zZWFyY2gtY2xlYXItYmcge1xuICBmaWxsOiB2YXIoLS1pdGktc2VhcmNoLWljb24tY29sb3IpO1xufVxuW2Rpcj1ydGxdIC5pdGlfX3NlYXJjaC1jbGVhciB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiA0cHg7XG59XG4uaXRpX19zZWFyY2gtY2xlYXI6aG92ZXIsIC5pdGlfX3NlYXJjaC1jbGVhcjpmb2N1cy12aXNpYmxlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0taXRpLWhvdmVyLWNvbG9yKTtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5pdGlfX25vLXJlc3VsdHMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDMwcHggMDtcbn1cbi5pdGlfX2NvdW50cnktbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cbi5pdGktLWlubGluZS1kcm9wZG93biAuaXRpX19jb3VudHJ5LWxpc3Qge1xuICBtYXgtaGVpZ2h0OiAxODVweDtcbn1cbi5pdGktLWZsZXhpYmxlLWRyb3Bkb3duLXdpZHRoIC5pdGlfX2NvdW50cnktbGlzdCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgLml0aS0tZmxleGlibGUtZHJvcGRvd24td2lkdGggLml0aV9fY291bnRyeS1saXN0IHtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB9XG59XG4uaXRpX19jb3VudHJ5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogOHB4IHZhcigtLWl0aS1zcGFjZXItaG9yaXpvbnRhbCk7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4uaXRpX19kaWFsLWNvZGUge1xuICBjb2xvcjogdmFyKC0taXRpLWRpYWxjb2RlLWNvbG9yKTtcbn1cbi5pdGlfX2NvdW50cnkuaXRpX19oaWdobGlnaHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pdGktaG92ZXItY29sb3IpO1xufVxuLml0aV9fY291bnRyeS1saXN0IC5pdGlfX2ZsYWcsIC5pdGlfX2NvdW50cnktbmFtZSB7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0taXRpLXNwYWNlci1ob3Jpem9udGFsKTtcbn1cbltkaXI9cnRsXSAuaXRpX19jb3VudHJ5LWxpc3QgLml0aV9fZmxhZywgW2Rpcj1ydGxdIC5pdGlfX2NvdW50cnktbmFtZSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLWl0aS1zcGFjZXItaG9yaXpvbnRhbCk7XG59XG4uaXRpLS1hbGxvdy1kcm9wZG93biAuaXRpX19jb3VudHJ5LWNvbnRhaW5lcjpub3QoOmhhcygrIGlucHV0W2Rpc2FibGVkXSkpOm5vdCg6aGFzKCsgaW5wdXRbcmVhZG9ubHldKSkgYnV0dG9uLml0aV9fc2VsZWN0ZWQtY291bnRyeSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5pdGktLWFsbG93LWRyb3Bkb3duIC5pdGlfX2NvdW50cnktY29udGFpbmVyOm5vdCg6aGFzKCsgaW5wdXRbZGlzYWJsZWRdKSk6bm90KDpoYXMoKyBpbnB1dFtyZWFkb25seV0pKSAuaXRpX19zZWxlY3RlZC1jb3VudHJ5LXByaW1hcnk6aG92ZXIsXG4uaXRpLS1hbGxvdy1kcm9wZG93biAuaXRpX19jb3VudHJ5LWNvbnRhaW5lcjpub3QoOmhhcygrIGlucHV0W2Rpc2FibGVkXSkpOm5vdCg6aGFzKCsgaW5wdXRbcmVhZG9ubHldKSkgLml0aV9fc2VsZWN0ZWQtY291bnRyeTpoYXMoKyAuaXRpX19kcm9wZG93bi1jb250ZW50OmhvdmVyKSAuaXRpX19zZWxlY3RlZC1jb3VudHJ5LXByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pdGktaG92ZXItY29sb3IpO1xufVxuLml0aSAuaXRpX19zZWxlY3RlZC1kaWFsLWNvZGUge1xuICBtYXJnaW4tbGVmdDogNHB4O1xufVxuW2Rpcj1ydGxdIC5pdGkgLml0aV9fc2VsZWN0ZWQtZGlhbC1jb2RlIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogNHB4O1xufVxuLml0aS0tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IC0xMDAwcHg7XG4gIGxlZnQ6IC0xMDAwcHg7XG4gIHotaW5kZXg6IDEwNjA7XG4gIHBhZGRpbmc6IHZhcigtLWl0aS1ib3JkZXItd2lkdGgpO1xufVxuLml0aS0tY29udGFpbmVyOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLml0aV9faGlkZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uaXRpX192LWhpZGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5pdGktLWZ1bGxzY3JlZW4tcG9wdXAuaXRpLS1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBwYWRkaW5nOiB2YXIoLS1pdGktbW9iaWxlLXBvcHVwLW1hcmdpbik7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cbi5pdGktLWZ1bGxzY3JlZW4tcG9wdXAgLml0aV9fZHJvcGRvd24tY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5pdGktLWZ1bGxzY3JlZW4tcG9wdXAgLml0aV9fY291bnRyeSB7XG4gIHBhZGRpbmc6IDEwcHggMTBweDtcbiAgbGluZS1oZWlnaHQ6IDEuNWVtO1xufVxuXG4uaXRpX19mbGFnIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IDEwMHB4O1xuICBoZWlnaHQ6IHZhcigtLWl0aS1mbGFnLWhlaWdodCk7XG4gIHdpZHRoOiB2YXIoLS1pdGktZmxhZy13aWR0aCk7XG4gIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAxcHggMHB4ICM4ODg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWl0aS1wYXRoLWZsYWdzLTF4KTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdmFyKC0taXRpLWZsYWctb2Zmc2V0KSAwO1xuICBiYWNrZ3JvdW5kLXNpemU6IHZhcigtLWl0aS1mbGFnLXNwcml0ZS13aWR0aCkgdmFyKC0taXRpLWZsYWctc3ByaXRlLWhlaWdodCk7XG59XG5cbi5pdGlfX2FjIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IDBweDtcbn1cblxuLml0aV9fYWQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE2cHg7XG59XG5cbi5pdGlfX2FlIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMnB4O1xufVxuXG4uaXRpX19hZiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNDhweDtcbn1cblxuLml0aV9fYWcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTY0cHg7XG59XG5cbi5pdGlfX2FpIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC04MHB4O1xufVxuXG4uaXRpX19hbCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtOTZweDtcbn1cblxuLml0aV9fYW0ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTExMnB4O1xufVxuXG4uaXRpX19hbyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTI4cHg7XG59XG5cbi5pdGlfX2FyIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNDRweDtcbn1cblxuLml0aV9fYXMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE2MHB4O1xufVxuXG4uaXRpX19hdCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTc2cHg7XG59XG5cbi5pdGlfX2F1IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xOTJweDtcbn1cblxuLml0aV9fYXcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIwOHB4O1xufVxuXG4uaXRpX19heCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjI0cHg7XG59XG5cbi5pdGlfX2F6IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNDBweDtcbn1cblxuLml0aV9fYmEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI1NnB4O1xufVxuXG4uaXRpX19iYiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjcycHg7XG59XG5cbi5pdGlfX2JkIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yODhweDtcbn1cblxuLml0aV9fYmUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMwNHB4O1xufVxuXG4uaXRpX19iZiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzIwcHg7XG59XG5cbi5pdGlfX2JnIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMzZweDtcbn1cblxuLml0aV9fYmgge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM1MnB4O1xufVxuXG4uaXRpX19iaSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzY4cHg7XG59XG5cbi5pdGlfX2JqIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zODRweDtcbn1cblxuLml0aV9fYmwge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTQwMHB4O1xufVxuXG4uaXRpX19ibSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNDE2cHg7XG59XG5cbi5pdGlfX2JuIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC00MzJweDtcbn1cblxuLml0aV9fYm8ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTQ0OHB4O1xufVxuXG4uaXRpX19icSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNDY0cHg7XG59XG5cbi5pdGlfX2JyIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC00ODBweDtcbn1cblxuLml0aV9fYnMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTQ5NnB4O1xufVxuXG4uaXRpX19idCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNTEycHg7XG59XG5cbi5pdGlfX2J3IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC01MjhweDtcbn1cblxuLml0aV9fYnkge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTU0NHB4O1xufVxuXG4uaXRpX19ieiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNTYwcHg7XG59XG5cbi5pdGlfX2NhIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC01NzZweDtcbn1cblxuLml0aV9fY2Mge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTU5MnB4O1xufVxuXG4uaXRpX19jZCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNjA4cHg7XG59XG5cbi5pdGlfX2NmIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC02MjRweDtcbn1cblxuLml0aV9fY2cge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTY0MHB4O1xufVxuXG4uaXRpX19jaCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNjU2cHg7XG59XG5cbi5pdGlfX2NpIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC02NzJweDtcbn1cblxuLml0aV9fY2sge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTY4OHB4O1xufVxuXG4uaXRpX19jbCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNzA0cHg7XG59XG5cbi5pdGlfX2NtIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC03MjBweDtcbn1cblxuLml0aV9fY24ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTczNnB4O1xufVxuXG4uaXRpX19jbyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNzUycHg7XG59XG5cbi5pdGlfX2NyIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC03NjhweDtcbn1cblxuLml0aV9fY3Uge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTc4NHB4O1xufVxuXG4uaXRpX19jdiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtODAwcHg7XG59XG5cbi5pdGlfX2N3IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC04MTZweDtcbn1cblxuLml0aV9fY3gge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTgzMnB4O1xufVxuXG4uaXRpX19jeSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtODQ4cHg7XG59XG5cbi5pdGlfX2N6IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC04NjRweDtcbn1cblxuLml0aV9fZGUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTg4MHB4O1xufVxuXG4uaXRpX19kaiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtODk2cHg7XG59XG5cbi5pdGlfX2RrIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC05MTJweDtcbn1cblxuLml0aV9fZG0ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTkyOHB4O1xufVxuXG4uaXRpX19kbyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtOTQ0cHg7XG59XG5cbi5pdGlfX2R6IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC05NjBweDtcbn1cblxuLml0aV9fZWMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTk3NnB4O1xufVxuXG4uaXRpX19lZSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtOTkycHg7XG59XG5cbi5pdGlfX2VnIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMDA4cHg7XG59XG5cbi5pdGlfX2VoIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMDI0cHg7XG59XG5cbi5pdGlfX2VyIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMDQwcHg7XG59XG5cbi5pdGlfX2VzIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMDU2cHg7XG59XG5cbi5pdGlfX2V0IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMDcycHg7XG59XG5cbi5pdGlfX2ZpIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMDg4cHg7XG59XG5cbi5pdGlfX2ZqIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMTA0cHg7XG59XG5cbi5pdGlfX2ZrIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMTIwcHg7XG59XG5cbi5pdGlfX2ZtIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMTM2cHg7XG59XG5cbi5pdGlfX2ZvIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMTUycHg7XG59XG5cbi5pdGlfX2ZyIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMTY4cHg7XG59XG5cbi5pdGlfX2dhIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMTg0cHg7XG59XG5cbi5pdGlfX2diIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMjAwcHg7XG59XG5cbi5pdGlfX2dkIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMjE2cHg7XG59XG5cbi5pdGlfX2dlIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMjMycHg7XG59XG5cbi5pdGlfX2dmIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMjQ4cHg7XG59XG5cbi5pdGlfX2dnIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMjY0cHg7XG59XG5cbi5pdGlfX2doIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMjgwcHg7XG59XG5cbi5pdGlfX2dpIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMjk2cHg7XG59XG5cbi5pdGlfX2dsIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMzEycHg7XG59XG5cbi5pdGlfX2dtIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMzI4cHg7XG59XG5cbi5pdGlfX2duIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMzQ0cHg7XG59XG5cbi5pdGlfX2dwIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMzYwcHg7XG59XG5cbi5pdGlfX2dxIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMzc2cHg7XG59XG5cbi5pdGlfX2dyIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMzkycHg7XG59XG5cbi5pdGlfX2d0IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNDA4cHg7XG59XG5cbi5pdGlfX2d1IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNDI0cHg7XG59XG5cbi5pdGlfX2d3IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNDQwcHg7XG59XG5cbi5pdGlfX2d5IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNDU2cHg7XG59XG5cbi5pdGlfX2hrIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNDcycHg7XG59XG5cbi5pdGlfX2huIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNDg4cHg7XG59XG5cbi5pdGlfX2hyIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNTA0cHg7XG59XG5cbi5pdGlfX2h0IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNTIwcHg7XG59XG5cbi5pdGlfX2h1IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNTM2cHg7XG59XG5cbi5pdGlfX2lkIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNTUycHg7XG59XG5cbi5pdGlfX2llIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNTY4cHg7XG59XG5cbi5pdGlfX2lsIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNTg0cHg7XG59XG5cbi5pdGlfX2ltIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNjAwcHg7XG59XG5cbi5pdGlfX2luIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNjE2cHg7XG59XG5cbi5pdGlfX2lvIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNjMycHg7XG59XG5cbi5pdGlfX2lxIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNjQ4cHg7XG59XG5cbi5pdGlfX2lyIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNjY0cHg7XG59XG5cbi5pdGlfX2lzIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNjgwcHg7XG59XG5cbi5pdGlfX2l0IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNjk2cHg7XG59XG5cbi5pdGlfX2plIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNzEycHg7XG59XG5cbi5pdGlfX2ptIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNzI4cHg7XG59XG5cbi5pdGlfX2pvIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNzQ0cHg7XG59XG5cbi5pdGlfX2pwIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNzYwcHg7XG59XG5cbi5pdGlfX2tlIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNzc2cHg7XG59XG5cbi5pdGlfX2tnIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNzkycHg7XG59XG5cbi5pdGlfX2toIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xODA4cHg7XG59XG5cbi5pdGlfX2tpIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xODI0cHg7XG59XG5cbi5pdGlfX2ttIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xODQwcHg7XG59XG5cbi5pdGlfX2tuIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xODU2cHg7XG59XG5cbi5pdGlfX2twIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xODcycHg7XG59XG5cbi5pdGlfX2tyIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xODg4cHg7XG59XG5cbi5pdGlfX2t3IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xOTA0cHg7XG59XG5cbi5pdGlfX2t5IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xOTIwcHg7XG59XG5cbi5pdGlfX2t6IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xOTM2cHg7XG59XG5cbi5pdGlfX2xhIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xOTUycHg7XG59XG5cbi5pdGlfX2xiIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xOTY4cHg7XG59XG5cbi5pdGlfX2xjIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xOTg0cHg7XG59XG5cbi5pdGlfX2xpIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMDAwcHg7XG59XG5cbi5pdGlfX2xrIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMDE2cHg7XG59XG5cbi5pdGlfX2xyIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMDMycHg7XG59XG5cbi5pdGlfX2xzIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMDQ4cHg7XG59XG5cbi5pdGlfX2x0IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMDY0cHg7XG59XG5cbi5pdGlfX2x1IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMDgwcHg7XG59XG5cbi5pdGlfX2x2IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMDk2cHg7XG59XG5cbi5pdGlfX2x5IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMTEycHg7XG59XG5cbi5pdGlfX21hIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMTI4cHg7XG59XG5cbi5pdGlfX21jIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMTQ0cHg7XG59XG5cbi5pdGlfX21kIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMTYwcHg7XG59XG5cbi5pdGlfX21lIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMTc2cHg7XG59XG5cbi5pdGlfX21mIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMTkycHg7XG59XG5cbi5pdGlfX21nIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMjA4cHg7XG59XG5cbi5pdGlfX21oIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMjI0cHg7XG59XG5cbi5pdGlfX21rIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMjQwcHg7XG59XG5cbi5pdGlfX21sIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMjU2cHg7XG59XG5cbi5pdGlfX21tIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMjcycHg7XG59XG5cbi5pdGlfX21uIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMjg4cHg7XG59XG5cbi5pdGlfX21vIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMzA0cHg7XG59XG5cbi5pdGlfX21wIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMzIwcHg7XG59XG5cbi5pdGlfX21xIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMzM2cHg7XG59XG5cbi5pdGlfX21yIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMzUycHg7XG59XG5cbi5pdGlfX21zIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMzY4cHg7XG59XG5cbi5pdGlfX210IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMzg0cHg7XG59XG5cbi5pdGlfX211IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNDAwcHg7XG59XG5cbi5pdGlfX212IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNDE2cHg7XG59XG5cbi5pdGlfX213IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNDMycHg7XG59XG5cbi5pdGlfX214IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNDQ4cHg7XG59XG5cbi5pdGlfX215IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNDY0cHg7XG59XG5cbi5pdGlfX216IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNDgwcHg7XG59XG5cbi5pdGlfX25hIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNDk2cHg7XG59XG5cbi5pdGlfX25jIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNTEycHg7XG59XG5cbi5pdGlfX25lIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNTI4cHg7XG59XG5cbi5pdGlfX25mIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNTQ0cHg7XG59XG5cbi5pdGlfX25nIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNTYwcHg7XG59XG5cbi5pdGlfX25pIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNTc2cHg7XG59XG5cbi5pdGlfX25sIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNTkycHg7XG59XG5cbi5pdGlfX25vIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNjA4cHg7XG59XG5cbi5pdGlfX25wIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNjI0cHg7XG59XG5cbi5pdGlfX25yIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNjQwcHg7XG59XG5cbi5pdGlfX251IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNjU2cHg7XG59XG5cbi5pdGlfX256IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNjcycHg7XG59XG5cbi5pdGlfX29tIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNjg4cHg7XG59XG5cbi5pdGlfX3BhIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNzA0cHg7XG59XG5cbi5pdGlfX3BlIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNzIwcHg7XG59XG5cbi5pdGlfX3BmIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNzM2cHg7XG59XG5cbi5pdGlfX3BnIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNzUycHg7XG59XG5cbi5pdGlfX3BoIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNzY4cHg7XG59XG5cbi5pdGlfX3BrIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNzg0cHg7XG59XG5cbi5pdGlfX3BsIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yODAwcHg7XG59XG5cbi5pdGlfX3BtIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yODE2cHg7XG59XG5cbi5pdGlfX3ByIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yODMycHg7XG59XG5cbi5pdGlfX3BzIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yODQ4cHg7XG59XG5cbi5pdGlfX3B0IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yODY0cHg7XG59XG5cbi5pdGlfX3B3IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yODgwcHg7XG59XG5cbi5pdGlfX3B5IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yODk2cHg7XG59XG5cbi5pdGlfX3FhIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yOTEycHg7XG59XG5cbi5pdGlfX3JlIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yOTI4cHg7XG59XG5cbi5pdGlfX3JvIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yOTQ0cHg7XG59XG5cbi5pdGlfX3JzIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yOTYwcHg7XG59XG5cbi5pdGlfX3J1IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yOTc2cHg7XG59XG5cbi5pdGlfX3J3IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yOTkycHg7XG59XG5cbi5pdGlfX3NhIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMDA4cHg7XG59XG5cbi5pdGlfX3NiIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMDI0cHg7XG59XG5cbi5pdGlfX3NjIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMDQwcHg7XG59XG5cbi5pdGlfX3NkIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMDU2cHg7XG59XG5cbi5pdGlfX3NlIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMDcycHg7XG59XG5cbi5pdGlfX3NnIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMDg4cHg7XG59XG5cbi5pdGlfX3NoIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMTA0cHg7XG59XG5cbi5pdGlfX3NpIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMTIwcHg7XG59XG5cbi5pdGlfX3NqIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMTM2cHg7XG59XG5cbi5pdGlfX3NrIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMTUycHg7XG59XG5cbi5pdGlfX3NsIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMTY4cHg7XG59XG5cbi5pdGlfX3NtIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMTg0cHg7XG59XG5cbi5pdGlfX3NuIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMjAwcHg7XG59XG5cbi5pdGlfX3NvIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMjE2cHg7XG59XG5cbi5pdGlfX3NyIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMjMycHg7XG59XG5cbi5pdGlfX3NzIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMjQ4cHg7XG59XG5cbi5pdGlfX3N0IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMjY0cHg7XG59XG5cbi5pdGlfX3N2IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMjgwcHg7XG59XG5cbi5pdGlfX3N4IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMjk2cHg7XG59XG5cbi5pdGlfX3N5IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMzEycHg7XG59XG5cbi5pdGlfX3N6IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMzI4cHg7XG59XG5cbi5pdGlfX3RjIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMzQ0cHg7XG59XG5cbi5pdGlfX3RkIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMzYwcHg7XG59XG5cbi5pdGlfX3RnIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMzc2cHg7XG59XG5cbi5pdGlfX3RoIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMzkycHg7XG59XG5cbi5pdGlfX3RqIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNDA4cHg7XG59XG5cbi5pdGlfX3RrIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNDI0cHg7XG59XG5cbi5pdGlfX3RsIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNDQwcHg7XG59XG5cbi5pdGlfX3RtIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNDU2cHg7XG59XG5cbi5pdGlfX3RuIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNDcycHg7XG59XG5cbi5pdGlfX3RvIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNDg4cHg7XG59XG5cbi5pdGlfX3RyIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNTA0cHg7XG59XG5cbi5pdGlfX3R0IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNTIwcHg7XG59XG5cbi5pdGlfX3R2IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNTM2cHg7XG59XG5cbi5pdGlfX3R3IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNTUycHg7XG59XG5cbi5pdGlfX3R6IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNTY4cHg7XG59XG5cbi5pdGlfX3VhIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNTg0cHg7XG59XG5cbi5pdGlfX3VnIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNjAwcHg7XG59XG5cbi5pdGlfX3VzIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNjE2cHg7XG59XG5cbi5pdGlfX3V5IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNjMycHg7XG59XG5cbi5pdGlfX3V6IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNjQ4cHg7XG59XG5cbi5pdGlfX3ZhIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNjY0cHg7XG59XG5cbi5pdGlfX3ZjIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNjgwcHg7XG59XG5cbi5pdGlfX3ZlIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNjk2cHg7XG59XG5cbi5pdGlfX3ZnIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNzEycHg7XG59XG5cbi5pdGlfX3ZpIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNzI4cHg7XG59XG5cbi5pdGlfX3ZuIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNzQ0cHg7XG59XG5cbi5pdGlfX3Z1IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNzYwcHg7XG59XG5cbi5pdGlfX3dmIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNzc2cHg7XG59XG5cbi5pdGlfX3dzIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNzkycHg7XG59XG5cbi5pdGlfX3hrIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zODA4cHg7XG59XG5cbi5pdGlfX3llIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zODI0cHg7XG59XG5cbi5pdGlfX3l0IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zODQwcHg7XG59XG5cbi5pdGlfX3phIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zODU2cHg7XG59XG5cbi5pdGlfX3ptIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zODcycHg7XG59XG5cbi5pdGlfX3p3IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zODg4cHg7XG59XG5cbi5pdGlfX2dsb2JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taXRpLXBhdGgtZ2xvYmUtMXgpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0O1xuICBib3gtc2hhZG93OiBub25lO1xuICBoZWlnaHQ6IDE5cHg7XG59XG5cbkBtZWRpYSAobWluLXJlc29sdXRpb246IDJ4KSB7XG4gIC5pdGlfX2ZsYWcge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWl0aS1wYXRoLWZsYWdzLTJ4KTtcbiAgfVxuICAuaXRpX19nbG9iZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taXRpLXBhdGgtZ2xvYmUtMngpO1xuICB9XG59IiwiQGxheWVyIHJlc2V0O1xuQGxheWVyIGJhc2U7XG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuOnJvb3Qge1xuICAtLWl0aS1ob3Zlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgLS1pdGktYm9yZGVyLWNvbG9yOiAjY2NjO1xuICAtLWl0aS1kaWFsY29kZS1jb2xvcjogIzk5OTtcbiAgLS1pdGktZHJvcGRvd24tYmc6IHdoaXRlO1xuICAtLWl0aS1zZWFyY2gtaWNvbi1jb2xvcjogIzk5OTtcbiAgLS1pdGktc3BhY2VyLWhvcml6b250YWw6IDhweDtcbiAgLS1pdGktZmxhZy1oZWlnaHQ6IDEycHg7XG4gIC0taXRpLWZsYWctd2lkdGg6IDE2cHg7XG4gIC0taXRpLWJvcmRlci13aWR0aDogMXB4O1xuICAtLWl0aS1hcnJvdy1oZWlnaHQ6IDRweDtcbiAgLS1pdGktYXJyb3ctd2lkdGg6IDZweDtcbiAgLS1pdGktdHJpYW5nbGUtYm9yZGVyOiBjYWxjKHZhcigtLWl0aS1hcnJvdy13aWR0aCkgLyAyKTtcbiAgLS1pdGktYXJyb3ctcGFkZGluZzogNnB4O1xuICAtLWl0aS1hcnJvdy1jb2xvcjogIzU1NTtcbiAgLS1pdGktcGF0aC1mbGFncy0xeDogdXJsKFwiLi4vaW1nL2ZsYWdzLndlYnBcIik7XG4gIC0taXRpLXBhdGgtZmxhZ3MtMng6IHVybChcIi4uL2ltZy9mbGFnc0AyeC53ZWJwXCIpO1xuICAtLWl0aS1wYXRoLWdsb2JlLTF4OiB1cmwoXCIuLi9pbWcvZ2xvYmUud2VicFwiKTtcbiAgLS1pdGktcGF0aC1nbG9iZS0yeDogdXJsKFwiLi4vaW1nL2dsb2JlQDJ4LndlYnBcIik7XG4gIC0taXRpLWZsYWctc3ByaXRlLXdpZHRoOiAzOTA0cHg7XG4gIC0taXRpLWZsYWctc3ByaXRlLWhlaWdodDogMTJweDtcbiAgLS1pdGktbW9iaWxlLXBvcHVwLW1hcmdpbjogMzBweDtcbn1cblxuLml0aSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uaXRpICoge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4uaXRpX19hMTF5LXRleHQge1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi5pdGkgaW5wdXQuaXRpX190ZWwtaW5wdXQsXG4uaXRpIGlucHV0Lml0aV9fdGVsLWlucHV0W3R5cGU9dGV4dF0sXG4uaXRpIGlucHV0Lml0aV9fdGVsLWlucHV0W3R5cGU9dGVsXSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMDtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG59XG5cbltkaXI9cnRsXSAuaXRpIGlucHV0Lml0aV9fdGVsLWlucHV0LFxuW2Rpcj1ydGxdIC5pdGkgaW5wdXQuaXRpX190ZWwtaW5wdXRbdHlwZT10ZXh0XSxcbltkaXI9cnRsXSAuaXRpIGlucHV0Lml0aV9fdGVsLWlucHV0W3R5cGU9dGVsXSB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uaXRpX19jb3VudHJ5LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHBhZGRpbmc6IHZhcigtLWl0aS1ib3JkZXItd2lkdGgpO1xufVxuXG4uaXRpX19zZWxlY3RlZC1jb3VudHJ5IHtcbiAgei1pbmRleDogMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5pdGlfX3NlbGVjdGVkLWNvdW50cnktcHJpbWFyeSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMCB2YXIoLS1pdGktYXJyb3ctcGFkZGluZykgMCB2YXIoLS1pdGktc3BhY2VyLWhvcml6b250YWwpO1xufVxuXG4uaXRpX19hcnJvdyB7XG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1pdGktYXJyb3ctcGFkZGluZyk7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1sZWZ0OiB2YXIoLS1pdGktdHJpYW5nbGUtYm9yZGVyKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiB2YXIoLS1pdGktdHJpYW5nbGUtYm9yZGVyKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcDogdmFyKC0taXRpLWFycm93LWhlaWdodCkgc29saWQgdmFyKC0taXRpLWFycm93LWNvbG9yKTtcbn1cblxuW2Rpcj1ydGxdIC5pdGlfX2Fycm93IHtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1pdGktYXJyb3ctcGFkZGluZyk7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4uaXRpX19hcnJvdy0tdXAge1xuICBib3JkZXItdG9wOiBub25lO1xuICBib3JkZXItYm90dG9tOiB2YXIoLS1pdGktYXJyb3ctaGVpZ2h0KSBzb2xpZCB2YXIoLS1pdGktYXJyb3ctY29sb3IpO1xufVxuXG4uaXRpX19kcm9wZG93bi1jb250ZW50IHtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pdGktZHJvcGRvd24tYmcpO1xufVxuXG4uaXRpLS1pbmxpbmUtZHJvcGRvd24gLml0aV9fZHJvcGRvd24tY29udGVudCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMjtcbiAgbWFyZ2luLXRvcDogM3B4O1xuICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1pdGktYm9yZGVyLXdpZHRoKSAqIC0xKTtcbiAgYm9yZGVyOiB2YXIoLS1pdGktYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1pdGktYm9yZGVyLWNvbG9yKTtcbiAgYm94LXNoYWRvdzogMXB4IDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuXG4uaXRpX19zZWFyY2gtaW5wdXQge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIHBhZGRpbmctbGVmdDogMzBweDtcbiAgcGFkZGluZy1yaWdodDogMjhweDtcbn1cblxuW2Rpcj1ydGxdIC5pdGlfX3NlYXJjaC1pbnB1dCB7XG4gIHBhZGRpbmctbGVmdDogaW5oZXJpdDtcbiAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgOHB4IGNlbnRlcjtcbn1cblxuLml0aV9fc2VhcmNoLWlucHV0ICsgLml0aV9fY291bnRyeS1saXN0IHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWl0aS1ib3JkZXItY29sb3IpO1xufVxuXG4uaXRpX19zZWFyY2gtaW5wdXQ6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24ge1xuICBhcHBlYXJhbmNlOiBub25lO1xufVxuXG4uaXRpX19zZWFyY2gtaW5wdXQtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLml0aV9fc2VhcmNoLWljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDhweDtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbltkaXI9cnRsXSAuaXRpX19zZWFyY2gtaWNvbiB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiA4cHg7XG59XG5cbi5pdGlfX3NlYXJjaC1pY29uLXN2ZyB7XG4gIHN0cm9rZTogdmFyKC0taXRpLXNlYXJjaC1pY29uLWNvbG9yKTtcbiAgZmlsbDogbm9uZTtcbiAgc3Ryb2tlLXdpZHRoOiAzO1xufVxuXG4uaXRpX19zZWFyY2gtY2xlYXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiA0cHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nOiA0cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2U7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG59XG5cbi5pdGlfX3NlYXJjaC1jbGVhciAuaXRpX19zZWFyY2gtY2xlYXIteCB7XG4gIHN0cm9rZS13aWR0aDogMjtcbn1cblxuLml0aV9fc2VhcmNoLWNsZWFyIC5pdGlfX3NlYXJjaC1jbGVhci1iZyB7XG4gIGZpbGw6IHZhcigtLWl0aS1zZWFyY2gtaWNvbi1jb2xvcik7XG59XG5cbltkaXI9cnRsXSAuaXRpX19zZWFyY2gtY2xlYXIge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogNHB4O1xufVxuXG4uaXRpX19zZWFyY2gtY2xlYXI6aG92ZXIsIC5pdGlfX3NlYXJjaC1jbGVhcjpmb2N1cy12aXNpYmxlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0taXRpLWhvdmVyLWNvbG9yKTtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLml0aV9fbm8tcmVzdWx0cyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMzBweCAwO1xufVxuXG4uaXRpX19jb3VudHJ5LWxpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG5cbi5pdGktLWlubGluZS1kcm9wZG93biAuaXRpX19jb3VudHJ5LWxpc3Qge1xuICBtYXgtaGVpZ2h0OiAxODVweDtcbn1cblxuLml0aS0tZmxleGlibGUtZHJvcGRvd24td2lkdGggLml0aV9fY291bnRyeS1saXN0IHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gIC5pdGktLWZsZXhpYmxlLWRyb3Bkb3duLXdpZHRoIC5pdGlfX2NvdW50cnktbGlzdCB7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgfVxufVxuLml0aV9fY291bnRyeSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDhweCB2YXIoLS1pdGktc3BhY2VyLWhvcml6b250YWwpO1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4uaXRpX19kaWFsLWNvZGUge1xuICBjb2xvcjogdmFyKC0taXRpLWRpYWxjb2RlLWNvbG9yKTtcbn1cblxuLml0aV9fY291bnRyeS5pdGlfX2hpZ2hsaWdodCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWl0aS1ob3Zlci1jb2xvcik7XG59XG5cbi5pdGlfX2NvdW50cnktbGlzdCAuaXRpX19mbGFnLCAuaXRpX19jb3VudHJ5LW5hbWUge1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLWl0aS1zcGFjZXItaG9yaXpvbnRhbCk7XG59XG5cbltkaXI9cnRsXSAuaXRpX19jb3VudHJ5LWxpc3QgLml0aV9fZmxhZywgW2Rpcj1ydGxdIC5pdGlfX2NvdW50cnktbmFtZSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLWl0aS1zcGFjZXItaG9yaXpvbnRhbCk7XG59XG5cbi5pdGktLWFsbG93LWRyb3Bkb3duIC5pdGlfX2NvdW50cnktY29udGFpbmVyOm5vdCg6aGFzKCsgaW5wdXRbZGlzYWJsZWRdKSk6bm90KDpoYXMoKyBpbnB1dFtyZWFkb25seV0pKSBidXR0b24uaXRpX19zZWxlY3RlZC1jb3VudHJ5IHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uaXRpLS1hbGxvdy1kcm9wZG93biAuaXRpX19jb3VudHJ5LWNvbnRhaW5lcjpub3QoOmhhcygrIGlucHV0W2Rpc2FibGVkXSkpOm5vdCg6aGFzKCsgaW5wdXRbcmVhZG9ubHldKSkgLml0aV9fc2VsZWN0ZWQtY291bnRyeS1wcmltYXJ5OmhvdmVyLFxuLml0aS0tYWxsb3ctZHJvcGRvd24gLml0aV9fY291bnRyeS1jb250YWluZXI6bm90KDpoYXMoKyBpbnB1dFtkaXNhYmxlZF0pKTpub3QoOmhhcygrIGlucHV0W3JlYWRvbmx5XSkpIC5pdGlfX3NlbGVjdGVkLWNvdW50cnk6aGFzKCsgLml0aV9fZHJvcGRvd24tY29udGVudDpob3ZlcikgLml0aV9fc2VsZWN0ZWQtY291bnRyeS1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taXRpLWhvdmVyLWNvbG9yKTtcbn1cblxuLml0aSAuaXRpX19zZWxlY3RlZC1kaWFsLWNvZGUge1xuICBtYXJnaW4tbGVmdDogNHB4O1xufVxuXG5bZGlyPXJ0bF0gLml0aSAuaXRpX19zZWxlY3RlZC1kaWFsLWNvZGUge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiA0cHg7XG59XG5cbi5pdGktLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAtMTAwMHB4O1xuICBsZWZ0OiAtMTAwMHB4O1xuICB6LWluZGV4OiAxMDYwO1xuICBwYWRkaW5nOiB2YXIoLS1pdGktYm9yZGVyLXdpZHRoKTtcbn1cblxuLml0aS0tY29udGFpbmVyOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uaXRpX19oaWRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLml0aV9fdi1oaWRlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uaXRpLS1mdWxsc2NyZWVuLXBvcHVwLml0aS0tY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcGFkZGluZzogdmFyKC0taXRpLW1vYmlsZS1wb3B1cC1tYXJnaW4pO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi5pdGktLWZ1bGxzY3JlZW4tcG9wdXAgLml0aV9fZHJvcGRvd24tY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLml0aS0tZnVsbHNjcmVlbi1wb3B1cCAuaXRpX19jb3VudHJ5IHtcbiAgcGFkZGluZzogMTBweCAxMHB4O1xuICBsaW5lLWhlaWdodDogMS41ZW07XG59XG5cbi5pdGlfX2ZsYWcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogMTAwcHg7XG4gIGhlaWdodDogdmFyKC0taXRpLWZsYWctaGVpZ2h0KTtcbiAgd2lkdGg6IHZhcigtLWl0aS1mbGFnLXdpZHRoKTtcbiAgYm9yZGVyLXJhZGl1czogMXB4O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDFweCAwcHggIzg4ODtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taXRpLXBhdGgtZmxhZ3MtMXgpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB2YXIoLS1pdGktZmxhZy1vZmZzZXQpIDA7XG4gIGJhY2tncm91bmQtc2l6ZTogdmFyKC0taXRpLWZsYWctc3ByaXRlLXdpZHRoKSB2YXIoLS1pdGktZmxhZy1zcHJpdGUtaGVpZ2h0KTtcbn1cblxuLml0aV9fYWMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogMHB4O1xufVxuXG4uaXRpX19hZCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTZweDtcbn1cblxuLml0aV9fYWUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMycHg7XG59XG5cbi5pdGlfX2FmIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC00OHB4O1xufVxuXG4uaXRpX19hZyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNjRweDtcbn1cblxuLml0aV9fYWkge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTgwcHg7XG59XG5cbi5pdGlfX2FsIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC05NnB4O1xufVxuXG4uaXRpX19hbSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTEycHg7XG59XG5cbi5pdGlfX2FvIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xMjhweDtcbn1cblxuLml0aV9fYXIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE0NHB4O1xufVxuXG4uaXRpX19hcyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMTYwcHg7XG59XG5cbi5pdGlfX2F0IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0xNzZweDtcbn1cblxuLml0aV9fYXUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE5MnB4O1xufVxuXG4uaXRpX19hdyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjA4cHg7XG59XG5cbi5pdGlfX2F4IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yMjRweDtcbn1cblxuLml0aV9fYXoge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI0MHB4O1xufVxuXG4uaXRpX19iYSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMjU2cHg7XG59XG5cbi5pdGlfX2JiIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0yNzJweDtcbn1cblxuLml0aV9fYmQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI4OHB4O1xufVxuXG4uaXRpX19iZSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzA0cHg7XG59XG5cbi5pdGlfX2JmIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zMjBweDtcbn1cblxuLml0aV9fYmcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMzNnB4O1xufVxuXG4uaXRpX19iaCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtMzUycHg7XG59XG5cbi5pdGlfX2JpIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC0zNjhweDtcbn1cblxuLml0aV9fYmoge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM4NHB4O1xufVxuXG4uaXRpX19ibCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNDAwcHg7XG59XG5cbi5pdGlfX2JtIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC00MTZweDtcbn1cblxuLml0aV9fYm4ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTQzMnB4O1xufVxuXG4uaXRpX19ibyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNDQ4cHg7XG59XG5cbi5pdGlfX2JxIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC00NjRweDtcbn1cblxuLml0aV9fYnIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTQ4MHB4O1xufVxuXG4uaXRpX19icyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNDk2cHg7XG59XG5cbi5pdGlfX2J0IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC01MTJweDtcbn1cblxuLml0aV9fYncge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTUyOHB4O1xufVxuXG4uaXRpX19ieSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNTQ0cHg7XG59XG5cbi5pdGlfX2J6IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC01NjBweDtcbn1cblxuLml0aV9fY2Ege1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTU3NnB4O1xufVxuXG4uaXRpX19jYyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNTkycHg7XG59XG5cbi5pdGlfX2NkIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC02MDhweDtcbn1cblxuLml0aV9fY2Yge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTYyNHB4O1xufVxuXG4uaXRpX19jZyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNjQwcHg7XG59XG5cbi5pdGlfX2NoIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC02NTZweDtcbn1cblxuLml0aV9fY2kge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTY3MnB4O1xufVxuXG4uaXRpX19jayB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNjg4cHg7XG59XG5cbi5pdGlfX2NsIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC03MDRweDtcbn1cblxuLml0aV9fY20ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTcyMHB4O1xufVxuXG4uaXRpX19jbiB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNzM2cHg7XG59XG5cbi5pdGlfX2NvIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC03NTJweDtcbn1cblxuLml0aV9fY3Ige1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTc2OHB4O1xufVxuXG4uaXRpX19jdSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtNzg0cHg7XG59XG5cbi5pdGlfX2N2IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC04MDBweDtcbn1cblxuLml0aV9fY3cge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTgxNnB4O1xufVxuXG4uaXRpX19jeCB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtODMycHg7XG59XG5cbi5pdGlfX2N5IHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC04NDhweDtcbn1cblxuLml0aV9fY3oge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTg2NHB4O1xufVxuXG4uaXRpX19kZSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtODgwcHg7XG59XG5cbi5pdGlfX2RqIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC04OTZweDtcbn1cblxuLml0aV9fZGsge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTkxMnB4O1xufVxuXG4uaXRpX19kbSB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtOTI4cHg7XG59XG5cbi5pdGlfX2RvIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC05NDRweDtcbn1cblxuLml0aV9fZHoge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTk2MHB4O1xufVxuXG4uaXRpX19lYyB7XG4gIC0taXRpLWZsYWctb2Zmc2V0OiAtOTc2cHg7XG59XG5cbi5pdGlfX2VlIHtcbiAgLS1pdGktZmxhZy1vZmZzZXQ6IC05OTJweDtcbn1cblxuLml0aV9fZWcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEwMDhweDtcbn1cblxuLml0aV9fZWgge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEwMjRweDtcbn1cblxuLml0aV9fZXIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEwNDBweDtcbn1cblxuLml0aV9fZXMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEwNTZweDtcbn1cblxuLml0aV9fZXQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEwNzJweDtcbn1cblxuLml0aV9fZmkge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEwODhweDtcbn1cblxuLml0aV9fZmoge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTExMDRweDtcbn1cblxuLml0aV9fZmsge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTExMjBweDtcbn1cblxuLml0aV9fZm0ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTExMzZweDtcbn1cblxuLml0aV9fZm8ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTExNTJweDtcbn1cblxuLml0aV9fZnIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTExNjhweDtcbn1cblxuLml0aV9fZ2Ege1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTExODRweDtcbn1cblxuLml0aV9fZ2Ige1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEyMDBweDtcbn1cblxuLml0aV9fZ2Qge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEyMTZweDtcbn1cblxuLml0aV9fZ2Uge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEyMzJweDtcbn1cblxuLml0aV9fZ2Yge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEyNDhweDtcbn1cblxuLml0aV9fZ2cge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEyNjRweDtcbn1cblxuLml0aV9fZ2gge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEyODBweDtcbn1cblxuLml0aV9fZ2kge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEyOTZweDtcbn1cblxuLml0aV9fZ2wge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEzMTJweDtcbn1cblxuLml0aV9fZ20ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEzMjhweDtcbn1cblxuLml0aV9fZ24ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEzNDRweDtcbn1cblxuLml0aV9fZ3Age1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEzNjBweDtcbn1cblxuLml0aV9fZ3Ege1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEzNzZweDtcbn1cblxuLml0aV9fZ3Ige1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTEzOTJweDtcbn1cblxuLml0aV9fZ3Qge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE0MDhweDtcbn1cblxuLml0aV9fZ3Uge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE0MjRweDtcbn1cblxuLml0aV9fZ3cge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE0NDBweDtcbn1cblxuLml0aV9fZ3kge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE0NTZweDtcbn1cblxuLml0aV9faGsge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE0NzJweDtcbn1cblxuLml0aV9faG4ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE0ODhweDtcbn1cblxuLml0aV9faHIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE1MDRweDtcbn1cblxuLml0aV9faHQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE1MjBweDtcbn1cblxuLml0aV9faHUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE1MzZweDtcbn1cblxuLml0aV9faWQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE1NTJweDtcbn1cblxuLml0aV9faWUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE1NjhweDtcbn1cblxuLml0aV9faWwge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE1ODRweDtcbn1cblxuLml0aV9faW0ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE2MDBweDtcbn1cblxuLml0aV9faW4ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE2MTZweDtcbn1cblxuLml0aV9faW8ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE2MzJweDtcbn1cblxuLml0aV9faXEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE2NDhweDtcbn1cblxuLml0aV9faXIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE2NjRweDtcbn1cblxuLml0aV9faXMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE2ODBweDtcbn1cblxuLml0aV9faXQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE2OTZweDtcbn1cblxuLml0aV9famUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE3MTJweDtcbn1cblxuLml0aV9fam0ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE3MjhweDtcbn1cblxuLml0aV9fam8ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE3NDRweDtcbn1cblxuLml0aV9fanAge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE3NjBweDtcbn1cblxuLml0aV9fa2Uge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE3NzZweDtcbn1cblxuLml0aV9fa2cge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE3OTJweDtcbn1cblxuLml0aV9fa2gge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE4MDhweDtcbn1cblxuLml0aV9fa2kge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE4MjRweDtcbn1cblxuLml0aV9fa20ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE4NDBweDtcbn1cblxuLml0aV9fa24ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE4NTZweDtcbn1cblxuLml0aV9fa3Age1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE4NzJweDtcbn1cblxuLml0aV9fa3Ige1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE4ODhweDtcbn1cblxuLml0aV9fa3cge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE5MDRweDtcbn1cblxuLml0aV9fa3kge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE5MjBweDtcbn1cblxuLml0aV9fa3oge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE5MzZweDtcbn1cblxuLml0aV9fbGEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE5NTJweDtcbn1cblxuLml0aV9fbGIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE5NjhweDtcbn1cblxuLml0aV9fbGMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTE5ODRweDtcbn1cblxuLml0aV9fbGkge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIwMDBweDtcbn1cblxuLml0aV9fbGsge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIwMTZweDtcbn1cblxuLml0aV9fbHIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIwMzJweDtcbn1cblxuLml0aV9fbHMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIwNDhweDtcbn1cblxuLml0aV9fbHQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIwNjRweDtcbn1cblxuLml0aV9fbHUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIwODBweDtcbn1cblxuLml0aV9fbHYge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIwOTZweDtcbn1cblxuLml0aV9fbHkge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIxMTJweDtcbn1cblxuLml0aV9fbWEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIxMjhweDtcbn1cblxuLml0aV9fbWMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIxNDRweDtcbn1cblxuLml0aV9fbWQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIxNjBweDtcbn1cblxuLml0aV9fbWUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIxNzZweDtcbn1cblxuLml0aV9fbWYge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIxOTJweDtcbn1cblxuLml0aV9fbWcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIyMDhweDtcbn1cblxuLml0aV9fbWgge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIyMjRweDtcbn1cblxuLml0aV9fbWsge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIyNDBweDtcbn1cblxuLml0aV9fbWwge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIyNTZweDtcbn1cblxuLml0aV9fbW0ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIyNzJweDtcbn1cblxuLml0aV9fbW4ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIyODhweDtcbn1cblxuLml0aV9fbW8ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIzMDRweDtcbn1cblxuLml0aV9fbXAge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIzMjBweDtcbn1cblxuLml0aV9fbXEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIzMzZweDtcbn1cblxuLml0aV9fbXIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIzNTJweDtcbn1cblxuLml0aV9fbXMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIzNjhweDtcbn1cblxuLml0aV9fbXQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTIzODRweDtcbn1cblxuLml0aV9fbXUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI0MDBweDtcbn1cblxuLml0aV9fbXYge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI0MTZweDtcbn1cblxuLml0aV9fbXcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI0MzJweDtcbn1cblxuLml0aV9fbXgge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI0NDhweDtcbn1cblxuLml0aV9fbXkge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI0NjRweDtcbn1cblxuLml0aV9fbXoge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI0ODBweDtcbn1cblxuLml0aV9fbmEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI0OTZweDtcbn1cblxuLml0aV9fbmMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI1MTJweDtcbn1cblxuLml0aV9fbmUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI1MjhweDtcbn1cblxuLml0aV9fbmYge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI1NDRweDtcbn1cblxuLml0aV9fbmcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI1NjBweDtcbn1cblxuLml0aV9fbmkge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI1NzZweDtcbn1cblxuLml0aV9fbmwge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI1OTJweDtcbn1cblxuLml0aV9fbm8ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI2MDhweDtcbn1cblxuLml0aV9fbnAge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI2MjRweDtcbn1cblxuLml0aV9fbnIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI2NDBweDtcbn1cblxuLml0aV9fbnUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI2NTZweDtcbn1cblxuLml0aV9fbnoge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI2NzJweDtcbn1cblxuLml0aV9fb20ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI2ODhweDtcbn1cblxuLml0aV9fcGEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI3MDRweDtcbn1cblxuLml0aV9fcGUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI3MjBweDtcbn1cblxuLml0aV9fcGYge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI3MzZweDtcbn1cblxuLml0aV9fcGcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI3NTJweDtcbn1cblxuLml0aV9fcGgge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI3NjhweDtcbn1cblxuLml0aV9fcGsge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI3ODRweDtcbn1cblxuLml0aV9fcGwge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI4MDBweDtcbn1cblxuLml0aV9fcG0ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI4MTZweDtcbn1cblxuLml0aV9fcHIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI4MzJweDtcbn1cblxuLml0aV9fcHMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI4NDhweDtcbn1cblxuLml0aV9fcHQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI4NjRweDtcbn1cblxuLml0aV9fcHcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI4ODBweDtcbn1cblxuLml0aV9fcHkge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI4OTZweDtcbn1cblxuLml0aV9fcWEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI5MTJweDtcbn1cblxuLml0aV9fcmUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI5MjhweDtcbn1cblxuLml0aV9fcm8ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI5NDRweDtcbn1cblxuLml0aV9fcnMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI5NjBweDtcbn1cblxuLml0aV9fcnUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI5NzZweDtcbn1cblxuLml0aV9fcncge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTI5OTJweDtcbn1cblxuLml0aV9fc2Ege1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMwMDhweDtcbn1cblxuLml0aV9fc2Ige1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMwMjRweDtcbn1cblxuLml0aV9fc2Mge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMwNDBweDtcbn1cblxuLml0aV9fc2Qge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMwNTZweDtcbn1cblxuLml0aV9fc2Uge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMwNzJweDtcbn1cblxuLml0aV9fc2cge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMwODhweDtcbn1cblxuLml0aV9fc2gge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMxMDRweDtcbn1cblxuLml0aV9fc2kge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMxMjBweDtcbn1cblxuLml0aV9fc2oge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMxMzZweDtcbn1cblxuLml0aV9fc2sge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMxNTJweDtcbn1cblxuLml0aV9fc2wge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMxNjhweDtcbn1cblxuLml0aV9fc20ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMxODRweDtcbn1cblxuLml0aV9fc24ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMyMDBweDtcbn1cblxuLml0aV9fc28ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMyMTZweDtcbn1cblxuLml0aV9fc3Ige1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMyMzJweDtcbn1cblxuLml0aV9fc3Mge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMyNDhweDtcbn1cblxuLml0aV9fc3Qge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMyNjRweDtcbn1cblxuLml0aV9fc3Yge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMyODBweDtcbn1cblxuLml0aV9fc3gge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMyOTZweDtcbn1cblxuLml0aV9fc3kge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMzMTJweDtcbn1cblxuLml0aV9fc3oge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMzMjhweDtcbn1cblxuLml0aV9fdGMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMzNDRweDtcbn1cblxuLml0aV9fdGQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMzNjBweDtcbn1cblxuLml0aV9fdGcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMzNzZweDtcbn1cblxuLml0aV9fdGgge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTMzOTJweDtcbn1cblxuLml0aV9fdGoge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM0MDhweDtcbn1cblxuLml0aV9fdGsge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM0MjRweDtcbn1cblxuLml0aV9fdGwge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM0NDBweDtcbn1cblxuLml0aV9fdG0ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM0NTZweDtcbn1cblxuLml0aV9fdG4ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM0NzJweDtcbn1cblxuLml0aV9fdG8ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM0ODhweDtcbn1cblxuLml0aV9fdHIge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM1MDRweDtcbn1cblxuLml0aV9fdHQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM1MjBweDtcbn1cblxuLml0aV9fdHYge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM1MzZweDtcbn1cblxuLml0aV9fdHcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM1NTJweDtcbn1cblxuLml0aV9fdHoge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM1NjhweDtcbn1cblxuLml0aV9fdWEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM1ODRweDtcbn1cblxuLml0aV9fdWcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM2MDBweDtcbn1cblxuLml0aV9fdXMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM2MTZweDtcbn1cblxuLml0aV9fdXkge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM2MzJweDtcbn1cblxuLml0aV9fdXoge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM2NDhweDtcbn1cblxuLml0aV9fdmEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM2NjRweDtcbn1cblxuLml0aV9fdmMge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM2ODBweDtcbn1cblxuLml0aV9fdmUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM2OTZweDtcbn1cblxuLml0aV9fdmcge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM3MTJweDtcbn1cblxuLml0aV9fdmkge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM3MjhweDtcbn1cblxuLml0aV9fdm4ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM3NDRweDtcbn1cblxuLml0aV9fdnUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM3NjBweDtcbn1cblxuLml0aV9fd2Yge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM3NzZweDtcbn1cblxuLml0aV9fd3Mge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM3OTJweDtcbn1cblxuLml0aV9feGsge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM4MDhweDtcbn1cblxuLml0aV9feWUge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM4MjRweDtcbn1cblxuLml0aV9feXQge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM4NDBweDtcbn1cblxuLml0aV9femEge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM4NTZweDtcbn1cblxuLml0aV9fem0ge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM4NzJweDtcbn1cblxuLml0aV9fencge1xuICAtLWl0aS1mbGFnLW9mZnNldDogLTM4ODhweDtcbn1cblxuLml0aV9fZ2xvYmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pdGktcGF0aC1nbG9iZS0xeCk7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGhlaWdodDogMTlweDtcbn1cblxuQG1lZGlhIChtaW4tcmVzb2x1dGlvbjogMngpIHtcbiAgLml0aV9fZmxhZyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taXRpLXBhdGgtZmxhZ3MtMngpO1xuICB9XG4gIC5pdGlfX2dsb2JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pdGktcGF0aC1nbG9iZS0yeCk7XG4gIH1cbn1cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qLS0tVEVYVCBBTkQgRk9OVC0tLSovXG4vKi0tLUJBQ0tHUk9VTkQtLS0qL1xuLyotLS1QT1NJVElPTklORy0tLSovXG4vKi0tLUNPTlRFTlQtLS0qL1xuLyotLS1MSVNUUy0tLSovXG4vKi0tLUJPUkRFUiBBUlJPV1MtLS0qL1xuLyoqRm9ybXMqKi9cbi8qKiBERUZBVUxUIE9WRVJSSURFUyAqKi9cbkBsYXllciBiYXNlIHtcbiAgLmZpZWxkV3JhcHBlcixcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgfVxuICAuZmllbGRXcmFwcGVyIGxhYmVsOm5vdCguY2hlY2tib3hMYWJlbCksXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyIGxhYmVsOm5vdCguY2hlY2tib3hMYWJlbCksXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUgbGFiZWw6bm90KC5jaGVja2JveExhYmVsKSxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQgbGFiZWw6bm90KC5jaGVja2JveExhYmVsKSB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgfVxuICAuZmllbGRXcmFwcGVyIGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1yYWRpb10pLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlciBpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9cmFkaW9dKSxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSBpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9cmFkaW9dKSxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQgaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KFt0eXBlPXJhZGlvXSkge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICB9XG4gIC5maWVsZFdyYXBwZXIgaW5wdXQ6Oi1tcy1yZXZlYWwsXG4gIC5maWVsZFdyYXBwZXIgaW5wdXQ6Oi1tcy1jbGVhcixcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgaW5wdXQ6Oi1tcy1yZXZlYWwsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyIGlucHV0OjotbXMtY2xlYXIsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUgaW5wdXQ6Oi1tcy1yZXZlYWwsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUgaW5wdXQ6Oi1tcy1jbGVhcixcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQgaW5wdXQ6Oi1tcy1yZXZlYWwsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIGlucHV0OjotbXMtY2xlYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmZpZWxkV3JhcHBlciAuZGVzY3JpcHRpb24sXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyIC5kZXNjcmlwdGlvbixcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSAuZGVzY3JpcHRpb24sXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIC5kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogNnB4O1xuICAgIGZvbnQtc2l6ZTogMC44NGVtO1xuICAgIGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tYmFzaWMpIGNhbGMoMC44NSAqIDEwMCUpLCB0cmFuc3BhcmVudCk7XG4gIH1cbiAgLmZpZWxkV3JhcHBlciB0ZXh0YXJlYSxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQubG9uZ2Fuc3dlciB0ZXh0YXJlYSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gIH1cbiAgLmRyb3Bkb3duV3JhcHBlcixcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuZHJvcGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICB9XG4gIC5kcm9wZG93bldyYXBwZXIgc2VsZWN0LFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5kcm9wZG93biBzZWxlY3Qge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgZmlsbD0nYmxhY2snIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgd2lkdGg9JzI0JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxwYXRoIGQ9J003IDEwbDUgNSA1LTV6Jy8+PHBhdGggZD0nTTAgMGgyNHYyNEgweicgZmlsbD0nbm9uZScvPjwvc3ZnPlwiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjVweCA1MHB4O1xuICB9XG4gIC5kcm9wZG93bldyYXBwZXIgc2VsZWN0OjotbXMtZXhwYW5kLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5kcm9wZG93biBzZWxlY3Q6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmNvbnRyb2xXcmFwcGVyLFxuICAuYWRnLXVtYnJhY28tZm9ybXMtY29udHJvbHdyYXBwZXIge1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB2YXIoLS1saWdodC1ncmV5KTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICB9XG4gIC5jb250cm9sV3JhcHBlcjpsYXN0LWNoaWxkLFxuICAuYWRnLXVtYnJhY28tZm9ybXMtY29udHJvbHdyYXBwZXI6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICB9XG4gIC5jb250cm9sV3JhcHBlciAuY29udHJvbCxcbiAgLmFkZy11bWJyYWNvLWZvcm1zLWNvbnRyb2x3cmFwcGVyIC5jb250cm9sIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAgLmNvbnRyb2xXcmFwcGVyIGxhYmVsLFxuICAuYWRnLXVtYnJhY28tZm9ybXMtY29udHJvbHdyYXBwZXIgbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgLmNvbnRyb2xXcmFwcGVyIC5kZXNjcmlwdGlvbixcbiAgLmFkZy11bWJyYWNvLWZvcm1zLWNvbnRyb2x3cmFwcGVyIC5kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogNnB4O1xuICAgIGZvbnQtc2l6ZTogMC44NGVtO1xuICAgIGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tYmFzaWMpIGNhbGMoMC44NSAqIDEwMCUpLCB0cmFuc3BhcmVudCk7XG4gIH1cbiAgLmZpZWxkV3JhcHBlci5lbnJvbGxlZU5hbWUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxuICAuc3R5bGVkRmllbGRzZXQsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkc2V0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tbGlnaHQtZ3JleSk7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbGlnaHQtZ3JleSkgY2FsYygwLjQgKiAxMDAlKSwgdHJhbnNwYXJlbnQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5zdHlsZWRGaWVsZHNldCBsZWdlbmQsXG4gIC5zdHlsZWRGaWVsZHNldCAuZ3JvdXBMZWdlbmQsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkc2V0IGxlZ2VuZCxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGRzZXQgLmdyb3VwTGVnZW5kIHtcbiAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFzaWMpO1xuICAgIGNvbG9yOiB2YXIoLS1iYXNpYy1jb250cmFzdCk7XG4gIH1cbiAgLnN0eWxlZEZpZWxkc2V0IC5ncm91cExlZ2VuZCxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGRzZXQgLmdyb3VwTGVnZW5kIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvIDEwcHg7XG4gIH1cbiAgLnN0eWxlZEZpZWxkc2V0IC5maWVsZHNldEdyaWQsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkc2V0IC5maWVsZHNldEdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgIGdhcDogMTJweDtcbiAgfVxuICAuc3R5bGVkRmllbGRzZXQgLmZpZWxkc2V0R3JpZCAuZmllbGRXcmFwcGVyLFxuICAuc3R5bGVkRmllbGRzZXQgLmZpZWxkc2V0R3JpZCAuY29udHJvbFdyYXBwZXIsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkc2V0IC5maWVsZHNldEdyaWQgLmZpZWxkV3JhcHBlcixcbiAgLnVtYnJhY28tZm9ybXMtZmllbGRzZXQgLmZpZWxkc2V0R3JpZCAuY29udHJvbFdyYXBwZXIge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICAuZmllbGRXcmFwcGVyLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlcixcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQge1xuICAgIG1hcmdpbjogMTBweCBhdXRvO1xuICB9XG4gIC5maWVsZFdyYXBwZXIgbGFiZWw6bm90KC5jaGVja2JveExhYmVsKSxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgbGFiZWw6bm90KC5jaGVja2JveExhYmVsKSxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSBsYWJlbDpub3QoLmNoZWNrYm94TGFiZWwpLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCBsYWJlbDpub3QoLmNoZWNrYm94TGFiZWwpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA4cHg7XG4gICAgbGVmdDogOHB4O1xuICAgIHotaW5kZXg6IDI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIDAgNXB4O1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLXByaW1hcnktZm9udCk7XG4gICAgY29sb3I6IHZhcigtLWJhc2ljKTtcbiAgfVxuICAuZmllbGRXcmFwcGVyIGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1yYWRpb10pOm5vdCguaXRpX19zZWFyY2gtaW5wdXQpLFxuICAuZmllbGRXcmFwcGVyIHRleHRhcmVhLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlciBpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9cmFkaW9dKTpub3QoLml0aV9fc2VhcmNoLWlucHV0KSxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgdGV4dGFyZWEsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUgaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KFt0eXBlPXJhZGlvXSk6bm90KC5pdGlfX3NlYXJjaC1pbnB1dCksXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUgdGV4dGFyZWEsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1yYWRpb10pOm5vdCguaXRpX19zZWFyY2gtaW5wdXQpLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCB0ZXh0YXJlYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDQ4cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWdyZXkpO1xuICAgIHBhZGRpbmc6IDIzcHggOHB4IDZweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0KTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gIC5maWVsZFdyYXBwZXIgLnNob3dIaWRlLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlciAuc2hvd0hpZGUsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUgLnNob3dIaWRlLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCAuc2hvd0hpZGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiA1M3B4O1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcbiAgICBjb2xvcjogdmFyKC0tYnJhbmQtZGFyay1jb250cmFzdCk7XG4gIH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAgIC5maWVsZFdyYXBwZXIgLnNob3dIaWRlOmhvdmVyLFxuICAgIC51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyIC5zaG93SGlkZTpob3ZlcixcbiAgICAudW1icmFjby1mb3Jtcy1maWVsZC5kYXRlIC5zaG93SGlkZTpob3ZlcixcbiAgICAudW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCAuc2hvd0hpZGU6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgICAgIGNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpO1xuICAgIH1cbiAgICAuZmllbGRXcmFwcGVyIC5zaG93SGlkZTpob3ZlciAuaWNvbjphZnRlcixcbiAgICAudW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlciAuc2hvd0hpZGU6aG92ZXIgLmljb246YWZ0ZXIsXG4gICAgLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSAuc2hvd0hpZGU6aG92ZXIgLmljb246YWZ0ZXIsXG4gICAgLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQgLnNob3dIaWRlOmhvdmVyIC5pY29uOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG4gICAgfVxuICB9XG4gIFtkYXRhLWJyb3dzZXI9aWVdIC5maWVsZFdyYXBwZXIgLnNob3dIaWRlOmhvdmVyLFxuICBbZGF0YS1icm93c2VyPWllXSAudW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlciAuc2hvd0hpZGU6aG92ZXIsXG4gIFtkYXRhLWJyb3dzZXI9aWVdIC51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUgLnNob3dIaWRlOmhvdmVyLFxuICBbZGF0YS1icm93c2VyPWllXSAudW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCAuc2hvd0hpZGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gICAgY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG4gIH1cbiAgW2RhdGEtYnJvd3Nlcj1pZV0gLmZpZWxkV3JhcHBlciAuc2hvd0hpZGU6aG92ZXIgLmljb246YWZ0ZXIsXG4gIFtkYXRhLWJyb3dzZXI9aWVdIC51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyIC5zaG93SGlkZTpob3ZlciAuaWNvbjphZnRlcixcbiAgW2RhdGEtYnJvd3Nlcj1pZV0gLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSAuc2hvd0hpZGU6aG92ZXIgLmljb246YWZ0ZXIsXG4gIFtkYXRhLWJyb3dzZXI9aWVdIC51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIC5zaG93SGlkZTpob3ZlciAuaWNvbjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbiAgfVxuICAuaWUgLmZpZWxkV3JhcHBlciAuc2hvd0hpZGU6aG92ZXIsXG4gIC5pZSAudW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlciAuc2hvd0hpZGU6aG92ZXIsXG4gIC5pZSAudW1icmFjby1mb3Jtcy1maWVsZC5kYXRlIC5zaG93SGlkZTpob3ZlcixcbiAgLmllIC51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIC5zaG93SGlkZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbiAgfVxuICAuaWUgLmZpZWxkV3JhcHBlciAuc2hvd0hpZGU6aG92ZXIgLmljb246YWZ0ZXIsXG4gIC5pZSAudW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlciAuc2hvd0hpZGU6aG92ZXIgLmljb246YWZ0ZXIsXG4gIC5pZSAudW1icmFjby1mb3Jtcy1maWVsZC5kYXRlIC5zaG93SGlkZTpob3ZlciAuaWNvbjphZnRlcixcbiAgLmllIC51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIC5zaG93SGlkZTpob3ZlciAuaWNvbjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbiAgfVxuICAuZmllbGRXcmFwcGVyIC5zaG93SGlkZS5mb2N1cy12aXNpYmxlLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlciAuc2hvd0hpZGUuZm9jdXMtdmlzaWJsZSxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSAuc2hvd0hpZGUuZm9jdXMtdmlzaWJsZSxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQgLnNob3dIaWRlLmZvY3VzLXZpc2libGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gICAgY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG4gIH1cbiAgLmZpZWxkV3JhcHBlciAuc2hvd0hpZGUuZm9jdXMtdmlzaWJsZSAuaWNvbjphZnRlcixcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgLnNob3dIaWRlLmZvY3VzLXZpc2libGUgLmljb246YWZ0ZXIsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUgLnNob3dIaWRlLmZvY3VzLXZpc2libGUgLmljb246YWZ0ZXIsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIC5zaG93SGlkZS5mb2N1cy12aXNpYmxlIC5pY29uOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpO1xuICB9XG4gIC5maWVsZFdyYXBwZXIgLnNob3dIaWRlOmZvY3VzLXZpc2libGUsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyIC5zaG93SGlkZTpmb2N1cy12aXNpYmxlLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5kYXRlIC5zaG93SGlkZTpmb2N1cy12aXNpYmxlLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCAuc2hvd0hpZGU6Zm9jdXMtdmlzaWJsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbiAgfVxuICAuZmllbGRXcmFwcGVyIC5zaG93SGlkZTpmb2N1cy12aXNpYmxlIC5pY29uOmFmdGVyLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlciAuc2hvd0hpZGU6Zm9jdXMtdmlzaWJsZSAuaWNvbjphZnRlcixcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSAuc2hvd0hpZGU6Zm9jdXMtdmlzaWJsZSAuaWNvbjphZnRlcixcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQgLnNob3dIaWRlOmZvY3VzLXZpc2libGUgLmljb246YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG4gIH1cbiAgLmZpZWxkV3JhcHBlciAuc2hvd0hpZGVbYXJpYS1jaGVja2VkPXRydWVdIC5pY29uOmFmdGVyLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlciAuc2hvd0hpZGVbYXJpYS1jaGVja2VkPXRydWVdIC5pY29uOmFmdGVyLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5kYXRlIC5zaG93SGlkZVthcmlhLWNoZWNrZWQ9dHJ1ZV0gLmljb246YWZ0ZXIsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIC5zaG93SGlkZVthcmlhLWNoZWNrZWQ9dHJ1ZV0gLmljb246YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lkdGg6IDNweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTQ1ZGVnKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZC1kYXJrLWNvbnRyYXN0KTtcbiAgfVxuICAuZmllbGRXcmFwcGVyIC5zaG93SGlkZSAuaWNvbixcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgLnNob3dIaWRlIC5pY29uLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5kYXRlIC5zaG93SGlkZSAuaWNvbixcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQgLnNob3dIaWRlIC5pY29uIHtcbiAgICBmb250LXNpemU6IDEuMmVtO1xuICB9XG4gIC5maWVsZFdyYXBwZXIgI1Bhc3N3b3JkOmZvY3VzICsgI3JlcXVpcmVtZW50cyxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgI1Bhc3N3b3JkOmZvY3VzICsgI3JlcXVpcmVtZW50cyxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSAjUGFzc3dvcmQ6Zm9jdXMgKyAjcmVxdWlyZW1lbnRzLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCAjUGFzc3dvcmQ6Zm9jdXMgKyAjcmVxdWlyZW1lbnRzIHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAwcHg7XG4gIH1cbiAgLmZpZWxkV3JhcHBlciAjcmVxdWlyZW1lbnRzLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlciAjcmVxdWlyZW1lbnRzLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5kYXRlICNyZXF1aXJlbWVudHMsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkICNyZXF1aXJlbWVudHMge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMTBweCAwIDAgMDtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCA4MDBtcyBlYXNlLWluLW91dDtcbiAgfVxuICAuZmllbGRXcmFwcGVyICNyZXF1aXJlbWVudHMgbGksXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyICNyZXF1aXJlbWVudHMgbGksXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUgI3JlcXVpcmVtZW50cyBsaSxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQgI3JlcXVpcmVtZW50cyBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gIH1cbiAgLmZpZWxkV3JhcHBlciAjcmVxdWlyZW1lbnRzIGxpLnZhbGlkIC5pY29uLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlciAjcmVxdWlyZW1lbnRzIGxpLnZhbGlkIC5pY29uLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5kYXRlICNyZXF1aXJlbWVudHMgbGkudmFsaWQgLmljb24sXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkICNyZXF1aXJlbWVudHMgbGkudmFsaWQgLmljb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvcnJlY3QpO1xuICAgIGNvbG9yOiB2YXIoLS1jb3JyZWN0LWNvbnRyYXN0KTtcbiAgICBmb250LXNpemU6IDAuODhlbTtcbiAgICBwYWRkaW5nLXRvcDogMC4xZW07XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbiAgLmZpZWxkV3JhcHBlciAjcmVxdWlyZW1lbnRzIGxpIC5pY29uLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlciAjcmVxdWlyZW1lbnRzIGxpIC5pY29uLFxuICAudW1icmFjby1mb3Jtcy1maWVsZC5kYXRlICNyZXF1aXJlbWVudHMgbGkgLmljb24sXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkICNyZXF1aXJlbWVudHMgbGkgLmljb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdyb25nKTtcbiAgICBjb2xvcjogdmFyKC0td3JvbmctY29udHJhc3QpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgZm9udC1zaXplOiAwLjk1ZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuMWVtO1xuICB9XG4gIC5kcm9wZG93bldyYXBwZXIgbGFiZWw6bm90KC5jaGVja2JveExhYmVsKSxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuZHJvcGRvd24gbGFiZWw6bm90KC5jaGVja2JveExhYmVsKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogOHB4O1xuICAgIGxlZnQ6IDhweDtcbiAgICB6LWluZGV4OiAyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCAwIDVweDtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXNpemU6IDAuOGVtO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1wcmltYXJ5LWZvbnQpO1xuICAgIGNvbG9yOiB2YXIoLS1iYXNpYyk7XG4gIH1cbiAgLmRyb3Bkb3duV3JhcHBlciBzZWxlY3QsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLmRyb3Bkb3duIHNlbGVjdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDUycHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWdyZXkpO1xuICAgIHBhZGRpbmc6IDI2cHggNDVweCA4cHggOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgLnVtYnJhY28tZm9ybXMtZmllbGQubG9uZ2Fuc3dlciB0ZXh0YXJlYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDU2cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWdyZXkpO1xuICAgIHBhZGRpbmc6IDZweCA4cHggNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgZm9ybSAuZXJyb3IsXG4gIC5mb3JtV3JhcCAuZXJyb3Ige1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogNHB4IDA7XG4gICAgcGFkZGluZzogMnB4IDRweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3JvbmcpO1xuICAgIGNvbG9yOiB2YXIoLS13cm9uZy1jb250cmFzdCk7XG4gIH1cbiAgZm9ybSAuZXJyb3I6ZW1wdHksXG4gIC5mb3JtV3JhcCAuZXJyb3I6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDY1MHB4KSB7XG4gICAgLnN0eWxlZEZpZWxkc2V0LFxuICAgIC51bWJyYWNvLWZvcm1zLWZpZWxkc2V0IHtcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgfVxuICAgIC5zdHlsZWRGaWVsZHNldCAuZmllbGRzZXRHcmlkLFxuICAgIC51bWJyYWNvLWZvcm1zLWZpZWxkc2V0IC5maWVsZHNldEdyaWQge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBub25lO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNTIwcHgpIHtcbiAgICAuY29udHJvbFdyYXBwZXIgbGFiZWwge1xuICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ1MHB4KSB7XG4gICAgLmNvbnRyb2xXcmFwcGVyIGxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgfVxuICB9XG59XG4uZmllbGRXcmFwcGVyIC5kZXNjcmlwdGlvbiA+ICo6Zmlyc3QtY2hpbGQsXG4udW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlciAuZGVzY3JpcHRpb24gPiAqOmZpcnN0LWNoaWxkLFxuLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSAuZGVzY3JpcHRpb24gPiAqOmZpcnN0LWNoaWxkLFxuLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQgLmRlc2NyaXB0aW9uID4gKjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbn1cbi5maWVsZFdyYXBwZXIgLmRlc2NyaXB0aW9uID4gKjpsYXN0LWNoaWxkLFxuLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgLmRlc2NyaXB0aW9uID4gKjpsYXN0LWNoaWxkLFxuLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSAuZGVzY3JpcHRpb24gPiAqOmxhc3QtY2hpbGQsXG4udW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCAuZGVzY3JpcHRpb24gPiAqOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5jb250cm9sV3JhcHBlciA+ICo6Zmlyc3QtY2hpbGQsXG4uYWRnLXVtYnJhY28tZm9ybXMtY29udHJvbHdyYXBwZXIgPiAqOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuLmNvbnRyb2xXcmFwcGVyID4gKjpsYXN0LWNoaWxkLFxuLmFkZy11bWJyYWNvLWZvcm1zLWNvbnRyb2x3cmFwcGVyID4gKjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuLmNvbnRyb2xXcmFwcGVyIC5kZXNjcmlwdGlvbiA+ICo6Zmlyc3QtY2hpbGQsXG4uYWRnLXVtYnJhY28tZm9ybXMtY29udHJvbHdyYXBwZXIgLmRlc2NyaXB0aW9uID4gKjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbn1cbi5jb250cm9sV3JhcHBlciAuZGVzY3JpcHRpb24gPiAqOmxhc3QtY2hpbGQsXG4uYWRnLXVtYnJhY28tZm9ybXMtY29udHJvbHdyYXBwZXIgLmRlc2NyaXB0aW9uID4gKjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4uc3R5bGVkRmllbGRzZXQgPiA6bGFzdC1jaGlsZCxcbi51bWJyYWNvLWZvcm1zLWZpZWxkc2V0ID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbiNyZXF1aXJlbWVudHMgbGkudmFsaWQgLmljb246YmVmb3JlIHtcbiAgY29udGVudDogXCJhXCI7XG59XG5cbkBsYXllciByZXNldCB7XG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cbiAgaHRtbCB7XG4gICAgbWluLWhlaWdodDogMTAwZHZoO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgfVxuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVTcGVlZDtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDBkdmg7XG4gIH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIGFydGljbGUgPiAqICsgKiB7XG4gICAgbWFyZ2luLXRvcDogMWVtO1xuICB9XG4gIGlucHV0LFxuICBidXR0b24sXG4gIHRleHRhcmVhLFxuICBzZWxlY3Qge1xuICAgIGZvbnQ6IGluaGVyaXQ7XG4gIH1cbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIHAge1xuICAgIG1hcmdpbjogMC4zNWVtIDAgMC43NWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU1ZW07XG4gIH1cbiAgb2wsXG4gIHVsIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1hcmdpbjogMC40ZW0gMCAwLjc1ZW07XG4gIH1cbiAgbGkge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgfVxuICBidXR0b24ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgaWZyYW1lIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gIH1cbn1cbkBsYXllciBiYXNlIHtcbiAgYm9keSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWJhc2ljLWZvbnQpO1xuICB9XG4gIGEge1xuICAgIGNvbG9yOiB2YXIoLS1saW5rKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saW5rLWNvbnRyYXN0KTtcbiAgICBwYWRkaW5nLWlubGluZTogMnB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1saW5rKTtcbiAgICB0cmFuc2l0aW9uOiAwLjE1cztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAgIGE6aG92ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG4gIFtkYXRhLWJyb3dzZXI9aWVdIGE6aG92ZXIge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gIC5pZSBhOmhvdmVyIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICBhLmZvY3VzLXZpc2libGUge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gIGE6Zm9jdXMtdmlzaWJsZSB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgYSAudGFyZ2V0QmxhbmtOb3RpZmllciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXAtcGF0aDogcmVjdCgwIDAgMCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuICB9XG4gIGEgLmljb24tbWFpbCB7XG4gICAgZm9udC1zaXplOiAwLjllbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMXB4KTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1ZW07XG4gIH1cbiAgYSAuaWNvbi1leHRlcm5hbC1saW5rIHtcbiAgICBtYXJnaW4tbGVmdDogMC4yNWVtO1xuICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gIH1cbiAgW2RhdGEtYWN0aXZlLXpvbmU9aG9tZV0ge1xuICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47XG4gIH1cbn1cbio6bm90KGEpOmZvY3VzLXZpc2libGUsICo6bm90KGEpLmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lLWNvbG9yOiB2YXIoLS1mb2N1cy1vdXRsaW5lLWNvbG9yKSAhaW1wb3J0YW50O1xuICBvdXRsaW5lLW9mZnNldDogdmFyKC0tZm9jdXMtb3V0bGluZS1vZmZzZXQpICFpbXBvcnRhbnQ7XG4gIG91dGxpbmUtc3R5bGU6IHZhcigtLWZvY3VzLW91dGxpbmUtc3R5bGUpICFpbXBvcnRhbnQ7XG4gIG91dGxpbmUtd2lkdGg6IHZhcigtLWZvY3VzLW91dGxpbmUtd2lkdGgpICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLWZvY3VzLW91dGxpbmUtb2Zmc2V0KSB2YXIoLS1mb2N1cy1zaGFkb3ctY29sb3IpICFpbXBvcnRhbnQ7XG59XG5cbi5zb2NpYWxNZWRpYUxvZ2lucyBhOmZvY3VzLXZpc2libGUsXG4uc29jaWFsTWVkaWFMb2dpbnMgYS5mb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZS1jb2xvcjogdmFyKC0tZm9jdXMtb3V0bGluZS1jb2xvcikgIWltcG9ydGFudDtcbiAgb3V0bGluZS1vZmZzZXQ6IHZhcigtLWZvY3VzLW91dGxpbmUtb2Zmc2V0KSAhaW1wb3J0YW50O1xuICBvdXRsaW5lLXN0eWxlOiB2YXIoLS1mb2N1cy1vdXRsaW5lLXN0eWxlKSAhaW1wb3J0YW50O1xuICBvdXRsaW5lLXdpZHRoOiB2YXIoLS1mb2N1cy1vdXRsaW5lLXdpZHRoKSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1mb2N1cy1vdXRsaW5lLW9mZnNldCkgdmFyKC0tZm9jdXMtc2hhZG93LWNvbG9yKSAhaW1wb3J0YW50O1xufVxuXG5ib2R5W2RhdGEtcmVkdWNlLWFuaW1hdGlvbj10cnVlXSAqLFxuYm9keVtkYXRhLXJlZHVjZS1hbmltYXRpb249dHJ1ZV0gKjo6YmVmb3JlLFxuYm9keVtkYXRhLXJlZHVjZS1hbmltYXRpb249dHJ1ZV0gKjo6YWZ0ZXIge1xuICBhbmltYXRpb24tZHVyYXRpb246IDAuMDFtcyAhaW1wb3J0YW50O1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMDFtcyAhaW1wb3J0YW50O1xuICBzY3JvbGwtYmVoYXZpb3I6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLnNsaWRlU2tpcCxcbi5ob21lU2tpcCxcbi5tZW1iZXJzaGlwU2tpcCB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcC1wYXRoOiByZWN0KDAgMCAwIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uc2xpZGVTa2lwLmZvY3VzLXZpc2libGUsXG4uaG9tZVNraXAuZm9jdXMtdmlzaWJsZSxcbi5tZW1iZXJzaGlwU2tpcC5mb2N1cy12aXNpYmxlIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDEwcHg7XG4gIGxlZnQ6IDEwcHg7XG4gIHotaW5kZXg6IDk5OTk5OTk5OTk5OTk5OTtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxMHB4O1xuICBjbGlwLXBhdGg6IGluaXRpYWw7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQpO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbn1cbi5zbGlkZVNraXA6Zm9jdXMtdmlzaWJsZSxcbi5ob21lU2tpcDpmb2N1cy12aXNpYmxlLFxuLm1lbWJlcnNoaXBTa2lwOmZvY3VzLXZpc2libGUge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMTBweDtcbiAgbGVmdDogMTBweDtcbiAgei1pbmRleDogOTk5OTk5OTk5OTk5OTk5O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGNsaXAtcGF0aDogaW5pdGlhbDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpO1xufVxuXG5bZGF0YS1hY3RpdmUtem9uZT1ob21lXSAuaG9tZVNraXAge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuW2RhdGEtYWN0aXZlLXpvbmU9c2xpZGVzXSAuc2xpZGVTa2lwIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5tZW1iZXJzaGlwU2tpcCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5odG1sIHtcbiAgc2Nyb2xsYmFyLWd1dHRlcjogc3RhYmxlO1xufVxuXG53aWxsaXMtem9uZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5baW5lcnRdIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbndpbGxpcy1kaWFsb2c6bm90KFtkYXRhLW9wZW49dHJ1ZV0pIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5odG1sW2RhdGEtZGlhbG9nLWhpZGUtb3ZlcmZsb3c9dHJ1ZV0ge1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbkBsYXllciBiYXNlIHtcbiAgLmRpYWxvZ0JhY2tkcm9wIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IGNhbGMoMTAwdncgLSB2YXIoLS1zY3JvbGxiYXItd2lkdGgpKTtcbiAgICBoZWlnaHQ6IDEwMGR2aDtcbiAgfVxuICBAc3VwcG9ydHMgKGhlaWdodDogMTAwZHZoKSB7XG4gICAgLmRpYWxvZ0JhY2tkcm9wIHtcbiAgICAgIGhlaWdodDogMTAwZHZoO1xuICAgIH1cbiAgfVxuICAuc2xpZGUgLmRpYWxvZ0JhY2tkcm9wIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbiAgLmRpYWxvZ0lubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgZGl2W3JvbGU9ZGlhbG9nXSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIH1cbiAgW2RhdGEtZGlhbG9nLXN0eWxlPW1vZGFsXSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cbiAgW2RhdGEtZGlhbG9nLXN0eWxlPW1vZGFsXSBkaXZbcm9sZT1kaWFsb2ddIHtcbiAgICB3aWR0aDogNTgwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG4gIFtkYXRhLWRpYWxvZy1zdHlsZT1tb2RhbF0gLmRpYWxvZ0lubmVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIH1cbiAgW2RhdGEtZGlhbG9nLXN0eWxlPWxhcmdlTW9kYWxdIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxuICBbZGF0YS1kaWFsb2ctc3R5bGU9bGFyZ2VNb2RhbF0gZGl2W3JvbGU9ZGlhbG9nXSB7XG4gICAgd2lkdGg6IDgwMHB4O1xuICAgIG1heC13aWR0aDogMTAwdnc7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG4gIFtkYXRhLWRpYWxvZy1zdHlsZT1sYXJnZU1vZGFsXSAuZGlhbG9nSW5uZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTtcbiAgfVxuICBbZGF0YS1kaWFsb2ctc3R5bGU9c2hhZGVdIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG4gIFtkYXRhLWRpYWxvZy1zdHlsZT1zaGFkZV0gZGl2W3JvbGU9ZGlhbG9nXSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIFtkYXRhLWRpYWxvZy1zdHlsZT1zaGFkZV0gZGl2W3JvbGU9ZGlhbG9nXSAuZGlhbG9nTGFiZWwge1xuICAgIG1heC13aWR0aDogODAwcHg7XG4gIH1cbiAgW2RhdGEtZGlhbG9nLXN0eWxlPXNoYWRlXSBkaXZbcm9sZT1kaWFsb2ddIC5kaWFsb2dDb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDgwMHB4O1xuICB9XG4gIFtkYXRhLWRpYWxvZy1zdHlsZT1zaGFkZV0gZGl2W3JvbGU9ZGlhbG9nXSAuZGlhbG9nQWN0aW9ucyB7XG4gICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgfVxuICBbZGF0YS1kaWFsb2ctc3R5bGU9c2hhZGVdIC5kaWFsb2dJbm5lciB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIHZhcigtLXJhZGl1cykgdmFyKC0tcmFkaXVzKTtcbiAgfVxuICBbZGF0YS1kaWFsb2ctc3R5bGVePXNpZGViYXJdIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIH1cbiAgW2RhdGEtZGlhbG9nLXN0eWxlXj1zaWRlYmFyXVtkYXRhLWRpYWxvZy1zdHlsZT1zaWRlYmFyTGVmdF0ge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgfVxuICBbZGF0YS1kaWFsb2ctc3R5bGVePXNpZGViYXJdW2RhdGEtZGlhbG9nLXN0eWxlPXNpZGViYXJSaWdodF0ge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIH1cbiAgW2RhdGEtZGlhbG9nLXN0eWxlXj1zaWRlYmFyXSBkaXZbcm9sZT1kaWFsb2ddIHtcbiAgICB3aWR0aDogNDQwcHg7XG4gIH1cbiAgW2RhdGEtZGlhbG9nLXN0eWxlXj1mdWxsXSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG4gIFtkYXRhLWRpYWxvZy1zdHlsZV49ZnVsbF0gZGl2W3JvbGU9ZGlhbG9nXSB7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICBbZGF0YS1kaWFsb2ctc3R5bGVePXNpZGViYXJdIGRpdltyb2xlPWRpYWxvZ10ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuICAgIFtkYXRhLWRpYWxvZy1zdHlsZT1tb2RhbF0gZGl2W3JvbGU9ZGlhbG9nXSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tc3BlZWQ9Z2xhY2lhbF0ge1xuICBhbmltYXRpb24tZHVyYXRpb246IDMwMDBtcztcbn1cblxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1zcGVlZD12ZXJ5U2xvd10ge1xuICBhbmltYXRpb24tZHVyYXRpb246IDEwMDBtcztcbn1cblxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1zcGVlZD1zbG93XSB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogODAwbXM7XG59XG5cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tc3BlZWQ9bWVkaXVtXSB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNTAwbXM7XG59XG5cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tc3BlZWQ9ZmFzdF0ge1xuICBhbmltYXRpb24tZHVyYXRpb246IDMwMG1zO1xufVxuXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLXNwZWVkPXZlcnlGYXN0XSB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMjAwbXM7XG59XG5cbi5kaWFsb2dCYWNrZHJvcCB7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMjAwbXM7XG59XG4uZGlhbG9nQmFja2Ryb3AuaW4ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluO1xufVxuLmRpYWxvZ0JhY2tkcm9wLm91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1mYWRlSW5dIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPWZhZGVPdXRdIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XG59XG5cbkBrZXlmcmFtZXMgZmFkZVRvcEluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgfVxufVxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPWZhZGVUb3BJbl0ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZVRvcEluO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVUb3BPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG59XG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9ZmFkZVRvcE91dF0ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZVRvcE91dDtcbn1cblxuQGtleWZyYW1lcyBmYWRlQm90dG9tSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cbn1cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1mYWRlQm90dG9tSW5dIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVCb3R0b21Jbjtcbn1cblxuQGtleWZyYW1lcyBmYWRlQm90dG9tT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xuICB9XG59XG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9ZmFkZUJvdHRvbU91dF0ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUJvdHRvbU91dDtcbn1cblxuQGtleWZyYW1lcyBmYWRlUmlnaHRJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgfVxufVxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPWZhZGVSaWdodEluXSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlUmlnaHRJbjtcbn1cblxuQGtleWZyYW1lcyBmYWRlUmlnaHRPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSk7XG4gIH1cbn1cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1mYWRlUmlnaHRPdXRdIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVSaWdodE91dDtcbn1cblxuQGtleWZyYW1lcyBmYWRlTGVmdEluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgfVxufVxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPWZhZGVMZWZ0SW5dIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVMZWZ0SW47XG59XG5cbkBrZXlmcmFtZXMgZmFkZUxlZnRPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG59XG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9ZmFkZUxlZnRPdXRdIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVMZWZ0T3V0O1xufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlVG9wSW4ge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICB9XG59XG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9c2xpZGVUb3BJbl0ge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVUb3BJbjtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICBkaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9c2xpZGVUb3BJbl0ge1xuICAgIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUJvdHRvbUluO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVUb3BPdXQge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB9XG59XG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9c2xpZGVUb3BPdXRdIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlVG9wT3V0O1xufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlQm90dG9tSW4ge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cbn1cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1zbGlkZUJvdHRvbUluXSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUJvdHRvbUluO1xufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlQm90dG9tT3V0IHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE1MCUpO1xuICB9XG59XG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9c2xpZGVCb3R0b21PdXRdIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlQm90dG9tT3V0O1xufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlUmlnaHRJbiB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgfVxufVxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPXNsaWRlUmlnaHRJbl0ge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVSaWdodEluO1xufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlUmlnaHRPdXQge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIH1cbn1cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1zbGlkZVJpZ2h0T3V0XSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZVJpZ2h0T3V0O1xufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlTGVmdEluIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgfVxufVxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPXNsaWRlTGVmdEluXSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUxlZnRJbjtcbn1cblxuQGtleWZyYW1lcyBzbGlkZUxlZnRPdXQge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICB9XG59XG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9c2xpZGVMZWZ0T3V0XSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUxlZnRPdXQ7XG59XG5cbi5kaWFsb2dCYWNrZHJvcCB7XG4gIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1ibGFjaykgY2FsYygwLjcgKiAxMDAlKSwgdHJhbnNwYXJlbnQpO1xuICBzY3JvbGxiYXItY29sb3I6IHZhcigtLWRhcmstZ3JleSkgdmFyKC0tbGlnaHQtZ3JleSk7XG59XG5cbi5kaWFsb2dDb250ZW50IHtcbiAgbWFyZ2luOiAxMHB4IDA7XG59XG5cbi5kaWFsb2dBY3Rpb25zLmdlbmVyYXRlZCBidXR0b24uY2xvc2VEaWFsb2cgLmljb246YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWljb24tZm9udCk7XG4gIGNvbnRlbnQ6IFwiYlwiO1xufVxuXG5idXR0b24uY2xvc2VEaWFsb2cgLmljb246YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWljb24tZm9udCk7XG4gIGZvbnQtc2l6ZTogMS41ZW07XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gIGNvbnRlbnQ6IFwiYlwiO1xufVxuXG4uZGlhbG9nTGFiZWwgaDIge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG5bZGF0YS1kaWFsb2ctc3R5bGU9bW9kYWxdIHtcbiAgcGFkZGluZzogMjBweDtcbn1cbi5zYWZhcmkgW2RhdGEtZGlhbG9nLXN0eWxlPW1vZGFsXSB7XG4gIHBhZGRpbmc6IDIwcHggMjBweCAxNTBweDtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZT1tb2RhbF0gLmRpYWxvZ0lubmVyIHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgcGFkZGluZzogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodCk7XG4gIGNvbG9yOiB2YXIoLS1saWdodC1jb250cmFzdCk7XG59XG5cbi5zYWZhcmkgW2RhdGEtZGlhbG9nLXN0eWxlPWxhcmdlTW9kYWxdIHtcbiAgcGFkZGluZzogMjBweCAyMHB4IDE1MHB4O1xufVxuW2RhdGEtZGlhbG9nLXN0eWxlPWxhcmdlTW9kYWxdIC5kaWFsb2dJbm5lciB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWxpZ2h0LWNvbnRyYXN0KTtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZT1sYXJnZU1vZGFsXSAuZGlhbG9nTGFiZWwge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1icmFuZC1kYXJrKTtcbiAgcGFkZGluZzogNXB4IDEwcHggMjBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZT1sYXJnZU1vZGFsXSAuZGlhbG9nTGFiZWwgaDIge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtc2l6ZTogMS4yNWVtO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XG59XG5cbltkYXRhLWRpYWxvZy1zdHlsZT1zaGFkZV0gLmRpYWxvZ0lubmVyIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIHZhcigtLXJhZGl1cykgdmFyKC0tcmFkaXVzKTtcbiAgcGFkZGluZzogMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgxNzVkZWcsIHZhcigtLWJyYW5kLWRhcmspIDQwJSwgb2tsY2goZnJvbSB2YXIoLS1icmFuZC1kYXJrKSBtYXgobCAtIGwgKiAwLjA1LCAwKSBjIGgpIDEwMCUpO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtZGFyay1jb250cmFzdCk7XG59XG5bZGF0YS1kaWFsb2ctc3R5bGU9c2hhZGVdIC5kaWFsb2dJbm5lciAuZGlhbG9nTGFiZWwge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5bZGF0YS1kaWFsb2ctc3R5bGU9c2hhZGVdIC5kaWFsb2dJbm5lciAuZGlhbG9nQWN0aW9ucyB7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiA3cHg7XG59XG5bZGF0YS1kaWFsb2ctc3R5bGU9c2hhZGVdIC5kaWFsb2dJbm5lciAuY2xvc2VEaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMC44ZW0gMS4zZW07XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IG9rbGNoKGZyb20gdmFyKC0tYnJhbmQtYnJpZ2h0KSBtYXgobCAtIGwgKiAwLjEsIDApIGMgaCk7XG4gIGxpbmUtaGVpZ2h0OiAxLjFlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogdmFyKC0tYmFzaWMtZm9udCk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBvdXRsaW5lLW9mZnNldDogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xcztcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5bZGF0YS1kaWFsb2ctc3R5bGU9c2hhZGVdIC5kaWFsb2dJbm5lciAuY2xvc2VEaWFsb2cgLmljb24ge1xuICBmb250LWZhbWlseTogdmFyKC0taWNvbi1mb250KTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgW2RhdGEtZGlhbG9nLXN0eWxlPXNoYWRlXSAuZGlhbG9nSW5uZXIgLmNsb3NlRGlhbG9nOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gICAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbiAgICBib3JkZXItY29sb3I6IG9rbGNoKGZyb20gdmFyKC0taG92ZXIpIG1pbihsICsgbCAqIDAuMiwgMSkgYyBoKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cbltkYXRhLWJyb3dzZXI9aWVdIFtkYXRhLWRpYWxvZy1zdHlsZT1zaGFkZV0gLmRpYWxvZ0lubmVyIC5jbG9zZURpYWxvZzpob3ZlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICBib3JkZXItY29sb3I6IG9rbGNoKGZyb20gdmFyKC0taG92ZXIpIG1pbihsICsgbCAqIDAuMiwgMSkgYyBoKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmllIFtkYXRhLWRpYWxvZy1zdHlsZT1zaGFkZV0gLmRpYWxvZ0lubmVyIC5jbG9zZURpYWxvZzpob3ZlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICBib3JkZXItY29sb3I6IG9rbGNoKGZyb20gdmFyKC0taG92ZXIpIG1pbihsICsgbCAqIDAuMiwgMSkgYyBoKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuW2RhdGEtZGlhbG9nLXN0eWxlPXNoYWRlXSAuZGlhbG9nSW5uZXIgLmNsb3NlRGlhbG9nLmZvY3VzLXZpc2libGUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbiAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWhvdmVyKSBtaW4obCArIGwgKiAwLjIsIDEpIGMgaCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZT1zaGFkZV0gLmRpYWxvZ0lubmVyIC5jbG9zZURpYWxvZzpmb2N1cy12aXNpYmxlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG4gIGJvcmRlci1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1ob3ZlcikgbWluKGwgKyBsICogMC4yLCAxKSBjIGgpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5bZGF0YS1kaWFsb2ctc3R5bGU9c2hhZGVdIC5kaWFsb2dJbm5lciAuY2xvc2VEaWFsb2dbZGlzYWJsZWRdLCBbZGF0YS1kaWFsb2ctc3R5bGU9c2hhZGVdIC5kaWFsb2dJbm5lciAuY2xvc2VEaWFsb2dbYXJpYS1kaXNhYmxlZD10cnVlXSB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuW2RhdGEtZGlhbG9nLXN0eWxlXj1zaWRlYmFyXSAuZGlhbG9nSW5uZXIge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xufVxuW2RhdGEtZGlhbG9nLXN0eWxlXj1zaWRlYmFyXVtkYXRhLWRpYWxvZy1zdHlsZT1zaWRlYmFyTGVmdF0gLmRpYWxvZ0lubmVyIHtcbiAgYm9yZGVyLXJhZGl1czogMCB2YXIoLS1yYWRpdXMpIHZhcigtLXJhZGl1cykgMDtcbiAgcGFkZGluZzogMjBweDtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZV49c2lkZWJhcl1bZGF0YS1kaWFsb2ctc3R5bGU9c2lkZWJhclJpZ2h0XSAuZGlhbG9nSW5uZXIge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpIDAgMCB2YXIoLS1yYWRpdXMpO1xuICBwYWRkaW5nOiAyMHB4O1xufVxuXG5bZGF0YS1kaWFsb2ctc3R5bGVePWZ1bGxdIC5kaWFsb2dJbm5lciB7XG4gIHBhZGRpbmc6IDIwcHg7XG59XG5cbi5zaW1wbGVEaWFsb2cge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodCk7XG4gIGNvbG9yOiB2YXIoLS1saWdodC1jb250cmFzdCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG59XG4uc2ltcGxlRGlhbG9nIC5kaWFsb2dJbm5lciB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG59XG5cbiNyZXR1cm5NZXNzYWdlIC5jbG9zZURpYWxvZyAuaWNvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2NTBweCkge1xuICBbZGF0YS1kaWFsb2ctc3R5bGVePXNpZGViYXJdW2RhdGEtZGlhbG9nLXN0eWxlPXNpZGViYXJMZWZ0XSAuZGlhbG9nSW5uZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbiAgW2RhdGEtZGlhbG9nLXN0eWxlXj1zaWRlYmFyXVtkYXRhLWRpYWxvZy1zdHlsZT1zaWRlYmFyUmlnaHRdIC5kaWFsb2dJbm5lciB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxuICBbZGF0YS1kaWFsb2ctc3R5bGU9bW9kYWxdIGRpdltyb2xlPWRpYWxvZ10ucmVwb3J0TmVlZGVkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQGtleWZyYW1lcyB6b29tSW4ge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgfVxufVxuQGtleWZyYW1lcyB6b29tT3V0IHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGxheWVyIGJhc2Uge1xuICAjYmFja2dyb3VuZCBbZGF0YS1zbGlkZXNob3c9em9vbVNsaWRlc2hvd10ucmV0dXJuUGF1c2UgLmJnSW1nV3JhcHBlcjpmaXJzdC1jaGlsZCB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAjYmFja2dyb3VuZCBbZGF0YS1zbGlkZXNob3c9em9vbVNsaWRlc2hvd10gLmJnSW1nV3JhcHBlciB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuODVzO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgfVxuICAjYmFja2dyb3VuZCBbZGF0YS1zbGlkZXNob3c9em9vbVNsaWRlc2hvd10gLmJnSW1nV3JhcHBlci5jdXJyZW50IHtcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cbiAgI2JhY2tncm91bmQgW2RhdGEtc2xpZGVzaG93PXpvb21TbGlkZXNob3ddIC5iZ0ltZ1dyYXBwZXIucHJldiB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gIH1cbiAgI2JhY2tncm91bmQgW2RhdGEtc2xpZGVzaG93PXpvb21TbGlkZXNob3ddIC5iZ0ltZ1dyYXBwZXI6bnRoLWNoaWxkKG9kZCkgLmJnSW1nLnRyYW5zIHtcbiAgICBhbmltYXRpb24tbmFtZTogem9vbUluO1xuICB9XG4gICNiYWNrZ3JvdW5kIFtkYXRhLXNsaWRlc2hvdz16b29tU2xpZGVzaG93XSAuYmdJbWdXcmFwcGVyOm50aC1jaGlsZChldmVuKSAuYmdJbWcudHJhbnMge1xuICAgIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0O1xuICB9XG4gICNiYWNrZ3JvdW5kIFtkYXRhLXNsaWRlc2hvdz16b29tU2xpZGVzaG93XSAuYmdJbWcge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDEwcztcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgfVxuICAjYmFja2dyb3VuZCBbZGF0YS1zbGlkZXNob3c9em9vbVNsaWRlc2hvd10gLmJnSW1nW2RhdGEtYmctcG9zPWNlbnRlcl0ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gIH1cbiAgI2JhY2tncm91bmQgW2RhdGEtc2xpZGVzaG93PXpvb21TbGlkZXNob3ddIC5iZ0ltZ1tkYXRhLWJnLXBvcz1cImNlbnRlciBsZWZ0XCJdIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMCUgNTAlO1xuICB9XG4gICNiYWNrZ3JvdW5kIFtkYXRhLXNsaWRlc2hvdz16b29tU2xpZGVzaG93XSAuYmdJbWdbZGF0YS1iZy1wb3M9XCJjZW50ZXIgcmlnaHRcIl0ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDkwJSA1MCU7XG4gIH1cbiAgI2JhY2tncm91bmQgW2RhdGEtc2xpZGVzaG93PXpvb21TbGlkZXNob3ddIC5iZ0ltZ1tkYXRhLWJnLXBvcz1cInRvcCBsZWZ0XCJdIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMCUgMTAlO1xuICB9XG4gICNiYWNrZ3JvdW5kIFtkYXRhLXNsaWRlc2hvdz16b29tU2xpZGVzaG93XSAuYmdJbWdbZGF0YS1iZy1wb3M9XCJ0b3AgbWlkZGxlXCJdIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMTAlO1xuICB9XG4gICNiYWNrZ3JvdW5kIFtkYXRhLXNsaWRlc2hvdz16b29tU2xpZGVzaG93XSAuYmdJbWdbZGF0YS1iZy1wb3M9XCJ0b3AgcmlnaHRcIl0ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDkwJSAxMCU7XG4gIH1cbiAgI2JhY2tncm91bmQgW2RhdGEtc2xpZGVzaG93PXpvb21TbGlkZXNob3ddIC5iZ0ltZ1tkYXRhLWJnLXBvcz1cImJvdHRvbSBsZWZ0XCJdIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMCUgOTAlO1xuICB9XG4gICNiYWNrZ3JvdW5kIFtkYXRhLXNsaWRlc2hvdz16b29tU2xpZGVzaG93XSAuYmdJbWdbZGF0YS1iZy1wb3M9XCJib3R0b20gbWlkZGxlXCJdIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMTAwJTtcbiAgfVxuICAjYmFja2dyb3VuZCBbZGF0YS1zbGlkZXNob3c9em9vbVNsaWRlc2hvd10gLmJnSW1nW2RhdGEtYmctcG9zPVwiYm90dG9tIGxlZnRcIl0ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDkwJSA5MCU7XG4gIH1cbiAgI2JhY2tncm91bmQgW2RhdGEtc2xpZGVzaG93PXpvb21TbGlkZXNob3ddIC5iZ0ltZ1tkYXRhLWFuaW1hdGlvbj1jZW50ZXJdIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICB9XG4gICNiYWNrZ3JvdW5kIFtkYXRhLXNsaWRlc2hvdz16b29tU2xpZGVzaG93XSAuYmdJbWdbZGF0YS1hbmltYXRpb249XCJ0b3AgcmlnaHRcIl0ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCByaWdodDtcbiAgfVxuICAjYmFja2dyb3VuZCBbZGF0YS1zbGlkZXNob3c9em9vbVNsaWRlc2hvd10gLmJnSW1nW2RhdGEtYW5pbWF0aW9uPVwidG9wIGxlZnRcIl0ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICB9XG4gICNiYWNrZ3JvdW5kIFtkYXRhLXNsaWRlc2hvdz16b29tU2xpZGVzaG93XSAuYmdJbWdbZGF0YS1hbmltYXRpb249XCJib3R0b20gcmlnaHRcIl0ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSByaWdodDtcbiAgfVxuICAjYmFja2dyb3VuZCBbZGF0YS1zbGlkZXNob3c9em9vbVNsaWRlc2hvd10gLmJnSW1nW2RhdGEtYW5pbWF0aW9uPVwiYm90dG9tIGxlZnRcIl0ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBsZWZ0O1xuICB9XG4gICNiYWNrZ3JvdW5kIFtkYXRhLXNsaWRlc2hvdz16b29tU2xpZGVzaG93XS5wYXVzZWQgLmJnSW1nV3JhcHBlci50cmFucyB7XG4gICAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbiAgfVxuICAjYmFja2dyb3VuZCBbZGF0YS1zbGlkZXNob3c9em9vbVNsaWRlc2hvd10ucGF1c2VkIC5iZ0ltZy50cmFucyB7XG4gICAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbiAgfVxuICAjYmFja2dyb3VuZCAuYmdJbWcsXG4gICNiYWNrZ3JvdW5kIC5zZWN0aW9uQmcge1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIH1cbiAgI2JhY2tncm91bmQgLmJnSW1nW2RhdGEtYmctcG9zPVwidG9wIGxlZnRcIl0sXG4gICNiYWNrZ3JvdW5kIC5zZWN0aW9uQmdbZGF0YS1iZy1wb3M9XCJ0b3AgbGVmdFwiXSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCUgMCU7XG4gIH1cbiAgI2JhY2tncm91bmQgLmJnSW1nW2RhdGEtYmctcG9zPVwidG9wIG1pZGRsZVwiXSxcbiAgI2JhY2tncm91bmQgLnNlY3Rpb25CZ1tkYXRhLWJnLXBvcz1cInRvcCBtaWRkbGVcIl0ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAwO1xuICB9XG4gICNiYWNrZ3JvdW5kIC5iZ0ltZ1tkYXRhLWJnLXBvcz1cInRvcCByaWdodFwiXSxcbiAgI2JhY2tncm91bmQgLnNlY3Rpb25CZ1tkYXRhLWJnLXBvcz1cInRvcCByaWdodFwiXSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAwJTtcbiAgfVxuICAjYmFja2dyb3VuZCAuYmdJbWdbZGF0YS1iZy1wb3M9XCJjZW50ZXIgbGVmdFwiXSxcbiAgI2JhY2tncm91bmQgLnNlY3Rpb25CZ1tkYXRhLWJnLXBvcz1cImNlbnRlciBsZWZ0XCJdIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwJSA1MCU7XG4gIH1cbiAgI2JhY2tncm91bmQgLmJnSW1nW2RhdGEtYmctcG9zPWNlbnRlcl0sXG4gICNiYWNrZ3JvdW5kIC5zZWN0aW9uQmdbZGF0YS1iZy1wb3M9Y2VudGVyXSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgfVxuICAjYmFja2dyb3VuZCAuYmdJbWdbZGF0YS1iZy1wb3M9XCJjZW50ZXIgcmlnaHRcIl0sXG4gICNiYWNrZ3JvdW5kIC5zZWN0aW9uQmdbZGF0YS1iZy1wb3M9XCJjZW50ZXIgcmlnaHRcIl0ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlO1xuICB9XG4gICNiYWNrZ3JvdW5kIC5iZ0ltZ1tkYXRhLWJnLXBvcz1cImJvdHRvbSBsZWZ0XCJdLFxuICAjYmFja2dyb3VuZCAuc2VjdGlvbkJnW2RhdGEtYmctcG9zPVwiYm90dG9tIGxlZnRcIl0ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAlIDEwMCU7XG4gIH1cbiAgI2JhY2tncm91bmQgLmJnSW1nW2RhdGEtYmctcG9zPVwiYm90dG9tIG1pZGRsZVwiXSxcbiAgI2JhY2tncm91bmQgLnNlY3Rpb25CZ1tkYXRhLWJnLXBvcz1cImJvdHRvbSBtaWRkbGVcIl0ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAxMDAlO1xuICB9XG4gICNiYWNrZ3JvdW5kIC5iZ0ltZ1tkYXRhLWJnLXBvcz1cImJvdHRvbSByaWdodFwiXSxcbiAgI2JhY2tncm91bmQgLnNlY3Rpb25CZ1tkYXRhLWJnLXBvcz1cImJvdHRvbSByaWdodFwiXSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAxMDAlO1xuICB9XG4gICNiYWNrZ3JvdW5kIHZpZGVvIHtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodC1ncmV5KTtcbiAgfVxufVxuW2RhdGEtaXMtbG9hZGluZz10cnVlXSAjYmFja2dyb3VuZCB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbltkYXRhLWFjdGl2ZS1kaWFsb2c9Y2hlY2tsaXN0XSAjYmFja2dyb3VuZFBsYXlCdG4sIFtkYXRhLWFjdGl2ZS1kaWFsb2c9ZmFxXSAjYmFja2dyb3VuZFBsYXlCdG4sIFtkYXRhLWFjdGl2ZS1kaWFsb2c9Z2xvc3NhcnldICNiYWNrZ3JvdW5kUGxheUJ0biwgW2RhdGEtYWN0aXZlLWRpYWxvZz1hY2hpZXZlbWVudHNdICNiYWNrZ3JvdW5kUGxheUJ0biwgW2RhdGEtYWN0aXZlLWRpYWxvZz1yZXNvdXJjZXNdICNiYWNrZ3JvdW5kUGxheUJ0biwgW2RhdGEtYWN0aXZlLWRpYWxvZz1mYXFDb25maXJtUXVlc3Rpb25NZXNzYWdlXSAjYmFja2dyb3VuZFBsYXlCdG4sIFtkYXRhLWFjdGl2ZS1kaWFsb2c9ZmFxUXVlc3Rpb25TdWJtaXR0ZWRNZXNzYWdlXSAjYmFja2dyb3VuZFBsYXlCdG4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuW2RhdGEtYWN0aXZlLWRpYWxvZz11dGlsaXR5TWVudV0gI2JhY2tncm91bmRQbGF5QnRuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbltkYXRhLWFjdGl2ZS16b25lPXNsaWRlc10gI2JhY2tncm91bmRQbGF5QnRuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbltkYXRhLWlzLWxvYWRpbmc9dHJ1ZV0gI2JhY2tncm91bmRQbGF5QnRuIHtcbiAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xufVxuI2JhY2tncm91bmRQbGF5QnRuIC5pY29uLXBsYXkge1xuICBkaXNwbGF5OiBub25lO1xufVxuI2JhY2tncm91bmRQbGF5QnRuLnBhdXNlIC5pY29uLXBsYXkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiNiYWNrZ3JvdW5kUGxheUJ0bi5wYXVzZSAuaWNvbi1wYXVzZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbjpyb290IHtcbiAgLS1iZy1vZmZzZXQ6IDUwMHB4O1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDE0MDBweCkge1xuICA6cm9vdCB7XG4gICAgLS1iZy1vZmZzZXQ6IDQwMHB4O1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIDpyb290IHtcbiAgICAtLWJnLW9mZnNldDogMzAwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDcwcHgpIHtcbiAgOnJvb3Qge1xuICAgIC0tYmctb2Zmc2V0OiAyMDBweDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gIDpyb290IHtcbiAgICAtLWJnLW9mZnNldDogMHB4O1xuICB9XG59XG5cbkBwcm9wZXJ0eSAtLXAxIHtcbiAgc3ludGF4OiBcIjxwZXJjZW50YWdlPlwiO1xuICBpbmhlcml0czogdHJ1ZTtcbiAgaW5pdGlhbC12YWx1ZTogMCU7XG59XG5AcHJvcGVydHkgLS1wMiB7XG4gIHN5bnRheDogXCI8cGVyY2VudGFnZT5cIjtcbiAgaW5oZXJpdHM6IHRydWU7XG4gIGluaXRpYWwtdmFsdWU6IDAlO1xufVxuQHByb3BlcnR5IC0tcDMge1xuICBzeW50YXg6IFwiPHBlcmNlbnRhZ2U+XCI7XG4gIGluaGVyaXRzOiB0cnVlO1xuICBpbml0aWFsLXZhbHVlOiAwJTtcbn1cbkBwcm9wZXJ0eSAtLXA0IHtcbiAgc3ludGF4OiBcIjxwZXJjZW50YWdlPlwiO1xuICBpbmhlcml0czogdHJ1ZTtcbiAgaW5pdGlhbC12YWx1ZTogMCU7XG59XG5AcHJvcGVydHkgLS1vMSB7XG4gIHN5bnRheDogXCI8bnVtYmVyPlwiO1xuICBpbmhlcml0czogdHJ1ZTtcbiAgaW5pdGlhbC12YWx1ZTogMTtcbn1cbkBwcm9wZXJ0eSAtLW8yIHtcbiAgc3ludGF4OiBcIjxudW1iZXI+XCI7XG4gIGluaGVyaXRzOiB0cnVlO1xuICBpbml0aWFsLXZhbHVlOiAxO1xufVxuQHByb3BlcnR5IC0tbzMge1xuICBzeW50YXg6IFwiPG51bWJlcj5cIjtcbiAgaW5oZXJpdHM6IHRydWU7XG4gIGluaXRpYWwtdmFsdWU6IDE7XG59XG5AcHJvcGVydHkgLS1vNCB7XG4gIHN5bnRheDogXCI8bnVtYmVyPlwiO1xuICBpbmhlcml0czogdHJ1ZTtcbiAgaW5pdGlhbC12YWx1ZTogMTtcbn1cbiNiYWNrZ3JvdW5kIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IHZhcigtLWhlYWRlci1oZWlnaHQpO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogY2FsYygxMDB2aCAtIHZhcigtLWhlYWRlci1oZWlnaHQpKTtcbiAgdHJhbnNpdGlvbjogYWxsIDUwMG1zO1xuICB3aWR0aDogMTAwJTtcbn1cbiNiYWNrZ3JvdW5kOmFmdGVyIHtcbiAgLS1wMTogMCU7XG4gIC0tcDI6IDIwJTtcbiAgLS1wMzogNjUlO1xuICAtLXA0OiAxMDAlO1xuICAtLW8xOiAwO1xuICAtLW8yOiAwO1xuICAtLW8zOiAxO1xuICAtLW80OiAxO1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDU7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWxpZ2h0KSBjYWxjKHZhcigtLW8xKSAqIDEwMCUpLCB0cmFuc3BhcmVudCkgdmFyKC0tcDEpLCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbGlnaHQpIGNhbGModmFyKC0tbzIpICogMTAwJSksIHRyYW5zcGFyZW50KSB2YXIoLS1wMiksIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1saWdodCkgY2FsYyh2YXIoLS1vMykgKiAxMDAlKSwgdHJhbnNwYXJlbnQpIHZhcigtLXAzKSwgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWxpZ2h0KSBjYWxjKHZhcigtLW80KSAqIDEwMCUpLCB0cmFuc3BhcmVudCkgdmFyKC0tcDQpKTtcbiAgdHJhbnNpdGlvbjogLS1wMSA1MDBtcywgLS1wMiA1MDBtcywgLS1wMyA1MDBtcywgLS1wNCA1MDBtcywgLS1vMSA1MDBtcywgLS1vMiA1MDBtcywgLS1vMyA1MDBtcywgLS1vNCA1MDBtcztcbn1cbiNiYWNrZ3JvdW5kID4gKiB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAzNTBweCk7XG59XG4jYmFja2dyb3VuZCAuY292ZXItc2xpZGVyLFxuI2JhY2tncm91bmQgdmlkZW8sXG4jYmFja2dyb3VuZCAubWFpbkJnSW1nIHtcbiAgei1pbmRleDogMjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbn1cbiNiYWNrZ3JvdW5kIC5zZWN0aW9uQmdIb2xkZXIge1xuICB6LWluZGV4OiAxO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xufVxuLm1lbnVPdXQgI2JhY2tncm91bmQgLnNlY3Rpb25CZ0hvbGRlciB7XG4gIHotaW5kZXg6IDM7XG59XG4jYmFja2dyb3VuZCAuc2VjdGlvbkJnSG9sZGVyW2RhdGEtc2VjdGlvbi1iZy1vbmx5PXRydWVdIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xufVxuLmluU2VjdGlvbiAjYmFja2dyb3VuZCAuc2VjdGlvbkJnSG9sZGVyW2RhdGEtc2VjdGlvbi1iZy1vbmx5PXRydWVdIHtcbiAgb3BhY2l0eTogMTtcbn1cbiNiYWNrZ3JvdW5kIC5jb3Zlci1zbGlkZXIgLmJnSW1nIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4jYmFja2dyb3VuZCAuYmdJbWcsXG4jYmFja2dyb3VuZCAuc2VjdGlvbkJnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1iZy1vZmZzZXQpKTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuI2JhY2tncm91bmQgdmlkZW8ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLWJnLW9mZnNldCkpO1xufVxuLm1lbnVPdXQgI2JhY2tncm91bmQge1xuICB0b3A6IDA7XG4gIGhlaWdodDogMTAwdmg7XG4gIGZpbHRlcjogYmx1cigxMHB4KTtcbn1cbi5tZW51T3V0ICNiYWNrZ3JvdW5kIHZpZGVvLFxuLm1lbnVPdXQgI2JhY2tncm91bmQgLmJnSW1nLFxuLm1lbnVPdXQgI2JhY2tncm91bmQgLnNlY3Rpb25CZyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLm1lbnVPdXQgI2JhY2tncm91bmQ6YWZ0ZXIge1xuICAtLXAxOiA1MCU7XG4gIC0tcDI6IDUwJTtcbiAgLS1wMzogNTAlO1xuICAtLXA0OiAxMDAlO1xuICAtLW8xOiAxO1xuICAtLW8yOiAxO1xuICAtLW8zOiAxO1xuICAtLW80OiAwLjI7XG59XG5bZGF0YS1zbGlkZT1jZW50ZXJlZF0ubWVudU91dCAjYmFja2dyb3VuZDphZnRlciwgW2RhdGEtc2xpZGU9ZnVsbF0ubWVudU91dCAjYmFja2dyb3VuZDphZnRlciB7XG4gIC0tcDE6IDAlO1xuICAtLXAyOiA0MCU7XG4gIC0tcDM6IDcwJTtcbiAgLS1wNDogMTAwJTtcbiAgLS1vMTogMC45O1xuICAtLW8yOiAxO1xuICAtLW8zOiAxO1xuICAtLW80OiAwLjk7XG59XG5bZGF0YS1zbGlkZT1mcmFtZV0ubWVudU91dCAjYmFja2dyb3VuZDphZnRlciB7XG4gIC0tcDE6IDAlO1xuICAtLXAyOiA0MCU7XG4gIC0tcDM6IDcwJTtcbiAgLS1wNDogMTAwJTtcbiAgLS1vMTogMC44NTtcbiAgLS1vMjogMC45O1xuICAtLW8zOiAwLjk7XG4gIC0tbzQ6IDAuODU7XG59XG5cbiNiYWNrZ3JvdW5kUGxheUJ0biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwLjhlbSAxLjNlbTtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1icmFuZC1kYXJrKSBtYXgobCAtIGwgKiAwLjEsIDApIGMgaCk7XG4gIGxpbmUtaGVpZ2h0OiAxLjFlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogdmFyKC0tYmFzaWMtZm9udCk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBvdXRsaW5lLW9mZnNldDogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xcztcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1kYXJrLWNvbnRyYXN0KTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDEwcHg7XG4gIGxlZnQ6IDEwcHg7XG4gIHotaW5kZXg6IDE1MDtcbiAgcGFkZGluZzogOHB4O1xufVxuI2JhY2tncm91bmRQbGF5QnRuIC5pY29uIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWljb24tZm9udCk7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gICNiYWNrZ3JvdW5kUGxheUJ0bjpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICAgIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG4gICAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWhvdmVyKSBtaW4obCArIGwgKiAwLjIsIDEpIGMgaCk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5bZGF0YS1icm93c2VyPWllXSAjYmFja2dyb3VuZFBsYXlCdG46aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbiAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWhvdmVyKSBtaW4obCArIGwgKiAwLjIsIDEpIGMgaCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5pZSAjYmFja2dyb3VuZFBsYXlCdG46aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbiAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWhvdmVyKSBtaW4obCArIGwgKiAwLjIsIDEpIGMgaCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiNiYWNrZ3JvdW5kUGxheUJ0bi5mb2N1cy12aXNpYmxlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG4gIGJvcmRlci1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1ob3ZlcikgbWluKGwgKyBsICogMC4yLCAxKSBjIGgpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4jYmFja2dyb3VuZFBsYXlCdG46Zm9jdXMtdmlzaWJsZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICBib3JkZXItY29sb3I6IG9rbGNoKGZyb20gdmFyKC0taG92ZXIpIG1pbihsICsgbCAqIDAuMiwgMSkgYyBoKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI2JhY2tncm91bmRQbGF5QnRuW2Rpc2FibGVkXSwgI2JhY2tncm91bmRQbGF5QnRuW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0ge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5bZGF0YS1hY3RpdmUtZGlhbG9nPWNoZWNrbGlzdF0gI2JhY2tncm91bmRQbGF5QnRuLCBbZGF0YS1hY3RpdmUtZGlhbG9nPWZhcV0gI2JhY2tncm91bmRQbGF5QnRuLCBbZGF0YS1hY3RpdmUtZGlhbG9nPWdsb3NzYXJ5XSAjYmFja2dyb3VuZFBsYXlCdG4sIFtkYXRhLWFjdGl2ZS1kaWFsb2c9YWNoaWV2ZW1lbnRzXSAjYmFja2dyb3VuZFBsYXlCdG4sIFtkYXRhLWFjdGl2ZS1kaWFsb2c9cmVzb3VyY2VzXSAjYmFja2dyb3VuZFBsYXlCdG4sIFtkYXRhLWFjdGl2ZS1kaWFsb2c9ZmFxQ29uZmlybVF1ZXN0aW9uTWVzc2FnZV0gI2JhY2tncm91bmRQbGF5QnRuLCBbZGF0YS1hY3RpdmUtZGlhbG9nPWZhcVF1ZXN0aW9uU3VibWl0dGVkTWVzc2FnZV0gI2JhY2tncm91bmRQbGF5QnRuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbltkYXRhLWFjdGl2ZS1kaWFsb2c9dXRpbGl0eU1lbnVdICNiYWNrZ3JvdW5kUGxheUJ0biB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5bZGF0YS1hY3RpdmUtZGlhbG9nPXNlYXJjaF0gI2JhY2tncm91bmRQbGF5QnRuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbltkYXRhLWFjdGl2ZS16b25lPXNsaWRlc10gI2JhY2tncm91bmRQbGF5QnRuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbltkYXRhLWlzLWxvYWRpbmc9dHJ1ZV0gI2JhY2tncm91bmRQbGF5QnRuIHtcbiAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xufVxuI2JhY2tncm91bmRQbGF5QnRuIC50ZXh0IHtcbiAgbGVmdDogY2FsYygxMDAlICsgMnB4KTtcbiAgdG9wOiA1MCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgc2NhbGU6IDAuMTtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tbGlnaHQpO1xuICBwYWRkaW5nOiAycHggN3B4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvcGFjaXR5OiAwO1xuICBmb250LWZhbWlseTogdmFyKC0tYmFzaWMtZm9udCk7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy14cyk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWxpZ2h0LWNvbnRyYXN0KTtcbiAgdHJhbnNpdGlvbjogYWxsIDUwMG1zIHZhcigtLXRpbWluZy1ib3VuY2UpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwJSA1MCU7XG4gIHRyYW5zbGF0ZTogMCAtNTAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgZm9udC1zaXplOiAwLjhlbTtcbn1cbiNiYWNrZ3JvdW5kUGxheUJ0biAudGV4dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zaXRpb246IGFsbCA1MDBtcyB2YXIoLS10aW1pbmctYm91bmNlKTtcbiAgdHJhbnNsYXRlOiAwIC01MCU7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0KTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IDE0cHg7XG4gIGNsaXAtcGF0aDogcG9seWdvbigwJSA1MCUsIDEwMCUgMCUsIDEwMCUgMTAwJSk7XG59XG4jYmFja2dyb3VuZFBsYXlCdG4gLnRleHQ6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zaXRpb246IGFsbCA1MDBtcyB2YXIoLS10aW1pbmctYm91bmNlKTtcbiAgdHJhbnNsYXRlOiAwIC01MCU7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0KTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiBjYWxjKDEwMCUgLSAycHgpO1xuICBjbGlwLXBhdGg6IHBvbHlnb24oMCUgNTAlLCAxMDAlIDAlLCAxMDAlIDEwMCUpO1xufVxuI2JhY2tncm91bmRQbGF5QnRuIC5pY29uLXBsYXkge1xuICBkaXNwbGF5OiBub25lO1xufVxuI2JhY2tncm91bmRQbGF5QnRuLnBhdXNlIC5pY29uLXBsYXkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiNiYWNrZ3JvdW5kUGxheUJ0bi5wYXVzZSAuaWNvbi1wYXVzZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gICNiYWNrZ3JvdW5kUGxheUJ0bjpob3ZlciAudGV4dCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBzY2FsZTogMTtcbiAgfVxufVxuW2RhdGEtYnJvd3Nlcj1pZV0gI2JhY2tncm91bmRQbGF5QnRuOmhvdmVyIC50ZXh0IHtcbiAgb3BhY2l0eTogMTtcbiAgc2NhbGU6IDE7XG59XG4uaWUgI2JhY2tncm91bmRQbGF5QnRuOmhvdmVyIC50ZXh0IHtcbiAgb3BhY2l0eTogMTtcbiAgc2NhbGU6IDE7XG59XG4jYmFja2dyb3VuZFBsYXlCdG4uZm9jdXMtdmlzaWJsZSAudGV4dCB7XG4gIG9wYWNpdHk6IDE7XG4gIHNjYWxlOiAxO1xufVxuI2JhY2tncm91bmRQbGF5QnRuOmZvY3VzLXZpc2libGUgLnRleHQge1xuICBvcGFjaXR5OiAxO1xuICBzY2FsZTogMTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEwNTBweCkge1xuICAjYmFja2dyb3VuZDphZnRlciB7XG4gICAgLS1wMTogMCU7XG4gICAgLS1wMjogMjAlO1xuICAgIC0tcDM6IDU1JTtcbiAgICAtLXA0OiAxMDAlO1xuICAgIC0tbzE6IDA7XG4gICAgLS1vMjogMDtcbiAgICAtLW8zOiAwLjk1O1xuICAgIC0tbzQ6IDE7XG4gIH1cbiAgLm1lbnVPdXQgI2JhY2tncm91bmQ6YWZ0ZXIge1xuICAgIC0tcDE6IDAlO1xuICAgIC0tcDI6IDQwJTtcbiAgICAtLXAzOiA3MCU7XG4gICAgLS1wNDogMTAwJTtcbiAgICAtLW8xOiAwLjk7XG4gICAgLS1vMjogMTtcbiAgICAtLW8zOiAxO1xuICAgIC0tbzQ6IDAuOTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICNiYWNrZ3JvdW5kIHtcbiAgICBoZWlnaHQ6IDcwdmg7XG4gIH1cbiAgI2JhY2tncm91bmQgLmNvdmVyLXNsaWRlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLm1lbnVPdXQgI2JhY2tncm91bmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgI2JhY2tncm91bmQ6YWZ0ZXIge1xuICAgIC0tcDE6IDAlO1xuICAgIC0tcDI6IDIwJTtcbiAgICAtLXAzOiA1NSU7XG4gICAgLS1wNDogMTAwJTtcbiAgICAtLW8xOiAwO1xuICAgIC0tbzI6IDA7XG4gICAgLS1vMzogMC45NTtcbiAgICAtLW80OiAxO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgI2JhY2tncm91bmRQbGF5QnRuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwcHg7XG4gICAgdG9wOiBjYWxjKHZhcigtLWhlYWRlci1oZWlnaHQpICsgMTBweCk7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAjYmFja2dyb3VuZDphZnRlciB7XG4gICAgLS1wMTogMCU7XG4gICAgLS1wMjogMjAlO1xuICAgIC0tcDM6IDEwMCU7XG4gICAgLS1wNDogMTAwJTtcbiAgICAtLW8xOiAwO1xuICAgIC0tbzI6IDE7XG4gICAgLS1vMzogMTtcbiAgICAtLW80OiAxO1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0b3A6IG1heCgxMDBweCwgMjV2aCk7XG4gICAgaGVpZ2h0OiBtYXgoMTAwJSAtIDEwMHB4LCAxMDAlIC0gNTB2aCk7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWxpZ2h0KSBjYWxjKHZhcigtLW8xKSAqIDEwMCUpLCB0cmFuc3BhcmVudCkgdmFyKC0tcDEpLCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbGlnaHQpIGNhbGModmFyKC0tbzIpICogMTAwJSksIHRyYW5zcGFyZW50KSB2YXIoLS1wMiksIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1saWdodCkgY2FsYyh2YXIoLS1vMykgKiAxMDAlKSwgdHJhbnNwYXJlbnQpIHZhcigtLXAzKSwgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWxpZ2h0KSBjYWxjKHZhcigtLW80KSAqIDEwMCUpLCB0cmFuc3BhcmVudCkgdmFyKC0tcDQpKTtcbiAgfVxuICAjYmFja2dyb3VuZCAuYmdJbWcsXG4gICNiYWNrZ3JvdW5kIC5zZWN0aW9uQmcsXG4gICNiYWNrZ3JvdW5kIHZpZGVvLFxuICAjYmFja2dyb3VuZCAubWFpbkJnSW1nLFxuICAjYmFja2dyb3VuZCAuc2VjdGlvbkJnSG9sZGVyIHtcbiAgICB0b3A6IDA7XG4gICAgaGVpZ2h0OiBtYXgoMzMwcHgsIDUwdmgpO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNTIwcHgpIHtcbiAgI2JhY2tncm91bmRQbGF5QnRuIHtcbiAgICB3aWR0aDogMzJweDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgZm9udC1zaXplOiAwLjllbTtcbiAgfVxufVxuYm9keSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWxpZ2h0KTtcbn1cblxuLmJ1ZmZlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTIwO1xuICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gNTVweCk7XG59XG5cbiNiYWNrZ3JvdW5kLm1lbWJlcnNoaXBCZyB2aWRlbyB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAzNTBweCk7XG59XG5cbmZvb3RlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA1NXB4O1xuICBwYWRkaW5nOiAwIDE1cHg7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIHotaW5kZXg6IDk5OTk7XG59XG5mb290ZXIgLmFkZ0xvZ29XcmFwIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZDogYmxhY2s7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIGZvb3RlciAuYWRnTG9nb1dyYXAgYTpob3ZlciB7XG4gICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tbGlnaHQpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJhc2ljKTtcbiAgfVxufVxuW2RhdGEtYnJvd3Nlcj1pZV0gZm9vdGVyIC5hZGdMb2dvV3JhcCBhOmhvdmVyIHtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tbGlnaHQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iYXNpYyk7XG59XG4uaWUgZm9vdGVyIC5hZGdMb2dvV3JhcCBhOmhvdmVyIHtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tbGlnaHQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iYXNpYyk7XG59XG5mb290ZXIgLmFkZ0xvZ29XcmFwIGE6Zm9jdXMge1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1saWdodCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJhc2ljKTtcbn1cbmZvb3RlciAuYWRnTG9nb1dyYXAgLmFkZ0xvZ28ge1xuICBoZWlnaHQ6IDM4cHg7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4uc29jaWFsTWVkaWEge1xuICBtYXgtd2lkdGg6IDUwMHB4O1xuICB3aWR0aDogMTAwJTtcbn1cbi5zb2NpYWxNZWRpYSAuc29jaWFsTWVkaWFUaXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uc29jaWFsTWVkaWEgLnNvY2lhbE1lZGlhTG9naW5zIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICBnYXA6IDEwcHg7XG59XG4uc29jaWFsTWVkaWEgLnNvY2lhbE1lZGlhTG9naW5zIC5mYWNlYm9va0xvZ2luIHtcbiAgYmFja2dyb3VuZDogcmdiKDgsIDEwMiwgMjU1KSAhaW1wb3J0YW50O1xuICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbn1cbi5zb2NpYWxNZWRpYSAuc29jaWFsTWVkaWFMb2dpbnMgLmdvb2dsZUxvZ2luIHtcbiAgYmFja2dyb3VuZDogI2ViZWJlYyAhaW1wb3J0YW50O1xuICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbn1cbi5zb2NpYWxNZWRpYSAuc29jaWFsTWVkaWFMb2dpbnMgLnR3aXR0ZXJMb2dpbiB7XG4gIGJhY2tncm91bmQ6ICMxNDE3MWEgIWltcG9ydGFudDtcbiAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG59XG4uc29jaWFsTWVkaWEgLnNvY2lhbE1lZGlhTG9naW5zIC50d2l0dGVyTG9naW4gLnRleHQge1xuICBib3JkZXI6IDA7XG4gIGNsaXAtcGF0aDogcmVjdCgwIDAgMCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xufVxuLnNvY2lhbE1lZGlhIC5zb2NpYWxNZWRpYUxvZ2lucyAuYXBwbGVMb2dpbiB7XG4gIGJhY2tncm91bmQ6IGJsYWNrICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuLnNvY2lhbE1lZGlhIC5zb2NpYWxNZWRpYUxvZ2lucyA+IGEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIGhlaWdodDogNTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAxZW0gIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwcHg7XG59XG4uc29jaWFsTWVkaWEgLnNvY2lhbE1lZGlhTG9naW5zID4gYSAuc3ZnSWNvbiB7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogN3B4O1xufVxuLnNvY2lhbE1lZGlhIC5zb2NpYWxNZWRpYUxvZ2lucyA+IGEgLnRleHQge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAxLjFlbTtcbn1cbi5zb2NpYWxNZWRpYSAuc29jaWFsTWVkaWFMb2dpbnMgLmFwcGxlTG9naW4ge1xuICBoZWlnaHQ6IDQ1cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5zb2NpYWxNZWRpYSAuc29jaWFsTWVkaWFMb2dpbnMgLmFwcGxlTG9naW4gPiBkaXYge1xuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLyoubG9naW5XcmFwcGVyW2RhdGEtaGlkZGVuLWZvci1ndWVzdD1cInRydWVcIl0ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59Ki9cbi5ndWVzdFdyYXBwZXJIb2xkZXIge1xuICBtYXgtaGVpZ2h0OiAwO1xuICBvcGFjaXR5OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgODAwbXM7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5maWVsZFdyYXBwZXIuZW5yb2xsZWVOYW1lIHtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHotaW5kZXg6IC0xO1xufVxuXG4uZmllbGRXcmFwcGVyLnBob25lICNQaG9uZU51bWJlciB7XG4gIHBhZGRpbmctbGVmdDogNTBweDtcbn1cbi5maWVsZFdyYXBwZXIucGhvbmUgLml0aSB7XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogdmFyKC0tYmFzaWMpO1xufVxuLmZpZWxkV3JhcHBlci5waG9uZSAuaXRpIC5pdGlfX2NvdW50cnktY29udGFpbmVyIHtcbiAgdG9wOiAxOHB4O1xuICBib3R0b206IDFweDtcbn1cbi5maWVsZFdyYXBwZXIucGhvbmUgLml0aSAuaXRpX19zZWxlY3RlZC1jb3VudHJ5IHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKSAwIDAgdmFyKC0tcmFkaXVzKTtcbn1cbi5maWVsZFdyYXBwZXIucGhvbmUgLml0aSAuaXRpX19kcm9wZG93bi1jb250ZW50IHtcbiAgei1pbmRleDogMztcbn1cblxuOnJvb3Qge1xuICAtLWl0aS1wYXRoLWZsYWdzLTF4OiB1cmwoXCIvSW1hZ2VzL2ZsYWdzLnBuZ1wiKTtcbiAgLS1pdGktcGF0aC1mbGFncy0yeDogdXJsKFwiL0ltYWdlcy9mbGFnc0AyeC5wbmdcIik7XG4gIC0taXRpLXBhdGgtZ2xvYmUtMXg6IHVybChcIi9JbWFnZXMvZ2xvYmUucG5nXCIpO1xuICAtLWl0aS1wYXRoLWdsb2JlLTJ4OiB1cmwoXCIvSW1hZ2VzL2dsb2JlQDJ4LnBuZ1wiKTtcbn1cblxuOnJvb3Qge1xuICAtLWxvZ2luLXc6IDYwMHB4O1xuICAtLWxvZ2luLWhlYWRlci1oZWlnaHQ6IDE1NXB4O1xufVxuXG4ubWVtYmVyc2hpcEJ1ZmZlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIHBhZGRpbmctdG9wOiAzMHB4O1xuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDBweCAwcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4zNSkpO1xufVxuXG4jYmFja2dyb3VuZCB7XG4gIHRvcDogMDtcbiAgaGVpZ2h0OiAxMDB2aDtcbn1cblxuI2JhY2tncm91bmRQbGF5QnRuIHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDEwcHg7XG59XG5cbi5sb2dpblRlYXNlclZpZGVvIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBsZWZ0OiA1MHB4O1xuICByaWdodDogNjgwcHg7XG4gIHotaW5kZXg6IDk5O1xufVxuLmxvZ2luVGVhc2VyVmlkZW8gLnZpZGVvSG9sZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIHBhZGRpbmc6IDU2LjI1JSAwIDA7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJyYW5kLWRhcmspIHVybChcIi9pbWFnZXMvbG9hZC1zY3JlZW4uanBnXCIpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cbi5sb2dpblRlYXNlclZpZGVvIC52aWRlb0hvbGRlcltkYXRhLXZpbWVvLWluaXRpYWxpemVkXSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJhc2ljKTtcbn1cbi5sb2dpblRlYXNlclZpZGVvIC52aWRlb0hvbGRlciAucGxheWVyLFxuLmxvZ2luVGVhc2VyVmlkZW8gLnZpZGVvSG9sZGVyIGlmcmFtZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAyO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXI6IDA7XG59XG5cbmhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1pbi1oZWlnaHQ6IHZhcigtLWxvZ2luLWhlYWRlci1oZWlnaHQpO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiB2YXIoLS1sb2dpbi13KTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1ib3R0b206IDIwcHggc29saWQgdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQpO1xuICBjb2xvcjogdmFyKC0tbGlnaHQtY29udHJhc3QpO1xuICBwYWRkaW5nOiAyNXB4IDBweCAyMHB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpIHZhcigtLXJhZGl1cykgMCAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuaGVhZGVyIC5icmFuZGluZyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWdyb3c6IDE7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMHB4IDEwcHg7XG59XG5oZWFkZXIgLmxvZ29XcmFwIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIG1heC13aWR0aDogMzE1cHg7XG4gIGhlaWdodDogNzBweDtcbiAgd2lkdGg6IDEwMCU7XG59XG5oZWFkZXIgLmxvZ29XcmFwIC5sb2dvIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xufVxuaGVhZGVyIC5vcmllbnRhdGlvblRpdGxlIHtcbiAgZm9udC1zaXplOiAxLjFlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWRhcmspO1xuICBwYWRkaW5nLXRvcDogMjVweDtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuI21lbWJlcnNoaXAge1xuICAtLWZvY3VzLW91dGxpbmUtY29sb3I6IHZhcigtLWJyYW5kLWRhcmspO1xuICAtLWZvY3VzLXNoYWRvdy1jb2xvcjogdmFyKC0tbGlnaHQpO1xuICBtYXgtd2lkdGg6IHZhcigtLWxvZ2luLXcpO1xuICB3aWR0aDogMTAwJTtcbiAgZmxleC1ncm93OiAxO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtZGFyay1jb250cmFzdCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJyYW5kLWRhcmspO1xuICBwYWRkaW5nOiA0MHB4IDI1cHggNjBweDtcbiAgYm9yZGVyLXJhZGl1czogMCAwIHZhcigtLXJhZGl1cykgdmFyKC0tcmFkaXVzKTtcbn1cbiNtZW1iZXJzaGlwIC50aXRsZUFyZWEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcbn1cbiNtZW1iZXJzaGlwIC50aXRsZUFyZWEuYWNjb3VudFByb2ZpbGVyIGgxIHtcbiAgZm9udC1zaXplOiAyZW07XG59XG4jbWVtYmVyc2hpcCAuZXJyb3JNZXNzYWdlLFxuI21lbWJlcnNoaXAgLmZpZWxkLXZhbGlkYXRpb24tZXJyb3Ige1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3JvbmcpO1xuICBjb2xvcjogdmFyKC0td3JvbmctY29udHJhc3QpO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICBtYXJnaW46IDJweCBhdXRvIDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1saWdodCkgY2FsYygwLjQgKiAxMDAlKSwgdHJhbnNwYXJlbnQpO1xufVxuI21lbWJlcnNoaXAgLmxvZ2luTmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbGlnaHQpIGNhbGMoMC4zICogMTAwJSksIHRyYW5zcGFyZW50KTtcbiAgbWFyZ2luLXRvcDogNDBweDtcbiAgcGFkZGluZy10b3A6IDE1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAwLjllbTtcbiAgd2lkdGg6IDEwMCU7XG59XG4jbWVtYmVyc2hpcCAubG9naW5OYXYgYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogdmFyKC0tYnJhbmQtZGFyay1jb250cmFzdCk7XG4gIHBhZGRpbmc6IDNweCA1cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBib3JkZXItYm90dG9tOiAwcHg7XG4gIHRleHQtdW5kZXJsaW5lLW9mZnNldDogNXB4O1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAjbWVtYmVyc2hpcCAubG9naW5OYXYgYTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5bZGF0YS1icm93c2VyPWllXSAjbWVtYmVyc2hpcCAubG9naW5OYXYgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5pZSAjbWVtYmVyc2hpcCAubG9naW5OYXYgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbiNtZW1iZXJzaGlwIC5sb2dpbk5hdiBhOmZvY3VzIHtcbiAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWJyYW5kLWRhcmstY29udHJhc3QpO1xuICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuI21lbWJlcnNoaXAgLmxvZ2luTmF2ID4gKiB7XG4gIG1hcmdpbjogMCA1cHg7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBwYWRkaW5nOiAyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAgaW5wdXRbdHlwZT1jaGVja2JveF0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuQHN1cHBvcnRzIChhcHBlYXJhbmNlOiBub25lKSB7XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcCBpbnB1dFt0eXBlPWNoZWNrYm94XSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICB3aWR0aDogMWVtO1xuICAgIGhlaWdodDogMWVtO1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcCBpbnB1dFt0eXBlPWNoZWNrYm94XTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDFlbTtcbiAgICBoZWlnaHQ6IDFlbTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1icmFuZC1kYXJrKSBjYWxjKDAuNyAqIDEwMCUpLCB0cmFuc3BhcmVudCk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcCBpbnB1dFt0eXBlPWNoZWNrYm94XTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDFlbTtcbiAgICBoZWlnaHQ6IDFlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpO1xuICAgIG1hc2staW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOSBJakFnTUNBek1UWXVNemdnTWpVd0xqWWlQanh3WVhSb0lHUTlJazAzTUM0MElESXhPUzQ0WXpRdU5UVWdOQzQ0IE55QTVMakl5SURrdU5qY2dNVFF1TVRJZ01UUXVNVGtnTXk0M05TQXpMalEzSURjdU56RWdOaTQ0TlNBeE1TNDUgTXlBNUxqYzBJRFV1TlNBekxqYzRJREV4TGpreUlEY3VNRGdnTVRndU56Z2dOaTQ0TlNBMkxqWTJMUzR5TXlBeCBNaTQzTnkwekxqY3pJREUzTGprM0xUY3VOaklnT0M0MkxUWXVORElnTVRZdU5qY3RNVFV1TVRjZ01qTXVPRFF0IE1qTXVNVFJNTXpBMUxqWTRJRFUwTGpZNVl6Y3VNaTA0SURFeExqYzVMVEU0TGpJMUlERXdMalEzTFRJNUxqRTMgTFRFdU1EUXRPQzQxT1MwMUxqY3hMVEUyTGpVMUxURXpMakF4TFRJeExqSTVMVFV1TmpVdE15NDJOeTB4TWk0eSBOaTAwTGprNExURTRMamt0TXk0NE1pMDRMamtnTVM0MU5pMHhOaTQxTkNBM0xqSXlMVEl5TGpRNElERXpMamM0IExUUTRMak0wSURVekxqTXlMVGsyTGpVNUlERXdOaTQzTVMweE5EUXVPRFVnTVRZd0xqRXhiQzB6TGpFNUlETXUgTlRNdE5qQXVOQzAyTmk0Mk0yTXRPQzQwTWkwNUxqSTVMVEU1TGpjdE1UTXVPVFF0TXpFdU9USXRPUzQxTnkwMCBMamN5SURFdU5qa3RPQzQ1T1NBMExqVTRMVEV5TGpRMUlEZ3VNVGt0TXk0NE5pQTBMakEwTFRZdU56Z2dPUzR3IE5pMDRMakV6SURFMExqUTVMVEl1TXpFZ09TNHlOeTR6SURFNExqQTNJRFl1TmpJZ01qVXVNVE5zTmpJdU9UVWcgTnpBdU16VmFJaUJ6ZEhsc1pUMGlabWxzYkMxeWRXeGxPbVYyWlc1dlpHUWlMejQ4TDNOMlp6NEtcIik7XG4gICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBtYXNrLXNpemU6IDYwJTtcbiAgICBtYXNrLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcztcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcCBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkOmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1saWdodCk7XG4gIH1cbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQ6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwIGlucHV0W3R5cGU9Y2hlY2tib3hdW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC4zO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwIGlucHV0W3R5cGU9Y2hlY2tib3hdW2Rpc2FibGVkXTpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1iYXNpYykgY2FsYygwLjggKiAxMDAlKSwgdHJhbnNwYXJlbnQpO1xuICB9XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAgaW5wdXRbdHlwZT1jaGVja2JveF0gfiBsYWJlbCxcbiNtZW1iZXJzaGlwIC5mb3JtV3JhcCBpbnB1dFt0eXBlPXJhZGlvXSB+IGxhYmVsIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjM1ZW07XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAgaW5wdXRbdHlwZT1yYWRpb10ge1xuICBmb250LXNpemU6IDEuMWVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuQHN1cHBvcnRzIChhcHBlYXJhbmNlOiBub25lKSB7XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcCBpbnB1dFt0eXBlPXJhZGlvXSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICB3aWR0aDogMWVtO1xuICAgIGhlaWdodDogMWVtO1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcCBpbnB1dFt0eXBlPXJhZGlvXTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDFlbTtcbiAgICBoZWlnaHQ6IDFlbTtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWJyYW5kLWRhcmspIGNhbGMoMC43ICogMTAwJSksIHRyYW5zcGFyZW50KTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcCBpbnB1dFt0eXBlPXJhZGlvXTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIHotaW5kZXg6IDU7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcztcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZDpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcCBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkOmFmdGVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbiAgICB3aWR0aDogMC40NWVtO1xuICAgIGhlaWdodDogMC40NWVtO1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcCBpbnB1dFt0eXBlPXJhZGlvXVtkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6IDAuMztcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcCBpbnB1dFt0eXBlPXJhZGlvXVtkaXNhYmxlZF06YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWJhc2ljKSBtaW4obCArIGwgKiAwLjc1LCAxKSBjIGgpO1xuICB9XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAgLnN0eWxlZEZpZWxkc2V0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQpO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAgLnN0eWxlZEZpZWxkc2V0IGxlZ2VuZCB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJyYW5kLWRhcmspO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICBmb250LXdlaWdodDogNzAwO1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1saWdodCk7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubG9naW4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXgtd2lkdGg6IDQ1MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubG9naW4gLnN0YXR1c01lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ibGFjayk7XG4gIGNvbG9yOiB2YXIoLS1ibGFjay1jb250cmFzdCk7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIG1hcmdpbjogMTBweCBhdXRvO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxvZ2luIC5ob3J6RGl2aWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDBweCAwIDA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxvZ2luIC5ob3J6RGl2aWRlciAub3Ige1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW4taW5saW5lOiAxNXB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZC1kYXJrKTtcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgdHJhbnNsYXRlOiAwIDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubG9naW4gLmxvZ2luV3JhcHBlciB7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWJyYW5kLWRhcmstY29udHJhc3QpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBwYWRkaW5nOiAyMHB4O1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxvZ2luIC5sb2dpbldyYXBwZXIgLmZpZWxkV3JhcHBlciB7XG4gIG1pbi13aWR0aDogMjgwcHg7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubG9naW4gLmxvZ2luV3JhcHBlciAuZmllbGQtdmFsaWRhdGlvbi1lcnJvciB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubG9naW4gLmxvZ2luV3JhcHBlciBoMyB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2Uge1xuICBwYWRkaW5nLWxlZnQ6IDBweDtcbiAgcGFkZGluZy1yaWdodDogMHB4O1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIHtcbiAgLS1ncmFwaGljOiA3NXB4O1xuICAtLWd1ZXN0LWdyYXBoaWM6IDYwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogMjVweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogNDUwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwcHggMjVweCAwIDA7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1saWdodCk7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIHBhZGRpbmctbGVmdDogMHB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGE6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBzY2FsZTogMCAwLjI1O1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwJSA1MCU7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1jaXJjbGUpO1xuICB0cmFuc2l0aW9uOiBhbGwgNTAwbXMgdmFyKC0tdGltaW5nLXNtb290aC1zbSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYTpoYXMoLmltYWdlKSB7XG4gIC0tZ3JhcGhpYzogOTBweDtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhOmhhcyguaW1hZ2UpIC5pbWFnZSB7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGE6aGFzKC5pbWFnZSkgLmljb24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGEgLnRleHQge1xuICBmb250LXNpemU6IDEuOGVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDM7XG4gIHRyYW5zaXRpb246IGNvbG9yIDMwMG1zO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGEgLmdyYXBoaWNIb2xkZXIge1xuICBtaW4td2lkdGg6IHZhcigtLWdyYXBoaWMpO1xuICB3aWR0aDogdmFyKC0tZ3JhcGhpYyk7XG4gIGFzcGVjdC1yYXRpbzogMS8xO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDM7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYSAuZ3JhcGhpY0hvbGRlciAuaWNvbixcbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhIC5ncmFwaGljSG9sZGVyIC5pbWFnZSB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1jaXJjbGUpO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhIC5pY29uIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZvbnQtc2l6ZTogMi44ZW07XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDUwMG1zIHZhcigtLXRpbWluZy1zbW9vdGgtc20pLCBjb2xvciAzMDBtcztcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhIC5pY29uOmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1pY29uLWZvbnQpO1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICBjb250ZW50OiBcImtcIjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAzO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGEgLmljb246YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBzY2FsZTogMCAwLjI1O1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtY2lyY2xlKTtcbiAgdHJhbnNpdGlvbjogYWxsIDUwMG1zIHZhcigtLXRpbWluZy1zbW9vdGgtc20pO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQpO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGEuZW5yb2xsZWVMb2dpbkJ0biB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJyYW5kLWRhcmstY29udHJhc3QpO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYS5lbnJvbGxlZUxvZ2luQnRuIC5ncmFwaGljSG9sZGVyIHtcbiAgdHJhbnNsYXRlOiAtMjBweCAwcHg7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYS5lbnJvbGxlZUxvZ2luQnRuIC5pY29uIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQtZGFyayk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnJhbmQtZGFyay1jb250cmFzdCk7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1kYXJrLWNvbnRyYXN0KTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhLmVucm9sbGVlTG9naW5CdG4gLmljb246YmVmb3JlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29udGVudDogXCJDXCI7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYS5ndWVzdExvZ2luQnRuIHtcbiAgLS1ncmFwaGljOiB2YXIoLS1ndWVzdC1ncmFwaGljKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQtZGFyayk7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1kYXJrLWNvbnRyYXN0KTtcbiAgZ2FwOiAxMHB4O1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYS5ndWVzdExvZ2luQnRuIC5ncmFwaGljSG9sZGVyIHtcbiAgbWluLXdpZHRoOiB2YXIoLS1ndWVzdC1ncmFwaGljKTtcbiAgd2lkdGg6IHZhcigtLWd1ZXN0LWdyYXBoaWMpO1xuICB0cmFuc2xhdGU6IC0yMHB4IDBweDtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhLmd1ZXN0TG9naW5CdG4gLnRleHQge1xuICBmb250LXNpemU6IDEuNWVtO1xuICB0cmFuc2xhdGU6IC0xMHB4IDBweDtcbiAgcGFkZGluZy1yaWdodDogMzBweDtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhLmd1ZXN0TG9naW5CdG4gLmljb24ge1xuICBib3JkZXItY29sb3I6IHZhcigtLWJyYW5kLWRhcmstY29udHJhc3QpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZC1kYXJrKTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWRhcmstY29udHJhc3QpO1xuICBmb250LXNpemU6IDIuNWVtO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYTpob3ZlciAuaWNvbiB7XG4gICAgY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG4gICAgc2NhbGU6IDEuMTtcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYTpob3ZlciAuaWNvbjphZnRlciB7XG4gICAgc2NhbGU6IDEgMTtcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYTpob3ZlciAudGV4dCB7XG4gICAgY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG4gIH1cbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGE6aG92ZXI6YWZ0ZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gICAgc2NhbGU6IDEgMTtcbiAgfVxufVxuW2RhdGEtYnJvd3Nlcj1pZV0gI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGE6aG92ZXIgLmljb24ge1xuICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbiAgc2NhbGU6IDEuMTtcbn1cbltkYXRhLWJyb3dzZXI9aWVdICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhOmhvdmVyIC5pY29uOmFmdGVyIHtcbiAgc2NhbGU6IDEgMTtcbn1cbltkYXRhLWJyb3dzZXI9aWVdICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhOmhvdmVyIC50ZXh0IHtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG59XG5bZGF0YS1icm93c2VyPWllXSAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYTpob3ZlcjphZnRlciB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIHNjYWxlOiAxIDE7XG59XG4uaWUgI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGE6aG92ZXIgLmljb24ge1xuICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbiAgc2NhbGU6IDEuMTtcbn1cbi5pZSAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYTpob3ZlciAuaWNvbjphZnRlciB7XG4gIHNjYWxlOiAxIDE7XG59XG4uaWUgI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGE6aG92ZXIgLnRleHQge1xuICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbn1cbi5pZSAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYTpob3ZlcjphZnRlciB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIHNjYWxlOiAxIDE7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYS5mb2N1cy12aXNpYmxlIC5pY29uIHtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG4gIHNjYWxlOiAxLjE7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYS5mb2N1cy12aXNpYmxlIC5pY29uOmFmdGVyIHtcbiAgc2NhbGU6IDEgMTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhLmZvY3VzLXZpc2libGUgLnRleHQge1xuICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhLmZvY3VzLXZpc2libGU6YWZ0ZXIge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBzY2FsZTogMSAxO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGE6Zm9jdXMtdmlzaWJsZSAuaWNvbiB7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpO1xuICBzY2FsZTogMS4xO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGE6Zm9jdXMtdmlzaWJsZSAuaWNvbjphZnRlciB7XG4gIHNjYWxlOiAxIDE7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYTpmb2N1cy12aXNpYmxlIC50ZXh0IHtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYTpmb2N1cy12aXNpYmxlOmFmdGVyIHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgc2NhbGU6IDEgMTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIge1xuICBtYXJnaW4tdG9wOiAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmFjY291bnRQcm9maWxlciAucHJvZmlsZVNldHRpbmdzRXhwbGFpbmVyLFxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmFjY291bnRQcm9maWxlciAucHJvZmlsZUVycm9yV3JhcCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIgLmVycm9yTWVzc2FnZSBsaSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIgLmluc3RydWN0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmFjY291bnRQcm9maWxlciAuYWNjb3JkaW9uV3JhcHBlciB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1kYXJrLWNvbnRyYXN0KTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIgLnN0eWxlZEZpZWxkc2V0IHtcbiAgZm9udC1zaXplOiAwLjllbTtcbiAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgcGFkZGluZy1ib3R0b206IDE4cHg7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAuYWNjb3VudFByb2ZpbGVyIC5zdHlsZWRGaWVsZHNldCAuY29udHJvbFdyYXBwZXIge1xuICBib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAuYWNjb3VudFByb2ZpbGVyIC5zdHlsZWRGaWVsZHNldCAuY29udHJvbFdyYXBwZXI6bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHggIWltcG9ydGFudDtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIgLnN0eWxlZEZpZWxkc2V0LnBob25lIC5maWVsZFdyYXBwZXIge1xuICBtYXJnaW46IDEwcHggMCAxNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIgLnN0eWxlZEZpZWxkc2V0LnBob25lIC5jb250cm9sV3JhcHBlciAuY29udHJvbCB7XG4gIGJvcmRlci1ib3R0b206IDA7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAuYWNjb3VudFByb2ZpbGVyIC5idXR0b25Ib2xkZXIge1xuICBtYXJnaW46IDIwcHggMCAyMHB4O1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmFjY291bnRQcm9maWxlciAucmVzZXRBY2NvdW50VHlwZUJ0biB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGZvbnQtc2l6ZTogMC44ZW07XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1icmFuZC1kYXJrLWNvbnRyYXN0KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWRhcmstY29udHJhc3QpO1xuICB0cmFuc2l0aW9uOiAyMDBtcztcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY29sb3I6IHZhcigtLWxpZ2h0KTtcbiAgcGFkZGluZzogMnB4O1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAuYWNjb3VudFByb2ZpbGVyIC5yZXNldEFjY291bnRUeXBlQnRuOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gICAgY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbiAgfVxufVxuW2RhdGEtYnJvd3Nlcj1pZV0gI21lbWJlcnNoaXAgLmZvcm1XcmFwLmFjY291bnRQcm9maWxlciAucmVzZXRBY2NvdW50VHlwZUJ0bjpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG59XG4uaWUgI21lbWJlcnNoaXAgLmZvcm1XcmFwLmFjY291bnRQcm9maWxlciAucmVzZXRBY2NvdW50VHlwZUJ0bjpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAuYWNjb3VudFByb2ZpbGVyIC5yZXNldEFjY291bnRUeXBlQnRuLmZvY3VzLXZpc2libGUge1xuICBib3JkZXItY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmFjY291bnRQcm9maWxlciAucmVzZXRBY2NvdW50VHlwZUJ0bjpmb2N1cy12aXNpYmxlIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQpO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIgLmFjY29yZGlvbk1vZHVsZSAuYWNjb3JkaW9uVGl0bGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodCk7XG4gIGNvbG9yOiB2YXIoLS1saWdodC1jb250cmFzdCk7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAuYWNjb3VudFByb2ZpbGVyIC5hY2NvcmRpb25Nb2R1bGUgLmFjY29yZGlvblRpdGxlIC5pY29uIHtcbiAgY29sb3I6IHZhcigtLWJhc2ljKTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC50d29GYWN0b3IgLnNpbmdsZUZpZWxkU3VibWlzc2lvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLnR3b0ZhY3RvciAuc2luZ2xlRmllbGRTdWJtaXNzaW9uIC5maWVsZFdyYXBwZXIge1xuICBtYXJnaW46IDAgMTBweCAwIDA7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAudHdvRmFjdG9yIC5zaW5nbGVGaWVsZFN1Ym1pc3Npb24gYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAuOGVtIDEuM2VtO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWJyYW5kLWRhcmspIG1heChsIC0gbCAqIDAuMSwgMCkgYyBoKTtcbiAgbGluZS1oZWlnaHQ6IDEuMWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1iYXNpYy1mb250KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjFzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWRhcmstY29udHJhc3QpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3JkZXItY29sb3I6IHZhcigtLWxpZ2h0KTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC50d29GYWN0b3IgLnNpbmdsZUZpZWxkU3VibWlzc2lvbiBidXR0b24gLmljb24ge1xuICBmb250LWZhbWlseTogdmFyKC0taWNvbi1mb250KTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwLnR3b0ZhY3RvciAuc2luZ2xlRmllbGRTdWJtaXNzaW9uIGJ1dHRvbjpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICAgIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG4gICAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWhvdmVyKSBtaW4obCArIGwgKiAwLjIsIDEpIGMgaCk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5bZGF0YS1icm93c2VyPWllXSAjbWVtYmVyc2hpcCAuZm9ybVdyYXAudHdvRmFjdG9yIC5zaW5nbGVGaWVsZFN1Ym1pc3Npb24gYnV0dG9uOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG4gIGJvcmRlci1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1ob3ZlcikgbWluKGwgKyBsICogMC4yLCAxKSBjIGgpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uaWUgI21lbWJlcnNoaXAgLmZvcm1XcmFwLnR3b0ZhY3RvciAuc2luZ2xlRmllbGRTdWJtaXNzaW9uIGJ1dHRvbjpob3ZlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICBib3JkZXItY29sb3I6IG9rbGNoKGZyb20gdmFyKC0taG92ZXIpIG1pbihsICsgbCAqIDAuMiwgMSkgYyBoKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLnR3b0ZhY3RvciAuc2luZ2xlRmllbGRTdWJtaXNzaW9uIGJ1dHRvbi5mb2N1cy12aXNpYmxlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG4gIGJvcmRlci1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1ob3ZlcikgbWluKGwgKyBsICogMC4yLCAxKSBjIGgpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAudHdvRmFjdG9yIC5zaW5nbGVGaWVsZFN1Ym1pc3Npb24gYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbiAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWhvdmVyKSBtaW4obCArIGwgKiAwLjIsIDEpIGMgaCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC50d29GYWN0b3IgLnNpbmdsZUZpZWxkU3VibWlzc2lvbiBidXR0b25bZGlzYWJsZWRdLCAjbWVtYmVyc2hpcCAuZm9ybVdyYXAudHdvRmFjdG9yIC5zaW5nbGVGaWVsZFN1Ym1pc3Npb24gYnV0dG9uW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0ge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAudHdvRmFjdG9yICNURkFCdXR0b25BcHAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMC44ZW0gMS4zZW07XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IG9rbGNoKGZyb20gdmFyKC0tYnJhbmQtZGFyaykgbWF4KGwgLSBsICogMC4xLCAwKSBjIGgpO1xuICBsaW5lLWhlaWdodDogMS4xZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWJhc2ljLWZvbnQpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgb3V0bGluZS1vZmZzZXQ6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMXM7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWRhcmspO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtZGFyay1jb250cmFzdCk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjVlbTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC50d29GYWN0b3IgI1RGQUJ1dHRvbkFwcCAuaWNvbiB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1pY29uLWZvbnQpO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAudHdvRmFjdG9yICNURkFCdXR0b25BcHA6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICAgIGJvcmRlci1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1ob3ZlcikgbWluKGwgKyBsICogMC4yLCAxKSBjIGgpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuW2RhdGEtYnJvd3Nlcj1pZV0gI21lbWJlcnNoaXAgLmZvcm1XcmFwLnR3b0ZhY3RvciAjVEZBQnV0dG9uQXBwOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG4gIGJvcmRlci1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1ob3ZlcikgbWluKGwgKyBsICogMC4yLCAxKSBjIGgpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uaWUgI21lbWJlcnNoaXAgLmZvcm1XcmFwLnR3b0ZhY3RvciAjVEZBQnV0dG9uQXBwOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG4gIGJvcmRlci1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1ob3ZlcikgbWluKGwgKyBsICogMC4yLCAxKSBjIGgpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAudHdvRmFjdG9yICNURkFCdXR0b25BcHAuZm9jdXMtdmlzaWJsZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICBib3JkZXItY29sb3I6IG9rbGNoKGZyb20gdmFyKC0taG92ZXIpIG1pbihsICsgbCAqIDAuMiwgMSkgYyBoKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLnR3b0ZhY3RvciAjVEZBQnV0dG9uQXBwOmZvY3VzLXZpc2libGUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbiAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWhvdmVyKSBtaW4obCArIGwgKiAwLjIsIDEpIGMgaCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC50d29GYWN0b3IgI1RGQUJ1dHRvbkFwcFtkaXNhYmxlZF0sICNtZW1iZXJzaGlwIC5mb3JtV3JhcC50d29GYWN0b3IgI1RGQUJ1dHRvbkFwcFthcmlhLWRpc2FibGVkPXRydWVdIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLnR3b0ZhY3RvciAjVEZBQnV0dG9uRW1haWwsXG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAudHdvRmFjdG9yICNPVFBCdXR0b24ge1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHBhZGRpbmc6IDAgMCA1cHg7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1icmFuZC1kYXJrLWNvbnRyYXN0KTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWRhcmstY29udHJhc3QpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAudHdvRmFjdG9yICNURkFCdXR0b25FbWFpbFtkYXRhLXdhaXQtYS1mZXc9dHJ1ZV0sXG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAudHdvRmFjdG9yICNPVFBCdXR0b25bZGF0YS13YWl0LWEtZmV3PXRydWVdIHtcbiAgb3BhY2l0eTogMC42O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuI21lbWJlcnNoaXAgLmJ1dHRvbkhvbGRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZy10b3A6IDE1cHg7XG59XG4jbWVtYmVyc2hpcCAuYnV0dG9uSG9sZGVyIGJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwLjhlbSAxLjNlbTtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1icmFuZC1kYXJrKSBtYXgobCAtIGwgKiAwLjEsIDApIGMgaCk7XG4gIGxpbmUtaGVpZ2h0OiAxLjFlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogdmFyKC0tYmFzaWMtZm9udCk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBvdXRsaW5lLW9mZnNldDogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xcztcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1kYXJrLWNvbnRyYXN0KTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1saWdodCk7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuI21lbWJlcnNoaXAgLmJ1dHRvbkhvbGRlciBidXR0b24gLmljb24ge1xuICBmb250LWZhbWlseTogdmFyKC0taWNvbi1mb250KTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgI21lbWJlcnNoaXAgLmJ1dHRvbkhvbGRlciBidXR0b246aG92ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICAgIGJvcmRlci1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1ob3ZlcikgbWluKGwgKyBsICogMC4yLCAxKSBjIGgpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuW2RhdGEtYnJvd3Nlcj1pZV0gI21lbWJlcnNoaXAgLmJ1dHRvbkhvbGRlciBidXR0b246aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbiAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWhvdmVyKSBtaW4obCArIGwgKiAwLjIsIDEpIGMgaCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5pZSAjbWVtYmVyc2hpcCAuYnV0dG9uSG9sZGVyIGJ1dHRvbjpob3ZlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICBib3JkZXItY29sb3I6IG9rbGNoKGZyb20gdmFyKC0taG92ZXIpIG1pbihsICsgbCAqIDAuMiwgMSkgYyBoKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI21lbWJlcnNoaXAgLmJ1dHRvbkhvbGRlciBidXR0b24uZm9jdXMtdmlzaWJsZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICBib3JkZXItY29sb3I6IG9rbGNoKGZyb20gdmFyKC0taG92ZXIpIG1pbihsICsgbCAqIDAuMiwgMSkgYyBoKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI21lbWJlcnNoaXAgLmJ1dHRvbkhvbGRlciBidXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICBib3JkZXItY29sb3I6IG9rbGNoKGZyb20gdmFyKC0taG92ZXIpIG1pbihsICsgbCAqIDAuMiwgMSkgYyBoKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI21lbWJlcnNoaXAgLmJ1dHRvbkhvbGRlciBidXR0b25bZGlzYWJsZWRdLCAjbWVtYmVyc2hpcCAuYnV0dG9uSG9sZGVyIGJ1dHRvblthcmlhLWRpc2FibGVkPXRydWVdIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuI21lbWJlcnNoaXAgLnN0eWxlZEZpZWxkc2V0IHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbiNtZW1iZXJzaGlwIC5zdHlsZWRGaWVsZHNldCAuZ3JvdXBMZWdlbmQge1xuICBwYWRkaW5nOiA0cHggMnB4O1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi5zaW1wbGVEaWFsb2cgLmNsb3NlRGlhbG9nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAuOGVtIDEuM2VtO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWJyYW5kLWRhcmspIG1heChsIC0gbCAqIDAuMSwgMCkgYyBoKTtcbiAgbGluZS1oZWlnaHQ6IDEuMWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1iYXNpYy1mb250KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjFzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWRhcmstY29udHJhc3QpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLnNpbXBsZURpYWxvZyAuY2xvc2VEaWFsb2cgLmljb24ge1xuICBmb250LWZhbWlseTogdmFyKC0taWNvbi1mb250KTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLnNpbXBsZURpYWxvZyAuY2xvc2VEaWFsb2c6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICAgIGJvcmRlci1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1ob3ZlcikgbWluKGwgKyBsICogMC4yLCAxKSBjIGgpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuW2RhdGEtYnJvd3Nlcj1pZV0gLnNpbXBsZURpYWxvZyAuY2xvc2VEaWFsb2c6aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbiAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWhvdmVyKSBtaW4obCArIGwgKiAwLjIsIDEpIGMgaCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5pZSAuc2ltcGxlRGlhbG9nIC5jbG9zZURpYWxvZzpob3ZlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICBib3JkZXItY29sb3I6IG9rbGNoKGZyb20gdmFyKC0taG92ZXIpIG1pbihsICsgbCAqIDAuMiwgMSkgYyBoKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnNpbXBsZURpYWxvZyAuY2xvc2VEaWFsb2cuZm9jdXMtdmlzaWJsZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICBib3JkZXItY29sb3I6IG9rbGNoKGZyb20gdmFyKC0taG92ZXIpIG1pbihsICsgbCAqIDAuMiwgMSkgYyBoKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnNpbXBsZURpYWxvZyAuY2xvc2VEaWFsb2c6Zm9jdXMtdmlzaWJsZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xuICBib3JkZXItY29sb3I6IG9rbGNoKGZyb20gdmFyKC0taG92ZXIpIG1pbihsICsgbCAqIDAuMiwgMSkgYyBoKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnNpbXBsZURpYWxvZyAuY2xvc2VEaWFsb2dbZGlzYWJsZWRdLCAuc2ltcGxlRGlhbG9nIC5jbG9zZURpYWxvZ1thcmlhLWRpc2FibGVkPXRydWVdIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuLnNpbXBsZURpYWxvZyAuY2xvc2VEaWFsb2cgLmljb24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4jcmVzZXREYXRhIGJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwLjhlbSAxLjNlbTtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1icmFuZC1kYXJrKSBtYXgobCAtIGwgKiAwLjEsIDApIGMgaCk7XG4gIGxpbmUtaGVpZ2h0OiAxLjFlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogdmFyKC0tYmFzaWMtZm9udCk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBvdXRsaW5lLW9mZnNldDogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xcztcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1kYXJrLWNvbnRyYXN0KTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbiNyZXNldERhdGEgYnV0dG9uIC5pY29uIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWljb24tZm9udCk7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gICNyZXNldERhdGEgYnV0dG9uOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gICAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbiAgICBib3JkZXItY29sb3I6IG9rbGNoKGZyb20gdmFyKC0taG92ZXIpIG1pbihsICsgbCAqIDAuMiwgMSkgYyBoKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cbltkYXRhLWJyb3dzZXI9aWVdICNyZXNldERhdGEgYnV0dG9uOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG4gIGJvcmRlci1jb2xvcjogb2tsY2goZnJvbSB2YXIoLS1ob3ZlcikgbWluKGwgKyBsICogMC4yLCAxKSBjIGgpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uaWUgI3Jlc2V0RGF0YSBidXR0b246aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbiAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWhvdmVyKSBtaW4obCArIGwgKiAwLjIsIDEpIGMgaCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiNyZXNldERhdGEgYnV0dG9uLmZvY3VzLXZpc2libGUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbiAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWhvdmVyKSBtaW4obCArIGwgKiAwLjIsIDEpIGMgaCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiNyZXNldERhdGEgYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbiAgYm9yZGVyLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWhvdmVyKSBtaW4obCArIGwgKiAwLjIsIDEpIGMgaCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiNyZXNldERhdGEgYnV0dG9uW2Rpc2FibGVkXSwgI3Jlc2V0RGF0YSBidXR0b25bYXJpYS1kaXNhYmxlZD10cnVlXSB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEyODBweCkge1xuICAubG9naW5UZWFzZXJWaWRlbyB7XG4gICAgbGVmdDogMjBweDtcbiAgICByaWdodDogNjUwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDUwcHgpIHtcbiAgLmxvZ2luVGVhc2VyVmlkZW8ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIHRvcDogYXV0bztcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMCA2cHggMTVweDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gIDpyb290IHtcbiAgICAtLWxvZ2luLXc6IDU1MHB4O1xuICB9XG4gIC5tZW1iZXJzaGlwQnVmZmVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICB9XG4gICNiYWNrZ3JvdW5kLm1lbWJlcnNoaXBCZyB7XG4gICAgaGVpZ2h0OiA3MHZoO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gICNiYWNrZ3JvdW5kLm1lbWJlcnNoaXBCZyAuYmdJbWcsXG4gICNiYWNrZ3JvdW5kLm1lbWJlcnNoaXBCZyAuc2VjdGlvbkJnLFxuICAjYmFja2dyb3VuZC5tZW1iZXJzaGlwQmcgdmlkZW8ge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAjYmFja2dyb3VuZC5tZW1iZXJzaGlwQmc6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDIwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNjAlO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbGlnaHQpIGNhbGMoMCAqIDEwMCUpLCB0cmFuc3BhcmVudCksIHZhcigtLWxpZ2h0KSk7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA2NTBweCkge1xuICAjcmVzZXREYXRhIGJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICB9XG4gIGJvZHk6YWZ0ZXIge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxuICBoZWFkZXIge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICAjbWVtYmVyc2hpcCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyB7XG4gICAgcGFkZGluZzogMHB4IDI1cHggMCAyNXB4O1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGEuZ3Vlc3RMb2dpbkJ0biwgI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGEuZW5yb2xsZWVMb2dpbkJ0biB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA1MjBweCkge1xuICAubWVtYmVyc2hpcEJ1ZmZlciB7XG4gICAgcGFkZGluZy1sZWZ0OiAxOHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE4cHg7XG4gIH1cbiAgI21lbWJlcnNoaXAge1xuICAgIHBhZGRpbmc6IDIwcHggMTJweCA2MHB4O1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcCB7XG4gICAgcGFkZGluZzogNXB4O1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyB7XG4gICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICBnYXA6IDE1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA0NTBweCkge1xuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMge1xuICAgIC0tZ3JhcGhpYzogNjVweDtcbiAgICAtLWd1ZXN0LWdyYXBoaWM6IDUycHg7XG4gICAgZm9udC1zaXplOiAwLjdlbTtcbiAgfVxufVxuLnJ0ZSB7XG4gIGNsZWFyOiBib3RoO1xufVxuLnJ0ZSBoNCxcbi5ydGUgaDUge1xuICBtYXJnaW46IDAuOGVtIDAgMC41ZW07XG59XG4ucnRlID4gKjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbn1cbi5ydGUgPiAqOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG4ucnRlIGEuZm9jdXMtdmlzaWJsZSB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDJweCBibGFjayAhaW1wb3J0YW50O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG59XG4ucnRlIGE6Zm9jdXMtdmlzaWJsZSB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDJweCBibGFjayAhaW1wb3J0YW50O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG59XG4ucnRlIGE6aGFzKGltZykge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG4ucnRlIGE6aGFzKGltZykgLmljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMnB4O1xuICByaWdodDogM3B4O1xuICBwYWRkaW5nOiA2cHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpO1xuICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cpO1xuICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIC5ydGUgYTpoYXMoaW1nKTpob3ZlciAuaWNvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICAgIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG4gIH1cbn1cbltkYXRhLWJyb3dzZXI9aWVdIC5ydGUgYTpoYXMoaW1nKTpob3ZlciAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbn1cbi5pZSAucnRlIGE6aGFzKGltZyk6aG92ZXIgLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1ob3Zlci1jb250cmFzdCk7XG59XG4ucnRlIGE6aGFzKGltZykuZm9jdXMtdmlzaWJsZSAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWhvdmVyLWNvbnRyYXN0KTtcbn1cbi5ydGUgYTpoYXMoaW1nKTpmb2N1cy12aXNpYmxlIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXIpO1xuICBjb2xvcjogdmFyKC0taG92ZXItY29udHJhc3QpO1xufVxuLnJ0ZSBpZnJhbWUge1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSA4MHB4KTtcbiAgbWF4LWhlaWdodDogY2FsYygoMTAwdncgLSA4MHB4KSAvIDEuNzc3OCk7IC8qIDE2OjkgKi9cbn1cbi5ydGUgaW1nIHtcbiAgbWFyZ2luOiAxMHB4O1xufVxuLnJ0ZSBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdIHtcbiAgbWFyZ2luOiAwIDAgMjBweCAyMHB4O1xufVxuLnJ0ZSBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0ge1xuICBtYXJnaW46IDAgMjBweCAyMHB4IDBweDtcbn1cbi5ydGUgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSwgLnJ0ZSBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0ge1xuICBtYXgtd2lkdGg6IDYwJTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA2NTBweCkge1xuICAucnRlIGltZ1tzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0sIC5ydGUgaW1nW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdIHtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDUyMHB4KSwgKG1heC13aWR0aDogMTA1MHB4KSBhbmQgKG1pbi13aWR0aDogODAxcHgpIHtcbiAgLnJ0ZSBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdLCAucnRlIGltZ1tzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwIGF1dG8gOHB4O1xuICB9XG59XG4ucnRlIGZpZ3VyZTpub3QoLnRlcm1CYmwpIHtcbiAgbWFyZ2luOiAyMHB4IDBweDtcbiAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1yYWRpdXMpICsgNXB4IC0gdmFyKC0tYm9yZGVyKSk7XG4gIGJvcmRlcjogdmFyKC0tYm9yZGVyKSBzb2xpZCB2YXIoLS1ncmV5KTtcbiAgcGFkZGluZzogNXB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4ucnRlIGZpZ3VyZTpub3QoLnRlcm1CYmwpIGltZyB7XG4gIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMHB4ICFpbXBvcnRhbnQ7XG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpIHZhcigtLXJhZGl1cykgMHB4IDBweDtcbn1cbi5ydGUgZmlndXJlOm5vdCgudGVybUJibClbc3R5bGUqPVwidGV4dC1hbGlnbjogcmlnaHRcIl0ge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbjogMCAwIDIwcHggMjBweDtcbn1cbi5ydGUgZmlndXJlOm5vdCgudGVybUJibClbc3R5bGUqPVwidGV4dC1hbGlnbjogbGVmdFwiXSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDAgMjBweCAyMHB4IDBweDtcbn1cbi5ydGUgZmlndXJlOm5vdCgudGVybUJibClbc3R5bGUqPVwidGV4dC1hbGlnbjogbGVmdFwiXSwgLnJ0ZSBmaWd1cmU6bm90KC50ZXJtQmJsKVtzdHlsZSo9XCJ0ZXh0LWFsaWduOiByaWdodFwiXSB7XG4gIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgbWF4LXdpZHRoOiA2MCU7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNjUwcHgpIHtcbiAgLnJ0ZSBmaWd1cmU6bm90KC50ZXJtQmJsKVtzdHlsZSo9XCJ0ZXh0LWFsaWduOiBsZWZ0XCJdLCAucnRlIGZpZ3VyZTpub3QoLnRlcm1CYmwpW3N0eWxlKj1cInRleHQtYWxpZ246IHJpZ2h0XCJdIHtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDUyMHB4KSwgKG1heC13aWR0aDogMTA1MHB4KSBhbmQgKG1pbi13aWR0aDogODAxcHgpIHtcbiAgLnJ0ZSBmaWd1cmU6bm90KC50ZXJtQmJsKVtzdHlsZSo9XCJ0ZXh0LWFsaWduOiBsZWZ0XCJdLCAucnRlIGZpZ3VyZTpub3QoLnRlcm1CYmwpW3N0eWxlKj1cInRleHQtYWxpZ246IHJpZ2h0XCJdIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgYXV0byA4cHg7XG4gIH1cbn1cbi5ydGUgZmlndXJlOm5vdCgudGVybUJibCkgZmlnY2FwdGlvbiB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDBweCAwcHggdmFyKC0tcmFkaXVzKSB2YXIoLS1yYWRpdXMpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodC1ncmV5KTtcbiAgY29sb3I6IHZhcigtLWxpZ2h0LWdyZXktY29udHJhc3QpO1xuICBmb250LXNpemU6IDAuOWVtO1xufVxuLnJ0ZSBvbFtzdHlsZT1cImxpc3Qtc3R5bGUtdHlwZTogdXBwZXItYWxwaGE7XCJdID4gbGk6YmVmb3JlLCAucnRlIG9sW3N0eWxlPVwibGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTtcIl0gPiBsaTpiZWZvcmUsIC5ydGUgb2xbc3R5bGU9XCJsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWdyZWVrO1wiXSA+IGxpOmJlZm9yZSwgLnJ0ZSBvbFtzdHlsZT1cImxpc3Qtc3R5bGUtdHlwZTogdXBwZXItcm9tYW47XCJdID4gbGk6YmVmb3JlLCAucnRlIG9sW3N0eWxlPVwibGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjtcIl0gPiBsaTpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnJ0ZSAudGFibGVXcmFwcGVyIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB2YXIoLS1saWdodCkgMzAlLCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbGlnaHQpIGNhbGMoMCAqIDEwMCUpLCB0cmFuc3BhcmVudCkpLCBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1saWdodCkgY2FsYygwICogMTAwJSksIHRyYW5zcGFyZW50KSwgdmFyKC0tbGlnaHQpIDcwJSkgMCAxMDAlLCByYWRpYWwtZ3JhZGllbnQoZmFydGhlc3Qtc2lkZSBhdCAwJSA1MCUsIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1ibGFjaykgY2FsYygwLjIgKiAxMDAlKSwgdHJhbnNwYXJlbnQpLCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tYmxhY2spIGNhbGMoMCAqIDEwMCUpLCB0cmFuc3BhcmVudCkpLCByYWRpYWwtZ3JhZGllbnQoZmFydGhlc3Qtc2lkZSBhdCAxMDAlIDUwJSwgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWJsYWNrKSBjYWxjKDAuMiAqIDEwMCUpLCB0cmFuc3BhcmVudCksIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1ibGFjaykgY2FsYygwICogMTAwJSksIHRyYW5zcGFyZW50KSkgMCAxMDAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodCk7XG4gIGJhY2tncm91bmQtc2l6ZTogNDBweCAxMDAlLCA0MHB4IDEwMCUsIDE0cHggMTAwJSwgMTRweCAxMDAlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDAsIDEwMCUsIDAgMCwgMTAwJTtcbiAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBsb2NhbCwgbG9jYWwsIHNjcm9sbCwgc2Nyb2xsO1xuICBjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7XG59XG4ucnRlIC50YWJsZVdyYXBwZXIgdGFibGUge1xuICBtaW4td2lkdGg6IDUwMHB4O1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG4ucnRlIC50YWJsZVdyYXBwZXIgdGFibGUgY2FwdGlvbiB7XG4gIHBhZGRpbmc6IDRweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1kYXJrLWNvbnRyYXN0KTtcbn1cbi5ydGUgLnRhYmxlV3JhcHBlciB0YWJsZSB0cjpudGgtY2hpbGQoZXZlbikge1xuICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tYnJhbmQtYnJpZ2h0KSBjYWxjKDAuMTcgKiAxMDAlKSwgdHJhbnNwYXJlbnQpO1xufVxuLnJ0ZSAudGFibGVXcmFwcGVyIHRhYmxlIHRyOm50aC1jaGlsZChvZGQpIHtcbiAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWJyYW5kLWJyaWdodCkgY2FsYygwLjA2ICogMTAwJSksIHRyYW5zcGFyZW50KTtcbn1cbi5ydGUgLnRhYmxlV3JhcHBlciB0YWJsZSB0aCB7XG4gIHBhZGRpbmc6IDNweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG4gIGJvcmRlci1jb2xvcjogYmxhY2s7XG59XG4ucnRlIC50YWJsZVdyYXBwZXIgdGFibGUgdGQge1xuICBwYWRkaW5nOiAzcHg7XG4gIGZvbnQtc2l6ZTogMC45NWVtO1xufVxuLnJ0ZSAudGFibGVXcmFwcGVyIHRhYmxlIGEge1xuICBiYWNrZ3JvdW5kOiBub25lO1xufVxuLnJ0ZSAudGFibGVXcmFwcGVyIC5tb2JpbGVTY3JvbGxNZXNzYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIHBhZGRpbmc6IDVweCA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWRhcmspO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtZGFyay1jb250cmFzdCk7XG59XG4ucnRlIC50YWJsZVdyYXBwZXIgLm1vYmlsZVNjcm9sbE1lc3NhZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDEwMCU7XG4gIGxlZnQ6IGNhbGMoNXB4ICsgdmFyKC0tcmFkaXVzKSk7XG4gIHdpZHRoOiAwcHg7XG4gIGhlaWdodDogMHB4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDAgNnB4IDhweCA1cHg7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdmFyKC0tYnJhbmQtZGFyaykgdHJhbnNwYXJlbnQ7XG59XG5cbkBjb250YWluZXIgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgLnJ0ZSAudGFibGVXcmFwcGVyIC5tb2JpbGVTY3JvbGxNZXNzYWdlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA2NTBweCkge1xuICAucnRlIC50YWJsZVdyYXBwZXIgLm1vYmlsZVNjcm9sbE1lc3NhZ2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuLnJ0ZSBwLFxuI3JldmVhbE1vZGFsRGlhbG9nIC5jb3B5V3JhcCBwIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWJhc2ljLWZvbnQpO1xuICBmb250LXNpemU6IDFlbTtcbn1cbi5ydGUgaDMuaGVhZGluZyxcbiNyZXZlYWxNb2RhbERpYWxvZyAuY29weVdyYXAgaDMuaGVhZGluZyB7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgbWFyZ2luOiAwLjc1ZW0gMCAwLjRlbTtcbiAgZm9udC1zaXplOiAxLjY1ZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAyNWVtO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWRhcmstY29udHJhc3QpO1xufVxuLnJ0ZSAuaGVhZGluZ0xpc3QsXG4ucnRlIC5zdWJoZWFkaW5nTGlzdCxcbiNyZXZlYWxNb2RhbERpYWxvZyAuY29weVdyYXAgLmhlYWRpbmdMaXN0LFxuI3JldmVhbE1vZGFsRGlhbG9nIC5jb3B5V3JhcCAuc3ViaGVhZGluZ0xpc3Qge1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIG1hcmdpbjogMC43NWVtIDAgMC40ZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjI1ZW07XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB2YXIoLS1icmFuZC1kYXJrKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDI1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWRhcmspO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1kYXJrLWNvbnRyYXN0KTtcbn1cbi5ydGUgaDMuaGVhZGluZ0xpc3QsXG4jcmV2ZWFsTW9kYWxEaWFsb2cgLmNvcHlXcmFwIGgzLmhlYWRpbmdMaXN0IHtcbiAgZm9udC1zaXplOiAxLjJlbTtcbn1cbi5ydGUgaDQuc3ViaGVhZGluZ0xpc3QsXG4jcmV2ZWFsTW9kYWxEaWFsb2cgLmNvcHlXcmFwIGg0LnN1YmhlYWRpbmdMaXN0IHtcbiAgZm9udC1zaXplOiAxZW07XG59XG4ucnRlIGg0LnN1YmhlYWRpbmcsXG4jcmV2ZWFsTW9kYWxEaWFsb2cgLmNvcHlXcmFwIGg0LnN1YmhlYWRpbmcge1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIG1hcmdpbjogMC43NWVtIDAgMC40ZW07XG4gIGZvbnQtc2l6ZTogMS4zNWVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICBjb2xvcjogdmFyKC0tYmFzaWMpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYXNpYy1jb250cmFzdCk7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbn1cbi5ydGUgLmxhcmdlVGV4dCxcbiNyZXZlYWxNb2RhbERpYWxvZyAuY29weVdyYXAgLmxhcmdlVGV4dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgZm9udC1zaXplOiAxLjNlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNGVtO1xuICBmb250LWZhbWlseTogdmFyKC0tcHJpbWFyeS1mb250KTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgYmFja2dyb3VuZDogdmFyKC0tbGlnaHQtZ3JleSk7XG4gIHBhZGRpbmc6IDEwcHggMTVweCAxMHB4IDI1cHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4ucnRlIC5sYXJnZVRleHQgYSxcbiNyZXZlYWxNb2RhbERpYWxvZyAuY29weVdyYXAgLmxhcmdlVGV4dCBhIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY29sb3I6IHZhcigtLWxpZ2h0LWdyZXktY29udHJhc3QpO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAycHg7XG59XG4ucnRlIC5sYXJnZVRleHQ6YmVmb3JlLFxuI3JldmVhbE1vZGFsRGlhbG9nIC5jb3B5V3JhcCAubGFyZ2VUZXh0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMHB4O1xuICB0b3A6IDBweDtcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogMDtcbiAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDMwMG1zO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAxMDAwbXM7XG59XG4uY3VycmVudCAucnRlIC5sYXJnZVRleHQ6YmVmb3JlLFxuLmN1cnJlbnQgI3JldmVhbE1vZGFsRGlhbG9nIC5jb3B5V3JhcCAubGFyZ2VUZXh0OmJlZm9yZSB7XG4gIGhlaWdodDogMTAwJTtcbn1cbi5ydGUgLmhpZ2hsaWdodCxcbiNyZXZlYWxNb2RhbERpYWxvZyAuY29weVdyYXAgLmhpZ2hsaWdodCB7XG4gIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1icmFuZC1icmlnaHQpIGNhbGMoMC4zICogMTAwJSksIHRyYW5zcGFyZW50KTtcbn1cbi5ydGUgdWwsXG4jcmV2ZWFsTW9kYWxEaWFsb2cgLmNvcHlXcmFwIHVsIHtcbiAgcGFkZGluZzogMDtcbn1cbi5ydGUgdWwgPiBsaSxcbiNyZXZlYWxNb2RhbERpYWxvZyAuY29weVdyYXAgdWwgPiBsaSB7XG4gIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG4ucnRlIHVsID4gbGk6Om1hcmtlcixcbiNyZXZlYWxNb2RhbERpYWxvZyAuY29weVdyYXAgdWwgPiBsaTo6bWFya2VyIHtcbiAgZm9udC1zaXplOiAxLjI1ZW07XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcbn1cbi5ydGUgb2wsXG4jcmV2ZWFsTW9kYWxEaWFsb2cgLmNvcHlXcmFwIG9sIHtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBjb3VudGVyLXJlc2V0OiBjb3VudGVyO1xufVxuLnJ0ZSBvbCA+IGxpLFxuI3JldmVhbE1vZGFsRGlhbG9nIC5jb3B5V3JhcCBvbCA+IGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb3VudGVyLWluY3JlbWVudDogY291bnRlcjtcbiAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cbi5ydGUgb2wgPiBsaTpiZWZvcmUsXG4jcmV2ZWFsTW9kYWxEaWFsb2cgLmNvcHlXcmFwIG9sID4gbGk6YmVmb3JlIHtcbiAgY29udGVudDogY291bnRlcihjb3VudGVyKSBcIi4gXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IGNhbGMoMTAwJSArIDhweCk7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4ucnRlIGEsXG4jcmV2ZWFsTW9kYWxEaWFsb2cgLmNvcHlXcmFwIGEge1xuICBjb2xvcjogdmFyKC0tbGluayk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpbmstY29udHJhc3QpO1xufVxuXG4uY2FsbG91dFN1YnRsZSB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXJnaW46IDFlbSAwIDAuNGVtO1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0LWdyZXkpO1xuICBjb2xvcjogdmFyKC0tbGlnaHQtZ3JleS1jb250cmFzdCk7XG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMHB4IDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjIpKTtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tbGlnaHQpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uY2FsbG91dFN1YnRsZSBhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQtZ3JleSk7XG4gIGNvbG9yOiB2YXIoLS1saWdodC1ncmV5LWNvbnRyYXN0KTtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHZhcigtLWxpZ2h0LWdyZXktY29udHJhc3QpO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAuY2FsbG91dFN1YnRsZSBhOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tYmFzaWMpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhc2ljLWNvbnRyYXN0KTtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1iYXNpYyk7XG4gIH1cbn1cbltkYXRhLWJyb3dzZXI9aWVdIC5jYWxsb3V0U3VidGxlIGE6aG92ZXIge1xuICBjb2xvcjogdmFyKC0tYmFzaWMpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYXNpYy1jb250cmFzdCk7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWJhc2ljKTtcbn1cbi5pZSAuY2FsbG91dFN1YnRsZSBhOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWJhc2ljKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFzaWMtY29udHJhc3QpO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1iYXNpYyk7XG59XG4uY2FsbG91dFN1YnRsZSBhLmZvY3VzLXZpc2libGUge1xuICBjb2xvcjogdmFyKC0tYmFzaWMpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYXNpYy1jb250cmFzdCk7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWJhc2ljKTtcbn1cbi5jYWxsb3V0U3VidGxlIGE6Zm9jdXMtdmlzaWJsZSB7XG4gIGNvbG9yOiB2YXIoLS1iYXNpYyk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhc2ljLWNvbnRyYXN0KTtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tYmFzaWMpO1xufVxuXG4uY2FsbG91dEJvbGQge1xuICBjbGVhcjogYm90aDtcbiAgbWFyZ2luOiAwLjc1ZW0gMCAwLjRlbTtcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWRhcmstY29udHJhc3QpO1xuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDBweCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4yKSk7XG59XG4uY2FsbG91dEJvbGQgYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWRhcmspO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtZGFyay1jb250cmFzdCk7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB2YXIoLS1icmFuZC1kYXJrLWNvbnRyYXN0KTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLmNhbGxvdXRCb2xkIGE6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1iYXNpYyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFzaWMtY29udHJhc3QpO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWJhc2ljKTtcbiAgfVxufVxuW2RhdGEtYnJvd3Nlcj1pZV0gLmNhbGxvdXRCb2xkIGE6aG92ZXIge1xuICBjb2xvcjogdmFyKC0tYmFzaWMpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYXNpYy1jb250cmFzdCk7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWJhc2ljKTtcbn1cbi5pZSAuY2FsbG91dEJvbGQgYTpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS1iYXNpYyk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhc2ljLWNvbnRyYXN0KTtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tYmFzaWMpO1xufVxuLmNhbGxvdXRCb2xkIGEuZm9jdXMtdmlzaWJsZSB7XG4gIGNvbG9yOiB2YXIoLS1iYXNpYyk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhc2ljLWNvbnRyYXN0KTtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tYmFzaWMpO1xufVxuLmNhbGxvdXRCb2xkIGE6Zm9jdXMtdmlzaWJsZSB7XG4gIGNvbG9yOiB2YXIoLS1iYXNpYyk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhc2ljLWNvbnRyYXN0KTtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tYmFzaWMpO1xufVxuXG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubWFpbnRlbmFuY2Uge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZC1icmlnaHQpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWxpZ2h0KTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5tYWludGVuYW5jZSAuZm9ybUFyZWEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubWFpbnRlbmFuY2UgLmZvcm1BcmVhIC5ydGUge1xuICBjb2xvcjogdmFyKC0tbGlnaHQpO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLm1haW50ZW5hbmNlIC5mb3JtQXJlYSAuaWNvbiB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBmbGV4LWdyb3c6IDA7XG4gIHdpZHRoOiA3NXB4O1xuICBoZWlnaHQ6IDc1cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmb250LXNpemU6IDNlbTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQtZGFyayk7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWxpZ2h0KTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBjb2xvcjogdmFyKC0tbGlnaHQpO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjUwcHgpIHtcbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwLm1haW50ZW5hbmNlIHtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5tYWludGVuYW5jZSAuZm9ybUFyZWEge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubWFpbnRlbmFuY2UgLmZvcm1BcmVhIC5pY29uIHtcbiAgICB3aWR0aDogNTVweDtcbiAgICBoZWlnaHQ6IDU1cHg7XG4gICAgZm9udC1zaXplOiAyLjI1ZW07XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICB9XG59XG4ubWVtYmVyc2hpcFBhZ2UgLmVycm9yUGFnZSAudGl0bGVBcmVhIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cbi5tZW1iZXJzaGlwUGFnZSAuZXJyb3JQYWdlIC5pY29uIHtcbiAgZm9udC1zaXplOiA1ZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0byAyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyOiA0cHggc29saWQgdmFyKC0tbGlnaHQpO1xuICBjb2xvcjogdmFyKC0tbGlnaHQpO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB3aWR0aDogMTUwcHg7XG4gIGhlaWdodDogMTUwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG59XG4ubWVtYmVyc2hpcFBhZ2UgLmVycm9yUGFnZSAucnRlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiBva2xjaChmcm9tIHZhcigtLWJyYW5kLWRhcmspIG1heChsIC0gbCAqIDAuMTUsIDApIGMgaCk7XG4gIHBhZGRpbmc6IDUwcHggMjBweCA0MHB4IDIwcHg7XG4gIG1hcmdpbi10b3A6IC02MHB4O1xuICBib3JkZXI6IDNweCBzb2xpZCB2YXIoLS1saWdodCk7XG59XG4ubWVtYmVyc2hpcFBhZ2UgLmVycm9yUGFnZSAucnRlIGgzLmhlYWRpbmcge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWRhcmstY29udHJhc3QpO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gIC5tZW1iZXJzaGlwUGFnZSAuZXJyb3JQYWdlIC5pY29uIHtcbiAgICBmb250LXNpemU6IDRlbTtcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgfVxufVxuQGxheWVyIGJhc2Uge1xuICBkZXRhaWxzIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgNTAwbXM7XG4gIH1cbiAgZGV0YWlscyA+IHN1bW1hcnk6Om1hcmtlcixcbiAgZGV0YWlscyA+IHN1bW1hcnk6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmFjY29yZGlvbk1vZHVsZSAuYWNjb3JkaW9uVGl0bGUge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG4gIC5hY2NvcmRpb25Nb2R1bGVbZGF0YS1pbnRlcmFjdGlvbi1tYW5kYXRvcnk9dHJ1ZV06bm90KC5pbnRlcmFjdGVkV2l0aCkgLmljb24tbWFuZGF0b3J5IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIC5hY2NvcmRpb25Nb2R1bGVbZGF0YS1pbnRlcmFjdGlvbi1tYW5kYXRvcnk9dHJ1ZV06bm90KC5pbnRlcmFjdGVkV2l0aCkgLmludGVyYWN0aW9uTm90aWZpY2F0aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwLXBhdGg6IHJlY3QoMCAwIDAgMCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgfVxufVxuLnByaW1hcnlBY2NvcmRpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMTBweCAwO1xufVxuLnByaW1hcnlBY2NvcmRpb25bb3Blbl0gPiAuYWNjb3JkaW9uVGl0bGUge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pIHZhcigtLXJhZGl1cy1zbSkgMCAwO1xufVxuLnByaW1hcnlBY2NvcmRpb25bb3Blbl0gPiAuYWNjb3JkaW9uVGl0bGUgLmljb24tYXJyb3ctZG93biB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoMTgwZGVnKTtcbn1cbi5wcmltYXJ5QWNjb3JkaW9uW2RhdGEtaW50ZXJhY3Rpb24tbWFuZGF0b3J5PXRydWVdOm5vdCguaW50ZXJhY3RlZFdpdGgpIC5pY29uLW1hbmRhdG9yeSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IC0zcHg7XG4gIHRvcDogLTNweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG4gIHBhZGRpbmc6IDNweDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBib3gtc2hhZG93OiAxcHggMXB4IDhweCAwcHggY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWJsYWNrKSBjYWxjKDAuMyAqIDEwMCUpLCB0cmFuc3BhcmVudCk7XG4gIGZvbnQtc2l6ZTogMC43NWVtO1xufVxuLnByaW1hcnlBY2NvcmRpb24gLmFjY29yZGlvblRpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWRhcmstY29udHJhc3QpO1xuICBwYWRkaW5nOiAyMHB4IDIwcHggMjBweCAzNHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIC5wcmltYXJ5QWNjb3JkaW9uIC5hY2NvcmRpb25UaXRsZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbiAgfVxuICAucHJpbWFyeUFjY29yZGlvbiAuYWNjb3JkaW9uVGl0bGU6aG92ZXIgLmljb24tYXJyb3ctZG93biB7XG4gICAgY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG4gIH1cbn1cbltkYXRhLWJyb3dzZXI9aWVdIC5wcmltYXJ5QWNjb3JkaW9uIC5hY2NvcmRpb25UaXRsZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpO1xufVxuW2RhdGEtYnJvd3Nlcj1pZV0gLnByaW1hcnlBY2NvcmRpb24gLmFjY29yZGlvblRpdGxlOmhvdmVyIC5pY29uLWFycm93LWRvd24ge1xuICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbn1cbi5pZSAucHJpbWFyeUFjY29yZGlvbiAuYWNjb3JkaW9uVGl0bGU6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQpO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbn1cbi5pZSAucHJpbWFyeUFjY29yZGlvbiAuYWNjb3JkaW9uVGl0bGU6aG92ZXIgLmljb24tYXJyb3ctZG93biB7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQtY29udHJhc3QpO1xufVxuLnByaW1hcnlBY2NvcmRpb24gLmFjY29yZGlvblRpdGxlLmZvY3VzLXZpc2libGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQpO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbn1cbi5wcmltYXJ5QWNjb3JkaW9uIC5hY2NvcmRpb25UaXRsZS5mb2N1cy12aXNpYmxlIC5pY29uLWFycm93LWRvd24ge1xuICBjb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0LWNvbnRyYXN0KTtcbn1cbi5wcmltYXJ5QWNjb3JkaW9uIC5hY2NvcmRpb25UaXRsZTpmb2N1cy12aXNpYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG59XG4ucHJpbWFyeUFjY29yZGlvbiAuYWNjb3JkaW9uVGl0bGU6Zm9jdXMtdmlzaWJsZSAuaWNvbi1hcnJvdy1kb3duIHtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodC1jb250cmFzdCk7XG59XG4ucHJpbWFyeUFjY29yZGlvbiAuYWNjb3JkaW9uVGl0bGUgLmljb24tYXJyb3ctZG93biB7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1kYXJrLWNvbnRyYXN0KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogMTJweDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiAwLjJzIHRyYW5zZm9ybTtcbn1cbi5wcmltYXJ5QWNjb3JkaW9uIC5hY2NvcmRpb25XcmFwcGVyIHtcbiAgcGFkZGluZzogMjBweCAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodCk7XG4gIGNvbG9yOiB2YXIoLS1saWdodC1jb250cmFzdCk7XG4gIGJvcmRlci1sZWZ0OiA3cHggc29saWQgdmFyKC0tbGlnaHQtZ3JleSk7XG59XG4ucHJpbWFyeUFjY29yZGlvbiAuYWNjb3JkaW9uV3JhcHBlciBpbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuLnByaW1hcnlBY2NvcmRpb24gKyAucnRlIHtcbiAgbWFyZ2luLXRvcDogMjVweDtcbn0iLCJAdXNlIFwic2FzczptZXRhXCI7XHJcbkB1c2UgXCJzYXNzOm1hdGhcIjtcclxuQHVzZSBcInNhc3M6c3RyaW5nXCI7XHJcbkB1c2UgXCJzYXNzOmNvbG9yXCI7XHJcbkB1c2UgXCJzYXNzOmxpc3RcIjtcclxuQHVzZSBcInNhc3M6bWFwXCI7XHJcblxyXG4vKi0tLVRFWFQgQU5EIEZPTlQtLS0qL1xyXG5cclxuLy8vIENyZWF0ZSBhIHRleHQtc2hhZG93IHdpdGggY2xlYXJlciBwcm9wZXJ0aWVzLlxyXG4vLy8gQHBhcmFtIHsqfSAkeCBbMHB4XVxyXG4vLy8gQHBhcmFtIHsqfSAkeSBbMXB4XVxyXG4vLy8gQHBhcmFtIHsqfSAkYmx1ciBbMHB4XVxyXG4vLy8gQHBhcmFtIHsqfSAkY29sb3IgW3JnYmEoMCwgMCwgMCwgMC43NSldXHJcbkBtaXhpbiB0ZXh0U2hhZG93KCR4OiAwcHgsICR5OiAxcHgsICRibHVyOiAwcHgsICRjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjc1KSkge1xyXG4gIHRleHQtc2hhZG93OiAkeCAkeSAkYmx1ciAkY29sb3I7XHJcbn1cclxuXHJcbi8vLyBTZXQgaWNvbiBmb250IGFuZCBub3JtYWxpemUgYWxsIHByb3BlcnRpZXMuXHJcbi8vLyBAcGFyYW0geyp9ICRmb250IFskaWNvbkZvbnRdXHJcbkBtaXhpbiBpY29uRm9udCgkZm9udDogJGljb25Gb250KSB7XHJcbiAgZm9udC1mYW1pbHk6ICRmb250ICFpbXBvcnRhbnQ7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gIGZvbnQtdmFyaWFudDogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcclxuICBsaW5lLWhlaWdodDogMWVtO1xyXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG59XHJcblxyXG4vKi0tLUJBQ0tHUk9VTkQtLS0qL1xyXG5cclxuLy8vIFNldHMgYmFja2dyb3VuZCB0byBjb3ZlciB3aXRoIDUwJSA1MCUgcG9zaXRpb24uXHJcbkBtaXhpbiBiYWNrZ3JvdW5kQ292ZXIge1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xyXG59XHJcblxyXG4vLy8gU2V0cyBoZWlnaHQgYW5kIHdpZHRoIHRvIDEwMCUuXHJcbkBtaXhpbiBmaWxsU3BhY2Uge1xyXG4gIGhlaWdodDogMTAwJTtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLy8vIENyZWF0ZSBhIGJveCBzaGFkb3cgd2l0aCBjbGVhcmVyIHByb3BlcnRpZXMuXHJcbi8vLyBAcGFyYW0geyp9ICR4IFswcHhdXHJcbi8vLyBAcGFyYW0geyp9ICR5IFswcHhdXHJcbi8vLyBAcGFyYW0geyp9ICRibHVyIFsycHhdXHJcbi8vLyBAcGFyYW0geyp9ICRzcHJlYWQgWzJweF1cclxuLy8vIEBwYXJhbSB7Kn0gJGNvbG9yIFtyZ2JhKDAsIDAsIDAsIDAuMildXHJcbkBtaXhpbiBib3hTaGFkb3coJHg6IDBweCwgJHk6IDBweCwgJGJsdXI6IDJweCwgJHNwcmVhZDogMnB4LCAkY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yKSkge1xyXG4gIGJveC1zaGFkb3c6ICR4ICR5ICRibHVyICRzcHJlYWQgJGNvbG9yO1xyXG59XHJcblxyXG4vLy8gQ3JlYXRlIGEgYm94IHNoYWRvdyB3aXRoIGNsZWFyZXIgcHJvcGVydGllcy5cclxuLy8vIEBwYXJhbSB7Kn0gJHggWzBweF1cclxuLy8vIEBwYXJhbSB7Kn0gJHkgWzFweF1cclxuLy8vIEBwYXJhbSB7Kn0gJGJsdXIgWzNweF1cclxuLy8vIEBwYXJhbSB7Kn0gJHNwcmVhZCBbMHB4XVxyXG4vLy8gQHBhcmFtIHsqfSAkY29sb3IgW3JnYmEoMCwgMCwgMCwgMC4yKV1cclxuQG1peGluIHNoYWRvdy1pbnNldCgkeDogMHB4LCAkeTogMXB4LCAkYmx1cjogM3B4LCAkc3ByZWFkOiAwcHgsICRjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpKSB7XHJcbiAgYm94LXNoYWRvdzogaW5zZXQgJHggJHkgJGJsdXIgJHNwcmVhZCAkY29sb3I7XHJcbn1cclxuXHJcbi8qLS0tUE9TSVRJT05JTkctLS0qL1xyXG5cclxuLy8vIFNldHMgZWxlbWVudCB0byBwb3NpdGlvbiBhYnNvbHV0ZSB0byB3aXRoIHRvcDogMCBhbmQgbGVmdDogMDtcclxuQG1peGluIGFic29sdXRlIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbn1cclxuXHJcbi8vLyBTZXRzIGVsZW1lbnQgdG8gcG9zaXRpb24gZml4ZWQgdG8gd2l0aCB0b3A6IDAgYW5kIGxlZnQ6IDA7XHJcbkBtaXhpbiBmaXhlZCB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG59XHJcblxyXG4vLy8gUmVzZXRzIHBvc2l0aW9uIHByb3BlcnRpZXMgKHRvcCwgYm90dG9tLCBsZWZ0LCByaWdodCkuXHJcbi8vLyBAcGFyYW0geyp9ICRwb3MgW3JlbGF0aXZlXSAtIFNldHMgdGhlIHBvc2l0aW9uIHByb3BlcnR5LlxyXG5AbWl4aW4gcmVzZXRQb3MoJHBvczogcmVsYXRpdmUpIHtcclxuICBwb3NpdGlvbjogJHBvcztcclxuICB0b3A6IGF1dG87XHJcbiAgYm90dG9tOiBhdXRvO1xyXG4gIGxlZnQ6IGF1dG87XHJcbiAgcmlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgYW4gZWxlbWVudCB1c2luZyBwb3NpdGlvbiBhYnNvbHV0ZSBhbmQgdHJhbnNmb3Jtcy5cclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkcGVyY2VudCBbNTAlXSAtIFByb3BlcnR5IHRvcCBwZXJjZW50YWdlLlxyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICR0cmFucyBbNTAlXSAtIFByb3BlcnR5IHRyYW5zbGF0ZVkgcGVyY2VudGFnZS5cclxuQG1peGluIHZlcnRDZW50ZXIoJHBlcmNlbnQ6IDUwJSwgJHRyYW5zOiA1MCUpIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAkcGVyY2VudDtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSR0cmFucyk7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSR0cmFucyk7XHJcbn1cclxuXHJcbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgYW4gZWxlbWVudCB1c2luZyBwb3NpdGlvbiBhYnNvbHV0ZSBhbmQgdHJhbnNmb3Jtcy5cclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkcGVyY2VudCBbNTAlXSAtIFByb3BlcnR5IGxlZnQgcGVyY2VudGFnZS5cclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkdHJhbnMgWzUwJV0gLSBQcm9wZXJ0eSB0cmFuc2xhdGVYIHBlcmNlbnRhZ2UuXHJcbkBtaXhpbiBob3J6Q2VudGVyKCRwZXJjZW50OiA1MCUsICR0cmFuczogNTAlKSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGxlZnQ6ICRwZXJjZW50O1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHRyYW5zKTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHRyYW5zKTtcclxufVxyXG5cclxuQG1peGluIHZlcnRIb3J6Q2VudGVyIHtcclxuICBAaW5jbHVkZSB2ZXJ0Q2VudGVyO1xyXG4gIEBpbmNsdWRlIGhvcnpDZW50ZXI7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbn1cclxuXHJcbi8vLyBEb2VzIHdoYXQgaXQgc2F5cyBvbiB0aGUgdGluLiBTZXRzIG1hcmdpbiBhbmQgcGFkZGluZyB0byAwLlxyXG5AbWl4aW4gemVyb01hcmdQYWQge1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4vKi0tLUNPTlRFTlQtLS0qL1xyXG5cclxuLy8vIFVzZWQgaW5zaWRlIDo6YmVmb3JlIGFuZCA6OmFmdGVyIGVsZW1lbnRzLiBTZXRzIHdpZHRoIGFuZCBoZWlnaHQgdG8gMTAwJS5cclxuQG1peGluIHBzZXVkb0NvbnRlbnQge1xyXG4gIGNvbnRlbnQ6IFwiXCI7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4vLy8gQ3JlYXRlcyBhbiA6OmFmdGVyIGVsZW1lbnQgdG8gcHJldmVudCBmbG9hdCBvdmVybGFwLlxyXG5AbWl4aW4gY2xlYXJmaXgge1xyXG4gICY6YWZ0ZXIge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgfVxyXG59XHJcblxyXG4vKi0tLUxJU1RTLS0tKi9cclxuXHJcbi8vLyBSZW1vdmUgbGlzdCBzdHlsaW5nLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxyXG5AbWl4aW4gcmVmb3JtYXRMaXN0IHtcclxuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgQGluY2x1ZGUgemVyb01hcmdQYWQ7XHJcblxyXG4gIGxpIHtcclxuICAgIEBpbmNsdWRlIHplcm9NYXJnUGFkO1xyXG4gIH1cclxufVxyXG5cclxuLyotLS1CT1JERVIgQVJST1dTLS0tKi9cclxuLy8vIERyYXcgYW4gYXJyb3cgdXNpbmcgY3NzIGJvcmRlcnNcclxuLy8vIEBwYXJhbSB7dmFyaWFibGV9ICRkaXIgW3RvcCwgcmlnaHQsIGJvdHRvbSwgbGVmdCwgdG9wUmlnaHQsIGJvdHRvbVJpZ2h0LCB0b3BMZWZ0LCBib3R0b21MZWZ0XVxyXG4vLy8gQHBhcmFtIHtjb2xvcn0gJGNvbG9yIFskbGlnaHRdXHJcbi8vLyBAcGFyYW0ge251bWJlcn0gJGhlaWdodCBbMjBweF1cclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkd2lkdGggWzMwcHhdXHJcbkBtaXhpbiBjc3NBcnJvdygkZGlyLCAkY29sb3I6IHZhcigtLWJyYW5kLWRhcmspLCAkaGVpZ2h0OiAyMHB4LCAkd2lkdGg6IDIwcHgpIHtcclxuICBjb250ZW50OiBcIlwiO1xyXG4gIHdpZHRoOiAwO1xyXG4gIGhlaWdodDogMDtcclxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblxyXG4gIEBpZiAkZGlyID09dG9wIHtcclxuICAgIGJvcmRlci13aWR0aDogMCBjYWxjKCN7JHdpZHRofSAvIDIpICRoZWlnaHQgY2FsYygjeyR3aWR0aH0gLyAyKTtcclxuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvcjtcclxuICB9IEBlbHNlIGlmICRkaXIgPT1yaWdodCB7XHJcbiAgICBib3JkZXItd2lkdGg6IGNhbGMoI3skaGVpZ2h0fSAvIDIpIDAgY2FsYygjeyRoZWlnaHR9IC8gMikgJHdpZHRoO1xyXG4gICAgYm9yZGVyLWxlZnQtY29sb3I6ICRjb2xvcjtcclxuICB9IEBlbHNlIGlmICRkaXIgPT1ib3R0b20ge1xyXG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0IGNhbGMoI3skd2lkdGh9IC8gMikgMCBjYWxjKCN7JHdpZHRofSAvIDIpO1xyXG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xyXG4gIH0gQGVsc2UgaWYgJGRpciA9PWxlZnQge1xyXG4gICAgYm9yZGVyLXdpZHRoOiBjYWxjKCN7JGhlaWdodH0gLyAyKSAkd2lkdGggY2FsYygjeyRoZWlnaHR9IC8gMikgMDtcclxuICAgIGJvcmRlci1yaWdodC1jb2xvcjogJGNvbG9yO1xyXG4gIH0gQGVsc2UgaWYgJGRpciA9PXRvcFJpZ2h0IHtcclxuICAgIGJvcmRlci13aWR0aDogMCAkaGVpZ2h0ICR3aWR0aCAwO1xyXG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkY29sb3I7XHJcbiAgfSBAZWxzZSBpZiAkZGlyID09Ym90dG9tUmlnaHQge1xyXG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgJGhlaWdodCAkd2lkdGg7XHJcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3I7XHJcbiAgfSBAZWxzZSBpZiAkZGlyID09Ym90dG9tTGVmdCB7XHJcbiAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgMCAwICR3aWR0aDtcclxuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkY29sb3I7XHJcbiAgfSBAZWxzZSBpZiAkZGlyID09dG9wTGVmdCB7XHJcbiAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoIDAgMDtcclxuICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcclxuICB9IEBlbHNlIHtcclxuICAgIEBlcnJvciBcIlVua25vd24gZGlyZWN0aW9uICN7JGRpcn0uXCI7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gRHJhdyBhIGRvd24gYXJyb3cgdXNpbmcgY3NzIGJvcmRlcnNcclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkc2l6ZSBbOHB4XVxyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRzaXplTFIgWyRzaXplXVxyXG4vLy8gQHBhcmFtIHtjb2xvcn0gJGNvbG9yIFskbGlnaHRdXHJcbi8vLyBAcGFyYW0ge251bWJlcn0gJHRvcCBbYXV0b11cclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkbGVmdCBbYXV0b11cclxuQG1peGluIHJpZ2h0QXJyb3coJHNpemU6IDhweCwgJHNpemVUQjogJHNpemUsICRjb2xvcjogJGxpZ2h0LCAkdG9wOiBhdXRvLCAkcmlnaHQ6IGF1dG8pIHtcclxuICBjb250ZW50OiBcIlwiO1xyXG4gIHdpZHRoOiAwO1xyXG4gIGhlaWdodDogMDtcclxuICBib3JkZXItdG9wOiAkc2l6ZVRCIHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlci1ib3R0b206ICRzaXplVEIgc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyLWxlZnQ6ICRzaXplIHNvbGlkICRjb2xvcjtcclxuICBib3JkZXItcmlnaHQ6IDA7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogJHRvcDtcclxuICByaWdodDogJHJpZ2h0O1xyXG59XHJcblxyXG4vLy8gRHJhdyBhIGRvd24gYXJyb3cgdXNpbmcgY3NzIGJvcmRlcnNcclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkc2l6ZSBbOHB4XVxyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRzaXplTFIgWyRzaXplXVxyXG4vLy8gQHBhcmFtIHtjb2xvcn0gJGNvbG9yIFskbGlnaHRdXHJcbi8vLyBAcGFyYW0ge251bWJlcn0gJHRvcCBbYXV0b11cclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkbGVmdCBbYXV0b11cclxuQG1peGluIGxlZnRBcnJvdygkc2l6ZTogOHB4LCAkc2l6ZVRCOiAkc2l6ZSwgJGNvbG9yOiAkbGlnaHQsICR0b3A6IGF1dG8sICRsZWZ0OiBhdXRvKSB7XHJcbiAgY29udGVudDogXCJcIjtcclxuICB3aWR0aDogMDtcclxuICBoZWlnaHQ6IDA7XHJcbiAgYm9yZGVyLXRvcDogJHNpemVUQiBzb2xpZCB0cmFuc3BhcmVudDtcclxuICBib3JkZXItYm90dG9tOiAkc2l6ZVRCIHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlci1sZWZ0OiAwO1xyXG4gIGJvcmRlci1yaWdodDogJHNpemUgc29saWQgJGNvbG9yO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6ICR0b3A7XHJcbiAgbGVmdDogJGxlZnQ7XHJcbn1cclxuXHJcbi8vLyBEcmF3IGEgZG93biBhcnJvdyB1c2luZyBjc3MgYm9yZGVyc1xyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRzaXplIFs4cHhdXHJcbi8vLyBAcGFyYW0ge251bWJlcn0gJHNpemVMUiBbJHNpemVdXHJcbi8vLyBAcGFyYW0ge2NvbG9yfSAkY29sb3IgWyRsaWdodF1cclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkdG9wIFthdXRvXVxyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRsZWZ0IFthdXRvXVxyXG5AbWl4aW4gdG9wQXJyb3coJHNpemU6IDhweCwgJHNpemVMUjogJHNpemUsICRjb2xvcjogJGxpZ2h0LCAkdG9wOiBhdXRvLCAkbGVmdDogYXV0bykge1xyXG4gIGNvbnRlbnQ6IFwiXCI7XHJcbiAgd2lkdGg6IDA7XHJcbiAgaGVpZ2h0OiAwO1xyXG4gIGJvcmRlci1sZWZ0OiAkc2l6ZUxSIHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlci1yaWdodDogJHNpemVMUiBzb2xpZCB0cmFuc3BhcmVudDtcclxuICBib3JkZXItYm90dG9tOiAkc2l6ZSBzb2xpZCAkY29sb3I7XHJcbiAgYm9yZGVyLXRvcDogMDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAkdG9wO1xyXG4gIGxlZnQ6ICRsZWZ0O1xyXG59XHJcblxyXG4vLy8gRHJhdyBhIGRvd24gYXJyb3cgdXNpbmcgY3NzIGJvcmRlcnNcclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkc2l6ZSBbOHB4XVxyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRzaXplTFIgWyRzaXplXVxyXG4vLy8gQHBhcmFtIHtjb2xvcn0gJGNvbG9yIFskbGlnaHRdXHJcbi8vLyBAcGFyYW0ge251bWJlcn0gJHRvcCBbYXV0b11cclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkbGVmdCBbYXV0b11cclxuQG1peGluIGJvdHRvbUFycm93KCRzaXplOiA4cHgsICRzaXplTFI6ICRzaXplLCAkY29sb3I6ICRsaWdodCwgJHRvcDogYXV0bywgJGxlZnQ6IGF1dG8pIHtcclxuICBjb250ZW50OiBcIlwiO1xyXG4gIHdpZHRoOiAwO1xyXG4gIGhlaWdodDogMDtcclxuICBib3JkZXItbGVmdDogJHNpemVMUiBzb2xpZCB0cmFuc3BhcmVudDtcclxuICBib3JkZXItcmlnaHQ6ICRzaXplTFIgc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyLXRvcDogJHNpemUgc29saWQgJGNvbG9yO1xyXG4gIGJvcmRlci1ib3R0b206IDA7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogJHRvcDtcclxuICBsZWZ0OiAkbGVmdDtcclxufVxyXG5cclxuLy8vIEEga2luZCBvZiBoYWNreSBtaXhpbiB0byBmb3JjZSB0aGUgYnJvd3NlciB0byB1c2UgYSBHUFUgdG8gcmVuZGVyIHRoZSBlbGVtZW50LlxyXG5AbWl4aW4gdXNlR1BVIHtcclxuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAtd2Via2l0LXBlcnNwZWN0aXZlOiAxMDAwcHg7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xyXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICBwZXJzcGVjdGl2ZTogMTAwMHB4O1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xyXG59XHJcblxyXG4vLy8gVmlkZW8gYmFja2dyb3VuZCBzaXplLlxyXG4vLy8gQHBhcmFtIHsqfSAkYmdJbWcgLSBUaGUgYmFja2dyb3VuZCBpbWFnZS4gSW4gdGhlIGZvcm0gb2YgdXJsKC9pbWFnZS9teS1pbWFnZS5qcGcpLlxyXG5AbWl4aW4gdmlkZW9CRygkYmdJbWcpIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBAaW5jbHVkZSBhYnNvbHV0ZTtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICB2aWRlbyB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICByaWdodDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIG1pbi13aWR0aDogMTAwJTtcclxuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XHJcbiAgICB3aWR0aDogYXV0bztcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIHotaW5kZXg6IC0xMDA7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAkYmdJbWc7XHJcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kQ292ZXI7XHJcbiAgfVxyXG59XHJcblxyXG4vKipGb3JtcyoqL1xyXG5cclxuLy8vIElucHV0IFBsYWNlaG9sZGVyIHN0eWxpbmdcclxuLy8vIEBwYXJhbSB7Y29sb3J9ICRjb2xvciBbbGlnaHRlbigkYmFzaWMsIDYwJSldIC0gVGhlIGNvbG9yIG9mIHRoZSBwbGFjZWhvbGRlciB0ZXh0LlxyXG4vLy8gQHBhcmFtIHsqfSAkc3R5bGUgW2l0YWxpY10gLSBGb250IHN0eWxlLlxyXG4vLy8gQHBhcmFtIHsqfSAkZm9udCBbJGJhc2ljRm9udF0gLSBGb250IGZhbWlseS5cclxuLy8vIEBwYXJhbSB7Kn0gJHNpemUgWzFlbV0gLSBGb250IHNpemUuXHJcbkBtaXhpbiBwbGFjZWhvbGRlcigkY29sb3I6IHZhcigtLWRhcmstZ3JleSksICRzdHlsZTogaXRhbGljLCAkZm9udDogJGJhc2ljRm9udCwgJHNpemU6IDFlbSkge1xyXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgICBmb250OiB7XHJcbiAgICAgIHN0eWxlOiAkc3R5bGU7XHJcbiAgICAgIGZhbWlseTogJGZvbnQ7XHJcbiAgICAgIHNpemU6ICRzaXplO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJjotbW96LXBsYWNlaG9sZGVyIHtcclxuICAgIC8qIEZpcmVmb3ggMTgtICovXHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG5cclxuICAgIGZvbnQ6IHtcclxuICAgICAgc3R5bGU6ICRzdHlsZTtcclxuICAgICAgZmFtaWx5OiAkZm9udDtcclxuICAgICAgc2l6ZTogJHNpemU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmOjotbW96LXBsYWNlaG9sZGVyIHtcclxuICAgIC8qIEZpcmVmb3ggMTkrICovXHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG5cclxuICAgIGZvbnQ6IHtcclxuICAgICAgc3R5bGU6ICRzdHlsZTtcclxuICAgICAgZmFtaWx5OiAkZm9udDtcclxuICAgICAgc2l6ZTogJHNpemU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG5cclxuICAgIGZvbnQ6IHtcclxuICAgICAgc3R5bGU6ICRzdHlsZTtcclxuICAgICAgZmFtaWx5OiAkZm9udDtcclxuICAgICAgc2l6ZTogJHNpemU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQnJlYWtzIGxvbmcgd29yZHMgYW5kIHVybHNcclxuLy8vIEBhdXRob3IgS2FybCBSb3NzXHJcbkBtaXhpbiB3b3JkQnJlYWsge1xyXG4gIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlO1xyXG5cclxuICAvKiBBZGRzIGEgaHlwaGVuIHdoZXJlIHRoZSB3b3JkIGJyZWFrcywgaWYgc3VwcG9ydGVkIChObyBCbGluaykgKi9cclxuICAtbXMtaHlwaGVuczogYXV0bztcclxuICAtbW96LWh5cGhlbnM6IGF1dG87XHJcbiAgLXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xyXG4gIGh5cGhlbnM6IGF1dG87XHJcbn1cclxuXHJcbi8vLyBIaWRlcyBhbiBlbGVtZW50IGJ1dCBzdGlsbCBhbGxvd3MgaXQgdG8gYmUgcmVhZCBieSBhIHNjcmVlbiByZWFkZXIuXHJcbi8vLyBAYXV0aG9yIEJlbiBSaWNoYXJkc29uXHJcbkBtaXhpbiBzY3JlZW5SZWFkZXIoKSB7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIGNsaXAtcGF0aDogcmVjdCgwIDAgMCAwKTtcclxuICBoZWlnaHQ6IDFweDtcclxuICBtYXJnaW46IC0xcHg7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBwYWRkaW5nOiAwO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB3aWR0aDogMXB4O1xyXG59XHJcblxyXG4vLyBGaXhlcyBsZWdlbmRzIG9uIG9sZGVyIGJyb3dzZXJzIGFuZCBzbWFsbGVyIGJyb3dzZXJzLlxyXG5AbWl4aW4gbGVnZW5kRml4IHtcclxuICAvL1RoaXMgZml4ZXMgZm9yIHJlc3BvbnNpdmVcclxuICBkaXNwbGF5OiB0YWJsZTtcclxuICAvKiBFbmFibGUgbGluZS13cmFwcGluZyBpbiBJRTgrICovXHJcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuICAvKiBFbmFibGUgbGluZS13cmFwcGluZyBpbiBvbGQgdmVyc2lvbnMgb2Ygc29tZSBvdGhlciBicm93c2VycyAqL1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4vLy8gU3R5bGUgc2Nyb2xsYmFycyB3aXRoIGFsbCBicm93c2VyIHZlbmRvciBwcm9wZXJ0aWVzLlxyXG4vLy8gQGF1dGhvciBLb3VydG5leSBTdHJpY2tsYW5kXHJcbi8vLyBAcGFyYW0ge251bWJlcn0gJHdpZHRoIFs1cHhdIC0gVGhlIHdpZHRoIG9mIHRoZSBzY3JvbGxiYXIuXHJcbi8vLyBAcGFyYW0ge2NvbG9yfSAkY29sb3IgWyM0NDQ0NDRdIC0gVGhlIGNvbG9yIG9mIHRoZSBzY3JvbGwga25vYi5cclxuLy8vIEBwYXJhbSB7Y29sb3J9ICRiZ0NvbG9yIFsjZjVmNWY1XSAtIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBzY3JvbGxiYXIuXHJcbi8vLyBAcGFyYW0ge2Jvb2xlYW59ICRzaGFkb3cgW3RydWVdIC0gV2hldGhlciB0byBkcmF3IGEgYm94IHNoYWRvdyBvbiB0aGUgc2Nyb2xsYmFyLlxyXG5AbWl4aW4gc2Nyb2xsYmFyKCR3aWR0aDogNXB4LCAkY29sb3I6ICM0NDQ0NDQsICRiZ0NvbG9yOiAjZjVmNWY1LCAkc2hhZG93OiB0cnVlKSB7XHJcbiAgLy8gTm9uc3RhbmRhcmQgd2Via2l0IHByb3BlcnRpZXMsIHdvcmtzIG9uIENocm9tZSwgTW9kZXJuIEVkZ2UsIGFuZCBTYWZhcmlcclxuICAmOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XHJcbiAgICBAaWYgJHNoYWRvdyB7XHJcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAwIDZweCByZ2JhKDAsIDAsIDAsIDAuMyk7XHJcbiAgICB9XHJcblxyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnQ29sb3I7XHJcbiAgfVxyXG5cclxuICAmOjotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgICB3aWR0aDogJHdpZHRoO1xyXG4gICAgaGVpZ2h0OiAkd2lkdGg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmdDb2xvcjtcclxuICB9XHJcblxyXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcclxuICB9XHJcblxyXG4gIC8vIFRoZSBwcm9wZXIsIHN0YW5kYXJkIHdheSB0byBzdHlsZSBzY3JvbGxiYXJzLiBTdXBwb3J0ZWQgaW4gRmlyZWZveCwgRWRnZSAxMjErLCBhbmQgQ2hyb21lIDEyMStcclxuICBzY3JvbGxiYXItY29sb3I6ICRjb2xvciAkYmdDb2xvcjtcclxuXHJcbiAgQGlmICgkd2lkdGggPCAxNXB4KSB7XHJcbiAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gU2hvcnRoYW5kIGZvciBhIGZsZXhib3ggY29udGFpbmVyIHRoYXQganVzdGlmZXMgY29udGVudCBhdCB0aGUgc3RhcnQuXHJcbi8vLyBAYXV0aG9yIEtvdXJ0bmV5IFN0cmlja2xhbmRcclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkZGlyIFtyb3ddIC0gVGhlIGZsZXgtZGlyZWN0aW9uIG9mIHRoZSBlbGVtZW50LlxyXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRqdXN0aWZ5IFtzcGFjZS1iZXR3ZWVuXSAtIFRoZSBqdXN0aWZ5LWNvbnRlbnQgcHJvcGVydHkgb2YgdGhlIGVsZW1lbnQuXHJcbkBtaXhpbiBmbGV4SnVzdGlmeSgkZGlyOiByb3csICRqdXN0aWZ5OiBzcGFjZS1iZXR3ZWVuKSB7XHJcbiAgLy9hbHRlcm5hdGUgd291bGQgYmUgc3BhY2UtYXJvdW5kXHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6ICRqdXN0aWZ5O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgZmxleC1kaXJlY3Rpb246ICRkaXI7XHJcbn1cclxuXHJcbi8vLyBTaG9ydGhhbmQgZm9yIGEgZmxleGJveCBjb250YWluZXIgdGhhdCBqdXN0aWZlcyBjb250ZW50IGluIGNlbnRlci5cclxuLy8vIEBhdXRob3IgS291cnRuZXkgU3RyaWNrbGFuZFxyXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRkaXIgW3Jvd10gLSBUaGUgZmxleC1kaXJlY3Rpb24gb2YgdGhlIGVsZW1lbnQuXHJcbkBtaXhpbiBmbGV4Q2VudGVyKCRkaXI6IHJvdykge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBmbGV4LWRpcmVjdGlvbjogJGRpcjtcclxufVxyXG5cclxuLy8vIFNob3J0aGFuZCBmb3IgYSBmbGV4Ym94IGNvbnRhaW5lciB0aGF0IGp1c3RpZmVzIGNvbnRlbnQgYXQgdGhlIGVuZC5cclxuLy8vIEBhdXRob3IgS291cnRuZXkgU3RyaWNrbGFuZFxyXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRkaXIgW3Jvd10gLSBUaGUgZmxleC1kaXJlY3Rpb24gb2YgdGhlIGVsZW1lbnQuXHJcbkBtaXhpbiBmbGV4RW5kKCRkaXI6IHJvdykge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyO1xyXG59XHJcblxyXG4vLy8gU2hvcnRoYW5kIGZvciBhIGZsZXhib3ggY29udGFpbmVyIHRoYXQganVzdGlmZXMgY29udGVudCBhdCB0aGUgc3RhcnQuXHJcbi8vLyBAYXV0aG9yIEtvdXJ0bmV5IFN0cmlja2xhbmRcclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkZGlyIFtyb3ddIC0gVGhlIGZsZXgtZGlyZWN0aW9uIG9mIHRoZSBlbGVtZW50LlxyXG5AbWl4aW4gZmxleFN0YXJ0KCRkaXI6IHJvdykge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgZmxleC1kaXJlY3Rpb246ICRkaXI7XHJcbn1cclxuXHJcbi8vLyBDcmVhdGVzIGEgZmxleGlibGUgaG9yaXpvbnRhbCBsYXlvdXQgb2YgYWJzb2x1dGVseS1wb3NpdGlvbmVkIGNoaWxkIGVsZW1lbnRzIG9mIGVxdWFsIHdpZHRoLlxyXG4vLy8gVmVyeSB1c2VmdWwgZm9yIHNvbWV0aGluZyBsaWtlIGEgbWFpbiBuYXYgdGhhdCB0cmFuc2l0aW9ucy4gQmVjYXVzZSBldmVyeXRoaW5nIGlzIGFscmVhZHkgYWJzb2x1dGUsXHJcbi8vLyB5b3UgY2FuIGVhc2lseSBtb3ZlIHNlY3Rpb25zIG91dCBhbmQgaW4gdXNpbmcgdGhlIHRvcC9sZWZ0IHByb3BlcnRpZXMuXHJcbi8vLyBAYXV0aG9yIEJlbiBSaWNoYXJkc29uXHJcbi8vLyBAcGFyYW0ge251bWJlcn0gJG1heC1udW0tb2YtY2hpbGRyZW4gWzddIC0gSWYgdGhlIG51bWJlciBvZiBjaGlsZHJlbiBleGNlZWRzIHRoaXMgbnVtYmVyLCB0aGUgbGF5b3V0IHdpbGwgYnJlYWsuXHJcbi8vLyBAcGFyYW0ge3N0cmluZ30gJG9yaWVudGF0aW9uIFt2ZXJ0aWNhbF0gLSBUaGUgZGlyZWN0aW9uIG9mIHRoZSBmbGV4IGNvbnRhaW5lci4gRWl0aGVyIFwidmVydGljYWxcIiBvciBcImhvcml6b250YWxcIi5cclxuQG1peGluIGFic29sdXRlRmxleCgkbWF4LW51bS1vZi1jaGlsZHJlbjogNywgJG9yaWVudGF0aW9uOiBcInZlcnRpY2FsXCIsICRndXR0ZXI6IDAlKSB7XHJcbiAgQGlmIHR5cGUtb2YoJG1heC1udW0tb2YtY2hpbGRyZW4pICE9bnVtYmVyIHtcclxuICAgIEBlcnJvciBcIklucHV0IGAkbWF4LW51bS1vZi1jaGlsZHJlbmAgbXVzdCBiZSBhIG51bWJlci5cIjtcclxuICB9XHJcblxyXG4gIEBpZiAkb3JpZW50YXRpb24gIT0gXCJob3Jpem9udGFsXCIgYW5kICRvcmllbnRhdGlvbiAhPSBcInZlcnRpY2FsXCIge1xyXG4gICAgQGVycm9yIFwiSW5wdXQgYCRtYXgtbnVtLW9mLWNoaWxkcmVuYCBtdXN0IGJlIHNldCB0byBlaXRoZXIgYGhvcml6b250YWxgIG9yIGB2ZXJ0aWNhbGBcIjtcclxuICB9XHJcblxyXG4gIEB3aGlsZSAkbWF4LW51bS1vZi1jaGlsZHJlbj4xIHtcclxuICAgICRzaXplOiBtYXRoLmRpdigxMDAlLCAkbWF4LW51bS1vZi1jaGlsZHJlbik7XHJcbiAgICAkZ3V0dGVyU2l6ZU9mZnNldDogbWF0aC5kaXYoJGd1dHRlciwgJG1heC1udW0tb2YtY2hpbGRyZW4pO1xyXG5cclxuICAgIC8vIFdlIGNhbiBkZXRlY3QgdGhlIG51bWJlciBvZiBpdGVtcyBhIHBhcmVudCBoYXMgcHVyZWx5IHdpdGggQ1NTLiBDcmF6eSwgaHVoIVxyXG4gICAgPiAqOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JG1heC1udW0tb2YtY2hpbGRyZW59KSxcclxuICAgID4gKjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRtYXgtbnVtLW9mLWNoaWxkcmVufSkgfiAqIHtcclxuICAgICAgQGlmICgkb3JpZW50YXRpb249PSBcImhvcml6b250YWxcIikge1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKCN7JHNpemV9IC0gI3skZ3V0dGVyIC0gJGd1dHRlclNpemVPZmZzZXR9KTtcclxuICAgICAgfSBAZWxzZSBpZiAoJG9yaWVudGF0aW9uPT0gXCJ2ZXJ0aWNhbFwiKSB7XHJcbiAgICAgICAgaGVpZ2h0OiBjYWxjKCN7JHNpemV9IC0gI3skZ3V0dGVyIC0gJGd1dHRlclNpemVPZmZzZXR9KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gQ2FsY3VsYXRlIGFuZCBzZXQgY2hpbGQgcG9zaXRpb24uXHJcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJG1heC1udW0tb2YtY2hpbGRyZW4ge1xyXG4gICAgICAgICY6bnRoLWNoaWxkKCN7JGl9KSB7XHJcbiAgICAgICAgICBAaWYgKCRvcmllbnRhdGlvbj09IFwiaG9yaXpvbnRhbFwiKSB7XHJcbiAgICAgICAgICAgIGxlZnQ6IGNhbGMoI3skc2l6ZSAqICRpIC0gJHNpemV9ICsgI3skZ3V0dGVyIC0gJGd1dHRlclNpemVPZmZzZXQgKiAkaX0pO1xyXG4gICAgICAgICAgfSBAZWxzZSBpZiAoJG9yaWVudGF0aW9uPT0gXCJ2ZXJ0aWNhbFwiKSB7XHJcbiAgICAgICAgICAgIHRvcDogJHNpemUgKiAkaSAtICRzaXplO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICRtYXgtbnVtLW9mLWNoaWxkcmVuOiAkbWF4LW51bS1vZi1jaGlsZHJlbiAtIDE7XHJcbiAgfVxyXG5cclxuICA+ICoge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIH1cclxufVxyXG5cclxuLy8vIENyZWF0ZSBhIGJsdXIgZWZmZWN0IHdpdGggZmFsbGJhY2tzIGZvciB1bnN1cHBvcnRlZCBicm93c2Vycy5cclxuLy8vIEBhdXRob3IgQmVuIFJpY2hhcmRzb25cclxuLy8vIEBwYXJhbSB7Y29sb3J9ICRjb2xvciAtIFRoZSBiYWNrZ3JvdW5kLWNvbG9yIG9mIHRoZSBlbGVtZW50LlxyXG4vLy8gQHBhcmFtIHtudW19ICRvcGFjaXR5IFs4NSVdIC0gVGhlIGxldmVsIG9mIG9wYWNpdHkgZGVzaXJlZC5cclxuQG1peGluIGZyb3N0ZWRHbGFzcygkY29sb3I6ICRsaWdodCwgJG9wYWNpdHk6IDg1JSkge1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoJGNvbG9yLCAkb3BhY2l0eSk7XHJcblxyXG4gIEBzdXBwb3J0cyAoYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpKSB7XHJcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XHJcblxyXG4gICAgQGlmICgkb3BhY2l0eSAtIDIwJSA+IDApIHtcclxuICAgICAgYmFja2dyb3VuZDogcmdiYSgkY29sb3IsICRvcGFjaXR5IC0gMjAlKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vIERlbGl2ZXJzIGJ1bGxldHByb29mIGhvdmVyIHN0eWxpbmcgdGhhdCBwcmV2ZW50cyB0b3VjaCBldmVudHMgZnJvbSB0cmlnZ2VyaW5nXHJcbi8vLyBzaW5jZSA5OSUgb2YgdGhlIHRpbWUgdGhhdCdzIG5vdCB3aGF0IHlvdSB3YW50LiBJbmNsdWRlcyBmYWxsYmFja3MgZm9yIG9sZGVyIGJyb3dzZXJzLlxyXG4vLy8gV2UgdXNlZCB0byB1c2UgYW55LXBvaW50ZXI6IGZpbmUgYnV0IGZvciBzb21lIHJlYXNvbiB0aGF0IHdhcyBhbHdheXMgcmV0dXJuaW5nIHRydWVcclxuLy8vIG9uIEFuZHJvaWQgZGV2aWNlcywgZXZlbiB3aXRoIG5vIG1vdXNlIGF0dGFjaGVkLiBTbyBpdCdzIGJhY2sgdG8gcmVndWxhciBvbGQgcG9pbnRlcjogZmluZS5cclxuLy8vIEBhdXRob3IgQmVuIFJpY2hhcmRzb25cclxuLy8vIEBjb250ZW50XHJcbkBtaXhpbiBob3ZlcigpIHtcclxuICBAbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBbZGF0YS1icm93c2VyPVwiaWVcIl0gJjpob3ZlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcblxyXG4gIC5pZSAmOmhvdmVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8vIERlbGl2ZXJzIGJ1bGxldHByb29mIGZvY3VzLXZpc2libGUgc3R5bGluZyB3aXRoIGZhbGxiYWNrcyBmb3Igb2xkZXIgYnJvd3NlcnMuIFJlcXVpcmVzXHJcbi8vLyBhIEpTIHBvbHlmaWxsIChXSUNHIGZvY3VzLXZpc2libGUpIGZvciBvbGRlciBicm93c2Vycy5cclxuLy8vIEBhdXRob3IgQmVuIFJpY2hhcmRzb25cclxuLy8vIEBjb250ZW50XHJcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vV0lDRy9mb2N1cy12aXNpYmxlXHJcbkBtaXhpbiBmb2N1cygpIHtcclxuICAmLmZvY3VzLXZpc2libGUge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG5cclxuICAmOmZvY3VzLXZpc2libGUge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQG1peGluIGhvdmVyIGFuZCBAbWl4aW4gZm9jdXMgc3R5bGluZyBpbiBvbmUgbWl4aW4uXHJcbi8vLyBAYXV0aG9yIEJlbiBSaWNoYXJkc29uXHJcbi8vLyBAY29udGVudFxyXG5AbWl4aW4gaG92ZXJBbmRGb2N1cygpIHtcclxuICBAaW5jbHVkZSBob3ZlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGZvY3VzIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8vIEFjY2Vzc2libGUgYmFja2dyb3VuZHMhIEVuc3VyZSB5b3VyIGVsZW1lbnRzIGFsd2F5cyBoYXZlIHByb3BlciBjb250cmFzdCBieSBzZXR0aW5nIGJvdGggYmFja2dyb3VuZC1jb2xvciBhbmQgY29sb3IgcHJvcGVydGllcy5cclxuLy8vIEBhdXRob3IgQmVuIFJpY2hhcmRzb25cclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkYmcgLSBUaGUgYmFja2dyb3VuZCB0byB1c2UgZm9yIHRoZSBlbGVtZW50LlxyXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICR0ZXh0RGFyayBbZGFya10gLSBUZXh0IGNvbG9yIHRvIHVzZSB3aGVuIGVsZW1lbnQncyBiYWNrZ3JvdW5kIGlzIGFib3ZlIGEgY2VydGFpbiB0aHJlc2hvbGQgaW4gbGlnaHRuZXNzLiBPbmx5IHVzZWQgaWYgJGJnIGlzIGEgc2FzcyB2YXJpYWJsZS5cclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkdGV4dExpZ2h0IFt3aGl0ZV0gLSBUZXh0IGNvbG9yIHRvIHVzZSB3aGVuIGVsZW1lbnQncyBiYWNrZ3JvdW5kIGlzIGJlbG93IGEgY2VydGFpbiB0aHJlc2hvbGQgaW4gbGlnaHRuZXNzLiBPbmx5IHVzZWQgaWYgJGJnIGlzIGEgc2FzcyB2YXJpYWJsZS5cclxuQG1peGluIGJnV2l0aENvbnRyYXN0KCRiZywgJHRleHREYXJrOiBibGFjaywgJHRleHRMaWdodDogd2hpdGUpIHtcclxuICAvLyBDaGVjayBpZiBwYXJhbWV0ZXIgaXMgYSBjc3MgY3VzdG9tIHByb3BlcnR5LiBUaGUgdmFsdWUgb2YgY3VzdG9tIHByb3BlcnRpZXMgYXJlIG5vdFxyXG4gIC8vIGtub3duIGF0IGNvbXBpbGUgdGltZSB0aGVyZWZvcmUgd2UgZG8gbm90IGNhbGN1bGF0ZSBjb250cmFzdCBoZXJlLlxyXG4gIEBpZiAoc3RyaW5nLmluZGV4KFwiI3skYmd9XCIsIFwiLS1cIikpIHtcclxuICAgICRiZzogdW53cmFwLWN1c3RvbS1wcm9wKCRiZyk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skYmd9KTtcclxuICAgIGNvbG9yOiB2YXIoI3skYmd9I3stY29udHJhc3R9KTtcclxuICB9IEBlbHNlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZztcclxuXHJcbiAgICAkcmF0aW9XaXRoRGFyazogd2NhZy1jb250cmFzdC1yYXRpbygkYmcsICR0ZXh0RGFyayk7XHJcbiAgICAkcmF0aW9XaXRoTGlnaHQ6IHdjYWctY29udHJhc3QtcmF0aW8oJGJnLCAkdGV4dExpZ2h0KTtcclxuXHJcbiAgICBAaWYgJHJhdGlvV2l0aERhcmsgPCAzIGFuZCAkcmF0aW9XaXRoTGlnaHQgPCAzIHtcclxuICAgICAgQGVycm9yIFwiVGhlIGNvbG9yICN7JGJnfSBkb2VzIG5vdCBtZWV0IFdDQUcgQUEgbWluaW11bSBhY2Nlc3NpYmlsaXR5IGNvbnRyYXN0IHJhdGlvIG9mIDM6MS4gUGxlYXNlIGNob29zZSBhIGRpZmZlcmVudCBjb2xvciBjb21iaW5hdGlvbi5cIjtcclxuICAgIH0gQGVsc2UgaWYgJHJhdGlvV2l0aERhcmsgPCA0LjUgYW5kICRyYXRpb1dpdGhMaWdodCA8IDQuNSB7XHJcbiAgICAgIEB3YXJuIFwiVGhlIGNvbG9yICN7JGJnfSBkb2VzIG5vdCBtZWV0IFdDQUcgQUEgbWluaW11bSBhY2Nlc3NpYmlsaXR5IGNvbnRyYXN0IHJhdGlvIG9mIDQuNToxLiBQbGVhc2UgY29uZmlybSB0aGF0IGFueSB0ZXh0IGluc2lkZSB0aGlzIGVsZW1lbnQgaXMgZ3JlYXRlciB0aGFuIDE4cHguXCI7XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICRyYXRpb1dpdGhEYXJrID49JHJhdGlvV2l0aExpZ2h0IHtcclxuICAgICAgY29sb3I6ICR0ZXh0RGFyaztcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBjb2xvcjogJHRleHRMaWdodDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vLyBBY2Nlc3NpYmxlIHRleHQhIEVuc3VyZSB5b3VyIGVsZW1lbnRzIGFsd2F5cyBoYXZlIHByb3BlciBjb250cmFzdCBieSBzZXR0aW5nIGJvdGggY29sb3IgYW5kIGJhY2tncm91bmQtY29sb3IgcHJvcGVydGllcy5cclxuLy8vIEBhdXRob3IgQmVuIFJpY2hhcmRzb25cclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkdGV4dENvbG9yIC0gVGhlIHRleHQgY29sb3IgdG8gdXNlIGZvciB0aGUgZWxlbWVudC5cclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkYmdEYXJrIFtkYXJrXSAtIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIHdoZW4gZWxlbWVudCdzIHRleHQgaXMgYWJvdmUgYSBjZXJ0YWluIHRocmVzaG9sZCBpbiBsaWdodG5lc3MuIE9ubHkgdXNlZCBpZiAkdGV4dENvbG9yIGlzIGEgc2FzcyB2YXJpYWJsZS5cclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkYmdMaWdodCBbd2hpdGVdIC0gQmFja2dyb3VuZCBjb2xvciB0byB1c2Ugd2hlbiBlbGVtZW50J3MgdGV4dCBpcyBiZWxvdyBhIGNlcnRhaW4gdGhyZXNob2xkIGluIGxpZ2h0bmVzcy4gT25seSB1c2VkIGlmICR0ZXh0Q29sb3IgaXMgYSBzYXNzIHZhcmlhYmxlLlxyXG5AbWl4aW4gY29sb3JXaXRoQ29udHJhc3QoJHRleHRDb2xvciwgJGJnRGFyazogYmxhY2ssICRiZ0xpZ2h0OiB3aGl0ZSkge1xyXG4gIC8vIENoZWNrIGlmIHBhcmFtZXRlciBpcyBhIGNzcyBjdXN0b20gcHJvcGVydHkuIFRoZSB2YWx1ZSBvZiBjdXN0b20gcHJvcGVydGllcyBhcmUgbm90XHJcbiAgLy8ga25vd24gYXQgY29tcGlsZSB0aW1lIHRoZXJlZm9yZSB3ZSBkbyBub3QgY2FsY3VsYXRlIGNvbnRyYXN0IGhlcmUuXHJcbiAgQGlmIChzdHJpbmcuaW5kZXgoXCIjeyR0ZXh0Q29sb3J9XCIsIFwiLS1cIikpIHtcclxuICAgICR0ZXh0Q29sb3I6IHVud3JhcC1jdXN0b20tcHJvcCgkdGV4dENvbG9yKTtcclxuICAgIGNvbG9yOiB2YXIoI3skdGV4dENvbG9yfSk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skdGV4dENvbG9yfSN7LWNvbnRyYXN0fSk7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBjb2xvcjogJHRleHRDb2xvcjtcclxuXHJcbiAgICAkcmF0aW9XaXRoRGFyazogd2NhZy1jb250cmFzdC1yYXRpbygkdGV4dENvbG9yLCAkYmdEYXJrKTtcclxuICAgICRyYXRpb1dpdGhMaWdodDogd2NhZy1jb250cmFzdC1yYXRpbygkdGV4dENvbG9yLCAkYmdMaWdodCk7XHJcblxyXG4gICAgQGlmICRyYXRpb1dpdGhEYXJrIDwgMyBhbmQgJHJhdGlvV2l0aExpZ2h0IDwgMyB7XHJcbiAgICAgIEBlcnJvciBcIlRoZSBjb2xvciAjeyR0ZXh0Q29sb3J9IGRvZXMgbm90IG1lZXQgV0NBRyBBQSBtaW5pbXVtIGFjY2Vzc2liaWxpdHkgY29udHJhc3QgcmF0aW8gb2YgMzoxLiBQbGVhc2UgY2hvb3NlIGEgZGlmZmVyZW50IGNvbG9yIGNvbWJpbmF0aW9uLlwiO1xyXG4gICAgfSBAZWxzZSBpZiAkcmF0aW9XaXRoRGFyayA8IDQuNSBhbmQgJHJhdGlvV2l0aExpZ2h0IDwgNC41IHtcclxuICAgICAgQHdhcm4gXCJUaGUgY29sb3IgI3skdGV4dENvbG9yfSBkb2VzIG5vdCBtZWV0IFdDQUcgQUEgbWluaW11bSBhY2Nlc3NpYmlsaXR5IGNvbnRyYXN0IHJhdGlvIG9mIDQuNToxLiBQbGVhc2UgY29uZmlybSB0aGF0IGFueSB0ZXh0IGluc2lkZSB0aGlzIGVsZW1lbnQgaXMgZ3JlYXRlciB0aGFuIDE4cHguXCI7XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICRyYXRpb1dpdGhEYXJrID49JHJhdGlvV2l0aExpZ2h0IHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJnRGFyaztcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmdMaWdodDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vLyBSZXR1cm5zIGEgY29udHJhc3RpbmcgY29sb3IgdmFsdWUgdG8gdGhlIGdpdmVuIGNvbG9yLlxyXG4vLy8gQGF1dGhvciBCZW4gUmljaGFyZHNvblxyXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRjb2xvciAtIFRoZSBjb2xvciB0byBjb250cmFzdCBhZ2Fpbi5cclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkZGFyayBbZGFya10gLSBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSB3aGVuICRjb2xvciBpcyBhYm92ZSBhIGNlcnRhaW4gdGhyZXNob2xkIGluIGxpZ2h0bmVzcy4gT25seSB1c2VkIGlmICRjb2xvciBpcyBhIHNhc3MgdmFyaWFibGUuXHJcbi8vLyBAcGFyYW0ge3N0cmluZ30gJGxpZ2h0IFt3aGl0ZV0gLSBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSB3aGVuICRjb2xvciBpcyBiZWxvdyBhIGNlcnRhaW4gdGhyZXNob2xkIGluIGxpZ2h0bmVzcy4gT25seSB1c2VkIGlmICRjb2xvciBpcyBhIHNhc3MgdmFyaWFibGUuXHJcbi8vLyBAcmV0dXJuIHtzdHJpbmd9IC0gTGlnaHQgb3IgZGFyayBkZXBlbmRpbmcgb24gdGhlIGNvbG9yIGdpdmVuLlxyXG5AZnVuY3Rpb24gY2FsYy1jb250cmFzdCgkY29sb3IsICRkYXJrOiBibGFjaywgJGxpZ2h0OiB3aGl0ZSkge1xyXG4gIEBpZiAoc3RyaW5nLmluZGV4KFwiI3skY29sb3J9XCIsIFwiLS1cIikpIHtcclxuICAgICRjb2xvcjogdW53cmFwLWN1c3RvbS1wcm9wKCRjb2xvcik7XHJcbiAgICBAcmV0dXJuIHZhcigjeyRjb2xvcn0jey1jb250cmFzdH0pO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgJHJhdGlvV2l0aERhcms6IHdjYWctY29udHJhc3QtcmF0aW8oJGNvbG9yLCAkZGFyayk7XHJcbiAgICAkcmF0aW9XaXRoTGlnaHQ6IHdjYWctY29udHJhc3QtcmF0aW8oJGNvbG9yLCAkbGlnaHQpO1xyXG5cclxuICAgIEBpZiAkcmF0aW9XaXRoRGFyayA8IDMgYW5kICRyYXRpb1dpdGhMaWdodCA8IDMge1xyXG4gICAgICBAZXJyb3IgXCJUaGUgY29sb3IgI3skY29sb3J9IGRvZXMgbm90IG1lZXQgV0NBRyBBQSBtaW5pbXVtIGFjY2Vzc2liaWxpdHkgY29udHJhc3QgcmF0aW8gb2YgMzoxLiBQbGVhc2UgY2hvb3NlIGEgZGlmZmVyZW50IGNvbG9yIGNvbWJpbmF0aW9uLlwiO1xyXG4gICAgfSBAZWxzZSBpZiAkcmF0aW9XaXRoRGFyayA8IDQuNSBhbmQgJHJhdGlvV2l0aExpZ2h0IDwgNC41IHtcclxuICAgICAgQHdhcm4gXCJUaGUgY29sb3IgI3skY29sb3J9IGRvZXMgbm90IG1lZXQgV0NBRyBBQSBtaW5pbXVtIGFjY2Vzc2liaWxpdHkgY29udHJhc3QgcmF0aW8gb2YgNC41OjEuIFBsZWFzZSBjb25maXJtIHRoYXQgYW55IHRleHQgaW5zaWRlIHRoaXMgZWxlbWVudCBpcyBncmVhdGVyIHRoYW4gMThweC5cIjtcclxuICAgIH1cclxuXHJcbiAgICBAaWYgJHJhdGlvV2l0aERhcmsgPj0kcmF0aW9XaXRoTGlnaHQge1xyXG4gICAgICBAcmV0dXJuICRkYXJrO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIEByZXR1cm4gJGxpZ2h0O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIHZhci1yZ2JhKCRjb2xvciwgJG9wYWNpdHk6IDEpIHtcclxuICAkb3BhY2l0eTogdmFsaWRhdGUtYW5kLXdyYXAtaWYtY3VzdG9tLXByb3AoJG9wYWNpdHkpO1xyXG4gICRjb2xvcjogdmFsaWRhdGUtYW5kLXdyYXAtaWYtY3VzdG9tLXByb3AoJGNvbG9yKTtcclxuXHJcbiAgJHBlcmNlbnRhZ2U6IGNhbGMoI3skb3BhY2l0eX0gKiAxMDAlKTtcclxuXHJcbiAgQHJldHVybiBjb2xvci1taXgoaW4gc3JnYiwgI3skY29sb3J9ICN7JHBlcmNlbnRhZ2V9LCB0cmFuc3BhcmVudCk7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiB2YXItbGlnaHRlbigkY29sb3IsICRhZGp1c3RtZW50OiAwJSkge1xyXG4gIEBpZiAoZ2V0LXVuaXQoJGFkanVzdG1lbnQpID09IFwiJVwiKSB7XHJcbiAgICAkYWRqdXN0bWVudDogbWF0aC5kaXYoJGFkanVzdG1lbnQsIDEwMCUpO1xyXG4gICAgJGNvbG9yOiB2YWxpZGF0ZS1hbmQtd3JhcC1pZi1jdXN0b20tcHJvcCgkY29sb3IpO1xyXG5cclxuICAgIEByZXR1cm4gb2tsY2goZnJvbSAjeyRjb2xvcn0gbWluKGNhbGMobCArIChsICogI3skYWRqdXN0bWVudH0pKSwgI3sxfSkgYyBoKTtcclxuICB9IEBlbHNlIHtcclxuICAgIEBlcnJvciBcIlRoZSBhZGp1c3RtZW50ICN7JGFkanVzdG1lbnR9IG11c3QgYmUgYSBwZXJjZW50YWdlLlwiO1xyXG4gIH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIHZhci1kYXJrZW4oJGNvbG9yLCAkYWRqdXN0bWVudDogMCUpIHtcclxuICBAaWYgKGdldC11bml0KCRhZGp1c3RtZW50KSA9PSBcIiVcIikge1xyXG4gICAgJGFkanVzdG1lbnQ6IG1hdGguZGl2KCRhZGp1c3RtZW50LCAxMDAlKTtcclxuICAgICRjb2xvcjogdmFsaWRhdGUtYW5kLXdyYXAtaWYtY3VzdG9tLXByb3AoJGNvbG9yKTtcclxuXHJcbiAgICBAcmV0dXJuIG9rbGNoKGZyb20gI3skY29sb3J9IG1heChjYWxjKGwgLSAobCAqICN7JGFkanVzdG1lbnR9KSksICN7MH0pIGMgaCk7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAZXJyb3IgXCJUaGUgYWRqdXN0bWVudCAjeyRhZGp1c3RtZW50fSBtdXN0IGJlIGEgcGVyY2VudGFnZS5cIjtcclxuICB9XHJcbn1cclxuXHJcbi8vLyBTZXRzIGJhY2tncm91bmQtcG9zaXRpb24gY3NzIGJhc2VkIG9uIFtkYXRhLWJnLXBvcz1cInggeVwiXS5cclxuLy8vIEBhdXRob3IgQmVuIFJpY2hhcmRzb25cclxuQG1peGluIGJnUG9zKCkge1xyXG4gICZbZGF0YS1iZy1wb3M9XCJ0b3AgbGVmdFwiXSB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwJSAwJTtcclxuICB9XHJcblxyXG4gICZbZGF0YS1iZy1wb3M9XCJ0b3AgbWlkZGxlXCJdIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAwO1xyXG4gIH1cclxuXHJcbiAgJltkYXRhLWJnLXBvcz1cInRvcCByaWdodFwiXSB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDAlO1xyXG4gIH1cclxuXHJcbiAgJltkYXRhLWJnLXBvcz1cImNlbnRlciBsZWZ0XCJdIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAlIDUwJTtcclxuICB9XHJcblxyXG4gICZbZGF0YS1iZy1wb3M9XCJjZW50ZXJcIl0ge1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcclxuICB9XHJcblxyXG4gICZbZGF0YS1iZy1wb3M9XCJjZW50ZXIgcmlnaHRcIl0ge1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSA1MCU7XHJcbiAgfVxyXG5cclxuICAmW2RhdGEtYmctcG9zPVwiYm90dG9tIGxlZnRcIl0ge1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCUgMTAwJTtcclxuICB9XHJcblxyXG4gICZbZGF0YS1iZy1wb3M9XCJib3R0b20gbWlkZGxlXCJdIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAxMDAlO1xyXG4gIH1cclxuXHJcbiAgJltkYXRhLWJnLXBvcz1cImJvdHRvbSByaWdodFwiXSB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDEwMCU7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gVHJpZ2dlcnMgc3R5bGluZyBiYXNlZCBvbiB3aGV0aGVyIGEgZ2l2ZW4gZGlhbG9nIGlzIGFjdGl2ZSBvciBub3QuIENhbiBiZSB1c2VkIG5lc3RlZCBvciBzdGFuZGFsb25lLlxyXG4vLy8gQGF1dGhvciBCZW4gUmljaGFyZHNvblxyXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRpZCAtIFRoZSBpZCBvZiBhIGRpYWxvZy5cclxuLy8vIEBjb250ZW50IC0gb3B0aW9uYWxcclxuQG1peGluIGFjdGl2ZURpYWxvZygkaWQpIHtcclxuICBAaWYgJiB7XHJcbiAgICBbZGF0YS1hY3RpdmUtZGlhbG9nPVwiI3skaWR9XCJdICYge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIFtkYXRhLWFjdGl2ZS1kaWFsb2c9XCIjeyRpZH1cIl0ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vLyBUcmlnZ2VycyBzdHlsaW5nIGJhc2VkIG9uIHdoZXRoZXIgYSBnaXZlbiB6b25lIGlzIGFjdGl2ZSBvciBub3QuIENhbiBiZSB1c2VkIG5lc3RlZCBvciBzdGFuZGFsb25lLlxyXG4vLy8gQGF1dGhvciBCZW4gUmljaGFyZHNvblxyXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRpZCAtIFRoZSBpZCBvZiBhIHpvbmUuXHJcbi8vLyBAY29udGVudCAtIG9wdGlvbmFsXHJcbkBtaXhpbiBhY3RpdmVab25lKCRpZCkge1xyXG4gIEBpZiAmIHtcclxuICAgIFtkYXRhLWFjdGl2ZS16b25lPVwiI3skaWR9XCJdICYge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIFtkYXRhLWFjdGl2ZS16b25lPVwiI3skaWR9XCJdIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gUmV0dXJucyBhc3BlY3QtcmF0aW8gd2l0aCBzdXBwb3J0IGZvciBvbGRlciBicm93c2VycyB1c2luZyBwYWRkaW5nLWJvdHRvbSBwZXJjZW50YWdlIHRyaWNrLlxyXG4vLy8gQGF1dGhvciBCZW4gUmljaGFyZHNvblxyXG4vLy8gQHBhcmFtIHtudW19ICRoIC0gVGhlIGhvcml6b250YWwgYXNwZWN0IHJhdGlvIG9mIHRoZSBlbGVtZW50LlxyXG4vLy8gQHBhcmFtIHtudW19ICR2IC0gVGhlIHZlcnRpY2FsIGFzcGVjdCByYXRpbyBvZiB0aGUgZWxlbWVudC5cclxuQG1peGluIGFzcGVjdFJhdGlvKCRoLCAkdikge1xyXG4gIEBzdXBwb3J0cyAoYXNwZWN0LXJhdGlvOiAxIC8gMSkge1xyXG4gICAgYXNwZWN0LXJhdGlvOiAkaCAje1wiL1wifSAkdjtcclxuICB9XHJcblxyXG4gIEBzdXBwb3J0cyBub3QgKGFzcGVjdC1yYXRpbzogMSAvIDEpIHtcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgcGFkZGluZy1ib3R0b206IG1hdGguZGl2KCR2LCAkaCkgKiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vIFRyaWdnZXJzIHN0eWxpbmcgYmFzZWQgb24gd2hldGhlciBhbnkgZGlzY292ZXJ5IHRvb2wgZGlhbG9ncyBhcmUgYWN0aXZlLiBDYW4gYmUgdXNlZCBuZXN0ZWQgb3Igc3RhbmRhbG9uZS5cclxuLy8vIEBhdXRob3IgQmVuIFJpY2hhcmRzb25cclxuLy8vIEBjb250ZW50IC0gb3B0aW9uYWxcclxuQG1peGluIGRpc2NvdmVyeVRvb2xzQWN0aXZlKCkge1xyXG4gIEBpZiAmIHtcclxuICAgIFtkYXRhLWFjdGl2ZS1kaWFsb2c9XCJjaGVja2xpc3RcIl0gJixcclxuICAgIFtkYXRhLWFjdGl2ZS1kaWFsb2c9XCJmYXFcIl0gJixcclxuICAgIFtkYXRhLWFjdGl2ZS1kaWFsb2c9XCJnbG9zc2FyeVwiXSAmLFxyXG4gICAgW2RhdGEtYWN0aXZlLWRpYWxvZz1cImFjaGlldmVtZW50c1wiXSAmLFxyXG4gICAgW2RhdGEtYWN0aXZlLWRpYWxvZz1cInJlc291cmNlc1wiXSAmLFxyXG4gICAgW2RhdGEtYWN0aXZlLWRpYWxvZz1cImZhcUNvbmZpcm1RdWVzdGlvbk1lc3NhZ2VcIl0gJixcclxuICAgIFtkYXRhLWFjdGl2ZS1kaWFsb2c9XCJmYXFRdWVzdGlvblN1Ym1pdHRlZE1lc3NhZ2VcIl0gJiB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgW2RhdGEtYWN0aXZlLWRpYWxvZz1cImNoZWNrbGlzdFwiXSxcclxuICAgIFtkYXRhLWFjdGl2ZS1kaWFsb2c9XCJmYXFcIl0sXHJcbiAgICBbZGF0YS1hY3RpdmUtZGlhbG9nPVwiZ2xvc3NhcnlcIl0sXHJcbiAgICBbZGF0YS1hY3RpdmUtZGlhbG9nPVwiYWNoaWV2ZW1lbnRzXCJdLFxyXG4gICAgW2RhdGEtYWN0aXZlLWRpYWxvZz1cInJlc291cmNlc1wiXSxcclxuICAgIFtkYXRhLWFjdGl2ZS1kaWFsb2c9XCJmYXFDb25maXJtUXVlc3Rpb25NZXNzYWdlXCJdLFxyXG4gICAgW2RhdGEtYWN0aXZlLWRpYWxvZz1cImZhcVF1ZXN0aW9uU3VibWl0dGVkTWVzc2FnZVwiXSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIHdjYWctY29udHJhc3QtcmF0aW8oJGNvbG9yMSwgJGNvbG9yMikge1xyXG4gICRsMTogd2NhZy1sdW1pbmFuY2UoJGNvbG9yMSkgKyAwLjA1O1xyXG4gICRsMjogd2NhZy1sdW1pbmFuY2UoJGNvbG9yMikgKyAwLjA1O1xyXG4gICRyYXRpbzogbWF0aC5kaXYoJGwxLCAkbDIpO1xyXG5cclxuICBAaWYgJGwyID4kbDEge1xyXG4gICAgJHJhdGlvOiBtYXRoLmRpdigxLCAkcmF0aW8pO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkcmF0aW87XHJcbn1cclxuXHJcbi8vLyBSZXR1cm5zIHRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAgYXMgYSBmbG9hdCAoYmV0d2VlbiAwIGFuZCAxKVxyXG4vLy8gMSBpcyBwdXJlIHdoaXRlLCAwIGlzIHB1cmUgYmxhY2tcclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yXHJcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9XHJcbi8vLyBAbGluayBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI3JlbGF0aXZlbHVtaW5hbmNlZGVmIFJlZmVyZW5jZVxyXG5AZnVuY3Rpb24gd2NhZy1sdW1pbmFuY2UoJGNvbG9yKSB7XHJcbiAgJHJnYjogKFxyXG4gICAgXCJyXCI6IGNvbG9yLmNoYW5uZWwoJGNvbG9yLCBcInJlZFwiLCAkc3BhY2U6IHJnYiksXHJcbiAgICBcImdcIjogY29sb3IuY2hhbm5lbCgkY29sb3IsIFwiZ3JlZW5cIiwgJHNwYWNlOiByZ2IpLFxyXG4gICAgXCJiXCI6IGNvbG9yLmNoYW5uZWwoJGNvbG9yLCBcImJsdWVcIiwgJHNwYWNlOiByZ2IpXHJcbiAgKTtcclxuXHJcbiAgQGVhY2ggJGNoYW5uZWwsICR2YWx1ZSBpbiAkcmdiIHtcclxuICAgICR2YWx1ZTogbWF0aC5kaXYoJHZhbHVlLCAyNTUpO1xyXG5cclxuICAgIEBpZiAkdmFsdWUgPCAwLjAzOTI4IHtcclxuICAgICAgJHZhbHVlOiBtYXRoLmRpdigkdmFsdWUsIDEyLjkyKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAkdmFsdWU6IG1hdGguZGl2KCR2YWx1ZSArIDAuMDU1LCAxLjA1NSk7XHJcbiAgICAgICR2YWx1ZTogbWF0aC5wb3coJHZhbHVlLCAyLjQpO1xyXG4gICAgfVxyXG5cclxuICAgICRyZ2I6IG1hcC5tZXJnZShcclxuICAgICAgJHJnYixcclxuICAgICAgKFxyXG4gICAgICAgICRjaGFubmVsOiAkdmFsdWVcclxuICAgICAgKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gKG1hcC5nZXQoJHJnYiwgXCJyXCIpICogMC4yMTI2KSArIChtYXAuZ2V0KCRyZ2IsIFwiZ1wiKSAqIDAuNzE1MikgKyAobWFwLmdldCgkcmdiLCBcImJcIikgKiAwLjA3MjIpO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gdmFsaWRhdGUtYW5kLXdyYXAtaWYtY3VzdG9tLXByb3AoJHByb3ApIHtcclxuICBAaWYgKHN0cmluZy5pbmRleCgjeyRwcm9wfSwgXCJ2YXIoXCIpKSB7XHJcbiAgICAkdW53cmFwcGVkOiBzdHJpbmcuc2xpY2UoI3skcHJvcH0sICRzdGFydC1hdDogc3RyaW5nLmluZGV4KCN7JHByb3B9LCBcInZhcihcIikgKyA0LCAkZW5kLWF0OiBzdHJpbmcubGVuZ3RoKCN7JHByb3B9KSAtIDEpO1xyXG4gICAgQHJldHVybiB2YWxpZGF0ZS1hbmQtd3JhcC1pZi1jdXN0b20tcHJvcCgkdW53cmFwcGVkKTtcclxuICB9IEBlbHNlIGlmIChzdHJpbmcuaW5kZXgoXCIjeyRwcm9wfVwiLCBcIi0tXCIpKSB7XHJcbiAgICBAcmV0dXJuIHZhcigjeyRwcm9wfSk7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAcmV0dXJuICRwcm9wO1xyXG4gIH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIHVud3JhcC1jdXN0b20tcHJvcCgkcHJvcCkge1xyXG4gIEBpZiAoc3RyaW5nLmluZGV4KCN7JHByb3B9LCBcInZhcihcIikpIHtcclxuICAgICR1bndyYXBwZWQ6IHN0cmluZy5zbGljZSgjeyRwcm9wfSwgJHN0YXJ0LWF0OiBzdHJpbmcuaW5kZXgoI3skcHJvcH0sIFwidmFyKFwiKSArIDQsICRlbmQtYXQ6IHN0cmluZy5sZW5ndGgoI3skcHJvcH0pIC0gMSk7XHJcblxyXG4gICAgQGlmIChzdHJpbmcuaW5kZXgoJHVud3JhcHBlZCwgXCJ2YXIoXCIpKSB7XHJcbiAgICAgIEByZXR1cm4gdW53cmFwLWN1c3RvbS1wcm9wKCR1bndyYXBwZWQpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIEByZXR1cm4gJHVud3JhcHBlZDtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIEByZXR1cm4gJHByb3A7XHJcbiAgfVxyXG59XHJcblxyXG5AZnVuY3Rpb24gc3RyLWxhc3QtaW5kZXgoJHN0cmluZywgJHN1YnN0cmluZykge1xyXG4gICRsYXN0LWluZGV4OiBudWxsO1xyXG4gICRsZW5ndGg6IHN0cmluZy5sZW5ndGgoJHN0cmluZyk7XHJcbiAgJHN1Yi1sZW5ndGg6IHN0cmluZy5sZW5ndGgoJHN1YnN0cmluZyk7XHJcblxyXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggKCRsZW5ndGggLSAkc3ViLWxlbmd0aCArIDEpIHtcclxuICAgIEBpZiBzdHJpbmcuc2xpY2UoJHN0cmluZywgJGksICRpICsgJHN1Yi1sZW5ndGggLSAxKSA9PSRzdWJzdHJpbmcge1xyXG4gICAgICAkbGFzdC1pbmRleDogJGk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRsYXN0LWluZGV4O1xyXG59XHJcblxyXG5AZnVuY3Rpb24gZ2V0LXVuaXQoJHZhbHVlKSB7XHJcbiAgQHJldHVybiBzdHJpbmcuc2xpY2UoJHZhbHVlICogMCArIFwiXCIsIDIsIC0xKTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIHNsaWNlLWxpc3QoJGxpc3QsICRzdGFydCwgJGVuZDogbnVsbCkge1xyXG4gICRlbmQ6IGlmKCRlbmQgPT0gbnVsbCwgbGlzdC5sZW5ndGgoJGxpc3QpLCAkZW5kKTtcclxuICAkcmVzdWx0OiAoKTtcclxuICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XHJcbiAgICAkcmVzdWx0OiBsaXN0LmFwcGVuZCgkcmVzdWx0LCBsaXN0Lm50aCgkbGlzdCwgJGkpKTtcclxuICB9XHJcbiAgQHJldHVybiAkcmVzdWx0O1xyXG59XHJcblxyXG4vKiogREVGQVVMVCBPVkVSUklERVMgKiovXHJcblxyXG4vLy8gUmVtb3ZlIGFsbCBkZWZhdWx0IHN0eWxlcyBmcm9tIGJ1dHRvbnNcclxuLy8vIEBhdXRob3IgS291cnRuZXkgU3RyaWNrbGFuZFxyXG5AbWl4aW4gcmVzZXRCdXR0b24oKSB7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyOiAwcHg7XHJcbiAgYm94LXNoYWRvdzogbm9uZTtcclxuICBvdXRsaW5lOiAwcHg7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XHJcbiAgYWxpZ24taXRlbXM6IHVuc2V0O1xyXG4gIHBhZGRpbmc6IDBweDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgY29sb3I6IHVuc2V0O1xyXG59XHJcblxyXG4vLy8gQXBwbHkgc3R5bGluZyB0byBhIHBhcmVudCBiYXNlZCBvbiBudW1iZXIgb2YgY2hpbGRyZW4uXHJcbi8vLyBAYXV0aG9yIEJlbiBSaWNoYXJkc29uXHJcbi8vLyBAcGFyYW0ge251bWJlcn0gJG51bSAtIFRoZSBudW1iZXIgb2YgY2hpbGRyZW4gdG8gY2hlY2suXHJcbi8vLyBAcGFyYW0ge2Jvb2xlYW59ICRvck1vcmUgW2ZhbHNlXSAtIEFwcGxpZXMgaWYgZWxlbWVudCBoYXMgYWJvdmUgdGhlIGdpdmVuIG51bWJlciBvZiBjaGlsZHJlbi5cclxuLy8vIEBwYXJhbSB7Ym9vbGVhbn0gJG9yTGVzcyBbZmFsc2VdIC0gQXBwbGllcyBpZiBlbGVtZW50IGhhcyBiZWxvdyB0aGUgZ2l2ZW4gbnVtYmVyIG9mIGNoaWxkcmVuLlxyXG4vLy8gQGxpbmsgaHR0cHM6Ly9jc3MtdGlwLmNvbS9udW1iZXItZWxlbWVudHMtaGFzLXNlbGVjdG9yL1xyXG5AbWl4aW4gaGFzTnVtYmVyT2ZDaGlsZHJlbigkbnVtLCAkb3JNb3JlOiBmYWxzZSwgJG9yTGVzczogZmFsc2UpIHtcclxuICBAaWYgKCRvck1vcmUgPT10cnVlIGFuZCAkb3JMZXNzID09dHJ1ZSkge1xyXG4gICAgQGVycm9yIFwiQWJvdmUgYW5kIGJlbG93IGNhbm5vdCBib3RoIGJlIHRydWUuXCI7XHJcbiAgfVxyXG5cclxuICBAaWYgKCRudW0gPT0wKSB7XHJcbiAgICAmOm5vdCg6aGFzKCopKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgQGlmICgkb3JNb3JlID09dHJ1ZSkge1xyXG4gICAgICAmOmhhcyg+IDpudGgtY2hpbGQoI3skbnVtfSkpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSBpZiAoJG9yTGVzcyA9PXRydWUpIHtcclxuICAgICAgJjpoYXMoPiA6bGFzdC1jaGlsZDpudGgtY2hpbGQoLW4gKyAjeyRudW19KSkge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJjpoYXMoPiA6bGFzdC1jaGlsZDpudGgtY2hpbGQoI3skbnVtfSkpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gVHJpZ2dlciBzdHlsaW5nIGJhc2VkIG9uIHdoZXRoZXIgYW55IGRpYWxvZyBpcyBvcGVuLlxyXG4vLy8gQGF1dGhvciBCZW4gUmljaGFyZHNvblxyXG5AbWl4aW4gaXNBbnlEaWFsb2dPcGVuKCkge1xyXG4gIEBpZiAmIHtcclxuICAgIGh0bWxbZGF0YS1kaWFsb2ctaGlkZS1vdmVyZmxvdz1cInRydWVcIl0gJiB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgaHRtbFtkYXRhLWRpYWxvZy1oaWRlLW92ZXJmbG93PVwidHJ1ZVwiXSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJAdXNlIFwic2FzczptYXRoXCI7XHJcbkB1c2UgXCJzaGFyZWQtdmFyaWFibGVzXCIgYXMgKjtcclxuQHVzZSBcIm1ldGEtbWl4aW5zXCIgYXMgKjtcclxuXHJcbkBsYXllciBiYXNlIHtcclxuICAuZmllbGRXcmFwcGVyLFxyXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyLFxyXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUsXHJcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWF4LXdpZHRoOiA1MDBweDtcclxuXHJcbiAgICBsYWJlbDpub3QoLmNoZWNrYm94TGFiZWwpIHtcclxuICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgICB9XHJcblxyXG4gICAgaW5wdXQ6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0pOm5vdChbdHlwZT1cInJhZGlvXCJdKSB7XHJcbiAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgIG1pbi13aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICBpbnB1dDo6LW1zLXJldmVhbCxcclxuICAgIGlucHV0OjotbXMtY2xlYXIge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDZweDtcclxuICAgICAgZm9udC1zaXplOiAwLjg0ZW07XHJcbiAgICAgIGNvbG9yOiB2YXItcmdiYSgtLWJhc2ljLCAwLjg1KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5maWVsZFdyYXBwZXIsXHJcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQubG9uZ2Fuc3dlciB7XHJcbiAgICB0ZXh0YXJlYSB7XHJcbiAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgIG1pbi13aWR0aDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5kcm9wZG93bldyYXBwZXIsXHJcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuZHJvcGRvd24ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWF4LXdpZHRoOiA1MDBweDtcclxuXHJcbiAgICBzZWxlY3Qge1xyXG4gICAgICBhcHBlYXJhbmNlOiBub25lO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICBtaW4td2lkdGg6IDEwMCU7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgZmlsbD0nYmxhY2snIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgd2lkdGg9JzI0JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxwYXRoIGQ9J003IDEwbDUgNSA1LTV6Jy8+PHBhdGggZD0nTTAgMGgyNHYyNEgweicgZmlsbD0nbm9uZScvPjwvc3ZnPlwiKTtcclxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSA1MCU7XHJcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMjVweCA1MHB4O1xyXG5cclxuICAgICAgJjo6LW1zLWV4cGFuZCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmNvbnRyb2xXcmFwcGVyLFxyXG4gIC5hZGctdW1icmFjby1mb3Jtcy1jb250cm9sd3JhcHBlciB7XHJcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdmFyKC0tbGlnaHQtZ3JleSk7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcblxyXG4gICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbnRyb2wge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgIGxhYmVsIHtcclxuICAgICAgZm9udC1zaXplOiAxLjJlbTtcclxuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgfVxyXG5cclxuICAgIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDZweDtcclxuICAgICAgZm9udC1zaXplOiAwLjg0ZW07XHJcbiAgICAgIGNvbG9yOiB2YXItcmdiYSgtLWJhc2ljLCAwLjg1KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vVGhlc2Ugc3R5bGUgaXMganVzdCB1c2VkIGZvciB0aGUgSG9uZXlwb3QgZmVhdHVyZS4gVGhlc2Ugc3R5bGVzIGtlZXAgdGhlIGZpZWxkIGZyb20gYmVpbmcgc2VlbiBieSBodW1hbnMgYW5kIHRoZXkgc2hvdWxkIG5vdCBiZSBjaGFuZ2VkIG9yIHJlbW92ZWQuXHJcbiAgLmZpZWxkV3JhcHBlci5lbnJvbGxlZU5hbWUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIEBpbmNsdWRlIGFic29sdXRlO1xyXG4gICAgd2lkdGg6IDA7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgICB6LWluZGV4OiAtMTtcclxuICB9XHJcblxyXG4gIC5zdHlsZWRGaWVsZHNldCxcclxuICAudW1icmFjby1mb3Jtcy1maWVsZHNldCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1saWdodC1ncmV5KTtcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXItcmdiYSgtLWxpZ2h0LWdyZXksIDAuNCk7XHJcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xyXG4gICAgbWluLXdpZHRoOiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgbGVnZW5kLFxyXG4gICAgLmdyb3VwTGVnZW5kIHtcclxuICAgICAgcGFkZGluZzogNHB4IDhweDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcclxuICAgICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoLS1iYXNpYyk7XHJcbiAgICB9XHJcblxyXG4gICAgLmdyb3VwTGVnZW5kIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIG1hcmdpbjogMCBhdXRvIDEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmZpZWxkc2V0R3JpZCB7XHJcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcclxuICAgICAgZ2FwOiAxMnB4O1xyXG5cclxuICAgICAgLmZpZWxkV3JhcHBlcixcclxuICAgICAgLmNvbnRyb2xXcmFwcGVyIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5maWVsZFdyYXBwZXIsXHJcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIsXHJcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSxcclxuICAudW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCB7XHJcbiAgICBtYXJnaW46IDEwcHggYXV0bztcclxuXHJcbiAgICBsYWJlbDpub3QoLmNoZWNrYm94TGFiZWwpIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDhweDtcclxuICAgICAgbGVmdDogOHB4O1xyXG4gICAgICB6LWluZGV4OiAyO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgbWFyZ2luOiAwIDAgNXB4O1xyXG4gICAgICBib3JkZXI6IDA7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgIGZvbnQtc2l6ZTogMC44ZW07XHJcbiAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1wcmltYXJ5LWZvbnQpO1xyXG4gICAgICBjb2xvcjogdmFyKC0tYmFzaWMpO1xyXG4gICAgfVxyXG5cclxuICAgIGlucHV0Om5vdChbdHlwZT1cImNoZWNrYm94XCJdKTpub3QoW3R5cGU9XCJyYWRpb1wiXSk6bm90KC5pdGlfX3NlYXJjaC1pbnB1dCksXHJcbiAgICB0ZXh0YXJlYSB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBtaW4taGVpZ2h0OiA0OHB4O1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWdyZXkpO1xyXG4gICAgICBwYWRkaW5nOiAyM3B4IDhweCA2cHg7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0KTtcclxuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIH1cclxuXHJcbiAgICAuc2hvd0hpZGUge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgIGhlaWdodDogNTNweDtcclxuICAgICAgd2lkdGg6IDQwcHg7XHJcbiAgICAgIEBpbmNsdWRlIGZsZXhDZW50ZXI7XHJcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcclxuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcclxuICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KC0tYnJhbmQtZGFyayk7XHJcblxyXG4gICAgICBAaW5jbHVkZSBob3ZlckFuZEZvY3VzIHtcclxuICAgICAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgtLWJyYW5kLWJyaWdodCk7XHJcblxyXG4gICAgICAgIC5pY29uOmFmdGVyIHtcclxuICAgICAgICAgIGJhY2tncm91bmQ6IGNhbGMtY29udHJhc3QodmFyKC0tYnJhbmQtYnJpZ2h0KSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmW2FyaWEtY2hlY2tlZD1cInRydWVcIl0ge1xyXG4gICAgICAgIC5pY29uOmFmdGVyIHtcclxuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICB3aWR0aDogM3B4O1xyXG4gICAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgtNDVkZWcpO1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogY2FsYy1jb250cmFzdCh2YXIoLS1icmFuZC1kYXJrKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5pY29uIHtcclxuICAgICAgICBmb250LXNpemU6IDEuMmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAjUGFzc3dvcmQ6Zm9jdXMgKyAjcmVxdWlyZW1lbnRzIHtcclxuICAgICAgbWF4LWhlaWdodDogMTAwMHB4O1xyXG4gICAgfVxyXG4gICAgI3JlcXVpcmVtZW50cyB7XHJcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgIHBhZGRpbmc6IDEwcHggMCAwIDA7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgbWF4LWhlaWdodDogMDtcclxuICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkc2xvdyBlYXNlLWluLW91dDtcclxuICAgICAgbGkge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBmb250LXNpemU6IDAuOWVtO1xyXG4gICAgICAgICYudmFsaWQge1xyXG4gICAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgtLWNvcnJlY3QpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDAuODhlbTtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDAuMWVtO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoLS13cm9uZyk7XHJcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgICBmb250LXNpemU6IDAuOTVlbTtcclxuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjFlbTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5kcm9wZG93bldyYXBwZXIsXHJcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQuZHJvcGRvd24ge1xyXG4gICAgbGFiZWw6bm90KC5jaGVja2JveExhYmVsKSB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiA4cHg7XHJcbiAgICAgIGxlZnQ6IDhweDtcclxuICAgICAgei1pbmRleDogMjtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIG1hcmdpbjogMCAwIDVweDtcclxuICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICBmb250LXNpemU6IDAuOGVtO1xyXG4gICAgICBmb250LWZhbWlseTogdmFyKC0tcHJpbWFyeS1mb250KTtcclxuICAgICAgY29sb3I6IHZhcigtLWJhc2ljKTtcclxuICAgIH1cclxuICAgIHNlbGVjdCB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBtaW4taGVpZ2h0OiA1MnB4O1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWdyZXkpO1xyXG4gICAgICBwYWRkaW5nOiAyNnB4IDQ1cHggOHB4IDhweDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQpO1xyXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnVtYnJhY28tZm9ybXMtZmllbGQubG9uZ2Fuc3dlciB7XHJcbiAgICB0ZXh0YXJlYSB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBtaW4taGVpZ2h0OiA1NnB4O1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWdyZXkpO1xyXG4gICAgICBwYWRkaW5nOiA2cHggOHB4IDZweDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQpO1xyXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZm9ybSxcclxuICAuZm9ybVdyYXAge1xyXG4gICAgLmVycm9yIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIG1hcmdpbjogNHB4IDA7XHJcbiAgICAgIHBhZGRpbmc6IDJweCA0cHg7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoLS13cm9uZyk7XHJcbiAgICAgICY6ZW1wdHkge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIE1FRElBIFFVRVJJRVMgJiBCUk9XU0VSLVNQRUNJRklDIEFESlVTVE1FTlRTIEJFTE9XIC8vXHJcblxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkeHMpIHtcclxuICAgIC5zdHlsZWRGaWVsZHNldCxcclxuICAgIC51bWJyYWNvLWZvcm1zLWZpZWxkc2V0IHtcclxuICAgICAgcGFkZGluZzogMTBweDtcclxuXHJcbiAgICAgIC5maWVsZHNldEdyaWQge1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICR4eHMpIHtcclxuICAgIC5jb250cm9sV3JhcHBlciB7XHJcbiAgICAgIGxhYmVsIHtcclxuICAgICAgICBmb250LXNpemU6IDFlbTtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkdGlueSkge1xyXG4gICAgLmNvbnRyb2xXcmFwcGVyIHtcclxuICAgICAgbGFiZWwge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMC45ZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5maWVsZFdyYXBwZXIsXHJcbi51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyLFxyXG4udW1icmFjby1mb3Jtcy1maWVsZC5kYXRlLFxyXG4udW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCB7XHJcbiAgLmRlc2NyaXB0aW9uIHtcclxuICAgID4gKjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICA+ICo6bGFzdC1jaGlsZCB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5jb250cm9sV3JhcHBlcixcclxuLmFkZy11bWJyYWNvLWZvcm1zLWNvbnRyb2x3cmFwcGVyIHtcclxuICA+ICo6Zmlyc3QtY2hpbGQge1xyXG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgPiAqOmxhc3QtY2hpbGQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLmRlc2NyaXB0aW9uIHtcclxuICAgID4gKjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICA+ICo6bGFzdC1jaGlsZCB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuLnN0eWxlZEZpZWxkc2V0LFxyXG4udW1icmFjby1mb3Jtcy1maWVsZHNldCB7XHJcbiAgPiA6bGFzdC1jaGlsZCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcbiIsIkB1c2UgXCIuLi9fZ2xvYmFsL3NoYXJlZC1mb3Jtc1wiO1xyXG5AdXNlIFwiLi4vX2dsb2JhbC9zaGFyZWQtdmFyaWFibGVzXCIgYXMgKjtcclxuQHVzZSBcIm1peGluc1wiIGFzICo7XHJcblxyXG4jcmVxdWlyZW1lbnRzIHtcclxuICBsaSB7XHJcbiAgICAmLnZhbGlkIHtcclxuICAgICAgLmljb24ge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIGNvbnRlbnQ6IFwiYVwiO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJAdXNlIFwic2hhcmVkLXZhcmlhYmxlc1wiIGFzICo7XHJcbkB1c2UgXCJzaGFyZWQtbWl4aW5zXCIgYXMgKjtcclxuXHJcbkBsYXllciByZXNldCB7XHJcbiAgLy8gQm94IHNpemluZyBydWxlc1xyXG4gICosXHJcbiAgKjo6YmVmb3JlLFxyXG4gICo6OmFmdGVyIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgfVxyXG5cclxuICBodG1sIHtcclxuICAgIG1pbi1oZWlnaHQ6IDEwMGR2aDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcclxuICB9XHJcblxyXG4gIGJvZHkge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZVNwZWVkO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuXHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB3aWR0aDogMTAwJTsgLy8gQ2hhbmdpbmcgdGhpcyB3aWxsIGJyZWFrIHRoZSB2YWx1ZSBvZiAtLXNjcm9sbGJhci13aWR0aCwgc28gcHJvY2VlZCB3aXRoIGNhdXRpb24uXHJcbiAgICBoZWlnaHQ6IDEwMGR2aDtcclxuICB9XHJcblxyXG4gIC8vIE1ha2UgaW1hZ2VzIGVhc2llciB0byB3b3JrIHdpdGhcclxuICBpbWcge1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgfVxyXG5cclxuICAvLyBOYXR1cmFsIGZsb3cgYW5kIHJoeXRobSBpbiBhcnRpY2xlcyBieSBkZWZhdWx0XHJcbiAgYXJ0aWNsZSA+ICogKyAqIHtcclxuICAgIG1hcmdpbi10b3A6IDFlbTtcclxuICB9XHJcblxyXG4gIC8vIEluaGVyaXQgZm9udHMgZm9yIGlucHV0cyBhbmQgYnV0dG9uc1xyXG4gIGlucHV0LFxyXG4gIGJ1dHRvbixcclxuICB0ZXh0YXJlYSxcclxuICBzZWxlY3Qge1xyXG4gICAgZm9udDogaW5oZXJpdDtcclxuICB9XHJcblxyXG4gIGgxLFxyXG4gIGgyLFxyXG4gIGgzLFxyXG4gIGg0LFxyXG4gIGg1LFxyXG4gIGg2IHtcclxuICAgIG1hcmdpbjogMDtcclxuICB9XHJcblxyXG4gIHAge1xyXG4gICAgbWFyZ2luOiAwLjM1ZW0gMCAwLjc1ZW07XHJcbiAgICBsaW5lLWhlaWdodDogMS41NWVtO1xyXG4gIH1cclxuXHJcbiAgb2wsXHJcbiAgdWwge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIG1hcmdpbjogMC40ZW0gMCAwLjc1ZW07XHJcbiAgfVxyXG5cclxuICBsaSB7XHJcbiAgICBsaW5lLWhlaWdodDogMS41ZW07XHJcbiAgfVxyXG5cclxuICBidXR0b24ge1xyXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICB9XHJcbiAgaWZyYW1lIHtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbkBsYXllciBiYXNlIHtcclxuICBib2R5IHtcclxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1iYXNpYy1mb250KTtcclxuICB9XHJcbiAgYSB7XHJcbiAgICBAaW5jbHVkZSBjb2xvcldpdGhDb250cmFzdCgtLWxpbmspO1xyXG4gICAgcGFkZGluZy1pbmxpbmU6IDJweDtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1saW5rKTtcclxuICAgIHRyYW5zaXRpb246IDAuMTVzO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cclxuICAgIEBpbmNsdWRlIGhvdmVyQW5kRm9jdXMge1xyXG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIH1cclxuXHJcbiAgICAudGFyZ2V0QmxhbmtOb3RpZmllciB7XHJcbiAgICAgIEBpbmNsdWRlIHNjcmVlblJlYWRlcjtcclxuICAgIH1cclxuICAgIC5pY29uLW1haWwge1xyXG4gICAgICBmb250LXNpemU6IDAuOWVtO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMXB4KTtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMjVlbTtcclxuICAgIH1cclxuXHJcbiAgICAuaWNvbi1leHRlcm5hbC1saW5rIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDAuMjVlbTtcclxuICAgICAgZm9udC1zaXplOiAwLjhlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGFjdGl2ZVpvbmUoXCJob21lXCIpIHtcclxuICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47XHJcbiAgfVxyXG59XHJcblxyXG4vLyBGb2N1cyBzdHlsZXNcclxuKjpub3QoYSkge1xyXG4gICY6Zm9jdXMtdmlzaWJsZSxcclxuICAmLmZvY3VzLXZpc2libGUge1xyXG4gICAgb3V0bGluZS1jb2xvcjogdmFyKC0tZm9jdXMtb3V0bGluZS1jb2xvcikgIWltcG9ydGFudDtcclxuICAgIG91dGxpbmUtb2Zmc2V0OiB2YXIoLS1mb2N1cy1vdXRsaW5lLW9mZnNldCkgIWltcG9ydGFudDtcclxuICAgIG91dGxpbmUtc3R5bGU6IHZhcigtLWZvY3VzLW91dGxpbmUtc3R5bGUpICFpbXBvcnRhbnQ7XHJcbiAgICBvdXRsaW5lLXdpZHRoOiB2YXIoLS1mb2N1cy1vdXRsaW5lLXdpZHRoKSAhaW1wb3J0YW50O1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDAgdmFyKC0tZm9jdXMtb3V0bGluZS1vZmZzZXQpIHZhcigtLWZvY3VzLXNoYWRvdy1jb2xvcikgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi5zb2NpYWxNZWRpYUxvZ2lucyB7XHJcbiAgYTpmb2N1cy12aXNpYmxlLFxyXG4gIGEuZm9jdXMtdmlzaWJsZSB7XHJcbiAgICBvdXRsaW5lLWNvbG9yOiB2YXIoLS1mb2N1cy1vdXRsaW5lLWNvbG9yKSAhaW1wb3J0YW50O1xyXG4gICAgb3V0bGluZS1vZmZzZXQ6IHZhcigtLWZvY3VzLW91dGxpbmUtb2Zmc2V0KSAhaW1wb3J0YW50O1xyXG4gICAgb3V0bGluZS1zdHlsZTogdmFyKC0tZm9jdXMtb3V0bGluZS1zdHlsZSkgIWltcG9ydGFudDtcclxuICAgIG91dGxpbmUtd2lkdGg6IHZhcigtLWZvY3VzLW91dGxpbmUtd2lkdGgpICFpbXBvcnRhbnQ7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1mb2N1cy1vdXRsaW5lLW9mZnNldCkgdmFyKC0tZm9jdXMtc2hhZG93LWNvbG9yKSAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8gQW5pbWF0aW9uXHJcbmJvZHlbZGF0YS1yZWR1Y2UtYW5pbWF0aW9uPVwidHJ1ZVwiXSB7XHJcbiAgKixcclxuICAqOjpiZWZvcmUsXHJcbiAgKjo6YWZ0ZXIge1xyXG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjAxbXMgIWltcG9ydGFudDtcclxuICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDEgIWltcG9ydGFudDtcclxuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMDFtcyAhaW1wb3J0YW50O1xyXG4gICAgc2Nyb2xsLWJlaGF2aW9yOiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcbi8vIFdlJ3JlIG5vIGxvbmdlciByZWFkaW5nIHRoZSBicm93c2VyIHByZWZlcmVuY2UgYW5kIHJlbHlpbmcgc29sZWx5IG9uIHRoZSB1c2VyJ3Mgc3RvcmVkIHByZWZlcmVuY2UuXHJcbi8vIEtlZXBpbmcgdGhpcyBjb2RlIGNvbW1lbnRlZCBvdXQgZm9yIHBvc3Rlcml0eSBiZWNhdXNlIHRoZSBqYXZhc2NyaXB0IGxvZ2ljIHdhcyB0cmlja3kgYW5kIGluIGNhc2Ugd2UgbmVlZCBpdCBhZ2Fpbi5cclxuLy8gQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcclxuLy8gICBib2R5Om5vdChbZGF0YS1yZWR1Y2UtYW5pbWF0aW9uPVwiZmFsc2VcIl0pIHtcclxuLy8gICAgICosXHJcbi8vICAgICAqOjpiZWZvcmUsXHJcbi8vICAgICAqOjphZnRlciB7XHJcbi8vICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4wMW1zICFpbXBvcnRhbnQ7XHJcbi8vICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDEgIWltcG9ydGFudDtcclxuLy8gICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4wMW1zICFpbXBvcnRhbnQ7XHJcbi8vICAgICAgIHNjcm9sbC1iZWhhdmlvcjogYXV0byAhaW1wb3J0YW50O1xyXG4vLyAgICAgfVxyXG4vLyAgIH1cclxuLy8gfVxyXG5cclxuLy8gU2tpcCBCdXR0b25zXHJcbi5zbGlkZVNraXAsXHJcbi5ob21lU2tpcCxcclxuLm1lbWJlcnNoaXBTa2lwIHtcclxuICBAaW5jbHVkZSBzY3JlZW5SZWFkZXI7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuICBAaW5jbHVkZSBmb2N1cyB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDEwcHg7XHJcbiAgICBsZWZ0OiAxMHB4O1xyXG4gICAgei1pbmRleDogOTk5OTk5OTk5OTk5OTk5O1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgY2xpcC1wYXRoOiBpbml0aWFsO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoLS1icmFuZC1icmlnaHQpO1xyXG4gIH1cclxufVxyXG5cclxuLmhvbWVTa2lwIHtcclxuICBAaW5jbHVkZSBhY3RpdmVab25lKFwiaG9tZVwiKSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcbn1cclxuXHJcbi5zbGlkZVNraXAge1xyXG4gIEBpbmNsdWRlIGFjdGl2ZVpvbmUoXCJzbGlkZXNcIikge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG59XHJcblxyXG4ubWVtYmVyc2hpcFNraXAge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcbiIsIkB1c2UgXCIuLi9fZ2xvYmFsL3NoYXJlZC12YXJpYWJsZXNcIiBhcyAqO1xyXG5AdXNlIFwibWl4aW5zXCIgYXMgKjtcclxuQHVzZSBcIi4uL19nbG9iYWwvc2hhcmVkLWdsb2JhbFwiO1xyXG5cclxuaHRtbCB7XHJcbiAgc2Nyb2xsYmFyLWd1dHRlcjogc3RhYmxlO1xyXG59XHJcblxyXG4vLyBNRURJQSBRVUVSSUVTICYgQlJPV1NFUi1TUEVDSUZJQyBBREpVU1RNRU5UUyBCRUxPVyAvL1xyXG4iLCJAdXNlIFwic2hhcmVkLXZhcmlhYmxlc1wiIGFzICo7XHJcblxyXG53aWxsaXMtem9uZSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbltpbmVydF0ge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuXHJcbndpbGxpcy1kaWFsb2c6bm90KFtkYXRhLW9wZW49XCJ0cnVlXCJdKSB7XHJcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vLyBIaWRlIGh0bWwgc2Nyb2xsYmFyIHdoZW4gdGhlcmUncyBhbiBhY3RpdmUgZGlhbG9nLlxyXG5odG1sW2RhdGEtZGlhbG9nLWhpZGUtb3ZlcmZsb3c9XCJ0cnVlXCJdIHtcclxuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbkBsYXllciBiYXNlIHtcclxuICAuZGlhbG9nQmFja2Ryb3Age1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gdmFyKC0tc2Nyb2xsYmFyLXdpZHRoKSk7XHJcbiAgICBoZWlnaHQ6IDEwMGR2aDtcclxuICAgIEBzdXBwb3J0cyAoaGVpZ2h0OiAxMDBkdmgpIHtcclxuICAgICAgaGVpZ2h0OiAxMDBkdmg7XHJcbiAgICB9XHJcblxyXG4gICAgLnNsaWRlICYge1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7IC8vQXBwbGllZCB0aGlzIGJlY2F1c2Ugb2YgaXNzdWVzIHJlc3BvbnNpdmxleSB3aXRoIGRpYWxvZ3Mgd2l0aGluIHRoZSBzbGlkZXMgYXQgc21hbGxlciBzY3JlZW4gc2l6ZXMuIElmIGl0IG1lc3NlcyB0aGluZ3MgdXAsIHdlIGNhbiByZW1vdmUuIC0gS1NcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5kaWFsb2dJbm5lciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgfVxyXG5cclxuICBkaXZbcm9sZT1cImRpYWxvZ1wiXSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xyXG4gIH1cclxuXHJcbiAgW2RhdGEtZGlhbG9nLXN0eWxlPVwibW9kYWxcIl0ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG5cclxuICAgIGRpdltyb2xlPVwiZGlhbG9nXCJdIHtcclxuICAgICAgd2lkdGg6IDU4MHB4O1xyXG4gICAgICBtYXJnaW46IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgLmRpYWxvZ0lubmVyIHtcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIFtkYXRhLWRpYWxvZy1zdHlsZT1cImxhcmdlTW9kYWxcIl0ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG5cclxuICAgIGRpdltyb2xlPVwiZGlhbG9nXCJdIHtcclxuICAgICAgd2lkdGg6IDgwMHB4O1xyXG4gICAgICBtYXgtd2lkdGg6IDEwMHZ3O1xyXG4gICAgICBtYXJnaW46IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgLmRpYWxvZ0lubmVyIHtcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIFtkYXRhLWRpYWxvZy1zdHlsZT1cInNoYWRlXCJdIHtcclxuICAgIG92ZXJmbG93LXk6IGF1dG87XHJcblxyXG4gICAgZGl2W3JvbGU9XCJkaWFsb2dcIl0ge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICAgLmRpYWxvZ0xhYmVsIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDgwMHB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuZGlhbG9nQ29udGVudCB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA4MDBweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmRpYWxvZ0FjdGlvbnMge1xyXG4gICAgICAgIG1heC13aWR0aDogODAwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZGlhbG9nSW5uZXIge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAwIDAgdmFyKC0tcmFkaXVzKSB2YXIoLS1yYWRpdXMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgW2RhdGEtZGlhbG9nLXN0eWxlXj1cInNpZGViYXJcIl0ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xyXG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG5cclxuICAgICZbZGF0YS1kaWFsb2ctc3R5bGU9XCJzaWRlYmFyTGVmdFwiXSB7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgIH1cclxuXHJcbiAgICAmW2RhdGEtZGlhbG9nLXN0eWxlPVwic2lkZWJhclJpZ2h0XCJdIHtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgIH1cclxuXHJcbiAgICBkaXZbcm9sZT1cImRpYWxvZ1wiXSB7XHJcbiAgICAgIHdpZHRoOiA0NDBweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIFtkYXRhLWRpYWxvZy1zdHlsZV49XCJmdWxsXCJdIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgZGl2W3JvbGU9XCJkaWFsb2dcIl0ge1xyXG4gICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcclxuICAgIFtkYXRhLWRpYWxvZy1zdHlsZV49XCJzaWRlYmFyXCJdIHtcclxuICAgICAgZGl2W3JvbGU9XCJkaWFsb2dcIl0ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1pbi13aWR0aDogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIFtkYXRhLWRpYWxvZy1zdHlsZT1cIm1vZGFsXCJdIHtcclxuICAgICAgZGl2W3JvbGU9XCJkaWFsb2dcIl0ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBBbmltYXRpb25zXHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLXNwZWVkPVwiZ2xhY2lhbFwiXSB7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkZ2xhY2lhbDtcclxufVxyXG5cclxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1zcGVlZD1cInZlcnlTbG93XCJdIHtcclxuICBhbmltYXRpb24tZHVyYXRpb246ICR2ZXJ5U2xvdztcclxufVxyXG5cclxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1zcGVlZD1cInNsb3dcIl0ge1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogJHNsb3c7XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tc3BlZWQ9XCJtZWRpdW1cIl0ge1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogJG1lZGl1bTtcclxufVxyXG5cclxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1zcGVlZD1cImZhc3RcIl0ge1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogJGZhc3Q7XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tc3BlZWQ9XCJ2ZXJ5RmFzdFwiXSB7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkdmVyeUZhc3Q7XHJcbn1cclxuXHJcbi5kaWFsb2dCYWNrZHJvcCB7XHJcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcclxuICBhbmltYXRpb24tZHVyYXRpb246ICR2ZXJ5RmFzdDtcclxuXHJcbiAgJi5pbiB7XHJcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluO1xyXG4gIH1cclxuXHJcbiAgJi5vdXQge1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cImZhZGVJblwiXSB7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlT3V0IHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxufVxyXG5cclxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPVwiZmFkZU91dFwiXSB7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZVRvcEluIHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcclxuICB9XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cImZhZGVUb3BJblwiXSB7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVUb3BJbjtcclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlVG9wT3V0IHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICB9XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cImZhZGVUb3BPdXRcIl0ge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlVG9wT3V0O1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVCb3R0b21JbiB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcclxuICB9XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cImZhZGVCb3R0b21JblwiXSB7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVCb3R0b21JbjtcclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlQm90dG9tT3V0IHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xyXG4gIH1cclxufVxyXG5cclxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPVwiZmFkZUJvdHRvbU91dFwiXSB7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVCb3R0b21PdXQ7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZVJpZ2h0SW4ge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9XCJmYWRlUmlnaHRJblwiXSB7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVSaWdodEluO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVSaWdodE91dCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcclxuICB9XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cImZhZGVSaWdodE91dFwiXSB7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVSaWdodE91dDtcclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlTGVmdEluIHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcclxuICB9XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cImZhZGVMZWZ0SW5cIl0ge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlTGVmdEluO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVMZWZ0T3V0IHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICB9XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cImZhZGVMZWZ0T3V0XCJdIHtcclxuICBhbmltYXRpb24tbmFtZTogZmFkZUxlZnRPdXQ7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc2xpZGVUb3BJbiB7XHJcbiAgZnJvbSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcclxuICB9XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cInNsaWRlVG9wSW5cIl0ge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZVRvcEluO1xyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkc20pIHtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUJvdHRvbUluO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzbGlkZVRvcE91dCB7XHJcbiAgZnJvbSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcclxuICB9XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cInNsaWRlVG9wT3V0XCJdIHtcclxuICBhbmltYXRpb24tbmFtZTogc2xpZGVUb3BPdXQ7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc2xpZGVCb3R0b21JbiB7XHJcbiAgZnJvbSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xyXG4gIH1cclxufVxyXG5cclxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPVwic2xpZGVCb3R0b21JblwiXSB7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlQm90dG9tSW47XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc2xpZGVCb3R0b21PdXQge1xyXG4gIGZyb20ge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNTAlKTtcclxuICB9XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cInNsaWRlQm90dG9tT3V0XCJdIHtcclxuICBhbmltYXRpb24tbmFtZTogc2xpZGVCb3R0b21PdXQ7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc2xpZGVSaWdodEluIHtcclxuICBmcm9tIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9XCJzbGlkZVJpZ2h0SW5cIl0ge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZVJpZ2h0SW47XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc2xpZGVSaWdodE91dCB7XHJcbiAgZnJvbSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xyXG4gIH1cclxufVxyXG5cclxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPVwic2xpZGVSaWdodE91dFwiXSB7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlUmlnaHRPdXQ7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc2xpZGVMZWZ0SW4ge1xyXG4gIGZyb20ge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9XCJzbGlkZUxlZnRJblwiXSB7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlTGVmdEluO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNsaWRlTGVmdE91dCB7XHJcbiAgZnJvbSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcclxuICB9XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cInNsaWRlTGVmdE91dFwiXSB7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlTGVmdE91dDtcclxufVxyXG4iLCIvLyBXaWR0aHNcclxuJHRlZW55OiAzODBweDtcclxuJHRpbnk6IDQ1MHB4O1xyXG4keHhzOiA1MjBweDtcclxuJHhzOiA2NTBweDtcclxuJHNtOiA4MDBweDtcclxuJHR3ZWVuOiA5MDBweDtcclxuJG1kOiAxMDUwcHg7XHJcbiRtaWQ6IDExODBweDtcclxuJGxnOiAxMjgwcHg7XHJcbiR4bDogMTQyNXB4O1xyXG4keHhsOiAxNjAwcHg7XHJcblxyXG4vLyBDb250YWluZXIgV2lkdGhzXHJcbiR4c0NvbnRhaW5lcjogNDAwcHg7XHJcbiRzbUNvbnRhaW5lcjogNTAwcHg7XHJcbiRtZENvbnRhaW5lcjogNzcwcHg7XHJcbiRsZ0NvbnRhaW5lcjogMTAwMHB4O1xyXG4keGxDb250YWluZXI6IDEyMDBweDtcclxuXHJcbi8vIEFuaW1hdGlvbiBTcGVlZHMgLSB0aGVzZSBhbHNvIG5lZWQgdG8gYmUgY2hhbmdlZCBpbiBhbmltYXRpb24udHMgaWYgbW9kaWZpZWRcclxuJHZlcnlGYXN0OiAyMDBtcztcclxuJGZhc3Q6IDMwMG1zO1xyXG4kbWVkaXVtOiA1MDBtcztcclxuJHNsb3c6IDgwMG1zO1xyXG4kdmVyeVNsb3c6IDEwMDBtcztcclxuJGdsYWNpYWw6IDMwMDBtcztcclxuIiwiQHVzZSBcIm1peGluc1wiIGFzICo7XHJcbkB1c2UgXCIuLi9fZ2xvYmFsL3NoYXJlZC12YXJpYWJsZXNcIiBhcyAqO1xyXG5AdXNlIFwiLi4vX2dsb2JhbC9zaGFyZWQtZGlhbG9nc1wiO1xyXG5cclxuLmRpYWxvZ0JhY2tkcm9wIHtcclxuICBiYWNrZ3JvdW5kOiB2YXItcmdiYSgtLWJsYWNrLCAwLjcpO1xyXG4gIHNjcm9sbGJhci1jb2xvcjogdmFyKC0tZGFyay1ncmV5KSB2YXIoLS1saWdodC1ncmV5KTtcclxufVxyXG5cclxuLmRpYWxvZ0NvbnRlbnQge1xyXG4gIG1hcmdpbjogMTBweCAwO1xyXG59XHJcblxyXG4uZGlhbG9nQWN0aW9ucy5nZW5lcmF0ZWQge1xyXG4gIGJ1dHRvbi5jbG9zZURpYWxvZyB7XHJcbiAgICAuaWNvbjpiZWZvcmUge1xyXG4gICAgICBmb250LWZhbWlseTogdmFyKC0taWNvbi1mb250KTtcclxuICAgICAgY29udGVudDogXCJiXCI7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbmJ1dHRvbi5jbG9zZURpYWxvZyB7XHJcbiAgLmljb246YmVmb3JlIHtcclxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1pY29uLWZvbnQpO1xyXG4gICAgZm9udC1zaXplOiAxLjVlbTtcclxuICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XHJcbiAgICBjb250ZW50OiBcImJcIjtcclxuICB9XHJcbn1cclxuXHJcbi5kaWFsb2dMYWJlbCBoMiB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxufVxyXG5cclxuW2RhdGEtZGlhbG9nLXN0eWxlPVwibW9kYWxcIl0ge1xyXG4gIHBhZGRpbmc6IDIwcHg7XHJcbiAgLnNhZmFyaSAmIHtcclxuICAgIHBhZGRpbmc6IDIwcHggMjBweCAxNTBweDtcclxuICB9XHJcbiAgLmRpYWxvZ0lubmVyIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XHJcbiAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoLS1saWdodCk7XHJcbiAgfVxyXG59XHJcblxyXG5bZGF0YS1kaWFsb2ctc3R5bGU9XCJsYXJnZU1vZGFsXCJdIHtcclxuICAuc2FmYXJpICYge1xyXG4gICAgcGFkZGluZzogMjBweCAyMHB4IDE1MHB4O1xyXG4gIH1cclxuICAuZGlhbG9nSW5uZXIge1xyXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgtLWxpZ2h0KTtcclxuICB9XHJcblxyXG4gIC5kaWFsb2dMYWJlbCB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJyYW5kLWRhcmspO1xyXG4gICAgcGFkZGluZzogNXB4IDEwcHggMjBweDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBoMiB7XHJcbiAgICAgIEBpbmNsdWRlIHplcm9NYXJnUGFkO1xyXG4gICAgICBmb250LXNpemU6IDEuMjVlbTtcclxuICAgICAgY29sb3I6IHZhcigtLWJyYW5kLWRhcmspO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuW2RhdGEtZGlhbG9nLXN0eWxlPVwic2hhZGVcIl0ge1xyXG4gIC5kaWFsb2dJbm5lciB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgdmFyKC0tcmFkaXVzKSB2YXIoLS1yYWRpdXMpO1xyXG4gICAgcGFkZGluZzogMjBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWRhcmspO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDE3NWRlZywgdmFyKC0tYnJhbmQtZGFyaykgNDAlLCB2YXItZGFya2VuKHZhcigtLWJyYW5kLWRhcmspLCA1JSkgMTAwJSk7XHJcbiAgICBjb2xvcjogY2FsYy1jb250cmFzdCh2YXIoLS1icmFuZC1kYXJrKSk7XHJcbiAgICAuZGlhbG9nTGFiZWwge1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICB9XHJcbiAgICAuZGlhbG9nQWN0aW9ucyB7XHJcbiAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgZ2FwOiA3cHg7XHJcbiAgICB9XHJcbiAgICAuY2xvc2VEaWFsb2cge1xyXG4gICAgICBAaW5jbHVkZSBidXR0b24odmFyKC0tYnJhbmQtYnJpZ2h0KSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5bZGF0YS1kaWFsb2ctc3R5bGVePVwic2lkZWJhclwiXSB7XHJcbiAgLmRpYWxvZ0lubmVyIHtcclxuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XHJcbiAgfVxyXG4gICZbZGF0YS1kaWFsb2ctc3R5bGU9XCJzaWRlYmFyTGVmdFwiXSB7XHJcbiAgICAuZGlhbG9nSW5uZXIge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAwIHZhcigtLXJhZGl1cykgdmFyKC0tcmFkaXVzKSAwO1xyXG4gICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJltkYXRhLWRpYWxvZy1zdHlsZT1cInNpZGViYXJSaWdodFwiXSB7XHJcbiAgICAuZGlhbG9nSW5uZXIge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpIDAgMCB2YXIoLS1yYWRpdXMpO1xyXG4gICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuW2RhdGEtZGlhbG9nLXN0eWxlXj1cImZ1bGxcIl0ge1xyXG4gIC5kaWFsb2dJbm5lciB7XHJcbiAgICBwYWRkaW5nOiAyMHB4O1xyXG4gIH1cclxufVxyXG5cclxuLnNpbXBsZURpYWxvZyB7XHJcbiAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoLS1saWdodCk7XHJcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcclxuICAuZGlhbG9nSW5uZXIge1xyXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcclxuICB9XHJcbn1cclxuXHJcbiNyZXR1cm5NZXNzYWdlIHtcclxuICAuY2xvc2VEaWFsb2cge1xyXG4gICAgLmljb24ge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gTUVESUEgUVVFUklFUyAmIEJST1dTRVItU1BFQ0lGSUMgQURKVVNUTUVOVFMgQkVMT1cgLy9cclxuQG1lZGlhIChtYXgtd2lkdGg6ICR4cykge1xyXG4gIFtkYXRhLWRpYWxvZy1zdHlsZV49XCJzaWRlYmFyXCJdIHtcclxuICAgICZbZGF0YS1kaWFsb2ctc3R5bGU9XCJzaWRlYmFyTGVmdFwiXSB7XHJcbiAgICAgIC5kaWFsb2dJbm5lciB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZbZGF0YS1kaWFsb2ctc3R5bGU9XCJzaWRlYmFyUmlnaHRcIl0ge1xyXG4gICAgICAuZGlhbG9nSW5uZXIge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIFtkYXRhLWRpYWxvZy1zdHlsZT1cIm1vZGFsXCJdIHtcclxuICAgIGRpdltyb2xlPVwiZGlhbG9nXCJdIHtcclxuICAgICAgJi5yZXBvcnROZWVkZWQge1xyXG4gICAgICAgIC8vVW5pcXVlIHN0eWxpbmcgZm9yIHRoZSBSZXBvcnQgYSBCYXJyaWVyIGZlYXR1cmUuIC0gREZUXHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiQGZvcndhcmQgXCIuLi9fZ2xvYmFsL3NoYXJlZC1taXhpbnNcIjtcclxuQHVzZSBcIi4uL19nbG9iYWwvc2hhcmVkLW1peGluc1wiIGFzICo7XHJcbkB1c2UgXCIuLi9fZ2xvYmFsL3NoYXJlZC12YXJpYWJsZXNcIiBhcyAqO1xyXG5AdXNlIFwic2FzczptYXRoXCI7XHJcbkB1c2UgXCJzYXNzOnN0cmluZ1wiO1xyXG5cclxuQG1peGluIGJnUG9zKCkge1xyXG4gICZbZGF0YS1iZy1wb3M9XCJ0b3AgbGVmdFwiXSB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwJSAwJTtcclxuICB9XHJcbiAgJltkYXRhLWJnLXBvcz1cInRvcCBtaWRkbGVcIl0ge1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDA7XHJcbiAgfVxyXG4gICZbZGF0YS1iZy1wb3M9XCJ0b3AgcmlnaHRcIl0ge1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAwJTtcclxuICB9XHJcbiAgJltkYXRhLWJnLXBvcz1cImNlbnRlciBsZWZ0XCJdIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAlIDUwJTtcclxuICB9XHJcbiAgJltkYXRhLWJnLXBvcz1cImNlbnRlclwiXSB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xyXG4gIH1cclxuICAmW2RhdGEtYmctcG9zPVwiY2VudGVyIHJpZ2h0XCJdIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlO1xyXG4gIH1cclxuICAmW2RhdGEtYmctcG9zPVwiYm90dG9tIGxlZnRcIl0ge1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCUgMTAwJTtcclxuICB9XHJcbiAgJltkYXRhLWJnLXBvcz1cImJvdHRvbSBtaWRkbGVcIl0ge1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDEwMCU7XHJcbiAgfVxyXG4gICZbZGF0YS1iZy1wb3M9XCJib3R0b20gcmlnaHRcIl0ge1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAxMDAlO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGJ1dHRvbigkY29sb3I6IHZhcigtLWJyYW5kLWRhcmspLCAkaG92ZXJDb2xvcjogdmFyKC0taG92ZXIpKSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgcGFkZGluZzogMC44ZW0gMS4zZW07XHJcbiAgYm9yZGVyLXdpZHRoOiAycHg7XHJcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcclxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gIGJvcmRlci1jb2xvcjogdmFyLWRhcmtlbigkY29sb3IsIDEwJSk7XHJcbiAgbGluZS1oZWlnaHQ6IDEuMWVtO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBmb250LWZhbWlseTogdmFyKC0tYmFzaWMtZm9udCk7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgb3V0bGluZS1vZmZzZXQ6IDA7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIHRyYW5zaXRpb246IGFsbCAwLjFzO1xyXG4gIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KCRjb2xvcik7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAuaWNvbiB7XHJcbiAgICBmb250LWZhbWlseTogdmFyKC0taWNvbi1mb250KTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGhvdmVyQW5kRm9jdXMge1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KCRob3ZlckNvbG9yKTtcclxuICAgIGJvcmRlci1jb2xvcjogdmFyLWxpZ2h0ZW4oJGhvdmVyQ29sb3IsIDIwJSk7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgfVxyXG4gICZbZGlzYWJsZWRdLFxyXG4gICZbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0ge1xyXG4gICAgb3BhY2l0eTogMC41O1xyXG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICB9XHJcbn1cclxuXHJcbi8vLyBGb3IgYnV0dG9ucyB0aGF0IGZlYXR1cmUgYm90aCBhbiBpY29uIGFuZCB0ZXh0LiBVc3VhbGx5IHNlZW4gaW4gZGlhbG9ncy5cclxuLy8vIEBwYXJhbSB7bnVtfSAkc2l6ZSAtIFRoZSB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSBidXR0b24uIERvZXMgbm90IGFwcGx5IHdoZW4gYnV0dG9uIG9ubHkgY29udGFpbnMgdGV4dC5cclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkdHlwZSBbdG9vbFRpcF0gLSBQb3NzaWJsZSB2YWx1ZXM6IHRvb2xUaXAsIGljb24sIHRleHQuXHJcbkBtaXhpbiBhY3Rpb25CdXR0b24oJGNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQpLCAkaG92ZXJDb2xvcjogdmFyKC0taG92ZXIpLCAkc2l6ZTogNDVweCwgJHR5cGU6IHRvb2xUaXApIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBtYXJnaW46IDA7XHJcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tbGlnaHQpO1xyXG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1jaXJjbGUpO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgkY29sb3IpO1xyXG4gIHRyYW5zaXRpb246IGFsbCAkdmVyeUZhc3Q7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICBAaWYgJHR5cGUgPT0gdG9vbFRpcCB7XHJcbiAgICB3aWR0aDogJHNpemU7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcclxuICAgIC5pY29uIHtcclxuICAgICAgZm9udC1zaXplOiBjYWxjKCN7JHNpemV9ICogMC40KTtcclxuICAgIH1cclxuICAgIC50ZXh0IHtcclxuICAgICAgQGluY2x1ZGUgdG9vbFRpcDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGhvdmVyQW5kRm9jdXMge1xyXG4gICAgICAudGV4dCB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICBzY2FsZTogMTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgJHR5cGUgPT0gaWNvbiB7XHJcbiAgICB3aWR0aDogJHNpemU7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcclxuICAgIC5pY29uIHtcclxuICAgICAgZm9udC1zaXplOiBjYWxjKCN7JHNpemV9ICogMC40KTtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgIH1cclxuICAgIC50ZXh0IHtcclxuICAgICAgQGluY2x1ZGUgc2NyZWVuUmVhZGVyO1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgJHR5cGUgPT0gdGV4dCB7XHJcbiAgICBwYWRkaW5nOiAwLjVlbSAxZW07XHJcbiAgICBmb250LXNpemU6IDAuOWVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xyXG4gICAgLmljb24ge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgaG92ZXJBbmRGb2N1cyB7XHJcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cpO1xyXG4gICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoJGhvdmVyQ29sb3IpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG9wZW5BbGxUb2dnbGVCdXR0b24oJGlubmVyLXNpemU6IDIwcHgpIHtcclxuICAvLyBUaGVzZSBwYXJhbWV0ZXIgY2FsY3VsYXRpb25zIGVuc3VyZSB0aGF0IGNoYW5naW5nIHRoZSAkaW5uZXItc2l6ZSB2YWx1ZSBrZWVwcyB0aGUgdG9nZ2xlIGJ1dHRvbidzIHNwYWNpbmcgYmV0d2VlbiBpdHMgZWxlbWVudHMgY29uc2lzdGVudC5cclxuICAkdG9nZ2xlLWhlaWdodDogJGlubmVyLXNpemUgKyA2cHg7XHJcbiAgJHRvZ2dsZS13aWR0aDogJGlubmVyLXNpemUgKiAyLjI1O1xyXG4gICR0b2dnbGUtcmFkaXVzOiBtYXRoLmRpdigkdG9nZ2xlLWhlaWdodCwgMik7IC8vIFRoaXMgZGl2aXNpb24gZW5zdXJlcyB0aGUgcGlsbCBzaGFwZS4gWW91IGNhbiBhZGp1c3QgdGhpcyB0byB5b3VyIHByb2plY3QncyBuZWVkcyBieSByZXBsYWNpbmcgd2l0aCBhIHBpeGVsIHZhbHVlLlxyXG4gICRwYWRkaW5nOiAoJGlubmVyLXNpemUgKiAwLjYpICgkaW5uZXItc2l6ZSAqIDAuNzUpICgkaW5uZXItc2l6ZSAqIDAuNikgKCR0b2dnbGUtd2lkdGggKyAkaW5uZXItc2l6ZSAqIDAuNSArIDEwcHgpO1xyXG5cclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1hcmdpbjogMjBweCBhdXRvIDE1cHg7XHJcbiAgcGFkZGluZzogJHBhZGRpbmc7XHJcbiAgZm9udC1zaXplOiAxZW07XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ncmV5KTtcclxuICBiYWNrZ3JvdW5kOiB2YXIoLS1saWdodC1ncmV5KTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgdHJhbnNpdGlvbjogJGZhc3Q7XHJcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcclxuXHJcbiAgLmJ0biB7XHJcbiAgICBjb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7XHJcbiAgfVxyXG5cclxuICAudG9nZ2xlIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbGVmdDogJGlubmVyLXNpemUgKiAwLjU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICBoZWlnaHQ6ICR0b2dnbGUtaGVpZ2h0O1xyXG4gICAgd2lkdGg6ICR0b2dnbGUtd2lkdGg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkdG9nZ2xlLXJhZGl1cztcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWdyZXkpO1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tbGlnaHQpO1xyXG5cclxuICAgIC5pbm5lciB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgcmlnaHQ6IGNhbGMoMTAwJSAtICN7JGlubmVyLXNpemUgKyAzcHh9KTtcclxuICAgICAgaGVpZ2h0OiAkaW5uZXItc2l6ZTtcclxuICAgICAgd2lkdGg6ICRpbm5lci1zaXplO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiBtYXRoLmRpdigkaW5uZXItc2l6ZSwgMik7IC8vVGhpcyBkaXZpc2lvbiBlbnN1cmVzIHRoZSB0b2dnbGUncyBpbm5lciBpcyByb3VuZC4gWW91IGNhbiBhZGp1c3QgdGhpcyB0byB5b3VyIHByb2plY3QncyBuZWVkcyBieSByZXBsYWNpbmcgd2l0aCBhIHBpeGVsIHZhbHVlLlxyXG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZC1kYXJrKTtcclxuICAgICAgdHJhbnNpdGlvbjogcmlnaHQgJGZhc3Q7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmW2FyaWEtcHJlc3NlZD1cInRydWVcIl0ge1xyXG4gICAgLnRvZ2dsZSB7XHJcbiAgICAgIC5pbm5lciB7XHJcbiAgICAgICAgcmlnaHQ6IDRweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgaG92ZXJBbmRGb2N1cyB7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZC1icmlnaHQpO1xyXG4gICAgLnRvZ2dsZSB7XHJcbiAgICAgIC5pbm5lciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJ0biB7XHJcbiAgICAgIGNvbG9yOiBjYWxjLWNvbnRyYXN0KC0tYnJhbmQtYnJpZ2h0KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vLyBIaWRlcyB0ZXh0IGFuZCBwcmVwcyBmb3IgaG92ZXIuIEJlY2F1c2UgdGhpcyBtaXhpbiBpcyB1c3VhbGx5IGJlaW5nIHVzZWQgaW4gYSBidXR0b24sXHJcbi8vLyB0aGUgaG92ZXIgc3R5bGUgbmVlZHMgdG8gYmUgbWFudWxseSBzZXQgaW4gd2hhdGV2ZXIgcGFyZW50IHRoaXMgbWl4aW4gaXMgYmVpbmcgdXNlZCBpbi5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZVxyXG4vLy8gICBidXR0b24ge1xyXG4vLy8gICAgIC50ZXh0IHtcclxuLy8vICAgICAgIEBpbmNsdWRlIHRvb2xUaXAoJGRpcjogdG9wLCAkY29sb3I6IHZhcigtLWJsdWUpLCAkb2Zmc2V0OiAxMHB4KTtcclxuLy8vICAgICB9XHJcbi8vLyAgICAgQGluY2x1ZGUgaG92ZXJXaXRoRm9jdXMge1xyXG4vLy8gICAgICAgLnRleHQge1xyXG4vLy8gICAgICAgICAvLyBCeSBkZWZhdWx0IHRoZXNlIGFyZSB0aGUgdHdvIHByb3BlcnRpZXMgdGhhdCBuZWVkIHRvIGJlIG92ZXJ3cml0dGVuLlxyXG4vLy8gICAgICAgICBvcGFjaXR5OiAxO1xyXG4vLy8gICAgICAgICBzY2FsZTogMTtcclxuLy8vICAgICAgIH1cclxuLy8vICAgICB9XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAdG9kbyBBZGQgYSB0b29sVGlwU2hvdyBtaXhpbiB0aGF0IG92ZXJyaWRlcyBhbGwgdGhlIHByb3BlcnRpZXMgbGlzdGVkIGluIHRvb2xUaXAuXHJcbi8vLyBAcGFyYW0ge3N0cmluZ30gJGRpciBbdG9wIHwgdG9wLWxlZnQgfCB0b3AtcmlnaHRdIFtib3R0b20gfCBib3R0b20tbGVmdCB8IGJvdHRvbS1yaWdodF0gW2xlZnQgfCByaWdodF1cclxuLy8vIEBwYXJhbSB7Y29sb3J9ICRjb2xvciBbdmFyKC0tbGlnaHQpXSAtIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSB0aGUgdG9vbCB0aXAuXHJcbi8vLyBAcGFyYW0ge2Jvb2xlYW59ICRhcnJvdyBbdHJ1ZV0gLSBEcmF3cyBhIHRyaWFuZ2xlIHRoYXQgcG9pbnRzIHRvd2FyZHMgdGhlIHBhcmVudC5cclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkb2Zmc2V0IFs1cHhdIC0gVGhlIGFtb3VudCB0aGUgYXJyb3cgc2hvdWxkIGJlIHNoaWZ0ZWQgaWYgdGlwIGlzbid0IGNlbnRlcmVkLlxyXG4vLy8gQHNpbmNlIEZ1Z3UgOC4wXHJcbkBtaXhpbiB0b29sVGlwKCRkaXI6IGJvdHRvbSwgJGNvbG9yOiB2YXIoLS1saWdodCksICRhcnJvdzogdHJ1ZSwgJG9mZnNldDogNXB4KSB7XHJcbiAgJGRpc3RhbmNlOiAycHg7XHJcbiAgJGJvcmRlcldpZHRoOiAycHg7XHJcbiAgJGJvcmRlckNvbG9yOiB2YXIoLS1saWdodCk7XHJcbiAgJGFycm93U2l6ZTogMTBweDtcclxuICAkYm9yZGVyQXJyb3dTaXplOiAkYXJyb3dTaXplICsgKCRib3JkZXJXaWR0aCAqIDIpO1xyXG4gICRjb2xvcjogdmFsaWRhdGUtYW5kLXdyYXAtaWYtY3VzdG9tLXByb3AoJGNvbG9yKTtcclxuXHJcbiAgJGJveFRyYW5zbGF0aW9uOiAwIC01MCU7XHJcbiAgJGFycm93VHJhbnNsYXRpb246IDAgLTUwJTtcclxuICAkYWxpZ246IGNlbnRlcjtcclxuICAkc2lkZTogYm90dG9tO1xyXG4gIEBpZiBzdHJpbmcuaW5kZXgoJGRpciwgXCJib3R0b21cIikgb3Igc3RyaW5nLmluZGV4KCRkaXIsIFwidG9wXCIpIHtcclxuICAgIEBpZiBzdHJpbmcuaW5kZXgoJGRpciwgXCJib3R0b21cIikge1xyXG4gICAgICAkc2lkZTogYm90dG9tO1xyXG4gICAgfSBAZWxzZSBpZiBzdHJpbmcuaW5kZXgoJGRpciwgXCJ0b3BcIikge1xyXG4gICAgICAkc2lkZTogdG9wO1xyXG4gICAgfVxyXG4gICAgQGlmIHN0cmluZy5pbmRleCgkZGlyLCBcImxlZnRcIikge1xyXG4gICAgICAkYWxpZ246IGxlZnQ7XHJcbiAgICB9IEBlbHNlIGlmIHN0cmluZy5pbmRleCgkZGlyLCBcInJpZ2h0XCIpIHtcclxuICAgICAgJGFsaWduOiByaWdodDtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmIHN0cmluZy5pbmRleCgkZGlyLCBcImxlZnRcIikge1xyXG4gICAgJHNpZGU6IGxlZnQ7XHJcbiAgfSBAZWxzZSBpZiBzdHJpbmcuaW5kZXgoJGRpciwgXCJyaWdodFwiKSB7XHJcbiAgICAkc2lkZTogcmlnaHQ7XHJcbiAgfVxyXG5cclxuICBAaWYgJHNpZGUgPT0gYm90dG9tIG9yICRzaWRlID09IHRvcCB7XHJcbiAgICAkYm94VHJhbnNsYXRpb246IC01MCUgMDtcclxuICAgICRhcnJvd1RyYW5zbGF0aW9uOiAtNTAlIDA7XHJcbiAgfVxyXG5cclxuICAkb3JpZ2luWDogNTAlO1xyXG4gIEBpZiAkc2lkZSA9PSBsZWZ0IHtcclxuICAgICRvcmlnaW5YOiAxMDAlO1xyXG4gIH1cclxuICBAaWYgJHNpZGUgPT0gcmlnaHQge1xyXG4gICAgJG9yaWdpblg6IDAlO1xyXG4gIH1cclxuXHJcbiAgJG9yaWdpblk6IDUwJTtcclxuICBAaWYgJHNpZGUgPT0gYm90dG9tIHtcclxuICAgICRvcmlnaW5ZOiAwJTtcclxuICB9XHJcbiAgQGlmICRzaWRlID09IHRvcCB7XHJcbiAgICAkb3JpZ2luWTogMTAwJTtcclxuICB9XHJcblxyXG4gICRib3hTdGFydFBvczogNTAlO1xyXG4gICRhcnJvd1BvczogNTAlO1xyXG4gIEBpZiAkYWxpZ24gIT0gY2VudGVyIHtcclxuICAgICRib3hTdGFydFBvczogMHB4O1xyXG4gICAgJGJveFRyYW5zbGF0aW9uOiAwIDA7XHJcbiAgICAkYXJyb3dUcmFuc2xhdGlvbjogMCAwO1xyXG4gIH1cclxuXHJcbiAgQGlmICRhbGlnbiA9PSBsZWZ0IHtcclxuICAgICRvcmlnaW5YOiBjYWxjKCRvZmZzZXQgLSB2YXIoLS1yYWRpdXMpKTtcclxuICB9XHJcbiAgQGlmICRhbGlnbiA9PSByaWdodCB7XHJcbiAgICAkb3JpZ2luWDogY2FsYygxMDAlIC0gJG9mZnNldCAtIHZhcigtLXJhZGl1cykpO1xyXG4gIH1cclxuXHJcbiAgLy8gQWJzdHJhY3Qgb3V0IHRoZSBzdGFydGluZyBheGlzIGFuZCBwb3NpdGlvbnMgb2YgdGhlIHRvb2x0aXAgYm94IGFuZCBhcnJvdyB0byBrZWVwIHRoaW5ncyBzYW5lLlxyXG4gICRib3hEaXN0YW5jZVByb3A6IFwiXCI7XHJcbiAgJGJveFN0YXJ0UHJvcDogXCJcIjtcclxuICAkYXJyb3dQb3NQcm9wOiBcIlwiO1xyXG5cclxuICBAaWYgJHNpZGUgPT0gYm90dG9tIHtcclxuICAgICRib3hEaXN0YW5jZVByb3A6IHRvcDtcclxuICAgIEBpZiAkYWxpZ24gPT0gcmlnaHQge1xyXG4gICAgICAkYm94U3RhcnRQcm9wOiByaWdodDtcclxuICAgICAgJGFycm93UG9zUHJvcDogcmlnaHQ7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgJGJveFN0YXJ0UHJvcDogbGVmdDtcclxuICAgICAgJGFycm93UG9zUHJvcDogbGVmdDtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICRzaWRlID09IHRvcCB7XHJcbiAgICAkYm94RGlzdGFuY2VQcm9wOiBib3R0b207XHJcbiAgICBAaWYgJGFsaWduID09IHJpZ2h0IHtcclxuICAgICAgJGJveFN0YXJ0UHJvcDogcmlnaHQ7XHJcbiAgICAgICRhcnJvd1Bvc1Byb3A6IHJpZ2h0O1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICRib3hTdGFydFByb3A6IGxlZnQ7XHJcbiAgICAgICRhcnJvd1Bvc1Byb3A6IGxlZnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAkc2lkZSA9PSBsZWZ0IHtcclxuICAgICRib3hEaXN0YW5jZVByb3A6IHJpZ2h0O1xyXG4gICAgQGlmICRhbGlnbiA9PSByaWdodCB7XHJcbiAgICAgICRib3hTdGFydFByb3A6IGJvdHRvbTtcclxuICAgICAgJGFycm93UG9zUHJvcDogYm90dG9tO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICRib3hTdGFydFByb3A6IHRvcDtcclxuICAgICAgJGFycm93UG9zUHJvcDogdG9wO1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgJHNpZGUgPT0gcmlnaHQge1xyXG4gICAgJGJveERpc3RhbmNlUHJvcDogbGVmdDtcclxuICAgIEBpZiAkYWxpZ24gPT0gcmlnaHQge1xyXG4gICAgICAkYm94U3RhcnRQcm9wOiBib3R0b207XHJcbiAgICAgICRhcnJvd1Bvc1Byb3A6IGJvdHRvbTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAkYm94U3RhcnRQcm9wOiB0b3A7XHJcbiAgICAgICRhcnJvd1Bvc1Byb3A6IHRvcDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICN7JGJveERpc3RhbmNlUHJvcH06IGNhbGMoMTAwJSArICN7JGRpc3RhbmNlfSk7XHJcbiAgI3skYm94U3RhcnRQcm9wfTogJGJveFN0YXJ0UG9zO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBzY2FsZTogMC4xO1xyXG4gIGJvcmRlcjogJGJvcmRlcldpZHRoIHNvbGlkICRib3JkZXJDb2xvcjtcclxuICBwYWRkaW5nOiAycHggN3B4O1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgb3BhY2l0eTogMDtcclxuICBmb250LWZhbWlseTogdmFyKC0tYmFzaWMtZm9udCk7XHJcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93KTtcclxuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMteHMpO1xyXG4gIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KCRjb2xvcik7XHJcbiAgdHJhbnNpdGlvbjogYWxsICRtZWRpdW0gdmFyKC0tdGltaW5nLWJvdW5jZSk7XHJcbiAgdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpblggJG9yaWdpblk7XHJcbiAgdHJhbnNsYXRlOiAkYm94VHJhbnNsYXRpb247XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblxyXG4gIEBpZiAkYXJyb3cgPT0gdHJ1ZSB7XHJcbiAgICAvLyBCb3JkZXIgVHJpYW5nbGVcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgJG1lZGl1bSB2YXIoLS10aW1pbmctYm91bmNlKTtcclxuICAgICAgdHJhbnNsYXRlOiAkYXJyb3dUcmFuc2xhdGlvbjtcclxuICAgICAgd2lkdGg6ICRhcnJvd1NpemU7XHJcbiAgICAgIGhlaWdodDogJGFycm93U2l6ZTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJvcmRlckNvbG9yO1xyXG4gICAgICBAaWYgJGFsaWduID09IFwiY2VudGVyXCIge1xyXG4gICAgICAgICN7JGFycm93UG9zUHJvcH06IDUwJTtcclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgI3skYXJyb3dQb3NQcm9wfTogY2FsYygkb2Zmc2V0ICsgdmFyKC0tcmFkaXVzKSk7XHJcbiAgICAgIH1cclxuICAgICAgQGlmICRzaWRlID09IGJvdHRvbSB7XHJcbiAgICAgICAgYm90dG9tOiAxMDAlO1xyXG4gICAgICAgIHdpZHRoOiAkYm9yZGVyQXJyb3dTaXplO1xyXG4gICAgICAgIGNsaXAtcGF0aDogcG9seWdvbig1MCUgMCUsIDAlIDEwMCUsIDEwMCUgMTAwJSk7XHJcbiAgICAgIH0gQGVsc2UgaWYgJHNpZGUgPT0gdG9wIHtcclxuICAgICAgICB0b3A6IDEwMCU7XHJcbiAgICAgICAgd2lkdGg6ICRib3JkZXJBcnJvd1NpemU7XHJcbiAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDUwJSAxMDAlLCAwJSAwJSwgMTAwJSAwJSk7XHJcbiAgICAgIH0gQGVsc2UgaWYgJHNpZGUgPT0gbGVmdCB7XHJcbiAgICAgICAgbGVmdDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6ICRib3JkZXJBcnJvd1NpemU7XHJcbiAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDEwMCUgNTAlLCAwJSAxMDAlLCAwJSAwJSk7XHJcbiAgICAgIH0gQGVsc2UgaWYgJHNpZGUgPT0gcmlnaHQge1xyXG4gICAgICAgIHJpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogJGJvcmRlckFycm93U2l6ZTtcclxuICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCUgNTAlLCAxMDAlIDAlLCAxMDAlIDEwMCUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBBY3R1YWwgVHJpYW5nbGVcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAkbWVkaXVtIHZhcigtLXRpbWluZy1ib3VuY2UpO1xyXG4gICAgICB0cmFuc2xhdGU6ICRhcnJvd1RyYW5zbGF0aW9uO1xyXG4gICAgICB3aWR0aDogJGFycm93U2l6ZTtcclxuICAgICAgaGVpZ2h0OiAkYXJyb3dTaXplO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XHJcbiAgICAgIEBpZiAkYWxpZ24gPT0gY2VudGVyIHtcclxuICAgICAgICAjeyRhcnJvd1Bvc1Byb3B9OiA1MCU7XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICN7JGFycm93UG9zUHJvcH06IGNhbGMoJG9mZnNldCArIHZhcigtLXJhZGl1cykgKyAkYm9yZGVyV2lkdGgpO1xyXG4gICAgICB9XHJcbiAgICAgIEBpZiAkc2lkZSA9PSBib3R0b20ge1xyXG4gICAgICAgIGJvdHRvbTogY2FsYygxMDAlIC0gI3skYm9yZGVyV2lkdGh9KTtcclxuICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oNTAlIDAlLCAwJSAxMDAlLCAxMDAlIDEwMCUpO1xyXG4gICAgICB9IEBlbHNlIGlmICRzaWRlID09IHRvcCB7XHJcbiAgICAgICAgdG9wOiBjYWxjKDEwMCUgLSAjeyRib3JkZXJXaWR0aH0pO1xyXG4gICAgICAgIGNsaXAtcGF0aDogcG9seWdvbig1MCUgMTAwJSwgMCUgMCUsIDEwMCUgMCUpO1xyXG4gICAgICB9IEBlbHNlIGlmICRzaWRlID09IGxlZnQge1xyXG4gICAgICAgIGxlZnQ6IGNhbGMoMTAwJSAtICN7JGJvcmRlcldpZHRofSk7XHJcbiAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDEwMCUgNTAlLCAwJSAxMDAlLCAwJSAwJSk7XHJcbiAgICAgIH0gQGVsc2UgaWYgJHNpZGUgPT0gcmlnaHQge1xyXG4gICAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgLSAjeyRib3JkZXJXaWR0aH0pO1xyXG4gICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwJSA1MCUsIDEwMCUgMCUsIDEwMCUgMTAwJSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBjaGVja2JveCgkc2l6ZTogMWVtLCAkYm9yZGVyQ29sb3I6IHZhcigtLWJhc2ljKSwgJHNlbGVjdGVkQ29sb3I6IHZhcigtLWJyYW5kLWRhcmspLCAkc2VsZWN0ZWRCb3JkZXI6IHZhcigtLWJyYW5kLWRhcmspKSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1hcmdpbjogMDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gIEBzdXBwb3J0cyAoYXBwZWFyYW5jZTogbm9uZSkge1xyXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIHdpZHRoOiAkc2l6ZTtcclxuICAgIGhlaWdodDogJHNpemU7XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgd2lkdGg6ICRzaXplO1xyXG4gICAgICBoZWlnaHQ6ICRzaXplO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgIGJvcmRlci13aWR0aDogMnB4O1xyXG4gICAgICBib3JkZXItY29sb3I6IHZhci1yZ2JhKCRib3JkZXJDb2xvciwgMC43KTtcclxuXHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAkdmVyeUZhc3Q7XHJcbiAgICB9XHJcblxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICB3aWR0aDogJHNpemU7XHJcbiAgICAgIGhlaWdodDogJHNpemU7XHJcblxyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNhbGMtY29udHJhc3QoJHNlbGVjdGVkQ29sb3IpO1xyXG4gICAgICBtYXNrLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzkgSWpBZ01DQXpNVFl1TXpnZ01qVXdMallpUGp4d1lYUm9JR1E5SWswM01DNDBJREl4T1M0NFl6UXVOVFVnTkM0NCBOeUE1TGpJeUlEa3VOamNnTVRRdU1USWdNVFF1TVRrZ015NDNOU0F6TGpRM0lEY3VOekVnTmk0NE5TQXhNUzQ1IE15QTVMamMwSURVdU5TQXpMamM0SURFeExqa3lJRGN1TURnZ01UZ3VOemdnTmk0NE5TQTJMalkyTFM0eU15QXggTWk0M055MHpMamN6SURFM0xqazNMVGN1TmpJZ09DNDJMVFl1TkRJZ01UWXVOamN0TVRVdU1UY2dNak11T0RRdCBNak11TVRSTU16QTFMalk0SURVMExqWTVZemN1TWkwNElERXhMamM1TFRFNExqSTFJREV3TGpRM0xUSTVMakUzIExURXVNRFF0T0M0MU9TMDFMamN4TFRFMkxqVTFMVEV6TGpBeExUSXhMakk1TFRVdU5qVXRNeTQyTnkweE1pNHkgTmkwMExqazRMVEU0TGprdE15NDRNaTA0TGprZ01TNDFOaTB4Tmk0MU5DQTNMakl5TFRJeUxqUTRJREV6TGpjNCBMVFE0TGpNMElEVXpMak15TFRrMkxqVTVJREV3Tmk0M01TMHhORFF1T0RVZ01UWXdMakV4YkMwekxqRTVJRE11IE5UTXROakF1TkMwMk5pNDJNMk10T0M0ME1pMDVMakk1TFRFNUxqY3RNVE11T1RRdE16RXVPVEl0T1M0MU55MDAgTGpjeUlERXVOamt0T0M0NU9TQTBMalU0TFRFeUxqUTFJRGd1TVRrdE15NDROaUEwTGpBMExUWXVOemdnT1M0dyBOaTA0TGpFeklERTBMalE1TFRJdU16RWdPUzR5Tnk0eklERTRMakEzSURZdU5qSWdNalV1TVROc05qSXVPVFVnIE56QXVNelZhSWlCemRIbHNaVDBpWm1sc2JDMXlkV3hsT21WMlpXNXZaR1FpTHo0OEwzTjJaejRLXCIpO1xyXG4gICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICBtYXNrLXNpemU6IDYwJTtcclxuICAgICAgbWFzay1wb3NpdGlvbjogNTAlIDUwJTtcclxuICAgICAgdHJhbnNpdGlvbjogYWxsICR2ZXJ5RmFzdDtcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxuXHJcbiAgICAmOmNoZWNrZWQge1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkc2VsZWN0ZWRDb2xvcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0ZWRDb2xvcjtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRzZWxlY3RlZEJvcmRlcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZbZGlzYWJsZWRdIHtcclxuICAgICAgb3BhY2l0eTogMC4zO1xyXG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG5cclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhci1yZ2JhKC0tYmFzaWMsIDAuOCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiByYWRpbygkc2l6ZTogMWVtLCAkYm9yZGVyQ29sb3I6IHZhcigtLWJhc2ljKSwgJHNlbGVjdGVkQ29sb3I6IHZhcigtLWJyYW5kLWRhcmspLCAkc2VsZWN0ZWRCb3JkZXI6ICRzZWxlY3RlZENvbG9yKSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1hcmdpbjogMDtcclxuICBib3gtc2hhZG93OiBub25lO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgQHN1cHBvcnRzIChhcHBlYXJhbmNlOiBub25lKSB7XHJcbiAgICBhcHBlYXJhbmNlOiBub25lO1xyXG4gICAgd2lkdGg6ICRzaXplO1xyXG4gICAgaGVpZ2h0OiAkc2l6ZTtcclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB3aWR0aDogJHNpemU7XHJcbiAgICAgIGhlaWdodDogJHNpemU7XHJcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgIGJvcmRlci13aWR0aDogMnB4O1xyXG4gICAgICBib3JkZXItY29sb3I6IHZhci1yZ2JhKCRib3JkZXJDb2xvciwgMC43KTtcclxuXHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgdHJhbnNpdGlvbjogYWxsICR2ZXJ5RmFzdDtcclxuICAgIH1cclxuXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgei1pbmRleDogNTtcclxuXHJcbiAgICAgIHdpZHRoOiAwO1xyXG4gICAgICBoZWlnaHQ6IDA7XHJcblxyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAkdmVyeUZhc3Q7XHJcbiAgICB9XHJcblxyXG4gICAgJjpjaGVja2VkIHtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJHNlbGVjdGVkQm9yZGVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3RlZENvbG9yO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNhbGMtY29udHJhc3QoJHNlbGVjdGVkQ29sb3IpO1xyXG4gICAgICAgIHdpZHRoOiAkc2l6ZSAqIDAuNDU7XHJcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZSAqIDAuNDU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmW2Rpc2FibGVkXSB7XHJcbiAgICAgIG9wYWNpdHk6IDAuMztcclxuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuXHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXItbGlnaHRlbih2YXIoLS1iYXNpYyksIDc1JSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBzd2l0Y2goJHNpemU6IDEuMjVlbSwgJGNvbG9yOiB2YXIoLS1iYXNpYyksICRzZWxlY3RlZENvbG9yOiB2YXIoLS1icmFuZC1kYXJrKSkge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtYXJnaW46IDA7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICBAc3VwcG9ydHMgKGFwcGVhcmFuY2U6IG5vbmUpIHtcclxuICAgICRrbm9iU2l6ZTogY2FsYygjeyRzaXplfSAtIDhweCk7XHJcbiAgICBhcHBlYXJhbmNlOiBub25lO1xyXG4gICAgd2lkdGg6IDEuMjVlbSAqIDI7XHJcbiAgICBoZWlnaHQ6ICRzaXplO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTBweDtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0KTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAkZmFzdDtcclxuXHJcbiAgICAvKiBUaGUgdG9nZ2xlIGtub2IgKi9cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIGxlZnQ6IDJweDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICB3aWR0aDogJGtub2JTaXplO1xyXG4gICAgICBoZWlnaHQ6ICRrbm9iU2l6ZTtcclxuICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgJGZhc3Q7XHJcbiAgICB9XHJcblxyXG4gICAgLyogQ2hhbmdlIGNvbG9yIGFuZCBwb3NpdGlvbiB3aGVuIGNoZWNrZWQgKi9cclxuICAgICY6Y2hlY2tlZCB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRzZWxlY3RlZENvbG9yO1xyXG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkc2VsZWN0ZWRDb2xvcjtcclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgbGVmdDogY2FsYygxMDAlIC0gI3ska25vYlNpemV9IC0gMnB4KTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBjYWxjLWNvbnRyYXN0KCRzZWxlY3RlZENvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qIERyb3AgdGhlIG9wYWNpdHkgb2YgdGhlIHRvZ2dsZSBrbm9iIHdoZW4gdGhlIGlucHV0IGlzIGRpc2FibGVkICovXHJcbiAgICAmOmRpc2FibGVkIHtcclxuICAgICAgb3BhY2l0eTogMC40O1xyXG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHN1YnRsZUdyYWRpZW50KCRjb2xvciwgJGRlZzogMTI4ZGVnKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRkZWcsICRjb2xvciA0MCUsIHZhci1kYXJrZW4oJGNvbG9yLCA1JSkgMTAwJSk7XHJcbn1cclxuXHJcbkBtaXhpbiByZXNldEJ1dHRvbigpIHtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICBib3JkZXI6IDBweDtcclxuICBib3gtc2hhZG93OiBub25lO1xyXG4gIG91dGxpbmU6IDBweDtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB0ZXh0LWFsaWduOiB1bnNldDtcclxuICBhbGlnbi1pdGVtczogdW5zZXQ7XHJcbiAgcGFkZGluZzogMHB4O1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBjb2xvcjogdW5zZXQ7XHJcbn1cclxuXHJcbkBtaXhpbiBidXR0b25BREEoJGNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKSwgJGhvdmVyQ29sb3I6IHZhcigtLWFkYS1ob3ZlcikpIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgcGFkZGluZzogMC42ZW0gMS4yZW07XHJcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tbGlnaHQtZ3JleSk7XHJcblxyXG4gIGxpbmUtaGVpZ2h0OiAxLjFlbTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcclxuICBmb250LWZhbWlseTogdmFyKC0tYmFzaWMtZm9udCk7XHJcbiAgb3V0bGluZS1vZmZzZXQ6IDA7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIHRyYW5zaXRpb246IGFsbCAkdmVyeUZhc3Q7XHJcbiAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoJGNvbG9yKTtcclxuXHJcbiAgJltkaXNhYmxlZF0sXHJcbiAgJlthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSB7XHJcbiAgICBvcGFjaXR5OiAwLjU7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBob3ZlckFuZEZvY3VzIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICY6bm90KFtkaXNhYmxlZF0pOm5vdChbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0pIHtcclxuICAgICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoJGhvdmVyQ29sb3IpO1xyXG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWxpZ2h0LWdyZXkpO1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIkB1c2UgXCJzaGFyZWQtdmFyaWFibGVzXCIgYXMgKjtcclxuQHVzZSBcInNoYXJlZC1taXhpbnNcIiBhcyAqO1xyXG5cclxuLy8gS0VZRlJBTUUgQU5JTUFUSU9OUyBGT1IgWk9PTSBTTElERVNIT1cgLy9cclxuQGtleWZyYW1lcyB6b29tSW4ge1xyXG4gIGZyb20ge1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xyXG4gIH1cclxuICB0byB7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XHJcbiAgfVxyXG59XHJcbkBrZXlmcmFtZXMgem9vbU91dCB7XHJcbiAgZnJvbSB7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XHJcbiAgfVxyXG4gIHRvIHtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcclxuICB9XHJcbn1cclxuQGtleWZyYW1lcyBmYWRlSW4ge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbn1cclxuQGtleWZyYW1lcyBmYWRlT3V0IHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59XHJcblxyXG5AbGF5ZXIgYmFzZSB7XHJcbiAgI2JhY2tncm91bmQge1xyXG4gICAgW2RhdGEtc2xpZGVzaG93PVwiem9vbVNsaWRlc2hvd1wiXSB7XHJcbiAgICAgICYucmV0dXJuUGF1c2Uge1xyXG4gICAgICAgIC5iZ0ltZ1dyYXBwZXI6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLmJnSW1nV3JhcHBlciB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDAuODVzO1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcclxuXHJcbiAgICAgICAgJi5jdXJyZW50IHtcclxuICAgICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcclxuICAgICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucHJldiB7XHJcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogZmFkZU91dDtcclxuICAgICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcclxuICAgICAgICAgIC5iZ0ltZy50cmFucyB7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiB6b29tSW47XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcclxuICAgICAgICAgIC5iZ0ltZy50cmFucyB7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuYmdJbWcge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcclxuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDEwcztcclxuICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcclxuXHJcbiAgICAgICAgLy9iYWNrZ3JvdW5kIHBvc3Rpb24gKFgsWSlcclxuICAgICAgICAmW2RhdGEtYmctcG9zPVwiY2VudGVyXCJdIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZbZGF0YS1iZy1wb3M9XCJjZW50ZXIgbGVmdFwiXSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMCUgNTAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmW2RhdGEtYmctcG9zPVwiY2VudGVyIHJpZ2h0XCJdIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDkwJSA1MCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZbZGF0YS1iZy1wb3M9XCJ0b3AgbGVmdFwiXSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMCUgMTAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmW2RhdGEtYmctcG9zPVwidG9wIG1pZGRsZVwiXSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMTAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmW2RhdGEtYmctcG9zPVwidG9wIHJpZ2h0XCJdIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDkwJSAxMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZbZGF0YS1iZy1wb3M9XCJib3R0b20gbGVmdFwiXSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMCUgOTAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmW2RhdGEtYmctcG9zPVwiYm90dG9tIG1pZGRsZVwiXSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJltkYXRhLWJnLXBvcz1cImJvdHRvbSBsZWZ0XCJdIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDkwJSA5MCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvL2VzdGFibGlzaGluZyB0aGUgb3JpZ2luIG9mIHRoZSB6b29tIGFuaW1hdGlvbiB3aGljaFxyXG4gICAgICAgICZbZGF0YS1hbmltYXRpb249XCJjZW50ZXJcIl0ge1xyXG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJltkYXRhLWFuaW1hdGlvbj1cInRvcCByaWdodFwiXSB7XHJcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgcmlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZbZGF0YS1hbmltYXRpb249XCJ0b3AgbGVmdFwiXSB7XHJcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJltkYXRhLWFuaW1hdGlvbj1cImJvdHRvbSByaWdodFwiXSB7XHJcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gcmlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZbZGF0YS1hbmltYXRpb249XCJib3R0b20gbGVmdFwiXSB7XHJcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gbGVmdDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYucGF1c2VkIHtcclxuICAgICAgICAuYmdJbWdXcmFwcGVyLnRyYW5zIHtcclxuICAgICAgICAgIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5iZ0ltZy50cmFucyB7XHJcbiAgICAgICAgICBhbmltYXRpb24tcGxheS1zdGF0ZTogcGF1c2VkO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJnSW1nLFxyXG4gICAgLnNlY3Rpb25CZyB7XHJcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgIEBpbmNsdWRlIGJnUG9zKCk7XHJcbiAgICB9XHJcbiAgICB2aWRlbyB7XHJcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodC1ncmV5KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbiNiYWNrZ3JvdW5kIHtcclxuICBbZGF0YS1pcy1sb2FkaW5nPVwidHJ1ZVwiXSAmIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4jYmFja2dyb3VuZFBsYXlCdG4ge1xyXG4gIEBpbmNsdWRlIGRpc2NvdmVyeVRvb2xzQWN0aXZlIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBhY3RpdmVEaWFsb2coXCJ1dGlsaXR5TWVudVwiKSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgYWN0aXZlWm9uZShcInNsaWRlc1wiKSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuXHJcbiAgW2RhdGEtaXMtbG9hZGluZz1cInRydWVcIl0gJiB7XHJcbiAgICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAuaWNvbi1wbGF5IHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG4gICYucGF1c2Uge1xyXG4gICAgLmljb24tcGxheSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gICAgLmljb24tcGF1c2Uge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJAdXNlIFwiLi4vX2dsb2JhbC9zaGFyZWQtdmFyaWFibGVzXCIgYXMgKjtcclxuQHVzZSBcIi4uL19nbG9iYWwvc2hhcmVkLWJhY2tncm91bmRcIjtcclxuQHVzZSBcIm1peGluc1wiIGFzICo7XHJcblxyXG46cm9vdCB7XHJcbiAgLS1iZy1vZmZzZXQ6IDUwMHB4O1xyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxNDAwcHgpIHtcclxuICAgIC0tYmctb2Zmc2V0OiA0MDBweDtcclxuICB9XHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xyXG4gICAgLS1iZy1vZmZzZXQ6IDMwMHB4O1xyXG4gIH1cclxuICBAbWVkaWEgKG1heC13aWR0aDogMTA3MHB4KSB7XHJcbiAgICAtLWJnLW9mZnNldDogMjAwcHg7XHJcbiAgfVxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkdHdlZW4pIHtcclxuICAgIC0tYmctb2Zmc2V0OiAwcHg7XHJcbiAgfVxyXG59XHJcblxyXG5AcHJvcGVydHkgLS1wMSB7XHJcbiAgc3ludGF4OiBcIjxwZXJjZW50YWdlPlwiO1xyXG4gIGluaGVyaXRzOiB0cnVlO1xyXG4gIGluaXRpYWwtdmFsdWU6IDAlO1xyXG59XHJcblxyXG5AcHJvcGVydHkgLS1wMiB7XHJcbiAgc3ludGF4OiBcIjxwZXJjZW50YWdlPlwiO1xyXG4gIGluaGVyaXRzOiB0cnVlO1xyXG4gIGluaXRpYWwtdmFsdWU6IDAlO1xyXG59XHJcblxyXG5AcHJvcGVydHkgLS1wMyB7XHJcbiAgc3ludGF4OiBcIjxwZXJjZW50YWdlPlwiO1xyXG4gIGluaGVyaXRzOiB0cnVlO1xyXG4gIGluaXRpYWwtdmFsdWU6IDAlO1xyXG59XHJcblxyXG5AcHJvcGVydHkgLS1wNCB7XHJcbiAgc3ludGF4OiBcIjxwZXJjZW50YWdlPlwiO1xyXG4gIGluaGVyaXRzOiB0cnVlO1xyXG4gIGluaXRpYWwtdmFsdWU6IDAlO1xyXG59XHJcblxyXG5AcHJvcGVydHkgLS1vMSB7XHJcbiAgc3ludGF4OiBcIjxudW1iZXI+XCI7XHJcbiAgaW5oZXJpdHM6IHRydWU7XHJcbiAgaW5pdGlhbC12YWx1ZTogMTtcclxufVxyXG5cclxuQHByb3BlcnR5IC0tbzIge1xyXG4gIHN5bnRheDogXCI8bnVtYmVyPlwiO1xyXG4gIGluaGVyaXRzOiB0cnVlO1xyXG4gIGluaXRpYWwtdmFsdWU6IDE7XHJcbn1cclxuXHJcbkBwcm9wZXJ0eSAtLW8zIHtcclxuICBzeW50YXg6IFwiPG51bWJlcj5cIjtcclxuICBpbmhlcml0czogdHJ1ZTtcclxuICBpbml0aWFsLXZhbHVlOiAxO1xyXG59XHJcblxyXG5AcHJvcGVydHkgLS1vNCB7XHJcbiAgc3ludGF4OiBcIjxudW1iZXI+XCI7XHJcbiAgaW5oZXJpdHM6IHRydWU7XHJcbiAgaW5pdGlhbC12YWx1ZTogMTtcclxufVxyXG5cclxuI2JhY2tncm91bmQge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB0b3A6IHZhcigtLWhlYWRlci1oZWlnaHQpO1xyXG4gIGxlZnQ6IDA7XHJcbiAgd2lkdGg6IDEwMHZ3O1xyXG4gIGhlaWdodDogY2FsYygxMDB2aCAtIHZhcigtLWhlYWRlci1oZWlnaHQpKTtcclxuICB0cmFuc2l0aW9uOiBhbGwgJG1lZGl1bTtcclxuXHJcbiAgLy8gIFtkYXRhLXNob3djYXNlLWJhY2tncm91bmQ9XCJ0cnVlXCJdICYge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gICY6YWZ0ZXIge1xyXG4gICAgLy8gVmFyaWFibGVzIHRvIGNvbnRyb2wgZWFjaCBzZWdtZW50IG9mIHRoZSBncmFkaWVudCwgdXNlZCBmb3IgYW5pbWF0aW9uLlxyXG4gICAgLS1wMTogMCU7XHJcbiAgICAtLXAyOiAyMCU7XHJcbiAgICAtLXAzOiA2NSU7XHJcbiAgICAtLXA0OiAxMDAlO1xyXG4gICAgLS1vMTogMDtcclxuICAgIC0tbzI6IDA7XHJcbiAgICAtLW8zOiAxO1xyXG4gICAgLS1vNDogMTtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIHotaW5kZXg6IDU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdmFyLXJnYmEoLS1saWdodCwgLS1vMSkgdmFyKC0tcDEpLCB2YXItcmdiYSgtLWxpZ2h0LCAtLW8yKSB2YXIoLS1wMiksIHZhci1yZ2JhKC0tbGlnaHQsIC0tbzMpIHZhcigtLXAzKSwgdmFyLXJnYmEoLS1saWdodCwgLS1vNCkgdmFyKC0tcDQpKTtcclxuICAgIC8vYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB2YXItcmdiYSgtLWMyLCAwKSwgdmFyLXJnYmEoLS1jMSwgMSkpO1xyXG4gICAgLy9iYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHZhci1yZ2JhKC0tbGlnaHQsIDApLCB2YXItcmdiYSgtLWxpZ2h0LCAxKSA2MCUpO1xyXG4gICAgdHJhbnNpdGlvbjpcclxuICAgICAgLS1wMSAkbWVkaXVtLFxyXG4gICAgICAtLXAyICRtZWRpdW0sXHJcbiAgICAgIC0tcDMgJG1lZGl1bSxcclxuICAgICAgLS1wNCAkbWVkaXVtLFxyXG4gICAgICAtLW8xICRtZWRpdW0sXHJcbiAgICAgIC0tbzIgJG1lZGl1bSxcclxuICAgICAgLS1vMyAkbWVkaXVtLFxyXG4gICAgICAtLW80ICRtZWRpdW07XHJcbiAgfVxyXG5cclxuICA+ICoge1xyXG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDM1MHB4KTtcclxuICB9XHJcbiAgLy8gIH1cclxuXHJcbiAgLmNvdmVyLXNsaWRlcixcclxuICB2aWRlbyxcclxuICAubWFpbkJnSW1nIHtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBpbnNldDogMDtcclxuICB9XHJcbiAgLnNlY3Rpb25CZ0hvbGRlciB7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgaW5zZXQ6IDA7XHJcbiAgICAubWVudU91dCAmIHtcclxuICAgICAgei1pbmRleDogMztcclxuICAgIH1cclxuICAgICZbZGF0YS1zZWN0aW9uLWJnLW9ubHk9XCJ0cnVlXCJdIHtcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xyXG4gICAgICAuaW5TZWN0aW9uICYge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jb3Zlci1zbGlkZXIge1xyXG4gICAgLmJnSW1nIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYmdJbWcsXHJcbiAgLnNlY3Rpb25CZyB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLWJnLW9mZnNldCkpO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gIH1cclxuXHJcbiAgdmlkZW8ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLWJnLW9mZnNldCkpO1xyXG4gIH1cclxuXHJcbiAgLm1lbnVPdXQgJiB7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBoZWlnaHQ6IDEwMHZoO1xyXG4gICAgZmlsdGVyOiBibHVyKDEwcHgpO1xyXG4gICAgdmlkZW8sXHJcbiAgICAuYmdJbWcsXHJcbiAgICAuc2VjdGlvbkJnIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgLS1wMTogNTAlO1xyXG4gICAgICAtLXAyOiA1MCU7XHJcbiAgICAgIC0tcDM6IDUwJTtcclxuICAgICAgLS1wNDogMTAwJTtcclxuICAgICAgLS1vMTogMTtcclxuICAgICAgLS1vMjogMTtcclxuICAgICAgLS1vMzogMTtcclxuICAgICAgLS1vNDogMC4yO1xyXG4gICAgfVxyXG4gIH1cclxuICBbZGF0YS1zbGlkZT1cImNlbnRlcmVkXCJdLm1lbnVPdXQgJixcclxuICBbZGF0YS1zbGlkZT1cImZ1bGxcIl0ubWVudU91dCAmIHtcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAtLXAxOiAwJTtcclxuICAgICAgLS1wMjogNDAlO1xyXG4gICAgICAtLXAzOiA3MCU7XHJcbiAgICAgIC0tcDQ6IDEwMCU7XHJcbiAgICAgIC0tbzE6IDAuOTtcclxuICAgICAgLS1vMjogMTtcclxuICAgICAgLS1vMzogMTtcclxuICAgICAgLS1vNDogMC45O1xyXG4gICAgfVxyXG4gIH1cclxuICBbZGF0YS1zbGlkZT1cImZyYW1lXCJdLm1lbnVPdXQgJiB7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgLS1wMTogMCU7XHJcbiAgICAgIC0tcDI6IDQwJTtcclxuICAgICAgLS1wMzogNzAlO1xyXG4gICAgICAtLXA0OiAxMDAlO1xyXG4gICAgICAtLW8xOiAwLjg1O1xyXG4gICAgICAtLW8yOiAwLjk7XHJcbiAgICAgIC0tbzM6IDAuOTtcclxuICAgICAgLS1vNDogMC44NTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbiNiYWNrZ3JvdW5kUGxheUJ0biB7XHJcbiAgQGluY2x1ZGUgYnV0dG9uO1xyXG4gIHdpZHRoOiA0MHB4O1xyXG4gIGhlaWdodDogNDBweDtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgYm90dG9tOiAxMHB4O1xyXG4gIGxlZnQ6IDEwcHg7XHJcbiAgei1pbmRleDogMTUwO1xyXG4gIHBhZGRpbmc6IDhweDtcclxuXHJcbiAgQGluY2x1ZGUgZGlzY292ZXJ5VG9vbHNBY3RpdmUge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGFjdGl2ZURpYWxvZyhcInV0aWxpdHlNZW51XCIpIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBhY3RpdmVEaWFsb2coXCJzZWFyY2hcIikge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGFjdGl2ZVpvbmUoXCJzbGlkZXNcIikge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gIFtkYXRhLWlzLWxvYWRpbmc9XCJ0cnVlXCJdICYge1xyXG4gICAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLnRleHQge1xyXG4gICAgQGluY2x1ZGUgdG9vbFRpcChyaWdodCk7XHJcbiAgICBmb250LXNpemU6IDAuOGVtO1xyXG4gIH1cclxuXHJcbiAgLmljb24tcGxheSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuICAmLnBhdXNlIHtcclxuICAgIC5pY29uLXBsYXkge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICAgIC5pY29uLXBhdXNlIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGhvdmVyQW5kRm9jdXMge1xyXG4gICAgLnRleHQge1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICBzY2FsZTogMTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIE1FRElBIFFVRVJJRVMgJiBCUk9XU0VSLVNQRUNJRklDIEFESlVTVE1FTlRTIEJFTE9XIC8vXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkbWQpIHtcclxuICAjYmFja2dyb3VuZCB7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgLy8gVmFyaWFibGVzIHRvIGNvbnRyb2wgZWFjaCBzZWdtZW50IG9mIHRoZSBncmFkaWVudCwgdXNlZCBmb3IgYW5pbWF0aW9uLlxyXG4gICAgICAtLXAxOiAwJTtcclxuICAgICAgLS1wMjogMjAlO1xyXG4gICAgICAtLXAzOiA1NSU7XHJcbiAgICAgIC0tcDQ6IDEwMCU7XHJcbiAgICAgIC0tbzE6IDA7XHJcbiAgICAgIC0tbzI6IDA7XHJcbiAgICAgIC0tbzM6IDAuOTU7XHJcbiAgICAgIC0tbzQ6IDE7XHJcbiAgICB9XHJcblxyXG4gICAgLm1lbnVPdXQgJiB7XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIC0tcDE6IDAlO1xyXG4gICAgICAgIC0tcDI6IDQwJTtcclxuICAgICAgICAtLXAzOiA3MCU7XHJcbiAgICAgICAgLS1wNDogMTAwJTtcclxuICAgICAgICAtLW8xOiAwLjk7XHJcbiAgICAgICAgLS1vMjogMTtcclxuICAgICAgICAtLW8zOiAxO1xyXG4gICAgICAgIC0tbzQ6IDAuOTtcclxuICAgICAgICAvLyBsZWZ0OiAwO1xyXG4gICAgICAgIC8vIHJpZ2h0OiBhdXRvO1xyXG4gICAgICAgIC8vIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIC8vIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgtOTBkZWcsIHZhci1yZ2JhKC0tbGlnaHQsIDAuOSksIHZhci1yZ2JhKC0tbGlnaHQsIDEpIDMwJSwgdmFyLXJnYmEoLS1saWdodCwgMSkgNjAlLCB2YXItcmdiYSgtLWxpZ2h0LCAwLjkpKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6ICR0d2Vlbikge1xyXG4gICNiYWNrZ3JvdW5kIHtcclxuICAgIGhlaWdodDogNzB2aDtcclxuICAgIC5jb3Zlci1zbGlkZXIge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIC5tZW51T3V0ICYge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIC8vIFZhcmlhYmxlcyB0byBjb250cm9sIGVhY2ggc2VnbWVudCBvZiB0aGUgZ3JhZGllbnQsIHVzZWQgZm9yIGFuaW1hdGlvbi5cclxuICAgICAgLS1wMTogMCU7XHJcbiAgICAgIC0tcDI6IDIwJTtcclxuICAgICAgLS1wMzogNTUlO1xyXG4gICAgICAtLXA0OiAxMDAlO1xyXG4gICAgICAtLW8xOiAwO1xyXG4gICAgICAtLW8yOiAwO1xyXG4gICAgICAtLW8zOiAwLjk1O1xyXG4gICAgICAtLW80OiAxO1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuICAjYmFja2dyb3VuZFBsYXlCdG4ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYm90dG9tOiBhdXRvO1xyXG4gICAgbGVmdDogYXV0bztcclxuICAgIHJpZ2h0OiAxMHB4O1xyXG4gICAgdG9wOiBjYWxjKHZhcigtLWhlYWRlci1oZWlnaHQpICsgMTBweCk7XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogJHNtKSB7XHJcbiAgI2JhY2tncm91bmQge1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIC0tcDE6IDAlO1xyXG4gICAgICAtLXAyOiAyMCU7XHJcbiAgICAgIC0tcDM6IDEwMCU7XHJcbiAgICAgIC0tcDQ6IDEwMCU7XHJcbiAgICAgIC0tbzE6IDA7XHJcbiAgICAgIC0tbzI6IDE7XHJcbiAgICAgIC0tbzM6IDE7XHJcbiAgICAgIC0tbzQ6IDE7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgdG9wOiBtYXgoMTAwcHgsIDI1dmgpO1xyXG4gICAgICBoZWlnaHQ6IG1heChjYWxjKDEwMCUgLSAxMDBweCksIGNhbGMoMTAwJSAtIDUwdmgpKTtcclxuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgdmFyLXJnYmEoLS1saWdodCwgLS1vMSkgdmFyKC0tcDEpLCB2YXItcmdiYSgtLWxpZ2h0LCAtLW8yKSB2YXIoLS1wMiksIHZhci1yZ2JhKC0tbGlnaHQsIC0tbzMpIHZhcigtLXAzKSwgdmFyLXJnYmEoLS1saWdodCwgLS1vNCkgdmFyKC0tcDQpKTtcclxuICAgIH1cclxuICAgIC5iZ0ltZyxcclxuICAgIC5zZWN0aW9uQmcsXHJcbiAgICB2aWRlbyxcclxuICAgIC5tYWluQmdJbWcsXHJcbiAgICAuc2VjdGlvbkJnSG9sZGVyIHtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBoZWlnaHQ6IG1heCgzMzBweCwgNTB2aCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogJHh4cykge1xyXG4gICNiYWNrZ3JvdW5kUGxheUJ0biB7XHJcbiAgICB3aWR0aDogMzJweDtcclxuICAgIGhlaWdodDogMzJweDtcclxuICAgIGZvbnQtc2l6ZTogMC45ZW07XHJcbiAgfVxyXG59XHJcbiIsIkB1c2UgXCJtaXhpbnNcIiBhcyAqO1xyXG5AdXNlIFwiLi4vX2dsb2JhbC9zaGFyZWQtdmFyaWFibGVzXCIgYXMgKjtcclxuXHJcbi8vIEJFR0lOIEJBU0UgU1RZTEVTIC0gRE8gTk9UIENIQU5HRSBUSEVTRSBVTkxFU1MgWU9VIEtOT1cgV0hBVCBZT1UnUkUgRE9JTkcgLy9cclxuXHJcbmJvZHkge1xyXG4gIGJhY2tncm91bmQ6IHZhcigtLWxpZ2h0KTtcclxufVxyXG5cclxuLmJ1ZmZlciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHotaW5kZXg6IDEyMDtcclxuICAvLyBmbGV4LWdyb3c6IDE7XHJcbiAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIDU1cHgpO1xyXG59XHJcbiNiYWNrZ3JvdW5kLm1lbWJlcnNoaXBCZyB7XHJcbiAgdmlkZW8ge1xyXG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDM1MHB4KTtcclxuICB9XHJcbn1cclxuXHJcbmZvb3RlciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiA1NXB4O1xyXG4gIHBhZGRpbmc6IDAgMTVweDtcclxuICBiYWNrZ3JvdW5kOiAjMDAwO1xyXG4gIHotaW5kZXg6IDk5OTk7XHJcblxyXG4gIC5hZGdMb2dvV3JhcCB7XHJcbiAgICBhIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGJhY2tncm91bmQ6IGJsYWNrO1xyXG4gICAgICBAaW5jbHVkZSBob3ZlciB7XHJcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tbGlnaHQpO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJhc2ljKTtcclxuICAgICAgfVxyXG4gICAgICAmOmZvY3VzIHtcclxuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1saWdodCk7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYmFzaWMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmFkZ0xvZ28ge1xyXG4gICAgICBoZWlnaHQ6IDM4cHg7XHJcbiAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnNvY2lhbE1lZGlhIHtcclxuICBtYXgtd2lkdGg6IDUwMHB4O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIC5zb2NpYWxNZWRpYVRpdGxlIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gIH1cclxuXHJcbiAgLnNvY2lhbE1lZGlhTG9naW5zIHtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XHJcbiAgICBnYXA6IDEwcHg7XHJcbiAgICAuZmFjZWJvb2tMb2dpbiB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHJnYig4LCAxMDIsIDI1NSkgIWltcG9ydGFudDtcclxuICAgICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAuZ29vZ2xlTG9naW4ge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAjZWJlYmVjICFpbXBvcnRhbnQ7XHJcbiAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLnR3aXR0ZXJMb2dpbiB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICMxNDE3MWEgIWltcG9ydGFudDtcclxuICAgICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAudGV4dCB7XHJcbiAgICAgICAgQGluY2x1ZGUgc2NyZWVuUmVhZGVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuYXBwbGVMb2dpbiB7XHJcbiAgICAgIGJhY2tncm91bmQ6IGJsYWNrICFpbXBvcnRhbnQ7XHJcbiAgICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgPiBhIHtcclxuICAgICAgQGluY2x1ZGUgZmxleENlbnRlcjtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XHJcbiAgICAgIGhlaWdodDogNTBweDtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICBwYWRkaW5nOiAxZW0gIWltcG9ydGFudDtcclxuICAgICAgYm9yZGVyOiAwcHg7XHJcblxyXG4gICAgICAuc3ZnSWNvbiB7XHJcbiAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogN3B4O1xyXG4gICAgICB9XHJcbiAgICAgIC50ZXh0IHtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICBmb250LXNpemU6IDEuMWVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuYXBwbGVMb2dpbiB7XHJcbiAgICAgIGhlaWdodDogNDVweDtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICA+IGRpdiB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8qLmxvZ2luV3JhcHBlcltkYXRhLWhpZGRlbi1mb3ItZ3Vlc3Q9XCJ0cnVlXCJdIHtcclxuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn0qL1xyXG5cclxuLmd1ZXN0V3JhcHBlckhvbGRlciB7XHJcbiAgbWF4LWhlaWdodDogMDtcclxuICBvcGFjaXR5OiAwO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgdHJhbnNpdGlvbjogYWxsICRzbG93O1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbn1cclxuXHJcbi8vVGhlc2Ugc3R5bGUgaXMganVzdCB1c2VkIGZvciB0aGUgSG9uZXlwb3QgZmVhdHVyZS4gVGhlc2Ugc3R5bGVzIGtlZXAgdGhlIGZpZWxkIGZyb20gYmVpbmcgc2VlbiBieSBodW1hbnMgYW5kIHRoZXkgc2hvdWxkIG5vdCBiZSBjaGFuZ2VkIG9yIHJlbW92ZWQuXHJcbi5maWVsZFdyYXBwZXIuZW5yb2xsZWVOYW1lIHtcclxuICBvcGFjaXR5OiAwO1xyXG4gIEBpbmNsdWRlIGFic29sdXRlO1xyXG4gIHdpZHRoOiAwO1xyXG4gIGhlaWdodDogMDtcclxuICB6LWluZGV4OiAtMTtcclxufVxyXG5cclxuLmZpZWxkV3JhcHBlci5waG9uZSB7XHJcbiAgI1Bob25lTnVtYmVyIHtcclxuICAgIHBhZGRpbmctbGVmdDogNTBweDtcclxuICB9XHJcblxyXG4gIC5pdGkge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBjb2xvcjogdmFyKC0tYmFzaWMpO1xyXG5cclxuICAgIC5pdGlfX2NvdW50cnktY29udGFpbmVyIHtcclxuICAgICAgdG9wOiAxOHB4O1xyXG4gICAgICBib3R0b206IDFweDtcclxuICAgIH1cclxuXHJcbiAgICAuaXRpX19zZWxlY3RlZC1jb3VudHJ5IHtcclxuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKSAwIDAgdmFyKC0tcmFkaXVzKTtcclxuICAgIH1cclxuXHJcbiAgICAuaXRpX19kcm9wZG93bi1jb250ZW50IHtcclxuICAgICAgei1pbmRleDogMztcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbjpyb290IHtcclxuICAtLWl0aS1wYXRoLWZsYWdzLTF4OiB1cmwoXCIvSW1hZ2VzL2ZsYWdzLnBuZ1wiKTtcclxuICAtLWl0aS1wYXRoLWZsYWdzLTJ4OiB1cmwoXCIvSW1hZ2VzL2ZsYWdzQDJ4LnBuZ1wiKTtcclxuICAtLWl0aS1wYXRoLWdsb2JlLTF4OiB1cmwoXCIvSW1hZ2VzL2dsb2JlLnBuZ1wiKTtcclxuICAtLWl0aS1wYXRoLWdsb2JlLTJ4OiB1cmwoXCIvSW1hZ2VzL2dsb2JlQDJ4LnBuZ1wiKTtcclxufVxyXG5cclxuLy8gRU5EIEJBU0UgU1RZTEVTIC8vXHJcblxyXG46cm9vdCB7XHJcbiAgLS1sb2dpbi13OiA2MDBweDtcclxuICAtLWxvZ2luLWhlYWRlci1oZWlnaHQ6IDE1NXB4O1xyXG59XHJcblxyXG4ubWVtYmVyc2hpcEJ1ZmZlciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICB3aWR0aDogMTAwJTtcclxuICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xyXG4gIHBhZGRpbmctdG9wOiAzMHB4O1xyXG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMHB4IDBweCA1cHggcmdiYShibGFjaywgMC4zNSkpO1xyXG59XHJcblxyXG4jYmFja2dyb3VuZCB7XHJcbiAgdG9wOiAwO1xyXG4gIGhlaWdodDogMTAwdmg7XHJcbn1cclxuXHJcbiNiYWNrZ3JvdW5kUGxheUJ0biB7XHJcbiAgdG9wOiBhdXRvO1xyXG4gIGJvdHRvbTogMTBweDtcclxufVxyXG5cclxuLmxvZ2luVGVhc2VyVmlkZW8ge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB0b3A6IDUwJTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgbGVmdDogNTBweDtcclxuICByaWdodDogNjgwcHg7XHJcbiAgei1pbmRleDogOTk7XHJcblxyXG4gIC52aWRlb0hvbGRlciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIHBhZGRpbmc6IDU2LjI1JSAwIDA7XHJcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQtZGFyaykgdXJsKFwiL2ltYWdlcy9sb2FkLXNjcmVlbi5qcGdcIikgbm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuXHJcbiAgICAmW2RhdGEtdmltZW8taW5pdGlhbGl6ZWRdIHtcclxuICAgICAgYmFja2dyb3VuZDogdmFyKC0tYmFzaWMpO1xyXG4gICAgfVxyXG5cclxuICAgIC5wbGF5ZXIsXHJcbiAgICBpZnJhbWUge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgei1pbmRleDogMjtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgYm9yZGVyOiAwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuaGVhZGVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIG1pbi1oZWlnaHQ6IHZhcigtLWxvZ2luLWhlYWRlci1oZWlnaHQpO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1heC13aWR0aDogdmFyKC0tbG9naW4tdyk7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgYm9yZGVyLWJvdHRvbTogMjBweCBzb2xpZCB2YXIoLS1icmFuZC1icmlnaHQpO1xyXG4gIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KHZhcigtLWxpZ2h0KSk7XHJcbiAgcGFkZGluZzogMjVweCAwcHggMjBweDtcclxuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpIHZhcigtLXJhZGl1cykgMCAwO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gIC5icmFuZGluZyB7XHJcbiAgICBAaW5jbHVkZSBmbGV4Q2VudGVyKCRkaXI6IGNvbHVtbik7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBwYWRkaW5nOiAwcHggMTBweDtcclxuICB9XHJcbiAgLmxvZ29XcmFwIHtcclxuICAgIEBpbmNsdWRlIGZsZXhDZW50ZXI7XHJcbiAgICBtYXgtd2lkdGg6IDMxNXB4O1xyXG4gICAgaGVpZ2h0OiA3MHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgLmxvZ28ge1xyXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XHJcbiAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAub3JpZW50YXRpb25UaXRsZSB7XHJcbiAgICBmb250LXNpemU6IDEuMWVtO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcclxuICAgIHBhZGRpbmctdG9wOiAyNXB4O1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbiNtZW1iZXJzaGlwIHtcclxuICAtLWZvY3VzLW91dGxpbmUtY29sb3I6IHZhcigtLWJyYW5kLWRhcmspO1xyXG4gIC0tZm9jdXMtc2hhZG93LWNvbG9yOiB2YXIoLS1saWdodCk7XHJcbiAgbWF4LXdpZHRoOiB2YXIoLS1sb2dpbi13KTtcclxuICB3aWR0aDogMTAwJTtcclxuICBmbGV4LWdyb3c6IDE7XHJcbiAgY29sb3I6IGNhbGMtY29udHJhc3QodmFyKC0tYnJhbmQtZGFyaykpO1xyXG4gIGJhY2tncm91bmQ6IHZhcigtLWJyYW5kLWRhcmspO1xyXG4gIHBhZGRpbmc6IDQwcHggMjVweCA2MHB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDAgMCB2YXIoLS1yYWRpdXMpIHZhcigtLXJhZGl1cyk7XHJcblxyXG4gIC50aXRsZUFyZWEge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuXHJcbiAgICAmLmFjY291bnRQcm9maWxlciB7XHJcbiAgICAgIGgxIHtcclxuICAgICAgICBmb250LXNpemU6IDJlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmVycm9yTWVzc2FnZSxcclxuICAuZmllbGQtdmFsaWRhdGlvbi1lcnJvciB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgtLXdyb25nKTtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBwYWRkaW5nOiA1cHggMTBweDtcclxuICAgIG1hcmdpbjogMnB4IGF1dG8gMTBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXItcmdiYSgtLWxpZ2h0LCAwLjQpO1xyXG4gIH1cclxuXHJcbiAgLmxvZ2luTmF2IHtcclxuICAgIEBpbmNsdWRlIGZsZXhDZW50ZXI7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyLXJnYmEoLS1saWdodCwgMC4zKTtcclxuICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcbiAgICBwYWRkaW5nLXRvcDogMTVweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogMC45ZW07XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGEge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgY29sb3I6IGNhbGMtY29udHJhc3QodmFyKC0tYnJhbmQtZGFyaykpO1xyXG4gICAgICBwYWRkaW5nOiAzcHggNXB4O1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogMHB4O1xyXG4gICAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDVweDtcclxuICAgICAgQGluY2x1ZGUgaG92ZXIge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgfVxyXG4gICAgICAmOmZvY3VzIHtcclxuICAgICAgICBvdXRsaW5lOiAycHggc29saWQgY2FsYy1jb250cmFzdCh2YXIoLS1icmFuZC1kYXJrKSk7XHJcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgID4gKiB7XHJcbiAgICAgIG1hcmdpbjogMCA1cHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZm9ybVdyYXAge1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcclxuICAgICAgQGluY2x1ZGUgY2hlY2tib3goJGJvcmRlckNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKSwgJHNlbGVjdGVkQ29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCksICRzZWxlY3RlZEJvcmRlcjogdmFyKC0tbGlnaHQpKTtcclxuICAgIH1cclxuXHJcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gfiBsYWJlbCxcclxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB+IGxhYmVsIHtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAwLjM1ZW07XHJcbiAgICB9XHJcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xyXG4gICAgICBmb250LXNpemU6IDEuMWVtO1xyXG4gICAgICBAaW5jbHVkZSByYWRpbygkc2VsZWN0ZWRCb3JkZXI6IHZhcigtLWJyYW5kLWRhcmspLCAkc2VsZWN0ZWRDb2xvcjogdmFyKC0taG92ZXIpLCAkYm9yZGVyQ29sb3I6IHZhcigtLWJyYW5kLWRhcmspKTtcclxuICAgIH1cclxuXHJcbiAgICAuc3R5bGVkRmllbGRzZXQge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodCk7XHJcbiAgICAgIGNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcclxuICAgICAgbGVnZW5kIHtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJyYW5kLWRhcmspO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1saWdodCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5mb3JtV3JhcC5sb2dpbiB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBtYXgtd2lkdGg6IDQ1MHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuXHJcbiAgICAuc3RhdHVzTWVzc2FnZSB7XHJcbiAgICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KHZhcigtLWJsYWNrKSk7XHJcbiAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xyXG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgIG1hcmdpbjogMTBweCBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgIC5ob3J6RGl2aWRlciB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBtYXJnaW46IDBweCAwIDA7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuICAgICAgLy8gLmxpbmUge1xyXG4gICAgICAvLyAgIGhlaWdodDogMnB4O1xyXG4gICAgICAvLyAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgLy8gICBiYWNrZ3JvdW5kOiB2YXIoLS1saWdodCk7XHJcbiAgICAgIC8vICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcclxuICAgICAgLy8gfVxyXG5cclxuICAgICAgLm9yIHtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IDE1cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQtZGFyayk7XHJcbiAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xyXG4gICAgICAgIHRyYW5zbGF0ZTogMCAyMHB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubG9naW5XcmFwcGVyIHtcclxuICAgICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tYnJhbmQtZGFyay1jb250cmFzdCk7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XHJcbiAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgIC5maWVsZFdyYXBwZXIge1xyXG4gICAgICAgIG1pbi13aWR0aDogMjgwcHg7XHJcbiAgICAgIH1cclxuICAgICAgLmZpZWxkLXZhbGlkYXRpb24tZXJyb3Ige1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgIH1cclxuICAgICAgaDMge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDBweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDBweDtcclxuICAgIC5idXR0b25zIHtcclxuICAgICAgLS1ncmFwaGljOiA3NXB4O1xyXG4gICAgICAtLWd1ZXN0LWdyYXBoaWM6IDYwcHg7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgIGdhcDogMjVweDtcclxuICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgIG1heC13aWR0aDogNDUwcHg7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBwYWRkaW5nOiAwcHggMjVweCAwIDA7XHJcbiAgICAgIGEge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tbGlnaHQpO1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwcHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgIC8vQ3JlYXRlcyBzYW1lIGhvdmVyIGVmZmVjdCBhcyBuYXZpZ2F0aW9uXHJcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgaW5zZXQ6IDA7XHJcbiAgICAgICAgICBzY2FsZTogMCAwLjI1O1xyXG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMCUgNTAlO1xyXG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWNpcmNsZSk7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJG1lZGl1bSB2YXIoLS10aW1pbmctc21vb3RoLXNtKTtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWJyaWdodCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aGFzKC5pbWFnZSkge1xyXG4gICAgICAgICAgLS1ncmFwaGljOiA5MHB4O1xyXG4gICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbFNwYWNlO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kQ292ZXI7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAudGV4dCB7XHJcbiAgICAgICAgICBmb250LXNpemU6IDEuOGVtO1xyXG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgei1pbmRleDogMztcclxuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICRmYXN0O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZ3JhcGhpY0hvbGRlciB7XHJcbiAgICAgICAgICBtaW4td2lkdGg6IHZhcigtLWdyYXBoaWMpO1xyXG4gICAgICAgICAgd2lkdGg6IHZhcigtLWdyYXBoaWMpO1xyXG4gICAgICAgICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgIHotaW5kZXg6IDM7XHJcbiAgICAgICAgICAuaWNvbixcclxuICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1jaXJjbGUpO1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDJweDtcclxuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgQGluY2x1ZGUgZmxleENlbnRlcjtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMi44ZW07XHJcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICAgIEBpbmNsdWRlIGZpbGxTcGFjZTtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICB0cmFuc2l0aW9uOlxyXG4gICAgICAgICAgICBhbGwgJG1lZGl1bSB2YXIoLS10aW1pbmctc21vb3RoLXNtKSxcclxuICAgICAgICAgICAgY29sb3IgJGZhc3Q7XHJcbiAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1pY29uLWZvbnQpO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xyXG4gICAgICAgICAgICBjb250ZW50OiBcImtcIjtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAzO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIC8vQ3JlYXRlcyBzYW1lIGhvdmVyIGVmZmVjdCBhcyBuYXZpZ2F0aW9uXHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgaW5zZXQ6IDA7XHJcbiAgICAgICAgICAgIHNjYWxlOiAwIDAuMjU7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1jaXJjbGUpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJG1lZGl1bSB2YXIoLS10aW1pbmctc21vb3RoLXNtKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5lbnJvbGxlZUxvZ2luQnRuIHtcclxuICAgICAgICAgIGJhY2tncm91bmQ6IGNhbGMtY29udHJhc3QodmFyKC0tYnJhbmQtZGFyaykpO1xyXG4gICAgICAgICAgY29sb3I6IHZhcigtLWJyYW5kLWRhcmspO1xyXG4gICAgICAgICAgLmdyYXBoaWNIb2xkZXIge1xyXG4gICAgICAgICAgICB0cmFuc2xhdGU6IC0yMHB4IDBweDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIC5pY29uIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQtZGFyayk7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogY2FsYy1jb250cmFzdCh2YXIoLS1icmFuZC1kYXJrKSk7XHJcbiAgICAgICAgICAgIGNvbG9yOiBjYWxjLWNvbnRyYXN0KHZhcigtLWJyYW5kLWRhcmspKTtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgY29udGVudDogXCJDXCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuZ3Vlc3RMb2dpbkJ0biB7XHJcbiAgICAgICAgICAtLWdyYXBoaWM6IHZhcigtLWd1ZXN0LWdyYXBoaWMpO1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQtZGFyayk7XHJcbiAgICAgICAgICBjb2xvcjogY2FsYy1jb250cmFzdCh2YXIoLS1icmFuZC1kYXJrKSk7XHJcbiAgICAgICAgICBnYXA6IDEwcHg7XHJcbiAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAuZ3JhcGhpY0hvbGRlciB7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogdmFyKC0tZ3Vlc3QtZ3JhcGhpYyk7XHJcbiAgICAgICAgICAgIHdpZHRoOiB2YXIoLS1ndWVzdC1ncmFwaGljKTtcclxuICAgICAgICAgICAgdHJhbnNsYXRlOiAtMjBweCAwcHg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAudGV4dCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41ZW07XHJcbiAgICAgICAgICAgIHRyYW5zbGF0ZTogLTEwcHggMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGNhbGMtY29udHJhc3QodmFyKC0tYnJhbmQtZGFyaykpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZC1kYXJrKTtcclxuICAgICAgICAgICAgY29sb3I6IGNhbGMtY29udHJhc3QodmFyKC0tYnJhbmQtZGFyaykpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDIuNWVtO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgaG92ZXJBbmRGb2N1cyB7XHJcbiAgICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBjYWxjLWNvbnRyYXN0KHZhcigtLWJyYW5kLWJyaWdodCkpO1xyXG4gICAgICAgICAgICBzY2FsZTogMS4xO1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICBzY2FsZTogMSAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAudGV4dCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBjYWxjLWNvbnRyYXN0KHZhcigtLWJyYW5kLWJyaWdodCkpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XHJcbiAgICAgICAgICAgIHNjYWxlOiAxIDE7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZm9ybVdyYXAuYWNjb3VudFByb2ZpbGVyIHtcclxuICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cclxuICAgIC5wcm9maWxlU2V0dGluZ3NFeHBsYWluZXIsXHJcbiAgICAucHJvZmlsZUVycm9yV3JhcCB7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICAuZXJyb3JNZXNzYWdlIHtcclxuICAgICAgbGkge1xyXG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5pbnN0cnVjdGlvbiB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICAuYWNjb3JkaW9uV3JhcHBlciB7XHJcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgIGNvbG9yOiBjYWxjLWNvbnRyYXN0KHZhcigtLWJyYW5kLWRhcmspKTtcclxuICAgIH1cclxuXHJcbiAgICAuc3R5bGVkRmllbGRzZXQge1xyXG4gICAgICBmb250LXNpemU6IDAuOWVtO1xyXG4gICAgICAvL2JvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXItcmdiYSgtLWxpZ2h0LCAwLjUpICFpbXBvcnRhbnQ7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxOHB4O1xyXG5cclxuICAgICAgLmNvbnRyb2xXcmFwcGVyIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHggIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc3R5bGVkRmllbGRzZXQucGhvbmUge1xyXG4gICAgICAuZmllbGRXcmFwcGVyIHtcclxuICAgICAgICBtYXJnaW46IDEwcHggMCAxNXB4O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgICB9XHJcbiAgICAgIC5jb250cm9sV3JhcHBlciB7XHJcbiAgICAgICAgLmNvbnRyb2wge1xyXG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYnV0dG9uSG9sZGVyIHtcclxuICAgICAgbWFyZ2luOiAyMHB4IDAgMjBweDtcclxuICAgIH1cclxuICAgIC5yZXNldEFjY291bnRUeXBlQnRuIHtcclxuICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgICAgZm9udC1zaXplOiAwLjhlbTtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGNhbGMtY29udHJhc3QodmFyKC0tYnJhbmQtZGFyaykpO1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIEBpbmNsdWRlIGNvbG9yV2l0aENvbnRyYXN0KC0tYnJhbmQtZGFyayk7XHJcbiAgICAgIHRyYW5zaXRpb246ICR2ZXJ5RmFzdDtcclxuICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgY29sb3I6IHZhcigtLWxpZ2h0KTtcclxuICAgICAgcGFkZGluZzogMnB4O1xyXG5cclxuICAgICAgQGluY2x1ZGUgaG92ZXJBbmRGb2N1cyB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icmFuZC1icmlnaHQpO1xyXG4gICAgICAgIEBpbmNsdWRlIGNvbG9yV2l0aENvbnRyYXN0KC0tYnJhbmQtYnJpZ2h0KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5hY2NvcmRpb25Nb2R1bGUgLmFjY29yZGlvblRpdGxlIHtcclxuICAgICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoLS1saWdodCk7XHJcbiAgICAgIC5pY29uIHtcclxuICAgICAgICBjb2xvcjogdmFyKC0tYmFzaWMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZm9ybVdyYXAudHdvRmFjdG9yIHtcclxuICAgIC5zaW5nbGVGaWVsZFN1Ym1pc3Npb24ge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcbiAgICAgIC5maWVsZFdyYXBwZXIge1xyXG4gICAgICAgIG1hcmdpbjogMCAxMHB4IDAgMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgYnV0dG9uIHtcclxuICAgICAgICBAaW5jbHVkZSBidXR0b247XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1saWdodCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAjVEZBQnV0dG9uQXBwIHtcclxuICAgICAgQGluY2x1ZGUgYnV0dG9uO1xyXG4gICAgICBwYWRkaW5nOiAwLjM1ZW0gMC41ZW07XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgI1RGQUJ1dHRvbkVtYWlsLFxyXG4gICAgI09UUEJ1dHRvbiB7XHJcbiAgICAgIGJvcmRlcjogMDtcclxuICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgcGFkZGluZzogMCAwIDVweDtcclxuICAgICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGNhbGMtY29udHJhc3QodmFyKC0tYnJhbmQtZGFyaykpO1xyXG4gICAgICBjb2xvcjogY2FsYy1jb250cmFzdCh2YXIoLS1icmFuZC1kYXJrKSk7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAgICZbZGF0YS13YWl0LWEtZmV3PVwidHJ1ZVwiXSB7XHJcbiAgICAgICAgb3BhY2l0eTogMC42O1xyXG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5idXR0b25Ib2xkZXIge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgcGFkZGluZy10b3A6IDE1cHg7XHJcblxyXG4gICAgYnV0dG9uIHtcclxuICAgICAgQGluY2x1ZGUgYnV0dG9uKCk7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tbGlnaHQpO1xyXG4gICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5zdHlsZWRGaWVsZHNldCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cclxuICAgIC5ncm91cExlZ2VuZCB7XHJcbiAgICAgIHBhZGRpbmc6IDRweCAycHg7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5zaW1wbGVEaWFsb2cge1xyXG4gIC5jbG9zZURpYWxvZyB7XHJcbiAgICBAaW5jbHVkZSBidXR0b247XHJcblxyXG4gICAgLmljb24ge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuI3Jlc2V0RGF0YSB7XHJcbiAgYnV0dG9uIHtcclxuICAgIEBpbmNsdWRlIGJ1dHRvbjtcclxuICB9XHJcbn1cclxuXHJcbi8vIE1FRElBIFFVRVJJRVMgJiBCUk9XU0VSLVNQRUNJRklDIEFESlVTVE1FTlRTIEJFTE9XIC8vXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkbGcpIHtcclxuICAubG9naW5UZWFzZXJWaWRlbyB7XHJcbiAgICBsZWZ0OiAyMHB4O1xyXG4gICAgcmlnaHQ6IDY1MHB4O1xyXG4gIH1cclxufVxyXG5AbWVkaWEgKG1heC13aWR0aDogJG1kKSB7XHJcbiAgLmxvZ2luVGVhc2VyVmlkZW8ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbGVmdDogYXV0bztcclxuICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgdG9wOiBhdXRvO1xyXG4gICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nOiAwIDZweCAxNXB4O1xyXG4gIH1cclxufVxyXG5AbWVkaWEgKG1heC13aWR0aDogJHR3ZWVuKSB7XHJcbiAgOnJvb3Qge1xyXG4gICAgLS1sb2dpbi13OiA1NTBweDtcclxuICB9XHJcbiAgLm1lbWJlcnNoaXBCdWZmZXIge1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgfVxyXG4gICNiYWNrZ3JvdW5kLm1lbWJlcnNoaXBCZyB7XHJcbiAgICBoZWlnaHQ6IDcwdmg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIC5iZ0ltZyxcclxuICAgIC5zZWN0aW9uQmcsXHJcbiAgICB2aWRlbyB7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgei1pbmRleDogMjA7XHJcbiAgICAgIGJvdHRvbTogMDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogNjAlO1xyXG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyLXJnYmEoLS1saWdodCwgMCksIHZhcigtLWxpZ2h0KSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogJHhzKSB7XHJcbiAgI3Jlc2V0RGF0YSB7XHJcbiAgICBidXR0b24ge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xyXG4gICAgfVxyXG4gIH1cclxuICBib2R5OmFmdGVyIHtcclxuICAgIG1heC13aWR0aDogbm9uZTtcclxuICB9XHJcbiAgaGVhZGVyIHtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICB9XHJcbiAgI21lbWJlcnNoaXAge1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG5cclxuICAgIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyB7XHJcbiAgICAgIHBhZGRpbmc6IDBweCAyNXB4IDAgMjVweDtcclxuICAgICAgYSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICYuZ3Vlc3RMb2dpbkJ0bixcclxuICAgICAgICAmLmVucm9sbGVlTG9naW5CdG4ge1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogJHh4cykge1xyXG4gIC5tZW1iZXJzaGlwQnVmZmVyIHtcclxuICAgIHBhZGRpbmctbGVmdDogMThweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDE4cHg7XHJcbiAgfVxyXG4gICNtZW1iZXJzaGlwIHtcclxuICAgIHBhZGRpbmc6IDIwcHggMTJweCA2MHB4O1xyXG4gICAgLmZvcm1XcmFwIHtcclxuICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgfVxyXG4gICAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIHtcclxuICAgICAgLmJ1dHRvbnMge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMC44ZW07XHJcbiAgICAgICAgZ2FwOiAxNXB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogJHRpbnkpIHtcclxuICAjbWVtYmVyc2hpcCB7XHJcbiAgICAuZm9ybVdyYXAubGFuZGluZ1BhZ2Uge1xyXG4gICAgICAuYnV0dG9ucyB7XHJcbiAgICAgICAgLS1ncmFwaGljOiA2NXB4O1xyXG4gICAgICAgIC0tZ3Vlc3QtZ3JhcGhpYzogNTJweDtcclxuICAgICAgICBmb250LXNpemU6IDAuN2VtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIkB1c2UgXCJzaGFyZWQtdmFyaWFibGVzXCIgYXMgKjtcclxuQHVzZSBcInNoYXJlZC1taXhpbnNcIiBhcyAqO1xyXG5AdXNlIFwibWV0YS1taXhpbnNcIiBhcyAqO1xyXG5cclxuLnJ0ZSB7XHJcbiAgY2xlYXI6IGJvdGg7XHJcbiAgaDQsXHJcbiAgaDUge1xyXG4gICAgbWFyZ2luOiAwLjhlbSAwIDAuNWVtO1xyXG4gIH1cclxuICA+ICo6Zmlyc3QtY2hpbGQge1xyXG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG4gIH1cclxuICA+ICo6bGFzdC1jaGlsZCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIGEge1xyXG4gICAgQGluY2x1ZGUgZm9jdXMge1xyXG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAycHggYmxhY2sgIWltcG9ydGFudDtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYTpoYXMoaW1nKSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICAuaWNvbiB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAycHg7XHJcbiAgICAgIHJpZ2h0OiAzcHg7XHJcbiAgICAgIHBhZGRpbmc6IDZweDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcclxuICAgICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoLS1icmFuZC1icmlnaHQpO1xyXG4gICAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cpO1xyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgJHZlcnlGYXN0O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgaG92ZXJBbmRGb2N1cyB7XHJcbiAgICAgIC5pY29uIHtcclxuICAgICAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgtLWhvdmVyKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gLmljb24ge1xyXG4gICAgLy8gICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAvLyB9XHJcbiAgfVxyXG5cclxuICAvLyBCRUdJTiBJTkxJTkUgTUVESUEgU1RZTEVTIC8vXHJcbiAgaWZyYW1lIHtcclxuICAgIG1heC13aWR0aDogY2FsYygxMDB2dyAtICg0MHB4ICogMikpO1xyXG4gICAgbWF4LWhlaWdodDogY2FsYygoMTAwdncgLSAoNDBweCAqIDIpKSAvIDEuNzc3OCk7IC8qIDE2OjkgKi9cclxuICB9XHJcblxyXG4gIGltZyB7XHJcbiAgICBtYXJnaW46IDEwcHg7XHJcbiAgICAmW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSB7XHJcbiAgICAgIG1hcmdpbjogMCAwIDIwcHggMjBweDtcclxuICAgIH1cclxuICAgICZbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0ge1xyXG4gICAgICBtYXJnaW46IDAgMjBweCAyMHB4IDBweDtcclxuICAgIH1cclxuICAgICZbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdLFxyXG4gICAgJltzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSB7XHJcbiAgICAgIG1heC13aWR0aDogNjAlO1xyXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJHhzKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XHJcbiAgICAgIH1cclxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICR4eHMpLCAobWF4LXdpZHRoOiAkbWQpIGFuZCAobWluLXdpZHRoOiAkc20gKyAxKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gOHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAkcGFkOiA1cHg7XHJcbiAgJGJvcmRlcjogMXB4O1xyXG4gIGZpZ3VyZTpub3QoLnRlcm1CYmwpIHtcclxuICAgIG1hcmdpbjogMjBweCAwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLXJhZGl1cykgKyAjeyRwYWR9IC0gdmFyKC0tYm9yZGVyKSk7XHJcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlcikgc29saWQgdmFyKC0tZ3JleSk7XHJcbiAgICBwYWRkaW5nOiAkcGFkO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgaW1nIHtcclxuICAgICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgbWFyZ2luOiAwcHggIWltcG9ydGFudDtcclxuICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cykgdmFyKC0tcmFkaXVzKSAwcHggMHB4O1xyXG4gICAgfVxyXG4gICAgJltzdHlsZSo9XCJ0ZXh0LWFsaWduOiByaWdodFwiXSB7XHJcbiAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgbWFyZ2luOiAwIDAgMjBweCAyMHB4O1xyXG4gICAgfVxyXG4gICAgJltzdHlsZSo9XCJ0ZXh0LWFsaWduOiBsZWZ0XCJdIHtcclxuICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgIG1hcmdpbjogMCAyMHB4IDIwcHggMHB4O1xyXG4gICAgfVxyXG4gICAgJltzdHlsZSo9XCJ0ZXh0LWFsaWduOiBsZWZ0XCJdLFxyXG4gICAgJltzdHlsZSo9XCJ0ZXh0LWFsaWduOiByaWdodFwiXSB7XHJcbiAgICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcclxuICAgICAgbWF4LXdpZHRoOiA2MCU7XHJcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkeHMpIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcclxuICAgICAgfVxyXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJHh4cyksIChtYXgtd2lkdGg6ICRtZCkgYW5kIChtaW4td2lkdGg6ICRzbSArIDEpIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICBtYXJnaW46IDAgYXV0byA4cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBmaWdjYXB0aW9uIHtcclxuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCB2YXIoLS1yYWRpdXMpIHZhcigtLXJhZGl1cyk7XHJcbiAgICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KC0tbGlnaHQtZ3JleSk7XHJcbiAgICAgIGZvbnQtc2l6ZTogMC45ZW07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBFTkQgSU5MSU5FIE1FRElBIFNUWUxFUyAvL1xyXG5cclxuICBvbCB7XHJcbiAgICAmW3N0eWxlPVwibGlzdC1zdHlsZS10eXBlOiB1cHBlci1hbHBoYTtcIl0sXHJcbiAgICAmW3N0eWxlPVwibGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTtcIl0sXHJcbiAgICAmW3N0eWxlPVwibGlzdC1zdHlsZS10eXBlOiBsb3dlci1ncmVlaztcIl0sXHJcbiAgICAmW3N0eWxlPVwibGlzdC1zdHlsZS10eXBlOiB1cHBlci1yb21hbjtcIl0sXHJcbiAgICAmW3N0eWxlPVwibGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjtcIl0ge1xyXG4gICAgICA+IGxpOmJlZm9yZSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gaHR0cHM6Ly93d3cudzMub3JnL1dBSS9XQ0FHMjEvVW5kZXJzdGFuZGluZy9yZWZsb3cuaHRtbFxyXG4gIC8vIEV4YW1wbGVzIG9mIGNvbnRlbnQgd2hpY2ggcmVxdWlyZXMgdHdvLWRpbWVuc2lvbmFsIGxheW91dCBhcmUgWy4uLl0gZGF0YSB0YWJsZXMgKG5vdCBpbmRpdmlkdWFsIGNlbGxzKSwgYW5kIGludGVyZmFjZXNcclxuICAvLyB3aGVyZSBpdCBpcyBuZWNlc3NhcnkgdG8ga2VlcCB0b29sYmFycyBpbiB2aWV3IHdoaWxlIG1hbmlwdWxhdGluZyBjb250ZW50LiBJdCBpcyBhY2NlcHRhYmxlIHRvIHByb3ZpZGUgdHdvLWRpbWVuc2lvbmFsXHJcbiAgLy8gc2Nyb2xsaW5nIGZvciBzdWNoIHBhcnRzIG9mIHRoZSBjb250ZW50LlxyXG4gIC50YWJsZVdyYXBwZXIge1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgYmFja2dyb3VuZDpcclxuICAgICAgbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB2YXIoLS1saWdodCkgMzAlLCB2YXItcmdiYSgtLWxpZ2h0LCAwKSksXHJcbiAgICAgIGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdmFyLXJnYmEoLS1saWdodCwgMCksIHZhcigtLWxpZ2h0KSA3MCUpIDAgMTAwJSxcclxuICAgICAgcmFkaWFsLWdyYWRpZW50KGZhcnRoZXN0LXNpZGUgYXQgMCUgNTAlLCB2YXItcmdiYSgtLWJsYWNrLCAwLjIpLCB2YXItcmdiYSgtLWJsYWNrLCAwKSksXHJcbiAgICAgIHJhZGlhbC1ncmFkaWVudChmYXJ0aGVzdC1zaWRlIGF0IDEwMCUgNTAlLCB2YXItcmdiYSgtLWJsYWNrLCAwLjIpLCB2YXItcmdiYSgtLWJsYWNrLCAwKSkgMCAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0KTtcclxuICAgIGJhY2tncm91bmQtc2l6ZTpcclxuICAgICAgNDBweCAxMDAlLFxyXG4gICAgICA0MHB4IDEwMCUsXHJcbiAgICAgIDE0cHggMTAwJSxcclxuICAgICAgMTRweCAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjpcclxuICAgICAgMCAwLFxyXG4gICAgICAxMDAlLFxyXG4gICAgICAwIDAsXHJcbiAgICAgIDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGxvY2FsLCBsb2NhbCwgc2Nyb2xsLCBzY3JvbGw7XHJcbiAgICBjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7XHJcblxyXG4gICAgdGFibGUge1xyXG4gICAgICBtaW4td2lkdGg6IDUwMHB4O1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICAgIGNhcHRpb24ge1xyXG4gICAgICAgIHBhZGRpbmc6IDRweDtcclxuICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KC0tYnJhbmQtZGFyayk7XHJcbiAgICAgIH1cclxuICAgICAgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB2YXItcmdiYSgtLWJyYW5kLWJyaWdodCwgMC4xNyk7XHJcbiAgICAgIH1cclxuICAgICAgdHI6bnRoLWNoaWxkKG9kZCkge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHZhci1yZ2JhKC0tYnJhbmQtYnJpZ2h0LCAwLjA2KTtcclxuICAgICAgfVxyXG4gICAgICB0aCB7XHJcbiAgICAgICAgcGFkZGluZzogM3B4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KC0tYnJhbmQtYnJpZ2h0KTtcclxuICAgICAgICBib3JkZXItY29sb3I6IGJsYWNrO1xyXG4gICAgICB9XHJcbiAgICAgIHRkIHtcclxuICAgICAgICBwYWRkaW5nOiAzcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAwLjk1ZW07XHJcbiAgICAgIH1cclxuICAgICAgYSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5tb2JpbGVTY3JvbGxNZXNzYWdlIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICBtYXJnaW4tdG9wOiA4cHg7XHJcbiAgICAgIHBhZGRpbmc6IDVweCA4cHg7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XHJcbiAgICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KC0tYnJhbmQtZGFyayk7XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBib3R0b206IDEwMCU7XHJcbiAgICAgICAgbGVmdDogY2FsYyg1cHggKyB2YXIoLS1yYWRpdXMpKTtcclxuICAgICAgICB3aWR0aDogMHB4O1xyXG4gICAgICAgIGhlaWdodDogMHB4O1xyXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDZweCA4cHggNXB4O1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdmFyKC0tYnJhbmQtZGFyaykgdHJhbnNwYXJlbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBjb250YWluZXIgKG1heC13aWR0aDogNTAwcHgpIHtcclxuICAucnRlIC50YWJsZVdyYXBwZXIgLm1vYmlsZVNjcm9sbE1lc3NhZ2Uge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIH1cclxufVxyXG5AbWVkaWEgKG1heC13aWR0aDogJHhzKSB7XHJcbiAgLnJ0ZSAudGFibGVXcmFwcGVyIHtcclxuICAgIC5tb2JpbGVTY3JvbGxNZXNzYWdlIHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJAdXNlIFwiLi4vX2dsb2JhbC9zaGFyZWQtcmljaFRleHRTdHlsZXNcIiBhcyAqO1xyXG5AdXNlIFwiLi4vX2dsb2JhbC9zaGFyZWQtdmFyaWFibGVzXCIgYXMgKjtcclxuQHVzZSBcIm1peGluc1wiIGFzICo7XHJcblxyXG4ucnRlLFxyXG4jcmV2ZWFsTW9kYWxEaWFsb2cgLmNvcHlXcmFwIHtcclxuICBwIHtcclxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1iYXNpYy1mb250KTtcclxuICAgIGZvbnQtc2l6ZTogMWVtO1xyXG4gIH1cclxuXHJcbiAgaDMuaGVhZGluZyB7XHJcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICBtYXJnaW46IDAuNzVlbSAwIDAuNGVtO1xyXG4gICAgZm9udC1zaXplOiAxLjY1ZW07XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGxldHRlci1zcGFjaW5nOiAwLjAyNWVtO1xyXG4gICAgQGluY2x1ZGUgY29sb3JXaXRoQ29udHJhc3QoLS1icmFuZC1kYXJrKTtcclxuICB9XHJcblxyXG4gIC5oZWFkaW5nTGlzdCxcclxuICAuc3ViaGVhZGluZ0xpc3Qge1xyXG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgbWFyZ2luOiAwLjc1ZW0gMCAwLjRlbTtcclxuICAgIHBhZGRpbmctYm90dG9tOiAwLjI1ZW07XHJcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdmFyKC0tYnJhbmQtZGFyayk7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDI1ZW07XHJcbiAgICBsaW5lLWhlaWdodDogMS4yZW07XHJcbiAgICBAaW5jbHVkZSBjb2xvcldpdGhDb250cmFzdCgtLWJyYW5kLWRhcmspO1xyXG4gIH1cclxuXHJcbiAgaDMuaGVhZGluZ0xpc3Qge1xyXG4gICAgZm9udC1zaXplOiAxLjJlbTtcclxuICB9XHJcblxyXG4gIGg0LnN1YmhlYWRpbmdMaXN0IHtcclxuICAgIGZvbnQtc2l6ZTogMWVtO1xyXG4gIH1cclxuXHJcbiAgaDQuc3ViaGVhZGluZyB7XHJcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICBtYXJnaW46IDAuNzVlbSAwIDAuNGVtO1xyXG4gICAgZm9udC1zaXplOiAxLjM1ZW07XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcclxuICAgIEBpbmNsdWRlIGNvbG9yV2l0aENvbnRyYXN0KC0tYmFzaWMpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gIH1cclxuXHJcbiAgLmxhcmdlVGV4dCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICBmb250LXNpemU6IDEuM2VtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNGVtO1xyXG4gICAgZm9udC1mYW1pbHk6IHZhcigtLXByaW1hcnktZm9udCk7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tbGlnaHQtZ3JleSk7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHggMTBweCAyNXB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgYSB7XHJcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgIGNvbG9yOiB2YXIoLS1saWdodC1ncmV5LWNvbnRyYXN0KTtcclxuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xyXG4gICAgfVxyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBsZWZ0OiAwcHg7XHJcbiAgICAgIHRvcDogMHB4O1xyXG4gICAgICB3aWR0aDogMTBweDtcclxuICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZC1icmlnaHQpO1xyXG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgJGZhc3Q7XHJcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6ICR2ZXJ5U2xvdztcclxuXHJcbiAgICAgIC5jdXJyZW50ICYge1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmhpZ2hsaWdodCB7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXItcmdiYSgtLWJyYW5kLWJyaWdodCwgMC4zKTtcclxuICB9XHJcblxyXG4gIHVsIHtcclxuICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgPiBsaSB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcblxyXG4gICAgICAmOjptYXJrZXIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb2wge1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgIGNvdW50ZXItcmVzZXQ6IGNvdW50ZXI7XHJcblxyXG4gICAgPiBsaSB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgY291bnRlci1pbmNyZW1lbnQ6IGNvdW50ZXI7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcblxyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogY291bnRlcihjb3VudGVyKSBcIi4gXCI7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgKyA4cHgpO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1icmFuZC1kYXJrKTtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYSB7XHJcbiAgICBAaW5jbHVkZSBjb2xvcldpdGhDb250cmFzdCgtLWxpbmspO1xyXG4gICAgLy8gQGluY2x1ZGUgaG92ZXJBbmRGb2N1cyB7XHJcbiAgICAvLyAgIEBpbmNsdWRlIGNvbG9yV2l0aENvbnRyYXN0KC0tYmFzaWMpO1xyXG4gICAgLy8gfVxyXG4gIH1cclxufVxyXG5cclxuLmNhbGxvdXRTdWJ0bGUge1xyXG4gIGNsZWFyOiBib3RoO1xyXG4gIG1hcmdpbjogMWVtIDAgMC40ZW07XHJcbiAgcGFkZGluZzogMTBweCAxNXB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XHJcbiAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoLS1saWdodC1ncmV5KTtcclxuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDBweCAxcHggNHB4IHJnYmEoYmxhY2ssIDAuMikpO1xyXG4gIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWxpZ2h0KTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gIGEge1xyXG4gICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoLS1saWdodC1ncmV5KTtcclxuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBjYWxjLWNvbnRyYXN0KHZhcigtLWxpZ2h0LWdyZXkpKTtcclxuXHJcbiAgICBAaW5jbHVkZSBob3ZlckFuZEZvY3VzIHtcclxuICAgICAgQGluY2x1ZGUgY29sb3JXaXRoQ29udHJhc3QoLS1iYXNpYyk7XHJcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWJhc2ljKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5jYWxsb3V0Qm9sZCB7XHJcbiAgY2xlYXI6IGJvdGg7XHJcbiAgbWFyZ2luOiAwLjc1ZW0gMCAwLjRlbTtcclxuICBwYWRkaW5nOiAxMHB4IDE1cHg7XHJcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcclxuICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgtLWJyYW5kLWRhcmspO1xyXG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMHB4IDFweCA0cHggcmdiYShibGFjaywgMC4yKSk7XHJcbiAgYSB7XHJcbiAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgtLWJyYW5kLWRhcmspO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIGNhbGMtY29udHJhc3QodmFyKC0tYnJhbmQtZGFyaykpO1xyXG5cclxuICAgIEBpbmNsdWRlIGhvdmVyQW5kRm9jdXMge1xyXG4gICAgICBAaW5jbHVkZSBjb2xvcldpdGhDb250cmFzdCgtLWJhc2ljKTtcclxuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tYmFzaWMpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gTUVESUEgUVVFUklFUyAmIEJST1dTRVItU1BFQ0lGSUMgQURKVVNUTUVOVFMgQkVMT1cgLy9cclxuIiwiQHVzZSBcIm1peGluc1wiIGFzICo7XHJcbkB1c2UgXCIuLi9fZ2xvYmFsL3NoYXJlZC12YXJpYWJsZXNcIiBhcyAqO1xyXG5cclxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLm1haW50ZW5hbmNlIHtcclxuICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZC1icmlnaHQpO1xyXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tbGlnaHQpO1xyXG5cclxuICAuZm9ybUFyZWEge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblxyXG4gICAgLnJ0ZSB7XHJcbiAgICAgIGNvbG9yOiB2YXIoLS1saWdodCk7XHJcbiAgICB9XHJcblxyXG4gICAgLmljb24ge1xyXG4gICAgICBmbGV4LXNocmluazogMDtcclxuICAgICAgZmxleC1ncm93OiAwO1xyXG4gICAgICB3aWR0aDogNzVweDtcclxuICAgICAgaGVpZ2h0OiA3NXB4O1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgZm9udC1zaXplOiAzZW07XHJcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJyYW5kLWRhcmspO1xyXG4gICAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1saWdodCk7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgY29sb3I6IHZhcigtLWxpZ2h0KTtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkeHMpIHtcclxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubWFpbnRlbmFuY2Uge1xyXG4gICAgcGFkZGluZzogMTVweDtcclxuXHJcbiAgICAuZm9ybUFyZWEge1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuICAgICAgLmljb24ge1xyXG4gICAgICAgIHdpZHRoOiA1NXB4O1xyXG4gICAgICAgIGhlaWdodDogNTVweDtcclxuICAgICAgICBmb250LXNpemU6IDIuMjVlbTtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiQHVzZSBcIm1peGluc1wiIGFzICo7XHJcbkB1c2UgXCIuLi9fZ2xvYmFsL3NoYXJlZC12YXJpYWJsZXNcIiBhcyAqO1xyXG5cclxuLm1lbWJlcnNoaXBQYWdlIC5lcnJvclBhZ2Uge1xyXG4gIC50aXRsZUFyZWEge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICB9XHJcblxyXG4gIC5pY29uIHtcclxuICAgIGZvbnQtc2l6ZTogNWVtO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW46IDAgYXV0byAyMHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQtYnJpZ2h0KTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGJvcmRlcjogNHB4IHNvbGlkIHZhcigtLWxpZ2h0KTtcclxuICAgIGNvbG9yOiB2YXIoLS1saWdodCk7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgd2lkdGg6IDE1MHB4O1xyXG4gICAgaGVpZ2h0OiAxNTBweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gIH1cclxuXHJcbiAgLnJ0ZSB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXItZGFya2VuKHZhcigtLWJyYW5kLWRhcmspLCAxNSUpO1xyXG4gICAgcGFkZGluZzogNTBweCAyMHB4IDQwcHggMjBweDtcclxuICAgIG1hcmdpbi10b3A6IC02MHB4O1xyXG4gICAgYm9yZGVyOiAzcHggc29saWQgdmFyKC0tbGlnaHQpO1xyXG4gICAgaDMuaGVhZGluZyB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICBjb2xvcjogY2FsYy1jb250cmFzdCh2YXIoLS1icmFuZC1kYXJrKSk7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6ICRzbSkge1xyXG4gIC5tZW1iZXJzaGlwUGFnZSAuZXJyb3JQYWdlIHtcclxuICAgIC5pY29uIHtcclxuICAgICAgZm9udC1zaXplOiA0ZW07XHJcbiAgICAgIHdpZHRoOiAxMDBweDtcclxuICAgICAgaGVpZ2h0OiAxMDBweDtcclxuICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIkB1c2UgXCJzaGFyZWQtdmFyaWFibGVzXCIgYXMgKjtcclxuQHVzZSBcInNoYXJlZC1taXhpbnNcIiBhcyAqO1xyXG5cclxuQGxheWVyIGJhc2Uge1xyXG4gIC8vIEJFR0lOIEJBU0UgU1RZTEVTIC0gRE8gTk9UIENIQU5HRSBUSEVTRSBVTkxFU1MgWU9VIEtOT1cgV0hBVCBZT1UnUkUgRE9JTkcgLy9cclxuXHJcbiAgZGV0YWlscyB7XHJcbiAgICAvLyBJZiB5b3UgY2hhbmdlIHRoaXMgdHJhbnNpdGlvbiBzcGVlZCwgeW91J2xsIGhhdmUgdG8gY2hhbmdlIGl0IGF0IHRoZSB0b3Agb2YgQWNjb3JkaW9uLnRzXHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgJG1lZGl1bTtcclxuICB9XHJcblxyXG4gIGRldGFpbHMgPiBzdW1tYXJ5OjptYXJrZXIsIC8qIExhdGVzdCBDaHJvbWUsIEVkZ2UsIEZpcmVmb3ggKi9cclxuZGV0YWlscyA+IHN1bW1hcnk6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIgLyogU2FmYXJpICovIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG5cclxuICAuYWNjb3JkaW9uTW9kdWxlIHtcclxuICAgIC5hY2NvcmRpb25UaXRsZSB7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAmW2RhdGEtaW50ZXJhY3Rpb24tbWFuZGF0b3J5PVwidHJ1ZVwiXTpub3QoLmludGVyYWN0ZWRXaXRoKSB7XHJcbiAgICAgIC5pY29uLW1hbmRhdG9yeSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgICAuaW50ZXJhY3Rpb25Ob3RpZmljYXRpb24ge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgQGluY2x1ZGUgc2NyZWVuUmVhZGVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vIEVORCBCQVNFIFNUWUxFUyAvL1xyXG59XHJcbiIsIkB1c2UgXCIuLi9fZ2xvYmFsL3NoYXJlZC1hY2NvcmRpb25zXCI7XHJcbkB1c2UgXCJzYXNzOm1hdGhcIjtcclxuQHVzZSBcIi4uL19nbG9iYWwvc2hhcmVkLXZhcmlhYmxlc1wiIGFzICo7XHJcbkB1c2UgXCJtaXhpbnNcIiBhcyAqO1xyXG5cclxuLnByaW1hcnlBY2NvcmRpb24ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtYXJnaW46IDEwcHggMDtcclxuXHJcbiAgJltvcGVuXSB7XHJcbiAgICA+IC5hY2NvcmRpb25UaXRsZSB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSkgdmFyKC0tcmFkaXVzLXNtKSAwIDA7XHJcbiAgICAgIC5pY29uLWFycm93LWRvd24ge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoMTgwZGVnKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJltkYXRhLWludGVyYWN0aW9uLW1hbmRhdG9yeT1cInRydWVcIl06bm90KC5pbnRlcmFjdGVkV2l0aCkge1xyXG4gICAgLmljb24tbWFuZGF0b3J5IHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICByaWdodDogLTNweDtcclxuICAgICAgdG9wOiAtM3B4O1xyXG4gICAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgtLWJyYW5kLWJyaWdodCk7XHJcbiAgICAgIHBhZGRpbmc6IDNweDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gICAgICBib3gtc2hhZG93OiAxcHggMXB4IDhweCAwcHggdmFyLXJnYmEoLS1ibGFjaywgMC4zKTtcclxuICAgICAgZm9udC1zaXplOiAwLjc1ZW07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYWNjb3JkaW9uVGl0bGUge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoLS1icmFuZC1kYXJrKTtcclxuICAgIHBhZGRpbmc6IDIwcHggMjBweCAyMHB4IDM0cHg7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgJHZlcnlGYXN0O1xyXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcclxuXHJcbiAgICBAaW5jbHVkZSBob3ZlckFuZEZvY3VzIHtcclxuICAgICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoLS1icmFuZC1icmlnaHQpO1xyXG4gICAgICAuaWNvbi1hcnJvdy1kb3duIHtcclxuICAgICAgICBjb2xvcjogY2FsYy1jb250cmFzdCh2YXIoLS1icmFuZC1icmlnaHQpKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5pY29uLWFycm93LWRvd24ge1xyXG4gICAgICBjb2xvcjogY2FsYy1jb250cmFzdCgtLWJyYW5kLWRhcmspO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICBsZWZ0OiAxMnB4O1xyXG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKSB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XHJcbiAgICAgIHRyYW5zaXRpb246IDAuMnMgdHJhbnNmb3JtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmFjY29yZGlvbldyYXBwZXIge1xyXG4gICAgcGFkZGluZzogMjBweCAyMHB4O1xyXG4gICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoLS1saWdodCk7XHJcbiAgICBib3JkZXItbGVmdDogN3B4IHNvbGlkIHZhcigtLWxpZ2h0LWdyZXkpO1xyXG4gICAgaW1nIHtcclxuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICsgLnJ0ZSB7XHJcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xyXG4gIH1cclxufVxyXG5cclxuLy8gTUVESUEgUVVFUklFUyAmIEJST1dTRVItU1BFQ0lGSUMgQURKVVNUTUVOVFMgQkVMT1cgLy9cclxuIl19 */