/*! PBTF > 230210 ---------------- */
:root {
  --us: 1440;
  --uu: calc(10 / var(--ub, var(--us)) * 100vw);
  --sxo: 4rem;
  --syo: min(1.5em, 3rem);
  --sn: 12rem;
  --s1: 4rem;
  --s2: 6rem;
  --s3: 8rem;
  --s4: 12rem;
  --s5: 16rem;
  --sx: var(--sxo);
  --sy: var(--syo);
  --nx: calc(var(--sx) * -1);
  --ny: calc(var(--sy) * -1);
  --vwx: calc(var(--vw, 1vw) * 100);
  --vhx: calc(var(--vh, 1vh) * 100);
  --ff_1: Open Sans,Helvetica Neue,Arial,sans-serif;
  --ff_2: "quincy-cf",Georgia,serif;
  --c_dx: 1,55,61;
  --c_dxt: var(--c_dx); /* base color #01373D */
  --c_d1x: 1,55,61;
  --c_d1xt: var(--c_d1x);
  --c_d1: rgba(var(--c_d1x), 1);
  --c_d1t: var(--c_d1); /* default: dark green #01373D */
  --c_d2: rgba(var(--c_dx),0.8);
  --c_d2t: var(--c_d2); /* default: lighter d1 */
  --c_ix: 255,255,255;
  --c_ixt: var(--c_ix); /* inverted base color */
  --c_i1: #ffffff;
  --c_i1t: var(--c_i1); /* inverted: white */
  --c_i2: rgba(var(--c_ix),0.8);
  --c_i2t: var(--c_i2); /* inverted: almost white */
  --c_a1x: 180,72,120;
  --c_a1xt: var(--c_a1x);
  --c_a1: rgba(var(--c_a1x), 1);
  --c_a1t: var(--c_a1); /* accent: blush */
  --c_a2: #010202;
  --c_a2t: var(--c_a2); /* accent: dark green */
  --c_b1: #ffffff;
  --c_b1t: var(--c_b1); /* backgrounds: white */
  --c_b2: #F4F4F4;
  --c_b2t: var(--c_b2); /* backgrounds: light gray */
  --c_b3: var(--c_a1);
  --c_b3t: var(--c_b3); /* backgrounds: accent 1 */
  --c_b4x: 2,114,127;
  --c_b4xt: var(--c_b4x);
  --c_b4: rgba(var(--c_b4x), 1);
  --c_b4t: var(--c_b4); /* backgrounds: green #02727F */
  --c_b5: #975F84;
  --c_b5t: var(--c_b5); /* backgrounds: washed accent 1 */
  --c_b6: #94BFCF;
  --c_b6t: var(--c_b6); /* backgrounds: light blue */
  --c_o1: #cccccc;
  --c_o1t: var(--c_o1); /* separators */
  --c_o2: #aaaaaa;
  --c_o2t: var(--c_o2); /* fields normal */
  --c_o3: var(--c_d1);
  --c_o3t: var(--c_o3); /* fields focus */
  --c_e1: #E51515;
  --c_e1t: var(--c_e1); /* errors: red, error message */
  --c_e2: #E51515;
  --c_e2t: var(--c_e2); /* errors: red, error outline */
  --xw_1: calc(1440 * var(--uu) / 10);
  --xw_2: calc(1220 * var(--uu) / 10);
  --xw_3: calc(1010 * var(--uu) / 10);
  --xw_4: calc( 880 * var(--uu) / 10);
  --xw_5: calc( 640 * var(--uu) / 10);
  --xw_6: calc( 480 * var(--uu) / 10);
  --t8n_d1: 0.2s;
  --t8n_d2: 0.4s;
  --t8n_p1: border-color, background-color, background-size, box-shadow, transform, opacity, filter, text-decoration-color, text-decoration-thickness, text-underline-offset, clip-path, -webkit-clip-path;
  --t8n_p2: var(--t8n_p1), visibility;
  --t8n_e1: cubic-bezier(.5,0,0,1);
  --t8n_e2: cubic-bezier(.35,.6,.45,1);
  --br_1: 2.4rem;
  --br_2: 1.2rem;
}

@media screen and (min-width: 1521px) {
  :root {
    --uu: calc(10 / var(--ub, var(--us)) * 1520px);
  }
}
@media screen and (max-width: 1023px) {
  :root {
    --ub: 768;
    --sxo: 2rem;
    --sn: 8rem;
    --s1: 3rem;
    --s2: 4.5rem;
    --s3: 6rem;
    --s4: 8rem;
    --s5: 12rem;
    --br_1: var(--br_2);
  }
}
@media screen and (max-width: 719px) {
  :root {
    --ub: 375;
  }
}
@supports (width: max(10px, 5vw)) {
  :root {
    --sx: max(var(--sxo), env(safe-area-inset-right), env(safe-area-inset-left));
  }
}
@media print {
  :root {
    --uu: 5.25px;
  }
}
@font-face {
  font-family: "Icons";
  font-weight: normal;
  font-style: normal;
  src: url("../fonts/icomoon/fonts/icomoon.woff?z8888v") format("woff"), url("../fonts/icomoon/fonts/icomoon.ttf?z8888v") format("truetype");
}
@font-face {
  font-family: "Open Sans";
  font-weight: 400;
  font-style: normal;
  src: url("../fonts/opensans/opensans-400.woff2") format("woff2"), url("../fonts/opensans/opensans-400.woff") format("woff");
}
@font-face {
  font-family: "Open Sans";
  font-weight: 600;
  font-style: normal;
  src: url("../fonts/opensans/opensans-600.woff2") format("woff2"), url("../fonts/opensans/opensans-600.woff") format("woff");
}
@font-face {
  font-family: "Open Sans";
  font-weight: 700;
  font-style: normal;
  src: url("../fonts/opensans/opensans-700.woff2") format("woff2"), url("../fonts/opensans/opensans-700.woff") format("woff");
}
@font-face {
  font-family: "Open Sans";
  font-weight: 800;
  font-style: normal;
  src: url("../fonts/opensans/opensans-800.woff2") format("woff2"), url("../fonts/opensans/opensans-800.woff") format("woff");
}
@font-face {
  font-family: "Quincy CF";
  font-weight: 400;
  font-style: normal;
  src: url("../fonts/quincycf/quincycf-400.woff2") format("woff2"), url("../fonts/quincycf/quincycf-400.woff") format("woff");
}
@font-face {
  font-family: "Quincy CF";
  font-weight: 500;
  font-style: normal;
  src: url("../fonts/quincycf/quincycf-500.woff2") format("woff2"), url("../fonts/quincycf/quincycf-500.woff") format("woff");
}
@font-face {
  font-family: "Quincy CF";
  font-weight: 700;
  font-style: normal;
  src: url("../fonts/quincycf/quincycf-700.woff2") format("woff2"), url("../fonts/quincycf/quincycf-700.woff") format("woff");
}
/*   ______  _______ _______ _______
 *   |_____] |_____| |______ |______
 *   |_____] |     | ______| |______
*/
.root1 {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
}

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

.-contain > *, .-recontain > *, .-restrain {
  width: calc(100% - var(--sx) * 2);
  max-width: var(--xw, var(--xw_1));
  max-width: min(var(--xw, var(--xw_1)), var(--xw_1) - var(--sx) * 2);
  margin-left: auto;
  margin-right: auto;
}

.-decontain, .-recontain {
  width: 100%;
  max-width: none;
}

.-breakout {
  width: auto;
  max-width: none;
  margin-left: calc(50% - var(--vw, 1vw) * 50);
  margin-right: calc(50% - var(--vw, 1vw) * 50);
  padding-left: var(--_px, 0);
  padding-right: var(--_px, 0);
}

.-breakout[class*="-xw:"] {
  --_pxa: calc(var(--vw, 1vw) * 50 - var(--xw) / 2 + var(--sx));
  --_px: var(--_pxa);
  --_px: max(var(--sx),var(--_pxa));
  max-width: none;
}

.-restrain[class*="-xw:"] {
  max-width: min(var(--xw, var(--xw_1)), var(--xw_1) - var(--sx) * 2);
}

@media print {
  .-contain > *, .-recontain > *, .-restrain {
    width: 100%;
  }
  .-breakout {
    --vw: 1vw;
  }
  .-breakout[class*="-xw:"] {
    --_px: var(--_pxa);
  }
}
/* grid */
[grid], [flex] {
  --gc: 24;
  --gx: var(--sxo);
  --gy: var(--gx);
  margin-left: calc(var(--gx) * -1);
  margin-right: 0;
  padding: 0;
  pointer-events: none;
}

[grid] > *, [flex] > * {
  order: var(--o, 0);
  min-width: 0;
  margin-bottom: 0;
  background-clip: padding-box;
  pointer-events: auto;
}

[grid] > *:before, [flex] > *:before {
  display: none;
}

[grid] {
  display: grid;
  grid-template-columns: repeat(var(--gc, 24), 1fr);
  grid-row-gap: var(--gy);
}

[grid~=end] {
  align-items: end;
}

[grid~=middle] {
  align-items: center;
}

[grid] > * {
  grid-column: var(--c, auto)/span var(--w, var(--gc, 24));
  margin-left: var(--gx);
  margin-right: 0;
}

[flex] {
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(var(--gy) * -1);
}

[flex~=inline] {
  display: inline-flex;
}

[flex~=between] {
  justify-content: space-between;
}

[flex~=right] {
  justify-content: flex-end;
}

[flex~=end] {
  align-items: flex-end;
}

[flex~=center] {
  justify-content: center;
}

[flex~=middle] {
  align-items: center;
}

[flex~=baseline] {
  align-items: baseline;
}

[flex~=nowrap] {
  flex-wrap: nowrap;
}

[flex] > * {
  width: calc(100% * var(--w, 0) / var(--gc, 24) * 0.9999 - var(--gx));
  margin: var(--gy) 0 0 var(--gx);
}

[flex~=auto] > * {
  width: auto;
}

[flex] > [grow] {
  flex-grow: 1;
}

[flex] > [auto] {
  flex: none;
  width: auto;
}

[w^="a/"] {
  width: auto;
}

[w^="1/"] {
  --w:1;
}

[w^="2/"] {
  --w:2;
}

[w^="3/"] {
  --w:3;
}

[w^="4/"] {
  --w:4;
}

[w^="5/"] {
  --w:5;
}

[w^="6/"] {
  --w:6;
}

[w^="7/"] {
  --w:7;
}

[w^="8/"] {
  --w:8;
}

[w^="9/"] {
  --w:9;
}

[w^="10/"] {
  --w:10;
}

[w^="11/"] {
  --w:11;
}

[w^="12/"] {
  --w:12;
}

[w^="13/"] {
  --w:13;
}

[w^="14/"] {
  --w:14;
}

[w^="15/"] {
  --w:15;
}

[w^="16/"] {
  --w:16;
}

[w^="17/"] {
  --w:17;
}

[w^="18/"] {
  --w:18;
}

[w^="19/"] {
  --w:19;
}

[w^="20/"] {
  --w:20;
}

[w^="21/"] {
  --w:21;
}

[w^="22/"] {
  --w:22;
}

[w^="23/"] {
  --w:23;
}

[w^="24/"] {
  --w:24;
}

[c^="-1/"] {
  grid-column: span var(--w, var(--gc, 24))/-1;
}

[c^="0/"] {
  --c:1;
}

[c^="1/"] {
  --c:2;
}

[c^="2/"] {
  --c:3;
}

[c^="3/"] {
  --c:4;
}

[c^="4/"] {
  --c:5;
}

[c^="5/"] {
  --c:6;
}

[c^="6/"] {
  --c:7;
}

[c^="7/"] {
  --c:8;
}

[c^="8/"] {
  --c:9;
}

[c^="9/"] {
  --c:10;
}

[c^="10/"] {
  --c:11;
}

[c^="11/"] {
  --c:12;
}

[c^="12/"] {
  --c:13;
}

[c^="13/"] {
  --c:14;
}

[c^="14/"] {
  --c:15;
}

[c^="15/"] {
  --c:16;
}

[c^="16/"] {
  --c:17;
}

[c^="17/"] {
  --c:18;
}

[c^="18/"] {
  --c:19;
}

[c^="19/"] {
  --c:20;
}

[c^="20/"] {
  --c:21;
}

[c^="21/"] {
  --c:22;
}

[c^="22/"] {
  --c:23;
}

[c^="23/"] {
  --c:24;
}

[o^="-1/"] {
  --o:-1;
}

[o^="0/"] {
  --o:0;
}

[o^="1/"] {
  --o:1;
}

[o^="2/"] {
  --o:2;
}

[o^="3/"] {
  --o:3;
}

@media print, (min-width: 720px) {
  [w*="/a/"] {
    width: auto;
  }
  [w*="/1/"] {
    --w:1;
  }
  [w*="/2/"] {
    --w:2;
  }
  [w*="/3/"] {
    --w:3;
  }
  [w*="/4/"] {
    --w:4;
  }
  [w*="/5/"] {
    --w:5;
  }
  [w*="/6/"] {
    --w:6;
  }
  [w*="/7/"] {
    --w:7;
  }
  [w*="/8/"] {
    --w:8;
  }
  [w*="/9/"] {
    --w:9;
  }
  [w*="/10/"] {
    --w:10;
  }
  [w*="/11/"] {
    --w:11;
  }
  [w*="/12/"] {
    --w:12;
  }
  [w*="/13/"] {
    --w:13;
  }
  [w*="/14/"] {
    --w:14;
  }
  [w*="/15/"] {
    --w:15;
  }
  [w*="/16/"] {
    --w:16;
  }
  [w*="/17/"] {
    --w:17;
  }
  [w*="/18/"] {
    --w:18;
  }
  [w*="/19/"] {
    --w:19;
  }
  [w*="/20/"] {
    --w:20;
  }
  [w*="/21/"] {
    --w:21;
  }
  [w*="/22/"] {
    --w:22;
  }
  [w*="/23/"] {
    --w:23;
  }
  [w*="/24/"] {
    --w:24;
  }
  [c*="/-1/"] {
    grid-column: span var(--w, var(--gc, 24))/-1;
  }
  [c*="/0/"] {
    --c:1;
  }
  [c*="/1/"] {
    --c:2;
  }
  [c*="/2/"] {
    --c:3;
  }
  [c*="/3/"] {
    --c:4;
  }
  [c*="/4/"] {
    --c:5;
  }
  [c*="/5/"] {
    --c:6;
  }
  [c*="/6/"] {
    --c:7;
  }
  [c*="/7/"] {
    --c:8;
  }
  [c*="/8/"] {
    --c:9;
  }
  [c*="/9/"] {
    --c:10;
  }
  [c*="/10/"] {
    --c:11;
  }
  [c*="/11/"] {
    --c:12;
  }
  [c*="/12/"] {
    --c:13;
  }
  [c*="/13/"] {
    --c:14;
  }
  [c*="/14/"] {
    --c:15;
  }
  [c*="/15/"] {
    --c:16;
  }
  [c*="/16/"] {
    --c:17;
  }
  [c*="/17/"] {
    --c:18;
  }
  [c*="/18/"] {
    --c:19;
  }
  [c*="/19/"] {
    --c:20;
  }
  [c*="/20/"] {
    --c:21;
  }
  [c*="/21/"] {
    --c:22;
  }
  [c*="/22/"] {
    --c:23;
  }
  [c*="/23/"] {
    --c:24;
  }
  [o*="/-1/"] {
    --o:-1;
  }
  [o*="/0/"] {
    --o:0;
  }
  [o*="/1/"] {
    --o:1;
  }
  [o*="/2/"] {
    --o:2;
  }
  [o*="/3/"] {
    --o:3;
  }
}
@media print, (min-width: 1024px) {
  [w$="/0"] {
    display: none !important;
  }
  [w$="/a"] {
    width: auto;
  }
  [w$="/1"] {
    --w:1;
  }
  [w$="/2"] {
    --w:2;
  }
  [w$="/3"] {
    --w:3;
  }
  [w$="/4"] {
    --w:4;
  }
  [w$="/5"] {
    --w:5;
  }
  [w$="/6"] {
    --w:6;
  }
  [w$="/7"] {
    --w:7;
  }
  [w$="/8"] {
    --w:8;
  }
  [w$="/9"] {
    --w:9;
  }
  [w$="/10"] {
    --w:10;
  }
  [w$="/11"] {
    --w:11;
  }
  [w$="/12"] {
    --w:12;
  }
  [w$="/13"] {
    --w:13;
  }
  [w$="/14"] {
    --w:14;
  }
  [w$="/15"] {
    --w:15;
  }
  [w$="/16"] {
    --w:16;
  }
  [w$="/17"] {
    --w:17;
  }
  [w$="/18"] {
    --w:18;
  }
  [w$="/19"] {
    --w:19;
  }
  [w$="/20"] {
    --w:20;
  }
  [w$="/21"] {
    --w:21;
  }
  [w$="/22"] {
    --w:22;
  }
  [w$="/23"] {
    --w:23;
  }
  [w$="/24"] {
    --w:24;
  }
  [c$="/-1"] {
    grid-column: span var(--w, var(--gc, 24))/-1;
  }
  [c$="/0"] {
    --c:1;
  }
  [c$="/1"] {
    --c:2;
  }
  [c$="/2"] {
    --c:3;
  }
  [c$="/3"] {
    --c:4;
  }
  [c$="/4"] {
    --c:5;
  }
  [c$="/5"] {
    --c:6;
  }
  [c$="/6"] {
    --c:7;
  }
  [c$="/7"] {
    --c:8;
  }
  [c$="/8"] {
    --c:9;
  }
  [c$="/9"] {
    --c:10;
  }
  [c$="/10"] {
    --c:11;
  }
  [c$="/11"] {
    --c:12;
  }
  [c$="/12"] {
    --c:13;
  }
  [c$="/13"] {
    --c:14;
  }
  [c$="/14"] {
    --c:15;
  }
  [c$="/15"] {
    --c:16;
  }
  [c$="/16"] {
    --c:17;
  }
  [c$="/17"] {
    --c:18;
  }
  [c$="/18"] {
    --c:19;
  }
  [c$="/19"] {
    --c:20;
  }
  [c$="/20"] {
    --c:21;
  }
  [c$="/21"] {
    --c:22;
  }
  [c$="/22"] {
    --c:23;
  }
  [c$="/23"] {
    --c:24;
  }
  [o$="/-1"] {
    --o:-1;
  }
  [o$="/0"] {
    --o:0;
  }
  [o$="/1"] {
    --o:1;
  }
  [o$="/2"] {
    --o:2;
  }
  [o$="/3"] {
    --o:3;
  }
}
@media screen and (max-width: 719px) {
  [w^="0/"] {
    display: none !important;
  }
}
@media screen and (min-width: 720px) and (max-width: 1023px) {
  [w*="/0/"] {
    display: none !important;
  }
}
/* reveal */
@media screen and (prefers-reduced-motion: no-preference) {
  [m4n] [reveal]:not([reveal=""]), [revealing] {
    transition-duration: var(--rvt, var(--t8n_d1));
    transition-delay: var(--rvd, calc(var(--rvq, 0) * var(--rvs, 0.075s)));
    transition-timing-function: var(--rve, ease);
  }
  [reveal], [reveal$="/0"] {
    --rvq:0;
  }
  [reveal$="/1"] {
    --rvq:1;
  }
  [reveal$="/2"] {
    --rvq:2;
  }
  [reveal$="/3"] {
    --rvq:3;
  }
  [reveal$="/4"] {
    --rvq:4;
  }
  [reveal$="/5"] {
    --rvq:5;
  }
  [reveal$="/6"] {
    --rvq:6;
  }
  [reveal$="/7"] {
    --rvq:7;
  }
  [reveal$="/8"] {
    --rvq:8;
  }
  [reveal$="/9"] {
    --rvq:9;
  }
  [reveal$="/10"] {
    --rvq:10;
  }
  [reveal$="/11"] {
    --rvq:11;
  }
  [reveal$="/12"] {
    --rvq:12;
  }
  [reveal$="/13"] {
    --rvq:13;
  }
  [reveal$="/14"] {
    --rvq:14;
  }
  [reveal$="/15"] {
    --rvq:15;
  }
  [reveal$="/16"] {
    --rvq:16;
  }
  [reveal$="/17"] {
    --rvq:17;
  }
  [reveal$="/18"] {
    --rvq:18;
  }
  [reveal$="/19"] {
    --rvq:19;
  }
  [reveal$="/20"] {
    --rvq:20;
  }
  [reveal^="1"] {
    --rvt: 0.75s;
  }
  [m4n]:not([ready]) [reveal^="1+/"], [m4n] [reveal^="1/"]:not([revealing]) {
    opacity: 0;
  }
  [reveal^="2"] {
    --rvt: 1.25s;
    --rve: var(--t8n_e1);
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
    will-change: clip-path;
  }
  [m4n]:not([ready]) [reveal^="2r+/"], [m4n] [reveal^="2r/"]:not([revealing]) {
    -webkit-clip-path: inset(0 0 0 100%);
            clip-path: inset(0 0 0 100%);
  }
  [m4n]:not([ready]) [reveal^="2l+/"], [m4n] [reveal^="2l/"]:not([revealing]) {
    -webkit-clip-path: inset(0 100% 0 0);
            clip-path: inset(0 100% 0 0);
  }
  [reveal^="3"] {
    --rvt: 0.75s;
  }
  [m4n]:not([ready]) [reveal^="3+/"], [m4n] [reveal^="3/"]:not([revealing]) {
    transform: translateY(4rem);
    opacity: 0;
  }
}
/*   _______  _____  ______  _     _ _      _______ _______
 *   |  |  | |     | |     \ |     | |      |______ |______
 *   |  |  | |_____| |_____/ |_____| |_____ |______ ______|
*/
/**
 * @name .accordion1
 * @description Accordion
 * @example { }
 */
.accordion1 {
  --s: 2rem;
  margin-bottom: var(--s1);
  border-bottom: 1px solid var(--c_o1t);
}

.accordion1-entry {
  margin: 0;
  border-top: 1px solid var(--c_o1t);
}

.accordion1-title {
  margin: 0;
  padding: var(--s) 0;
  cursor: pointer;
  transition-property: color;
}

.accordion1-title i {
  float: right;
  margin: 0 0 0 2rem;
  color: var(--c_a1t);
  transform: scale(1.3);
}

.accordion1-entry.-open .accordion1-title i {
  transform: scale(1.3) rotate(180deg);
}

.accordion1-details {
  margin: 0;
}

.accordion1-details:after {
  display: block;
  content: "";
  clear: both;
  height: calc(var(--s) * 2);
}

/**
* @name .address1
* @description Address block
* @example { }
*/
.address1 {
  --p: 1.75em;
  padding-left: var(--p);
}

.address1 > i:first-child {
  float: left;
  width: var(--p);
  margin: 0 0 0 calc(var(--p) * -1);
  color: var(--c_a1t);
}

.address1 > i:first-child:before {
  font-size: 1.25em;
}

/**
 * @name .amount1
 * @description Amount line
 * @example { }
 */
.amount1-type {
  --gy: 1rem;
}

.amount1-type li {
  --w: auto;
}

.amount1-options {
  --gx: 1.0rem;
  --gy: 1.6rem;
  max-width: 48rem;
}

.amount1-select input[type] {
  position: absolute;
  left: -10001px;
}

.amount1-select label {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 10rem;
  min-height: 4.8rem;
  margin: 0;
  padding: 0 2rem;
  border-radius: 2.4rem;
  box-shadow: inset 0 0 0 1px var(--aoc, var(--c_a1t));
  color: var(--c_a1t);
  font: 700 1.6rem/var(--lh) var(--ff_1);
}

.amount1-select input:checked + label {
  background: var(--c_a1t);
  color: var(--c_i1t);
}

.amount1-currency select {
  --aocn: var(--c_a1t);
  padding-right: 4.8rem;
  color: var(--c_a1t);
  font-weight: 700;
}

.amount1-custom[class] {
  --w: 30;
  display: flex;
  position: relative;
}

.amount1-custom.-cs\:i {
  --c_o1t: var(--c_b1);
  --c_o2t: var(--c_b1);
}

.amount1-custom label[for] {
  --lh: 5rem;
  position: absolute;
  left: 0;
  top: 0;
  width: 4rem;
  margin-bottom: 0;
  padding-left: 0.5rem;
  color: var(--c_d1t);
  font: 400 1.6rem/var(--lh) var(--ff_1);
  text-align: center;
}

.amount1-custom input[type] {
  flex-grow: 1;
  padding-right: 3rem;
  padding-left: 4rem;
  font: 400 1.6rem/var(--lh) var(--ff_1);
}

.amount1-custom .button1 {
  flex: none;
  margin-left: -1px;
}

.amount1.-center {
  text-align: center;
}

.amount1.-center .amount1-type {
  justify-content: center;
}

.amount1.-center .amount1-options {
  justify-content: center;
}

@media (hover: hover) and (pointer: fine) {
  .amount1-select label:hover {
    --aoc: var(--c_a5t);
  }
}
@media screen and (max-width: 719px) {
  .amount1-options {
    --gx: 1rem;
  }
  .amount1-options li {
    --w: 10;
  }
}
/**
 * @name .archives1
 * @description Archives
 * @example { }
 */
.archives1-wrap[disabled] {
  cursor: wait;
  pointer-events: auto;
  opacity: 0.2;
}

.archives1-wrap[disabled] > * {
  pointer-events: none;
}

.archives1-more[disabled] {
  pointer-events: none;
  opacity: 0.2;
}

/**
 * @name .biggie1
 * @description Big image wrapper
 * @example { }
 */
.biggie1 {
  margin-bottom: var(--s1);
}

.biggie1 > .img1, .biggie1 > .slot1, .biggie1 > .embed1 {
  margin-bottom: 0;
}

.biggie1-caption {
  max-width: var(--xw_5);
  margin: 0 auto;
  padding: 2rem 0;
  border-bottom: 1px solid var(--c_o1t);
}

.biggie1-caption > span {
  display: block;
  max-width: 74ex;
}

/**
 * @name .body1
 * @description Body wrapper
 * @example { }
 */
.body1 {
  position: relative;
  margin-bottom: var(--s3);
}

.body1 > * {
  width: auto;
}

.body1 > :where(h2, h3) {
  margin-top: var(--s1);
}

.body1 > :where(h4, h5, h6) {
  margin-top: var(--s1);
}

.body1 > :where(figure, table, blockquote) {
  margin-bottom: var(--s1);
}

.body1 > :where(:first-child) {
  margin-top: 0;
}

.body1-side {
  margin-bottom: var(--s2);
}

@media screen and (max-width: 719px) {
  .body1 > * {
    max-width: 100%;
  }
  .body1 > .-breakout {
    max-width: none;
  }
}
@media print, (min-width: 1024px) {
  .body1 {
    --b1s: calc((100% - var(--xw_5)) / 2);
    --b1ss: calc(var(--b1s) - var(--s1));
  }
  .body1-side {
    margin-bottom: 0;
  }
  .body1-side.-left {
    float: left;
    width: var(--b1ss);
    margin-right: -100%;
  }
  .body1-side.-event-left {
    position: absolute;
  }
  .body1-side.-right {
    float: right;
    width: var(--b1ss);
    margin-left: -100%;
  }
  .body1-side.-sticky {
    position: sticky;
    top: var(--s1);
  }
  .body1-pull {
    --b1s: calc(50% - var(--xw_5) / 2);
    width: auto;
    max-width: 100%;
  }
  .body1-pull.-left {
    margin-right: var(--b1s);
  }
  .body1-pull.-right {
    margin-left: var(--b1s);
  }
}
/**
* @name .body2
* @description .split1 body
* @example { }
*/
@media print, (min-width: 720px) {
  .body2 > * {
    max-width: var(--xw_5);
  }
}
/**
 * @name .brow1
 * @description Archives count/sort line
 * @example { }
 */
.brow1 {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: var(--s1);
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--c_o3t);
}

.brow1-title {
  margin-bottom: 0;
}

.brow1-sort {
  display: flex;
  align-items: baseline;
  flex: none;
  margin: 0 0 0 1rem;
}

.brow1-sort label[for] {
  flex: none;
  margin-bottom: 0;
}

.brow1-sort select {
  --ahm: auto;
  --apx: 0;
  --apy: 0;
  --aosn: 0;
  --lh: 1;
  margin: 0 0 0 1rem;
  padding-right: 1.5rem;
  background-position: 100% 50%;
  background-size: 0.8rem auto;
}

@media screen and (max-width: 719px) {
  .brow1 {
    display: block;
  }
  .brow1-sort {
    margin: var(--sy) 0 0;
  }
}
/**
* @name .box1
* @description Box
* @example { }
*/
.box1 {
  padding: var(--s1) var(--sx);
  border-radius: var(--br_1);
  box-shadow: inset 0 0 0 1px var(--c_o1t), 0 1rem 3rem 1.5rem rgba(var(--c_dxt), 0.1);
}

.box1.-shadowless {
  box-shadow: inset 0 0 0 1px var(--c_o1t);
}

/**
* @name .card1
* @description Simple card
* @example { }
*/
.card1 {
  --sy: var(--s1);
  position: relative;
}

.card1 > * {
  --sy: 2rem;
  color: var(--c_d1t);
}

.card1 > .img1 {
  display: block;
}

@media (hover: hover) and (pointer: fine) {
  .card1.-hovershadow[hover] > .img1 {
    box-shadow: 0 1rem 3rem 1.5rem rgba(var(--c_dxt), 0.1);
  }
}
/**
* @name .card2
* @description White background card
* @example { }
*/
.card2 {
  --sy: var(--s1);
  position: relative;
  padding: var(--s2) var(--s1);
}

.card2-link {
  --abcn: var(--c_b1);
  --abch: var(--c_a1t);
  --aocn: var(--c_o1t);
  --aoch: var(--abch);
  --aosn: 1px;
  border-radius: var(--br_1);
  box-shadow: var(--aoi, inset) var(--aox, 0) var(--aoy, 0) var(--aob, 0) var(--aos, 0) var(--aoc, currentColor), 0 1rem 3rem 1.5rem rgba(var(--c_dxt), 0.1);
}

.card2-main {
  position: relative;
  color: var(--c_d1t);
  transition-property: var(--t8n_p1), color;
}

.card2-title {
  text-align: center;
}

.card2-more {
  text-align: center;
}

.card2-more i {
  color: var(--c_a1t);
  font-size: 1.5em;
  vertical-align: middle;
}

.card2-main, .card2-more i {
  transition: all var(--t8n_d1) var(--t8n_e1);
  transition-property: var(--t8n_p1), color;
}

@media (hover: hover) and (pointer: fine) {
  .card2:hover .card2-more i {
    color: var(--c_d1t);
  }
}
/**
* @name .card3
* @description Card
* @example { }
*/
.card3 {
  --sy: var(--s1);
  display: flex;
  flex-direction: column;
  justify-content: start;
  position: relative;
}

.card3-link {
  --abcn: var(--c_b1);
  --abch: var(--c_b4t);
  border-radius: var(--br_1);
  box-shadow: var(--aoi, inset) var(--aox, 0) var(--aoy, 0) var(--aob, 0) var(--aos, 0) var(--aoc, currentColor), 0 1rem 3rem 1.5rem rgba(var(--c_dxt), 0.1);
}

.card3-image {
  --sy: var(--s2);
  --m: radial-gradient(80% 100% at 50% 0, #000 100%, transparent 100%);
  border-radius: var(--br_1) var(--br_1) 0 0;
  -webkit-mask: var(--m);
  mask: var(--m);
}

.card3-main {
  --sy: 2rem;
  position: relative;
  max-width: 100%;
  padding: 0 var(--s1) var(--s1);
  color: var(--c_d1t);
  transition-property: var(--t8n_p1), color;
}

@media (hover: hover) and (pointer: fine) {
  .card3:hover .card3-main {
    color: var(--c_i1t);
  }
}
@media print, (min-width: 1024px) {
  .card3.-v2 {
    flex-direction: row;
  }
  .card3.-v2 .card3-image {
    --m: radial-gradient(100% 100% at 100% 50%, #000 100%, transparent 100%);
    order: 2;
    width: 47.5%;
    margin: 0 0 0 var(--s3);
    border-radius: 0 var(--br_1) var(--br_1) 0;
  }
  .card3.-v2 .card3-main {
    align-self: center;
    width: 40rem;
    margin: 0 auto;
    padding: var(--s1);
  }
}
/**
* @name .card4
* @description Horizontal event card
* @example { }
*/
.card4 {
  --sy: 2rem;
  position: relative;
}

.card4-link {
  --abcn: var(--c_b1);
  --abch: var(--c_a1);
  border-radius: var(--br_1);
  box-shadow: var(--aoi, inset) var(--aox, 0) var(--aoy, 0) var(--aob, 0) var(--aos, 0) var(--aoc, currentColor), 0 1rem 3rem 1.5rem rgba(var(--c_dxt), 0.1);
}

.card4-image {
  --sy: 0;
  border-radius: var(--br_1) var(--br_1) 6rem 0;
}

.card4-main {
  position: relative;
  padding: var(--sx);
  transition-property: var(--t8n_p1), color;
}

@media (hover: hover) and (pointer: fine) {
  .card4-link:hover ~ .card4-main {
    color: var(--c_i1t);
  }
}
@media print, (min-width: 720px) {
  .card4 {
    display: flex;
  }
  .card4-image[class] {
    flex: none;
    width: 28%;
    border-radius: var(--br_1) 6rem 0 var(--br_1);
  }
  .card4-main {
    flex-grow: 1;
    padding: var(--s1) var(--s3);
  }
}
/**
* @name .card5
* @description Tagged card
* @example { }
*/
.card5 {
  position: relative;
}

.card5-link {
  --abcn: var(--c_b1);
  --abch: var(--c_a1);
  border-radius: var(--br_1);
  box-shadow: var(--aoi, inset) var(--aox, 0) var(--aoy, 0) var(--aob, 0) var(--aos, 0) var(--aoc, currentColor), 0 1rem 3rem 1.5rem rgba(var(--c_dxt), 0.1);
}

.card5-image {
  --sy: 0;
  position: relative;
}

.card5-figure {
  height: 100%;
  margin: 0;
  border-radius: var(--br_1) var(--br_1) 0 0;
}

.card5-label {
  --i: 2rem;
  --i: clamp(2rem, 5%, 3rem);
  position: absolute;
  left: var(--i);
  top: var(--i);
}

.card5-main {
  position: relative;
  padding: var(--s1) var(--sx);
  transition-property: var(--t8n_p1), color;
}

@media (hover: hover) and (pointer: fine) {
  .card5-link:hover ~ .card5-main {
    color: var(--c_i1t);
  }
}
@media print, (min-width: 720px) {
  .card5.-v2 {
    display: flex;
  } /* horizontal split */
  .card5.-v2 .card5-image {
    flex: none;
    width: 50%;
    margin: 0;
  }
  .card5.-v2 .card5-figure {
    border-radius: var(--br_1) 0 0 var(--br_1);
  }
  .card5.-v2 .card5-main {
    align-self: center;
    max-width: 54rem;
    margin-left: auto;
    margin-right: auto;
    padding: var(--s1);
  }
  /* reversed */
  .card5.-v2.-flip .card5-image {
    order: 2;
  }
  .card5.-v2.-flip .card5-figure {
    border-radius: 0 var(--br_1) var(--br_1) 0;
  }
  .card5.-v2.-flip .card5-label {
    left: auto;
    right: var(--i);
  }
}
/**
* @name .card6
* @description Resource card
* @example { }
*/
.card6 {
  --aosn: 1px;
  --aocn: rgba(var(--c_dxt), 0.2);
  display: flex;
  flex-direction: column;
  position: relative;
  padding: min(3rem, var(--sx));
}

.card6.-tight {
  padding: 2rem;
}

.card6.-cs\:i {
  --aosn: 0;
}

.card6-link {
  --abcn: var(--c_b1t);
  border-radius: var(--br_1);
  box-shadow: var(--aoi, inset) var(--aox, 0) var(--aoy, 0) var(--aob, 0) var(--aos, 0) var(--aoc, currentColor), 0 1rem 3rem 1.5rem rgba(var(--c_dx), 0.1);
}

.card6-image {
  --br: calc(var(--br_1) * 0.65);
  border-radius: 0 0 var(--br) var(--br);
}

.card6-main {
  flex-grow: 1;
  position: relative;
  color: var(--c_d1t);
  transition-property: var(--t8n_p1), color;
}

.card6-main > * {
  --sy: 1.6rem;
}

.card6-brow:after {
  display: block;
  content: "";
  width: 6rem;
  height: 1px;
  margin: 1.2rem 0 0;
  background: currentColor;
  color: var(--c_a1t);
  transition-property: var(--t8n_p1), color;
}

.card6.-cs\:i .card6-brow:after {
  color: var(--c_d1t);
}

@media (hover: hover) and (pointer: fine) {
  .card6:hover {
    transform: translateY(-1rem);
  }
}
/**
* @name .card7
* @description Horizontal card
* @example { }
*/
.card7 {
  --sy: var(--s1);
  position: relative;
}

.card7-image {
  --sy: 2rem;
}

.card7-main {
  position: relative;
  transition-property: var(--t8n_p1), color;
}

.card7-title {
  transition-property: var(--t8n_p2), color;
}

.card7-category[class] {
  --sy: 0.6rem;
}

@media (hover: hover) and (pointer: fine) {
  .card7-link:hover ~ .card7-main .card7-title {
    color: var(--c_a1t);
  }
}
@media print, (min-width: 720px) {
  .card7 {
    display: flex;
    align-items: flex-start;
  }
  .card7.-sep\>s {
    margin-bottom: 0;
    padding-bottom: var(--s1);
    border-bottom: 1px solid var(--c_o1t);
  }
  .card7.-sep\>s + .card7 {
    border-top: var(--s1) solid transparent;
  }
  .card7-image {
    flex: none;
    max-width: 35%;
    margin: 0 var(--s1) 0 0;
  }
  .card7-main {
    flex-grow: 1;
    position: static;
  }
  .card7-label {
    left: 0;
    top: 0;
    max-width: 35%;
  }
}
@media print, (min-width: 1024px) {
  .card7-image {
    max-width: 30rem;
  }
  .card7-main > * {
    max-width: var(--xw_5);
  }
  .card7-label {
    float: right;
    position: static;
    max-width: 100%;
    margin: 0 0 0 var(--s1);
    padding: 0;
  }
}
/**
* @name .card8
* @description Donations card
* @example { }
*/
.card8 {
  --sy: 2rem;
  display: flex;
  align-items: flex-start;
}

.card8.-sep {
  padding-bottom: var(--sy);
  border-bottom: 1px solid var(--c_o1t);
}

.card8 > * {
  --sy: 0;
}

.card8-number {
  flex: none;
  min-width: 1.25em;
}

.card8-image[class] {
  flex: none;
  width: 5rem;
  margin: 0 1.4rem 0 0;
  border-radius: 50%;
}

.card8-main {
  flex-grow: 1;
}

.card8-main > * {
  --sy: 0.6rem;
}

.card8 .progress2 {
  margin-top: 1rem;
}

@media print, (min-width: 720px) {
  .card8-number {
    align-self: center;
  }
  .card8-image[class] {
    width: 8rem;
    margin: 0 2rem 0 1rem;
    border-radius: var(--br_2);
  }
}
/**
* @name .card9
* @description CTA card
* @example { }
*/
.card9 {
  --sy: 2rem;
  display: flex;
  align-items: center;
  align-self: start;
  position: relative;
  min-height: auto;
  aspect-ratio: 1;
}

.card9.-stretch {
  align-self: stretch;
  aspect-ratio: unset;
}

.card9.-center {
  justify-content: center;
}

.card9-link {
  --aus: ;
  --abgn: ;
  --aoi: ;
  --aoyn: 1rem;
  --aobn: 3rem;
  --aosn: 1.5rem;
  --aocn: transparent;
  --aoch: rgba(var(--c_dx), 0.1);
  --abcn: var(--c_b1t);
  --aor: var(--br_1);
}

.card9-main {
  position: relative;
  padding: var(--s1);
  color: var(--c_d1t);
}

.card9.-v2 {
  min-height: 24rem;
}

@media print {
  .card9-link[class] {
    box-shadow: inset 0 0 0 1px var(--c_d1t);
    background: none;
  }
}
/**
* @name .card10
* @description Event card
* @example { }
*/
.card10 {
  position: relative;
}

.card10-link {
  --aus: ;
  --abgn: ;
  --aoi: ;
  --aocn: transparent;
  --aoch: rgba(var(--c_dx), 0.1);
  --abcn: #DFECF1;
  --aor: var(--br_1);
  box-shadow: 0 1rem 3rem 1.5rem var(--aoc, currentColor), inset 0 0 0 1px var(--aoc2, var(--c_b6t));
}

.card10-main {
  display: flex;
  flex-direction: column;
  position: relative;
  height: 100%;
  min-height: 33.5rem;
  padding: var(--sx);
  color: var(--c_d1t);
}

.card10-date {
  --lh: 1;
  margin-bottom: auto;
  padding-bottom: var(--s2);
}

.card10-date span {
  --lh: 1;
  display: block;
}

.card10.-v2 .card10-link {
  --aoc2: var(--c_o2t);
  --abcn: var(--c_b1);
  --abgn: linear-gradient(#f4d4e2, transparent 75%);
}

@media print, (min-width: 720px) {
  .card10-main {
    min-height: 36rem;
    padding: 3rem;
  }
}
@media print {
  .card10-link {
    background: none;
  }
}
/**
* @name .card11
* @description Funded projects
* @example { }
*/
.card11 {
  position: relative;
}

.card11-link {
  --abcn: var(--c_b1);
  --abch: var(--c_b4);
  border-radius: var(--br_1);
  box-shadow: var(--aoi, inset) var(--aox, 0) var(--aoy, 0) var(--aob, 0) var(--aos, 0) var(--aoc, currentColor), 0 1rem 3rem 1.5rem rgba(var(--c_dxt), 0.1);
}

.card11-main {
  position: relative;
  padding: var(--s1) var(--sx);
  color: var(--c_d1t);
  transition-property: var(--t8n_p1), color;
}

.card11-main > * {
  --sy: 1.8rem;
}

.card11-list {
  margin-top: 3rem;
  padding: 0;
}

.card11-list li {
  --sy: 2rem;
}

.card11-list li:before {
  display: none;
}

.card11-list li > strong {
  display: block;
  margin: 0 0 0.5rem;
}

.card11-arrow {
  --lh: 1;
  margin-top: var(--s1);
  font-size: 6rem;
}

.card11-arrow i {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  background: var(--c_b4t);
  color: var(--c_i1t);
  transition-property: var(--t8n_p1), color;
}

.card11-arrow i:before {
  font-size: 0.5em;
}

@media (hover: hover) and (pointer: fine) {
  .card11[hover] .card11-main {
    --c_d1t: var(--c_i1);
    --c_i1t: var(--c_d1);
  }
  .card11[hover] .card11-arrow i {
    background: var(--c_d1t);
    color: var(--c_i1t);
  }
}
@media print, (min-width: 720px) {
  .card11-main {
    padding: var(--s2) var(--s3);
  }
  .card11-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-column-gap: var(--s1);
  }
  .card11-list li {
    --sy: 0;
  }
}
@media print {
  .card11-arrow i {
    box-shadow: inset 0 0 0 1px;
    background: none;
    color: var(--c_b4t);
  }
}
/**
 * @name .carousel1
 * @description Quote carousel
 * @example { }
 */
.carousel1 {
  --wx: calc(100% - var(--px) * 2);
  --px: var(--sx);
  --gx: var(--sx);
  --c: 1;
  position: relative;
  margin-bottom: var(--s3);
}

.carousel1-entries {
  display: flex;
  align-items: start;
  overflow: auto;
  overflow-y: hidden;
  margin-bottom: 0;
  padding-bottom: 1px;
  white-space: nowrap;
  scroll-snap-type: x mandatory;
  scroll-padding: 0 var(--px);
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
}

.carousel1-entries::-webkit-scrollbar {
  display: none;
}

.carousel1-entry {
  flex: none;
  width: calc(var(--wx) / var(--c) - var(--gx) * (var(--c) - 1) / var(--c));
  margin-bottom: 0;
  padding: 0 4rem;
  white-space: normal;
  scroll-snap-align: start;
}

.carousel1-entries > :first-child {
  margin-left: var(--px);
}

.carousel1-entry:last-child {
  width: calc(var(--wx) / var(--c) - var(--gx) * (var(--c) - 1) / var(--c) + var(--px));
  padding-right: var(--px);
}

.carousel1-entry ~ * {
  margin-left: var(--gx);
}

.carousel1-entry .quote1 {
  max-width: var(--xw_3);
  margin-left: auto;
  margin-right: auto;
}

.carousel1-nav {
  --lh: 1;
  display: flex;
  justify-content: space-between;
  position: absolute;
  left: var(--sx);
  right: var(--sx);
  top: 9rem;
  margin: 0;
  font-size: 2.4rem;
  pointer-events: none;
}

:root:not([js]) .carousel1-nav {
  pointer-events: none;
}

.carousel1-nav a {
  --aus: ;
  --abgn: ;
  --atcn: var(--c_a1t);
  text-decoration: none;
  pointer-events: auto;
}

.carousel1-nav a[disabled] {
  --atcn: var(--c_d1t);
}

.carousel1-nav a ~ a {
  margin-left: 1rem;
}

:root:not([js]) .carousel1-nav a {
  pointer-events: none;
}

@media print, (min-width: 1024px) {
  .carousel1 {
    --c: 1;
    --px: calc(50% - var(--xw) / 2 + var(--sx));
  }
  .carousel1-nav {
    top: 12rem;
    padding: 0 calc(50vw - var(--xw_2) / 2 - var(--sx));
  }
}
/**
 * @name [collapse]
 * @description Collapse helper
 * @example { }
 */
[collapse] {
  will-change: height;
  transition: height var(--t8n_d2) var(--t8n_e1);
}

[collapse].-transition {
  overflow: hidden;
}

[collapse].-from {
  height: 0;
  overflow: hidden;
}

[collapse].-to {
  height: var(--height, auto);
  overflow: hidden;
}

[collapse]::-webkit-scrollbar {
  display: none;
}

/**
 * @name .colored1
 * @description Themable element
 * @example { }
 */
.colored1 {
  background: currentColor;
  color: var(--c_b1t);
}

.colored1.-expand {
  -o-border-image: linear-gradient(currentColor, currentColor) 0/0/0 100vw 0;
     border-image: linear-gradient(currentColor, currentColor) fill 0/0/0 100vw 0;
}

.colored1 > * {
  color: var(--c_d1t);
}

@media print {
  .colored1 {
    border: 1px solid;
    background: none;
  }
  .colored1.-expand {
    border: 1px solid;
    border-width: 1px 0;
  }
}
/**
* @name .connect1
* @description Footer connect
* @example { }
*/
.connect1 {
  --sy: 0;
  padding-top: var(--s2);
  background: linear-gradient(#fff 10%, var(--c_b6));
}

.connect1-main {
  text-align: center;
}

.connect1-subscribe {
  max-width: 40rem;
  margin-left: auto;
  margin-right: auto;
}

.connect1-title {
  --sy: 2rem;
  position: relative;
}

.connect1-links {
  --sy: 1.4rem;
  display: flex;
  justify-content: center;
  padding: 0;
}

.connect1-links li {
  --sy: 0;
}

.connect1-links li ~ li {
  margin-left: var(--s1);
}

.connect1-links li:before {
  display: none;
}

.connect1-image {
  max-width: 28rem;
  margin: 0 auto;
}

@media print, (min-width: 1024px) {
  .connect1-wrap {
    --xw: var(--xw_2);
    display: flex;
    justify-content: space-between;
  }
  .connect1-main {
    flex-grow: 1;
    margin: 0;
    padding-top: 2rem;
    text-align: left;
  }
  .connect1-subscribe {
    --sy: var(--s1);
    max-width: 100%;
    margin-left: 0;
  }
  .connect1-title {
    --sy: var(--syo);
  }
  .connect1-subscribe .fieldbox1 {
    max-width: 60rem;
  }
  .connect1-links {
    justify-content: start;
  }
  .connect1-image {
    align-self: end;
    flex: none;
    width: 100%;
    max-width: 40rem;
    margin: 0 0 0 var(--s3);
  }
}
@media print {
  .connect1 {
    background: none;
  }
}
/**
 * @name .content1
 * @description Global content
 */
.content1 {
  margin-bottom: 0;
}

.content1:before {
  display: block;
  content: attr(data-warning);
  margin: 0;
  padding: 14rem 4rem 2rem;
  background: rgba(187, 34, 34, 0.1);
  color: red;
  text-align: center;
}

@supports (display: grid) {
  .content1:before {
    display: none;
  }
}
@media screen and (max-width: 719px) {
  .content1:before {
    padding: 1.5rem 2rem;
    font-size: 1.4rem;
  }
}
/**
 * @name .cursor1
 * @description Alternative cursor
 * @example { }
 */
.cursor1 {
  display: none;
}

@media screen and (hover: hover) and (pointer: fine) {
  .cursor1 {
    --c1mx: -3vw;
    --c1my: -3vh;
    display: block;
    position: fixed;
    left: 0;
    top: 0;
    overflow: hidden;
    width: 100%;
    height: 100%;
    pointer-events: none;
    mix-blend-mode: multiply;
  }
  .cursor1.-active {
    --c1s: 1;
  }
  .cursor1-main {
    --lh: 1;
    position: absolute;
    left: calc(var(--mpx, 0) * 100%);
    top: calc(var(--mpy, 0) * 100%);
    width: 1em;
    height: 1em;
    margin: -0.5em 0 0 -0.5em;
    border-radius: 50%;
    background: radial-gradient(closest-side circle at 50%, #DEF6FF, transparent);
    font-size: 60rem;
    transform: scale(var(--c1s, 0)) translate3d(calc(var(--c1mx) / 2 - var(--mpx, 0) * var(--c1mx)), calc(var(--c1my) / 2 - var(--mpy, 0) * var(--c1my)), 0);
    transition: transform 0.1s ease;
    will-change: transform;
  }
}
/**
* @name .data1
* @description Data list
* @example { }
*/
.data1 {
  padding: 0;
}

.data1 li:before {
  display: none;
}

.data1 li strong:first-child {
  margin-right: 1rem;
}

@media print, (min-width: 720px) {
  .data1.-c2 {
    -moz-columns: 2;
         columns: 2;
    -moz-column-gap: var(--s1);
         column-gap: var(--s1);
  }
}
/**
* @name .decor1
* @description Decorative gradient
* @example { }
*/
.decor1 {
  --s: 100rem;
  position: absolute;
  left: 0;
  top: 0;
  overflow: hidden;
  width: 100%;
  height: 100%;
}

.decor1-wrap {
  position: absolute;
  right: calc(var(--s) * -0.35);
  top: calc(var(--s) * -0.35);
  width: var(--s);
  height: var(--s);
  background: radial-gradient(closest-side circle at 50%, #DEF6FF, transparent);
  animation: decor1a 10s alternate infinite;
}

@keyframes decor1a {
  0% {
    transform: translate3d(0, 0, 0) scale(1);
  }
  100% {
    transform: translate3d(-35%, 5%, 0) scale(1.1);
  }
}
@media print {
  .decor1 {
    display: none;
  }
}
/**
* @name .decor2
* @description Decorative gradient (centered)
* @example { }
*/
.decor2 {
  --lh: 0px;
  --oxtl: 10rem;
  --oxt: var(--oxts, var(--oxtm, var(--oxtl)));
  position: relative;
  top: var(--oxt);
  z-index: -1;
  margin-bottom: 0;
  font-size: 60rem;
  pointer-events: none;
}

.decor2-wrap {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 1em;
  height: 1em;
  margin: -0.5em 0 0 -0.5em;
  background: radial-gradient(closest-side circle at 50%, var(--c, #D5EBF4), transparent);
  animation: decor2a 2.5s alternate infinite ease-in-out;
}

@keyframes decor2a {
  0% {
    transform: translate3d(20%, 0, 0) scale(1.1);
  }
  50% {
    transform: translate3d(0, 0, 0) scale(1);
  }
  100% {
    transform: translate3d(-20%, 0, 0) scale(1.1);
  }
}
@media screen and (max-width: 1023px) and (min-width: 720px) {
  .decor2 {
    --oxt: var(--oxtm, var(--oxtl));
    font-size: 100rem;
  }
}
@media print, (min-width: 1024px) {
  .decor2 {
    --oxt: var(--oxtl);
  }
}
@media print {
  .decor2 {
    display: none;
  }
}
/**
* @name .donate1
* @description Donate dropbox
* @example { }
*/
.donate1 {
  position: absolute;
  right: -3rem;
  top: calc(100% + 2rem);
  visibility: hidden;
  width: 46rem;
  padding: var(--s1) calc(var(--s1) * 0.75);
  border-radius: var(--br_1);
  box-shadow: 0 1rem 3rem rgba(var(--c_dx), 0.1);
  background: var(--c_b1);
  transform: translateY(1rem);
  opacity: 0;
  transition-property: var(--t8n_p2);
}

li:hover > .donate1 {
  visibility: visible;
  transform: translateY(0);
  opacity: 1;
}

li:focus-within > .donate1 {
  visibility: visible;
  transform: translateY(0);
  opacity: 1;
}

.donate1:before {
  position: absolute;
  right: 6.5rem;
  bottom: 100%;
  content: "";
  border: 1rem solid transparent;
  border-width: 1.4rem 1rem;
  border-bottom-color: var(--c_b1);
}

.donate1:after {
  position: absolute;
  left: 0;
  bottom: 100%;
  content: "";
  width: 100%;
  height: 2rem;
}

.donate1-fields {
  --sy: 1rem;
  display: flex;
  align-items: flex-start;
}

.donate1-fields > * {
  flex: none;
  position: relative;
  margin-bottom: 0;
}

.donate1-fields > * ~ * {
  margin-left: 0.8rem;
}

.donate1-symbol {
  --lh: 5rem;
  position: absolute;
  left: 2rem;
  top: 0;
  color: var(--c_a1t);
}

.donate1-amount input[type] {
  --ahm: 5rem;
  --apx: 3rem;
  --aocn: var(--c_a1t);
  --atcn: var(--c_a1t);
  width: 11rem;
  font-weight: bold;
  text-align: center;
}

.donate1-type select {
  --ahm: 5rem;
  --aocn: var(--c_a1t);
  padding-right: 4.8rem;
  color: var(--c_a1t);
  font-weight: 700;
}

.donate1-action {
  flex-grow: 1;
}

.donate1-action .button1 {
  --apx: 2.4rem;
  --awm: 0;
  width: 100%;
}

/**
 * @name .drawer1
 * @description Sliding drawer
 * @example { }
 */
.drawer1 {
  --w: 32rem;
  --h: 75vh;
  --dx: -1;
  --px: var(--s1);
  display: flex;
  flex-direction: column;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 201;
  overflow: hidden;
  width: var(--w);
  max-width: 100%;
  height: 100%;
  max-height: 100%;
  margin: 0;
  box-shadow: 0 0 4rem rgba(var(--c_dx), 0.15);
  background: currentColor;
  color: var(--c_b2t);
  transition: all var(--t8n_d2) var(--t8n_e1);
  transition-property: var(--t8n_p1);
  will-change: transform;
}

.drawer1.-right {
  --dx: 1;
  right: 0;
  left: auto;
}

.drawer1.-bottom, .drawer1.-top {
  --w: 100%;
  --dx: 0;
  --dy: -1;
  --px: var(--sx);
  height: auto;
  max-height: var(--h);
  max-height: min(var(--h), 100%);
}

.drawer1.-bottom {
  --dy: 1;
  top: auto;
  bottom: 0;
}

.drawer1.-from {
  transform: translateX(calc(var(--dx, 0) * 100%)) translateY(calc(var(--dy, 0) * 100%));
}

.drawer1 > * {
  color: var(--c_d1t);
  transition: all var(--t8n_d2) var(--t8n_e1);
  transition-property: var(--t8n_p1);
}

.drawer1.-from > * {
  transform: translateX(calc(var(--dx, 0) * -10rem)) translateY(calc(var(--dy, 0) * -10rem));
}

.drawer1-close {
  --lh: 1;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 2;
  margin: 0;
  padding: 1.6rem 1.8rem;
  font-size: 2rem;
}

.drawer1-wrap {
  flex-grow: 1;
  overflow: auto;
  margin: 0;
  scrollbar-width: none;
  -ms-overflow-style: none;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

.drawer1-wrap::-webkit-scrollbar {
  display: none;
}

.drawer1-main {
  width: calc(100% - var(--px) * 2);
  max-width: var(--xw_1);
  margin: 0 auto;
  padding: 6.4rem 0 0;
}

.drawer1.-bottom .drawer1-main:after {
  display: block;
  content: "";
  height: max(env(safe-area-inset-bottom) + 2.5rem, var(--px));
}

.drawer1.-search {
  justify-content: center;
  min-height: 18rem;
}

.drawer1.-search .drawer1-wrap {
  flex-grow: 0;
}

.drawer1.-search .drawer1-main {
  padding: var(--s2) 0;
  padding: max(var(--s2), 5rem) 0;
}

@media screen and (max-width: 719px) {
  .drawer1 {
    --px: var(--sx);
  }
}
/**
 * @name .embed1
 * @description Responsive embeds
 */
.embed1 {
  display: block;
  position: relative;
  overflow: hidden;
}

.embed1:before {
  display: block;
  content: "";
  width: 100%;
  padding-bottom: calc(var(--r, 0.5625) * 100%);
}

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

/**
 * @name .error1
 * @description Error page overlay
 */
.error1 {
  display: flex;
  align-items: center;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 201;
  width: 100%;
  max-width: none;
  height: var(--vhx);
  margin: 0;
  background: #f2f2f2;
  text-align: center;
}

.error1-wrap {
  margin-left: auto;
  margin-right: auto;
}

.error1-code {
  margin: 0;
  font-size: 8.2rem;
  line-height: 1;
  opacity: 0.2;
}

.error1-title {
  margin-bottom: 1rem;
}

.error1-info {
  margin-bottom: calc(var(--sy) / 2);
}

/**
 * @name .fields1
 * @description Form fields
 * @example { }
 */
.fields1 {
  --gx: 3rem;
  --gy: 2rem;
}

.fields1 > :not([w]) {
  --w: 24;
}

.fields1 label:first-child {
  --lh: 1.33;
  display: block;
  margin-bottom: 1rem;
  font: 700 1.6rem/var(--lh) var(--ff_1);
  letter-spacing: -0.04em;
}

.fields1 em {
  color: var(--c_e1t);
  font-style: normal;
}

/**
 * @name .fieldbox1
 * @description Fields combo with icon
 * @example { }
 */
.fieldbox1 {
  --h: 4.8rem;
  position: relative;
}

.fieldbox1 input[type] {
  --ahm: var(--h);
  --abcn: var(--c_b1);
  --aor: calc(var(--ahm) / 2);
  --atcn: var(--c_d1);
  padding-right: var(--ahm);
}

.fieldbox1 .button1 {
  --awm: var(--ahm);
  --ahm: var(--h);
  --apx: 0;
  --apy: 0;
  --aor: 0;
  --atcn: var(--c_d1t);
  position: absolute;
  right: 0.5rem;
  top: 0;
  box-shadow: none;
  background: none;
  font-size: calc(var(--h) * 0.6);
}

@media print, (min-width: 720px) {
  .fieldbox1 {
    --h: 6rem;
  }
}
/**
 * @name .fieldbox2
 * @description Fields combo with regular button
 * @example { }
 */
.fieldbox2 {
  --h: 4.8rem;
  position: relative;
}

.fieldbox2 input[type] {
  --ahm: var(--h);
  --abcn: var(--c_b1);
  --aor: calc(var(--ahm) / 2);
  --atcn: var(--c_d1);
  padding-right: var(--ahm);
}

.fieldbox2 .button1 {
  --awm: 100%;
  --ahm: var(--h);
  margin-top: 1rem;
}

@media print, (min-width: 720px) {
  .fieldbox2 {
    --h: 6rem;
  }
  .fieldbox2 .button1 {
    --awm: 18rem;
    --ahm: var(--h);
    position: absolute;
    right: 0;
    top: 0;
    margin: 0;
  }
}
/**
* @name .filters1
* @description Archive filters
* @example { }
*/
.filters1 {
  --sy: var(--s2);
  background: var(--c_b2t);
}

.filters1-title {
  --sy: 0;
  display: flex;
  align-items: center;
  padding: 3rem 0;
}

.filters1-title > i {
  --lh: 1;
  color: var(--c_a1t);
  font-size: 1.5em;
}

.filters1-title > span {
  padding: 0 1rem;
}

.filters1-angle {
  margin-left: auto;
}

.filters1.-active .filters1-angle {
  transform: rotate(180deg);
}

.filters1-main {
  --sy: 3rem;
  margin-bottom: 0;
}

.filters1-main:after {
  display: block;
  content: "";
  height: var(--sy);
}

.filters1-block {
  --sy: inherit;
  padding-top: var(--sy);
  border-top: 1px solid var(--c_o1t);
}

.filters1-subtitle {
  display: flex;
  align-items: center;
}

.filters1-subtitle i {
  --lh: 1;
  flex: none;
  margin: 0 0.75rem 0 0;
  color: var(--c_a1t);
  font-size: 1.5em;
}

.filters1-ticks {
  padding: 0;
}

.filters1-ticks li:before {
  display: none;
}

.filters1-toggler[class] {
  display: none;
}

@media print, (min-width: 1024px) {
  .filters1-wrap {
    display: flex;
    align-items: flex-start;
    position: relative;
  }
  .filters1-title {
    flex: none;
    min-width: 12.5%;
    min-height: 8rem;
    pointer-events: none;
  }
  .filters1-angle[class] {
    display: none;
  }
  .filters1-main {
    display: flex !important;
    flex-grow: 1;
    overflow: hidden;
    height: 8rem;
    padding-right: 3rem;
  }
  .filters1.-desktop .filters1-main {
    height: 33rem;
  }
  .filters1:focus-within .filters1-main {
    height: 33rem;
  }
  .filters1-block {
    --sy: 0;
    position: relative;
    width: 25%;
    margin: 0;
    padding: 0 0 0 4rem;
    border-top-width: 0;
  }
  .filters1-block:before {
    position: absolute;
    left: -2.5px;
    top: 1rem;
    content: "";
    height: 6rem;
    border-left: 1px solid var(--c_o1t);
  }
  .filters1-block:first-child:before {
    left: 0;
  }
  .filters1-subtitle {
    margin-bottom: 0;
    min-height: 8rem;
  }
  .filters1-ticks {
    overflow: auto;
    height: 25rem;
    -webkit-overflow-scrolling: touch;
  }
  .filters1-ticks::-webkit-scrollbar {
    width: 4px;
  }
  .filters1-ticks::-webkit-scrollbar-thumb {
    border-radius: 2px;
    background: var(--c_o2t);
  }
  .filters1-ticks > :last-child {
    padding-bottom: 2rem;
  }
  .filters1-toggler[class] {
    display: flex;
    align-items: center;
    min-height: 8rem;
    color: var(--c_a1t);
    font-size: 2.4rem;
  }
  .filters1-toggler:after {
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    width: 100%;
    height: 8rem;
  }
  .filters1.-desktop .filters1-toggler:before {
    transform: rotate(180deg);
  }
}
@media print {
  .filters1 {
    border: 1px solid var(--c_o1t);
    border-width: 1px 0;
    background: none;
  }
}
/**
* @name .filters2
* @description Archive filters
* @example { }
*/
.filters2-entries {
  --sy: 0;
  display: none;
  align-items: center;
  padding: 0;
}

.filters2-entries li {
  --sy: 0;
}

.filters2-entries li ~ li {
  margin-left: 0.5rem;
}

.filters2-entries li:before {
  display: none;
}

.filters2-entries input[type] {
  position: absolute;
  left: -10001px;
}

.filters2-entries label[for] {
  --lh: 3rem;
  display: block;
  padding: 0 1.5rem;
  border-radius: 1.5rem;
}

.filters2-entries label[for] span {
  display: block;
}

.filters2-entries :checked + label[for] {
  background: #dfe7e8;
}

.filters2-entries :checked + label[for] span {
  box-shadow: 0 1px;
}

.filters2-select {
  --sy: 0;
}

@media (hover: hover) and (pointer: fine) {
  .filters2-entries label[for]:hover > span {
    box-shadow: 0 1px;
  }
}
@media print, (min-width: 720px) {
  .filters2.-sep\>s {
    margin-bottom: var(--s1);
    padding-bottom: var(--s1);
    border-bottom: 1px solid var(--c_o1t);
  }
}
@media print, (min-width: 1024px) {
  .filters2-entries {
    display: flex;
  }
  .filters2-select {
    display: none;
  }
}
/**
* @name .fixer1
* @description Chrome print scale fix
* @example { }
*/
.fixer1 {
  display: flex;
  overflow: hidden;
  height: 1px;
}

.fixer1 > .img1 {
  flex: none;
  width: 300%;
}

@media screen {
  .fixer1 {
    display: none;
  }
}
/**
 * @name .float1
 * @description Floating container
 * @example { }
 */
@media print, (min-width: 720px) {
  .float1 {
    display: block;
    margin-bottom: 0;
  }
  .float1 > :first-child {
    display: block;
    float: right;
    width: var(--w, 34rem);
    margin: 0 0 0 var(--s1);
  }
  .float1[class] > :first-child {
    margin-bottom: 1rem;
  }
  .float1.-left > :first-child {
    float: left;
    margin-right: var(--s1);
    margin-left: 0;
  }
}
/**
 * @name .footer1
 * @description Global footer
 */
.footer1 {
  position: relative;
  z-index: 101;
  margin-bottom: 0;
  padding: 2.4rem 0;
  background: var(--c_b1t);
  color: var(--c_d1t);
  text-align: center;
}

.footer1-copys > span {
  display: block;
}

.footer1-links {
  display: block;
  padding: 0;
}

.footer1-links li {
  --sy: 1.6rem;
}

.footer1-links li:before {
  display: none;
}

@media print, (min-width: 1024px) {
  .footer1-wrap {
    display: flex;
    justify-content: space-between;
    text-align: left;
  }
  .footer1-copys {
    --sy: 0;
  }
  .footer1-copys > span {
    display: inline;
  }
  .footer1-links {
    display: flex;
  }
  .footer1-links li {
    --sy: 0;
  }
  .footer1-links li ~ li {
    margin-left: var(--s1);
  }
}
/**
 * @name .gallery1
 * @description Gallery
 * @example { }
 */
.gallery1 {
  overflow: hidden;
  padding-left: var(--sx);
  padding-right: var(--sx);
}

.gallery1-wrap {
  position: relative;
  max-width: var(--xw_4);
  margin: 0 auto;
}

.gallery1-main {
  max-width: 95%;
  margin-bottom: 2rem;
}

.gallery1 .tns-outer {
  margin-bottom: 0;
}

.gallery1 .tns-outer > .tns-ovh {
  overflow: visible;
}

.gallery1-entries {
  display: flex;
  overflow: auto;
  margin: 0;
  white-space: nowrap;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -ms-overflow-style: none;
  -webkit-overflow-scrolling: touch;
  vertical-align: top;
}

.gallery1-entries.tns-slider {
  transition-timing-function: var(--t8n_e1);
}

.gallery1-entries::-webkit-scrollbar {
  display: none;
}

.gallery1-entry {
  flex: none;
  width: 100%;
  margin: 0 var(--s3) 0 0;
  white-space: normal;
  scroll-snap-align: start;
  transition-duration: 0.5s;
}

[js] .gallery1-entry {
  width: auto;
  margin-right: 0;
}

[js] .gallery1-entry figure {
  margin-bottom: 0;
}

[js] .gallery1-entry [caption] {
  display: none;
}

.gallery1[style*="--ar:"] .gallery1-entry .img1[class]:before {
  padding-bottom: calc(100% / var(--ar));
}

.gallery1-arrow {
  --lh: 1;
  --aus: ;
  --abgn: ;
  --atcn: var(--c_a1t);
  --avoh: 0.75;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: 1em;
  bottom: 0;
  z-index: 2;
  font: 2rem/1 Icons;
  text-align: center;
  pointer-events: auto;
  text-decoration: none;
}

.gallery1-arrow.-prev {
  left: -0.2em;
}

.gallery1.-first .gallery1-arrow.-prev,
.gallery1.-last .gallery1-arrow.-next {
  opacity: 0.2;
  pointer-events: none;
}

.gallery1-details {
  --sy: 1.2rem;
  overflow: hidden;
}

.gallery1-counters {
  margin-top: 2rem;
  text-align: right;
}

.gallery1-counters:first-child {
  margin-top: 0;
}

.gallery1-caption {
  max-width: var(--xw_6);
}

.gallery1-caption > * {
  --sy: 1.2rem;
}

@media print, (min-width: 1024px) {
  .gallery1-main {
    position: relative;
    max-width: 100%;
  }
  .gallery1-arrow {
    left: 100%;
    top: 50%;
    width: 40px;
    height: 1em;
    margin: -0.5em 0 0;
    font-size: 2.8rem;
  }
  .gallery1-arrow.-prev {
    right: 100%;
    left: auto;
  }
  .gallery1.-last .gallery1-arrow.-next {
    transform: rotate(180deg);
    text-shadow: 0.7rem 0 0;
    opacity: 0.2;
    pointer-events: auto;
  }
  .gallery1-details {
    --sy: 0.8rem;
    display: flex;
  }
  .gallery1-title {
    flex: none;
    width: 35%;
    margin: 0 var(--s1) 0 0;
  }
  :root:not([js]) .gallery1-title {
    width: auto;
  }
  .gallery1-caption {
    flex-grow: 1;
    margin: 0 var(--s2) 0 0;
  }
  .gallery1-counters {
    flex: none;
    margin: 0 0 0 auto;
  }
  .gallery1.-v2 {
    overflow: visible;
    max-width: 86rem;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
  }
  .gallery1.-v2 .tns-outer > .tns-ovh {
    overflow: hidden;
  }
}
/**
* @name .glossary1
* @description Glossary
* @example { }
*/
.glossary1 {
  border-top: 1px solid var(--c_o1t);
}

.glossary1-nav {
  --sy: var(--s1);
}

.glossary1-nav ul {
  display: flex;
  justify-content: space-between;
  padding: 1.2rem 0;
  background: var(--c_b1);
  font-size: 1.5rem;
  font-weight: 800;
}

.glossary1-nav li {
  --sy: 0;
}

.glossary1-nav li:before {
  display: none;
}

.glossary1-nav a {
  --aus: ;
  --abgn: ;
  --atcn: var(--c_d1t);
  --atch: var(--c_i1);
  display: block;
  position: relative;
  width: 1em;
  isolation: isolate;
  text-align: center;
}

.glossary1-nav a:before {
  position: absolute;
  left: -0.5rem;
  right: -0.5rem;
  top: -0.5rem;
  bottom: -0.5rem;
  z-index: -1;
  content: "";
  border-radius: 1.4rem;
  background: var(--c_a1t);
  opacity: 0;
}

.glossary1-section {
  --sy: 2rem;
  display: flex;
}

.glossary1-section + .glossary1-section {
  padding-top: var(--s1);
  border-top: 1px solid var(--c_o1t);
}

.glossary1-title {
  --lh: 1;
  flex: none;
  width: 11rem;
  margin: 0 2rem 0 0;
  color: var(--c_a1t);
}

.glossary1-section .accordion1 {
  --s: 1.4rem;
  flex-grow: 1;
  border-bottom-width: 0;
}

.glossary1-section .accordion1-entry:first-child {
  border-top-width: 0;
}

.glossary1-section .accordion1-entry:first-child .accordion1-title {
  padding-top: 0;
}

@media (hover: hover) and (pointer: fine) {
  .glossary1-nav a:hover:before, .glossary1-nav a:focus:before {
    opacity: 1;
  }
}
@media screen and (max-width: 719px) {
  .glossary1-nav ul {
    --m: linear-gradient(90deg, transparent, #000 2rem, #000 calc(100% - 3rem), transparent calc(100% - 0.25rem));
    justify-content: start;
    overflow: auto;
    margin: 0 var(--nx);
    padding-left: var(--sx);
    padding-right: 3rem;
    scrollbar-width: none;
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    -webkit-mask: var(--m);
    mask: var(--m);
  }
  .glossary1-nav ul::-webkit-scrollbar {
    display: none;
  }
  .glossary1-nav li {
    flex: none;
  }
  .glossary1-nav li ~ li {
    margin-left: 1rem;
  }
  .glossary1-title {
    width: 3rem;
  }
}
/**
 * @name .gallery2
 * @description Gallery
 */
.gallery2 .media-gallery-row {
  display: flex;
  flex-wrap: wrap;
  gap: 40px; /* Space between images and rows */
  margin-bottom: 0;
}

.gallery2 .media-gallery-entry {
  flex: 1 1 calc(25% - 40px); /* Adjust width for 4 columns with space */
  box-sizing: border-box; /* Include padding and border in the element's total width and height */
  margin-bottom: 40px;
  position: relative;
}

.gallery2 .media-gallery-entry img {
  width: 100%;
  height: auto; /* Maintain aspect ratio */
}

@media screen and (max-width: 1024px) {
  .gallery2 .media-gallery-entry {
    flex: 1 1 calc(33.33% - 40px); /* Adjust width for 3 columns with space */
  }
}
@media screen and (max-width: 720px) {
  .gallery2 .media-gallery-row {
    display: block;
  }
  .gallery2 .media-gallery-entry {
    margin-right: 0;
  }
}
.gallery2 .media-gallery-caption {
  font-size: 13px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%; /* 18.2px */
  margin-top: 2px;
}

body .basicLightbox__placeholder {
  max-width: 80vw;
  max-height: 75vh;
  height: 100%;
  width: 100%;
  position: relative;
}

body .basicLightbox__placeholder img {
  max-width: 100%;
  max-height: 100%;
  height: 75vh;
  width: auto;
  margin: 0 auto;
  display: block;
  -o-object-fit: contain;
     object-fit: contain;
}

.basiclightbox-video-wrapper {
  overflow: hidden;
  /*padding-top: 56.25%;*/
  position: relative;
  width: 100%;
  max-width: 100%;
  max-height: 75vh;
  height: 75vh;
  width: auto;
  margin: 0 auto;
  display: block;
}

.basiclightbox-video-wrapper iframe {
  border: 0;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.basiclightbox-nav {
  display: block;
  width: 40px;
  height: 40px;
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1050; /* Ensure they are above the lightbox */
  background-size: cover;
  cursor: pointer;
}

.basiclightbox-nav-prev {
  left: 5vh;
  background-image: url("../../assets/images/lightbox-left.png");
}

.basiclightbox-nav-next {
  right: 5vh;
  background-image: url("../../assets/images/lightbox-right.png");
}

.basiclightbox-caption {
  text-align: center;
  margin-top: 10px;
  color: #fff;
  font-size: 13px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%; /* 18.2px */
}

.basiclightbox-cta {
  text-align: center;
  margin-top: 10px;
  color: #fff;
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 17px; /* 94.444% */
}

.basiclightbox-cta a {
  text-decoration: none;
  color: #fff;
  background: url("../../assets/images/download.png") no-repeat center right;
  background-size: contain;
  padding-right: 30px;
  display: inline-block;
}

/**
* @name .gradient1
* @description In-page gradient
* @example { }
*/
.gradient1 {
  --oxtl: 50vh;
  --oxhl: 60rem;
  position: relative;
  z-index: -1;
  height: 0;
  margin-bottom: 0;
}

.gradient1 {
  --oxt: var(--oxts, var(--oxtm, var(--oxtl)));
  --oxh: var(--oxhs, var(--oxhm, var(--oxhl)));
}

.gradient1:before {
  position: absolute;
  left: 0;
  top: var(--oxt);
  content: "";
  width: 100%;
  background: linear-gradient(transparent, var(--c, #D5EBF4) var(--oxs1, 25%), var(--c, #D5EBF4) var(--oxs2, 75%), transparent);
}

@media screen and (max-width: 1023px) and (min-width: 720px) {
  .gradient1 {
    --oxt: var(--oxtm, var(--oxtl));
    --oxh: var(--oxhm, var(--oxhl));
  }
}
@media print, (min-width: 1024px) {
  .gradient1 {
    --oxt: var(--oxtl);
    --oxh: var(--oxhl);
  }
}
@media print {
  .gradient1 {
    display: none;
  }
}
/**
* @name .gridclip1
* @description Clipper for grids
* @example { }
*/
.gridclip1 {
  -webkit-clip-path: inset(0 0 0 var(--gx, 0));
          clip-path: inset(0 0 0 var(--gx, 0));
}

/**
* @name .header1
* @description Team member header
* @example { }
*/
.header1 {
  --sy: var(--s3);
  max-width: var(--xw_5);
  margin-left: auto;
  margin-right: auto;
}

.header1-main > * {
  --sy: 1.6rem;
}

.header1-image {
  max-width: 35rem;
}

@media print, (min-width: 1024px) {
  .header1 {
    display: flex;
    justify-content: space-between;
    max-width: var(--xw_4);
  }
  .header1-main {
    margin-bottom: 0;
  }
  .header1-image {
    flex: none;
    width: 100%;
    margin: 0 0 0 var(--s2);
  }
}
/**
* @name .header2
* @description Start a fundraiser
* @example { }
*/
.header2 > * {
  --sy: var(--s2);
}

.header2-main > * {
  --sy: 1.6rem;
}

.header2-brow {
  --sy: 0.2rem;
}

.header2-title {
  --sy: var(--s2);
}

.header2-subtitle {
  max-width: var(--xw_5);
}

.header2-lead {
  max-width: var(--xw_5);
}

.header2-action {
  margin-top: 3rem;
}

.header2-actions {
  display: flex;
  margin-top: 2.4rem;
  padding: 0;
}

.header2-actions li {
  --sy: 0;
}

.header2-actions li ~ li {
  margin-left: 1.2rem;
}

.header2-actions li:before {
  display: none;
}

.header2-image {
  max-width: 35rem;
}

.header2.-v2 .header2-image {
  max-width: 40rem;
}

@media print, (min-width: 1024px) {
  .header2 {
    display: flex;
  }
  .header2-image {
    flex: none;
    order: -1;
    width: 100%;
    margin: 0 var(--s3) 0 0;
  }
  .header2-main {
    margin-bottom: 0;
  }
}
/**
* @name .header3
* @description Get involved header
* @example { }
*/
.header3-main > * {
  --sy: 1.6rem;
}

.header3-title {
  --sy: 1.6rem;
}

.header3-subtitle {
  --sy: var(--s2);
}

.header3-image {
  margin-left: var(--nx);
}

@media print, (min-width: 1024px) {
  .header3 {
    display: grid;
    grid-template-columns: auto 50%;
    grid-column-gap: var(--s3);
  }
  .header3-image {
    order: -1;
    margin-left: calc(var(--offset-left, var(--sx)) * -1);
  }
  .header3-main {
    --sy: 0;
  }
}
/**
* @name .header4
* @description Standard header
* @example { }
*/
.header4-main ul {
  justify-content: center;
}

.header4.-ta\:c .header4-main > * {
  margin-left: auto;
  margin-right: auto;
}

.header4-brow {
  --sy: 0.6rem;
  position: relative;
}

.header4-title {
  max-width: var(--xw_5);
}

.header4-lead {
  max-width: var(--xw_5);
}

/**
* @name .header5
* @description Support header
* @example { }
*/
.header5 {
  text-align: center;
}

.header5-main {
  --sy: var(--s1);
}

.header5-main > * {
  --sy: 2rem;
}

.header5-image {
  width: 100%;
  max-width: 40rem;
  margin: 0 auto;
}

@media print, (min-width: 1024px) {
  .header5 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-align: left;
  }
  .header5-main {
    --sy: 0;
    flex-grow: 1;
  }
  .header5-action {
    margin-top: 3rem;
  }
  .header5-image {
    flex: none;
    margin: 0 0 0 var(--s3);
  }
  .header5.-v2 .header5-image {
    max-width: 44rem;
  }
}
/**
* @name .header6
* @description Split header
* @example { }
*/
.header6 {
  --sy: var(--s3);
}

.header6-main {
  --sy: var(--s1) ;
}

.header6-brow {
  --sy: 0.6rem;
  position: relative;
}

.header6-lead {
  max-width: var(--xw_6);
}

@media print, (min-width: 1024px) {
  .header6 {
    display: flex;
    justify-content: space-between;
  }
  .header6 > * {
    --sy: 0;
  }
  .header6-side {
    width: 100%;
    max-width: 32rem;
    margin: 0 0 0 var(--s3);
    padding-top: 2rem;
  }
  .header6.-v2 .header6-side {
    max-width: 40rem;
  }
}
/**
* @name .history1
* @description History tabs
* @example { }
*/
.history1-nav {
  float: left;
  margin: 0 -100% 0 0;
}

.history1-tabs {
  margin-bottom: 0;
  padding: 0;
}

.history1-tabs li {
  --sy: 0.2rem;
  position: relative;
}

.history1-tabs li:before {
  display: none;
}

.history1-tabs a {
  --aus: ;
  --abgn: ;
  --atcn: var(--c_d1t);
  --atch: var(--c_i1);
  display: inline-block;
  position: relative;
  isolation: isolate;
  padding: 0.3rem 1rem;
  text-align: center;
  vertical-align: top;
}

.history1-tabs a:before {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: -1;
  content: "";
  border-radius: 1.4rem;
  background: var(--c_a1t);
  opacity: 0;
}

.history1-tabs .-active > a {
  --atcn: var(--c_i1);
}

.history1-tabs .-active > a:before {
  opacity: 1;
}

.history1-select {
  display: none;
  max-width: var(--xw_6);
  margin-left: auto;
  margin-right: auto;
}

.history1-steps {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: var(--s1);
  font-feature-settings: "tnum";
}

.history1-steps > * {
  flex: none;
  min-width: 7rem;
  margin: 0;
  text-align: center;
}

.history1-steps .-step {
  display: flex;
  align-items: center;
  padding-top: 0.5rem;
}

.history1-steps .-current {
  min-width: 22rem;
  margin: 0 2rem;
  color: var(--c_a1t);
  text-align: center;
}

.history1-steps [disabled] {
  visibility: hidden;
}

.history1-steps i {
  --lh: 1;
  margin: 0 0.25rem;
  color: var(--c_a1t);
  font-size: 1.75em;
  vertical-align: middle;
}

.history1-content {
  display: grid;
}

.history1-tab {
  grid-area: 1/1/2/2;
  margin-right: 0;
  margin-bottom: var(--s3);
  width: 100%;
}

.history1-tab.-from {
  opacity: 0;
}

@media (hover: hover) and (pointer: fine) {
  .history1-tabs a:hover:before, .history1-tabs a:focus:before {
    opacity: 1;
  }
}
@media print, (min-width: 1024px) {
  [js] .history1-tabtitle {
    display: none;
  }
}
@media screen and (max-width: 1023px) {
  .history1-nav {
    flex: none;
    margin: 0 0 var(--sy);
  }
  .history1-tabs {
    display: none;
  }
  .history1-steps {
    display: none;
  }
  .history1-nav {
    float: none;
  }
  [js] .history1-select {
    display: block;
  }
}
/**
 * @name .img1
 * @description Image wrapper
 */
.img1 {
  display: block;
  position: relative;
  overflow: hidden;
  width: 100%;
  will-change: transform, opacity;
}

.img1.-fill {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  margin: 0;
}

.img1.-grayscale {
  filter: grayscale(1);
}

.img1.-width {
  width: 100%;
  max-width: calc(var(--w) * 0.1rem);
}

.img1.-circle {
  border-radius: 50%;
}

.img1.-rounded {
  border-radius: var(--br_1);
}

.img1[style*="--rl:"]:before {
  display: block;
  content: "";
  width: 100%;
  padding-bottom: calc(var(--rl) * 100%);
}

.img1 img, .img1 video {
  display: block;
  width: 100%;
}

.img1[style*="--rl:"] img, .img1[style*="--rl:"] video {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: var(--x, 50%) var(--y, 50%);
     object-position: var(--x, 50%) var(--y, 50%);
}

.img1.-left {
  --x: 0;
}

.img1.-right {
  --x: 100%;
}

.img1.-top {
  --y: 0;
}

.img1.-bottom {
  --y: 100%;
}

.img1.-fit img, .img1.-fit video {
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.img1 .play-icon {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 64px;
  height: 64px;
  background: url("../../assets/images/play-icon.png") no-repeat center center;
  background-size: contain;
  pointer-events: none;
  z-index: 1;
}

@media screen and (max-width: 1023px) {
  .img1[style*="--rm:"]:before {
    padding-bottom: calc(var(--rm) * 100%);
  }
}
@media screen and (max-width: 719px) {
  .img1[style*="--rs:"]:before {
    padding-bottom: calc(var(--rs) * 100%);
  }
}
/**
* @name .insert1
* @description Card insert
* @example { }
*/
.insert1 > * {
  --sy: 1.2rem;
}

/**
 * @name .invalid1
 * @description Validation message
 * @example { }
 */
.invalid1 {
  display: none;
  margin-top: 0.5rem;
  color: var(--c_e1t);
}

.-validated:invalid ~ .invalid1, .-validated:invalid + label .invalid1, .invalid1.-visible {
  display: block;
}

/**
 * @name .loader1
 * @description Loading spinner
 */
.loader1 {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  border-radius: inherit;
  color: rgba(var(--c_dxt), 0.25);
  font-size: 2.4rem;
  pointer-events: none;
  transition-property: var(--t8n_p2);
}

.lazyload ~ .loader1, .lazyloaded ~ .loader1, html:not([js]) .loader1 {
  visibility: hidden;
  opacity: 0;
}

.lazyloading ~ .loader1 {
  visibility: visible;
  opacity: 1;
}

.loader1:before {
  display: block;
  flex: none;
  content: "";
  width: 1em;
  height: 1em;
  border: 0.1em solid;
  border-top-color: transparent;
  border-radius: 50%;
  animation: loader1 1s infinite linear;
  will-change: transform;
}

.lazyloaded ~ .loader1:before {
  animation-iteration-count: 2;
}

@media screen and (max-width: 719px) {
  .loader1 {
    font-size: 2rem;
  }
}
@keyframes loader1 {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/**
 * @name .loader2
 * @description Full screen loader
 */
.loader2 {
  visibility: hidden;
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 999;
  margin-bottom: 0;
  color: var(--c_d1);
  font-size: 6rem;
  transition-property: opacity, visibility;
  opacity: 0;
}

.loader2.-active {
  visibility: visible;
  opacity: 1;
}

.loader2:after {
  position: absolute;
  left: 50%;
  top: 50%;
  content: "";
  width: 1em;
  height: 1em;
  margin: -0.5em 0 0 -0.5em;
  border: 0.1em solid;
  border-top-color: transparent;
  border-radius: 50%;
  animation: loader1 1s infinite paused linear;
}

.loader2.-active:after {
  animation-play-state: running;
}

.loader2.-small {
  font-size: 3.2rem;
}

.loader2.-static {
  display: none;
  position: relative;
  z-index: unset;
  margin-bottom: var(--sy);
  background: none;
}

.loader2.-static.-active {
  display: block;
}

.loader2.-static:after {
  display: block;
  position: relative;
  left: 0;
  top: 0;
  margin: 0;
  color: var(--c_d1);
  opacity: 0.75;
}

.loader2.-corner {
  right: auto;
  top: auto;
  left: 2rem;
  bottom: 2rem;
  background: none;
  font-size: 4rem;
}

.loader2.-corner:after {
  display: block;
  position: relative;
  left: auto;
  top: auto;
  margin: 0;
  color: var(--c_a3t);
  filter: drop-shadow(0 0 2rem var(--c_i1t));
}

/**
 * @name .logo1
 * @description Logo wrapper
 * @example { }
 */
.logo1 {
  --lh: 1;
  font-size: var(--hl, 6.4rem);
}

.logo1 a {
  --aown: 0;
  --aowh: 0;
  display: block;
}

.logo1 img, .logo1 svg {
  display: block;
  width: auto;
  height: 1em;
}

.logo1 i {
  display: block;
}

@media screen and (max-width: 719px) {
  .logo1 {
    font-size: var(--hm, 6rem);
  }
}
/**
* @name .logo2
* @description Partner logo
* @example { }
*/
.logo2-wrap {
  --aus: ;
  --abgn: ;
  --atcn: currentColor;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  padding: 2rem 3rem;
  border-radius: var(--br_1);
  box-shadow: inset 0 0 0 1px var(--c_o1t), 0 1rem 3rem rgba(var(--c_dx), 0.1);
}

.logo2-image {
  display: flex;
  align-items: center;
  flex: none;
  width: 100%;
  aspect-ratio: 1.75;
}

/**
* @name .map1
* @description Map
* @example { }
*/
.map1 {
  position: relative;
  margin-bottom: var(--s3);
}

.map1-canvas {
  height: 100vh;
  margin-bottom: 0;
  background: #f3f3f3;
}

.map1-sidebar {
  display: flex;
  flex-direction: column;
  position: absolute;
  right: var(--sx);
  top: var(--sx);
  bottom: var(--sx);
  width: 46rem;
  padding: var(--s1) var(--s1) 1px;
  border-radius: var(--br_1);
  box-shadow: inset 0 0 0 1px var(--c_o1t);
  background: var(--c_b1);
}

.map1-header {
  --sy: 0;
  flex: none;
  padding-bottom: 1.4rem;
  border-bottom: 1px solid var(--c_o1t);
}

.map1-title {
  margin-bottom: 0.4rem;
}

.map1-sidebar .results1 {
  flex-grow: 1;
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

.map1-sidebar .results1::-webkit-scrollbar {
  display: none;
}

.map1-sidebar .results1 > :last-child {
  padding-bottom: var(--sx);
}

@media screen and (max-width: 1023px) {
  .map1-canvas {
    display: none;
  }
  .map1-sidebar {
    display: block;
    position: static;
    right: auto;
    left: auto;
    top: auto;
    bottom: auto;
    width: auto;
    padding: var(--s1) var(--sx) 0;
    border-radius: 0rem;
    box-shadow: none;
  }
  .map1-sidebar .results1 > :last-child {
    padding-bottom: 0;
  }
}
/**
* @name .mark1
* @description Text highlight
* @example { }
*/
.mark1 {
  position: relative;
  margin: 0 -0.65rem;
  padding: 0 0.65rem;
  border-radius: 0.5em;
  background: rgba(var(--c_b4x), 0.1);
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

/**
 * @name .modal1
 * @description Modal window
 * @example { }
 */
.modal1 {
  position: fixed;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  z-index: 201;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  background: rgba(0, 0, 0, 0.4);
  transition: all var(--t8n_d2) var(--t8n_e1);
  transition-property: var(--t8n_p2);
}

.modal1.-from {
  opacity: 0;
}

.modal1-outer {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  height: 100%;
  padding: var(--s1) 0;
  overflow: auto;
  overflow-x: hidden;
  overscroll-behavior: none;
  scrollbar-width: none;
  -ms-overflow-style: none;
  -webkit-overflow-scrolling: touch;
}

.modal1-outer::-webkit-scrollbar {
  display: none;
}

.modal1-wrap {
  display: flex;
  position: relative;
  width: 100%;
  max-width: var(--xw_3);
  margin: auto !important;
  background: var(--c_b2);
  transition: all var(--t8n_d2) var(--t8n_e1);
  transition-property: var(--t8n_p1);
}

.modal1.-from .modal1-wrap {
  transform: scale(0.9);
}

.modal1-close[class] {
  --lh: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  right: 0;
  top: 0;
  margin: 0;
  padding: 1rem;
  font-size: 2.4rem;
}

.modal1-image {
  flex: none;
  width: 47.5%;
  margin: 0;
}

.modal1-image .img1 {
  height: 100%;
}

.modal1-main {
  display: flex;
  flex-flow: column;
  padding: calc(var(--s1) * 1.25) var(--s1);
}

.modal1-main > * {
  --sy: 2rem;
}

.modal1-action {
  margin-top: auto;
}

@media screen and (max-width: 1023px) {
  .modal1-outer {
    align-items: flex-end;
    padding-top: var(--s3);
    padding-bottom: 0;
  }
  .modal1-wrap {
    display: block;
    max-width: 100%;
    margin-bottom: unset !important;
    transition: all 0.5s var(--t8n_e1);
    transition-property: var(--t8n_p2);
  }
  .modal1.-from .modal1-wrap {
    transform: translateY(100%);
  }
  .modal1-image {
    display: none;
  }
  .modal1-main {
    padding-top: var(--s3);
    padding-left: var(--sx);
    padding-right: var(--sx);
  }
}
@media print {
  .modal1 {
    background: rgba(255, 255, 255, 0.8);
  }
  .modal1-wrap {
    box-shadow: inset 0 0 0 1px var(--c_o1t);
    background: #fff;
  }
}
/**
* @name .more1
* @description More link
* @example { }
*/
.more1 {
  --aus: ;
  --abgn: ;
}

.more1 > .-a\:1 {
  --aus: ;
  --abgn: ;
  --atcn: var(--c_d1t);
  --atch: var(--c_a1t);
}

.more1 > i {
  font-size: 1.35em;
}

/**
 * @name .nav1
 * @description Main navigation
 */
.nav1-list {
  display: flex;
  justify-content: flex-end;
  align-items: baseline;
  padding: 0;
  font: 700 1.6rem/var(--lh) var(--ff_1);
}

.nav1-list li {
  --sy: 0;
}

.nav1-list li ~ li {
  margin-left: 0;
}

.nav1-list li:before {
  display: none;
}

.nav1-list em {
  position: absolute;
  left: -10001em;
  top: -10001em;
  font-style: normal;
}

.nav1-tools {
  padding: 0.5rem 0;
  font-size: 4rem;
}

.nav1-tools li ~ li {
  margin-left: 0.5rem;
}

.nav1-tools > li > a {
  --aus: ;
  --abgn: ;
  --aor: 50%;
  --abcn: var(--c_a1t);
  --atcn: var(--c_i1t);
  --lh: 1em;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 1em;
  height: 1em;
}

.nav1-tools a:before {
  font-size: 0.5em;
}

@media screen and (max-width: 1023px) {
  .nav1-side, .nav1-main {
    display: none;
  }
}
@media print, (min-width: 1024px) {
  .nav1-links > li {
    position: relative;
  }
  .nav1-links > li > a {
    --apx: 1.5rem;
    --aor: calc(var(--lh) / 2);
    --aoch: currentColor;
    --abgn: ;
    --aus: ;
    --lh: 2.8rem;
    display: block;
  }
  .nav1-links [aria-current] > a {
    --abcn: rgba(var(--c_a1xt), 0.1);
    --aocn: var(--aoch);
  }
  .nav1-links > li > a > span {
    display: block;
    box-shadow: inset 0 -1px var(--aoc, transparent);
  }
  .nav1-side {
    --sy: 1.6rem;
    font-size: 1.3rem;
    font-weight: 400;
  }
  .nav1-side > li > a {
    --apx: 1rem;
    --atcn: var(--c_d1t);
    --lh: 2.2rem;
  }
  .nav1-side [aria-current] > a {
    --abcn: rgba(var(--c_d1xt), 0.1);
  }
  .nav1-bottom {
    display: flex;
    align-items: center;
  }
  .nav1-bottom > * {
    --sy: 0;
  }
  .nav1-tools {
    margin-left: 1rem;
  }
}
@media print {
  .nav1-tools > li > a {
    box-shadow: inset 0 0 0 1px;
    background: none;
    color: var(--c_a1t);
  }
}
/**
* @name .nav2
* @description Big nav
* @example { }
*/
.nav2 {
  position: fixed;
  left: 0;
  top: 0;
  content: "";
  z-index: 121;
  overflow: auto;
  width: 100%;
  height: 100%;
  margin: 0;
  background: linear-gradient(var(--c_b1), #D5EBF4);
  scrollbar-width: none;
  -ms-overflow-style: none;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  -webkit-clip-path: inset(0);
          clip-path: inset(0);
  transition: all var(--t8n_d2) var(--t8n_e1);
  transition-property: var(--t8n_p1);
}

.nav2::-webkit-scrollbar {
  display: none;
}

.nav2.-from {
  -webkit-clip-path: inset(0 0 100%);
          clip-path: inset(0 0 100%);
}

.nav2-close {
  --lh: 1;
  position: fixed;
  left: 0;
  top: 2.5rem;
  content: "";
  width: 100%;
  font-size: 4rem;
  text-align: right;
}

.nav2-close a {
  --aus: ;
  --abgn: ;
  --aor: 50%;
  --abcn: var(--c_a1t);
  --atcn: var(--c_i1t);
  --lh: 1em;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 1em;
  height: 1em;
  vertical-align: top;
}

.nav2-close a:before {
  font-size: 0.5em;
}

.nav2-wrap {
  padding: 9rem 0 6rem;
  transition: all var(--t8n_d2) var(--t8n_e1);
  transition-property: var(--t8n_p1);
}

.nav2.-enter-start .nav2-wrap {
  transform: translateY(2rem);
}

.nav2-main {
  --sy: var(--s1);
}

.nav2-primary {
  padding: 0;
}

.nav2-primary > li {
  --sy: var(--s1);
}

.nav2-primary li:before {
  display: none;
}

.nav2-toggler {
  display: flex;
  justify-content: center;
  align-items: center;
  float: right;
  width: 1.35em;
  height: 1.35em;
  margin: 0.5rem 0 0 0.5rem;
  border-radius: 50%;
  box-shadow: inset 0 0 0 1px var(--c_d1t);
  font-size: 2rem;
}

.nav2-toggler:after {
  content: "\e95f";
  opacity: 0;
}

.-open > .nav2-toggler:before {
  opacity: 0;
}

.-open > .nav2-toggler:after {
  opacity: 1;
}

.nav2-primary ul {
  margin-top: 0;
  padding: 0;
}

.nav2-primary ul:before {
  display: block;
  content: "";
  height: 1.6rem;
}

.nav2-secondary {
  padding: 0;
}

.nav2-secondary li {
  --sy: 2rem;
}

.nav2-secondary li:before {
  display: none;
}

@media print, (min-width: 1024px) {
  .nav2-close {
    top: 6.5rem;
  }
  .nav2-wrap {
    display: grid;
    grid-template-columns: 1fr 3fr;
    grid-column-gap: var(--s4);
    padding: 10rem 0;
  }
  .nav2-main {
    --sy: 0;
    order: 2;
  }
  .nav2-toggler {
    display: none !important;
  }
  .nav2-primary > li {
    --sy: 3rem;
  }
  .nav2-primary > li ~ li {
    padding-top: var(--sy);
    border-top: 1px solid var(--c_o1t);
  }
  .nav2-primary ul {
    display: block !important;
    height: auto !important;
    -moz-columns: 3;
         columns: 3;
    -moz-column-gap: var(--s2);
         column-gap: var(--s2);
    padding-top: 1rem;
  }
  .nav2-primary ul:before {
    display: none;
  }
  .nav2-primary ul li {
    width: 100%;
    margin-bottom: 0;
    padding-top: 1rem;
    vertical-align: top;
  }
}
/**
 * @name .overlay1
 * @description Overlay block
 * @example { }
 */
.overlay1 {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 200;
  width: 100%;
  height: 100%;
  margin: 0;
  background: #000;
  opacity: 0.4;
  transition-duration: var(--t8n_d2);
  will-change: opacity;
}

.overlay1.-from {
  opacity: 0;
}

:root:not([js]) .-overlay1:target ~ .overlay1 {
  display: block !important;
}

/**
* @name .overlink1
* @description Card link
* @example { }
*/
.overlink1 {
  --aus: ;
  --abgn: ;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.overlink1 ~ * {
  pointer-events: none;
}

.overlink1 ~ * a {
  position: relative;
  pointer-events: auto;
}

/**
 * @name .paging1
 * @description Paging wrapper
 */
.paging1[disabled] {
  --d: 1;
  pointer-events: none;
  opacity: 0.65;
}

.paging1-more .button1 {
  position: relative;
}

.paging1-more .button1 > span {
  opacity: calc(1 - var(--d, 0));
}

.paging1-more .button1 > span:not(:last-child) {
  margin-right: 0;
}

.paging1-more .button1 > .loader1 {
  opacity: var(--d, 0);
}

.paging1-pages {
  --gx: 0.5rem;
  justify-content: center;
  align-items: center;
  padding: 0;
}

.paging1-pages li {
  flex: none;
  width: auto;
  margin-bottom: 0;
}

.paging1-pages li:before {
  display: none;
}

.paging1-pages a {
  --abgn: "";
  --atch: var(--c_a1t);
  display: block;
  min-width: 2rem;
  box-shadow: none;
  text-align: center;
}

.paging1-pages a[aria-current] {
  --atcn: var(--c_a1t);
  font-weight: 700;
}

.paging1-dots {
  padding: 0 0.3rem;
}

.paging1-step {
  --lh: 1;
  font-size: 1.2em;
}

.paging1-dots a {
  min-width: 0;
}

/**
* @name .prizes1
* @description Prize list
* @example { }
*/
.prizes1 {
  grid-column-gap: var(--s3);
}

.prizes1-header > * {
  --sy: 1.8rem;
}

.prizes1-entry {
  --sy: 3rem;
}

.prizes1-entry .img1 {
  margin-bottom: 1rem;
}

.prizes1-main {
  grid-column-gap: var(--s1);
}

@media print, (min-width: 720px) {
  .prizes1-main {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-row-gap: 3rem;
    grid-column-gap: var(--s1);
  }
  .prizes1-entry {
    --sy: 0;
  }
}
@media print, (min-width: 1024px) {
  .prizes1 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: var(--s3);
    align-items: center;
    max-width: 110rem;
    margin: 0 auto;
  }
  .prizes1 > * {
    --sy: 0;
  }
}
/**
* @name .progress1
* @description Donation progress
* @example { }
*/
.progress1-header > * {
  --sy: 1.4rem;
}

.progress1-bar {
  --h: 3.4rem;
  position: relative;
  overflow: hidden;
  width: 100%;
  height: var(--h);
  border-radius: calc(var(--h) / 2);
  box-shadow: inset 0 0 0 1px var(--c_d1t);
  background: var(--c_b1t);
  transform: translateZ(0);
}

.progress1-bar:before {
  display: block;
  content: "";
  width: var(--p, 0%);
  height: 100%;
  border-radius: calc(var(--h) / 2);
  box-shadow: inherit;
  background: var(--c, var(--c_a1t));
  transform-origin: 0 50%;
  transition: all 1s var(--t8n_e1);
}

.progress1-actions {
  display: flex;
  padding: 0;
}

.progress1-actions li {
  --sy: 0;
}

.progress1-actions li ~ li {
  margin-left: 1.2rem;
}

.progress1-actions li:before {
  display: none;
}

@media print, (min-width: 1024px) {
  .progress1-header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
  }
  .progress1-header > * {
    --sy: 0;
  }
  .progress1-header > * ~ * {
    margin-left: var(--s1);
  }
  .progress1-footer {
    display: flex;
    justify-content: space-between;
    align-items: start;
  }
  .progress1-footer > * {
    --sy: 0;
  }
  .progress1-note {
    max-width: var(--xw_5);
  }
}
@media screen and (prefers-reduced-motion: no-preference) {
  [m4n] .progress1-bar[reveal]:not([revealed]):before {
    transform: translateX(-100%);
  }
}
@media print {
  .progress1-bar:before {
    border-top: var(--h) solid var(--c, var(--c_a1t));
  }
}
/**
* @name .progress2
* @description Small progress bar
* @example { }
*/
.progress2 {
  --h: 1.2rem;
  height: var(--h);
  border-radius: calc(var(--h) / 2);
  box-shadow: inset 0 0 0 1px var(--c_o2t);
  background: var(--c_b1t);
}

.progress2:before {
  display: block;
  content: "";
  width: var(--p, 0%);
  height: 100%;
  border-radius: calc(var(--h) / 2);
  background: var(--c, var(--c_a1t));
}

@media print {
  .progress2:before {
    border-top: var(--h) solid var(--c, var(--c_a1t));
  }
}
/**
* @name .promo1
* @description Promo card
* @example { }
*/
.promo1 {
  --sy: var(--s3);
}

.promo1-image {
  --m: url(../images/masks1a.svg) var(--p, 50%) 0 / auto 100% no-repeat;
  --sy: 2rem;
  margin-left: var(--nx);
  margin-right: var(--nx);
  -webkit-mask: var(--m);
  mask: var(--m);
}

.promo1.-right .promo1-image {
  --p: 0;
  margin-left: 0;
}

.promo1.-left .promo1-image {
  --p: 100%;
  margin-right: 0;
}

.promo1-main > * {
  --sy: 1.4rem;
}

.promo1-brow {
  --sy: 0.6rem;
}

.promo1-actions {
  max-width: 80%;
  margin-top: 2rem;
}

@media (min-width: 720px) and (max-width: 1023px) {
  .promo1.-right .promo1-image {
    margin-left: 25%;
  }
  .promo1.-left .promo1-image {
    margin-right: 25%;
  }
  .promo1-main {
    max-width: 80%;
  }
  .promo1.-left .promo1-main {
    margin-left: auto;
  }
}
@media print, (min-width: 1024px) {
  .promo1 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: var(--s3);
    align-items: center;
  }
  .promo1.-left .promo1-image {
    margin-left: calc(var(--offset-left, var(--sx)) * -1);
  }
  .promo1.-right .promo1-image {
    order: 2;
    margin-right: calc(var(--offset-right, var(--sx)) * -1);
  }
  .promo1-main {
    max-width: var(--xw_6);
    margin-left: auto;
    margin-right: auto;
  }
}
/**
* @name .promo2
* @description Impact promo
* @example { }
*/
.promo2-image {
  max-width: 32rem;
  margin-left: auto;
  margin-right: auto;
}

.promo2-main {
  text-align: center;
}

.promo2-main > * {
  --sy: 1.2rem;
}

.promo2-action {
  margin-top: 2rem;
}

@media print, (min-width: 1024px) {
  .promo2 {
    display: grid;
    align-items: center;
    grid-template-columns: 1fr 1.77fr;
    grid-column-gap: var(--s1);
  }
  .promo2-image {
    flex: none;
    max-width: 100%;
  }
  .promo2-main {
    text-align: left;
  }
}
/**
* @name .quote1
* @description Big quote
* @example { }
*/
.quote1 {
  position: relative;
  padding-left: 0;
  padding-top: 2.4rem;
  box-shadow: none;
}

.quote1 figure {
  --sy: 1.6rem;
  position: relative;
  z-index: 2;
  max-width: 16rem;
  margin-left: auto;
  margin-right: auto;
}

.quote1 q {
  --sy: 2.4rem;
}

.quote1 q:before {
  position: absolute;
  left: 0;
  top: 0;
  content: "\e950";
  width: auto;
  color: var(--c_a1t);
  text-indent: 0;
  font: 6rem/1 Icons;
}

@media print, (min-width: 720px) {
  .quote1 figure {
    margin-left: 4rem;
  }
}
@media print, (min-width: 1024px) {
  .quote1 {
    padding-left: 30rem;
    padding-top: 5rem;
  }
  .quote1 figure {
    position: absolute;
    left: 10rem;
    top: 5rem;
    width: 100%;
    margin: 0;
  }
  .quote1 q:before {
    top: 0;
    font-size: 12rem;
  }
}
/**
* @name .quote2
* @description Pullquote
* @example { }
*/
.quote2 {
  position: relative;
  padding: 0;
  box-shadow: none;
}

.quote2 > * {
  --sy: 2rem;
}

.quote2:before {
  display: block;
  content: "";
  margin-bottom: 2rem;
  border-top: 1px solid var(--c_a1t);
}

.quote2 q:before {
  --lh: 0.6;
  position: absolute;
  left: -7rem;
  top: -2rem;
  width: auto;
  color: var(--c_a1t);
  text-indent: 0;
  font-size: 20rem;
}

@media screen and (max-width: 1023px) {
  .quote2:before {
    margin-bottom: 3.5rem;
    margin-left: 8rem;
  }
  .quote2 q:before {
    left: 0;
    top: -2rem;
  }
}
/**
* @name .radios1
* @description Radio buttons
* @example { }
*/
.radios1 li {
  position: relative;
}

.radios1 input[type] {
  position: absolute;
  left: -10001px;
}

.radios1 label[for] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 10rem;
  min-height: 4.8rem;
  margin: 0;
  padding: 0 2rem;
  border-radius: 2.4rem;
  box-shadow: inset 0 0 0 1px var(--aoc, var(--c_a1t));
  color: var(--c_a1t);
  font: 700 1.6rem/var(--lh) var(--ff_1);
  transition-property: var(--t8n_p1), color;
}

.radios1 input:checked + label[for] {
  background: var(--c_a1t);
  color: var(--c_i1t);
}

/**
* @name .results1
* @description Map results
* @example { }
*/
.results1 {
  padding: 0;
}

.results1 li {
  --sy: 0;
  border-bottom: 1px solid var(--c_o1t);
}

.results1 li:last-child {
  border-bottom-width: 0;
}

.results1 li:before {
  display: none;
}

.results1 a {
  --lh: 1;
  --aus: ;
  --abgn: ;
  --abcn: var(--c_b1);
  --abch: var(--c_b2);
  --atcn: var(--c_d1t);
  display: block;
  padding: 1.4rem 1rem;
}

.results1 i {
  --lh: 1;
  float: right;
  margin: 0 0 0 1rem;
}

.results1 strong {
  display: block;
}

.results1 strong, .results1 i {
  transition-property: var(--t8n_p1), color;
}

@media (hover: hover) and (pointer: fine) {
  .results1 a:hover strong, .results1 a:hover i {
    color: var(--c_a1t);
  }
}
/**
* @name .results2
* @description Map search results
* @example { }
*/
.results2 {
  padding: 0;
}

.results2 li {
  --sy: 0;
  border-bottom: 1px solid var(--c_o1t);
}

.results2 li:last-child {
  border-bottom-width: 0;
}

.results2 li:before {
  display: none;
}

.results2 a {
  --lh: 1;
  --aus: ;
  --abgn: ;
  --atcn: var(--c_d1t);
  display: flex;
  justify-content: space-between;
  padding: 1.4rem 1rem;
}

.results2 strong {
  transition-property: var(--t8n_p1), color;
}

.results2 time {
  flex: none;
  margin-left: 2rem;
}

@media (hover: hover) and (pointer: fine) {
  .results2 a:hover strong {
    color: var(--c_a1t);
  }
}
/**
 * @name .scrolled1
 * @description Horizontally scrolled container
 */
.scrolled1 table {
  width: 100%;
}

@media screen and (max-width: 1023px) {
  .scrolled1 {
    position: relative;
    width: auto;
    max-width: 100vw;
    margin-left: var(--nx);
    margin-right: var(--nx);
  }
  .scrolled1:after {
    position: absolute;
    right: var(--sx);
    bottom: -1.6rem;
    content: "";
    width: 1.8rem;
    height: 2.4rem;
    background: url(../images/table1-icon1.png) no-repeat;
    background-size: contain;
    opacity: 0.75;
    pointer-events: none;
    animation: scrolled1 2s infinite;
  }
  .scrolled1-outer {
    overflow: auto;
    overflow-y: hidden;
    padding: 0;
    scrollbar-width: none;
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch;
  }
  .scrolled1-outer::-webkit-scrollbar {
    display: none;
  }
  .scrolled1-inner {
    min-width: calc(102.4rem - var(--sx) * 2);
  }
  .scrolled1-inner table {
    width: 100%;
  }
  .scrolled1-inner tr > :first-child {
    border-left-width: 0;
    padding-left: var(--sx);
  }
  .scrolled1-inner tr > :last-child {
    border-right-width: 0;
    padding-right: var(--sx);
  }
  @keyframes scrolled1 {
    0% {
      opacity: 0;
      transform: translate3d(0, 0, 0);
    }
    60% {
      transform: translate3d(-2rem, 0, 0);
      opacity: 0.75;
    }
    80% {
      opacity: 0.75;
    }
    100% {
      opacity: 0;
      transform: translate3d(-2rem, 0, 0);
    }
  }
}
/**
 * @name .searchbox1
 * @description Search box
 * @example { }
 */
.searchbox1 {
  position: relative;
}

.searchbox1 > input[type] {
  --ahm: 8rem;
  --apx: 4rem;
  --apy: 0rem;
  --apcn: var(--c_d1t);
  padding-right: calc(var(--ahm) + 1rem);
  border-radius: calc(var(--ahm) / 2);
  font: 500 3.6rem/var(--lh) var(--ff_2);
  letter-spacing: -0.02em;
  font-size: calc(var(--ahm) * 0.45);
}

.searchbox1 > button[type] {
  --awm: 8rem;
  --ahm: var(--awm);
  --apx: 0;
  --aosn: 0;
  --atcn: var(--c_a1t);
  --atch: var(--atcn);
  position: absolute;
  right: 0;
  top: 0;
  background: none;
  font-size: calc(var(--ahm) * 0.4);
}

@media screen and (max-width: 719px) {
  .searchbox1 > input[type] {
    --ahm: 6rem;
    --apx: 2.4rem;
  }
  .searchbox1 > button[type] {
    --awm: 6rem;
  }
}
/**
 * @name .searchbox2
 * @description Small search box
 * @example { }
 */
.searchbox2 {
  position: relative;
}

.searchbox2 > input[type] {
  --abcn: var(--c_b1t);
  padding-right: calc(var(--ahm) + 1rem);
}

.searchbox2 > button[type] {
  --awm: 4.8rem;
  --ahm: var(--awm);
  --apx: 0;
  --aosn: 0;
  --atcn: var(--c_a1t);
  --atch: var(--atcn);
  position: absolute;
  right: 0;
  top: 0;
  background: none;
  font-size: calc(var(--ahm) * 0.4);
}

.searchbox2.-v2 > input[type] {
  --apcn: var(--c_d1t);
  font: 700 1.6rem/var(--lh) var(--ff_2);
  letter-spacing: -0.01em;
}

/**
* @name .share1
* @description Share modal
* @example { }
*/
.share1 {
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 201;
  width: 100%;
  margin: 0;
  padding: var(--s1) var(--sx);
  border-radius: var(--br_1) var(--br_1) 0 0;
  background: var(--c_b1);
  transition: all var(--t8n_d2) var(--t8n_e1);
  transition-property: var(--t8n_p2);
}

.share1.-from {
  transform: translateY(100%);
}

.share1-close {
  --lh: 1;
  position: absolute;
  right: 1rem;
  top: 1rem;
  color: var(--c_a1t);
  font-size: 2.4rem;
}

.share1-title {
  --sy: 1.6rem;
}

.share1-list {
  padding: 0;
}

.share1-list li {
  --sy: 1rem;
  --lh: 1;
}

.share1-list li:before {
  display: none;
}

.share1-list a {
  --aus: "";
  --abgn: "";
  display: inline-flex;
  align-items: center;
  vertical-align: top;
}

.share1-list i {
  flex: none;
  margin: 0 0.5rem 0 0;
  font-size: 1.75em;
}

@media print, (min-width: 1024px) {
  .share1 {
    left: 50%;
    bottom: auto;
    top: 50%;
    width: 50rem;
    border-radius: var(--br_1);
    transform: translate3d(-50%, -50%, 0) scale(1);
  }
  .share1.-from {
    transform: translate3d(-50%, -50%, 0) scale(0.9);
    opacity: 0;
  }
  .share1-close {
    right: 2rem;
    top: 2rem;
  }
}
/**
* @name .sidebar1
* @description Sidebar
* @example { }
*/
.sidebar1-intro {
  --sy: var(--s1);
}

.sidebar1-title {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0;
  padding-bottom: 1.8rem;
  border-bottom: 1px solid var(--c_o1t);
}

.sidebar1-title > a {
  --aus: ;
  --abgn: ;
  --atcn: var(--c_d1t);
  --atch: var(--c_a1t);
}

.sidebar1-title > span i {
  align-items: center;
  justify-content: center;
  float: right;
  width: 1.35em;
  height: 1.35em;
  margin: 0 0 0 0.5rem;
  border-radius: 50%;
  box-shadow: inset 0 0 0 1px var(--c_d1t);
  vertical-align: baseline;
}

.sidebar1-title > span i:after {
  content: "\e95d";
  font-family: Icons;
  opacity: 0;
}

.sidebar1-title.-open > span i:before {
  opacity: 0;
}

.sidebar1-title.-open > span i:after {
  opacity: 1;
}

.sidebar1-wrap {
  --sy: var(--s1);
}

.sidebar1-nav {
  position: relative;
  margin-bottom: 0;
  padding: 0;
}

.sidebar1-nav a {
  --aus: ;
  --abgn: ;
  --atcn: var(--c_d1t);
  --atch: var(--c_a1t);
}

.sidebar1-nav a[aria-current] {
  --atcn: var(--atch);
}

.sidebar1-nav li:before {
  display: none;
}

.sidebar1-nav > li {
  --sy: 1.8rem;
  width: 100%;
  border-bottom: 1px solid var(--c_o1t);
}

.sidebar1-nav > li:last-child {
  border-bottom-width: 0;
}

.sidebar1-nav > li:after {
  display: block;
  content: "";
  height: var(--sy);
}

.sidebar1-nav > li > i {
  align-items: center;
  justify-content: center;
  float: right;
  width: 1.35em;
  height: 1.35em;
  padding-top: 1px;
  border-radius: 50%;
  box-shadow: inset 0 0 0 1px var(--c_d1t);
  vertical-align: middle;
  opacity: 0.5;
}

.sidebar1-nav > li > i:after {
  content: "\e95d";
  font-family: Icons;
  opacity: 0;
}

.sidebar1-nav > li.-open > i:before {
  opacity: 0;
}

.sidebar1-nav > li.-open > i:after {
  opacity: 1;
}

.sidebar1-nav > li > ul {
  margin: 0;
  padding-left: 2rem;
}

.sidebar1-nav > li > ul:before, .sidebar1-nav > li > ul:after {
  display: block;
  content: "";
  height: 1.6rem;
}

.sidebar1-nav > li > ul:after {
  height: 0.6rem;
}

.sidebar1-nav > li > ul > li {
  --sy: 0.6rem;
}

.sidebar1-separator {
  margin-top: 0;
  margin-bottom: var(--s1);
}

@media (hover: hover) and (pointer: fine) {
  .sidebar1-nav > li > i:hover {
    opacity: 1;
  }
}
@media screen and (max-width: 1023px) {
  .sidebar1-wrap:before {
    display: block;
    content: "";
    height: 1.8rem;
  }
  .sidebar1-nav > li > i {
    display: none !important;
  }
  .sidebar1-nav > li > ul {
    display: block !important;
    height: auto !important;
  }
}
@media print, (min-width: 1024px) {
  .sidebar1 {
    display: flex;
    flex-direction: column;
    position: sticky;
    top: 4rem;
    height: calc(100vh - 8rem);
  }
  .sidebar1-intro {
    flex: none;
  }
  .sidebar1-title {
    display: none;
  }
  .sidebar1-wrap {
    display: flex !important;
    flex-direction: column;
    height: auto !important;
  }
  .sidebar1-nav {
    overflow: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }
  .sidebar1-nav::-webkit-scrollbar {
    display: none;
  }
  .sidebar1-action {
    flex: none;
  }
}
/**
 * @name .skips1
 * @description Skip links
 */
.skips1 {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 9999;
  list-style: none;
  width: 100%;
  height: 0;
  margin: -3rem 0 0;
  padding: 0;
  text-align: center;
}

.skips1 li {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 0;
  font: bold 5rem/1 Arial, Helvetica Neue, Helvetica, sans-serif;
}

.skips1 li:before {
  display: none;
}

.skips1 li a {
  display: inline-block;
  position: absolute;
  left: -10001em;
  margin: 0 auto;
  padding: 2rem 3rem;
  border: 1px dotted #fff;
  border-color: rgba(255, 255, 255, 0.7);
  border-radius: 2rem;
  background: #333;
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  text-align: center;
  text-decoration: none;
  outline: none;
}

.skips1 li a:focus, .skips1 li a:active {
  position: relative;
  left: 0;
}

@media print, screen and (max-width: 1023px) {
  .skips1 {
    display: none;
  }
}
/**
 * @name .slot1
 * @description Placeholder
 * @example { }
 */
.slot1 {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 10rem;
  padding: 10px;
  box-shadow: inset 0 0 0 1px var(--c_o1t);
  color: rgba(var(--c_dxt), 0.25);
  font: 800 18px/1 var(--ff_1);
  text-transform: uppercase;
}

.slot1.-todo {
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1);
  background: #FF6F61;
  color: var(--c_i1);
}

/**
 * @name .socials1
 * @description Social links
 * @example { }
 */
.socials1 {
  display: inline-block;
  overflow: hidden;
  vertical-align: top;
  margin-bottom: var(--s1) !important;
}

.socials1-label {
  margin-bottom: 1.5rem;
}

.socials1-items {
  --lh: 1;
  --gx: 1rem;
  --gy: 1rem;
  font-size: 2.8rem;
}

.socials1-items li {
  width: auto;
}

.socials1-items a {
  --lh: 1;
  --aus: none;
  --abgn: "";
  --atcn: var(--c_d1t);
  --atch: var(--c_a1t);
}

.socials1.-a1 .socials1-items a {
  --atcn: var(--c_a1t);
  --atch: var(--c_d1t);
}

.socials1.-center {
  display: block;
}

.socials1.-center .socials1-items {
  justify-content: center;
}

/**
 * @name .spacer1
 * @description Spacing div
 * @example { }
 */
.spacer1 {
  height: 1px;
  margin-top: -1px;
  margin-bottom: 0;
  pointer-events: none;
}

.spacer1:not(.-pull)[style*="--hl:"] {
  height: var(--hl);
}

.spacer1.-pull[style*="--hl:"] {
  margin-bottom: calc(var(--hl) * -1);
}

@media screen and (max-width: 1023px) {
  .spacer1:not(.-pull)[style*="--hm:"] {
    height: var(--hm);
  }
  .spacer1.-pull[style*="--hm:"] {
    margin-bottom: calc(var(--hm) * -1);
  }
}
@media screen and (max-width: 719px) {
  .spacer1:not(.-pull)[style*="--hs:"] {
    height: var(--hs);
  }
  .spacer1.-pull[style*="--hs:"] {
    margin-bottom: calc(var(--hs) * -1);
  }
}
@media print {
  .spacer1:not(.-pull)[style*="--hp:"] {
    height: var(--hp);
  }
  .spacer1.-pull[style*="--hp:"] {
    margin-bottom: calc(var(--hp) * -1);
  }
}
/**
* @name .split1
* @description Page split
* @example { }
*/
.split1 > * {
  --sy: var(--s3);
}

@media print, (min-width: 1024px) {
  .split1 {
    display: grid;
    grid-template-columns: 3fr 8fr;
    grid-column-gap: var(--s3);
  }
  .split1-side {
    margin-bottom: 0;
  }
}
/**
* @name .stats1
* @description Stats grid
* @example { }
*/
@media (min-width: 720px) and (max-width: 1023px) {
  .stats1-grid > [w*="/12/"]:nth-child(odd):before {
    display: none;
  }
}
@media print, (min-width: 1024px) {
  .stats1-grid > [w$="/6"]:nth-child(4n+1):before {
    display: none;
  }
}
/**
* @name .subscribe1
* @description Subscribe form with gradients
* @example { }
*/
.subscribe1 {
  position: relative;
}

.subscribe1-gradient {
  --lh: 1;
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: -1;
  content: "";
  margin: -0.5em 0 0 -1em;
  width: 1em;
  height: 1em;
  font-size: 40rem;
  pointer-events: none;
  transition-duration: 2s;
}

.subscribe1-gradient:before {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background: radial-gradient(50% 50% at 50% 50%, var(--c, #CCE2E5) 15%, transparent);
  font-size: 40rem;
  animation: subscribe1a 6s infinite alternate ease-in-out;
}

.subscribe1-gradient.-i2 {
  --c: #DEF6FF;
  margin: -0.25em 0 0 0em;
}

.subscribe1-gradient.-i2:before {
  animation-duration: 10s;
}

.subscribe1-wrap {
  max-width: 74rem;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.subscribe1-wrap .gform_wrapper.gravity-theme .gfield input.medium {
  width: 100%;
}

.gform-body, .gfield {
  margin-bottom: 0;
}

.gform-body input {
  padding: 8px 16px !important;
}

.subscribe1.-v2 .subscribe1-gradient {
  font-size: 30rem;
  margin-left: -1em;
}

.subscribe1.-v2 .subscribe1-gradient.-i2 {
  margin-left: 0;
}

@keyframes subscribe1a {
  100% {
    transform: scale(1.2);
  }
}
@media screen and (prefers-reduced-motion: no-preference) and (min-width: 1024px) {
  [m4n] .subscribe1-gradient.-i1[reveal]:not([revealed]) {
    transform: translateX(-16rem);
    opacity: 0;
  }
  [m4n] .subscribe1-gradient.-i2[reveal]:not([revealed]) {
    transform: translateX(16rem);
    opacity: 0;
  }
}
@media screen and (max-width: 719px) {
  .subscribe1.-v2 .subscribe1-gradient {
    top: 25%;
    font-size: 15rem;
  }
  .subscribe1.-v2 .subscribe1-gradient.-i1 {
    top: 50%;
    margin-top: -0.4em;
    margin-left: -0.75em;
    font-size: 25rem;
  }
}
/**
* @name .subtitle1
* @description Subtitle
* @example { }
*/
.subtitle1 {
  --sy: 1.6rem;
  display: flex;
  align-items: center;
}

.subtitle1 > span {
  flex: none;
  margin-right: 1rem;
}

.subtitle1:after {
  display: block;
  flex-grow: 1;
  content: "";
  height: 1px;
  border-top: 1px solid var(--c_o1t);
}

/**
* @name .tabs1
* @description Hover tabs
* @example { }
*/
.tabs1-list {
  padding: 0;
}

[js] .tabs1-list {
  display: none;
}

.tabs1-list li {
  --sy: 1.4rem;
  margin-bottom: 0;
  border-bottom: 1px solid var(--c_o1t);
}

.tabs1-list li:before {
  display: none;
}

.tabs1-list a {
  --aus: ;
  --abgn: ;
  --atcn: var(--c_d1t);
  --atch: var(--c_a1t);
  display: block;
  padding: var(--sy) 0;
}

.tabs1-list > :first-child > a {
  padding-top: 0;
}

.tabs1-list .-active > a {
  --atcn: var(--atch);
}

.tabs1-tab {
  --sy: var(--s2);
}

[js] .tabs1-tab {
  --sy: 0;
}

.tabs1-tab > * {
  --sy: 1.2rem;
}

.tabs1-tab > figure {
  --sy: 2rem;
}

@media print, (min-width: 1024px) {
  .tabs1 {
    display: grid;
    grid-template-columns: 3.5fr 6fr;
    grid-column-gap: var(--s1);
  }
  .tabs1 > * {
    margin-bottom: 0;
  }
  [js] .tabs1-list {
    display: block;
    margin-bottom: 0;
  }
  [js] .tabs1-select {
    display: none;
  }
}
/**
* @name .tabs2
* @description Tabbed content
* @example { }
*/
.tabs2-header {
  display: flex;
  overflow: hidden;
}

.tabs2-nav {
  display: inline-flex;
  margin: 0 0 0 -4rem;
  padding: 0;
  box-shadow: inset 0 -2px var(--c_o1t);
  vertical-align: top;
}

.tabs2-nav li {
  flex: none;
  margin: 0 0 0 4rem;
}

.tabs2-nav li:before {
  display: none;
}

.tabs2-nav a {
  --aus: ;
  --abgn: ;
  --aocn: transparent;
  --aoch: currentColor;
  --aoyn: -2px;
  --atcn: var(--c_d1t);
  display: block;
  padding-bottom: 1rem;
}

.tabs2-nav [aria-current] > a {
  --aocn: var(--aoch);
  --atcn: var(--c_a1t);
}

.tabs2-select {
  display: none;
}

@media screen and (max-width: 719px) {
  .tabs2-nav {
    display: none;
  }
  .tabs2-select {
    display: block;
    width: 100%;
  }
}
/**
* @name .tags1
* @description Tag list
* @example { }
*/
.tags1-list {
  --gx: 1.2rem;
}

/**
 * @name .tags2
 * @description Filter tags
 * @example { }
 */
.filters1 + .tags2 {
  margin-top: -4rem;
  margin-bottom: var(--s1);
}

.tags2-entries {
  --gx: 1rem;
}

.tags2-entries .button2.-query:before {
  content: "\e933";
  margin: 0 0.5rem 0 0;
  font-family: Icons;
}

.tags2-entries i[class] {
  margin-left: 0.5rem;
  transform: translateY(0.1rem);
}

.tags2-clear {
  align-self: center;
}

.tags2-clear i {
  margin-right: 0.5rem;
  font-size: 1.2em;
}

/**
* @name .title1
* @description Step title
* @example { }
*/
.title1 > strong {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-width: 1.5em;
  min-height: 1.5em;
  margin: 0 0.15em 0 0;
  border-radius: 50%;
  background: var(--c_a1t);
  color: var(--c_i1t);
}

@media print {
  .title1 > strong {
    box-shadow: inset 0 0 0 1px var(--c_a1t);
    background: none;
    color: var(--c_a1t);
  }
}
/**
 * @name .toaster1
 * @description Toast notifications
 * @example { }
 */
.toaster1 {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 301;
  overflow: hidden;
  width: 100%;
  margin: 0;
  padding: 1rem;
  padding-bottom: calc(env(safe-area-inset-bottom) + 1rem);
  color: #ddd;
  text-align: right;
  pointer-events: none;
}

.toaster1 p {
  display: block;
  margin: 0 0 0 auto;
  padding: 0.5rem 1rem 0.4rem;
  border-radius: 0.3rem;
  background: currentColor;
  font: 700 1.4rem/1.3 var(--ff_1);
  text-align: center;
  transform: translateX(110%);
  pointer-events: auto;
  transition: all 0.4s ease;
  opacity: 0;
}

.toaster1 p + p {
  margin-top: 0.5rem;
}

.toaster1 p.-active {
  transform: translateX(0);
  opacity: 1;
}

.toaster1 p span {
  color: var(--c_d1t);
}

/**
* @name .tools1
* @description Corner actions
* @example { }
*/
.tools1 {
  position: fixed;
  right: 2rem;
  bottom: 2rem;
  z-index: 11;
  display: flex;
  justify-content: flex-end;
  margin: 0;
  padding: 0;
  font-size: 2rem;
}

.tools1.-from {
  transform: translateY(calc(100% + 2rem));
}

.tools1 li {
  margin: 0;
}

.tools1 li ~ li {
  margin-left: 1rem;
}

.tools1 li:before {
  display: none;
}

.tools1 li a {
  --s: 3.2rem;
  --lh: 1;
  --awm: var(--s);
  --ahm: var(--s);
  --abgn: "";
  --aus: "";
  --aor: 50%;
  --aoi: ;
  --aoyn: 0.4rem;
  --aobn: 3rem;
  --aocn: rgba(var(--c_dx),0.25);
  --aoch: rgba(var(--c_a1x),0.25);
  --abcn: var(--c_b1);
  --abch: var(--c_a1);
  --atcn: var(--c_d1);
  --atch: var(--c_i1);
  display: flex;
  align-items: center;
  justify-content: center;
}

/**
 * @name .top1
 * @description Global header
 */
.top1 {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 111;
  width: 100%;
  margin-bottom: 0;
}

.top1-wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  min-height: var(--sn);
  padding: 1rem 0;
}

.top1 .logo1 {
  flex: none;
  margin: 0 var(--s1) 0 0;
}

/**
 * @name .tracker1
 * @description Carousel track indicator
 * @example { }
 */
.tracker1 {
  overflow: hidden;
  position: relative;
  border: 1px solid transparent;
  border-width: 0.5rem 0;
  background: var(--c_o1t);
  background-clip: padding-box;
  line-height: 1px;
}

.tracker1:before {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  content: "";
}

.tracker1-wrap {
  display: block;
  width: 100%;
  height: 1px;
  transform: translateX(calc(var(--p) * 100%));
  transition: all 0.1s ease-out;
  transition-property: var(--t8n_p1), width;
}

.tracker1-wrap:before {
  display: block;
  content: "";
  width: calc(var(--w) * 100%);
  height: 1px;
  margin: 0;
  background: var(--c_d1t);
  transform: translateX(calc(var(--p) * -100%));
  will-change: transform;
  transition: inherit;
}

/**
* @name .triplets1
* @description card5 grid
* @example { }
*/
@media print, (min-width: 720px) {
  .triplets1 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: var(--s1);
    grid-row-gap: var(--s1);
  }
  .triplets1 > * {
    margin-bottom: 0;
  }
  .triplets1 > :first-child {
    grid-column: 1/-1;
  }
}
@media print, (min-width: 1024px) {
  .triplets1 {
    grid-template-columns: 1.6fr 1fr;
    grid-template-rows: auto 1fr;
  }
  .triplets1 > :first-child {
    grid-column: auto;
    grid-row: 1/-1;
  }
  .triplets1 > :nth-child(n+2) .card5-main {
    padding: 2rem;
  }
}
/**
 * @name .wrap1
 * @description Content wrapper
 */
.wrap1 {
  position: relative;
  margin-bottom: 0;
  padding: var(--s3) 0;
  background: currentColor;
  color: var(--c_b1t);
  isolation: isolate;
}

.wrap1 > * {
  color: var(--c_d1t);
}

.wrap1.-top:before {
  display: block;
  content: "";
  height: calc(var(--sn) - 2rem);
}

@media print {
  .wrap1 {
    background: none;
    color: inherit;
  }
  .wrap1:not(:first-child) {
    border-top: 1px solid var(--c_o1t);
  }
  .wrap1:not(:last-child) {
    border-bottom: 1px solid var(--c_o1t);
  }
  .wrap1.-pb\:0, .wrap1.-py\:0 {
    border-bottom-width: 0;
  }
  .wrap1 + .wrap1 {
    border-top: none;
  }
}
/*   ______  _     _ _______ _______  _____  __   _ _______
 *   |_____] |     |    |       |    |     | | \  | |______
 *   |_____] |_____|    |       |    |_____| |  \_| ______|
*/
.button1, .button2, [type=submit], [type=button], [type=reset] {
  --c: var(--c_a1x);
  --lh: 2rem;
  --ahm: 5.2rem;
  --apx: 3.6rem;
  --abcn: rgba(var(--c), 1);
  --abch: var(--c_i1t);
  --abgn: "";
  --aor: calc(var(--ahm) / 2);
  --aosn: 0;
  --aocn: var(--abc);
  --atcn: var(--c_i1);
  --atch: var(--abcn);
  --aus: none;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  overflow: visible;
  width: auto;
  box-shadow: var(--aoi, inset) var(--aox, 0) var(--aoy, 0) var(--aob, 0) var(--aos, 0) var(--aoc, currentColor), 0 0.2rem 2rem rgba(var(--c), 0.35);
  font: 700 1.6rem/var(--lh) var(--ff_1);
  text-align: center;
  cursor: pointer;
}

.button1 > span:not(:first-child) {
  margin-left: 0.5rem;
}

.button1 > span:not(:last-child) {
  margin-right: 0.5rem;
}

.button1.-shadowless {
  box-shadow: var(--aoi, inset) var(--aox, 0) var(--aoy, 0) var(--aob, 0) var(--aos, 0) var(--aoc, currentColor);
}

.button1.-b1a1 {
  --aosn: 1px;
  --aocn: var(--abch);
  --abcn: var(--c_b1);
  --abch: var(--c_a1);
  --atcn: var(--abch);
  --atch: var(--abcn);
}

.button1.-b4 {
  --c: var(--c_b4x);
}

@media print {
  .button1 {
    --atcn: var(--abcn);
    box-shadow: inset 0 0 0 1px;
    background: var(--c_b1t);
  }
}
.button2 {
  --ahm: 3.2rem;
  --apx: 1.6rem;
  --abcn: var(--c_i1);
  --abch: var(--c_b4t);
  --atcn: var(--c_d1);
  box-shadow: var(--aoi, inset) var(--aox, 0) var(--aoy, 0) var(--aob, 0) var(--aos, 0) var(--aoc, currentColor);
  font-weight: 400;
}

.button2.-small {
  font-size: 1.2rem;
  font-weight: 600;
  text-transform: uppercase;
}

.button2.-outline {
  --aosn: 1px;
  --aocn: rgba(var(--c_dxt), 0.2);
}

.button2.-dim {
  --abcn: rgba(var(--c_dxt),0.1);
  --abch: rgba(var(--c_dxt),0.2);
  --atcn: var(--c_d1t);
  --atch: var(--c_d1t);
}

@media print {
  .button2 {
    box-shadow: inset 0 0 0 1px var(--c_o1t);
  }
}
.debuttonize1 {
  --lh: inherit;
  --aus: ;
  --abgn: ;
  --awm: 0;
  --ahm: 0;
  --apx: 0;
  --apys: 0;
  --apy: 0;
  --abcn: transparent;
  --abch: var(--bcn);
  --aown: 0;
  --aorn: 0;
  --aocn: var(--bc);
  --atcn: var(--c_d1t);
  --atch: var(--c_a1t);
  display: inline;
  box-shadow: var(--aoi, inset) var(--aox, 0) var(--aoy, 0) var(--aob, 0) var(--aos, 0) var(--aoc, currentColor);
  font: inherit;
  text-align: inherit;
}

/*   _____ ______  ______  __   _ _______
 *     |   |       |     | | \  | |______
 *   __|__ |_____  |_____| |  \_| ______|
*/
[class^=icon-], [class*=" icon-"] {
  display: inline-grid;
  font-family: "Icons" !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
}

[class^=icon-]:before, [class^=icon-]:after, [class*=" icon-"]:before, [class*=" icon-"]:after {
  grid-area: 1/1/2/2;
  transition-property: var(--t8n_p1);
}

[class^=icon-] i, [class*=" icon-"] i {
  grid-area: 1/1/2/2;
  display: grid;
  font: inherit;
  vertical-align: top;
}

[class^=icon-] i:before, [class*=" icon-"] i:before, [class^=icon-] i:after, [class*=" icon-"] i:after {
  grid-area: 1/1/2/2;
}

[class^=icon-] span, [class*=" icon-"] span {
  display: none;
}

.icon-quote:before {
  content: "\e950";
}

.icon-globe:before {
  content: "\e94e";
}

.icon-dots:before {
  content: "\e94f";
}

.icon-location:before {
  content: "\e94b";
}

.icon-type:before {
  content: "\e94c";
}

.icon-share:before {
  content: "\e94a";
}

.icon-social-vimeo:before {
  content: "\e949";
}

.icon-social-tiktok:before {
  content: "\e946";
}

.icon-circle-empty:before {
  content: "\e940";
}

.icon-circle-filled:before {
  content: "\e941";
}

.icon-user:before {
  content: "\e93e";
}

.icon-square-filled:before {
  content: "\e947";
}

.icon-square-empty:before {
  content: "\e948";
}

.icon-phone:before {
  content: "\e91e";
}

.icon-headphones:before {
  content: "\e91d";
}

.icon-dot:before {
  content: "\e91c";
}

.icon-star:before {
  content: "\e93f";
}

.icon-pin:before {
  content: "\e945";
}

.icon-heart:before {
  content: "\e942";
}

.icon-reload:before {
  content: "\e943";
}

.icon-minus-bold:before {
  content: "\e95d";
}

.icon-minus-light:before {
  content: "\e95e";
}

.icon-minus-medium:before {
  content: "\e95f";
}

.icon-plus-bold:before {
  content: "\e960";
}

.icon-plus-light:before {
  content: "\e961";
}

.icon-plus-medium:before {
  content: "\e962";
}

.icon-checkbox-bold:before {
  content: "\e963";
}

.icon-checkbox-light:before {
  content: "\e964";
}

.icon-checkbox-medium:before {
  content: "\e965";
}

.icon-angle-down-bold:before {
  content: "\e900";
}

.icon-angle-down-light:before {
  content: "\e901";
}

.icon-angle-down-medium:before {
  content: "\e902";
}

.icon-angle-left-bold:before {
  content: "\e903";
}

.icon-angle-left-light:before {
  content: "\e904";
}

.icon-angle-left-medium:before {
  content: "\e905";
}

.icon-angle-right-bold:before {
  content: "\e906";
}

.icon-angle-right-light:before {
  content: "\e907";
}

.icon-angle-right-medium:before {
  content: "\e908";
}

.icon-angle-up-bold:before {
  content: "\e909";
}

.icon-angle-up-light:before {
  content: "\e90a";
}

.icon-angle-up-medium:before {
  content: "\e90b";
}

.icon-arrow-external-bold:before {
  content: "\e90c";
}

.icon-arrow-external-light:before {
  content: "\e90d";
}

.icon-arrow-external-medium:before {
  content: "\e90e";
}

.icon-close-bold:before {
  content: "\e90f";
}

.icon-close-light:before {
  content: "\e910";
}

.icon-close-medium:before {
  content: "\e911";
}

.icon-directional-down-bold:before {
  content: "\e912";
}

.icon-directional-down-light:before {
  content: "\e913";
}

.icon-directional-down-medium:before {
  content: "\e914";
}

.icon-directional-left-bold:before {
  content: "\e915";
}

.icon-directional-left-light:before {
  content: "\e916";
}

.icon-directional-left-medium:before {
  content: "\e917";
}

.icon-directional-right-bold:before {
  content: "\e918";
}

.icon-directional-right-light:before {
  content: "\e919";
}

.icon-directional-right-medium:before {
  content: "\e91a";
}

.icon-directional-up-bold:before {
  content: "\e91b";
}

.icon-directional-up-light:before {
  content: "\e91f";
}

.icon-directional-up-medium:before {
  content: "\e920";
}

.icon-download-bold:before {
  content: "\e921";
}

.icon-download-light:before {
  content: "\e922";
}

.icon-download-medium:before {
  content: "\e923";
}

.icon-email-filled:before {
  content: "\e924";
}

.icon-email-outlined-bold:before {
  content: "\e925";
}

.icon-email-outlined-light:before {
  content: "\e926";
}

.icon-email-outlined-medium:before {
  content: "\e927";
}

.icon-filter-bold:before {
  content: "\e928";
}

.icon-filter-light:before {
  content: "\e929";
}

.icon-filter-medium:before {
  content: "\e92a";
}

.icon-menu-bold:before {
  content: "\e92b";
}

.icon-menu-light:before {
  content: "\e92c";
}

.icon-menu-medium:before {
  content: "\e92d";
}

.icon-more-info-thick:before {
  content: "\e92e";
}

.icon-print-bold:before {
  content: "\e92f";
}

.icon-print-medium:before {
  content: "\e930";
}

.icon-search-bold:before {
  content: "\e931";
}

.icon-search-light:before {
  content: "\e932";
}

.icon-search-medium:before {
  content: "\e933";
}

.icon-social-facebook:before {
  content: "\e934";
}

.icon-social-instagram:before {
  content: "\e935";
}

.icon-social-linkedin:before {
  content: "\e936";
}

.icon-social-medium:before {
  content: "\e937";
}

.icon-social-twitter:before {
  content: "\e938";
}

.icon-social-youtube:before {
  content: "\e939";
}

.icon-social-tiktok:before {
  content: "\e946";
}

.icon-triangle-down:before {
  content: "\e93a";
}

.icon-triangle-left:before {
  content: "\e93b";
}

.icon-triangle-right:before {
  content: "\e93c";
}

.icon-triangle-up:before {
  content: "\e93d";
}

.icon-warning:before {
  content: "\e94d";
}

.icon-list:before {
  content: "\e944";
}

/*   ______  _______ _______ _______ _     _ _      _______ _______
 *   |     \ |______ |______ |_____| |     | |         |    |______
 *   |_____/ |______ |       |     | |_____| |_____    |    ______|
*/
*, *:before, *:after {
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 0;
  color: inherit;
  line-height: var(--lh);
  transition: none var(--t8n_d1) ease;
  transition-property: var(--t8n_p1);
}

:root:not([ready]) *, :root:not([ready]) *:before, :root:not([ready]) *:after {
  transition: none !important;
}

@media screen and (prefers-reduced-motion) {
  *, *:before, *:after {
    transition-duration: 0s !important;
  }
}
html {
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

body {
  font: inherit;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

div, form, fieldset, blockquote, cite, article, aside, details, figcaption, figure, footer, header, menu, nav, main, section, address, ul, ol, li, dl, dd, dt, p, q, table, pre, h1, h2, h3, h4, h5, h6, noscript {
  --sy: var(--syo);
  display: block;
  margin-bottom: 1rem;
  margin-bottom: var(--sy);
}

body > :not(.root1), body > :not(.root1) div, body > :not(.root1) form {
  margin-bottom: 0;
}

@page {
  margin: 40px;
}
@media print {
  body {
    overflow: hidden;
    background: #fff;
  }
}
/* forms */
fieldset {
  min-width: 0;
  padding: 0;
  border: none;
}

label {
  cursor: pointer;
  vertical-align: middle;
}

label:first-child {
  display: block;
  margin: 0 0 1rem;
}

label em {
  color: #f00;
  font-style: inherit;
}

input, textarea, select {
  --lh: 2rem;
  --ahm: 4.8rem;
  --aor: calc(var(--ahm) / 2);
  --apx: 2rem;
  --apy: calc(var(--ahm) / 2 - var(--lh) / 2 - 1px);
  --abcn: transparent;
  --aoi: inset;
  --aosn: 1px;
  --aocn: var(--c_o2t);
  --aoch: var(--c_o3t);
  --aocf: var(--aoch);
  --aus: none;
  --atcn: var(--c_d1t);
  --apcn: rgba(var(--c_dxt),0.5);
  --apc: var(--apcn, currentColor);
  width: 100%;
  font: 1.6rem/var(--lh) var(--ff_1);
  vertical-align: top;
}

input:where([type=text], [type=password], [type=search], [type=email], [type=tel], [type=number], [type=checkbox], [type=radio], [type=submit]), textarea, select {
  -webkit-appearance: none;
  -moz-appearance: none;
}

input::-ms-clear {
  display: none;
}

textarea {
  overflow: auto;
  resize: vertical;
}

textarea[data-autoresize] {
  max-height: calc(var(--ahm) * 3);
}

select {
  --abgn: url(../images/select1.svg) right 2rem center / 1.4rem 0.8rem no-repeat;
  padding-right: 5rem;
  line-height: normal;
  text-indent: 1px;
  text-overflow: "";
}

select::-ms-expand {
  display: none;
}

.firefox select {
  padding-left: calc(var(--apx) - 6px);
}

input[type=checkbox], input[type=radio] {
  --s: 2.2rem;
  --apx: 0;
  --aor: 0;
  --atcn: var(--c_a1t);
  --atcf: var(--atcn);
  display: inline-block;
  position: relative;
  width: var(--s, 2rem);
  min-width: 0;
  height: var(--s, 2rem);
  min-height: 0;
  margin: 0 0.5rem 0 0;
  padding: 0;
  font: inherit;
  text-align: center;
  vertical-align: -0.3em;
}

input[type=radio] {
  --aor: 50%;
}

input[type=checkbox]:before {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: 0;
  content: "L";
  width: 100%;
  height: 90%;
  color: inherit;
  font: 700 calc(var(--s, 2rem) * 0.8)/1 Helvetica Neue, Helvetica, Arial, sans-serif;
  transform: scale(calc(var(--ch, 0) * -1), var(--ch, 0)) rotate(-45deg);
}

input[type=radio]:before {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  content: "";
  margin: 0;
  border-radius: 50%;
  box-shadow: inset 0 0 0 2rem var(--atc);
  transform: scale(calc(var(--ch, 0) * 0.4));
}

input[type]:checked:before {
  --ch: 1;
}

input::-ms-check {
  border: none;
  background: transparent;
  color: var(--atc);
}

.-t\:10 input[type=checkbox], .-t\:10 input[type=radio] {
  vertical-align: -0.4em;
}

:-webkit-autofill {
  -webkit-text-fill-color: var(--atc);
  transition-delay: 5000s;
}

::-moz-placeholder {
  color: var(--apc);
  font-style: normal;
  opacity: 1;
}

::placeholder {
  color: var(--apc);
  font-style: normal;
  opacity: 1;
}

select:invalid, [js] select[placeholder] {
  color: var(--apc);
}

.-validated:invalid, .-validated:invalid + label, .-validated:invalid + label:before {
  --aoc: var(--c_e2t);
  color: var(--c_e1t);
}

@media not screen and (pointer: coarse) {
  select[multiple] {
    height: 7rem;
    padding-right: var(--px);
    background-image: none;
  }
}
/* tables */
table {
  display: table;
  border-collapse: collapse;
  border-spacing: 0;
}

th, td {
  padding: 1rem 1.5rem;
  border-bottom: 1px solid var(--c_o1t);
  text-align: left;
  vertical-align: top;
}

thead th {
  background: var(--c_b4t);
  color: var(--c_i1t);
}

/* lists */
ul, ol, dd, blockquote {
  --xpl: 3rem;
  padding-left: var(--xpl);
}

ol, ul {
  list-style: none;
  counter-reset: ordered;
}

li {
  --sy: 1rem;
  counter-increment: ordered;
}

ol > li:before {
  position: absolute;
  content: counter(ordered);
  width: 2rem;
  margin: 0 0 0 calc(var(--xpl) * -0.9);
  color: var(--c_a1t);
  font-weight: 700;
  font-family: var(--ff_2);
}

ul > li:before {
  float: left;
  overflow: hidden;
  content: "\e941";
  margin: 0 0 0 calc(var(--xpl) * -0.9);
  color: var(--c_a1t);
  font-family: Icons;
}

li ul > li:before {
  content: "\e940";
}

li li ul > li:before {
  content: "-";
}

:where(li) > ol, :where(li) > ul {
  --sy: 1rem;
  margin-top: var(--sy);
}

dt {
  margin-bottom: 1rem;
  font-weight: bolder;
}

dd {
  padding-left: 0;
}

@media screen and (max-width: 719px) {
  ul, ol, dd, blockquote {
    --xpl: 2rem;
  }
}
/* links */
a, .-a\:1 {
  --aus: underline;
  --aucn: currentColor;
  --auon: 2px;
  --absyh: 1em;
  --atcn: var(--c_a1t);
  --abgn: linear-gradient(rgba(var(--c_a1xt), 0.1), rgba(var(--c_a1xt), 0.1)) var(--abpx, left) var(--abpy, bottom 3px) / var(--absx, 100%) var(--absy, 0) no-repeat;
}

a, button, input, select, textarea, .-a\:1 {
  --ahs: 0;
  --aox: var(--aoxn);
  --aoy: var(--aoyn);
  --aob: var(--aobn);
  --aos: var(--aosn);
  --aoc: var(--aocn);
  --abg: var(--abgn);
  --abs: var(--absn);
  --absx: var(--absxn);
  --absy: var(--absyn);
  --abpx: var(--abpxn);
  --abpy: var(--abpyn);
  --abc: var(--abcn);
  --atc: var(--atcn);
  --auw: var(--auwn);
  --auc: var(--aucn);
  --auo: var(--auon);
  --avo: var(--avon);
  min-width: var(--awm, auto);
  min-height: var(--ahm, auto);
  padding: calc(var(--apy, 0px) + var(--apys, 0px)) var(--apx, 0px) calc(var(--apy, 0px) - var(--apys, 0px));
  box-shadow: var(--aoi, inset) var(--aox, 0) var(--aoy, 0) var(--aob, 0) var(--aos, 0) var(--aoc, currentColor);
  border: none;
  border-radius: var(--aor, 0);
  background: var(--abg, transparent);
  background-color: var(--abc, transparent);
  color: var(--atc, currentColor);
  -webkit-text-decoration: var(--aus, underline);
          text-decoration: var(--aus, underline);
  text-decoration-thickness: var(--auw, 1px);
  text-decoration-color: var(--auc, transparent);
  text-underline-offset: var(--auo, 0);
  opacity: var(--avo);
  transition-property: var(--t8n_p1), color;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

@media (hover: hover) and (pointer: fine) {
  a:hover, button:hover, input:hover, select:hover, textarea:hover, a:hover .-a\:1, [hover] .-a\:1:not([hovercatch][hover] [hovercatch] *) {
    --ahs: 1;
    --aox: var(--aoxh, var(--aoxn));
    --aoy: var(--aoyh, var(--aoyn));
    --aob: var(--aobh, var(--aobn));
    --aos: var(--aosh, var(--aosn));
    --aoc: var(--aoch, var(--aocn));
    --abg: var(--abgh, var(--abgn));
    --abs: var(--absh, var(--absn));
    --absx: var(--absxh, var(--absxn));
    --absy: var(--absyh, var(--absyn));
    --abpx: var(--abpxh, var(--abpxn));
    --abpy: var(--abpyh, var(--abpyn));
    --abc: var(--abch, var(--abcn));
    --atc: var(--atch, var(--atcn));
    --auw: var(--auwh, var(--auwn));
    --auc: var(--auch, var(--aucn));
    --auo: var(--auoh, var(--auon));
    --avo: var(--avoh, var(--avon));
  }
}
[keyboard] a:focus, [keyboard] button:focus, [keyboard] input:focus, [keyboard] select:focus, [keyboard] textarea:focus, [keyboard] a:focus .-a\:1 {
  --ahs: 1;
  --aox: var(--aoxf, var(--aoxh, var(--aoxn)));
  --aoy: var(--aoyf, var(--aoyh, var(--aoyn)));
  --aob: var(--aobf, var(--aobh, var(--aobn)));
  --aos: var(--aosf, var(--aosh, var(--aosn)));
  --aoc: var(--aocf, var(--aoch, var(--aocn)));
  --abg: var(--abgf, var(--abgh, var(--abgn)));
  --abs: var(--absf, var(--absh, var(--absn)));
  --absx: var(--absxf, var(--absxh, var(--absxn)));
  --absy: var(--absyf, var(--absyh, var(--absyn)));
  --abpx: var(--abpxf, var(--abpxh, var(--abpxn)));
  --abpy: var(--abpyf, var(--abpyh, var(--abpyn)));
  --abc: var(--abcf, var(--abch, var(--abcn)));
  --atc: var(--atcf, var(--atch, var(--atcn)));
  --auw: var(--auwf, var(--auwh, var(--auwn)));
  --auc: var(--aucf, var(--auch, var(--aucn)));
  --auo: var(--auof, var(--auoh, var(--auon)));
  --avo: var(--avof, var(--avoh, var(--avon)));
}

a * {
  cursor: pointer;
}

/* images */
figure {
  margin: 0;
}

img {
  max-width: 100%;
  border-width: 0;
  box-sizing: content-box;
}

figure img {
  display: inline-block;
  vertical-align: top;
}

figcaption {
  margin-top: 1rem;
}

/* other */
blockquote {
  box-shadow: inset 1px 0 0 0 var(--c_a1t);
}

blockquote > * {
  --sy: 1rem ;
}

blockquote q {
  display: block;
}

blockquote q:before {
  display: inline-block;
  width: 0;
  text-indent: -1ex;
}

pre {
  padding: 1rem;
  border: 1px solid var(--c_o1t);
  background: var(--c_b2t);
  font: 1.4rem/1.2 Consolas, Monaco, Courier New, monospace;
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word;
}

code {
  padding: 0.2rem 0.4rem;
  background-color: #f9f2f4;
  color: #c7254e;
  font-size: 80%;
  white-space: nowrap;
}

hr {
  overflow: hidden;
  width: auto;
  height: 1px;
  margin: var(--s1) 0;
  border: none;
  border-top: 1px solid;
  background: none;
  color: var(--c_o1t);
  font-size: 0;
}

sup, sub {
  font-size: 0.6875em;
  line-height: 1;
  vertical-align: top;
}

sub {
  vertical-align: bottom;
}

b, strong {
  font-weight: bolder;
}

mark {
  padding: 0 0.2rem;
  background-color: rgba(255, 228, 0, 0.25);
}

abbr {
  border-bottom: 1px dotted;
  text-decoration: none;
}

ins {
  border-bottom: 1px dotted green;
  text-decoration: none;
}

address {
  font: inherit;
}

/* other */
[mouse] *:focus {
  outline: none;
}

[toggle], [clickable] {
  cursor: pointer;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

[hidden], [js] [noscript], :root:not([js]) [scripted], [x-cloak]:not(:target), [js] [cloaked] {
  display: none !important;
}

[invisible] {
  position: absolute;
  overflow: hidden;
  width: 1px;
  height: 1px;
  white-space: nowrap;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
}

[disabled] {
  pointer-events: none;
  opacity: 0.4;
  cursor: default;
}

[disabled] [disabled] {
  opacity: 1;
}

/* first/last margins */
body :last-child {
  margin-bottom: 0;
}

/*   _    _ _______  ______ _______
 *    \  /  |_____| |_____/ |______
 *     \/   |     | |    \_ ______|
*/
/* text styling */
html {
  --lh: 1.45;
  font: var(--uu)/var(--lh) var(--ff_1);
}

body, h1, h2, h3, h4, h5, h6, blockquote, cite, figcaption, [class*="-t:"] {
  font: 400 2rem/var(--lh) var(--ff_1);
  letter-spacing: 0;
  text-transform: none;
  overflow-wrap: break-word;
}

.-t\:1, h1 {
  --lh: 0.90;
  font: 700 8rem/var(--lh) var(--ff_2);
  letter-spacing: -0.03em;
}

.-t\:2, h2 {
  --lh: 0.90;
  font: 500 6rem/var(--lh) var(--ff_2);
  letter-spacing: -0.03em;
}

.-t\:3, h3 {
  --lh: 1.10;
  font: 500 3.6rem/var(--lh) var(--ff_2);
  letter-spacing: -0.02em;
}

.-t\:4, h4 {
  --lh: 1.18;
  font: 700 2.4rem/var(--lh) var(--ff_2);
  letter-spacing: -0.01em;
}

.-t\:5, h5, thead {
  --lh: 1.30;
  font: 700 1.6rem/var(--lh) var(--ff_1);
  letter-spacing: 0;
}

.-t\:6, h6 {
  --lh: 1.50;
  font: 600 1.6rem/var(--lh) var(--ff_1);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.-t\:7, blockquote {
  --lh: 1.40;
  font: 400 2rem/var(--lh) var(--ff_1);
  letter-spacing: 0;
}

.-t\:8, cite {
  --lh: 1.40;
  font: 400 1.6rem/var(--lh) var(--ff_1);
  letter-spacing: 0;
} /* cite */
.-t\:9, figcaption {
  --lh: 1.40;
  font: 400 1.3rem/var(--lh) var(--ff_1);
  letter-spacing: 0;
} /* caption */
.-t\:10, table {
  --lh: 1.40;
  font: 400 1.6rem/var(--lh) var(--ff_1);
  letter-spacing: 0;
} /* paragraph medium */
.-t\:11 {
  --lh: 1.40;
  font: 400 1.3rem/var(--lh) var(--ff_1);
  letter-spacing: 0;
} /* paragraph small */
.-t\:12 {
  --lh: 0.90;
  font: 700 12rem/var(--lh) var(--ff_2);
  letter-spacing: -0.03em;
} /* title large */
.-t\:13 {
  --lh: 1.25;
  font: 400 3.8rem/var(--lh) var(--ff_2);
  letter-spacing: -0.02em;
} /* quote large */
.-t\:14 {
  --lh: 1.20;
  font: 800 2.4rem/var(--lh) var(--ff_1);
  letter-spacing: 0.05em;
  text-transform: uppercase;
} /* section large */
.-t\:15 {
  --lh: 1.20;
  font: 800 1.3rem/var(--lh) var(--ff_1);
  letter-spacing: 0.04em;
  text-transform: uppercase;
} /* section small */
.-t\:16 {
  --lh: 1.30;
  font: 700 1.8rem/var(--lh) var(--ff_1);
  letter-spacing: 0;
} /* more link */
.-t\:17 {
  --lh: 1.10;
  font: 600 1.2rem/var(--lh) var(--ff_1);
  letter-spacing: 0.08em;
  text-transform: uppercase;
} /* type label */
.-t\:18 {
  --lh: 1.00;
  font: 500 8rem/var(--lh) var(--ff_2);
  letter-spacing: 0;
} /* stat large */
.-t\:19 {
  --lh: 0.85;
  font: 700 6rem/var(--lh) var(--ff_2);
  letter-spacing: -0.02em;
} /* stat medium */
.-t\:20 {
  --lh: 1.45;
  font: 400 2.2rem/var(--lh) var(--ff_1);
  letter-spacing: 0;
} /* paragraph large */
.-t\:21 {
  --lh: 1.30;
  font: 700 1.6rem/var(--lh) var(--ff_1);
  letter-spacing: 0;
} /* button */
.-t\:22 {
  --lh: 1.20;
  font: 800 2.4rem/var(--lh) var(--ff_1);
  letter-spacing: 0.05em;
  text-transform: uppercase;
} /* section large (14) to small (15) */
@media screen and (max-width: 719px) {
  .-t\:0, body {
    --lh: 1.40;
    font-size: 1.6rem;
  }
  .-t\:1, h1 {
    --lh: 1.05;
    font-size: 4.2rem;
    font-weight: 500;
  }
  .-t\:2, h2 {
    --lh: 1.10;
    font-size: 3.4rem;
  }
  .-t\:3, h3 {
    --lh: 1.25;
    font-size: 2.8rem;
  }
  .-t\:4, h4 {
    font-size: 1.8rem;
  }
  .-t\:7, blockquote {
    font-size: 1.8rem;
  } /* blockquote */
  .-t\:12 {
    --lh: 0.95;
    font-size: 6.2rem;
  } /* title large */
  .-t\:13 {
    font-size: 2.4rem;
  } /* quote large */
  .-t\:18 {
    --lh: 1.20;
    font-size: 7.5rem;
  } /* stat large */
  .-t\:19 {
    font-size: 3.2rem;
    font-weight: 800;
  } /* stat medium */
  .-t\:22 {
    font-size: 1.3rem;
  } /* section large (14) to small (15) */
}
/* link styling */
a.-as\:1, .-as\:1 a, .-as\:1.-a\:1, .-as\:1 .-a\:1 {
  --aus: "";
  --abgn: none;
  --atcn: var(--c_d1t);
}

a.-as\:2, .-as\:2 a, .-as\:2.-a\:1, .-as\:2 .-a\:1 {
  --aucn: transparent;
  --auch: var(--atc);
  --abgn: none;
  --atcn: currentColor;
}

a.-as\:3, .-as\:3 a, .-as\:3.-a\:1, .-as\:3 .-a\:1 {
  --aucn: currentColor;
  --auch: transparent;
  --abgn: none;
  --atcn: var(--c_d1t);
}

a.-as\:4, .-as\:4 a, .-as\:4.-a\:1, .-as\:4 .-a\:1 {
  --aus: "";
  --abgn: none;
  --atcn: var(--c_d1t);
  --atch: var(--c_a1t);
}

/* list styling */
ul.-ls\:1, ol.-ls\:1, .-ls\:1 ul, .-ls\:1 ol {
  padding: 0;
}

.-ls\:1 li:before {
  display: none;
}

/* spacing */
.-mb\:a, .-my\:a {
  margin-bottom: auto !important;
}

.-mt\:a, .-my\:a {
  margin-top: auto;
}

.-ml\:a, .-mx\:a {
  margin-left: auto;
}

.-mr\:a, .-mx\:a {
  margin-right: auto;
}

.-mb\:0, .-my\:0, .-ma\:0 {
  margin-bottom: 0;
}

.-mt\:0, .-my\:0, .-ma\:0 {
  margin-top: 0;
}

.-ml\:0, .-mx\:0, .-ma\:0 {
  margin-left: 0;
}

.-mr\:0, .-mx\:0, .-ma\:0 {
  margin-right: 0;
}

.-pb\:0, .-py\:0, .-pa\:0 {
  padding-bottom: 0;
}

.-pt\:0, .-py\:0, .-pa\:0 {
  padding-top: 0;
}

.-pl\:0, .-px\:0, .-pa\:0 {
  padding-left: 0;
}

.-pr\:0, .-px\:0, .-pa\:0 {
  padding-right: 0;
}

.-sy\:0 > * {
  --sy:0rem;
}

.-mb\:x, .-my\:x, .-ma\:x {
  margin-bottom: var(--sx);
}

.-mt\:x, .-my\:x, .-ma\:x {
  margin-top: var(--sx);
}

.-ml\:x, .-mx\:x, .-ma\:x {
  margin-left: var(--sx);
}

.-mr\:x, .-mx\:x, .-ma\:x {
  margin-right: var(--sx);
}

.-mb\:-x, .-my\:-x, .-ma\:-x {
  margin-bottom: var(--nx);
}

.-mt\:-x, .-my\:-x, .-ma\:-x {
  margin-top: var(--nx);
}

.-ml\:-x, .-mx\:-x, .-ma\:-x {
  margin-left: var(--nx);
}

.-mr\:-x, .-mx\:-x, .-ma\:-x {
  margin-right: var(--nx);
}

.-pb\:x, .-py\:x, .-pa\:x {
  padding-bottom: var(--sx);
}

.-pt\:x, .-py\:x, .-pa\:x {
  padding-top: var(--sx);
}

.-pl\:x, .-px\:x, .-pa\:x {
  padding-left: var(--sx);
}

.-pr\:x, .-px\:x, .-pa\:x {
  padding-right: var(--sx);
}

.-mb\:y, .-my\:y, .-ma\:y {
  margin-bottom: var(--sy);
}

.-mt\:y, .-my\:y, .-ma\:y {
  margin-top: var(--sy);
}

.-ml\:y, .-mx\:y, .-ma\:y {
  margin-left: var(--sy);
}

.-mr\:y, .-mx\:y, .-ma\:y {
  margin-right: var(--sy);
}

.-mb\:-y, .-my\:-y, .-ma\:-y {
  margin-bottom: var(--ny);
}

.-mt\:-y, .-my\:-y, .-ma\:-y {
  margin-top: var(--ny);
}

.-ml\:-y, .-mx\:-y, .-ma\:-y {
  margin-left: var(--ny);
}

.-mr\:-y, .-mx\:-y, .-ma\:-y {
  margin-right: var(--ny);
}

.-pb\:y, .-py\:y, .-pa\:y {
  padding-bottom: var(--sy);
}

.-pt\:y, .-py\:y, .-pa\:y {
  padding-top: var(--sy);
}

.-pl\:y, .-px\:y, .-pa\:y {
  padding-left: var(--sy);
}

.-pr\:y, .-px\:y, .-pa\:y {
  padding-right: var(--sy);
}

.-mb\:1, .-my\:1 {
  margin-bottom: var(--s1);
}

.-mt\:1, .-my\:1 {
  margin-top: var(--s1);
}

.-mb\:-1, .-my\:-1, .-ma\:-1 {
  margin-bottom: calc(var(--s1) * -1);
}

.-mt\:-1, .-my\:-1, .-ma\:-1 {
  margin-top: calc(var(--s1) * -1);
}

.-ml\:-1, .-mx\:-1, .-ma\:-1 {
  margin-left: calc(var(--s1) * -1);
}

.-mr\:-1, .-mx\:-1, .-ma\:-1 {
  margin-right: calc(var(--s1) * -1);
}

.-pb\:1, .-py\:1, .-pa\:1 {
  padding-bottom: var(--s1);
}

.-pt\:1, .-py\:1, .-pa\:1 {
  padding-top: var(--s1);
}

.-pl\:1, .-px\:1, .-pa\:1 {
  padding-left: var(--s1);
}

.-pr\:1, .-px\:1, .-pa\:1 {
  padding-right: var(--s1);
}

.-mb\:2, .-my\:2 {
  margin-bottom: var(--s2);
}

.-mt\:2, .-my\:2 {
  margin-top: var(--s2);
}

.-mb\:-2, .-my\:-2, .-ma\:-2 {
  margin-bottom: calc(var(--s2) * -1);
}

.-mt\:-2, .-my\:-2, .-ma\:-2 {
  margin-top: calc(var(--s2) * -1);
}

.-ml\:-2, .-mx\:-2, .-ma\:-2 {
  margin-left: calc(var(--s2) * -1);
}

.-mr\:-2, .-mx\:-2, .-ma\:-2 {
  margin-right: calc(var(--s2) * -1);
}

.-pb\:2, .-py\:2, .-pa\:2 {
  padding-bottom: var(--s2);
}

.-pt\:2, .-py\:2, .-pa\:2 {
  padding-top: var(--s2);
}

.-pl\:2, .-px\:2, .-pa\:2 {
  padding-left: var(--s2);
}

.-pr\:2, .-px\:2, .-pa\:2 {
  padding-right: var(--s2);
}

.-mb\:3, .-my\:3 {
  margin-bottom: var(--s3);
}

.-mt\:3, .-my\:3 {
  margin-top: var(--s3);
}

.-mb\:-3, .-my\:-3, .-ma\:-3 {
  margin-bottom: calc(var(--s3) * -1);
}

.-mt\:-3, .-my\:-3, .-ma\:-3 {
  margin-top: calc(var(--s3) * -1);
}

.-ml\:-3, .-mx\:-3, .-ma\:-3 {
  margin-left: calc(var(--s3) * -1);
}

.-mr\:-3, .-mx\:-3, .-ma\:-3 {
  margin-right: calc(var(--s3) * -1);
}

.-pb\:3, .-py\:3, .-pa\:3 {
  padding-bottom: var(--s3);
}

.-pt\:3, .-py\:3, .-pa\:3 {
  padding-top: var(--s3);
}

.-pl\:3, .-px\:3, .-pa\:3 {
  padding-left: var(--s3);
}

.-pr\:3, .-px\:3, .-pa\:3 {
  padding-right: var(--s3);
}

.-mb\:4, .-my\:4 {
  margin-bottom: var(--s4);
}

.-mt\:4, .-my\:4 {
  margin-top: var(--s4);
}

.-mb\:-4, .-my\:-4, .-ma\:-4 {
  margin-bottom: calc(var(--s4) * -1);
}

.-mt\:-4, .-my\:-4, .-ma\:-4 {
  margin-top: calc(var(--s4) * -1);
}

.-ml\:-4, .-mx\:-4, .-ma\:-4 {
  margin-left: calc(var(--s4) * -1);
}

.-mr\:-4, .-mx\:-4, .-ma\:-4 {
  margin-right: calc(var(--s4) * -1);
}

.-pb\:4, .-py\:4, .-pa\:4 {
  padding-bottom: var(--s4);
}

.-pt\:4, .-py\:4, .-pa\:4 {
  padding-top: var(--s4);
}

.-pl\:4, .-px\:4, .-pa\:4 {
  padding-left: var(--s4);
}

.-pr\:4, .-px\:4, .-pa\:4 {
  padding-right: var(--s4);
}

.-mb\:5, .-my\:5 {
  margin-bottom: var(--s5);
}

.-mt\:5, .-my\:5 {
  margin-top: var(--s5);
}

.-mb\:-5, .-my\:-5, .-ma\:-5 {
  margin-bottom: calc(var(--s5) * -1);
}

.-mt\:-5, .-my\:-5, .-ma\:-5 {
  margin-top: calc(var(--s5) * -1);
}

.-ml\:-5, .-mx\:-5, .-ma\:-5 {
  margin-left: calc(var(--s5) * -1);
}

.-mr\:-5, .-mx\:-5, .-ma\:-5 {
  margin-right: calc(var(--s5) * -1);
}

.-pb\:5, .-py\:5, .-pa\:5 {
  padding-bottom: var(--s5);
}

.-pt\:5, .-py\:5, .-pa\:5 {
  padding-top: var(--s5);
}

.-pl\:5, .-px\:5, .-pa\:5 {
  padding-left: var(--s5);
}

.-pr\:5, .-px\:5, .-pa\:5 {
  padding-right: var(--s5);
}

.-mb\:m1, .-my\:m1 {
  margin-bottom: 0.4rem;
}

.-mt\:m1, .-my\:m1 {
  margin-top: 0.4rem;
}

.-pb\:m1, .-py\:m1 {
  padding-bottom: 0.4rem;
}

.-pt\:m1, .-py\:m1 {
  padding-top: 0.4rem;
}

.-sy\:1 > * {
  --sy:0.4rem;
}

.-mb\:m2, .-my\:m2 {
  margin-bottom: 0.8rem;
}

.-mt\:m2, .-my\:m2 {
  margin-top: 0.8rem;
}

.-pb\:m2, .-py\:m2 {
  padding-bottom: 0.8rem;
}

.-pt\:m2, .-py\:m2 {
  padding-top: 0.8rem;
}

.-sy\:2 > * {
  --sy:0.8rem;
}

.-mb\:m3, .-my\:m3 {
  margin-bottom: 1.2rem;
}

.-mt\:m3, .-my\:m3 {
  margin-top: 1.2rem;
}

.-pb\:m3, .-py\:m3 {
  padding-bottom: 1.2rem;
}

.-pt\:m3, .-py\:m3 {
  padding-top: 1.2rem;
}

.-sy\:3 > * {
  --sy:1.2rem;
}

.-mb\:m4, .-my\:m4 {
  margin-bottom: 1.6rem;
}

.-mt\:m4, .-my\:m4 {
  margin-top: 1.6rem;
}

.-pb\:m4, .-py\:m4 {
  padding-bottom: 1.6rem;
}

.-pt\:m4, .-py\:m4 {
  padding-top: 1.6rem;
}

.-sy\:4 > * {
  --sy:1.6rem;
}

.-mb\:m5, .-my\:m5 {
  margin-bottom: 2rem;
}

.-mt\:m5, .-my\:m5 {
  margin-top: 2rem;
}

.-pb\:m5, .-py\:m5 {
  padding-bottom: 2rem;
}

.-pt\:m5, .-py\:m5 {
  padding-top: 2rem;
}

.-sy\:5 > * {
  --sy:2.0rem;
}

.-mb\:m6, .-my\:m6 {
  margin-bottom: 2.4rem;
}

.-mt\:m6, .-my\:m6 {
  margin-top: 2.4rem;
}

.-pb\:m6, .-py\:m6 {
  padding-bottom: 2.4rem;
}

.-pt\:m6, .-py\:m6 {
  padding-top: 2.4rem;
}

.-sy\:6 > * {
  --sy:2.4rem;
}

@media print, (min-width: 1024px) {
  .-mb\:a\>m, .-my\:a\>m {
    margin-bottom: auto !important;
  }
  .-mt\:a\>m, .-my\:a\>m {
    margin-top: auto;
  }
  .-ml\:a\>m, .-mx\:a\>m {
    margin-left: auto;
  }
  .-mr\:a\>m, .-mx\:a\>m {
    margin-right: auto;
  }
  .-mb\:0\>m, .-my\:0\>m, .-ma\:0\>m {
    margin-bottom: 0;
  }
  .-mt\:0\>m, .-my\:0\>m, .-ma\:0\>m {
    margin-top: 0;
  }
  .-ml\:0\>m, .-mx\:0\>m, .-ma\:0\>m {
    margin-left: 0;
  }
  .-mr\:0\>m, .-mx\:0\>m, .-ma\:0\>m {
    margin-right: 0;
  }
  .-pb\:0\>m, .-py\:0\>m, .-pa\:0\>m {
    padding-bottom: 0;
  }
  .-pt\:0\>m, .-py\:0\>m, .-pa\:0\>m {
    padding-top: 0;
  }
  .-pl\:0\>m, .-px\:0\>m, .-pa\:0\>m {
    padding-left: 0;
  }
  .-pr\:0\>m, .-px\:0\>m, .-pa\:0\>m {
    padding-right: 0;
  }
  .-mb\:x\>m, .-my\:x\>m, .-ma\:x\>m {
    margin-bottom: var(--sx);
  }
  .-mt\:x\>m, .-my\:x\>m, .-ma\:x\>m {
    margin-top: var(--sx);
  }
  .-ml\:x\>m, .-mx\:x\>m, .-ma\:x\>m {
    margin-left: var(--sx);
  }
  .-mr\:x\>m, .-mx\:x\>m, .-ma\:x\>m {
    margin-right: var(--sx);
  }
  .-mb\:-x\>m, .-my\:-x\>m, .-ma\:-x\>m {
    margin-bottom: var(--nx);
  }
  .-mt\:-x\>m, .-my\:-x\>m, .-ma\:-x\>m {
    margin-top: var(--nx);
  }
  .-ml\:-x\>m, .-mx\:-x\>m, .-ma\:-x\>m {
    margin-left: var(--nx);
  }
  .-mr\:-x\>m, .-mx\:-x\>m, .-ma\:-x\>m {
    margin-right: var(--nx);
  }
  .-pb\:x\>m, .-py\:x\>m, .-pa\:x\>m {
    padding-bottom: var(--sx);
  }
  .-pt\:x\>m, .-py\:x\>m, .-pa\:x\>m {
    padding-top: var(--sx);
  }
  .-pl\:x\>m, .-px\:x\>m, .-pa\:x\>m {
    padding-left: var(--sx);
  }
  .-pr\:x\>m, .-px\:x\>m, .-pa\:x\>m {
    padding-right: var(--sx);
  }
  .-mb\:y\>m, .-my\:y\>m, .-ma\:y\>m {
    margin-bottom: var(--sy);
  }
  .-mt\:y\>m, .-my\:y\>m, .-ma\:y\>m {
    margin-top: var(--sy);
  }
  .-ml\:y\>m, .-mx\:y\>m, .-ma\:y\>m {
    margin-left: var(--sy);
  }
  .-mr\:y\>m, .-mx\:y\>m, .-ma\:y\>m {
    margin-right: var(--sy);
  }
  .-mb\:-y\>m, .-my\:-y\>m, .-ma\:-y\>m {
    margin-bottom: var(--ny);
  }
  .-mt\:-y\>m, .-my\:-y\>m, .-ma\:-y\>m {
    margin-top: var(--ny);
  }
  .-ml\:-y\>m, .-mx\:-y\>m, .-ma\:-y\>m {
    margin-left: var(--ny);
  }
  .-mr\:-y\>m, .-mx\:-y\>m, .-ma\:-y\>m {
    margin-right: var(--ny);
  }
  .-pb\:y\>m, .-py\:y\>m, .-pa\:y\>m {
    padding-bottom: var(--sy);
  }
  .-pt\:y\>m, .-py\:y\>m, .-pa\:y\>m {
    padding-top: var(--sy);
  }
  .-pl\:y\>m, .-px\:y\>m, .-pa\:y\>m {
    padding-left: var(--sy);
  }
  .-pr\:y\>m, .-px\:y\>m, .-pa\:y\>m {
    padding-right: var(--sy);
  }
}
@media screen and (max-width: 1023px) {
  .-mb\:a\<l, .-my\:a\<l {
    margin-bottom: auto !important;
  }
  .-mt\:a\<l, .-my\:a\<l {
    margin-top: auto;
  }
  .-ml\:a\<l, .-mx\:a\<l {
    margin-left: auto;
  }
  .-mr\:a\<l, .-mx\:a\<l {
    margin-right: auto;
  }
  .-mb\:0\<l, .-my\:0\<l, .-ma\:0\<l {
    margin-bottom: 0;
  }
  .-mt\:0\<l, .-my\:0\<l, .-ma\:0\<l {
    margin-top: 0;
  }
  .-ml\:0\<l, .-mx\:0\<l, .-ma\:0\<l {
    margin-left: 0;
  }
  .-mr\:0\<l, .-mx\:0\<l, .-ma\:0\<l {
    margin-right: 0;
  }
  .-pb\:0\<l, .-py\:0\<l, .-pa\:0\<l {
    padding-bottom: 0;
  }
  .-pt\:0\<l, .-py\:0\<l, .-pa\:0\<l {
    padding-top: 0;
  }
  .-pl\:0\<l, .-px\:0\<l, .-pa\:0\<l {
    padding-left: 0;
  }
  .-pr\:0\<l, .-px\:0\<l, .-pa\:0\<l {
    padding-right: 0;
  }
  .-mb\:x\<l, .-my\:x\<l, .-ma\:x\<l {
    margin-bottom: var(--sx);
  }
  .-mt\:x\<l, .-my\:x\<l, .-ma\:x\<l {
    margin-top: var(--sx);
  }
  .-ml\:x\<l, .-mx\:x\<l, .-ma\:x\<l {
    margin-left: var(--sx);
  }
  .-mr\:x\<l, .-mx\:x\<l, .-ma\:x\<l {
    margin-right: var(--sx);
  }
  .-mb\:-x\<l, .-my\:-x\<l, .-ma\:-x\<l {
    margin-bottom: var(--nx);
  }
  .-mt\:-x\<l, .-my\:-x\<l, .-ma\:-x\<l {
    margin-top: var(--nx);
  }
  .-ml\:-x\<l, .-mx\:-x\<l, .-ma\:-x\<l {
    margin-left: var(--nx);
  }
  .-mr\:-x\<l, .-mx\:-x\<l, .-ma\:-x\<l {
    margin-right: var(--nx);
  }
  .-pb\:x\<l, .-py\:x\<l, .-pa\:x\<l {
    padding-bottom: var(--sx);
  }
  .-pt\:x\<l, .-py\:x\<l, .-pa\:x\<l {
    padding-top: var(--sx);
  }
  .-pl\:x\<l, .-px\:x\<l, .-pa\:x\<l {
    padding-left: var(--sx);
  }
  .-pr\:x\<l, .-px\:x\<l, .-pa\:x\<l {
    padding-right: var(--sx);
  }
  .-mb\:y\<l, .-my\:y\<l, .-ma\:y\<l {
    margin-bottom: var(--sy);
  }
  .-mt\:y\<l, .-my\:y\<l, .-ma\:y\<l {
    margin-top: var(--sy);
  }
  .-ml\:y\<l, .-mx\:y\<l, .-ma\:y\<l {
    margin-left: var(--sy);
  }
  .-mr\:y\<l, .-mx\:y\<l, .-ma\:y\<l {
    margin-right: var(--sy);
  }
  .-mb\:-y\<l, .-my\:-y\<l, .-ma\:-y\<l {
    margin-bottom: var(--ny);
  }
  .-mt\:-y\<l, .-my\:-y\<l, .-ma\:-y\<l {
    margin-top: var(--ny);
  }
  .-ml\:-y\<l, .-mx\:-y\<l, .-ma\:-y\<l {
    margin-left: var(--ny);
  }
  .-mr\:-y\<l, .-mx\:-y\<l, .-ma\:-y\<l {
    margin-right: var(--ny);
  }
  .-pb\:y\<l, .-py\:y\<l, .-pa\:y\<l {
    padding-bottom: var(--sy);
  }
  .-pt\:y\<l, .-py\:y\<l, .-pa\:y\<l {
    padding-top: var(--sy);
  }
  .-pl\:y\<l, .-px\:y\<l, .-pa\:y\<l {
    padding-left: var(--sy);
  }
  .-pr\:y\<l, .-px\:y\<l, .-pa\:y\<l {
    padding-right: var(--sy);
  }
}
@media screen and (max-width: 719px) {
  .-mb\:a\<m, .-my\:a\<m {
    margin-bottom: auto !important;
  }
  .-mt\:a\<m, .-my\:a\<m {
    margin-top: auto;
  }
  .-ml\:a\<m, .-mx\:a\<m {
    margin-left: auto;
  }
  .-mr\:a\<m, .-mx\:a\<m {
    margin-right: auto;
  }
  .-mb\:0\<m, .-my\:0\<m, .-ma\:0\<m {
    margin-bottom: 0;
  }
  .-mt\:0\<m, .-my\:0\<m, .-ma\:0\<m {
    margin-top: 0;
  }
  .-ml\:0\<m, .-mx\:0\<m, .-ma\:0\<m {
    margin-left: 0;
  }
  .-mr\:0\<m, .-mx\:0\<m, .-ma\:0\<m {
    margin-right: 0;
  }
  .-pb\:0\<m, .-py\:0\<m, .-pa\:0\<m {
    padding-bottom: 0;
  }
  .-pt\:0\<m, .-py\:0\<m, .-pa\:0\<m {
    padding-top: 0;
  }
  .-pl\:0\<m, .-px\:0\<m, .-pa\:0\<m {
    padding-left: 0;
  }
  .-pr\:0\<m, .-px\:0\<m, .-pa\:0\<m {
    padding-right: 0;
  }
  .-mb\:x\<m, .-my\:x\<m, .-ma\:x\<m {
    margin-bottom: var(--sx);
  }
  .-mt\:x\<m, .-my\:x\<m, .-ma\:x\<m {
    margin-top: var(--sx);
  }
  .-ml\:x\<m, .-mx\:x\<m, .-ma\:x\<m {
    margin-left: var(--sx);
  }
  .-mr\:x\<m, .-mx\:x\<m, .-ma\:x\<m {
    margin-right: var(--sx);
  }
  .-mb\:-x\<m, .-my\:-x\<m, .-ma\:-x\<m {
    margin-bottom: var(--nx);
  }
  .-mt\:-x\<m, .-my\:-x\<m, .-ma\:-x\<m {
    margin-top: var(--nx);
  }
  .-ml\:-x\<m, .-mx\:-x\<m, .-ma\:-x\<m {
    margin-left: var(--nx);
  }
  .-mr\:-x\<m, .-mx\:-x\<m, .-ma\:-x\<m {
    margin-right: var(--nx);
  }
  .-pb\:x\<m, .-py\:x\<m, .-pa\:x\<m {
    padding-bottom: var(--sx);
  }
  .-pt\:x\<m, .-py\:x\<m, .-pa\:x\<m {
    padding-top: var(--sx);
  }
  .-pl\:x\<m, .-px\:x\<m, .-pa\:x\<m {
    padding-left: var(--sx);
  }
  .-pr\:x\<m, .-px\:x\<m, .-pa\:x\<m {
    padding-right: var(--sx);
  }
  .-mb\:y\<m, .-my\:y\<m, .-ma\:y\<m {
    margin-bottom: var(--sy);
  }
  .-mt\:y\<m, .-my\:y\<m, .-ma\:y\<m {
    margin-top: var(--sy);
  }
  .-ml\:y\<m, .-mx\:y\<m, .-ma\:y\<m {
    margin-left: var(--sy);
  }
  .-mr\:y\<m, .-mx\:y\<m, .-ma\:y\<m {
    margin-right: var(--sy);
  }
  .-mb\:-y\<m, .-my\:-y\<m, .-ma\:-y\<m {
    margin-bottom: var(--ny);
  }
  .-mt\:-y\<m, .-my\:-y\<m, .-ma\:-y\<m {
    margin-top: var(--ny);
  }
  .-ml\:-y\<m, .-mx\:-y\<m, .-ma\:-y\<m {
    margin-left: var(--ny);
  }
  .-mr\:-y\<m, .-mx\:-y\<m, .-ma\:-y\<m {
    margin-right: var(--ny);
  }
  .-pb\:y\<m, .-py\:y\<m, .-pa\:y\<m {
    padding-bottom: var(--sy);
  }
  .-pt\:y\<m, .-py\:y\<m, .-pa\:y\<m {
    padding-top: var(--sy);
  }
  .-pl\:y\<m, .-px\:y\<m, .-pa\:y\<m {
    padding-left: var(--sy);
  }
  .-pr\:y\<m, .-px\:y\<m, .-pa\:y\<m {
    padding-right: var(--sy);
  }
}
@media print, (min-width: 720px) {
  .-mb\:a\>s, .-my\:a\>s {
    margin-bottom: auto !important;
  }
  .-mt\:a\>s, .-my\:a\>s {
    margin-top: auto;
  }
  .-ml\:a\>s, .-mx\:a\>s {
    margin-left: auto;
  }
  .-mr\:a\>s, .-mx\:a\>s {
    margin-right: auto;
  }
  .-mb\:0\>s, .-my\:0\>s, .-ma\:0\>s {
    margin-bottom: 0;
  }
  .-mt\:0\>s, .-my\:0\>s, .-ma\:0\>s {
    margin-top: 0;
  }
  .-ml\:0\>s, .-mx\:0\>s, .-ma\:0\>s {
    margin-left: 0;
  }
  .-mr\:0\>s, .-mx\:0\>s, .-ma\:0\>s {
    margin-right: 0;
  }
  .-pb\:0\>s, .-py\:0\>s, .-pa\:0\>s {
    padding-bottom: 0;
  }
  .-pt\:0\>s, .-py\:0\>s, .-pa\:0\>s {
    padding-top: 0;
  }
  .-pl\:0\>s, .-px\:0\>s, .-pa\:0\>s {
    padding-left: 0;
  }
  .-pr\:0\>s, .-px\:0\>s, .-pa\:0\>s {
    padding-right: 0;
  }
  .-mb\:x\>s, .-my\:x\>s, .-ma\:x\>s {
    margin-bottom: var(--sx);
  }
  .-mt\:x\>s, .-my\:x\>s, .-ma\:x\>s {
    margin-top: var(--sx);
  }
  .-ml\:x\>s, .-mx\:x\>s, .-ma\:x\>s {
    margin-left: var(--sx);
  }
  .-mr\:x\>s, .-mx\:x\>s, .-ma\:x\>s {
    margin-right: var(--sx);
  }
  .-mb\:-x\>s, .-my\:-x\>s, .-ma\:-x\>s {
    margin-bottom: var(--nx);
  }
  .-mt\:-x\>s, .-my\:-x\>s, .-ma\:-x\>s {
    margin-top: var(--nx);
  }
  .-ml\:-x\>s, .-mx\:-x\>s, .-ma\:-x\>s {
    margin-left: var(--nx);
  }
  .-mr\:-x\>s, .-mx\:-x\>s, .-ma\:-x\>s {
    margin-right: var(--nx);
  }
  .-pb\:x\>s, .-py\:x\>s, .-pa\:x\>s {
    padding-bottom: var(--sx);
  }
  .-pt\:x\>s, .-py\:x\>s, .-pa\:x\>s {
    padding-top: var(--sx);
  }
  .-pl\:x\>s, .-px\:x\>s, .-pa\:x\>s {
    padding-left: var(--sx);
  }
  .-pr\:x\>s, .-px\:x\>s, .-pa\:x\>s {
    padding-right: var(--sx);
  }
  .-mb\:y\>s, .-my\:y\>s, .-ma\:y\>s {
    margin-bottom: var(--sy);
  }
  .-mt\:y\>s, .-my\:y\>s, .-ma\:y\>s {
    margin-top: var(--sy);
  }
  .-ml\:y\>s, .-mx\:y\>s, .-ma\:y\>s {
    margin-left: var(--sy);
  }
  .-mr\:y\>s, .-mx\:y\>s, .-ma\:y\>s {
    margin-right: var(--sy);
  }
  .-mb\:-y\>s, .-my\:-y\>s, .-ma\:-y\>s {
    margin-bottom: var(--ny);
  }
  .-mt\:-y\>s, .-my\:-y\>s, .-ma\:-y\>s {
    margin-top: var(--ny);
  }
  .-ml\:-y\>s, .-mx\:-y\>s, .-ma\:-y\>s {
    margin-left: var(--ny);
  }
  .-mr\:-y\>s, .-mx\:-y\>s, .-ma\:-y\>s {
    margin-right: var(--ny);
  }
  .-pb\:y\>s, .-py\:y\>s, .-pa\:y\>s {
    padding-bottom: var(--sy);
  }
  .-pt\:y\>s, .-py\:y\>s, .-pa\:y\>s {
    padding-top: var(--sy);
  }
  .-pl\:y\>s, .-px\:y\>s, .-pa\:y\>s {
    padding-left: var(--sy);
  }
  .-pr\:y\>s, .-px\:y\>s, .-pa\:y\>s {
    padding-right: var(--sy);
  }
}
.-gg\:1 {
  --gx: var(--s3);
} /* impact stats */
.-gg\:2 {
  --gx: var(--s1);
} /* featured fundraisers */
.-gg\:3 {
  --gx: 2rem;
} /* most read */
.-gg\:4 {
  --gx: 2.4rem;
  --sy: var(--s1) ;
} /* events archives */
/* grid separators */
.-gs\:1 > * {
  position: relative;
}

.-gs\:1 > :after {
  display: block;
  position: absolute;
  right: calc(var(--gx) * 0);
  top: 0;
  bottom: 0;
  content: "";
  width: 1px;
  margin: 0;
  border: 1px solid rgba(var(--c_dxt), 0.15);
  border-width: 0 0 0 1px;
}

@media screen and (max-width: 719px) {
  .-gs\:1 {
    --gy: var(--s3);
    -webkit-clip-path: inset(var(--gy) 0 0);
            clip-path: inset(var(--gy) 0 0);
  }
  .-gs\:1 > :after {
    right: 0;
    top: calc(var(--gy) * -0.5);
    bottom: auto;
    width: 100%;
    height: 1px;
    border-width: 1px 0 0;
  }
}
/* grid columns */
@media print, (min-width: 1024px) {
  .-gc\:30\>m {
    --gc: 30;
  }
}
/* visibility */
.-d\:b {
  display: block;
}

.-d\:n {
  display: none;
}

@media print {
  .-d\:n\@p {
    display: none !important;
  }
}
/* position */
.-p\:r {
  position: relative;
}

/* z-indexing */
.-zi\:1 {
  z-index: 1;
}

.-zi\:2 {
  z-index: 2;
}

.-zi\:3 {
  z-index: 3;
}

/* overflow */
.-o\:h {
  overflow: hidden;
}

.-o\:v {
  overflow: visible;
}

/* max widths */
.-xw\:n {
  --xw: none;
  max-width: var(--xw);
}

.-xw\:1 {
  --xw: var(--xw_1);
  max-width: var(--xw);
}

.-xw\:2 {
  --xw: var(--xw_2);
  max-width: var(--xw);
}

.-xw\:3 {
  --xw: var(--xw_3);
  max-width: var(--xw);
}

.-xw\:4 {
  --xw: var(--xw_4);
  max-width: var(--xw);
}

.-xw\:5 {
  --xw: var(--xw_5);
  max-width: var(--xw);
}

.-xw\:6 {
  --xw: var(--xw_6);
  max-width: var(--xw);
}

.-contain, .-decontain, .-recontain {
  max-width: none;
}

.-w\:a {
  width: auto;
}

.-w\:x {
  width: calc(100vw - var(--sx) * 2);
}

.-w\:1 {
  width: 100%;
}

.-h\:1 {
  height: 100%;
}

/* colors */
.-c\:d1, a.-c\:d1h:hover, a:hover .-c\:d1h {
  color: var(--c_d1);
}

.-c\:d1t, a.-c\:d1th:hover, a:hover .-c\:d1th, html {
  color: var(--c_d1t);
}

.-c\:d2, a.-c\:d2h:hover, a:hover .-c\:d2h {
  color: var(--c_d2);
}

.-c\:d2t, a.-c\:d2th:hover, a:hover .-c\:d2th, figcaption {
  color: var(--c_d2t);
}

.-c\:a1, a.-c\:a1h:hover, a:hover .-c\:a1h {
  color: var(--c_a1);
}

.-c\:a1t, a.-c\:a1th:hover, a:hover .-c\:a1th {
  color: var(--c_a1t);
}

.-c\:a2, a.-c\:a2h:hover, a:hover .-c\:a2h {
  color: var(--c_a2);
}

.-c\:a2t, a.-c\:a2th:hover, a:hover .-c\:a2th {
  color: var(--c_a2t);
}

.-c\:i1, a.-c\:i1h:hover, a:hover .-c\:i1h {
  color: var(--c_i1);
}

.-c\:i1t, a.-c\:i1th:hover, a:hover .-c\:i1th {
  color: var(--c_i1t);
}

.-c\:i2, a.-c\:i2h:hover, a:hover .-c\:i2h {
  color: var(--c_i2);
}

.-c\:i2t, a.-c\:i2th:hover, a:hover .-c\:i2th {
  color: var(--c_i2t);
}

.-c\:b1, a.-c\:b1h:hover, a:hover .-c\:b1h {
  color: var(--c_b1);
}

.-c\:b1t, a.-c\:b1th:hover, a:hover .-c\:b1th {
  color: var(--c_b1t);
}

.-c\:b2, a.-c\:b2h:hover, a:hover .-c\:b2h {
  color: var(--c_b2);
}

.-c\:b2t, a.-c\:b2th:hover, a:hover .-c\:b2th {
  color: var(--c_b2t);
}

.-c\:b3, a.-c\:b3h:hover, a:hover .-c\:b3h {
  color: var(--c_b3);
}

.-c\:b3t, a.-c\:b3th:hover, a:hover .-c\:b3th {
  color: var(--c_b3t);
}

.-c\:b4, a.-c\:b4h:hover, a:hover .-c\:b4h {
  color: var(--c_b4);
}

.-c\:b4t, a.-c\:b4th:hover, a:hover .-c\:b4th {
  color: var(--c_b4t);
}

.-c\:b5, a.-c\:b5h:hover, a:hover .-c\:b5h {
  color: var(--c_b5);
}

.-c\:b5t, a.-c\:b5th:hover, a:hover .-c\:b5th {
  color: var(--c_b5t);
}

.-c\:b6, a.-c\:b6h:hover, a:hover .-c\:b6h {
  color: var(--c_b6);
}

.-c\:b6t, a.-c\:b6th:hover, a:hover .-c\:b6th {
  color: var(--c_b6t);
}

.-c\:o1, a.-c\:o1h:hover, a:hover .-c\:o1h {
  color: var(--c_o1);
}

.-c\:o1t, a.-c\:o1th:hover, a:hover .-c\:o1th {
  color: var(--c_o1t);
}

.-c\:o2, a.-c\:o2h:hover, a:hover .-c\:o2h {
  color: var(--c_o2);
}

.-c\:o2t, a.-c\:o2th:hover, a:hover .-c\:o2th {
  color: var(--c_o2t);
}

.-c\:o3, a.-c\:o3h:hover, a:hover .-c\:o3h {
  color: var(--c_o3);
}

.-c\:o3t, a.-c\:o3th:hover, a:hover .-c\:o3th {
  color: var(--c_o3t);
}

.-c\:e1, a.-c\:e1h:hover, a:hover .-c\:e1h {
  color: var(--c_e1);
}

.-c\:e1t, a.-c\:e1th:hover, a:hover .-c\:e1th {
  color: var(--c_e1t);
}

.-c\:i {
  color: inherit;
}

.-c\:u {
  color: unset;
}

.-c\:t {
  color: transparent;
}

/* special backgrounds */
@media screen {
  .-bg\:1b {
    background: linear-gradient(transparent, var(--bgc, #D5EBF4));
  }
  .-bg\:1t {
    background: linear-gradient(var(--bgc, #D5EBF4), transparent 30rem);
  }
  .-bg\:1c {
    background: linear-gradient(transparent, var(--bgc, #D5EBF4), transparent);
  }
}
/* border-radius */
.-br\:1 {
  border-radius: var(--br_1);
}

.-br\:2 {
  border-radius: var(--br_2);
}

/* color schemes */
@media screen {
  .-cs\:i, a.-cs\:ih:hover, a:hover .-cs\:ih, [hover] .-cs\:ih {
    --c_dxt: var(--c_ix);
    --c_d1t: var(--c_i1);
    --c_d2t: var(--c_i2);
    --c_ixt: var(--c_dx);
    --c_i1t: var(--c_d1);
    --c_i2t: var(--c_d2);
    --c_b1t: var(--c_d1);
    --c_b2t: var(--c_d2);
    --c_o1t: rgba(var(--c_dxt),0.2);
    --c_o2t: rgba(var(--c_dxt),0.4);
    --c_e1t: #FF3939;
    --c_e2t: var(--c_e1t);
  }
  .-cs\:a1, a.-cs\:a1h:hover, a:hover .-cs\:a1h, [hover] .-cs\:a1h {
    --c_b1t: var(--c_a1);
    --c_a1t: var(--c_i1);
  }
  .-cs\:b4, a.-cs\:b4h:hover, a:hover .-cs\:b4h {
    --c_b1t: var(--c_b4);
  }
  .-cs\:b5, a.-cs\:b5h:hover, a:hover .-cs\:b5h {
    --c_b1t: var(--c_b5);
  }
  .-cs\:n, a.-cs\:nh:hover, a:hover .-cs\:nh {
    --c_dxt: var(--c_dx);
    --c_d1t: var(--c_d1);
    --c_d2t: var(--c_d2);
    --c_ixt: var(--c_ix);
    --c_i1t: var(--c_i1);
    --c_i2t: var(--c_i2);
    --c_b1t: var(--c_b1);
    --c_b2t: var(--c_b2);
    --c_o1t: var(--c_o1);
    --c_o2t: var(--c_o2);
    --c_e1t: var(--c_e1);
    --c_e2t: var(--c_e2);
  }
}
/* opacity */
.-op\:0 {
  opacity: 0;
}

.-op\:1 {
  opacity: 0.1;
}

.-op\:2 {
  opacity: 0.2;
}

.-op\:3 {
  opacity: 0.3;
}

.-op\:4 {
  opacity: 0.4;
}

.-op\:5 {
  opacity: 0.5;
}

.-op\:6 {
  opacity: 0.6;
}

.-op\:7 {
  opacity: 0.7;
}

.-op\:8 {
  opacity: 0.8;
}

.-op\:9 {
  opacity: 0.9;
}

.-op\:n {
  opacity: 1;
}

/* families */
.-ff\:1 {
  font-family: var(--ff_1);
}

.-ff\:2 {
  font-family: var(--ff_2);
}

/* weights */
.-fw\:4, .-fw\:n {
  font-weight: 400;
}

.-fw\:5, .-fw\:m {
  font-weight: 500;
}

.-fw\:6, .-fw\:s {
  font-weight: 600;
}

.-fw\:7, .-fw\:b {
  font-weight: 700;
}

.-fw\:8, .-fw\:x {
  font-weight: 800;
}

.-fw\:ix, .-fw\:i {
  font-weight: inherit;
}

/* line-heights */
.-lh\:0 {
  --lh: 1.0;
}

.-lh\:1 {
  --lh: 1.1;
}

.-lh\:2 {
  --lh: 1.2;
}

.-lh\:3 {
  --lh: 1.3;
}

.-lh\:4 {
  --lh: 1.4;
}

.-lh\:5 {
  --lh: 1.5;
}

/* font-size */
.-fs\:11 {
  font-size: 1.1em;
}

.-fs\:12 {
  font-size: 1.2em;
}

.-fs\:13 {
  font-size: 1.3em;
}

.-fs\:14 {
  font-size: 1.4em;
}

.-fs\:15 {
  font-size: 1.5em;
}

/* basic css */
.-ta\:l {
  text-align: left;
}

.-ta\:c {
  text-align: center;
}

.-ta\:r {
  text-align: right;
}

.-tt\:n {
  text-transform: none;
}

.-tt\:l {
  text-transform: lowercase;
}

.-tt\:u {
  text-transform: uppercase;
}

.-us\:n, [toggle], [clickable] {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

@media screen and (max-width: 1023px) {
  .-ta\:l\<l {
    text-align: left;
  }
  .-ta\:c\<l {
    text-align: center;
  }
  .-ta\:r\<l {
    text-align: right;
  }
}
/*    _____  _    _ _______  ______  ______ _____ ______  _______ _______
 *   |     |  \  /  |______ |_____/ |_____/   |   |     \ |______ |______
 *   |_____|   \/   |______ |    \_ |    \_ __|__ |_____/ |______ ______|
*/
[style*="--ofs:"] {
  font-size: var(--ofs);
}

[style*="--olh:"] {
  line-height: var(--olh);
}

[style*="--omt:"], [style*="--omy:"], [style*="--oma:"] {
  margin-top: var(--omt, var(--omy, var(--oma)));
}

[style*="--omb:"], [style*="--omy:"], [style*="--oma:"] {
  margin-bottom: var(--omb, var(--omy, var(--oma)));
}

[style*="--oml:"], [style*="--omx:"], [style*="--oma:"] {
  margin-left: var(--oml, var(--omx, var(--oma)));
}

[style*="--omr:"], [style*="--omx:"], [style*="--oma:"] {
  margin-right: var(--omr, var(--omx, var(--oma)));
}

[style*="--opt:"], [style*="--opy:"], [style*="--opa:"] {
  padding-top: var(--opt, var(--opy, var(--opa)));
}

[style*="--opb:"], [style*="--opy:"], [style*="--opa:"] {
  padding-bottom: var(--opb, var(--opy, var(--opa)));
}

[style*="--opl:"], [style*="--opx:"], [style*="--opa:"] {
  padding-left: var(--opl, var(--opx, var(--opa)));
}

[style*="--opr:"], [style*="--opx:"], [style*="--opa:"] {
  padding-right: var(--opr, var(--opx, var(--opa)));
}

[style*="--owx:"] {
  max-width: var(--owx);
}

[style*="--own:"] {
  min-width: var(--own);
}

[style*="--ohx:"] {
  max-height: var(--ohx);
}

[style*="--ohn:"] {
  min-height: var(--ohn);
}

[style*="--oal:"] {
  left: var(--oal);
}

[style*="--oar:"] {
  right: var(--oar);
}

[style*="--oat:"] {
  top: var(--oat);
}

[style*="--oab:"] {
  bottom: var(--oab);
}

@media print, (min-width: 720px) {
  [style*="--ogxas:"] {
    --gx: var(--ogxas);
  }
  [style*="--ogyas:"] {
    --gy: var(--ogyas);
  }
  [style*="--ofsas:"] {
    font-size: var(--ofsas);
  }
  [style*="--olhas:"] {
    line-height: var(--olhas);
  }
  [style*="--omtas:"], [style*="--omyas:"], [style*="--omaas:"] {
    margin-top: var(--omtas, var(--omyas, var(--omaas)));
  }
  [style*="--ombas:"], [style*="--omyas:"], [style*="--omaas:"] {
    margin-bottom: var(--ombas, var(--omyas, var(--omaas)));
  }
  [style*="--omlas:"], [style*="--omxas:"], [style*="--omaas:"] {
    margin-left: var(--omlas, var(--omxas, var(--omaas)));
  }
  [style*="--omras:"], [style*="--omxas:"], [style*="--omaas:"] {
    margin-right: var(--omras, var(--omxas, var(--omaas)));
  }
  [style*="--optas:"], [style*="--opyas:"], [style*="--opaas:"] {
    padding-top: var(--optas, var(--opyas, var(--opaas)));
  }
  [style*="--opbas:"], [style*="--opyas:"], [style*="--opaas:"] {
    padding-bottom: var(--opbas, var(--opyas, var(--opaas)));
  }
  [style*="--oplas:"], [style*="--opxas:"], [style*="--opaas:"] {
    padding-left: var(--oplas, var(--opxas, var(--opaas)));
  }
  [style*="--opras:"], [style*="--opxas:"], [style*="--opaas:"] {
    padding-right: var(--opras, var(--opxas, var(--opaas)));
  }
  [style*="--owxas:"] {
    max-width: var(--owxas);
  }
  [style*="--ownas:"] {
    min-width: var(--ownas);
  }
  [style*="--ohxas:"] {
    max-height: var(--ohxas);
  }
  [style*="--ohnas:"] {
    min-height: var(--ohnas);
  }
  [style*="--oalas:"] {
    left: var(--oalas);
  }
  [style*="--oaras:"] {
    right: var(--oaras);
  }
  [style*="--oatas:"] {
    top: var(--oatas);
  }
  [style*="--oabas:"] {
    bottom: var(--oabas);
  }
}
@media print, (min-width: 1024px) {
  [style*="--ogxam:"] {
    --gx: var(--ogxam);
  }
  [style*="--ogyam:"] {
    --gy: var(--ogyam);
  }
  [style*="--ofsam:"] {
    font-size: var(--ofsam);
  }
  [style*="--olham:"] {
    line-height: var(--olham);
  }
  [style*="--omtam:"], [style*="--omyam:"], [style*="--omaam:"] {
    margin-top: var(--omtam, var(--omyam, var(--omaam)));
  }
  [style*="--ombam:"], [style*="--omyam:"], [style*="--omaam:"] {
    margin-bottom: var(--ombam, var(--omyam, var(--omaam)));
  }
  [style*="--omlam:"], [style*="--omxam:"], [style*="--omaam:"] {
    margin-left: var(--omlam, var(--omxam, var(--omaam)));
  }
  [style*="--omram:"], [style*="--omxam:"], [style*="--omaam:"] {
    margin-right: var(--omram, var(--omxam, var(--omaam)));
  }
  [style*="--optam:"], [style*="--opyam:"], [style*="--opaam:"] {
    padding-top: var(--optam, var(--opyam, var(--opaam)));
  }
  [style*="--opbam:"], [style*="--opyam:"], [style*="--opaam:"] {
    padding-bottom: var(--opbam, var(--opyam, var(--opaam)));
  }
  [style*="--oplam:"], [style*="--opxam:"], [style*="--opaam:"] {
    padding-left: var(--oplam, var(--opxam, var(--opaam)));
  }
  [style*="--opram:"], [style*="--opxam:"], [style*="--opaam:"] {
    padding-right: var(--opram, var(--opxam, var(--opaam)));
  }
  [style*="--owxam:"] {
    max-width: var(--owxam);
  }
  [style*="--ownam:"] {
    min-width: var(--ownam);
  }
  [style*="--ohxam:"] {
    max-height: var(--ohxam);
  }
  [style*="--ohnam:"] {
    min-height: var(--ohnam);
  }
  [style*="--oalam:"] {
    left: var(--oalam);
  }
  [style*="--oaram:"] {
    right: var(--oaram);
  }
  [style*="--oatam:"] {
    top: var(--oatam);
  }
  [style*="--oabam:"] {
    bottom: var(--oabam);
  }
}
@media screen and (max-width: 1023px) {
  [style*="--ogxbl:"] {
    --gx: var(--ogxbl);
  }
  [style*="--ogybl:"] {
    --gy: var(--ogybl);
  }
  [style*="--ofsbl:"] {
    font-size: var(--ofsbl);
  }
  [style*="--olhbl:"] {
    line-height: var(--olhbl);
  }
  [style*="--omtbl:"], [style*="--omybl:"], [style*="--omabl:"] {
    margin-top: var(--omtbl, var(--omybl, var(--omabl)));
  }
  [style*="--ombbl:"], [style*="--omybl:"], [style*="--omabl:"] {
    margin-bottom: var(--ombbl, var(--omybl, var(--omabl)));
  }
  [style*="--omlbl:"], [style*="--omxbl:"], [style*="--omabl:"] {
    margin-left: var(--omlbl, var(--omxbl, var(--omabl)));
  }
  [style*="--omrbl:"], [style*="--omxbl:"], [style*="--omabl:"] {
    margin-right: var(--omrbl, var(--omxbl, var(--omabl)));
  }
  [style*="--optbl:"], [style*="--opybl:"], [style*="--opabl:"] {
    padding-top: var(--optbl, var(--opybl, var(--opabl)));
  }
  [style*="--opbbl:"], [style*="--opybl:"], [style*="--opabl:"] {
    padding-bottom: var(--opbbl, var(--opybl, var(--opabl)));
  }
  [style*="--oplbl:"], [style*="--opxbl:"], [style*="--opabl:"] {
    padding-left: var(--oplbl, var(--opxbl, var(--opabl)));
  }
  [style*="--oprbl:"], [style*="--opxbl:"], [style*="--opabl:"] {
    padding-right: var(--oprbl, var(--opxbl, var(--opabl)));
  }
  [style*="--owxbl:"] {
    max-width: var(--owxbl);
  }
  [style*="--ownbl:"] {
    min-width: var(--ownbl);
  }
  [style*="--ohxbl:"] {
    max-height: var(--ohxbl);
  }
  [style*="--ohnbl:"] {
    min-height: var(--ohnbl);
  }
  [style*="--oalbl:"] {
    left: var(--oalbl);
  }
  [style*="--oarbl:"] {
    right: var(--oarbl);
  }
  [style*="--oatbl:"] {
    top: var(--oatbl);
  }
  [style*="--oabbl:"] {
    bottom: var(--oabbl);
  }
}
@media screen and (max-width: 719px) {
  [style*="--ogxbm:"] {
    --gx: var(--ogxbm);
  }
  [style*="--ogybm:"] {
    --gy: var(--ogybm) ;
  }
  [style*="--ofsbm:"] {
    font-size: var(--ofsbm);
  }
  [style*="--olsbm:"] {
    line-height: var(--olhbm);
  }
  [style*="--omtbm:"], [style*="--omybm:"], [style*="--omabm:"] {
    margin-top: var(--omtbm, var(--omybm, var(--omabm)));
  }
  [style*="--ombbm:"], [style*="--omybm:"], [style*="--omabm:"] {
    margin-bottom: var(--ombbm, var(--omybm, var(--omabm)));
  }
  [style*="--omlbm:"], [style*="--omxbm:"], [style*="--omabm:"] {
    margin-left: var(--omlbm, var(--omxbm, var(--omabm)));
  }
  [style*="--omrbm:"], [style*="--omxbm:"], [style*="--omabm:"] {
    margin-right: var(--omrbm, var(--omxbm, var(--omabm)));
  }
  [style*="--optbm:"], [style*="--opybm:"], [style*="--opabm:"] {
    padding-top: var(--optbm, var(--opybm, var(--opabm)));
  }
  [style*="--opbbm:"], [style*="--opybm:"], [style*="--opabm:"] {
    padding-bottom: var(--opbbm, var(--opybm, var(--opabm)));
  }
  [style*="--oplbm:"], [style*="--opxbm:"], [style*="--opabm:"] {
    padding-left: var(--oplbm, var(--opxbm, var(--opabm)));
  }
  [style*="--oprbm:"], [style*="--opxbm:"], [style*="--opabm:"] {
    padding-right: var(--oprbm, var(--opxbm, var(--opabm)));
  }
  [style*="--owxbm:"] {
    max-width: var(--owxbm);
  }
  [style*="--ownbm:"] {
    min-width: var(--ownbm);
  }
  [style*="--ohxbm:"] {
    max-height: var(--ohxbm);
  }
  [style*="--ohnbm:"] {
    min-height: var(--ohnbm);
  }
  [style*="--oalbm:"] {
    left: var(--oalbm);
  }
  [style*="--oarbm:"] {
    right: var(--oarbm);
  }
  [style*="--oatbm:"] {
    top: var(--oatbm);
  }
  [style*="--oabbm:"] {
    bottom: var(--oabbm);
  }
}
/*   _      _____ ______  _______
 *   |        |   |_____] |______
 *   |_____ __|__ |_____] ______|
/*

/* tinyslider */
.tns-outer {
  padding: 0 !important;
}

.tns-outer [hidden] {
  display: none !important;
}

.tns-outer [aria-controls], .tns-outer [data-action] {
  cursor: pointer;
}

.tns-slider {
  transition: all 0s;
}

.tns-slider > .tns-item {
  box-sizing: border-box;
}

.tns-horizontal.tns-subpixel {
  white-space: nowrap;
}

.tns-horizontal.tns-subpixel > .tns-item {
  display: inline-block;
  vertical-align: top;
  white-space: normal;
}

.tns-horizontal.tns-no-subpixel:after {
  content: "";
  display: table;
  clear: both;
}

.tns-horizontal.tns-no-subpixel > .tns-item {
  float: left;
}

.tns-horizontal.tns-carousel.tns-no-subpixel > .tns-item {
  margin-right: -100%;
}

.tns-no-calc {
  position: relative;
  left: 0;
}

.tns-gallery {
  position: relative;
  left: 0;
  min-height: 1px;
}

.tns-gallery > .tns-item {
  position: absolute;
  left: -100%;
  transition: transform 0s, opacity 0s;
}

.tns-gallery > .tns-slide-active {
  position: relative;
  left: auto !important;
}

.tns-gallery > .tns-moving {
  transition: all 0.25s;
}

.tns-autowidth {
  display: inline-block;
}

.tns-lazy-img {
  transition: opacity 0.6s;
  opacity: 0.6;
}

.tns-lazy-img.tns-complete {
  opacity: 1;
}

.tns-ah {
  transition: height 0s;
}

.tns-ovh {
  overflow: hidden;
}

.tns-visually-hidden {
  position: absolute;
  left: -10000em;
}

.tns-transparent {
  opacity: 0;
  visibility: hidden;
}

.tns-fadeIn {
  opacity: 1;
  filter: alpha(opacity=100);
  z-index: 0;
}

.tns-normal, .tns-fadeOut {
  opacity: 0;
  filter: alpha(opacity=0);
  z-index: -1;
}

.tns-vpfix {
  white-space: nowrap;
}

.tns-vpfix > div, .tns-vpfix > li {
  display: inline-block;
}

.tns-t-subp2 {
  margin: 0 auto;
  width: 310px;
  position: relative;
  height: 10px;
  overflow: hidden;
}

.tns-t-ct {
  width: 2333.3333333%;
  width: -moz-calc(100% * 70 / 3);
  width: 2333.3333333333%;
  position: absolute;
  right: 0;
}

.tns-t-ct:after {
  content: "";
  display: table;
  clear: both;
}

.tns-t-ct > div {
  width: 1.4285714%;
  width: -moz-calc(100% / 70);
  width: 1.4285714286%;
  height: 10px;
  float: left;
}

/* lazysizes */
.lazyload, .lazyloading {
  opacity: 0;
}

[js] .lazyloaded[class] {
  opacity: 1;
  transition-duration: 0.5s;
}

/* 
 * Teal Additions
 */
.video-embed-caption {
  margin-top: 1rem;
}

/**
* @name .wysiwyg
* @description Generic WYSIWYG wrapper
* @example { }
*/
.wysiwyg {
  clear: both;
}

.wysiwyg img {
  height: auto;
  display: block;
}

.wysiwyg .alignright {
  margin-right: 0;
}

.wysiwyg .alignleft {
  margin-left: 0;
}

.wysiwyg .alignright, .wysiwyg .alignright.alignnone {
  float: right;
  margin-left: var(--sy);
}

.wysiwyg .alignleft, .wysiwyg .alignleft.alignnone {
  float: left;
  margin-right: var(--sy);
}

.wysiwyg .aligncenter, .wysiwyg .alignnone {
  margin: var(--sy) auto;
}

.wysiwyg .alignright, .wysiwyg .alignleft, .wysiwyg .aligncenter, .wysiwyg .alignnone {
  margin-top: var(--sy);
  margin-bottom: var(--sy);
}

.wysiwyg .wp-caption {
  max-width: 100%;
  --lh: 1.30;
  font: 400 12rem/var(--lh) var(--ff_2);
  margin-bottom: var(--s1);
}

.wysiwyg .wp-caption img {
  margin-bottom: 10px;
  width: 100%;
}

.wysiwyg .wp-caption p:empty {
  display: none;
}

.wysiwyg.-has-drop-cap p:first-child:first-letter {
  display: inline-block;
  height: 11.4rem;
  overflow: hidden;
  float: left;
  margin: 0 2rem -0.25rem 0;
  padding-top: 0.5rem;
  padding-bottom: 0.1em;
  border-bottom: 0.4rem solid;
  color: var(--c_d1);
  font: 10.4rem/0.85 var(--ff_3);
}

@media screen and (max-width: 719px) {
  .wysiwyg.-has-drop-cap p:first-child:first-letter {
    margin-right: 1.4rem;
    font-size: 5.4rem;
    line-height: 0.9;
  }
}
@media screen and (max-width: 600px) {
  .wysiwyg .alignright, .wysiwyg .alignleft, .wysiwyg .aligncenter, .wysiwyg .alignnone {
    width: 100% !important;
  }
}
/**
 * Override Virtuous JS form embeds styles.
 */
form[id*=vcrm] .v_fw .v_fr .v_fc {
  margin-bottom: 0;
}

form[id*=vcrm] .v_fw .v_fr {
  margin-bottom: 0;
}

form[id*=vcrm] .v_lw {
  margin-bottom: 5px;
}

.connect1 form[id*=vcrm] .v_lw {
  display: none;
}

form[id*=vcrm] .v_fr .v_ig div:not(:first-child):not(:last-child) {
  margin-bottom: 24px;
}

form[id*=vcrm] .v_fr .v_ig input {
  border-radius: var(--aor, 0);
  min-height: 47px;
}

form[id*=vcrm] .v_fr .v_ig input.v_i__tx::-moz-placeholder {
  color: #666666;
  opacity: 1;
}

form[id*=vcrm] .v_fr .v_ig input.v_i__tx::placeholder {
  color: #666666;
  opacity: 1;
}

form[id*=vcrm] .v_fr .v_ig input.v_i__tx:-ms-input-placeholder {
  color: #666666;
}

form[id*=vcrm] .v_fr .v_ig input.v_i__tx::-ms-input-placeholder {
  color: #666666;
}

form[id*=vcrm] .v_ig .button .v-text {
  color: inherit;
}

form[id*=vcrm] .v_ig .button:not(.v-text):hover:before {
  opacity: 0;
}

form[id*=vcrm] .v_ig .button:before,
form[id*=vcrm] .v_ig .button,
form[id*=vcrm] .v_ig .button:not(.v_btn_outline):hover,
form[id*=vcrm] .v_ig .button:active,
form[id*=vcrm] .v_ig .button:focus {
  border-radius: var(--aor, 0);
}

form[id*=vcrm] .v_ig .button {
  background-color: var(--abc, transparent);
}

form[id*=vcrm] .v_ig button:hover,
form[id*=vcrm] .v_ig .button:not(.v_btn_outline):hover,
form[id*=vcrm] .v_ig .button:active,
form[id*=vcrm] .v_ig .button:focus {
  background-color: var(--abc, transparent);
  color: var(--atc, currentColor);
}

form[id*=vcrm] .Select-multi-value-wrapper {
  margin-bottom: 0;
}

.Select.has-value.is-clearable.Select--single > .Select-control .Select-value {
  height: 100%;
}

.Select.has-value.Select--single > .Select-control .Select-value .Select-value-label {
  overflow: hidden;
  text-overflow: ellipsis;
  width: 100%;
}

form[id*=vcrm] .Select-menu-outer * {
  margin-bottom: 0 !important;
  margin-bottom: 0 !important;
}

/**
 * Donate
 */
.page-template-template-donate .cols-2 {
  margin: 0 auto;
  --xw: var(--xw_2);
  padding: 0 3rem;
}
@media screen and (min-width: 1024px) {
  .page-template-template-donate .cols-2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .page-template-template-donate .col {
    flex: 1 1 50%;
    margin-bottom: 3rem;
    padding: 0 3rem;
  }
  .page-template-template-donate .col .col-inner {
    max-width: 505px;
    padding: 0 2rem;
  }
}
.page-template-template-donate .-form-wrap {
  background-color: #fff;
  box-shadow: var(--aoi, inset) var(--aox, 0) var(--aoy, 0) var(--aob, 0) var(--aos, 0) var(--aoc, currentColor), 0 calc(1 * var(--uu)) calc(3 * var(--uu)) calc(1.5 * var(--uu)) rgba(var(--c_dxt), 0.1);
  border-radius: var(--br_1);
  padding: 4rem;
}
.page-template-template-donate .-form-wrap .gchoice {
  margin-bottom: 0;
}
.page-template-template-donate .socials1 {
  display: flex;
}
.page-template-template-donate .socials1 .socials1-label {
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 118%; /* 28.32px */
  letter-spacing: -0.24px;
  font-family: var(--ff_2);
  text-transform: unset;
  margin-right: 15px;
}
.page-template-template-donate .socials1 a {
  color: var(--c_a1t);
}

.si-float-wrapper {
  position: absolute;
  width: 100%;
}

.si-float-wrapper, .si-float-wrapper * {
  box-sizing: border-box;
}

[class*=si-wrapper] {
  display: flex;
  position: absolute;
  align-items: center;
  font-size: 14px;
  cursor: default;
}

.si-wrapper-top {
  flex-direction: column;
  margin-top: -40px;
  margin-left: 0;
  transform: translate(-50%, -100%);
}

.si-wrapper-bottom {
  flex-direction: column-reverse;
  margin-top: 0;
  margin-left: 0;
  transform: translate(-50%, 0);
}

.si-wrapper-left {
  margin-top: -20px;
  margin-left: -11px;
  transform: translate(-100%, -50%);
}

.si-wrapper-right {
  flex-direction: row-reverse;
  margin-top: -20px;
  margin-left: 11px;
  transform: translate(0, -50%);
}

[class*=si-shadow-wrapper] {
  display: flex;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0.29804;
  z-index: 1;
}

.si-shadow-wrapper-top, .si-shadow-wrapper-bottom {
  flex-direction: column;
}

.si-shadow-pointer-bottom, .si-shadow-pointer-right {
  order: -1;
}

.si-shadow-frame {
  box-shadow: 0 1px 3px 0 #000;
}

[class*=si-shadow-pointer] {
  position: relative;
  width: 15px;
  height: 15px;
  margin: auto;
}

[class*=si-shadow-inner-pointer] {
  position: absolute;
  width: 141%;
  height: 141%;
  box-shadow: -0.70711px 0.70711px 3px 0 #000;
}

.si-shadow-inner-pointer-top {
  left: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
}

.si-shadow-inner-pointer-bottom {
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 50%) rotate(-45deg);
}

.si-shadow-inner-pointer-left {
  top: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
}

.si-shadow-inner-pointer-right {
  top: 50%;
  right: 0;
  transform: translate(50%, -50%) rotate(-45deg);
}

.si-frame {
  position: relative;
  flex: 1 1 auto;
  border-radius: 3px;
  overflow: hidden;
  z-index: 2;
}

.si-content-wrapper {
  width: 100%;
  max-width: 100%;
  max-height: 100%;
  padding: 30px;
  background-color: #fff;
}

.si-has-border .si-content-wrapper {
  border: 1px solid #bbb;
}

.si-content {
  overflow: auto;
}

.si-close-button {
  position: absolute;
  top: 0;
  right: 0;
  border: 0;
  outline: 0;
  background-color: transparent;
  color: inherit;
  font-family: Arial, Baskerville, monospace;
  font-size: 24px;
  cursor: pointer;
  opacity: 0.5;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.si-close-button:hover, .si-close-button:focus {
  opacity: 0.7;
}

[class*=si-pointer-border] {
  position: absolute;
  border: 15px solid transparent;
  z-index: 3;
}

[class*=si-pointer-bg] {
  position: relative;
  border: 15px solid transparent;
  z-index: 4;
}

.si-has-border [class*=si-pointer-bg] {
  border-width: 15px;
}

.si-pointer-border-top, .si-pointer-border-bottom {
  left: 50%;
  transform: translate(-50%, 0);
}

.si-pointer-border-left, .si-pointer-border-right {
  top: 50%;
  transform: translate(0, -50%);
}

.si-pointer-top {
  border-bottom: 0;
}

.si-pointer-border-top {
  bottom: 0;
  border-top-color: #bbb;
}

.si-pointer-bg-top {
  border-top-color: #fff;
}

.si-has-border .si-pointer-bg-top {
  top: -1px;
  margin-bottom: 0;
}

.si-pointer-bottom {
  border-top: 0;
}

.si-pointer-border-bottom {
  top: 0;
  border-bottom-color: #bbb;
}

.si-pointer-bg-bottom {
  border-bottom-color: #fff;
}

.si-has-border .si-pointer-bg-bottom {
  bottom: -1px;
  margin-top: 0;
}

.si-pointer-left {
  border-right: 0;
}

.si-pointer-border-left {
  right: 0;
  border-left-color: #bbb;
}

.si-pointer-bg-left {
  border-left-color: #fff;
}

.si-has-border .si-pointer-bg-left {
  left: -1px;
  margin-right: 0;
}

.si-pointer-right {
  border-left: 0;
}

.si-pointer-border-right {
  left: 0;
  border-right-color: #bbb;
}

.si-pointer-bg-right {
  border-right-color: #fff;
}

.si-has-border .si-pointer-bg-right {
  right: -1px;
  margin-left: 0;
}

#events-map {
  margin: 0;
}

.event-search-container {
  position: relative;
}
@media (min-width: 960px) {
  .event-search-container {
    height: 822px;
  }
}

.event-results-list-container {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: var(--sy);
}
.event-results-list-container ul.event-results-list {
  list-style: none;
  position: relative;
  flex: 0 1 auto;
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
}
@media (min-width: 768px) {
  .event-results-list-container {
    width: 75vw;
    max-width: none;
  }
}
@media (min-width: 960px) {
  .event-results-list-container {
    position: absolute;
    right: 40px;
    top: 36px;
    bottom: 36px;
    z-index: 10;
    margin: 0;
    width: auto;
    max-width: auto;
    border: 1px solid #aaa;
    border-radius: 24px;
    background: #fff;
  }
  .event-results-list-container ul.event-results-list {
    overflow-x: hidden;
    overflow-y: auto;
  }
}
@media (min-width: 960px) {
  .event-results-list-container {
    padding: 16px 20px;
    width: 360px;
  }
}
@media (min-width: 1152px) {
  .event-results-list-container {
    padding: 20px 24px;
    width: 384px;
  }
}
@media (min-width: 1344px) {
  .event-results-list-container {
    padding: 28px 32px;
    width: 400px;
  }
}
@media (min-width: 1536px) {
  .event-results-list-container {
    padding: 36px 40px;
    width: 464px;
  }
}
.event-results-list-container li {
  list-style: none;
  position: relative;
  flex: 1 0 auto;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin: 0;
  padding: 20px 12px;
  border-bottom: 1px solid #aaa;
  color: #01373d;
  cursor: pointer;
}
.event-results-list-container li::before {
  display: none;
}
@media (min-width: 960px) {
  .event-results-list-container li {
    padding: 12px 12px;
  }
}
.event-results-list-container li div {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0;
  margin: 0;
}
@media (min-width: 512px) and (max-width: 959px) {
  .event-results-list-container li div {
    flex-direction: row;
    justify-content: space-between;
    align-items: baseline;
    gap: 16px;
  }
}
.event-results-list-container li h5 {
  margin-bottom: 0.35em;
  font-size: 20px;
  font-family: var(--ff_2);
}
@media (min-width: 512px) and (max-width: 959px) {
  .event-results-list-container li h5 {
    margin-bottom: 0;
    font-size: 24px;
  }
}
@media (min-width: 960px) {
  .event-results-list-container li h5 {
    margin-bottom: 0.5em;
    font-size: 16px;
    font-family: var(--ff_1);
  }
}
.event-results-list-container li p.date {
  font-size: 16px;
  text-align: right;
}
@media (min-width: 512px) {
  .event-results-list-container li p.date {
    white-space: nowrap;
  }
}
@media (min-width: 960px) {
  .event-results-list-container li p.date {
    text-align: left;
    font-size: 13px;
  }
}
.event-results-list-container li a {
  text-decoration: none;
  background: none;
  color: #01373d;
}
.event-results-list-container li svg {
  display: none;
  width: 14px;
  height: 20px;
}
.event-results-list-container li svg path {
  fill: #01373d;
  stroke: none;
  transition: all var(--t8n_d1) ease;
}
@media (min-width: 960px) {
  .event-results-list-container li svg {
    display: block;
  }
}
.event-results-list-container li[data-hidden=true] {
  display: none;
}
.event-results-list-container li:hover, .event-results-list-container li:focus, .event-results-list-container li[data-event-status~=hovered], .event-results-list-container li[data-event-status~=selected] {
  background: #f5f7f6;
}
.event-results-list-container li[data-event-status~=selected] a {
  color: #b44878;
}
.event-results-list-container li[data-event-status~=selected] svg path {
  fill: #b44878;
}

.event-search-form {
  flex: 0 0 auto;
  margin-bottom: 0;
}
.event-search-form h3 {
  margin-bottom: 0.25em;
  font-size: 36px;
}
.event-search-form p {
  margin-bottom: 1.5em;
  font-size: 13px;
}
@media (min-width: 960px) {
  .event-search-form p {
    margin-bottom: 0.75em;
  }
}
.event-search-form input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 0 56px 0 24px;
  min-height: 56px;
  border-radius: 28px;
  font-size: 16px;
  color: #01373d;
}
.event-search-form input::-moz-placeholder {
  font-size: 16px;
  color: #666;
  opacity: 1;
}
.event-search-form input::placeholder {
  font-size: 16px;
  color: #666;
  opacity: 1;
}
.event-search-form input:focus::-moz-placeholder {
  opacity: 0.6;
}
.event-search-form input:focus::placeholder {
  opacity: 0.6;
}
.event-search-form .event-input-container {
  position: relative;
}
.event-search-form button#anything-submit {
  position: absolute;
  right: 0;
  top: 0;
  padding: 0 16px;
  height: 100%;
  min-height: auto;
  background: none;
  font-size: 24px;
}
.event-search-form button#anything-submit i {
  color: #b44878;
}

.event-map-container {
  display: none;
  height: 100%;
}
@media (min-width: 960px) {
  .event-map-container {
    display: block;
  }
}

#event-map-google-container {
  width: 100%;
  height: 100%;
}
#event-map-google-container, #event-map-google-container * {
  margin: 0;
  transition: unset;
  transition-property: unset;
}
#event-map-google-container button[aria-label="Keyboard shortcuts"] {
  min-width: auto;
  min-height: auto;
  box-shadow: none;
}
#event-map-google-container .gm-style .si-content-wrapper {
  padding: 24px 30px;
}
#event-map-google-container .gm-style .si-content {
  overflow: unset;
}
#event-map-google-container .gm-style .si-content h5 {
  margin: 0 0.25em 0.5em 0;
  font-size: 24px;
  font-family: var(--ff_2);
  color: #01373d;
}
#event-map-google-container .gm-style .si-content p {
  margin-bottom: var(--sy);
  color: #587e67;
}
#event-map-google-container .gm-style .si-close-button {
  top: -10px;
  right: -10px;
  padding: 26px 26px;
  min-height: auto;
  border-radius: 0;
  box-shadow: none;
  line-height: 0.7;
}
#event-map-google-container a.button1 {
  transition: all var(--t8n_d1) ease;
}

.cluster {
  font-family: "Source Sans Pro";
  font-weight: 900;
}

.basicLightbox {
  position: fixed;
  display: flex;
  justify-content: center;
  align-items: center;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.8);
  opacity: 0.01;
  transition: opacity 0.4s ease;
  z-index: 1000;
  will-change: opacity;
}

.basicLightbox--visible {
  opacity: 1;
}

.basicLightbox__placeholder {
  max-width: 100%;
  transform: scale(0.9);
  transition: transform 0.4s ease;
  z-index: 1;
  will-change: transform;
}

.basicLightbox__placeholder > iframe:first-child:last-child, .basicLightbox__placeholder > img:first-child:last-child, .basicLightbox__placeholder > video:first-child:last-child {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  max-width: 95%;
  max-height: 95%;
}

.basicLightbox__placeholder > iframe:first-child:last-child, .basicLightbox__placeholder > video:first-child:last-child {
  pointer-events: auto;
}

.basicLightbox__placeholder > img:first-child:last-child, .basicLightbox__placeholder > video:first-child:last-child {
  width: auto;
  height: auto;
}

.basicLightbox--iframe .basicLightbox__placeholder, .basicLightbox--img .basicLightbox__placeholder, .basicLightbox--video .basicLightbox__placeholder {
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.basicLightbox--visible .basicLightbox__placeholder {
  transform: scale(1);
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9vcmlnaW5hbC5zY3NzIiwiaW5kZXguY3NzIiwiX3NuYXp6eS1pbmZvLXdpbmRvdy5zY3NzIiwiX2V2ZW50LXNlYXJjaC5zY3NzIiwiX2JyZWFrYmVhdC5zY3NzIiwiX2Jhc2ljbGlnaHRib3guc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBQTtBQUVBO0VBRUMsVUFBQTtFQUNBLDZDQUFBO0VBRUEsV0FBQTtFQUFhLHVCQUFBO0VBQXlCLFdBQUE7RUFBYSxVQUFBO0VBQVksVUFBQTtFQUFZLFVBQUE7RUFBWSxXQUFBO0VBQWEsV0FBQTtFQUNwRyxnQkFBQTtFQUFrQixnQkFBQTtFQUFrQiwwQkFBQTtFQUE0QiwwQkFBQTtFQUNoRSxpQ0FBQTtFQUFtQyxpQ0FBQTtFQUVuQyxpREFBQTtFQUNBLGlDQUFBO0VBRUEsZUFBQTtFQUFpQixvQkFBQSxFQUFBLHVCQUFBO0VBQ2pCLGdCQUFBO0VBQWtCLHNCQUFBO0VBQXdCLDZCQUFBO0VBQStCLG9CQUFBLEVBQUEsZ0NBQUE7RUFDekUsNkJBQUE7RUFBK0Isb0JBQUEsRUFBQSx3QkFBQTtFQUUvQixtQkFBQTtFQUFxQixvQkFBQSxFQUFBLHdCQUFBO0VBQ3JCLGVBQUE7RUFBaUIsb0JBQUEsRUFBQSxvQkFBQTtFQUNqQiw2QkFBQTtFQUErQixvQkFBQSxFQUFBLDJCQUFBO0VBRS9CLG1CQUFBO0VBQXFCLHNCQUFBO0VBQXdCLDZCQUFBO0VBQStCLG9CQUFBLEVBQUEsa0JBQUE7RUFDNUUsZUFBQTtFQUFpQixvQkFBQSxFQUFBLHVCQUFBO0VBRWpCLGVBQUE7RUFBaUIsb0JBQUEsRUFBQSx1QkFBQTtFQUNqQixlQUFBO0VBQWlCLG9CQUFBLEVBQUEsNEJBQUE7RUFDakIsbUJBQUE7RUFBcUIsb0JBQUEsRUFBQSwwQkFBQTtFQUNyQixrQkFBQTtFQUFvQixzQkFBQTtFQUF3Qiw2QkFBQTtFQUErQixvQkFBQSxFQUFBLCtCQUFBO0VBQzNFLGVBQUE7RUFBaUIsb0JBQUEsRUFBQSxpQ0FBQTtF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QURuUm1TO0VBQVcsTUFBQTtBQ3VSOVM7O0FEdlJxVDtFQUFXLE1BQUE7QUMyUmhVOztBRDNSdVU7RUFBVyxNQUFBO0FDK1JsVjs7QUQvUnlWO0VBQVcsTUFBQTtBQ21TcFc7O0FEblMyVztFQUFXLE1BQUE7QUN1U3RYOztBRHZTNlg7RUFBVyxNQUFBO0FDMlN4WTs7QUQzUytZO0VBQVcsTUFBQTtBQytTMVo7O0FEL1NpYTtFQUFXLE1BQUE7QUNtVDVhOztBRGxUQTtFQUFXLDRDQUFBO0FDc1RYOztBRHRUdUQ7RUFBVSxLQUFBO0FDMFRqRTs7QUQxVHVFO0VBQVUsS0FBQTtBQzhUakY7O0FEOVR1RjtFQUFVLEtBQUE7QUNrVWpHOztBRGxVdUc7RUFBVSxLQUFBO0FDc1VqSDs7QUR0VXVIO0VBQVUsS0FBQTtBQzBVakk7O0FEMVV1STtFQUFVLEtBQUE7QUM4VWpKOztBRDlVdUo7RUFBVSxLQUFBO0FDa1ZqSzs7QURsVnVLO0VBQVUsS0FBQTtBQ3NWakw7O0FEdFZ1TDtFQUFVLEtBQUE7QUMwVmpNOztBRDFWdU07RUFBVSxNQUFBO0FDOFZqTjs7QUQ5VndOO0VBQVcsTUFBQTtBQ2tXbk87O0FEbFcwTztFQUFXLE1BQUE7QUNzV3JQOztBRHRXNFA7RUFBVyxNQUFBO0FDMFd2UTs7QUQxVzhRO0VBQVcsTUFBQTtBQzhXelI7O0FEOVdnUztFQUFXLE1BQUE7QUNrWDNTOztBRGxYa1Q7RUFBVyxNQUFBO0FDc1g3VDs7QUR0WG9VO0VBQVcsTUFBQTtBQzBYL1U7O0FEMVhzVjtFQUFXLE1BQUE7QUM4WGpXOztBRDlYd1c7RUFBVyxNQUFBO0FDa1luWDs7QURsWTBYO0VBQVcsTUFBQTtBQ3NZclk7O0FEdFk0WTtFQUFXLE1BQUE7QUMwWXZaOztBRDFZOFo7RUFBVyxNQUFBO0FDOFl6YTs7QUQ5WWdiO0VBQVcsTUFBQTtBQ2taM2I7O0FEbFprYztFQUFXLE1BQUE7QUNzWjdjOztBRHJaQTtFQUFXLE1BQUE7QUN5Wlg7O0FEelprQjtFQUFVLEtBQUE7QUM2WjVCOztBRDdaa0M7RUFBVSxLQUFBO0FDaWE1Qzs7QURqYWtEO0VBQVUsS0FBQTtBQ3FhNUQ7O0FEcmFrRTtFQUFVLEtBQUE7QUN5YTVFOztBRHhhQTtFQUFpQztJQUFXLFdBQUE7RUM2YTFDO0VEN2FxRDtJQUFXLEtBQUE7RUNnYmhFO0VEaGJzRTtJQUFXLEtBQUE7RUNtYmpGO0VEbmJ1RjtJQUFXLEtBQUE7RUNzYmxHO0VEdGJ3RztJQUFXLEtBQUE7RUN5Ym5IO0VEemJ5SDtJQUFXLEtBQUE7RUM0YnBJO0VENWIwSTtJQUFXLEtBQUE7RUMrYnJKO0VEL2IySjtJQUFXLEtBQUE7RUNrY3RLO0VEbGM0SztJQUFXLEtBQUE7RUNxY3ZMO0VEcmM2TDtJQUFXLEtBQUE7RUN3Y3hNO0VEeGM4TTtJQUFZLE1BQUE7RUMyYzFOO0VEM2NpTztJQUFZLE1BQUE7RUM4YzdPO0VEOWNvUDtJQUFZLE1BQUE7RUNpZGhRO0VEamR1UTtJQUFZLE1BQUE7RUNvZG5SO0VEcGQwUjtJQUFZLE1BQUE7RUN1ZHRTO0VEdmQ2UztJQUFZLE1BQUE7RUMwZHpUO0VEMWRnVTtJQUFZLE1BQUE7RUM2ZDVVO0VEN2RtVjtJQUFZLE1BQUE7RUNnZS9WO0VEaGVzVztJQUFZLE1BQUE7RUNtZWxYO0VEbmV5WDtJQUFZLE1BQUE7RUNzZXJZO0VEdGU0WTtJQUFZLE1BQUE7RUN5ZXhaO0VEemUrWjtJQUFZLE1BQUE7RUM0ZTNhO0VENWVrYjtJQUFZLE1BQUE7RUMrZTliO0VEL2VxYztJQUFZLE1BQUE7RUNrZmpkO0VEbGZ3ZDtJQUFZLE1BQUE7RUNxZnBlO0VEcmYyZTtJQUFZLDRDQUFBO0VDd2Z2ZjtFRHhmbWlCO0lBQVcsS0FBQTtFQzJmOWlCO0VEM2ZvakI7SUFBVyxLQUFBO0VDOGYvakI7RUQ5ZnFrQjtJQUFXLEtBQUE7RUNpZ0JobEI7RURqZ0JzbEI7SUFBVyxLQUFBO0VDb2dCam1CO0VEcGdCdW1CO0lBQVcsS0FBQTtFQ3VnQmxuQjtFRHZnQnduQjtJQUFXLEtBQUE7RUMwZ0Jub0I7RUQxZ0J5b0I7SUFBVyxLQUFBO0VDNmdCcHBCO0VEN2dCMHBCO0lBQVcsS0FBQTtFQ2doQnJxQjtFRGhoQjJxQjtJQUFXLEtBQUE7RUNtaEJ0ckI7RURuaEI0ckI7SUFBVyxNQUFBO0VDc2hCdnNCO0VEdGhCOHNCO0lBQVksTUFBQTtFQ3loQjF0QjtFRHpoQml1QjtJQUFZLE1BQUE7RUM0aEI3dUI7RUQ1aEJvdkI7SUFBWSxNQUFBO0VDK2hCaHdCO0VEL2hCdXdCO0lBQVksTUFBQTtFQ2tpQm54QjtFRGxpQjB4QjtJQUFZLE1BQUE7RUNxaUJ0eUI7RURyaUI2eUI7SUFBWSxNQUFBO0VDd2lCenpCO0VEeGlCZzBCO0lBQVksTUFBQTtFQzJpQjUwQjtFRDNpQm0xQjtJQUFZLE1BQUE7RUM4aUIvMUI7RUQ5aUJzMkI7SUFBWSxNQUFBO0VDaWpCbDNCO0VEampCeTNCO0lBQVksTUFBQTtFQ29qQnI0QjtFRHBqQjQ0QjtJQUFZLE1BQUE7RUN1akJ4NUI7RUR2akIrNUI7SUFBWSxNQUFBO0VDMGpCMzZCO0VEMWpCazdCO0lBQVksTUFBQTtFQzZqQjk3QjtFRDdqQnE4QjtJQUFZLE1BQUE7RUNna0JqOUI7RURoa0J3OUI7SUFBWSxNQUFBO0VDbWtCcCtCO0VEbmtCMitCO0lBQVcsS0FBQTtFQ3NrQnQvQjtFRHRrQjQvQjtJQUFXLEtBQUE7RUN5a0J2Z0M7RUR6a0I2Z0M7SUFBVyxLQUFBO0VDNGtCeGhDO0VENWtCOGhDO0lBQVcsS0FBQTtFQytrQnppQztBQUNGO0FEL2tCQTtFQUFrQztJQUFVLHdCQUFBO0VDbWxCMUM7RURubEJrRTtJQUFVLFdBQUE7RUNzbEI1RTtFRHRsQnVGO0lBQVUsS0FBQTtFQ3lsQmpHO0VEemxCdUc7SUFBVSxLQUFBO0VDNGxCakg7RUQ1bEJ1SDtJQUFVLEtBQUE7RUMrbEJqSTtFRC9sQnVJO0lBQVUsS0FBQTtFQ2ttQmpKO0VEbG1CdUo7SUFBVSxLQUFBO0VDcW1Caks7RURybUJ1SztJQUFVLEtBQUE7RUN3bUJqTDtFRHhtQnVMO0lBQVUsS0FBQTtFQzJtQmpNO0VEM21CdU07SUFBVSxLQUFBO0VDOG1Cak47RUQ5bUJ1TjtJQUFVLEtBQUE7RUNpbkJqTztFRGpuQnVPO0lBQVcsTUFBQTtFQ29uQmxQO0VEcG5CeVA7SUFBVyxNQUFBO0VDdW5CcFE7RUR2bkIyUTtJQUFXLE1BQUE7RUMwbkJ0UjtFRDFuQjZSO0lBQVcsTUFBQTtFQzZuQnhTO0VEN25CK1M7SUFBVyxNQUFBO0VDZ29CMVQ7RURob0JpVTtJQUFXLE1BQUE7RUNtb0I1VTtFRG5vQm1WO0lBQVcsTUFBQTtFQ3NvQjlWO0VEdG9CcVc7SUFBVyxNQUFBO0VDeW9CaFg7RUR6b0J1WDtJQUFXLE1BQUE7RUM0b0JsWTtFRDVvQnlZO0lBQVcsTUFBQTtFQytvQnBaO0VEL29CMlo7SUFBVyxNQUFBO0VDa3BCdGE7RURscEI2YTtJQUFXLE1BQUE7RUNxcEJ4YjtFRHJwQitiO0lBQVcsTUFBQTtFQ3dwQjFjO0VEeHBCaWQ7SUFBVyxNQUFBO0VDMnBCNWQ7RUQzcEJtZTtJQUFXLE1BQUE7RUM4cEI5ZTtFRDlwQnFmO0lBQVcsNENBQUE7RUNpcUJoZ0I7RURqcUI0aUI7SUFBVSxLQUFBO0VDb3FCdGpCO0VEcHFCNGpCO0lBQVUsS0FBQTtFQ3VxQnRrQjtFRHZxQjRrQjtJQUFVLEtBQUE7RUMwcUJ0bEI7RUQxcUI0bEI7SUFBVSxLQUFBO0VDNnFCdG1CO0VEN3FCNG1CO0lBQVUsS0FBQTtFQ2dyQnRuQjtFRGhyQjRuQjtJQUFVLEtBQUE7RUNtckJ0b0I7RURuckI0b0I7SUFBVSxLQUFBO0VDc3JCdHBCO0VEdHJCNHBCO0lBQVUsS0FBQTtFQ3lyQnRxQjtFRHpyQjRxQjtJQUFVLEtBQUE7RUM0ckJ0ckI7RUQ1ckI0ckI7SUFBVSxNQUFBO0VDK3JCdHNCO0VEL3JCNnNCO0lBQVcsTUFBQTtFQ2tzQnh0QjtFRGxzQit0QjtJQUFXLE1BQUE7RUNxc0IxdUI7RURyc0JpdkI7SUFBVyxNQUFBO0VDd3NCNXZCO0VEeHNCbXdCO0lBQVcsTUFBQTtFQzJzQjl3QjtFRDNzQnF4QjtJQUFXLE1BQUE7RUM4c0JoeUI7RUQ5c0J1eUI7SUFBVyxNQUFBO0VDaXRCbHpCO0VEanRCeXpCO0lBQVcsTUFBQTtFQ290QnAwQjtFRHB0QjIwQjtJQUFXLE1BQUE7RUN1dEJ0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QUNvb0o3Qjs7QURub0pBO0VBQThCLGdCQUFBO0FDdW9KOUI7O0FEdG9KQTtFQUErQixnQkFBQTtBQzBvSi9COztBRHpvSkE7RUFBK0IsZ0JBQUE7QUM2b0ovQjs7QUQ1b0pBO0VBQWdDLGdCQUFBO0FDZ3BKaEM7O0FEL29KQTtFQUFpQyxnQkFBQTtBQ21wSmpDOztBRGxwSkE7RUFBK0IsZ0JBQUE7QUNzcEovQjs7QURycEpBO0VBQWdDLGdCQUFBO0FDeXBKaEM7O0FEeHBKQTtFQUFpQyxnQkFBQTtBQzRwSmpDOztBRDNwSkE7RUFBZ0MsZ0JBQUE7QUMrcEpoQzs7QUQ5cEpBO0VBQWlDLGdCQUFBO0FDa3FKakM7O0FEanFKQTtFQUFrQyxnQkFBQTtBQ3FxSmxDOztBRHBxSkE7RUFBNkIsZ0JBQUE7QUN3cUo3Qjs7QUR2cUpBO0VBQThCLGdCQUFBO0FDMnFKOUI7O0FEMXFKQTtFQUErQixnQkFBQTtBQzhxSi9COztBRDdxSkE7RUFBbUMsZ0JBQUE7QUNpckpuQzs7QURockpBO0VBQW9DLGdCQUFBO0FDb3JKcEM7O0FEbnJKQTtFQUFxQyxnQkFBQTtBQ3VySnJDOztBRHRySkE7RUFBMEIsZ0JBQUE7QUMwckoxQjs7QUR6ckpBO0VBQTJCLGdCQUFBO0FDNnJKM0I7O0FENXJKQTtFQUE0QixnQkFBQTtBQ2dzSjVCOztBRC9ySkE7RUFBcUMsZ0JBQUE7QUNtc0pyQzs7QURsc0pBO0VBQXNDLGdCQUFBO0FDc3NKdEM7O0FEcnNKQTtFQUF1QyxnQkFBQTtBQ3lzSnZDOztBRHhzSkE7RUFBcUMsZ0JBQUE7QUM0c0pyQzs7QUQzc0pBO0VBQXNDLGdCQUFBO0FDK3NKdEM7O0FEOXNKQTtFQUF1QyxnQkFBQTtBQ2t0SnZDOztBRGp0SkE7RUFBc0MsZ0JBQUE7QUNxdEp0Qzs7QURwdEpBO0VBQXVDLGdCQUFBO0FDd3RKdkM7O0FEdnRKQTtFQUF3QyxnQkFBQTtBQzJ0SnhDOztBRDF0SkE7RUFBbUMsZ0JBQUE7QUM4dEpuQzs7QUQ3dEpBO0VBQW9DLGdCQUFBO0FDaXVKcEM7O0FEaHVKQTtFQUFxQyxnQkFBQTtBQ291SnJDOztBRG51SkE7RUFBNkIsZ0JBQUE7QUN1dUo3Qjs7QUR0dUpBO0VBQThCLGdCQUFBO0FDMHVKOUI7O0FEenVKQTtFQUErQixnQkFBQTtBQzZ1Si9COztBRDV1SkE7RUFBNEIsZ0JBQUE7QUNndko1Qjs7QUQvdUpBO0VBQW1DLGdCQUFBO0FDbXZKbkM7O0FEbHZKQTtFQUFvQyxnQkFBQTtBQ3N2SnBDOztBRHJ2SkE7RUFBcUMsZ0JBQUE7QUN5dkpyQzs7QUR4dkpBO0VBQTJCLGdCQUFBO0FDNHZKM0I7O0FEM3ZKQTtFQUE0QixnQkFBQTtBQyt2SjVCOztBRDl2SkE7RUFBNkIsZ0JBQUE7QUNrd0o3Qjs7QURqd0pBO0VBQXlCLGdCQUFBO0FDcXdKekI7O0FEcHdKQTtFQUEwQixnQkFBQTtBQ3d3SjFCOztBRHZ3SkE7RUFBMkIsZ0JBQUE7QUMyd0ozQjs7QUQxd0pBO0VBQStCLGdCQUFBO0FDOHdKL0I7O0FEN3dKQTtFQUEwQixnQkFBQTtBQ2l4SjFCOztBRGh4SkE7RUFBNEIsZ0JBQUE7QUNveEo1Qjs7QURueEpBO0VBQTJCLGdCQUFBO0FDdXhKM0I7O0FEdHhKQTtFQUE0QixnQkFBQTtBQzB4SjVCOztBRHp4SkE7RUFBNkIsZ0JBQUE7QUM2eEo3Qjs7QUQ1eEpBO0VBQStCLGdCQUFBO0FDZ3lKL0I7O0FEL3hKQTtFQUFnQyxnQkFBQTtBQ215SmhDOztBRGx5SkE7RUFBK0IsZ0JBQUE7QUNzeUovQjs7QURyeUpBO0VBQTZCLGdCQUFBO0FDeXlKN0I7O0FEeHlKQTtFQUE4QixnQkFBQTtBQzR5SjlCOztBRDN5SkE7RUFBOEIsZ0JBQUE7QUMreUo5Qjs7QUQ5eUpBO0VBQTZCLGdCQUFBO0FDa3pKN0I7O0FEanpKQTtFQUE2QixnQkFBQTtBQ3F6SjdCOztBRHB6SkE7RUFBNkIsZ0JBQUE7QUN3eko3Qjs7QUR2ekpBO0VBQThCLGdCQUFBO0FDMnpKOUI7O0FEMXpKQTtFQUEyQixnQkFBQTtBQzh6SjNCOztBRDd6SkE7RUFBdUIsZ0JBQUE7QUNpMEp2Qjs7QURoMEpBO0VBQW9CLGdCQUFBO0FDbzBKcEI7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RGw2S21IO0VBQXdCLGVBQUE7QUNzNkszSTs7QUR0NkswSjtFQUF3QixpQkFBQTtBQzA2S2xMOztBRDE2S21NO0VBQXdCLGNBQUE7QUM4NkszTjs7QUQ5Nkt5TztFQUF3QixlQUFBO0FDazdLalE7O0FEbDdLZ1I7RUFBd0IsZ0JBQUE7QUNzN0t4Uzs7QUR0N0t3VDtFQUFVLFNBQUE7QUMwN0tsVTs7QUR6N0tBO0VBQXdCLHdCQUFBO0FDNjdLeEI7O0FENzdLZ0Q7RUFBd0IscUJBQUE7QUNpOEt4RTs7QURqOEs2RjtFQUF3QixzQkFBQTtBQ3E4S3JIOztBRHI4SzJJO0VBQXdCLHVCQUFBO0FDeThLbks7O0FEejhLMEw7RUFBMkIsd0JBQUE7QUM2OEtyTjs7QUQ3OEs4TztFQUEyQixxQkFBQTtBQ2k5S3pROztBRGo5SytSO0VBQTJCLHNCQUFBO0FDcTlLMVQ7O0FEcjlLaVY7RUFBMkIsdUJBQUE7QUN5OUs1Vzs7QUR6OUtvWTtFQUF3Qix5QkFBQTtBQzY5SzVaOztBRDc5S3FiO0VBQXdCLHNCQUFBO0FDaStLN2M7O0FEaitLbWU7RUFBd0IsdUJBQUE7QUNxK0szZjs7QURyK0traEI7RUFBd0Isd0JBQUE7QUN5K0sxaUI7O0FEeCtLQTtFQUF3Qix3QkFBQTtBQzQrS3hCOztBRDUrS2dEO0VBQXdCLHFCQUFBO0FDZy9LeEU7O0FEaC9LNkY7RUFBd0Isc0JBQUE7QUNvL0tySDs7QURwL0sySTtFQUF3Qix1QkFBQTtBQ3cvS25LOztBRHgvSzBMO0VBQTJCLHdCQUFBO0FDNC9Lck47O0FENS9LOE87RUFBMkIscUJBQUE7QUNnZ0x6UTs7QURoZ0wrUjtFQUEyQixzQkFBQTtBQ29nTDFUOztBRHBnTGlWO0VBQTJCLHVCQUFBO0FDd2dMNVc7O0FEeGdMb1k7RUFBd0IseUJBQUE7QUM0Z0w1Wjs7QUQ1Z0xxYjtFQUF3QixzQkFBQTtBQ2doTDdjOztBRGhoTG1lO0VBQXdCLHVCQUFBO0FDb2hMM2Y7O0FEcGhMa2hCO0VBQXdCLHdCQUFBO0FDd2hMMWlCOztBRHZoTEE7RUFBZ0Isd0JBQUE7QUMyaExoQjs7QUQzaEx3QztFQUFnQixxQkFBQTtBQytoTHhEOztBRC9oTDZFO0VBQTJCLG1DQUFBO0FDbWlMeEc7O0FEbmlMNEk7RUFBMkIsZ0NBQUE7QUN1aUx2Szs7QUR2aUx3TTtFQUEyQixpQ0FBQTtBQzJpTG5POztBRDNpTHFRO0VBQTJCLGtDQUFBO0FDK2lMaFM7O0FEL2lMbVU7RUFBd0IseUJBQUE7QUNtakwzVjs7QURuakxvWDtFQUF3QixzQkFBQTtBQ3VqTDVZOztBRHZqTGthO0VBQXdCLHVCQUFBO0FDMmpMMWI7O0FEM2pMaWQ7RUFBd0Isd0JBQUE7QUMrakx6ZTs7QUQ5akxBO0VBQWdCLHdCQUFBO0FDa2tMaEI7O0FEbGtMd0M7RUFBZ0IscUJBQUE7QUNza0x4RDs7QUR0a0w2RTtFQUEyQixtQ0FBQTtBQzBrTHhHOztBRDFrTDRJO0VBQTJCLGdDQUFBO0FDOGtMdks7O0FEOWtMd007RUFBMkIsaUNBQUE7QUNrbExuTzs7QURsbExxUTtFQUEyQixrQ0FBQTtBQ3NsTGhTOztBRHRsTG1VO0VBQXdCLHlCQUFBO0FDMGxMM1Y7O0FEMWxMb1g7RUFBd0Isc0JBQUE7QUM4bEw1WTs7QUQ5bExrYTtFQUF3Qix1QkFBQTtBQ2ttTDFiOztBRGxtTGlkO0VBQXdCLHdCQUFBO0FDc21MemU7O0FEcm1MQTtFQUFnQix3QkFBQTtBQ3ltTGhCOztBRHptTHdDO0VBQWdCLHFCQUFBO0FDNm1MeEQ7O0FEN21MNkU7RUFBMkIsbUNBQUE7QUNpbkx4Rzs7QURqbkw0STtFQUEyQixnQ0FBQTtBQ3FuTHZLOztBRHJuTHdNO0VBQTJCLGlDQUFBO0FDeW5Mbk87O0FEem5McVE7RUFBMkIsa0NBQUE7QUM2bkxoUzs7QUQ3bkxtVTtFQUF3Qix5QkFBQTtBQ2lvTDNWOztBRGpvTG9YO0VBQXdCLHNCQUFBO0FDcW9MNVk7O0FEcm9Ma2E7RUFBd0IsdUJBQUE7QUN5b0wxYjs7QUR6b0xpZDtFQUF3Qix3QkFBQTtBQzZvTHplOztBRDVvTEE7RUFBZ0Isd0JBQUE7QUNncExoQjs7QURocEx3QztFQUFnQixxQkFBQTtBQ29wTHhEOztBRHBwTDZFO0VBQTJCLG1DQUFBO0FDd3BMeEc7O0FEeHBMNEk7RUFBMkIsZ0NBQUE7QUM0cEx2Szs7QUQ1cEx3TTtFQUEyQixpQ0FBQTtBQ2dxTG5POztBRGhxTHFRO0VBQTJCLGtDQUFBO0FDb3FMaFM7O0FEcHFMbVU7RUFBd0IseUJBQUE7QUN3cUwzVjs7QUR4cUxvWDtFQUF3QixzQkFBQTtBQzRxTDVZOztBRDVxTGthO0VBQXdCLHVCQUFBO0FDZ3JMMWI7O0FEaHJMaWQ7RUFBd0Isd0JBQUE7QUNvckx6ZTs7QURuckxBO0VBQWdCLHdCQUFBO0FDdXJMaEI7O0FEdnJMd0M7RUFBZ0IscUJBQUE7QUMyckx4RDs7QUQzckw2RTtFQUEyQixtQ0FBQTtBQytyTHhHOztBRC9yTDRJO0VBQTJCLGdDQUFBO0FDbXNMdks7O0FEbnNMd007RUFBMkIsaUNBQUE7QUN1c0xuTzs7QUR2c0xxUTtFQUEyQixrQ0FBQTtBQzJzTGhTOztBRDNzTG1VO0VBQXdCLHlCQUFBO0FDK3NMM1Y7O0FEL3NMb1g7RUFBd0Isc0JBQUE7QUNtdEw1WTs7QURudExrYTtFQUF3Qix1QkFBQTtBQ3V0TDFiOztBRHZ0TGlkO0VBQXdCLHdCQUFBO0FDMnRMemU7O0FEenRMQTtFQUFrQixxQkFBQTtBQzZ0TGxCOztBRDd0THVDO0VBQWtCLGtCQUFBO0FDaXVMekQ7O0FEanVMMkU7RUFBa0Isc0JBQUE7QUNxdUw3Rjs7QURydUxtSDtFQUFrQixtQkFBQTtBQ3l1THJJOztBRHp1THdKO0VBQVUsV0FBQTtBQzZ1TGxLOztBRDV1TEE7RUFBa0IscUJBQUE7QUNndkxsQjs7QURodkx1QztFQUFrQixrQkFBQTtBQ292THpEOztBRHB2TDJFO0VBQWtCLHNCQUFBO0FDd3ZMN0Y7O0FEeHZMbUg7RUFBa0IsbUJBQUE7QUM0dkxySTs7QUQ1dkx3SjtFQUFVLFdBQUE7QUNnd0xsSzs7QUQvdkxBO0VBQWtCLHFCQUFBO0FDbXdMbEI7O0FEbndMdUM7RUFBa0Isa0JBQUE7QUN1d0x6RDs7QUR2d0wyRTtFQUFrQixzQkFBQTtBQzJ3TDdGOztBRDN3TG1IO0VBQWtCLG1CQUFBO0FDK3dMckk7O0FEL3dMd0o7RUFBVSxXQUFBO0FDbXhMbEs7O0FEbHhMQTtFQUFrQixxQkFBQTtBQ3N4TGxCOztBRHR4THVDO0VBQWtCLGtCQUFBO0FDMHhMekQ7O0FEMXhMMkU7RUFBa0Isc0JBQUE7QUM4eEw3Rjs7QUQ5eExtSDtFQUFrQixtQkFBQTtBQ2t5THJJOztBRGx5THdKO0VBQVUsV0FBQTtBQ3N5TGxLOztBRHJ5TEE7RUFBa0IsbUJBQUE7QUN5eUxsQjs7QUR6eUx1QztFQUFrQixnQkFBQTtBQzZ5THpEOztBRDd5TDJFO0VBQWtCLG9CQUFBO0FDaXpMN0Y7O0FEanpMbUg7RUFBa0IsaUJBQUE7QUNxekxySTs7QURyekx3SjtFQUFVLFdBQUE7QUN5ekxsSzs7QUR4ekxBO0VBQWtCLHFCQUFBO0FDNHpMbEI7O0FENXpMdUM7RUFBa0Isa0JBQUE7QUNnMEx6RDs7QURoMEwyRTtFQUFrQixzQkFBQTtBQ28wTDdGOztBRHAwTG1IO0VBQWtCLG1CQUFBO0FDdzBMckk7O0FEeDBMd0o7RUFBVSxXQUFBO0FDNDBMbEs7O0FEMTBMQTtFQUNBO0lBQXNCLDhCQUFBO0VDODBMcEI7RUQ5MExrRDtJQUFzQixnQkFBQTtFQ2kxTHhFO0VEajFMd0Y7SUFBc0IsaUJBQUE7RUNvMUw5RztFRHAxTCtIO0lBQXNCLGtCQUFBO0VDdTFMcko7RUR0MUxGO0lBQWlDLGdCQUFBO0VDeTFML0I7RUR6MUwrQztJQUFpQyxhQUFBO0VDNDFMaEY7RUQ1MUw2RjtJQUFpQyxjQUFBO0VDKzFMOUg7RUQvMUw0STtJQUFpQyxlQUFBO0VDazJMN0s7RURsMkw0TDtJQUFpQyxpQkFBQTtFQ3EyTDdOO0VEcjJMOE87SUFBaUMsY0FBQTtFQ3cyTC9RO0VEeDJMNlI7SUFBaUMsZUFBQTtFQzIyTDlUO0VEMzJMNlU7SUFBaUMsZ0JBQUE7RUM4Mkw5VztFRDcyTEY7SUFBaUMsd0JBQUE7RUNnM0wvQjtFRGgzTHVEO0lBQWlDLHFCQUFBO0VDbTNMeEY7RURuM0w2RztJQUFpQyxzQkFBQTtFQ3MzTDlJO0VEdDNMb0s7SUFBaUMsdUJBQUE7RUN5M0xyTTtFRHozTDROO0lBQW9DLHdCQUFBO0VDNDNMaFE7RUQ1M0x5UjtJQUFvQyxxQkFBQTtFQyszTDdUO0VELzNMbVY7SUFBb0Msc0JBQUE7RUNrNEx2WDtFRGw0TDhZO0lBQW9DLHVCQUFBO0VDcTRMbGI7RURyNEwwYztJQUFpQyx5QkFBQTtFQ3c0TDNlO0VEeDRMb2dCO0lBQWlDLHNCQUFBO0VDMjRMcmlCO0VEMzRMMmpCO0lBQWlDLHVCQUFBO0VDODRMNWxCO0VEOTRMbW5CO0lBQWlDLHdCQUFBO0VDaTVMcHBCO0VEaDVMRjtJQUFpQyx3QkFBQTtFQ201TC9CO0VEbjVMdUQ7SUFBaUMscUJBQUE7RUNzNUx4RjtFRHQ1TDZHO0lBQWlDLHNCQUFBO0VDeTVMOUk7RUR6NUxvSztJQUFpQyx1QkFBQTtFQzQ1THJNO0VENTVMNE47SUFBb0Msd0JBQUE7RUMrNUxoUTtFRC81THlSO0lBQW9DLHFCQUFBO0VDazZMN1Q7RURsNkxtVjtJQUFvQyxzQkFBQTtFQ3E2THZYO0VEcjZMOFk7SUFBb0MsdUJBQUE7RUN3NkxsYjtFRHg2TDBjO0lBQWlDLHlCQUFBO0VDMjZMM2U7RUQzNkxvZ0I7SUFBaUMsc0JBQUE7RUM4NkxyaUI7RUQ5NkwyakI7SUFBaUMsdUJBQUE7RUNpN0w1bEI7RURqN0xtbkI7SUFBaUMsd0JBQUE7RUNvN0xwcEI7QUFDRjtBRG43TEE7RUFDQTtJQUFzQiw4QkFBQTtFQ3M3THBCO0VEdDdMa0Q7SUFBc0IsZ0JBQUE7RUN5N0x4RTtFRHo3THdGO0lBQXNCLGlCQUFBO0VDNDdMOUc7RUQ1N0wrSDtJQUFzQixrQkFBQTtFQys3THJKO0VEOTdMRjtJQUFpQyxnQkFBQTtFQ2k4TC9CO0VEajhMK0M7SUFBaUMsYUFBQTtFQ284TGhGO0VEcDhMNkY7SUFBaUMsY0FBQTtFQ3U4TDlIO0VEdjhMNEk7SUFBaUMsZUFBQTtFQzA4TDdLO0VEMThMNEw7SUFBaUMsaUJBQUE7RUM2OEw3TjtFRDc4TDhPO0lBQWlDLGNBQUE7RUNnOUwvUTtFRGg5TDZSO0lBQWlDLGVBQUE7RUNtOUw5VDtFRG45TDZVO0lB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aUJBQUE7RUM0b005RztFRDVvTStIO0lBQXNCLGtCQUFBO0VDK29Ncko7RUQ5b01GO0lBQWlDLGdCQUFBO0VDaXBNL0I7RURqcE0rQztJQUFpQyxhQUFBO0VDb3BNaEY7RURwcE02RjtJQUFpQyxjQUFBO0VDdXBNOUg7RUR2cE00STtJQUFpQyxlQUFBO0VDMHBNN0s7RUQxcE00TDtJQUFpQyxpQkFBQTtFQzZwTTdOO0VEN3BNOE87SUFBaUMsY0FBQTtFQ2dxTS9RO0VEaHFNNlI7SUFBaUMsZUFBQTtFQ21xTTlUO0VEbnFNNlU7SUFBaUMsZ0JBQUE7RUNzcU05VztFRHJxTUY7SUFBaUMsd0JBQUE7RUN3cU0vQjtFRHhxTXVEO0lBQWlDLHFCQUFBO0VDMnFNeEY7RUQzcU02RztJQUFpQyxzQkFBQTtFQzhxTTlJO0VEOXFNb0s7SUFBaUMsdUJBQUE7RUNpck1yTTtFRGpyTTROO0lBQW9DLHdCQUFBO0VDb3JNaFE7RURwck15UjtJQUFvQyxxQkFBQTtFQ3VyTTdUO0VEdnJNbVY7SUFBb0Msc0JBQUE7RUMwck12WDtFRDFyTThZO0lBQW9DLHVCQUFBO0VDNnJNbGI7RUQ3ck0wYztJQUFpQyx5QkFBQTtFQ2dzTTNlO0VEaHNNb2dCO0lBQWlDLHNCQUFBO0VDbXNNcmlCO0VEbnNNMmpCO0lBQWlDLHVCQUFBO0VDc3NNNWxCO0VEdHNNbW5CO0lBQWlDLHdCQUFBO0VDeXNNcHBCO0VEeHNNRjtJQUFpQyx3QkFBQTtFQzJzTS9CO0VEM3NNdUQ7SUFBaUMscUJBQUE7RUM4c014RjtFRDlzTTZHO0lBQWlDLHNCQUFBO0VDaXRNOUk7RURqdE1vSztJQUFpQyx1QkFBQTtFQ290TXJNO0VEcHRNNE47SUFBb0Msd0JBQUE7RUN1dE1oUTtFRHZ0TXlSO0lBQW9DLHFCQUFBO0VDMHRNN1Q7RUQxdE1tVjtJQUFvQyxzQkFBQTtFQzZ0TXZYO0VEN3RNOFk7SUFBb0MsdUJBQUE7RUNndU1sYjtFRGh1TTBjO0lBQWlDLHlCQUFBO0VDbXVNM2U7RURudU1vZ0I7SUFBaUMsc0JBQUE7RUNzdU1yaUI7RUR0dU0yakI7SUFBaUMsdUJB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QTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7QUZtdFVIO0FFOXNVQztFQUNDLGtDQUFBO0FGZ3RVRjs7QUUzc1VBO0VBQ0MsOEJBQUE7RUFDQSxnQkFBQTtBRjhzVUQ7O0FJcGlWQTtFQUFlLGVBQUE7RUFBZSxhQUFBO0VBQWEsdUJBQUE7RUFBdUIsbUJBQUE7RUFBbUIsTUFBQTtFQUFNLE9BQUE7RUFBTyxXQUFBO0VBQVcsYUFBQTtFQUFhLDhCQUFBO0VBQTBCLGFBQUE7RUFBWSw2QkFBQTtFQUE0QixhQUFBO0VBQWEsb0JBQUE7QUpvalZ6TTs7QUlwalY2TjtFQUF3QixVQUFBO0FKd2pWclA7O0FJeGpWK1A7RUFBNEIsZUFBQTtFQUFlLHFCQUFBO0VBQW9CLCtCQUFBO0VBQThCLFVBQUE7RUFBVSxzQkFBQTtBSmdrVnRXOztBSWhrVjRYO0VBQTBLLGNBQUE7RUFBYyxrQkFBQTtFQUFrQixNQUFBO0VBQU0sUUFBQTtFQUFRLFNBQUE7RUFBUyxPQUFBO0VBQU8sWUFBQTtFQUFZLGNBQUE7RUFBYyxlQUFBO0FKNGtWOW5COztBSTVrVjZvQjtFQUFtSCxvQkFBQTtBSmdsVmh3Qjs7QUlobFZveEI7RUFBZ0gsV0FBQTtFQUFXLFlBQUE7QUpxbFYvNEI7O0FJcmxWMjVCO0VBQXFKLFdBQUE7RUFBVyxZQUFBO0VBQVksb0JBQUE7QUoybFZ2a0M7O0FJM2xWMmxDO0VBQW9ELG1CQUFBO0FKK2xWL29DIiwiZmlsZSI6ImFwcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiEgUEJURiA+IDIzMDIxMCAtLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG46cm9vdCB7XHJcblxyXG4gLS11czogMTQ0MDtcclxuIC0tdXU6IGNhbGMoMTAgLyB2YXIoLS11YiwgdmFyKC0tdXMpKSAqIDEwMHZ3KTtcclxuXHJcbiAtLXN4bzogNHJlbTsgLS1zeW86IG1pbigxLjVlbSwgM3JlbSk7IC0tc246IDEycmVtOyAtLXMxOiA0cmVtOyAtLXMyOiA2cmVtOyAtLXMzOiA4cmVtOyAtLXM0OiAxMnJlbTsgLS1zNTogMTZyZW07XHJcbiAtLXN4OiB2YXIoLS1zeG8pOyAtLXN5OiB2YXIoLS1zeW8pOyAtLW54OiBjYWxjKHZhcigtLXN4KSAqIC0xKTsgLS1ueTogY2FsYyh2YXIoLS1zeSkgKiAtMSk7XHJcbiAtLXZ3eDogY2FsYyh2YXIoLS12dywgMXZ3KSAqIDEwMCk7IC0tdmh4OiBjYWxjKHZhcigtLXZoLCAxdmgpICogMTAwKTtcclxuXHJcbiAtLWZmXzE6IE9wZW4gU2FucyxIZWx2ZXRpY2EgTmV1ZSxBcmlhbCxzYW5zLXNlcmlmO1xyXG4gLS1mZl8yOiBcInF1aW5jeS1jZlwiLEdlb3JnaWEsc2VyaWY7XHJcblxyXG4gLS1jX2R4OiAxLDU1LDYxOyAtLWNfZHh0OiB2YXIoLS1jX2R4KTsgLyogYmFzZSBjb2xvciAjMDEzNzNEICovXHJcbiAtLWNfZDF4OiAxLDU1LDYxOyAtLWNfZDF4dDogdmFyKC0tY19kMXgpOyAtLWNfZDE6IHJnYmEodmFyKC0tY19kMXgpLCAxKTsgLS1jX2QxdDogdmFyKC0tY19kMSk7IC8qIGRlZmF1bHQ6IGRhcmsgZ3JlZW4gIzAxMzczRCAqL1xyXG4gLS1jX2QyOiByZ2JhKHZhcigtLWNfZHgpLDAuOCk7IC0tY19kMnQ6IHZhcigtLWNfZDIpOyAvKiBkZWZhdWx0OiBsaWdodGVyIGQxICovXHJcblxyXG4gLS1jX2l4OiAyNTUsMjU1LDI1NTsgLS1jX2l4dDogdmFyKC0tY19peCk7IC8qIGludmVydGVkIGJhc2UgY29sb3IgKi9cclxuIC0tY19pMTogI2ZmZmZmZjsgLS1jX2kxdDogdmFyKC0tY19pMSk7IC8qIGludmVydGVkOiB3aGl0ZSAqL1xyXG4gLS1jX2kyOiByZ2JhKHZhcigtLWNfaXgpLDAuOCk7IC0tY19pMnQ6IHZhcigtLWNfaTIpOyAvKiBpbnZlcnRlZDogYWxtb3N0IHdoaXRlICovXHJcblxyXG4gLS1jX2ExeDogMTgwLDcyLDEyMDsgLS1jX2ExeHQ6IHZhcigtLWNfYTF4KTsgLS1jX2ExOiByZ2JhKHZhcigtLWNfYTF4KSwgMSk7IC0tY19hMXQ6IHZhcigtLWNfYTEpOyAvKiBhY2NlbnQ6IGJsdXNoICovXHJcbiAtLWNfYTI6ICMwMTAyMDI7IC0tY19hMnQ6IHZhcigtLWNfYTIpOyAvKiBhY2NlbnQ6IGRhcmsgZ3JlZW4gKi9cclxuXHJcbiAtLWNfYjE6ICNmZmZmZmY7IC0tY19iMXQ6IHZhcigtLWNfYjEpOyAvKiBiYWNrZ3JvdW5kczogd2hpdGUgKi9cclxuIC0tY19iMjogI0Y0RjRGNDsgLS1jX2IydDogdmFyKC0tY19iMik7IC8qIGJhY2tncm91bmRzOiBsaWdodCBncmF5ICovXHJcbiAtLWNfYjM6IHZhcigtLWNfYTEpOyAtLWNfYjN0OiB2YXIoLS1jX2IzKTsgLyogYmFja2dyb3VuZHM6IGFjY2VudCAxICovXHJcbiAtLWNfYjR4OiAyLDExNCwxMjc7IC0tY19iNHh0OiB2YXIoLS1jX2I0eCk7IC0tY19iNDogcmdiYSh2YXIoLS1jX2I0eCksIDEpOyAtLWNfYjR0OiB2YXIoLS1jX2I0KTsgLyogYmFja2dyb3VuZHM6IGdyZWVuICMwMjcyN0YgKi9cclxuIC0tY19iNTogIzk3NUY4NDsgLS1jX2I1dDogdmFyKC0tY19iNSk7IC8qIGJhY2tncm91bmRzOiB3YXNoZWQgYWNjZW50IDEgKi9cclxuIC0tY19iNjogIzk0QkZDRjsgLS1jX2I2dDogdmFyKC0tY19iNik7IC8qIGJhY2tncm91bmRzOiBsaWdodCBibHVlICovXHJcblxyXG4gLS1jX28xOiAjY2NjY2NjOyAtLWNfbzF0OiB2YXIoLS1jX28xKTsgLyogc2VwYXJhdG9ycyAqL1xyXG4gLS1jX28yOiAjYWFhYWFhOyAtLWNfbzJ0OiB2YXIoLS1jX28yKTsgLyogZmllbGRzIG5vcm1hbCAqL1xyXG4gLS1jX28zOiB2YXIoLS1jX2QxKTsgLS1jX28zdDogdmFyKC0tY19vMyk7IC8qIGZpZWxkcyBmb2N1cyAqL1xyXG5cclxuIC0tY19lMTogI0U1MTUxNTsgLS1jX2UxdDogdmFyKC0tY19lMSk7IC8qIGVycm9yczogcmVkLCBlcnJvciBtZXNzYWdlICovXHJcbiAtLWNfZTI6ICNFNTE1MTU7IC0tY19lMnQ6IHZhcigtLWNfZTIpOyAvKiBlcnJvcnM6IHJlZCwgZXJyb3Igb3V0bGluZSAqL1xyXG5cclxuIC0teHdfMTogY2FsYygxNDQwICogdmFyKC0tdXUpIC8gMTApO1xyXG4gLS14d18yOiBjYWxjKDEyMjAgKiB2YXIoLS11dSkgLyAxMCk7XHJcbiAtLXh3XzM6IGNhbGMoMTAxMCAqIHZhcigtLXV1KSAvIDEwKTtcclxuIC0teHdfNDogY2FsYyggODgwICogdmFyKC0tdXUpIC8gMTApO1xyXG4gLS14d181OiBjYWxjKCA2NDAgKiB2YXIoLS11dSkgLyAxMCk7XHJcbiAtLXh3XzY6IGNhbGMoIDQ4MCAqIHZhcigtLXV1KSAvIDEwKTtcclxuXHJcbiAtLXQ4bl9kMTogMC4ycztcclxuIC0tdDhuX2QyOiAwLjRzO1xyXG4gLS10OG5fcDE6IGJvcmRlci1jb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYmFja2dyb3VuZC1zaXplLCBib3gtc2hhZG93LCB0cmFuc2Zvcm0sIG9wYWNpdHksIGZpbHRlciwgdGV4dC1kZWNvcmF0aW9uLWNvbG9yLCB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzLCB0ZXh0LXVuZGVybGluZS1vZmZzZXQsIGNsaXAtcGF0aCwgLXdlYmtpdC1jbGlwLXBhdGg7XHJcbiAtLXQ4bl9wMjogdmFyKC0tdDhuX3AxKSwgdmlzaWJpbGl0eTtcclxuIC0tdDhuX2UxOiBjdWJpYy1iZXppZXIoLjUsMCwwLDEpO1xyXG4gLS10OG5fZTI6IGN1YmljLWJlemllciguMzUsLjYsLjQ1LDEpO1xyXG5cclxuIC0tYnJfMTogMi40cmVtO1xyXG4gLS1icl8yOiAxLjJyZW07XHJcblxyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNTIxcHgpIHsgOnJvb3QgeyAtLXV1OiBjYWxjKDEwIC8gdmFyKC0tdWIsIHZhcigtLXVzKSkgKiAxNTIwcHgpOyB9IH1cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7IDpyb290IHsgLS11YjogNzY4OyAtLXN4bzogMnJlbTsgLS1zbjogOHJlbTsgLS1zMTogM3JlbTsgLS1zMjogNC41cmVtOyAtLXMzOiA2cmVtOyAtLXM0OiA4cmVtOyAtLXM1OiAxMnJlbTsgLS1icl8xOiB2YXIoLS1icl8yKTsgfSB9XHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICA3MTlweCkgeyA6cm9vdCB7IC0tdWI6IDM3NTsgfSB9XHJcbkBzdXBwb3J0cyAod2lkdGg6IG1heCgxMHB4LCA1dncpKSB7IDpyb290IHsgLS1zeDogbWF4KHZhcigtLXN4byksIGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpLCBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpKTsgfSB9XHJcbkBtZWRpYSBwcmludCB7IDpyb290IHsgLS11dTogNS4yNXB4OyB9IH1cclxuXHJcbkBmb250LWZhY2UgeyBmb250LWZhbWlseTogJ0ljb25zJzsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1zdHlsZTogbm9ybWFsOyBzcmM6IHVybCgnLi4vZm9udHMvaWNvbW9vbi9mb250cy9pY29tb29uLndvZmY/ejg4ODh2JykgZm9ybWF0KCd3b2ZmJyksIHVybCgnLi4vZm9udHMvaWNvbW9vbi9mb250cy9pY29tb29uLnR0Zj96ODg4OHYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7IH1cclxuQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsgZm9udC13ZWlnaHQ6IDQwMDsgZm9udC1zdHlsZTogbm9ybWFsOyBzcmM6IHVybCgnLi4vZm9udHMvb3BlbnNhbnMvb3BlbnNhbnMtNDAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zL29wZW5zYW5zLTQwMC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7IH1cclxuQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsgZm9udC13ZWlnaHQ6IDYwMDsgZm9udC1zdHlsZTogbm9ybWFsOyBzcmM6IHVybCgnLi4vZm9udHMvb3BlbnNhbnMvb3BlbnNhbnMtNjAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zL29wZW5zYW5zLTYwMC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7IH1cclxuQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsgZm9udC13ZWlnaHQ6IDcwMDsgZm9udC1zdHlsZTogbm9ybWFsOyBzcmM6IHVybCgnLi4vZm9udHMvb3BlbnNhbnMvb3BlbnNhbnMtNzAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zL29wZW5zYW5zLTcwMC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7IH1cclxuQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsgZm9udC13ZWlnaHQ6IDgwMDsgZm9udC1zdHlsZTogbm9ybWFsOyBzcmM6IHVybCgnLi4vZm9udHMvb3BlbnNhbnMvb3BlbnNhbnMtODAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zL29wZW5zYW5zLTgwMC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7IH1cclxuQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiAnUXVpbmN5IENGJzsgZm9udC13ZWlnaHQ6IDQwMDsgZm9udC1zdHlsZTogbm9ybWFsOyBzcmM6IHVybCgnLi4vZm9udHMvcXVpbmN5Y2YvcXVpbmN5Y2YtNDAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCB1cmwoJy4uL2ZvbnRzL3F1aW5jeWNmL3F1aW5jeWNmLTQwMC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7IH1cclxuQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiAnUXVpbmN5IENGJzsgZm9udC13ZWlnaHQ6IDUwMDsgZm9udC1zdHlsZTogbm9ybWFsOyBzcmM6IHVybCgnLi4vZm9udHMvcXVpbmN5Y2YvcXVpbmN5Y2YtNTAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCB1cmwoJy4uL2ZvbnRzL3F1aW5jeWNmL3F1aW5jeWNmLTUwMC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7IH1cclxuQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiAnUXVpbmN5IENGJzsgZm9udC13ZWlnaHQ6IDcwMDsgZm9udC1zdHlsZTogbm9ybWFsOyBzcmM6IHVybCgnLi4vZm9udHMvcXVpbmN5Y2YvcXVpbmN5Y2YtNzAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCB1cmwoJy4uL2ZvbnRzL3F1aW5jeWNmL3F1aW5jeWNmLTcwMC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7IH1cclxuXHJcbi8qICAgX19fX19fICBfX19fX19fIF9fX19fX18gX19fX19fX1xyXG4gKiAgIHxfX19fX10gfF9fX19ffCB8X19fX19fIHxfX19fX19cclxuICogICB8X19fX19dIHwgICAgIHwgX19fX19ffCB8X19fX19fXHJcbiovXHJcblxyXG4ucm9vdDEgeyBwb3NpdGlvbjogcmVsYXRpdmU7IHdpZHRoOiAxMDAlOyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IH1cclxuIC5yb290MSwgLnJvb3QxOmJlZm9yZSwgLnJvb3QxOmFmdGVyLCAucm9vdDEgKiwgLnJvb3QxICo6YmVmb3JlLCAucm9vdDEgKjphZnRlciB7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cclxuXHJcbi4tY29udGFpbiB7IH1cclxuIC4tY29udGFpbiA+ICosIC4tcmVjb250YWluID4gKiwgLi1yZXN0cmFpbiB7IHdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1zeCkgKiAyKTsgbWF4LXdpZHRoOiB2YXIoLS14dywgdmFyKC0teHdfMSkpOyBtYXgtd2lkdGg6IG1pbih2YXIoLS14dywgdmFyKC0teHdfMSkpLCB2YXIoLS14d18xKSAtIHZhcigtLXN4KSAqIDIpOyBtYXJnaW4tbGVmdDogYXV0bzsgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XHJcbiAuLWRlY29udGFpbiwgLi1yZWNvbnRhaW4geyB3aWR0aDogMTAwJTsgbWF4LXdpZHRoOiBub25lOyB9XHJcbiAuLWJyZWFrb3V0IHsgd2lkdGg6IGF1dG87IG1heC13aWR0aDogbm9uZTsgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlIC0gdmFyKC0tdncsIDF2dykgKiA1MCk7IG1hcmdpbi1yaWdodDogY2FsYyg1MCUgLSB2YXIoLS12dywgMXZ3KSAqIDUwKTsgcGFkZGluZy1sZWZ0OiB2YXIoLS1fcHgsIDApOyBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1fcHgsIDApOyB9XHJcbiAuLWJyZWFrb3V0W2NsYXNzKj1cIi14dzpcIl0geyAtLV9weGE6IGNhbGModmFyKC0tdncsIDF2dykgKiA1MCAtIHZhcigtLXh3KSAvIDIgKyB2YXIoLS1zeCkpOyAtLV9weDogdmFyKC0tX3B4YSk7IC0tX3B4OiBtYXgodmFyKC0tc3gpLHZhcigtLV9weGEpKTsgbWF4LXdpZHRoOiBub25lOyB9XHJcbiAuLXJlc3RyYWluW2NsYXNzKj1cIi14dzpcIl0geyBtYXgtd2lkdGg6IG1pbih2YXIoLS14dywgdmFyKC0teHdfMSkpLCB2YXIoLS14d18xKSAtIHZhcigtLXN4KSAqIDIpOyB9XHJcblxyXG5AbWVkaWEgcHJpbnQge1xyXG4uLWNvbnRhaW4gPiAqLCAuLXJlY29udGFpbiA+ICosIC4tcmVzdHJhaW4geyB3aWR0aDogMTAwJTsgfVxyXG4uLWJyZWFrb3V0IHsgLS12dzogMXZ3OyB9XHJcbi4tYnJlYWtvdXRbY2xhc3MqPVwiLXh3OlwiXSB7IC0tX3B4OiB2YXIoLS1fcHhhKTsgfVxyXG59XHJcblxyXG4vKiBncmlkICovXHJcblxyXG5bZ3JpZF0sW2ZsZXhdIHsgLS1nYzogMjQ7IC0tZ3g6IHZhcigtLXN4byk7IC0tZ3k6IHZhcigtLWd4KTsgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tZ3gpICogLTEpOyBtYXJnaW4tcmlnaHQ6IDA7IHBhZGRpbmc6IDA7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XHJcbiBbZ3JpZF0+KixbZmxleF0+KiB7IG9yZGVyOiB2YXIoLS1vLCAwKTsgbWluLXdpZHRoOiAwOyBtYXJnaW4tYm90dG9tOiAwOyBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94OyBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxyXG4gIFtncmlkXT4qOmJlZm9yZSxbZmxleF0+KjpiZWZvcmUgeyBkaXNwbGF5OiBub25lOyB9XHJcblxyXG5bZ3JpZF0geyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCh2YXIoLS1nYywgMjQpLCAxZnIpOyBncmlkLXJvdy1nYXA6IHZhcigtLWd5KTsgfVxyXG5bZ3JpZH49XCJlbmRcIl0geyBhbGlnbi1pdGVtczogZW5kOyB9IFtncmlkfj1cIm1pZGRsZVwiXSB7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cclxuIFtncmlkXT4qIHsgZ3JpZC1jb2x1bW46IHZhcigtLWMsIGF1dG8pIC8gc3BhbiB2YXIoLS13LCB2YXIoLS1nYywyNCkpOyBtYXJnaW4tbGVmdDogdmFyKC0tZ3gpOyBtYXJnaW4tcmlnaHQ6IDA7IH1cclxuXHJcbltmbGV4XSB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtd3JhcDogd3JhcDsgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1neSkgKiAtMSk7IH1cclxuW2ZsZXh+PVwiaW5saW5lXCJdIHsgZGlzcGxheTogaW5saW5lLWZsZXg7IH0gW2ZsZXh+PVwiYmV0d2VlblwiXSB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfSBbZmxleH49XCJyaWdodFwiXSB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH0gW2ZsZXh+PVwiZW5kXCJdIHsgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9IFtmbGV4fj1cImNlbnRlclwiXSB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IFtmbGV4fj1cIm1pZGRsZVwiXSB7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gW2ZsZXh+PVwiYmFzZWxpbmVcIl0geyBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH0gW2ZsZXh+PVwibm93cmFwXCJdIHsgZmxleC13cmFwOiBub3dyYXA7IH1cclxuIFtmbGV4XT4qIHsgd2lkdGg6IGNhbGMoMTAwJSAqICh2YXIoLS13LCAwKSAvIHZhcigtLWdjLCAyNCkgKiAwLjk5OTkpIC0gdmFyKC0tZ3gpKTsgbWFyZ2luOiB2YXIoLS1neSkgMCAwIHZhcigtLWd4KTsgfVxyXG4gW2ZsZXh+PVwiYXV0b1wiXT4qIHsgd2lkdGg6IGF1dG87IH1cclxuIFtmbGV4XT5bZ3Jvd10geyBmbGV4LWdyb3c6IDE7IH0gW2ZsZXhdPlthdXRvXSB7IGZsZXg6IG5vbmU7IHdpZHRoOiBhdXRvOyB9XHJcblxyXG5bd149XCJhL1wiXXt3aWR0aDphdXRvfVt3Xj1cIjEvXCJdey0tdzoxfVt3Xj1cIjIvXCJdey0tdzoyfVt3Xj1cIjMvXCJdey0tdzozfVt3Xj1cIjQvXCJdey0tdzo0fVt3Xj1cIjUvXCJdey0tdzo1fVt3Xj1cIjYvXCJdey0tdzo2fVt3Xj1cIjcvXCJdey0tdzo3fVt3Xj1cIjgvXCJdey0tdzo4fVt3Xj1cIjkvXCJdey0tdzo5fVt3Xj1cIjEwL1wiXXstLXc6MTB9W3dePVwiMTEvXCJdey0tdzoxMX1bd149XCIxMi9cIl17LS13OjEyfVt3Xj1cIjEzL1wiXXstLXc6MTN9W3dePVwiMTQvXCJdey0tdzoxNH1bd149XCIxNS9cIl17LS13OjE1fVt3Xj1cIjE2L1wiXXstLXc6MTZ9W3dePVwiMTcvXCJdey0tdzoxN31bd149XCIxOC9cIl17LS13OjE4fVt3Xj1cIjE5L1wiXXstLXc6MTl9W3dePVwiMjAvXCJdey0tdzoyMH1bd149XCIyMS9cIl17LS13OjIxfVt3Xj1cIjIyL1wiXXstLXc6MjJ9W3dePVwiMjMvXCJdey0tdzoyM31bd149XCIyNC9cIl17LS13OjI0fVxyXG5bY149XCItMS9cIl17Z3JpZC1jb2x1bW46c3BhbiB2YXIoLS13LCB2YXIoLS1nYywgMjQpKS8tMX1bY149XCIwL1wiXXstLWM6MX1bY149XCIxL1wiXXstLWM6Mn1bY149XCIyL1wiXXstLWM6M31bY149XCIzL1wiXXstLWM6NH1bY149XCI0L1wiXXstLWM6NX1bY149XCI1L1wiXXstLWM6Nn1bY149XCI2L1wiXXstLWM6N31bY149XCI3L1wiXXstLWM6OH1bY149XCI4L1wiXXstLWM6OX1bY149XCI5L1wiXXstLWM6MTB9W2NePVwiMTAvXCJdey0tYzoxMX1bY149XCIxMS9cIl17LS1jOjEyfVtjXj1cIjEyL1wiXXstLWM6MTN9W2NePVwiMTMvXCJdey0tYzoxNH1bY149XCIxNC9cIl17LS1jOjE1fVtjXj1cIjE1L1wiXXstLWM6MTZ9W2NePVwiMTYvXCJdey0tYzoxN31bY149XCIxNy9cIl17LS1jOjE4fVtjXj1cIjE4L1wiXXstLWM6MTl9W2NePVwiMTkvXCJdey0tYzoyMH1bY149XCIyMC9cIl17LS1jOjIxfVtjXj1cIjIxL1wiXXstLWM6MjJ9W2NePVwiMjIvXCJdey0tYzoyM31bY149XCIyMy9cIl17LS1jOjI0fVxyXG5bb149XCItMS9cIl17LS1vOi0xfVtvXj1cIjAvXCJdey0tbzowfVtvXj1cIjEvXCJdey0tbzoxfVtvXj1cIjIvXCJdey0tbzoyfVtvXj1cIjMvXCJdey0tbzozfVxyXG5AbWVkaWEgcHJpbnQsIChtaW4td2lkdGg6IDcyMHB4KXtbdyo9XCIvYS9cIl17d2lkdGg6YXV0b31bdyo9XCIvMS9cIl17LS13OjF9W3cqPVwiLzIvXCJdey0tdzoyfVt3Kj1cIi8zL1wiXXstLXc6M31bdyo9XCIvNC9cIl17LS13OjR9W3cqPVwiLzUvXCJdey0tdzo1fVt3Kj1cIi82L1wiXXstLXc6Nn1bdyo9XCIvNy9cIl17LS13Ojd9W3cqPVwiLzgvXCJdey0tdzo4fVt3Kj1cIi85L1wiXXstLXc6OX1bdyo9XCIvMTAvXCJdey0tdzoxMH1bdyo9XCIvMTEvXCJdey0tdzoxMX1bdyo9XCIvMTIvXCJdey0tdzoxMn1bdyo9XCIvMTMvXCJdey0tdzoxM31bdyo9XCIvMTQvXCJdey0tdzoxNH1bdyo9XCIvMTUvXCJdey0tdzoxNX1bdyo9XCIvMTYvXCJdey0tdzoxNn1bdyo9XCIvMTcvXCJdey0tdzoxN31bdyo9XCIvMTgvXCJdey0tdzoxOH1bdyo9XCIvMTkvXCJdey0tdzoxOX1bdyo9XCIvMjAvXCJdey0tdzoyMH1bdyo9XCIvMjEvXCJdey0tdzoyMX1bdyo9XCIvMjIvXCJdey0tdzoyMn1bdyo9XCIvMjMvXCJdey0tdzoyM31bdyo9XCIvMjQvXCJdey0tdzoyNH1bYyo9XCIvLTEvXCJde2dyaWQtY29sdW1uOnNwYW4gdmFyKC0tdywgdmFyKC0tZ2MsIDI0KSkvLTF9W2MqPVwiLzAvXCJdey0tYzoxfVtjKj1cIi8xL1wiXXstLWM6Mn1bYyo9XCIvMi9cIl17LS1jOjN9W2MqPVwiLzMvXCJdey0tYzo0fVtjKj1cIi80L1wiXXstLWM6NX1bYyo9XCIvNS9cIl17LS1jOjZ9W2MqPVwiLzYvXCJdey0tYzo3fVtjKj1cIi83L1wiXXstLWM6OH1bYyo9XCIvOC9cIl17LS1jOjl9W2MqPVwiLzkvXCJdey0tYzoxMH1bYyo9XCIvMTAvXCJdey0tYzoxMX1bYyo9XCIvMTEvXCJdey0tYzoxMn1bYyo9XCIvMTIvXCJdey0tYzoxM31bYyo9XCIvMTMvXCJdey0tYzoxNH1bYyo9XCIvMTQvXCJdey0tYzoxNX1bYyo9XCIvMTUvXCJdey0tYzoxNn1bYyo9XCIvMTYvXCJdey0tYzoxN31bYyo9XCIvMTcvXCJdey0tYzoxOH1bYyo9XCIvMTgvXCJdey0tYzoxOX1bYyo9XCIvMTkvXCJdey0tYzoyMH1bYyo9XCIvMjAvXCJdey0tYzoyMX1bYyo9XCIvMjEvXCJdey0tYzoyMn1bYyo9XCIvMjIvXCJdey0tYzoyM31bYyo9XCIvMjMvXCJdey0tYzoyNH1bbyo9XCIvLTEvXCJdey0tbzotMX1bbyo9XCIvMC9cIl17LS1vOjB9W28qPVwiLzEvXCJdey0tbzoxfVtvKj1cIi8yL1wiXXstLW86Mn1bbyo9XCIvMy9cIl17LS1vOjN9fVxyXG5AbWVkaWEgcHJpbnQsIChtaW4td2lkdGg6IDEwMjRweCl7W3ckPVwiLzBcIl17ZGlzcGxheTpub25lICFpbXBvcnRhbnR9W3ckPVwiL2FcIl17d2lkdGg6YXV0b31bdyQ9XCIvMVwiXXstLXc6MX1bdyQ9XCIvMlwiXXstLXc6Mn1bdyQ9XCIvM1wiXXstLXc6M31bdyQ9XCIvNFwiXXstLXc6NH1bdyQ9XCIvNVwiXXstLXc6NX1bdyQ9XCIvNlwiXXstLXc6Nn1bdyQ9XCIvN1wiXXstLXc6N31bdyQ9XCIvOFwiXXstLXc6OH1bdyQ9XCIvOVwiXXstLXc6OX1bdyQ9XCIvMTBcIl17LS13OjEwfVt3JD1cIi8xMVwiXXstLXc6MTF9W3ckPVwiLzEyXCJdey0tdzoxMn1bdyQ9XCIvMTNcIl17LS13OjEzfVt3JD1cIi8xNFwiXXstLXc6MTR9W3ckPVwiLzE1XCJdey0tdzoxNX1bdyQ9XCIvMTZcIl17LS13OjE2fVt3JD1cIi8xN1wiXXstLXc6MTd9W3ckPVwiLzE4XCJdey0tdzoxOH1bdyQ9XCIvMTlcIl17LS13OjE5fVt3JD1cIi8yMFwiXXstLXc6MjB9W3ckPVwiLzIxXCJdey0tdzoyMX1bdyQ9XCIvMjJcIl17LS13OjIyfVt3JD1cIi8yM1wiXXstLXc6MjN9W3ckPVwiLzI0XCJdey0tdzoyNH1bYyQ9XCIvLTFcIl17Z3JpZC1jb2x1bW46c3BhbiB2YXIoLS13LCB2YXIoLS1nYywgMjQpKS8tMX1bYyQ9XCIvMFwiXXstLWM6MX1bYyQ9XCIvMVwiXXstLWM6Mn1bYyQ9XCIvMlwiXXstLWM6M31bYyQ9XCIvM1wiXXstLWM6NH1bYyQ9XCIvNFwiXXstLWM6NX1bYyQ9XCIvNVwiXXstLWM6Nn1bYyQ9XCIvNlwiXXstLWM6N31bYyQ9XCIvN1wiXXstLWM6OH1bYyQ9XCIvOFwiXXstLWM6OX1bYyQ9XCIvOVwiXXstLWM6MTB9W2MkPVwiLzEwXCJdey0tYzoxMX1bYyQ9XCIvMTFcIl17LS1jOjEyfVtjJD1cIi8xMlwiXXstLWM6MTN9W2MkPVwiLzEzXCJdey0tYzoxNH1bYyQ9XCIvMTRcIl17LS1jOjE1fVtjJD1cIi8xNVwiXXstLWM6MTZ9W2MkPVwiLzE2XCJdey0tYzoxN31bYyQ9XCIvMTdcIl17LS1jOjE4fVtjJD1cIi8xOFwiXXstLWM6MTl9W2MkPVwiLzE5XCJdey0tYzoyMH1bYyQ9XCIvMjBcIl17LS1jOjIxfVtjJD1cIi8yMVwiXXstLWM6MjJ9W2MkPVwiLzIyXCJdey0tYzoyM31bYyQ9XCIvMjNcIl17LS1jOjI0fVtvJD1cIi8tMVwiXXstLW86LTF9W28kPVwiLzBcIl17LS1vOjB9W28kPVwiLzFcIl17LS1vOjF9W28kPVwiLzJcIl17LS1vOjJ9W28kPVwiLzNcIl17LS1vOjN9fVxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MTlweCkge1t3Xj1cIjAvXCJde2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50fX1cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtbdyo9XCIvMC9cIl17ZGlzcGxheTpub25lICFpbXBvcnRhbnR9fVxyXG5cclxuLyogcmV2ZWFsICovXHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogbm8tcHJlZmVyZW5jZSkge1xyXG5bbTRuXSBbcmV2ZWFsXTpub3QoW3JldmVhbD1cIlwiXSksIFtyZXZlYWxpbmddIHsgdHJhbnNpdGlvbi1kdXJhdGlvbjogdmFyKC0tcnZ0LCB2YXIoLS10OG5fZDEpKTsgdHJhbnNpdGlvbi1kZWxheTogdmFyKC0tcnZkLCBjYWxjKHZhcigtLXJ2cSwwKSAqIHZhcigtLXJ2cywgMC4wNzVzKSkpOyB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tcnZlLCBlYXNlKTsgfVxyXG5bcmV2ZWFsXSxbcmV2ZWFsJD1cIi8wXCJdey0tcnZxOjB9W3JldmVhbCQ9XCIvMVwiXXstLXJ2cToxfVtyZXZlYWwkPVwiLzJcIl17LS1ydnE6Mn1bcmV2ZWFsJD1cIi8zXCJdey0tcnZxOjN9W3JldmVhbCQ9XCIvNFwiXXstLXJ2cTo0fVtyZXZlYWwkPVwiLzVcIl17LS1ydnE6NX1bcmV2ZWFsJD1cIi82XCJdey0tcnZxOjZ9W3JldmVhbCQ9XCIvN1wiXXstLXJ2cTo3fVtyZXZlYWwkPVwiLzhcIl17LS1ydnE6OH1bcmV2ZWFsJD1cIi85XCJdey0tcnZxOjl9W3JldmVhbCQ9XCIvMTBcIl17LS1ydnE6MTB9W3JldmVhbCQ9XCIvMTFcIl17LS1ydnE6MTF9W3JldmVhbCQ9XCIvMTJcIl17LS1ydnE6MTJ9W3JldmVhbCQ9XCIvMTNcIl17LS1ydnE6MTN9W3JldmVhbCQ9XCIvMTRcIl17LS1ydnE6MTR9W3JldmVhbCQ9XCIvMTVcIl17LS1ydnE6MTV9W3JldmVhbCQ9XCIvMTZcIl17LS1ydnE6MTZ9W3JldmVhbCQ9XCIvMTdcIl17LS1ydnE6MTd9W3JldmVhbCQ9XCIvMThcIl17LS1ydnE6MTh9W3JldmVhbCQ9XCIvMTlcIl17LS1ydnE6MTl9W3JldmVhbCQ9XCIvMjBcIl17LS1ydnE6MjB9XHJcbltyZXZlYWxePVwiMVwiXSB7IC0tcnZ0OiAwLjc1czsgfSBbbTRuXTpub3QoW3JlYWR5XSkgW3JldmVhbF49XCIxKy9cIl0sIFttNG5dIFtyZXZlYWxePVwiMS9cIl06bm90KFtyZXZlYWxpbmddKSB7IG9wYWNpdHk6IDA7IH1cclxuW3JldmVhbF49XCIyXCJdIHsgLS1ydnQ6IDEuMjVzOyAtLXJ2ZTogdmFyKC0tdDhuX2UxKTsgY2xpcC1wYXRoOiBpbnNldCgwIDAgMCAwKTsgd2lsbC1jaGFuZ2U6IGNsaXAtcGF0aDsgfVxyXG4gW200bl06bm90KFtyZWFkeV0pIFtyZXZlYWxePVwiMnIrL1wiXSwgW200bl0gW3JldmVhbF49XCIyci9cIl06bm90KFtyZXZlYWxpbmddKSB7IGNsaXAtcGF0aDogaW5zZXQoMCAwIDAgMTAwJSk7IH1cclxuIFttNG5dOm5vdChbcmVhZHldKSBbcmV2ZWFsXj1cIjJsKy9cIl0sIFttNG5dIFtyZXZlYWxePVwiMmwvXCJdOm5vdChbcmV2ZWFsaW5nXSkgeyBjbGlwLXBhdGg6IGluc2V0KDAgMTAwJSAwIDApOyB9XHJcbltyZXZlYWxePVwiM1wiXSB7IC0tcnZ0OiAwLjc1czsgfSBbbTRuXTpub3QoW3JlYWR5XSkgW3JldmVhbF49XCIzKy9cIl0sIFttNG5dIFtyZXZlYWxePVwiMy9cIl06bm90KFtyZXZlYWxpbmddKSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cmVtKTsgb3BhY2l0eTogMDsgfVxyXG59XHJcblxyXG4vKiAgIF9fX19fX18gIF9fX19fICBfX19fX18gIF8gICAgIF8gXyAgICAgIF9fX19fX18gX19fX19fX1xyXG4gKiAgIHwgIHwgIHwgfCAgICAgfCB8ICAgICBcXCB8ICAgICB8IHwgICAgICB8X19fX19fIHxfX19fX19cclxuICogICB8ICB8ICB8IHxfX19fX3wgfF9fX19fLyB8X19fX198IHxfX19fXyB8X19fX19fIF9fX19fX3xcclxuKi9cclxuXHJcbi8qKlxyXG4gKiBAbmFtZSAuYWNjb3JkaW9uMVxyXG4gKiBAZGVzY3JpcHRpb24gQWNjb3JkaW9uXHJcbiAqIEBleGFtcGxlIHsgfVxyXG4gKi9cclxuXHJcbi5hY2NvcmRpb24xIHsgLS1zOiAycmVtOyBtYXJnaW4tYm90dG9tOiB2YXIoLS1zMSk7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jX28xdCk7IH1cclxuIC5hY2NvcmRpb24xLWVudHJ5IHsgbWFyZ2luOiAwOyBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY19vMXQpOyB9XHJcbiAgLmFjY29yZGlvbjEtdGl0bGUgeyBtYXJnaW46IDA7IHBhZGRpbmc6IHZhcigtLXMpIDA7IGN1cnNvcjogcG9pbnRlcjsgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7IH1cclxuICAgLmFjY29yZGlvbjEtdGl0bGUgaSB7IGZsb2F0OiByaWdodDsgbWFyZ2luOiAwIDAgMCAycmVtOyBjb2xvcjogdmFyKC0tY19hMXQpOyB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7IH1cclxuICAgLmFjY29yZGlvbjEtZW50cnkuLW9wZW4gLmFjY29yZGlvbjEtdGl0bGUgaSB7IHRyYW5zZm9ybTogc2NhbGUoMS4zKSByb3RhdGUoMTgwZGVnKTsgfVxyXG4gIC5hY2NvcmRpb24xLWRldGFpbHMgeyBtYXJnaW46IDA7IH1cclxuICAgLmFjY29yZGlvbjEtZGV0YWlsczphZnRlciB7IGRpc3BsYXk6IGJsb2NrOyBjb250ZW50OiAnJzsgY2xlYXI6IGJvdGg7IGhlaWdodDogY2FsYyh2YXIoLS1zKSAqIDIpOyB9XHJcblxyXG4vKipcclxuKiBAbmFtZSAuYWRkcmVzczFcclxuKiBAZGVzY3JpcHRpb24gQWRkcmVzcyBibG9ja1xyXG4qIEBleGFtcGxlIHsgfVxyXG4qL1xyXG5cclxuLmFkZHJlc3MxIHsgLS1wOiAxLjc1ZW07IHBhZGRpbmctbGVmdDogdmFyKC0tcCk7IH1cclxuIC5hZGRyZXNzMSA+IGk6Zmlyc3QtY2hpbGQgeyBmbG9hdDogbGVmdDsgd2lkdGg6IHZhcigtLXApOyBtYXJnaW46IDAgMCAwIGNhbGModmFyKC0tcCkgKiAtMSk7IGNvbG9yOiB2YXIoLS1jX2ExdCk7IH1cclxuICAuYWRkcmVzczEgPiBpOmZpcnN0LWNoaWxkOmJlZm9yZSB7IGZvbnQtc2l6ZTogMS4yNWVtOyB9XHJcblxyXG4vKipcclxuICogQG5hbWUgLmFtb3VudDFcclxuICogQGRlc2NyaXB0aW9uIEFtb3VudCBsaW5lXHJcbiAqIEBleGFtcGxlIHsgfVxyXG4gKi9cclxuXHJcbi5hbW91bnQxIHsgIH1cclxuIC5hbW91bnQxLXR5cGUgeyAtLWd5OiAxcmVtOyB9XHJcbiAgLmFtb3VudDEtdHlwZSBsaSB7IC0tdzogYXV0bzsgfVxyXG4gLmFtb3VudDEtb3B0aW9ucyB7IC0tZ3g6IDEuMHJlbTsgLS1neTogMS42cmVtOyBtYXgtd2lkdGg6IDQ4cmVtOyB9XHJcbiAgLmFtb3VudDEtb3B0aW9ucyBsaSB7ICB9XHJcbiAgIC5hbW91bnQxLXNlbGVjdCBpbnB1dFt0eXBlXSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogLTEwMDAxcHg7IH1cclxuICAgLmFtb3VudDEtc2VsZWN0IGxhYmVsIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IHdpZHRoOiAxMDAlOyBtaW4td2lkdGg6IDEwcmVtOyBtaW4taGVpZ2h0OiA0LjhyZW07IG1hcmdpbjogMDsgcGFkZGluZzogMCAycmVtOyBib3JkZXItcmFkaXVzOiAyLjRyZW07IGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1hb2MsIHZhcigtLWNfYTF0KSk7IGNvbG9yOiB2YXIoLS1jX2ExdCk7IGZvbnQ6IDcwMCAxLjZyZW0vdmFyKC0tbGgpIHZhcigtLWZmXzEpOyB9XHJcbiAgIC5hbW91bnQxLXNlbGVjdCBpbnB1dDpjaGVja2VkICsgbGFiZWwgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jX2ExdCk7IGNvbG9yOiB2YXIoLS1jX2kxdCk7IH1cclxuICAgLmFtb3VudDEtY3VycmVuY3kgc2VsZWN0IHsgLS1hb2NuOiB2YXIoLS1jX2ExdCk7IHBhZGRpbmctcmlnaHQ6IDQuOHJlbTsgY29sb3I6IHZhcigtLWNfYTF0KTsgZm9udC13ZWlnaHQ6IDcwMDsgfVxyXG4gIC5hbW91bnQxLWN1c3RvbVtjbGFzc10geyAtLXc6IDMwOyBkaXNwbGF5OiBmbGV4OyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cclxuICAuYW1vdW50MS1jdXN0b20uLWNzXFw6aSB7IC0tY19vMXQ6IHZhcigtLWNfYjEpOyAtLWNfbzJ0OiB2YXIoLS1jX2IxKTsgfVxyXG4gICAuYW1vdW50MS1jdXN0b20gbGFiZWxbZm9yXSB7IC0tbGg6IDVyZW07IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMDsgdG9wOiAwOyB3aWR0aDogNHJlbTsgbWFyZ2luLWJvdHRvbTogMDsgcGFkZGluZy1sZWZ0OiAwLjVyZW07IGNvbG9yOiB2YXIoLS1jX2QxdCk7IGZvbnQ6IDQwMCAxLjZyZW0vdmFyKC0tbGgpIHZhcigtLWZmXzEpOyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cclxuICAgLmFtb3VudDEtY3VzdG9tIGlucHV0W3R5cGVdIHsgZmxleC1ncm93OiAxOzsgcGFkZGluZy1yaWdodDogM3JlbTsgcGFkZGluZy1sZWZ0OiA0cmVtOyBmb250OiA0MDAgMS42cmVtL3ZhcigtLWxoKSB2YXIoLS1mZl8xKTsgfVxyXG4gICAuYW1vdW50MS1jdXN0b20gLmJ1dHRvbjEgeyBmbGV4OiBub25lOyBtYXJnaW4tbGVmdDogLTFweDsgfVxyXG5cclxuLmFtb3VudDEuLWNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxyXG4gLmFtb3VudDEuLWNlbnRlciAuYW1vdW50MS10eXBlIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cclxuIC5hbW91bnQxLi1jZW50ZXIgLmFtb3VudDEtb3B0aW9ucyB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XHJcblxyXG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XHJcbi5hbW91bnQxLXNlbGVjdCBsYWJlbDpob3ZlciB7IC0tYW9jOiB2YXIoLS1jX2E1dCk7IH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzE5cHgpIHtcclxuLmFtb3VudDEtb3B0aW9ucyB7IC0tZ3g6IDFyZW07IH1cclxuIC5hbW91bnQxLW9wdGlvbnMgbGkgeyAtLXc6IDEwOyB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAbmFtZSAuYXJjaGl2ZXMxXHJcbiAqIEBkZXNjcmlwdGlvbiBBcmNoaXZlc1xyXG4gKiBAZXhhbXBsZSB7IH1cclxuICovXHJcblxyXG4uYXJjaGl2ZXMxIHsgfVxyXG4gLmFyY2hpdmVzMS13cmFwW2Rpc2FibGVkXSB7IGN1cnNvcjogd2FpdDsgcG9pbnRlci1ldmVudHM6IGF1dG87IG9wYWNpdHk6IDAuMjsgfVxyXG4gIC5hcmNoaXZlczEtd3JhcFtkaXNhYmxlZF0gPiAqIHsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cclxuIC5hcmNoaXZlczEtbW9yZVtkaXNhYmxlZF0geyBwb2ludGVyLWV2ZW50czogbm9uZTsgb3BhY2l0eTogMC4yOyB9XHJcblxyXG4vKipcclxuICogQG5hbWUgLmJpZ2dpZTFcclxuICogQGRlc2NyaXB0aW9uIEJpZyBpbWFnZSB3cmFwcGVyXHJcbiAqIEBleGFtcGxlIHsgfVxyXG4gKi9cclxuXHJcbi5iaWdnaWUxIHsgbWFyZ2luLWJvdHRvbTogdmFyKC0tczEpOyB9XHJcbiAuYmlnZ2llMSA+IC5pbWcxLCAuYmlnZ2llMSA+IC5zbG90MSwgLmJpZ2dpZTEgPiAuZW1iZWQxIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxyXG4gLmJpZ2dpZTEtY2FwdGlvbiB7IG1heC13aWR0aDogdmFyKC0teHdfNSk7IG1hcmdpbjogMCBhdXRvOyBwYWRkaW5nOiAycmVtIDA7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jX28xdCk7IH1cclxuICAuYmlnZ2llMS1jYXB0aW9uID4gc3BhbiB7IGRpc3BsYXk6IGJsb2NrOyBtYXgtd2lkdGg6IDc0ZXg7IH1cclxuXHJcbi8qKlxyXG4gKiBAbmFtZSAuYm9keTFcclxuICogQGRlc2NyaXB0aW9uIEJvZHkgd3JhcHBlclxyXG4gKiBAZXhhbXBsZSB7IH1cclxuICovXHJcblxyXG4uYm9keTEgeyBwb3NpdGlvbjogcmVsYXRpdmU7IG1hcmdpbi1ib3R0b206IHZhcigtLXMzKTsgfVxyXG4gLmJvZHkxID4gKiB7IHdpZHRoOiBhdXRvOyB9XHJcbiAuYm9keTEgPiA6d2hlcmUoaDIsIGgzKSB7IG1hcmdpbi10b3A6IHZhcigtLXMxKTsgfVxyXG4gLmJvZHkxID4gOndoZXJlKGg0LCBoNSwgaDYpIHsgbWFyZ2luLXRvcDogdmFyKC0tczEpOyB9XHJcbiAuYm9keTEgPiA6d2hlcmUoZmlndXJlLCB0YWJsZSwgYmxvY2txdW90ZSkgeyBtYXJnaW4tYm90dG9tOiB2YXIoLS1zMSk7IH1cclxuIC5ib2R5MSA+IDp3aGVyZSg6Zmlyc3QtY2hpbGQpIHsgbWFyZ2luLXRvcDogMDsgfVxyXG4gLmJvZHkxLXNpZGUgeyBtYXJnaW4tYm90dG9tOiB2YXIoLS1zMik7IH1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcxOXB4KSB7XHJcbi5ib2R5MSA+ICogeyBtYXgtd2lkdGg6IDEwMCU7IH1cclxuLmJvZHkxID4gLi1icmVha291dCB7IG1heC13aWR0aDogbm9uZTsgfVxyXG59XHJcbkBtZWRpYSBwcmludCwgKG1pbi13aWR0aDogMTAyNHB4KSB7XHJcbi5ib2R5MSB7IC0tYjFzOiBjYWxjKCgxMDAlIC0gdmFyKC0teHdfNSkpIC8gMik7IC0tYjFzczogY2FsYyh2YXIoLS1iMXMpIC0gdmFyKC0tczEpKTsgfVxyXG4gLmJvZHkxLXNpZGUgeyBtYXJnaW4tYm90dG9tOiAwOyAgfVxyXG4gLmJvZHkxLXNpZGUuLWxlZnQgeyBmbG9hdDogbGVmdDsgd2lkdGg6IHZhcigtLWIxc3MpOyBtYXJnaW4tcmlnaHQ6IC0xMDAlOyAgfVxyXG4gLmJvZHkxLXNpZGUuLWV2ZW50LWxlZnQgeyBwb3NpdGlvbjogYWJzb2x1dGU7IH1cclxuIC5ib2R5MS1zaWRlLi1yaWdodCB7IGZsb2F0OiByaWdodDsgd2lkdGg6IHZhcigtLWIxc3MpOyBtYXJnaW4tbGVmdDogLTEwMCU7IH1cclxuIC5ib2R5MS1zaWRlLi1zdGlja3kgeyBwb3NpdGlvbjogLXdlYmtpdC1zdGlja3k7IHBvc2l0aW9uOiBzdGlja3k7IHRvcDogdmFyKC0tczEpOyB9XHJcbiAuYm9keTEtcHVsbCB7IC0tYjFzOiBjYWxjKDUwJSAtIHZhcigtLXh3XzUpIC8gMik7IHdpZHRoOiBhdXRvOyBtYXgtd2lkdGg6IDEwMCU7IH1cclxuIC5ib2R5MS1wdWxsLi1sZWZ0IHsgbWFyZ2luLXJpZ2h0OiB2YXIoLS1iMXMpOyB9XHJcbiAuYm9keTEtcHVsbC4tcmlnaHQgeyBtYXJnaW4tbGVmdDogdmFyKC0tYjFzKTsgfVxyXG59XHJcblxyXG4vKipcclxuKiBAbmFtZSAuYm9keTJcclxuKiBAZGVzY3JpcHRpb24gLnNwbGl0MSBib2R5XHJcbiogQGV4YW1wbGUgeyB9XHJcbiovXHJcblxyXG5AbWVkaWEgcHJpbnQsIChtaW4td2lkdGg6IDcyMHB4KSB7XHJcbi5ib2R5MiB7IH1cclxuIC5ib2R5MiA+ICogeyBtYXgtd2lkdGg6IHZhcigtLXh3XzUpOyB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAbmFtZSAuYnJvdzFcclxuICogQGRlc2NyaXB0aW9uIEFyY2hpdmVzIGNvdW50L3NvcnQgbGluZVxyXG4gKiBAZXhhbXBsZSB7IH1cclxuICovXHJcblxyXG4uYnJvdzEgeyBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgbWFyZ2luLWJvdHRvbTogdmFyKC0tczEpOyBwYWRkaW5nLWJvdHRvbTogMS41cmVtOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY19vM3QpOyB9XHJcbiAuYnJvdzEtdGl0bGUgeyBtYXJnaW4tYm90dG9tOiAwOyB9XHJcbiAuYnJvdzEtc29ydCB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBiYXNlbGluZTsgZmxleDogbm9uZTsgbWFyZ2luOiAwIDAgMCAxcmVtOyB9XHJcbiAgLmJyb3cxLXNvcnQgbGFiZWxbZm9yXSB7IGZsZXg6IG5vbmU7IG1hcmdpbi1ib3R0b206IDA7IH1cclxuICAuYnJvdzEtc29ydCBzZWxlY3QgeyAtLWFobTogYXV0bzsgLS1hcHg6IDA7IC0tYXB5OiAwOyAtLWFvc246IDA7IC0tbGg6IDE7IG1hcmdpbjogMCAwIDAgMXJlbTsgcGFkZGluZy1yaWdodDogMS41cmVtOyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDUwJTsgYmFja2dyb3VuZC1zaXplOiAwLjhyZW0gYXV0bzsgfVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzE5cHgpIHtcclxuLmJyb3cxIHsgZGlzcGxheTogYmxvY2s7IH1cclxuIC5icm93MS1zb3J0IHsgbWFyZ2luOiB2YXIoLS1zeSkgMCAwOyB9XHJcbn1cclxuXHJcbi8qKlxyXG4qIEBuYW1lIC5ib3gxXHJcbiogQGRlc2NyaXB0aW9uIEJveFxyXG4qIEBleGFtcGxlIHsgfVxyXG4qL1xyXG5cclxuLmJveDEgeyBwYWRkaW5nOiB2YXIoLS1zMSkgdmFyKC0tc3gpOyBib3JkZXItcmFkaXVzOiB2YXIoLS1icl8xKTsgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLWNfbzF0KSwgMCAxcmVtIDNyZW0gMS41cmVtIHJnYmEodmFyKC0tY19keHQpLCAwLjEpOyB9XHJcbi5ib3gxLi1zaGFkb3dsZXNzIHsgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLWNfbzF0KTsgfVxyXG5cclxuLyoqXHJcbiogQG5hbWUgLmNhcmQxXHJcbiogQGRlc2NyaXB0aW9uIFNpbXBsZSBjYXJkXHJcbiogQGV4YW1wbGUgeyB9XHJcbiovXHJcblxyXG4uY2FyZDEgeyAtLXN5OiB2YXIoLS1zMSk7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxyXG4gLmNhcmQxID4gKiB7IC0tc3k6IDJyZW07IGNvbG9yOiB2YXIoLS1jX2QxdCk7IH1cclxuIC5jYXJkMSA+IC5pbWcxIHsgZGlzcGxheTogYmxvY2s7IH1cclxuXHJcbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcclxuLmNhcmQxLi1ob3ZlcnNoYWRvd1tob3Zlcl0gPiAuaW1nMSB7IGJveC1zaGFkb3c6IDAgMXJlbSAzcmVtIDEuNXJlbSByZ2JhKHZhcigtLWNfZHh0KSwgMC4xKTsgfVxyXG59XHJcblxyXG4vKipcclxuKiBAbmFtZSAuY2FyZDJcclxuKiBAZGVzY3JpcHRpb24gV2hpdGUgYmFja2dyb3VuZCBjYXJkXHJcbiogQGV4YW1wbGUgeyB9XHJcbiovXHJcblxyXG4uY2FyZDIgeyAtLXN5OiB2YXIoLS1zMSk7IHBvc2l0aW9uOiByZWxhdGl2ZTsgcGFkZGluZzogdmFyKC0tczIpIHZhcigtLXMxKTsgfVxyXG4gLmNhcmQyLWxpbmsgeyAtLWFiY246IHZhcigtLWNfYjEpOyAtLWFiY2g6IHZhcigtLWNfYTF0KTsgLS1hb2NuOiB2YXIoLS1jX28xdCk7IC0tYW9jaDogdmFyKC0tYWJjaCk7IC0tYW9zbjogMXB4OyBib3JkZXItcmFkaXVzOiB2YXIoLS1icl8xKTsgYm94LXNoYWRvdzogdmFyKC0tYW9pLCBpbnNldCkgdmFyKC0tYW94LCAwKSB2YXIoLS1hb3ksIDApIHZhcigtLWFvYiwgMCkgdmFyKC0tYW9zLCAwKSB2YXIoLS1hb2MsIGN1cnJlbnRDb2xvciksIDAgMXJlbSAzcmVtIDEuNXJlbSByZ2JhKHZhcigtLWNfZHh0KSwgMC4xKTsgfVxyXG4gLmNhcmQyLW1haW4geyBwb3NpdGlvbjogcmVsYXRpdmU7IGNvbG9yOiB2YXIoLS1jX2QxdCk7IHRyYW5zaXRpb24tcHJvcGVydHk6IHZhcigtLXQ4bl9wMSksIGNvbG9yOyB9XHJcbiAgLmNhcmQyLXRpdGxlIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XHJcbiAgLmNhcmQyLW1vcmUgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cclxuICAgLmNhcmQyLW1vcmUgaSB7IGNvbG9yOiB2YXIoLS1jX2ExdCk7IGZvbnQtc2l6ZTogMS41ZW07IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cclxuICAgLmNhcmQyLW1haW4sIC5jYXJkMi1tb3JlIGkgeyB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdDhuX2QxKSB2YXIoLS10OG5fZTEpOyB0cmFuc2l0aW9uLXByb3BlcnR5OiB2YXIoLS10OG5fcDEpLCBjb2xvcjsgfVxyXG5cclxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xyXG4uY2FyZDI6aG92ZXIgLmNhcmQyLW1vcmUgaSB7IGNvbG9yOiB2YXIoLS1jX2QxdCk7IH1cclxufVxyXG5cclxuLyoqXHJcbiogQG5hbWUgLmNhcmQzXHJcbiogQGRlc2NyaXB0aW9uIENhcmRcclxuKiBAZXhhbXBsZSB7IH1cclxuKi9cclxuXHJcbi5jYXJkMyB7IC0tc3k6IHZhcigtLXMxKTsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsganVzdGlmeS1jb250ZW50OiBzdGFydDsgcG9zaXRpb246IHJlbGF0aXZlOyB9XHJcbiAuY2FyZDMtbGluayB7IC0tYWJjbjogdmFyKC0tY19iMSk7IC0tYWJjaDogdmFyKC0tY19iNHQpOyBib3JkZXItcmFkaXVzOiB2YXIoLS1icl8xKTsgYm94LXNoYWRvdzogdmFyKC0tYW9pLCBpbnNldCkgdmFyKC0tYW94LCAwKSB2YXIoLS1hb3ksIDApIHZhcigtLWFvYiwgMCkgdmFyKC0tYW9zLCAwKSB2YXIoLS1hb2MsIGN1cnJlbnRDb2xvciksIDAgMXJlbSAzcmVtIDEuNXJlbSByZ2JhKHZhcigtLWNfZHh0KSwgMC4xKTsgfVxyXG4gLmNhcmQzLWltYWdlIHsgLS1zeTogdmFyKC0tczIpOyAtLW06IHJhZGlhbC1ncmFkaWVudCg4MCUgMTAwJSBhdCA1MCUgMCwgIzAwMCAxMDAlLCB0cmFuc3BhcmVudCAxMDAlKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tYnJfMSkgdmFyKC0tYnJfMSkgMCAwOyAtd2Via2l0LW1hc2s6IHZhcigtLW0pOyBtYXNrOiB2YXIoLS1tKTsgfVxyXG4gLmNhcmQzLW1haW4geyAtLXN5OiAycmVtOyBwb3NpdGlvbjogcmVsYXRpdmU7IG1heC13aWR0aDogMTAwJTsgcGFkZGluZzogMCB2YXIoLS1zMSkgdmFyKC0tczEpOyBjb2xvcjogdmFyKC0tY19kMXQpOyB0cmFuc2l0aW9uLXByb3BlcnR5OiB2YXIoLS10OG5fcDEpLCBjb2xvcjsgfVxyXG5cclxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xyXG4uY2FyZDM6aG92ZXIgLmNhcmQzLW1haW4geyBjb2xvcjogdmFyKC0tY19pMXQpOyB9XHJcbn1cclxuXHJcbkBtZWRpYSBwcmludCwgKG1pbi13aWR0aDogMTAyNHB4KSB7XHJcbi5jYXJkMy4tdjIgeyBmbGV4LWRpcmVjdGlvbjogcm93OyB9XHJcbiAuY2FyZDMuLXYyIC5jYXJkMy1pbWFnZSB7IC0tbTogcmFkaWFsLWdyYWRpZW50KDEwMCUgMTAwJSBhdCAxMDAlIDUwJSwgIzAwMCAxMDAlLCB0cmFuc3BhcmVudCAxMDAlKTsgb3JkZXI6IDI7IHdpZHRoOiA0Ny41JTsgbWFyZ2luOiAwIDAgMCB2YXIoLS1zMyk7IGJvcmRlci1yYWRpdXM6IDAgdmFyKC0tYnJfMSkgdmFyKC0tYnJfMSkgMDsgfVxyXG4gLmNhcmQzLi12MiAuY2FyZDMtbWFpbiB7IGFsaWduLXNlbGY6IGNlbnRlcjsgd2lkdGg6IDQwcmVtOyBtYXJnaW46IDAgYXV0bzsgcGFkZGluZzogdmFyKC0tczEpOyB9XHJcbn1cclxuXHJcbi8qKlxyXG4qIEBuYW1lIC5jYXJkNFxyXG4qIEBkZXNjcmlwdGlvbiBIb3Jpem9udGFsIGV2ZW50IGNhcmRcclxuKiBAZXhhbXBsZSB7IH1cclxuKi9cclxuXHJcbi5jYXJkNCB7IC0tc3k6IDJyZW07IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxyXG4gLmNhcmQ0LWxpbmsgeyAtLWFiY246IHZhcigtLWNfYjEpOyAtLWFiY2g6IHZhcigtLWNfYTEpOyBib3JkZXItcmFkaXVzOiB2YXIoLS1icl8xKTsgYm94LXNoYWRvdzogdmFyKC0tYW9pLCBpbnNldCkgdmFyKC0tYW94LCAwKSB2YXIoLS1hb3ksIDApIHZhcigtLWFvYiwgMCkgdmFyKC0tYW9zLCAwKSB2YXIoLS1hb2MsIGN1cnJlbnRDb2xvciksIDAgMXJlbSAzcmVtIDEuNXJlbSByZ2JhKHZhcigtLWNfZHh0KSwgMC4xKTsgfVxyXG4gLmNhcmQ0LWltYWdlIHsgLS1zeTogMDsgYm9yZGVyLXJhZGl1czogdmFyKC0tYnJfMSkgdmFyKC0tYnJfMSkgNnJlbSAwOyB9XHJcbiAuY2FyZDQtbWFpbiB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgcGFkZGluZzogdmFyKC0tc3gpOyB0cmFuc2l0aW9uLXByb3BlcnR5OiB2YXIoLS10OG5fcDEpLCBjb2xvcjsgfVxyXG5cclxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xyXG4uY2FyZDQtbGluazpob3ZlciB+IC5jYXJkNC1tYWluIHsgY29sb3I6IHZhcigtLWNfaTF0KTsgfVxyXG59XHJcblxyXG5AbWVkaWEgcHJpbnQsIChtaW4td2lkdGg6IDcyMHB4KSB7XHJcbi5jYXJkNCB7IGRpc3BsYXk6IGZsZXg7IH1cclxuIC5jYXJkNC1pbWFnZVtjbGFzc10geyBmbGV4OiBub25lOyB3aWR0aDogMjglOyBib3JkZXItcmFkaXVzOiB2YXIoLS1icl8xKSA2cmVtIDAgdmFyKC0tYnJfMSk7IH1cclxuIC5jYXJkNC1tYWluIHsgZmxleC1ncm93OiAxOyBwYWRkaW5nOiB2YXIoLS1zMSkgdmFyKC0tczMpOyB9XHJcbn1cclxuXHJcbi8qKlxyXG4qIEBuYW1lIC5jYXJkNVxyXG4qIEBkZXNjcmlwdGlvbiBUYWdnZWQgY2FyZFxyXG4qIEBleGFtcGxlIHsgfVxyXG4qL1xyXG5cclxuLmNhcmQ1IHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XHJcbiAuY2FyZDUtbGluayB7IC0tYWJjbjogdmFyKC0tY19iMSk7IC0tYWJjaDogdmFyKC0tY19hMSk7IGJvcmRlci1yYWRpdXM6IHZhcigtLWJyXzEpOyBib3gtc2hhZG93OiB2YXIoLS1hb2ksIGluc2V0KSB2YXIoLS1hb3gsIDApIHZhcigtLWFveSwgMCkgdmFyKC0tYW9iLCAwKSB2YXIoLS1hb3MsIDApIHZhcigtLWFvYywgY3VycmVudENvbG9yKSwgMCAxcmVtIDNyZW0gMS41cmVtIHJnYmEodmFyKC0tY19keHQpLCAwLjEpOyB9XHJcbiAuY2FyZDUtaW1hZ2UgeyAtLXN5OiAwOyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cclxuICAuY2FyZDUtZmlndXJlIHsgaGVpZ2h0OiAxMDAlOyBtYXJnaW46IDA7IGJvcmRlci1yYWRpdXM6IHZhcigtLWJyXzEpIHZhcigtLWJyXzEpIDAgMDsgfVxyXG4gIC5jYXJkNS1sYWJlbCB7IC0taTogMnJlbTsgLS1pOiBjbGFtcCgycmVtLCA1JSwgM3JlbSk7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogdmFyKC0taSk7IHRvcDogdmFyKC0taSk7IH1cclxuIC5jYXJkNS1tYWluIHsgcG9zaXRpb246IHJlbGF0aXZlOyBwYWRkaW5nOiB2YXIoLS1zMSkgdmFyKC0tc3gpOyB0cmFuc2l0aW9uLXByb3BlcnR5OiB2YXIoLS10OG5fcDEpLCBjb2xvcjsgfVxyXG5cclxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xyXG4uY2FyZDUtbGluazpob3ZlciB+IC5jYXJkNS1tYWluIHsgY29sb3I6IHZhcigtLWNfaTF0KTsgfVxyXG59XHJcblxyXG5AbWVkaWEgcHJpbnQsIChtaW4td2lkdGg6IDcyMHB4KSB7XHJcbi5jYXJkNS4tdjIgeyBkaXNwbGF5OiBmbGV4OyB9IC8qIGhvcml6b250YWwgc3BsaXQgKi9cclxuIC5jYXJkNS4tdjIgLmNhcmQ1LWltYWdlIHsgZmxleDogbm9uZTsgd2lkdGg6IDUwJTsgbWFyZ2luOiAwOyB9XHJcbiAgLmNhcmQ1Li12MiAuY2FyZDUtZmlndXJlIHsgYm9yZGVyLXJhZGl1czogdmFyKC0tYnJfMSkgMCAwIHZhcigtLWJyXzEpOyB9XHJcbiAuY2FyZDUuLXYyIC5jYXJkNS1tYWluIHsgYWxpZ24tc2VsZjogY2VudGVyOyBtYXgtd2lkdGg6IDU0cmVtOyBtYXJnaW4tbGVmdDogYXV0bzsgbWFyZ2luLXJpZ2h0OiBhdXRvOyBwYWRkaW5nOiB2YXIoLS1zMSk7IH1cclxuXHJcbi5jYXJkNS4tdjIuLWZsaXAgeyB9IC8qIHJldmVyc2VkICovXHJcbiAuY2FyZDUuLXYyLi1mbGlwIC5jYXJkNS1pbWFnZSB7IG9yZGVyOiAyOyB9XHJcbiAgLmNhcmQ1Li12Mi4tZmxpcCAuY2FyZDUtZmlndXJlIHsgYm9yZGVyLXJhZGl1czogMCB2YXIoLS1icl8xKSB2YXIoLS1icl8xKSAwOyB9XHJcbiAgLmNhcmQ1Li12Mi4tZmxpcCAuY2FyZDUtbGFiZWwgeyBsZWZ0OiBhdXRvOyByaWdodDogdmFyKC0taSk7IH1cclxufVxyXG5cclxuLyoqXHJcbiogQG5hbWUgLmNhcmQ2XHJcbiogQGRlc2NyaXB0aW9uIFJlc291cmNlIGNhcmRcclxuKiBAZXhhbXBsZSB7IH1cclxuKi9cclxuXHJcbi5jYXJkNiB7IC0tYW9zbjogMXB4OyAtLWFvY246IHJnYmEodmFyKC0tY19keHQpLCAwLjIpOyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBwb3NpdGlvbjogcmVsYXRpdmU7IHBhZGRpbmc6IG1pbigzcmVtLCB2YXIoLS1zeCkpOyB9XHJcbi5jYXJkNi4tdGlnaHQgeyBwYWRkaW5nOiAycmVtOyB9XHJcbi5jYXJkNi4tY3NcXDppIHsgLS1hb3NuOiAwOyB9XHJcbiAuY2FyZDYtbGluayB7IC0tYWJjbjogdmFyKC0tY19iMXQpOyBib3JkZXItcmFkaXVzOiB2YXIoLS1icl8xKTsgYm94LXNoYWRvdzogdmFyKC0tYW9pLCBpbnNldCkgdmFyKC0tYW94LCAwKSB2YXIoLS1hb3ksIDApIHZhcigtLWFvYiwgMCkgdmFyKC0tYW9zLCAwKSB2YXIoLS1hb2MsIGN1cnJlbnRDb2xvciksIDAgMXJlbSAzcmVtIDEuNXJlbSByZ2JhKHZhcigtLWNfZHgpLCAwLjEpOyB9XHJcbiAuY2FyZDYtaW1hZ2UgeyAtLWJyOiBjYWxjKHZhcigtLWJyXzEpICogMC42NSk7IGJvcmRlci1yYWRpdXM6IDAgMCB2YXIoLS1icikgdmFyKC0tYnIpOyB9XHJcbiAuY2FyZDYtbWFpbiB7IGZsZXgtZ3JvdzogMTsgcG9zaXRpb246IHJlbGF0aXZlOyBjb2xvcjogdmFyKC0tY19kMXQpOyB0cmFuc2l0aW9uLXByb3BlcnR5OiB2YXIoLS10OG5fcDEpLCBjb2xvcjsgfVxyXG4gIC5jYXJkNi1tYWluID4gKiB7IC0tc3k6IDEuNnJlbTsgfVxyXG4gICAuY2FyZDYtYnJvdzphZnRlciB7IGRpc3BsYXk6IGJsb2NrOyBjb250ZW50OiAnJzsgd2lkdGg6IDZyZW07IGhlaWdodDogMXB4OyBtYXJnaW46IDEuMnJlbSAwIDA7IGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjsgY29sb3I6IHZhcigtLWNfYTF0KTsgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdmFyKC0tdDhuX3AxKSwgY29sb3I7IH1cclxuICAgLmNhcmQ2Li1jc1xcOmkgLmNhcmQ2LWJyb3c6YWZ0ZXIgeyBjb2xvcjogdmFyKC0tY19kMXQpOyB9XHJcblxyXG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XHJcbi5jYXJkNjpob3ZlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXJlbSk7IH1cclxufVxyXG5cclxuLyoqXHJcbiogQG5hbWUgLmNhcmQ3XHJcbiogQGRlc2NyaXB0aW9uIEhvcml6b250YWwgY2FyZFxyXG4qIEBleGFtcGxlIHsgfVxyXG4qL1xyXG5cclxuLmNhcmQ3IHsgLS1zeTogdmFyKC0tczEpOyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cclxuIC5jYXJkNy1saW5rIHsgIH1cclxuIC5jYXJkNy1pbWFnZSB7IC0tc3k6IDJyZW07IH1cclxuIC5jYXJkNy1tYWluIHsgcG9zaXRpb246IHJlbGF0aXZlOyB0cmFuc2l0aW9uLXByb3BlcnR5OiB2YXIoLS10OG5fcDEpLCBjb2xvcjsgfVxyXG4gIC5jYXJkNy10aXRsZSB7IHRyYW5zaXRpb24tcHJvcGVydHk6IHZhcigtLXQ4bl9wMiksIGNvbG9yOyB9XHJcbiAgLmNhcmQ3LWNhdGVnb3J5W2NsYXNzXSB7IC0tc3k6IDAuNnJlbTsgfVxyXG5cclxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xyXG4uY2FyZDctbGluazpob3ZlciB+IC5jYXJkNy1tYWluIC5jYXJkNy10aXRsZSB7IGNvbG9yOiB2YXIoLS1jX2ExdCk7IH1cclxufVxyXG5cclxuQG1lZGlhIHByaW50LCAobWluLXdpZHRoOiA3MjBweCkge1xyXG4uY2FyZDcgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxyXG4uY2FyZDcuLXNlcFxcPnMgeyBtYXJnaW4tYm90dG9tOiAwOyBwYWRkaW5nLWJvdHRvbTogdmFyKC0tczEpOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY19vMXQpOyB9XHJcbi5jYXJkNy4tc2VwXFw+cyArIC5jYXJkNyB7IGJvcmRlci10b3A6IHZhcigtLXMxKSBzb2xpZCB0cmFuc3BhcmVudDsgfVxyXG4gLmNhcmQ3LWltYWdlIHsgZmxleDogbm9uZTsgbWF4LXdpZHRoOiAzNSU7IG1hcmdpbjogMCB2YXIoLS1zMSkgMCAwOyB9XHJcbiAuY2FyZDctbWFpbiB7IGZsZXgtZ3JvdzogMTsgcG9zaXRpb246IHN0YXRpYzsgfVxyXG4gIC5jYXJkNy1sYWJlbCB7bGVmdDogMDsgdG9wOiAwOyBtYXgtd2lkdGg6IDM1JTsgfVxyXG4gIC8vIC5jYXJkNy1sYWJlbCB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMDsgdG9wOiAwOyBtYXgtd2lkdGg6IDM1JTsgcGFkZGluZzogMnJlbTsgfVxyXG59XHJcbkBtZWRpYSBwcmludCwgKG1pbi13aWR0aDogMTAyNHB4KSB7XHJcbi5jYXJkNy1pbWFnZSB7IG1heC13aWR0aDogMzByZW07IH1cclxuLmNhcmQ3LW1haW4geyB9XHJcbiAuY2FyZDctbWFpbiA+ICogeyBtYXgtd2lkdGg6IHZhcigtLXh3XzUpOyB9XHJcbiAuY2FyZDctbGFiZWwgeyBmbG9hdDogcmlnaHQ7IHBvc2l0aW9uOiBzdGF0aWM7IG1heC13aWR0aDogMTAwJTsgbWFyZ2luOiAwIDAgMCB2YXIoLS1zMSk7IHBhZGRpbmc6IDA7IH1cclxufVxyXG5cclxuLyoqXHJcbiogQG5hbWUgLmNhcmQ4XHJcbiogQGRlc2NyaXB0aW9uIERvbmF0aW9ucyBjYXJkXHJcbiogQGV4YW1wbGUgeyB9XHJcbiovXHJcblxyXG4uY2FyZDggeyAtLXN5OiAycmVtOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxyXG4uY2FyZDguLXNlcCB7IHBhZGRpbmctYm90dG9tOiB2YXIoLS1zeSk7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jX28xdCk7IH1cclxuIC5jYXJkOCA+ICogeyAtLXN5OiAwOyB9XHJcbiAuY2FyZDgtbnVtYmVyIHsgZmxleDogbm9uZTsgbWluLXdpZHRoOiAxLjI1ZW07IH1cclxuIC5jYXJkOC1pbWFnZVtjbGFzc10geyBmbGV4OiBub25lOyB3aWR0aDogNXJlbTsgbWFyZ2luOiAwIDEuNHJlbSAwIDA7IGJvcmRlci1yYWRpdXM6IDUwJTsgfVxyXG4gLmNhcmQ4LW1haW4geyBmbGV4LWdyb3c6IDE7IH1cclxuICAuY2FyZDgtbWFpbiA+ICogeyAtLXN5OiAwLjZyZW07IH1cclxuICAuY2FyZDggLnByb2dyZXNzMiB7IG1hcmdpbi10b3A6IDFyZW07IH1cclxuXHJcbkBtZWRpYSBwcmludCwgKG1pbi13aWR0aDogNzIwcHgpIHtcclxuLmNhcmQ4LW51bWJlciB7IGFsaWduLXNlbGY6IGNlbnRlcjsgfVxyXG4uY2FyZDgtaW1hZ2VbY2xhc3NdIHsgd2lkdGg6IDhyZW07IG1hcmdpbjogMCAycmVtIDAgMXJlbTsgYm9yZGVyLXJhZGl1czogdmFyKC0tYnJfMik7IH1cclxufVxyXG5cclxuLyoqXHJcbiogQG5hbWUgLmNhcmQ5XHJcbiogQGRlc2NyaXB0aW9uIENUQSBjYXJkXHJcbiogQGV4YW1wbGUgeyB9XHJcbiovXHJcblxyXG4uY2FyZDkgeyAtLXN5OiAycmVtOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBhbGlnbi1zZWxmOiBzdGFydDsgcG9zaXRpb246IHJlbGF0aXZlOyBtaW4taGVpZ2h0OiBhdXRvOyBhc3BlY3QtcmF0aW86IDE7IH1cclxuLmNhcmQ5Li1zdHJldGNoIHsgYWxpZ24tc2VsZjogc3RyZXRjaDsgYXNwZWN0LXJhdGlvOiB1bnNldDsgfVxyXG4uY2FyZDkuLWNlbnRlciB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XHJcbiAuY2FyZDktbGluayB7IC0tYXVzOiA7IC0tYWJnbjogOyAtLWFvaTogOyAtLWFveW46IDFyZW07IC0tYW9ibjogM3JlbTsgLS1hb3NuOiAxLjVyZW07IC0tYW9jbjogdHJhbnNwYXJlbnQ7IC0tYW9jaDogcmdiYSh2YXIoLS1jX2R4KSwgMC4xKTsgLS1hYmNuOiB2YXIoLS1jX2IxdCk7IC0tYW9yOiB2YXIoLS1icl8xKTsgfVxyXG4gLmNhcmQ5LW1haW4geyBwb3NpdGlvbjogcmVsYXRpdmU7IHBhZGRpbmc6IHZhcigtLXMxKTsgY29sb3I6IHZhcigtLWNfZDF0KTsgfVxyXG5cclxuLmNhcmQ5Li12MiB7IG1pbi1oZWlnaHQ6IDI0cmVtOyB9XHJcblxyXG5AbWVkaWEgcHJpbnQge1xyXG4uY2FyZDktbGlua1tjbGFzc10geyBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0tY19kMXQpOyBiYWNrZ3JvdW5kOiBub25lOyB9XHJcbn1cclxuXHJcbi8qKlxyXG4qIEBuYW1lIC5jYXJkMTBcclxuKiBAZGVzY3JpcHRpb24gRXZlbnQgY2FyZFxyXG4qIEBleGFtcGxlIHsgfVxyXG4qL1xyXG5cclxuLmNhcmQxMCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxyXG4gLmNhcmQxMC1saW5rIHsgLS1hdXM6IDsgLS1hYmduOiA7IC0tYW9pOiA7IC0tYW9jbjogdHJhbnNwYXJlbnQ7IC0tYW9jaDogcmdiYSh2YXIoLS1jX2R4KSwgMC4xKTsgLS1hYmNuOiAjREZFQ0YxOyAtLWFvcjogdmFyKC0tYnJfMSk7IGJveC1zaGFkb3c6IDAgMXJlbSAzcmVtIDEuNXJlbSB2YXIoLS1hb2MsIGN1cnJlbnRDb2xvciksIGluc2V0IDAgMCAwIDFweCB2YXIoLS1hb2MyLCB2YXIoLS1jX2I2dCkpOyB9XHJcbiAuY2FyZDEwLW1haW4geyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBwb3NpdGlvbjogcmVsYXRpdmU7IGhlaWdodDogMTAwJTsgbWluLWhlaWdodDogMzMuNXJlbTsgcGFkZGluZzogdmFyKC0tc3gpOyBjb2xvcjogdmFyKC0tY19kMXQpOyB9XHJcbiAgLmNhcmQxMC1kYXRlIHsgLS1saDogMTsgbWFyZ2luLWJvdHRvbTogYXV0bzsgcGFkZGluZy1ib3R0b206IHZhcigtLXMyKTsgfVxyXG4gICAuY2FyZDEwLWRhdGUgc3BhbiB7IC0tbGg6IDE7IGRpc3BsYXk6IGJsb2NrOyB9XHJcblxyXG4uY2FyZDEwLi12MiB7IH1cclxuIC5jYXJkMTAuLXYyIC5jYXJkMTAtbGluayB7IC0tYW9jMjogdmFyKC0tY19vMnQpOyAtLWFiY246IHZhcigtLWNfYjEpOyAtLWFiZ246IGxpbmVhci1ncmFkaWVudCgjZjRkNGUyLCB0cmFuc3BhcmVudCA3NSUpOyB9XHJcblxyXG5AbWVkaWEgcHJpbnQsIChtaW4td2lkdGg6IDcyMHB4KSB7XHJcbi5jYXJkMTAtbWFpbiB7IG1pbi1oZWlnaHQ6IDM2cmVtOyBwYWRkaW5nOiAzcmVtOyB9XHJcbn1cclxuXHJcbkBtZWRpYSBwcmludCB7XHJcbi5jYXJkMTAtbGluayB7IGJhY2tncm91bmQ6IG5vbmU7IH1cclxufVxyXG5cclxuLyoqXHJcbiogQG5hbWUgLmNhcmQxMVxyXG4qIEBkZXNjcmlwdGlvbiBGdW5kZWQgcHJvamVjdHNcclxuKiBAZXhhbXBsZSB7IH1cclxuKi9cclxuXHJcbi5jYXJkMTEgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cclxuIC5jYXJkMTEtbGluayB7IC0tYWJjbjogdmFyKC0tY19iMSk7IC0tYWJjaDogdmFyKC0tY19iNCk7IGJvcmRlci1yYWRpdXM6IHZhcigtLWJyXzEpOyBib3gtc2hhZG93OiB2YXIoLS1hb2ksIGluc2V0KSB2YXIoLS1hb3gsIDApIHZhcigtLWFveSwgMCkgdmFyKC0tYW9iLCAwKSB2YXIoLS1hb3MsIDApIHZhcigtLWFvYywgY3VycmVudENvbG9yKSwgMCAxcmVtIDNyZW0gMS41cmVtIHJnYmEodmFyKC0tY19keHQpLCAwLjEpOyB9XHJcbiAuY2FyZDExLW1haW4geyBwb3NpdGlvbjogcmVsYXRpdmU7IHBhZGRpbmc6IHZhcigtLXMxKSB2YXIoLS1zeCk7IGNvbG9yOiB2YXIoLS1jX2QxdCk7IHRyYW5zaXRpb24tcHJvcGVydHk6IHZhcigtLXQ4bl9wMSksIGNvbG9yOyB9XHJcbiAgLmNhcmQxMS1tYWluID4gKiB7IC0tc3k6IDEuOHJlbTsgfVxyXG4gIC5jYXJkMTEtbGlzdCB7IG1hcmdpbi10b3A6IDNyZW07IHBhZGRpbmc6IDA7IH1cclxuICAgLmNhcmQxMS1saXN0IGxpIHsgLS1zeTogMnJlbTsgfVxyXG4gICAgLmNhcmQxMS1saXN0IGxpOmJlZm9yZSB7IGRpc3BsYXk6IG5vbmU7IH1cclxuICAgIC5jYXJkMTEtbGlzdCBsaSA+IHN0cm9uZyB7IGRpc3BsYXk6IGJsb2NrOyBtYXJnaW46IDAgMCAwLjVyZW07IH1cclxuICAuY2FyZDExLWFycm93IHsgLS1saDogMTsgbWFyZ2luLXRvcDogdmFyKC0tczEpOyBmb250LXNpemU6IDZyZW07IH1cclxuICAgLmNhcmQxMS1hcnJvdyBpIHsgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IHdpZHRoOiAxZW07IGhlaWdodDogMWVtOyBib3JkZXItcmFkaXVzOiA1MCU7IGJhY2tncm91bmQ6IHZhcigtLWNfYjR0KTsgY29sb3I6IHZhcigtLWNfaTF0KTsgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdmFyKC0tdDhuX3AxKSwgY29sb3I7IH1cclxuICAgIC5jYXJkMTEtYXJyb3cgaTpiZWZvcmUgeyBmb250LXNpemU6IDAuNWVtOyB9XHJcblxyXG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XHJcbi5jYXJkMTFbaG92ZXJdIC5jYXJkMTEtbWFpbiB7IC0tY19kMXQ6IHZhcigtLWNfaTEpOyAtLWNfaTF0OiB2YXIoLS1jX2QxKTsgfVxyXG4uY2FyZDExW2hvdmVyXSAuY2FyZDExLWFycm93IGkgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jX2QxdCk7IGNvbG9yOiB2YXIoLS1jX2kxdCk7IH1cclxufVxyXG5cclxuQG1lZGlhIHByaW50LCAobWluLXdpZHRoOiA3MjBweCkge1xyXG4uY2FyZDExLW1haW4geyBwYWRkaW5nOiB2YXIoLS1zMikgdmFyKC0tczMpOyB9XHJcbiAuY2FyZDExLWxpc3QgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLDFmcik7IGdyaWQtY29sdW1uLWdhcDogdmFyKC0tczEpOyB9XHJcbiAgLmNhcmQxMS1saXN0IGxpIHsgLS1zeTogMDsgfVxyXG59XHJcblxyXG5AbWVkaWEgcHJpbnQge1xyXG4uY2FyZDExLWFycm93IGkgeyBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHg7IGJhY2tncm91bmQ6IG5vbmU7IGNvbG9yOiB2YXIoLS1jX2I0dCk7IH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEBuYW1lIC5jYXJvdXNlbDFcclxuICogQGRlc2NyaXB0aW9uIFF1b3RlIGNhcm91c2VsXHJcbiAqIEBleGFtcGxlIHsgfVxyXG4gKi9cclxuXHJcbi5jYXJvdXNlbDEgeyAtLXd4OiBjYWxjKDEwMCUgLSB2YXIoLS1weCkgKiAyKTsgLS1weDogdmFyKC0tc3gpOyAtLWd4OiB2YXIoLS1zeCk7IC0tYzogMTsgcG9zaXRpb246IHJlbGF0aXZlOyBtYXJnaW4tYm90dG9tOiB2YXIoLS1zMyk7IH1cclxuIC5jYXJvdXNlbDEtZW50cmllcyB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBzdGFydDsgb3ZlcmZsb3c6IGF1dG87IG92ZXJmbG93LXk6IGhpZGRlbjsgbWFyZ2luLWJvdHRvbTogMDsgcGFkZGluZy1ib3R0b206IDFweDsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgc2Nyb2xsLXNuYXAtdHlwZTogeCBtYW5kYXRvcnk7IHNjcm9sbC1wYWRkaW5nOiAwIHZhcigtLXB4KTsgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7IHNjcm9sbGJhci13aWR0aDogbm9uZTsgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lOyAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IG92ZXJzY3JvbGwtYmVoYXZpb3IteDogY29udGFpbjsgfVxyXG4gLmNhcm91c2VsMS1lbnRyaWVzOjotd2Via2l0LXNjcm9sbGJhciB7IGRpc3BsYXk6IG5vbmU7IH1cclxuICAuY2Fyb3VzZWwxLWVudHJ5IHsgZmxleDogbm9uZTsgd2lkdGg6IGNhbGModmFyKC0td3gpIC8gdmFyKC0tYykgLSB2YXIoLS1neCkgKiAodmFyKC0tYykgLSAxKS92YXIoLS1jKSk7IG1hcmdpbi1ib3R0b206IDA7IHBhZGRpbmc6IDAgNHJlbTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgc2Nyb2xsLXNuYXAtYWxpZ246IHN0YXJ0OyB9XHJcbiAgLmNhcm91c2VsMS1lbnRyaWVzID4gOmZpcnN0LWNoaWxkIHsgbWFyZ2luLWxlZnQ6IHZhcigtLXB4KTsgfVxyXG4gIC5jYXJvdXNlbDEtZW50cnk6bGFzdC1jaGlsZCB7IHdpZHRoOiBjYWxjKHZhcigtLXd4KSAvIHZhcigtLWMpIC0gdmFyKC0tZ3gpICogKHZhcigtLWMpIC0gMSkvdmFyKC0tYykgKyB2YXIoLS1weCkpOyBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1weCk7IH1cclxuICAuY2Fyb3VzZWwxLWVudHJ5IH4gKiB7IG1hcmdpbi1sZWZ0OiB2YXIoLS1neCk7IH1cclxuICAgLmNhcm91c2VsMS1lbnRyeSAucXVvdGUxIHsgbWF4LXdpZHRoOiB2YXIoLS14d18zKTsgbWFyZ2luLWxlZnQ6IGF1dG87IG1hcmdpbi1yaWdodDogYXV0bzsgfVxyXG4gLmNhcm91c2VsMS1uYXYgeyAtLWxoOiAxOyBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogdmFyKC0tc3gpOyByaWdodDogdmFyKC0tc3gpOyB0b3A6IDlyZW07IG1hcmdpbjogMDsgZm9udC1zaXplOiAyLjRyZW07IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XHJcbiA6cm9vdDpub3QoW2pzXSkgLmNhcm91c2VsMS1uYXYgeyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxyXG4gIC5jYXJvdXNlbDEtbmF2IGEgeyAtLWF1czogOyAtLWFiZ246IDsgLS1hdGNuOiB2YXIoLS1jX2ExdCk7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cclxuICAuY2Fyb3VzZWwxLW5hdiBhW2Rpc2FibGVkXSB7IC0tYXRjbjogdmFyKC0tY19kMXQpOyB9XHJcbiAgLmNhcm91c2VsMS1uYXYgYSB+IGEgeyBtYXJnaW4tbGVmdDogMXJlbTsgfVxyXG4gIDpyb290Om5vdChbanNdKSAuY2Fyb3VzZWwxLW5hdiBhIHsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cclxuXHJcbkBtZWRpYSBwcmludCwgKG1pbi13aWR0aDogMTAyNHB4KSB7XHJcbi5jYXJvdXNlbDEgeyAtLWM6IDE7IC0tcHg6IGNhbGMoNTAlIC0gdmFyKC0teHcpIC8gMiArIHZhcigtLXN4KSk7IH1cclxuIC5jYXJvdXNlbDEtbmF2IHsgdG9wOiAxMnJlbTsgcGFkZGluZzogMCBjYWxjKDUwdncgLSB2YXIoLS14d18yKSAvIDIgLSB2YXIoLS1zeCkpOyB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAbmFtZSBbY29sbGFwc2VdXHJcbiAqIEBkZXNjcmlwdGlvbiBDb2xsYXBzZSBoZWxwZXJcclxuICogQGV4YW1wbGUgeyB9XHJcbiAqL1xyXG5cclxuW2NvbGxhcHNlXSB7IHdpbGwtY2hhbmdlOiBoZWlnaHQ7IHRyYW5zaXRpb246IGhlaWdodCB2YXIoLS10OG5fZDIpIHZhcigtLXQ4bl9lMSk7IH1cclxuW2NvbGxhcHNlXS4tdHJhbnNpdGlvbiB7IG92ZXJmbG93OiBoaWRkZW47IH1cclxuW2NvbGxhcHNlXS4tZnJvbSB7IGhlaWdodDogMDsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxyXG5bY29sbGFwc2VdLi10byB7IGhlaWdodDogdmFyKC0taGVpZ2h0LCBhdXRvKTsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxyXG4gW2NvbGxhcHNlXTo6LXdlYmtpdC1zY3JvbGxiYXIgeyBkaXNwbGF5OiBub25lOyB9XHJcblxyXG4vKipcclxuICogQG5hbWUgLmNvbG9yZWQxXHJcbiAqIEBkZXNjcmlwdGlvbiBUaGVtYWJsZSBlbGVtZW50XHJcbiAqIEBleGFtcGxlIHsgfVxyXG4gKi9cclxuXHJcbi5jb2xvcmVkMSB7IGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjsgY29sb3I6IHZhcigtLWNfYjF0KTsgfVxyXG4uY29sb3JlZDEuLWV4cGFuZCB7IGJvcmRlci1pbWFnZTogbGluZWFyLWdyYWRpZW50KGN1cnJlbnRDb2xvcixjdXJyZW50Q29sb3IpIGZpbGwgMC8wLzAgMTAwdncgMDsgfVxyXG4gLmNvbG9yZWQxID4gKiB7IGNvbG9yOiB2YXIoLS1jX2QxdCk7IH1cclxuXHJcbkBtZWRpYSBwcmludCB7XHJcbi5jb2xvcmVkMSB7IGJvcmRlcjogMXB4IHNvbGlkOyBiYWNrZ3JvdW5kOiBub25lOyB9XHJcbi5jb2xvcmVkMS4tZXhwYW5kIHsgYm9yZGVyOiAxcHggc29saWQ7IGJvcmRlci13aWR0aDogMXB4IDA7IH1cclxufVxyXG5cclxuLyoqXHJcbiogQG5hbWUgLmNvbm5lY3QxXHJcbiogQGRlc2NyaXB0aW9uIEZvb3RlciBjb25uZWN0XHJcbiogQGV4YW1wbGUgeyB9XHJcbiovXHJcblxyXG4uY29ubmVjdDEgeyAtLXN5OiAwOyBwYWRkaW5nLXRvcDogdmFyKC0tczIpOyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoI2ZmZiAxMCUsIHZhcigtLWNfYjYpKTsgfVxyXG4gLmNvbm5lY3QxLW1haW4geyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cclxuICAuY29ubmVjdDEtc3Vic2NyaWJlIHsgbWF4LXdpZHRoOiA0MHJlbTsgbWFyZ2luLWxlZnQ6IGF1dG87IG1hcmdpbi1yaWdodDogYXV0bzsgfVxyXG4gIC5jb25uZWN0MS10aXRsZSB7IC0tc3k6IDJyZW07IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxyXG4gIC5jb25uZWN0MS1saW5rcyB7IC0tc3k6IDEuNHJlbTsgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IHBhZGRpbmc6IDA7IH1cclxuICAgLmNvbm5lY3QxLWxpbmtzIGxpIHsgLS1zeTogMDsgfVxyXG4gICAuY29ubmVjdDEtbGlua3MgbGkgfiBsaSB7IG1hcmdpbi1sZWZ0OiB2YXIoLS1zMSk7IH1cclxuICAgIC5jb25uZWN0MS1saW5rcyBsaTpiZWZvcmUgeyBkaXNwbGF5OiBub25lOyB9XHJcbiAuY29ubmVjdDEtaW1hZ2UgeyBtYXgtd2lkdGg6IDI4cmVtOyBtYXJnaW46IDAgYXV0bzsgfVxyXG5cclxuQG1lZGlhIHByaW50LCAobWluLXdpZHRoOiAxMDI0cHgpIHtcclxuLmNvbm5lY3QxLXdyYXAgeyAtLXh3OiB2YXIoLS14d18yKTsgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XHJcbiAuY29ubmVjdDEtbWFpbiB7IGZsZXgtZ3JvdzogMTsgbWFyZ2luOiAwOyBwYWRkaW5nLXRvcDogMnJlbTsgdGV4dC1hbGlnbjogbGVmdDsgfVxyXG4gIC5jb25uZWN0MS1zdWJzY3JpYmUgeyAtLXN5OiB2YXIoLS1zMSk7IG1heC13aWR0aDogMTAwJTsgbWFyZ2luLWxlZnQ6IDA7IH1cclxuICAgLmNvbm5lY3QxLXRpdGxlIHsgLS1zeTogdmFyKC0tc3lvKTsgfVxyXG4gICAuY29ubmVjdDEtc3Vic2NyaWJlIC5maWVsZGJveDEgeyBtYXgtd2lkdGg6IDYwcmVtOyB9XHJcbiAgLmNvbm5lY3QxLWxpbmtzIHsganVzdGlmeS1jb250ZW50OiBzdGFydDsgfVxyXG4gLmNvbm5lY3QxLWltYWdlIHsgYWxpZ24tc2VsZjogZW5kOyBmbGV4OiBub25lOyB3aWR0aDogMTAwJTsgbWF4LXdpZHRoOiA0MHJlbTsgbWFyZ2luOiAwIDAgMCB2YXIoLS1zMyk7IH1cclxufVxyXG5cclxuQG1lZGlhIHByaW50IHtcclxuLmNvbm5lY3QxIHsgYmFja2dyb3VuZDogbm9uZTsgfVxyXG59XHJcblxyXG4vKipcclxuICogQG5hbWUgLmNvbnRlbnQxXHJcbiAqIEBkZXNjcmlwdGlvbiBHbG9iYWwgY29udGVudFxyXG4gKi9cclxuXHJcbi5jb250ZW50MSB7IG1hcmdpbi1ib3R0b206IDA7IH1cclxuIC5jb250ZW50MTpiZWZvcmUgeyBkaXNwbGF5OiBibG9jazsgY29udGVudDogYXR0cihkYXRhLXdhcm5pbmcpOyBtYXJnaW46IDA7IHBhZGRpbmc6IDE0cmVtIDRyZW0gMnJlbTsgYmFja2dyb3VuZDogcmdiYSgxODcsIDM0LCAzNCwgMC4xKTsgY29sb3I6IHJlZDsgdGV4dC1hbGlnbjogY2VudGVyOyB9XHJcbkBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkgeyAuY29udGVudDE6YmVmb3JlIHsgZGlzcGxheTogbm9uZTsgfSB9XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MTlweCkge1xyXG4gLmNvbnRlbnQxOmJlZm9yZSB7IHBhZGRpbmc6IDEuNXJlbSAycmVtOyBmb250LXNpemU6IDEuNHJlbTsgfVxyXG59XHJcblxyXG4vKipcclxuICogQG5hbWUgLmN1cnNvcjFcclxuICogQGRlc2NyaXB0aW9uIEFsdGVybmF0aXZlIGN1cnNvclxyXG4gKiBAZXhhbXBsZSB7IH1cclxuICovXHJcblxyXG4uY3Vyc29yMSB7IGRpc3BsYXk6IG5vbmU7IH1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xyXG4uY3Vyc29yMSB7IC0tYzFteDogLTN2dzsgLS1jMW15OiAtM3ZoOyBkaXNwbGF5OiBibG9jazsgcG9zaXRpb246IGZpeGVkOyBsZWZ0OiAwOyB0b3A6IDA7IG92ZXJmbG93OiBoaWRkZW47IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IHBvaW50ZXItZXZlbnRzOiBub25lOyBtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHk7IH1cclxuLmN1cnNvcjEuLWFjdGl2ZSB7IC0tYzFzOiAxOyB9XHJcbiAuY3Vyc29yMS1tYWluIHsgLS1saDogMTsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiBjYWxjKHZhcigtLW1weCwwKSAqIDEwMCUpOyB0b3A6IGNhbGModmFyKC0tbXB5LDApICogMTAwJSk7IHdpZHRoOiAxZW07IGhlaWdodDogMWVtOyBtYXJnaW46IC0wLjVlbSAwIDAgLTAuNWVtOyBib3JkZXItcmFkaXVzOiA1MCU7IGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjbG9zZXN0LXNpZGUgY2lyY2xlIGF0IDUwJSwgI0RFRjZGRiwgdHJhbnNwYXJlbnQpOyBmb250LXNpemU6IDYwcmVtOyB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLWMxcywgMCkpIHRyYW5zbGF0ZTNkKGNhbGModmFyKC0tYzFteCkgLyAyIC0gdmFyKC0tbXB4LDApICogdmFyKC0tYzFteCkpLCBjYWxjKHZhcigtLWMxbXkpIC8gMiAtIHZhcigtLW1weSwwKSAqIHZhcigtLWMxbXkpKSwgMCk7IHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjFzIGVhc2U7IHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07IH1cclxufVxyXG5cclxuLyoqXHJcbiogQG5hbWUgLmRhdGExXHJcbiogQGRlc2NyaXB0aW9uIERhdGEgbGlzdFxyXG4qIEBleGFtcGxlIHsgfVxyXG4qL1xyXG5cclxuLmRhdGExIHsgcGFkZGluZzogMDsgfVxyXG4gLmRhdGExIGxpIHsgfVxyXG4gIC5kYXRhMSBsaTpiZWZvcmUgeyBkaXNwbGF5OiBub25lOyB9XHJcbiAgLmRhdGExIGxpIHN0cm9uZzpmaXJzdC1jaGlsZCB7IG1hcmdpbi1yaWdodDogMXJlbTsgfVxyXG5cclxuQG1lZGlhIHByaW50LCAobWluLXdpZHRoOiA3MjBweCkge1xyXG4uZGF0YTEuLWMyIHsgY29sdW1uczogMjsgY29sdW1uLWdhcDogdmFyKC0tczEpOyB9XHJcbn1cclxuXHJcbi8qKlxyXG4qIEBuYW1lIC5kZWNvcjFcclxuKiBAZGVzY3JpcHRpb24gRGVjb3JhdGl2ZSBncmFkaWVudFxyXG4qIEBleGFtcGxlIHsgfVxyXG4qL1xyXG5cclxuLmRlY29yMSB7IC0tczogMTAwcmVtOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDA7IHRvcDogMDsgb3ZlcmZsb3c6IGhpZGRlbjsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgfVxyXG4gLmRlY29yMS13cmFwIHsgcG9zaXRpb246IGFic29sdXRlOyByaWdodDogY2FsYyh2YXIoLS1zKSAqIC0wLjM1KTsgdG9wOiBjYWxjKHZhcigtLXMpICogLTAuMzUpOyB3aWR0aDogdmFyKC0tcyk7IGhlaWdodDogdmFyKC0tcyk7IGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjbG9zZXN0LXNpZGUgY2lyY2xlIGF0IDUwJSwgI0RFRjZGRiwgdHJhbnNwYXJlbnQpOyBhbmltYXRpb246IGRlY29yMWEgMTBzIGFsdGVybmF0ZSBpbmZpbml0ZTsgfVxyXG5cclxuQGtleWZyYW1lcyBkZWNvcjFhIHsgMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKSBzY2FsZSgxKSB9IDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zNSUsNSUsMCkgc2NhbGUoMS4xKSB9IH1cclxuXHJcbkBtZWRpYSBwcmludCB7XHJcbi5kZWNvcjEgeyBkaXNwbGF5OiBub25lOyB9XHJcbn1cclxuXHJcbi8qKlxyXG4qIEBuYW1lIC5kZWNvcjJcclxuKiBAZGVzY3JpcHRpb24gRGVjb3JhdGl2ZSBncmFkaWVudCAoY2VudGVyZWQpXHJcbiogQGV4YW1wbGUgeyB9XHJcbiovXHJcblxyXG4uZGVjb3IyIHsgLS1saDogMHB4OyAtLW94dGw6IDEwcmVtOyAtLW94dDogdmFyKC0tb3h0cywgdmFyKC0tb3h0bSwgdmFyKC0tb3h0bCkpKTsgcG9zaXRpb246IHJlbGF0aXZlOyB0b3A6IHZhcigtLW94dCk7IHotaW5kZXg6IC0xOyBtYXJnaW4tYm90dG9tOiAwOyBmb250LXNpemU6IDYwcmVtOyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxyXG4gLmRlY29yMi13cmFwIHsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiA1MCU7IHRvcDogNTAlOyB3aWR0aDogMWVtOyBoZWlnaHQ6IDFlbTsgbWFyZ2luOiAtMC41ZW0gMCAwIC0wLjVlbTsgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNsb3Nlc3Qtc2lkZSBjaXJjbGUgYXQgNTAlLCB2YXIoLS1jLCAjRDVFQkY0KSwgdHJhbnNwYXJlbnQpOyBhbmltYXRpb246IGRlY29yMmEgMi41cyBhbHRlcm5hdGUgaW5maW5pdGUgZWFzZS1pbi1vdXQ7IH1cclxuXHJcbkBrZXlmcmFtZXMgZGVjb3IyYSB7IDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsMCwwKSBzY2FsZSgxLjEpIH0gNTAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCkgc2NhbGUoMSkgfSAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAlLDAsMCkgc2NhbGUoMS4xKSB9IH1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkgYW5kIChtaW4td2lkdGg6IDcyMHB4KSB7XHJcbi5kZWNvcjIgeyAtLW94dDogdmFyKC0tb3h0bSwgdmFyKC0tb3h0bCkpOyBmb250LXNpemU6IDEwMHJlbTsgfVxyXG59XHJcbkBtZWRpYSBwcmludCwgKG1pbi13aWR0aDogMTAyNHB4KSB7XHJcbi5kZWNvcjIgeyAtLW94dDogdmFyKC0tb3h0bCk7IH1cclxufVxyXG5AbWVkaWEgcHJpbnQge1xyXG4uZGVjb3IyIHsgZGlzcGxheTogbm9uZTsgfVxyXG59XHJcblxyXG4vKipcclxuKiBAbmFtZSAuZG9uYXRlMVxyXG4qIEBkZXNjcmlwdGlvbiBEb25hdGUgZHJvcGJveFxyXG4qIEBleGFtcGxlIHsgfVxyXG4qL1xyXG5cclxuLmRvbmF0ZTEgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiAtM3JlbTsgdG9wOiBjYWxjKDEwMCUgKyAycmVtKTsgdmlzaWJpbGl0eTogaGlkZGVuOyB3aWR0aDogNDZyZW07IHBhZGRpbmc6IHZhcigtLXMxKSBjYWxjKHZhcigtLXMxKSAqIDAuNzUpOyBib3JkZXItcmFkaXVzOiB2YXIoLS1icl8xKTsgYm94LXNoYWRvdzogMCAxcmVtIDNyZW0gcmdiYSh2YXIoLS1jX2R4KSwgMC4xKTsgYmFja2dyb3VuZDogdmFyKC0tY19iMSk7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcmVtKTsgb3BhY2l0eTogMDsgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdmFyKC0tdDhuX3AyKTsgfVxyXG5saTpob3ZlciA+IC5kb25hdGUxIHsgdmlzaWJpbGl0eTogdmlzaWJsZTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyBvcGFjaXR5OiAxOyB9XHJcbmxpOmZvY3VzLXdpdGhpbiA+IC5kb25hdGUxIHsgdmlzaWJpbGl0eTogdmlzaWJsZTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyBvcGFjaXR5OiAxOyB9XHJcbiAuZG9uYXRlMTpiZWZvcmUgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiA2LjVyZW07IGJvdHRvbTogMTAwJTsgY29udGVudDogJyc7IGJvcmRlcjogMXJlbSBzb2xpZCB0cmFuc3BhcmVudDsgYm9yZGVyLXdpZHRoOiAxLjRyZW0gMXJlbTsgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tY19iMSk7IH1cclxuIC5kb25hdGUxOmFmdGVyIHsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAwOyBib3R0b206IDEwMCU7IGNvbnRlbnQ6ICcnOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAycmVtOyB9XHJcbiAuZG9uYXRlMS1maWVsZHMgeyAtLXN5OiAxcmVtOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxyXG4gIC5kb25hdGUxLWZpZWxkcyA+ICogeyBmbGV4OiBub25lOyBwb3NpdGlvbjogcmVsYXRpdmU7IG1hcmdpbi1ib3R0b206IDA7IH1cclxuICAuZG9uYXRlMS1maWVsZHMgPiAqIH4gKiB7IG1hcmdpbi1sZWZ0OiAwLjhyZW07IH1cclxuICAgLmRvbmF0ZTEtc3ltYm9sIHsgLS1saDogNXJlbTsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAycmVtOyB0b3A6IDA7IGNvbG9yOiB2YXIoLS1jX2ExdCk7IH1cclxuICAgLmRvbmF0ZTEtYW1vdW50IGlucHV0W3R5cGVdIHsgLS1haG06IDVyZW07IC0tYXB4OiAzcmVtOyAtLWFvY246IHZhcigtLWNfYTF0KTsgLS1hdGNuOiB2YXIoLS1jX2ExdCk7IHdpZHRoOiAxMXJlbTsgZm9udC13ZWlnaHQ6IGJvbGQ7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxyXG4gICAuZG9uYXRlMS10eXBlIHNlbGVjdCB7IC0tYWhtOiA1cmVtOyAtLWFvY246IHZhcigtLWNfYTF0KTsgcGFkZGluZy1yaWdodDogNC44cmVtOyBjb2xvcjogdmFyKC0tY19hMXQpOyBmb250LXdlaWdodDogNzAwOyB9XHJcbiAgLmRvbmF0ZTEtYWN0aW9uIHsgZmxleC1ncm93OiAxOyB9XHJcbiAgIC5kb25hdGUxLWFjdGlvbiAuYnV0dG9uMSB7IC0tYXB4OiAyLjRyZW07IC0tYXdtOiAwOyB3aWR0aDogMTAwJTsgfVxyXG5cclxuLyoqXHJcbiAqIEBuYW1lIC5kcmF3ZXIxXHJcbiAqIEBkZXNjcmlwdGlvbiBTbGlkaW5nIGRyYXdlclxyXG4gKiBAZXhhbXBsZSB7IH1cclxuICovXHJcblxyXG4uZHJhd2VyMSB7IC0tdzogMzJyZW07IC0taDogNzV2aDsgLS1keDogLTE7IC0tcHg6IHZhcigtLXMxKTsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgcG9zaXRpb246IGZpeGVkOyBsZWZ0OiAwOyB0b3A6IDA7IHotaW5kZXg6IDIwMTsgb3ZlcmZsb3c6IGhpZGRlbjsgd2lkdGg6IHZhcigtLXcpOyBtYXgtd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgbWF4LWhlaWdodDogMTAwJTsgbWFyZ2luOiAwOyBib3gtc2hhZG93OiAwIDAgNHJlbSByZ2JhKHZhcigtLWNfZHgpLDAuMTUpOyBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7IGNvbG9yOiB2YXIoLS1jX2IydCk7IHRyYW5zaXRpb246IGFsbCB2YXIoLS10OG5fZDIpIHZhcigtLXQ4bl9lMSk7IHRyYW5zaXRpb24tcHJvcGVydHk6IHZhcigtLXQ4bl9wMSk7IHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07IH1cclxuLmRyYXdlcjEuLXJpZ2h0IHsgLS1keDogMTsgcmlnaHQ6IDA7IGxlZnQ6IGF1dG87IH1cclxuLmRyYXdlcjEuLWJvdHRvbSwgLmRyYXdlcjEuLXRvcCB7IC0tdzogMTAwJTsgLS1keDogMDsgLS1keTogLTE7IC0tcHg6IHZhcigtLXN4KTsgaGVpZ2h0OiBhdXRvOyBtYXgtaGVpZ2h0OiB2YXIoLS1oKTsgbWF4LWhlaWdodDogbWluKHZhcigtLWgpLCAxMDAlKTsgfVxyXG4uZHJhd2VyMS4tYm90dG9tIHsgLS1keTogMTsgdG9wOiBhdXRvOyBib3R0b206IDA7IH1cclxuLmRyYXdlcjEuLWZyb20geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYyh2YXIoLS1keCwgMCkgKiAxMDAlKSkgdHJhbnNsYXRlWShjYWxjKHZhcigtLWR5LCAwKSAqIDEwMCUpKTsgfVxyXG4gLmRyYXdlcjEgPiAqIHsgY29sb3I6IHZhcigtLWNfZDF0KTsgdHJhbnNpdGlvbjogYWxsIHZhcigtLXQ4bl9kMikgdmFyKC0tdDhuX2UxKTsgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdmFyKC0tdDhuX3AxKTsgfVxyXG4gLmRyYXdlcjEuLWZyb20gPiAqIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGModmFyKC0tZHgsIDApICogLTEwcmVtKSkgdHJhbnNsYXRlWShjYWxjKHZhcigtLWR5LCAwKSAqIC0xMHJlbSkpOyB9XHJcbiAuZHJhd2VyMS1jbG9zZSB7IC0tbGg6IDE7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgcmlnaHQ6IDA7IHRvcDogMDsgei1pbmRleDogMjsgbWFyZ2luOiAwOyBwYWRkaW5nOiAxLjZyZW0gMS44cmVtOyBmb250LXNpemU6IDJyZW07IH1cclxuIC5kcmF3ZXIxLXdyYXAgeyBmbGV4LWdyb3c6IDE7IG92ZXJmbG93OiBhdXRvOyBtYXJnaW46IDA7IHNjcm9sbGJhci13aWR0aDogbm9uZTsgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lOyAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47IH1cclxuIC5kcmF3ZXIxLXdyYXA6Oi13ZWJraXQtc2Nyb2xsYmFyIHsgZGlzcGxheTogbm9uZTsgfVxyXG4gIC5kcmF3ZXIxLW1haW4geyB3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tcHgpICogMik7IG1heC13aWR0aDogdmFyKC0teHdfMSk7IG1hcmdpbjogMCBhdXRvOyBwYWRkaW5nOiA2LjRyZW0gMCAwOyB9XHJcbiAgIC5kcmF3ZXIxLi1ib3R0b20gLmRyYXdlcjEtbWFpbjphZnRlciB7IGRpc3BsYXk6IGJsb2NrOyBjb250ZW50OiAnJzsgaGVpZ2h0OiBtYXgoZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pICsgMi41cmVtLCB2YXIoLS1weCkpOyB9XHJcblxyXG4uZHJhd2VyMS4tc2VhcmNoIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IG1pbi1oZWlnaHQ6IDE4cmVtOyB9XHJcbiAuZHJhd2VyMS4tc2VhcmNoIC5kcmF3ZXIxLXdyYXAgeyBmbGV4LWdyb3c6IDA7IH1cclxuIC5kcmF3ZXIxLi1zZWFyY2ggLmRyYXdlcjEtbWFpbiB7IHBhZGRpbmc6IHZhcigtLXMyKSAwOyBwYWRkaW5nOiBtYXgodmFyKC0tczIpLCA1cmVtKSAwOyB9XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MTlweCkge1xyXG4uZHJhd2VyMSB7IC0tcHg6IHZhcigtLXN4KTsgfVxyXG59XHJcblxyXG4vKipcclxuICogQG5hbWUgLmVtYmVkMVxyXG4gKiBAZGVzY3JpcHRpb24gUmVzcG9uc2l2ZSBlbWJlZHNcclxuICovXHJcblxyXG4uZW1iZWQxIHsgZGlzcGxheTogYmxvY2s7IHBvc2l0aW9uOiByZWxhdGl2ZTsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxyXG4gLmVtYmVkMTpiZWZvcmUgeyBkaXNwbGF5OiBibG9jazsgY29udGVudDogJyc7IHdpZHRoOiAxMDAlOyBwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1yLCAwLjU2MjUpICogMTAwJSk7IH1cclxuIC5lbWJlZDEgaWZyYW1lIHsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGxlZnQ6IDA7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IH1cclxuXHJcbi8qKlxyXG4gKiBAbmFtZSAuZXJyb3IxXHJcbiAqIEBkZXNjcmlwdGlvbiBFcnJvciBwYWdlIG92ZXJsYXlcclxuICovXHJcblxyXG4uZXJyb3IxIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgcG9zaXRpb246IGZpeGVkOyBsZWZ0OiAwOyB0b3A6IDA7IHotaW5kZXg6IDIwMTsgd2lkdGg6IDEwMCU7IG1heC13aWR0aDogbm9uZTsgaGVpZ2h0OiB2YXIoLS12aHgpOyBtYXJnaW46IDA7IGJhY2tncm91bmQ6ICNmMmYyZjI7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxyXG4gLmVycm9yMS13cmFwIHsgbWFyZ2luLWxlZnQ6IGF1dG87IG1hcmdpbi1yaWdodDogYXV0bzsgfVxyXG4gIC5lcnJvcjEtY29kZSB7IG1hcmdpbjogMDsgZm9udC1zaXplOiA4LjJyZW07IGxpbmUtaGVpZ2h0OiAxOyBvcGFjaXR5OiAwLjI7IH1cclxuICAuZXJyb3IxLXRpdGxlIHsgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxyXG4gIC5lcnJvcjEtaW5mbyB7IG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tc3kpIC8gMik7IH1cclxuXHJcbi8qKlxyXG4gKiBAbmFtZSAuZmllbGRzMVxyXG4gKiBAZGVzY3JpcHRpb24gRm9ybSBmaWVsZHNcclxuICogQGV4YW1wbGUgeyB9XHJcbiAqL1xyXG5cclxuLmZpZWxkczEgeyAtLWd4OiAzcmVtOyAtLWd5OiAycmVtOyB9XHJcbiAuZmllbGRzMSA+IDpub3QoW3ddKSB7IC0tdzogMjQ7IH1cclxuICAuZmllbGRzMSBsYWJlbDpmaXJzdC1jaGlsZCB7IC0tbGg6IDEuMzM7IGRpc3BsYXk6IGJsb2NrOyBtYXJnaW4tYm90dG9tOiAxcmVtOyBmb250OiA3MDAgMS42cmVtL3ZhcigtLWxoKSB2YXIoLS1mZl8xKTsgbGV0dGVyLXNwYWNpbmc6IC0wLjA0ZW07IH1cclxuICAuZmllbGRzMSBlbSB7IGNvbG9yOiB2YXIoLS1jX2UxdCk7IGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxyXG5cclxuLyoqXHJcbiAqIEBuYW1lIC5maWVsZGJveDFcclxuICogQGRlc2NyaXB0aW9uIEZpZWxkcyBjb21ibyB3aXRoIGljb25cclxuICogQGV4YW1wbGUgeyB9XHJcbiAqL1xyXG5cclxuLmZpZWxkYm94MSB7IC0taDogNC44cmVtOyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cclxuIC5maWVsZGJveDEgaW5wdXRbdHlwZV0geyAtLWFobTogdmFyKC0taCk7IC0tYWJjbjogdmFyKC0tY19iMSk7IC0tYW9yOiBjYWxjKHZhcigtLWFobSkgLyAyKTsgLS1hdGNuOiB2YXIoLS1jX2QxKTsgcGFkZGluZy1yaWdodDogdmFyKC0tYWhtKTsgfVxyXG4gLmZpZWxkYm94MSAuYnV0dG9uMSB7IC0tYXdtOiB2YXIoLS1haG0pOyAtLWFobTogdmFyKC0taCk7IC0tYXB4OiAwOyAtLWFweTogMDsgLS1hb3I6IDA7IC0tYXRjbjogdmFyKC0tY19kMXQpOyBwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiAwLjVyZW07IHRvcDogMDsgYm94LXNoYWRvdzogbm9uZTsgYmFja2dyb3VuZDogbm9uZTsgZm9udC1zaXplOiBjYWxjKHZhcigtLWgpICogMC42KTsgfVxyXG5cclxuQG1lZGlhIHByaW50LCAobWluLXdpZHRoOiA3MjBweCkge1xyXG4uZmllbGRib3gxIHsgLS1oOiA2cmVtOyB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAbmFtZSAuZmllbGRib3gyXHJcbiAqIEBkZXNjcmlwdGlvbiBGaWVsZHMgY29tYm8gd2l0aCByZWd1bGFyIGJ1dHRvblxyXG4gKiBAZXhhbXBsZSB7IH1cclxuICovXHJcblxyXG4uZmllbGRib3gyIHsgLS1oOiA0LjhyZW07IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxyXG4gLmZpZWxkYm94MiBpbnB1dFt0eXBlXSB7IC0tYWhtOiB2YXIoLS1oKTsgLS1hYmNuOiB2YXIoLS1jX2IxKTsgLS1hb3I6IGNhbGModmFyKC0tYWhtKSAvIDIpOyAtLWF0Y246IHZhcigtLWNfZDEpOyBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1haG0pOyB9XHJcbiAuZmllbGRib3gyIC5idXR0b24xIHsgLS1hd206IDEwMCU7IC0tYWhtOiB2YXIoLS1oKTsgbWFyZ2luLXRvcDogMXJlbTsgfVxyXG5cclxuQG1lZGlhIHByaW50LCAobWluLXdpZHRoOiA3MjBweCkge1xyXG4uZmllbGRib3gyIHsgLS1oOiA2cmVtOyB9XHJcbiAuZmllbGRib3gyIC5idXR0b24xIHsgLS1hd206IDE4cmVtOyAtLWFobTogdmFyKC0taCk7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgcmlnaHQ6IDA7IHRvcDogMDsgbWFyZ2luOiAwOyB9XHJcbn1cclxuXHJcbi8qKlxyXG4qIEBuYW1lIC5maWx0ZXJzMVxyXG4qIEBkZXNjcmlwdGlvbiBBcmNoaXZlIGZpbHRlcnNcclxuKiBAZXhhbXBsZSB7IH1cclxuKi9cclxuXHJcbi5maWx0ZXJzMSB7IC0tc3k6IHZhcigtLXMyKTsgYmFja2dyb3VuZDogdmFyKC0tY19iMnQpOyB9XHJcbiAuZmlsdGVyczEtdGl0bGUgeyAtLXN5OiAwOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBwYWRkaW5nOiAzcmVtIDA7IH1cclxuICAuZmlsdGVyczEtdGl0bGUgPiBpIHsgLS1saDogMTsgY29sb3I6IHZhcigtLWNfYTF0KTsgZm9udC1zaXplOiAxLjVlbTsgfVxyXG4gIC5maWx0ZXJzMS10aXRsZSA+IHNwYW4geyBwYWRkaW5nOiAwIDFyZW07IH1cclxuICAuZmlsdGVyczEtYW5nbGUgeyBtYXJnaW4tbGVmdDogYXV0bzsgfVxyXG4gIC5maWx0ZXJzMS4tYWN0aXZlIC5maWx0ZXJzMS1hbmdsZSB7IHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cclxuIC5maWx0ZXJzMS1tYWluIHsgLS1zeTogM3JlbTsgbWFyZ2luLWJvdHRvbTogMDsgfVxyXG4gIC5maWx0ZXJzMS1tYWluOmFmdGVyIHsgZGlzcGxheTogYmxvY2s7IGNvbnRlbnQ6ICcnOyBoZWlnaHQ6IHZhcigtLXN5KTsgfVxyXG4gIC5maWx0ZXJzMS1ibG9jayB7IC0tc3k6IGluaGVyaXQ7IHBhZGRpbmctdG9wOiB2YXIoLS1zeSk7IGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jX28xdCk7IH1cclxuICAgLmZpbHRlcnMxLXN1YnRpdGxlIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxyXG4gICAgLmZpbHRlcnMxLXN1YnRpdGxlIGkgeyAtLWxoOiAxOyBmbGV4OiBub25lOyBtYXJnaW46IDAgMC43NXJlbSAwIDA7IGNvbG9yOiB2YXIoLS1jX2ExdCk7IGZvbnQtc2l6ZTogMS41ZW07IH1cclxuICAgLmZpbHRlcnMxLXRpY2tzIHsgcGFkZGluZzogMDsgfVxyXG4gICAgLmZpbHRlcnMxLXRpY2tzIGxpIHsgfVxyXG4gICAgIC5maWx0ZXJzMS10aWNrcyBsaTpiZWZvcmUgeyBkaXNwbGF5OiBub25lOyB9XHJcbiAuZmlsdGVyczEtdG9nZ2xlcltjbGFzc10geyBkaXNwbGF5OiBub25lOyB9XHJcblxyXG5AbWVkaWEgcHJpbnQsIChtaW4td2lkdGg6IDEwMjRweCkge1xyXG4uZmlsdGVyczEtd3JhcCB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cclxuIC5maWx0ZXJzMS10aXRsZSB7IGZsZXg6IG5vbmU7IG1pbi13aWR0aDogMTIuNSU7IG1pbi1oZWlnaHQ6IDhyZW07IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XHJcbiAgLmZpbHRlcnMxLWFuZ2xlW2NsYXNzXSB7IGRpc3BsYXk6IG5vbmU7IH1cclxuIC5maWx0ZXJzMS1tYWluIHsgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyBmbGV4LWdyb3c6IDE7IG92ZXJmbG93OiBoaWRkZW47IGhlaWdodDogOHJlbTsgcGFkZGluZy1yaWdodDogM3JlbTsgfVxyXG4gLmZpbHRlcnMxLi1kZXNrdG9wIC5maWx0ZXJzMS1tYWluIHsgaGVpZ2h0OiAzM3JlbTsgfVxyXG4gLmZpbHRlcnMxOmZvY3VzLXdpdGhpbiAuZmlsdGVyczEtbWFpbiB7IGhlaWdodDogMzNyZW07IH1cclxuICAuZmlsdGVyczEtYmxvY2sgeyAtLXN5OiAwOyBwb3NpdGlvbjogcmVsYXRpdmU7IHdpZHRoOiAyNSU7IG1hcmdpbjogMDsgcGFkZGluZzogMCAwIDAgNHJlbTsgYm9yZGVyLXRvcC13aWR0aDogMDsgfVxyXG4gICAuZmlsdGVyczEtYmxvY2s6YmVmb3JlIHsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtMi41cHg7IHRvcDogMXJlbTsgY29udGVudDogJyc7IGhlaWdodDogNnJlbTsgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1jX28xdCk7IH1cclxuICAgLmZpbHRlcnMxLWJsb2NrOmZpcnN0LWNoaWxkOmJlZm9yZSB7IGxlZnQ6IDA7IH1cclxuICAgLmZpbHRlcnMxLXN1YnRpdGxlIHsgbWFyZ2luLWJvdHRvbTogMDsgbWluLWhlaWdodDogOHJlbTsgfVxyXG4gICAuZmlsdGVyczEtdGlja3MgeyBvdmVyZmxvdzogYXV0bzsgaGVpZ2h0OiAyNXJlbTsgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XHJcbiAgICAuZmlsdGVyczEtdGlja3M6Oi13ZWJraXQtc2Nyb2xsYmFyIHsgd2lkdGg6IDRweDsgfVxyXG4gICAgLmZpbHRlcnMxLXRpY2tzOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7IGJvcmRlci1yYWRpdXM6IDJweDsgYmFja2dyb3VuZDogdmFyKC0tY19vMnQpOyB9XHJcbiAgICAuZmlsdGVyczEtdGlja3MgPiA6bGFzdC1jaGlsZCB7IHBhZGRpbmctYm90dG9tOiAycmVtOyB9XHJcbiAuZmlsdGVyczEtdG9nZ2xlcltjbGFzc10geyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBtaW4taGVpZ2h0OiA4cmVtOyBjb2xvcjogdmFyKC0tY19hMXQpOyBmb250LXNpemU6IDIuNHJlbTsgfVxyXG4gIC5maWx0ZXJzMS10b2dnbGVyOmFmdGVyIHsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAwOyB0b3A6IDA7IGNvbnRlbnQ6ICcnOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiA4cmVtOyB9XHJcbiAuZmlsdGVyczEuLWRlc2t0b3AgLmZpbHRlcnMxLXRvZ2dsZXI6YmVmb3JlIHsgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxyXG59XHJcblxyXG5AbWVkaWEgcHJpbnQge1xyXG4uZmlsdGVyczEgeyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jX28xdCk7IGJvcmRlci13aWR0aDogMXB4IDA7IGJhY2tncm91bmQ6IG5vbmU7IH1cclxufVxyXG5cclxuLyoqXHJcbiogQG5hbWUgLmZpbHRlcnMyXHJcbiogQGRlc2NyaXB0aW9uIEFyY2hpdmUgZmlsdGVyc1xyXG4qIEBleGFtcGxlIHsgfVxyXG4qL1xyXG5cclxuLmZpbHRlcnMyIHsgfVxyXG4gLmZpbHRlcnMyLWVudHJpZXMgeyAtLXN5OiAwOyBkaXNwbGF5OiBub25lOyBhbGlnbi1pdGVtczogY2VudGVyOyBwYWRkaW5nOiAwOyB9XHJcbiAgLmZpbHRlcnMyLWVudHJpZXMgbGkgeyAtLXN5OiAwOyB9XHJcbiAgLmZpbHRlcnMyLWVudHJpZXMgbGkgfiBsaSB7IG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cclxuICAgLmZpbHRlcnMyLWVudHJpZXMgbGk6YmVmb3JlIHsgZGlzcGxheTogbm9uZTsgfVxyXG4gICAuZmlsdGVyczItZW50cmllcyBpbnB1dFt0eXBlXSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogLTEwMDAxcHggfVxyXG4gICAuZmlsdGVyczItZW50cmllcyBsYWJlbFtmb3JdIHsgLS1saDogM3JlbTsgZGlzcGxheTogYmxvY2s7IHBhZGRpbmc6IDAgMS41cmVtOyBib3JkZXItcmFkaXVzOiAxLjVyZW07IH1cclxuICAgIC5maWx0ZXJzMi1lbnRyaWVzIGxhYmVsW2Zvcl0gc3BhbiB7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbiAgIC5maWx0ZXJzMi1lbnRyaWVzIDpjaGVja2VkICsgbGFiZWxbZm9yXSB7IGJhY2tncm91bmQ6ICNkZmU3ZTg7IH1cclxuICAgIC5maWx0ZXJzMi1lbnRyaWVzIDpjaGVja2VkICsgbGFiZWxbZm9yXSBzcGFuIHsgYm94LXNoYWRvdzogMCAxcHg7IH1cclxuIC5maWx0ZXJzMi1zZWxlY3QgeyAtLXN5OiAwOyB9XHJcblxyXG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XHJcbi5maWx0ZXJzMi1lbnRyaWVzIGxhYmVsW2Zvcl06aG92ZXIgPiBzcGFuIHsgYm94LXNoYWRvdzogMCAxcHg7ICB9XHJcbn1cclxuXHJcbkBtZWRpYSBwcmludCwgKG1pbi13aWR0aDogNzIwcHgpIHtcclxuLmZpbHRlcnMyLi1zZXBcXD5zIHsgbWFyZ2luLWJvdHRvbTogdmFyKC0tczEpOyBwYWRkaW5nLWJvdHRvbTogdmFyKC0tczEpOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY19vMXQpOyB9XHJcbn1cclxuQG1lZGlhIHByaW50LCAobWluLXdpZHRoOiAxMDI0cHgpIHtcclxuLmZpbHRlcnMyLWVudHJpZXMgeyBkaXNwbGF5OiBmbGV4OyB9XHJcbi5maWx0ZXJzMi1zZWxlY3QgeyBkaXNwbGF5OiBub25lOyB9XHJcbn1cclxuXHJcbi8qKlxyXG4qIEBuYW1lIC5maXhlcjFcclxuKiBAZGVzY3JpcHRpb24gQ2hyb21lIHByaW50IHNjYWxlIGZpeFxyXG4qIEBleGFtcGxlIHsgfVxyXG4qL1xyXG5cclxuLmZpeGVyMSB7IGRpc3BsYXk6IGZsZXg7IG92ZXJmbG93OiBoaWRkZW47IGhlaWdodDogMXB4OyB9XHJcbiAuZml4ZXIxID4gLmltZzEgeyBmbGV4OiBub25lOyB3aWR0aDogMzAwJTsgfVxyXG5cclxuQG1lZGlhIHNjcmVlbiB7XHJcbi5maXhlcjEgeyBkaXNwbGF5OiBub25lOyB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAbmFtZSAuZmxvYXQxXHJcbiAqIEBkZXNjcmlwdGlvbiBGbG9hdGluZyBjb250YWluZXJcclxuICogQGV4YW1wbGUgeyB9XHJcbiAqL1xyXG5cclxuQG1lZGlhIHByaW50LCAobWluLXdpZHRoOiA3MjBweCkge1xyXG4uZmxvYXQxIHsgZGlzcGxheTogYmxvY2s7IG1hcmdpbi1ib3R0b206IDA7IH1cclxuIC5mbG9hdDEgPiA6Zmlyc3QtY2hpbGQgeyBkaXNwbGF5OiBibG9jazsgZmxvYXQ6IHJpZ2h0OyB3aWR0aDogdmFyKC0tdywgMzRyZW0pOyBtYXJnaW46IDAgMCAwIHZhcigtLXMxKTsgfVxyXG4gLmZsb2F0MVtjbGFzc10gPiA6Zmlyc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XHJcbiAuZmxvYXQxLi1sZWZ0ID4gOmZpcnN0LWNoaWxkIHsgZmxvYXQ6IGxlZnQ7IG1hcmdpbi1yaWdodDogdmFyKC0tczEpOyBtYXJnaW4tbGVmdDogMDsgfVxyXG59XHJcblxyXG4vKipcclxuICogQG5hbWUgLmZvb3RlcjFcclxuICogQGRlc2NyaXB0aW9uIEdsb2JhbCBmb290ZXJcclxuICovXHJcblxyXG4uZm9vdGVyMSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTAxOyBtYXJnaW4tYm90dG9tOiAwOyBwYWRkaW5nOiAyLjRyZW0gMDsgYmFja2dyb3VuZDogdmFyKC0tY19iMXQpOyBjb2xvcjogdmFyKC0tY19kMXQpOyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cclxuIC5mb290ZXIxLWNvcHlzID4gc3BhbiB7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbiAuZm9vdGVyMS1saW5rcyB7IGRpc3BsYXk6IGJsb2NrOyBwYWRkaW5nOiAwOyB9XHJcbiAgLmZvb3RlcjEtbGlua3MgbGkgeyAtLXN5OiAxLjZyZW07IH1cclxuICAgLmZvb3RlcjEtbGlua3MgbGk6YmVmb3JlIHsgZGlzcGxheTogbm9uZTsgfVxyXG5cclxuQG1lZGlhIHByaW50LCAobWluLXdpZHRoOiAxMDI0cHgpIHtcclxuLmZvb3RlcjEtd3JhcCB7IGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgdGV4dC1hbGlnbjogbGVmdDsgfVxyXG4gLmZvb3RlcjEtY29weXMgeyAtLXN5OiAwOyB9XHJcbiAgLmZvb3RlcjEtY29weXMgPiBzcGFuIHsgZGlzcGxheTogaW5saW5lOyB9XHJcbiAuZm9vdGVyMS1saW5rcyB7IGRpc3BsYXk6IGZsZXg7IH1cclxuICAuZm9vdGVyMS1saW5rcyBsaSB7IC0tc3k6IDA7IH1cclxuICAuZm9vdGVyMS1saW5rcyBsaSB+IGxpIHsgbWFyZ2luLWxlZnQ6IHZhcigtLXMxKTsgfVxyXG59XHJcblxyXG4vKipcclxuICogQG5hbWUgLmdhbGxlcnkxXHJcbiAqIEBkZXNjcmlwdGlvbiBHYWxsZXJ5XHJcbiAqIEBleGFtcGxlIHsgfVxyXG4gKi9cclxuXHJcbi5nYWxsZXJ5MSB7IG92ZXJmbG93OiBoaWRkZW47IHBhZGRpbmctbGVmdDogdmFyKC0tc3gpOyBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zeCk7IH1cclxuIC5nYWxsZXJ5MS13cmFwIHsgcG9zaXRpb246IHJlbGF0aXZlOyBtYXgtd2lkdGg6IHZhcigtLXh3XzQpOyBtYXJnaW46IDAgYXV0bzsgfVxyXG4gIC5nYWxsZXJ5MS1tYWluIHsgbWF4LXdpZHRoOiA5NSU7IG1hcmdpbi1ib3R0b206IDJyZW07IH1cclxuICAgLmdhbGxlcnkxIC50bnMtb3V0ZXIgeyBtYXJnaW4tYm90dG9tOiAwOyB9XHJcbiAgICAuZ2FsbGVyeTEgLnRucy1vdXRlciA+IC50bnMtb3ZoIHsgb3ZlcmZsb3c6IHZpc2libGU7IH1cclxuICAgIC5nYWxsZXJ5MS1lbnRyaWVzIHsgZGlzcGxheTogZmxleDsgb3ZlcmZsb3c6IGF1dG87IG1hcmdpbjogMDsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgc2Nyb2xsLXNuYXAtdHlwZTogeCBtYW5kYXRvcnk7IHNjcm9sbGJhci13aWR0aDogbm9uZTsgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lOyAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cclxuICAgIC5nYWxsZXJ5MS1lbnRyaWVzLnRucy1zbGlkZXIgeyB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tdDhuX2UxKTsgfVxyXG4gICAgLmdhbGxlcnkxLWVudHJpZXM6Oi13ZWJraXQtc2Nyb2xsYmFyIHsgZGlzcGxheTogbm9uZTsgfVxyXG4gICAgIC5nYWxsZXJ5MS1lbnRyeSB7IGZsZXg6IG5vbmU7IHdpZHRoOiAxMDAlOyBtYXJnaW46IDAgdmFyKC0tczMpIDAgMDsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgc2Nyb2xsLXNuYXAtYWxpZ246IHN0YXJ0OyB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzOyB9XHJcbiAgICAgW2pzXSAuZ2FsbGVyeTEtZW50cnkgeyB3aWR0aDogYXV0bzsgbWFyZ2luLXJpZ2h0OiAwOyB9XHJcbiAgICAgIFtqc10gLmdhbGxlcnkxLWVudHJ5IGZpZ3VyZSB7IG1hcmdpbi1ib3R0b206IDA7IH1cclxuICAgICAgW2pzXSAuZ2FsbGVyeTEtZW50cnkgW2NhcHRpb25dIHsgZGlzcGxheTogbm9uZTsgfVxyXG4gICAgICAuZ2FsbGVyeTFbc3R5bGUqPVwiLS1hcjpcIl0gLmdhbGxlcnkxLWVudHJ5IC5pbWcxW2NsYXNzXTpiZWZvcmUgeyBwYWRkaW5nLWJvdHRvbTogY2FsYygxMDAlIC8gdmFyKC0tYXIpKTsgfVxyXG4gICAuZ2FsbGVyeTEtYXJyb3cgeyAtLWxoOiAxOyAtLWF1czogOyAtLWFiZ246IDsgLS1hdGNuOiB2YXIoLS1jX2ExdCk7IC0tYXZvaDogMC43NTsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMWVtOyBib3R0b206IDA7IHotaW5kZXg6IDI7IGZvbnQ6IDJyZW0vMSBJY29uczsgdGV4dC1hbGlnbjogY2VudGVyOyBwb2ludGVyLWV2ZW50czogYXV0bzsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XHJcbiAgIC5nYWxsZXJ5MS1hcnJvdy4tcHJldiB7IGxlZnQ6IC0wLjJlbTsgfVxyXG4gICAuZ2FsbGVyeTEuLWZpcnN0IC5nYWxsZXJ5MS1hcnJvdy4tcHJldixcclxuICAgLmdhbGxlcnkxLi1sYXN0IC5nYWxsZXJ5MS1hcnJvdy4tbmV4dCB7IG9wYWNpdHk6IDAuMjsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cclxuICAuZ2FsbGVyeTEtZGV0YWlscyB7IC0tc3k6IDEuMnJlbTsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxyXG4gICAuZ2FsbGVyeTEtY291bnRlcnMgeyBtYXJnaW4tdG9wOiAycmVtOyB0ZXh0LWFsaWduOiByaWdodDsgfVxyXG4gICAuZ2FsbGVyeTEtY291bnRlcnM6Zmlyc3QtY2hpbGQgeyBtYXJnaW4tdG9wOiAwOyB9XHJcbiAgIC5nYWxsZXJ5MS1jYXB0aW9uIHsgbWF4LXdpZHRoOiB2YXIoLS14d182KTsgfVxyXG4gICAgLmdhbGxlcnkxLWNhcHRpb24gPiAqIHsgLS1zeTogMS4ycmVtOyB9XHJcblxyXG5AbWVkaWEgcHJpbnQsIChtaW4td2lkdGg6IDEwMjRweCkge1xyXG4uZ2FsbGVyeTEtbWFpbiB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbWF4LXdpZHRoOiAxMDAlOyB9XHJcbiAuZ2FsbGVyeTEtYXJyb3cgeyBsZWZ0OiAxMDAlOyB0b3A6IDUwJTsgd2lkdGg6IDQwcHg7IGhlaWdodDogMWVtOyBtYXJnaW46IC0wLjVlbSAwIDA7IGZvbnQtc2l6ZTogMi44cmVtOyB9XHJcbiAuZ2FsbGVyeTEtYXJyb3cuLXByZXYgeyByaWdodDogMTAwJTsgbGVmdDogYXV0bzsgfVxyXG4gLmdhbGxlcnkxLi1sYXN0IC5nYWxsZXJ5MS1hcnJvdy4tbmV4dCB7IHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IHRleHQtc2hhZG93OiAwLjdyZW0gMCAwOyBvcGFjaXR5OiAwLjI7IHBvaW50ZXItZXZlbnRzOiBhdXRvOyB9XHJcbiAuZ2FsbGVyeTEtZGV0YWlscyB7IC0tc3k6IDAuOHJlbTsgZGlzcGxheTogZmxleDsgfVxyXG4gIC5nYWxsZXJ5MS10aXRsZSB7IGZsZXg6IG5vbmU7IHdpZHRoOiAzNSU7IG1hcmdpbjogMCB2YXIoLS1zMSkgMCAwOyB9XHJcbiAgOnJvb3Q6bm90KFtqc10pIC5nYWxsZXJ5MS10aXRsZSB7IHdpZHRoOiBhdXRvOyB9XHJcbiAgLmdhbGxlcnkxLWNhcHRpb24geyBmbGV4LWdyb3c6IDE7IG1hcmdpbjogMCB2YXIoLS1zMikgMCAwOyB9XHJcbiAgLmdhbGxlcnkxLWNvdW50ZXJzIHsgZmxleDogbm9uZTsgbWFyZ2luOiAwIDAgMCBhdXRvOyB9XHJcblxyXG4uZ2FsbGVyeTEuLXYyIHsgb3ZlcmZsb3c6IHZpc2libGU7IG1heC13aWR0aDogODZyZW07IG1hcmdpbi1sZWZ0OiAwOyBtYXJnaW4tcmlnaHQ6IDA7IHBhZGRpbmctbGVmdDogMDsgcGFkZGluZy1yaWdodDogMDsgfVxyXG4gLmdhbGxlcnkxLi12MiAudG5zLW91dGVyID4gLnRucy1vdmggeyBvdmVyZmxvdzogaGlkZGVuOyB9XHJcbn1cclxuXHJcbi8qKlxyXG4qIEBuYW1lIC5nbG9zc2FyeTFcclxuKiBAZGVzY3JpcHRpb24gR2xvc3NhcnlcclxuKiBAZXhhbXBsZSB7IH1cclxuKi9cclxuXHJcbi5nbG9zc2FyeTEgeyBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY19vMXQpOyB9XHJcbiAuZ2xvc3NhcnkxLW5hdiB7IC0tc3k6IHZhcigtLXMxKTsgfVxyXG4gIC5nbG9zc2FyeTEtbmF2IHVsIHsgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBwYWRkaW5nOiAxLjJyZW0gMDsgYmFja2dyb3VuZDogdmFyKC0tY19iMSk7IGZvbnQtc2l6ZTogMS41cmVtOyBmb250LXdlaWdodDogODAwOyB9XHJcbiAgIC5nbG9zc2FyeTEtbmF2IGxpIHsgLS1zeTogMDsgfVxyXG4gICAgLmdsb3NzYXJ5MS1uYXYgbGk6YmVmb3JlIHsgZGlzcGxheTogbm9uZTsgfVxyXG4gICAgLmdsb3NzYXJ5MS1uYXYgYSB7IC0tYXVzOiA7IC0tYWJnbjogOyAtLWF0Y246IHZhcigtLWNfZDF0KTsgLS1hdGNoOiB2YXIoLS1jX2kxKTsgZGlzcGxheTogYmxvY2s7IHBvc2l0aW9uOiByZWxhdGl2ZTsgd2lkdGg6IDFlbTsgaXNvbGF0aW9uOiBpc29sYXRlOyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cclxuICAgICAuZ2xvc3NhcnkxLW5hdiBhOmJlZm9yZSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogLTAuNXJlbTsgcmlnaHQ6IC0wLjVyZW07IHRvcDogLTAuNXJlbTsgYm90dG9tOiAtMC41cmVtOyB6LWluZGV4OiAtMTsgY29udGVudDogJyc7IGJvcmRlci1yYWRpdXM6IDEuNHJlbTsgYmFja2dyb3VuZDogdmFyKC0tY19hMXQpOyBvcGFjaXR5OiAwOyB9XHJcbiAuZ2xvc3NhcnkxLXNlY3Rpb24geyAtLXN5OiAycmVtOyBkaXNwbGF5OiBmbGV4OyB9XHJcbiAuZ2xvc3NhcnkxLXNlY3Rpb24gKyAuZ2xvc3NhcnkxLXNlY3Rpb24geyBwYWRkaW5nLXRvcDogdmFyKC0tczEpOyBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY19vMXQpOyB9XHJcbiAgLmdsb3NzYXJ5MS10aXRsZSB7IC0tbGg6IDE7IGZsZXg6IG5vbmU7IHdpZHRoOiAxMXJlbTsgbWFyZ2luOiAwIDJyZW0gMCAwOyBjb2xvcjogdmFyKC0tY19hMXQpOyB9XHJcbiAgLmdsb3NzYXJ5MS1zZWN0aW9uIC5hY2NvcmRpb24xIHsgLS1zOiAxLjRyZW07IGZsZXgtZ3JvdzogMTsgYm9yZGVyLWJvdHRvbS13aWR0aDogMDsgfVxyXG4gICAuZ2xvc3NhcnkxLXNlY3Rpb24gLmFjY29yZGlvbjEtZW50cnk6Zmlyc3QtY2hpbGQgeyBib3JkZXItdG9wLXdpZHRoOiAwOyB9XHJcbiAgICAuZ2xvc3NhcnkxLXNlY3Rpb24gLmFjY29yZGlvbjEtZW50cnk6Zmlyc3QtY2hpbGQgLmFjY29yZGlvbjEtdGl0bGUgeyBwYWRkaW5nLXRvcDogMDsgfVxyXG5cclxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xyXG4uZ2xvc3NhcnkxLW5hdiBhOmhvdmVyOmJlZm9yZSwgLmdsb3NzYXJ5MS1uYXYgYTpmb2N1czpiZWZvcmUgeyBvcGFjaXR5OiAxOyB9XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcxOXB4KSB7XHJcbi5nbG9zc2FyeTEtbmF2IHVsIHsgLS1tOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHRyYW5zcGFyZW50LCAjMDAwIDJyZW0sICMwMDAgY2FsYygxMDAlIC0gM3JlbSksIHRyYW5zcGFyZW50IGNhbGMoMTAwJSAtIDAuMjVyZW0pKTsganVzdGlmeS1jb250ZW50OiBzdGFydDsgb3ZlcmZsb3c6IGF1dG87IG1hcmdpbjogMCB2YXIoLS1ueCk7IHBhZGRpbmctbGVmdDogdmFyKC0tc3gpOyBwYWRkaW5nLXJpZ2h0OiAzcmVtOyBzY3JvbGxiYXItd2lkdGg6IG5vbmU7IC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTsgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluOyAtd2Via2l0LW1hc2s6IHZhcigtLW0pOyBtYXNrOiB2YXIoLS1tKTsgfVxyXG4uZ2xvc3NhcnkxLW5hdiB1bDo6LXdlYmtpdC1zY3JvbGxiYXIgeyBkaXNwbGF5OiBub25lOyB9XHJcbiAuZ2xvc3NhcnkxLW5hdiBsaSB7IGZsZXg6IG5vbmU7IH1cclxuIC5nbG9zc2FyeTEtbmF2IGxpIH4gbGkgeyBtYXJnaW4tbGVmdDogMXJlbTsgfVxyXG4uZ2xvc3NhcnkxLXRpdGxlIHsgd2lkdGg6IDNyZW07IH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEBuYW1lIC5nYWxsZXJ5MlxyXG4gKiBAZGVzY3JpcHRpb24gR2FsbGVyeVxyXG4gKi9cclxuXHJcbi5nYWxsZXJ5MiAubWVkaWEtZ2FsbGVyeS1yb3cge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIGdhcDogNDBweDsgLyogU3BhY2UgYmV0d2VlbiBpbWFnZXMgYW5kIHJvd3MgKi9cclxuICBtYXJnaW4tYm90dG9tOjA7XHJcbn1cclxuXHJcbi5nYWxsZXJ5MiAubWVkaWEtZ2FsbGVyeS1lbnRyeSB7XHJcbiAgZmxleDogMSAxIGNhbGMoMjUlIC0gNDBweCk7IC8qIEFkanVzdCB3aWR0aCBmb3IgNCBjb2x1bW5zIHdpdGggc3BhY2UgKi9cclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiBJbmNsdWRlIHBhZGRpbmcgYW5kIGJvcmRlciBpbiB0aGUgZWxlbWVudCdzIHRvdGFsIHdpZHRoIGFuZCBoZWlnaHQgKi9cclxuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmdhbGxlcnkyIC5tZWRpYS1nYWxsZXJ5LWVudHJ5IGltZyB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiBhdXRvOyAvKiBNYWludGFpbiBhc3BlY3QgcmF0aW8gKi9cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XHJcbiAgLmdhbGxlcnkyIC5tZWRpYS1nYWxsZXJ5LWVudHJ5IHtcclxuICAgICAgZmxleDogMSAxIGNhbGMoMzMuMzMlIC0gNDBweCk7IC8qIEFkanVzdCB3aWR0aCBmb3IgMyBjb2x1bW5zIHdpdGggc3BhY2UgKi9cclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcyMHB4KSB7XHJcbiAgLmdhbGxlcnkyIC5tZWRpYS1nYWxsZXJ5LXJvdyB7IGRpc3BsYXk6YmxvY2s7IH1cclxuICAuZ2FsbGVyeTIgLm1lZGlhLWdhbGxlcnktZW50cnkgeyBtYXJnaW4tcmlnaHQ6IDA7IH1cclxufVxyXG5cclxuLmdhbGxlcnkyIC5tZWRpYS1nYWxsZXJ5LWNhcHRpb24ge1xyXG4gIGZvbnQtc2l6ZTogMTNweDtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICBsaW5lLWhlaWdodDogMTQwJTsgLyogMTguMnB4ICovXHJcbiAgbWFyZ2luLXRvcDoycHg7XHJcbn1cclxuXHJcbmJvZHkgLmJhc2ljTGlnaHRib3hfX3BsYWNlaG9sZGVyIHtcclxuICBtYXgtd2lkdGg6IDgwdnc7XHJcbiAgbWF4LWhlaWdodDo3NXZoO1xyXG4gIGhlaWdodDoxMDAlO1xyXG4gIHdpZHRoOjEwMCU7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcbmJvZHkgLmJhc2ljTGlnaHRib3hfX3BsYWNlaG9sZGVyIGltZyB7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIG1heC1oZWlnaHQ6IDEwMCU7XHJcbiAgaGVpZ2h0Ojc1dmg7XHJcbiAgd2lkdGg6IGF1dG87XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcclxufVxyXG5cclxuLmJhc2ljbGlnaHRib3gtdmlkZW8td3JhcHBlciB7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAvKnBhZGRpbmctdG9wOiA1Ni4yNSU7Ki9cclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgd2lkdGg6MTAwJTtcclxuICBcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgbWF4LWhlaWdodDogNzV2aDtcclxuICBoZWlnaHQ6NzV2aDtcclxuICB3aWR0aDogYXV0bztcclxuICBtYXJnaW46IDAgYXV0bztcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG4uYmFzaWNsaWdodGJveC12aWRlby13cmFwcGVyIGlmcmFtZSB7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBsZWZ0OiAwO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5iYXNpY2xpZ2h0Ym94LW5hdiB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgd2lkdGg6IDQwcHg7XHJcbiAgaGVpZ2h0OiA0MHB4O1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB0b3A6IDUwJTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgei1pbmRleDogMTA1MDsgLyogRW5zdXJlIHRoZXkgYXJlIGFib3ZlIHRoZSBsaWdodGJveCAqL1xyXG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uYmFzaWNsaWdodGJveC1uYXYtcHJldiB7XHJcbiAgbGVmdDogNXZoO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vYXNzZXRzL2ltYWdlcy9saWdodGJveC1sZWZ0LnBuZycpO1xyXG59XHJcblxyXG4uYmFzaWNsaWdodGJveC1uYXYtbmV4dCB7XHJcbiAgcmlnaHQ6IDV2aDtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2Fzc2V0cy9pbWFnZXMvbGlnaHRib3gtcmlnaHQucG5nJyk7XHJcbn1cclxuXHJcbi5iYXNpY2xpZ2h0Ym94LWNhcHRpb24ge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIGZvbnQtc2l6ZTogMTNweDtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICBsaW5lLWhlaWdodDogMTQwJTsgLyogMTguMnB4ICovXHJcbn1cclxuXHJcbi5iYXNpY2xpZ2h0Ym94LWN0YSB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgZm9udC1zaXplOiAxOHB4O1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIGxpbmUtaGVpZ2h0OiAxN3B4OyAvKiA5NC40NDQlICovXHJcbn1cclxuLmJhc2ljbGlnaHRib3gtY3RhIGEge1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICBjb2xvcjogI2ZmZjtcclxuICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2Fzc2V0cy9pbWFnZXMvZG93bmxvYWQucG5nJykgbm8tcmVwZWF0IGNlbnRlciByaWdodDtcclxuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgcGFkZGluZy1yaWdodDozMHB4O1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxufVxyXG5cclxuXHJcblxyXG5cclxuLyoqXHJcbiogQG5hbWUgLmdyYWRpZW50MVxyXG4qIEBkZXNjcmlwdGlvbiBJbi1wYWdlIGdyYWRpZW50XHJcbiogQGV4YW1wbGUgeyB9XHJcbiovXHJcblxyXG4uZ3JhZGllbnQxIHsgLS1veHRsOiA1MHZoOyAtLW94aGw6IDYwcmVtOyBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IC0xOyBoZWlnaHQ6IDA7IG1hcmdpbi1ib3R0b206IDA7IH1cclxuLmdyYWRpZW50MSB7IC0tb3h0OiB2YXIoLS1veHRzLCB2YXIoLS1veHRtLCB2YXIoLS1veHRsKSkpOyAtLW94aDogdmFyKC0tb3hocywgdmFyKC0tb3hobSwgdmFyKC0tb3hobCkpKTsgfVxyXG4gLmdyYWRpZW50MTpiZWZvcmUgeyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDA7IHRvcDogdmFyKC0tb3h0KTsgY29udGVudDogJyc7IHdpZHRoOiAxMDAlOyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQsIHZhcigtLWMsICNENUVCRjQpIHZhcigtLW94czEsIDI1JSksIHZhcigtLWMsICNENUVCRjQpIHZhcigtLW94czIsIDc1JSksIHRyYW5zcGFyZW50KTsgfVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSBhbmQgKG1pbi13aWR0aDogNzIwcHgpIHtcclxuLmdyYWRpZW50MSB7IC0tb3h0OiB2YXIoLS1veHRtLCB2YXIoLS1veHRsKSk7IC0tb3hoOiB2YXIoLS1veGhtLCB2YXIoLS1veGhsKSk7IH1cclxufVxyXG5AbWVkaWEgcHJpbnQsIChtaW4td2lkdGg6IDEwMjRweCkge1xyXG4uZ3JhZGllbnQxIHsgLS1veHQ6IHZhcigtLW94dGwpOyAtLW94aDogdmFyKC0tb3hobCk7IH1cclxufVxyXG5cclxuQG1lZGlhIHByaW50IHtcclxuLmdyYWRpZW50MSB7IGRpc3BsYXk6IG5vbmU7IH1cclxufVxyXG5cclxuLyoqXHJcbiogQG5hbWUgLmdyaWRjbGlwMVxyXG4qIEBkZXNjcmlwdGlvbiBDbGlwcGVyIGZvciBncmlkc1xyXG4qIEBleGFtcGxlIHsgfVxyXG4qL1xyXG5cclxuLmdyaWRjbGlwMSB7IGNsaXAtcGF0aDogaW5zZXQoMCAwIDAgdmFyKC0tZ3gsIDApKTsgfVxyXG5cclxuLyoqXHJcbiogQG5hbWUgLmhlYWRlcjFcclxuKiBAZGVzY3JpcHRpb24gVGVhbSBtZW1iZXIgaGVhZGVyXHJcbiogQGV4YW1wbGUgeyB9XHJcbiovXHJcblxyXG4uaGVhZGVyMSB7IC0tc3k6IHZhcigtLXMzKTsgbWF4LXdpZHRoOiB2YXIoLS14d181KTsgbWFyZ2luLWxlZnQ6IGF1dG87IG1hcmdpbi1yaWdodDogYXV0bzsgfVxyXG4gLmhlYWRlcjEtbWFpbiB7IH1cclxuICAuaGVhZGVyMS1tYWluID4gKiB7IC0tc3k6IDEuNnJlbTsgfVxyXG4gLmhlYWRlcjEtaW1hZ2UgeyBtYXgtd2lkdGg6IDM1cmVtOyB9XHJcblxyXG5AbWVkaWEgcHJpbnQsIChtaW4td2lkdGg6IDEwMjRweCkge1xyXG4uaGVhZGVyMSB7IGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgbWF4LXdpZHRoOiB2YXIoLS14d180KTsgfVxyXG4gLmhlYWRlcjEtbWFpbiB7IG1hcmdpbi1ib3R0b206IDA7IH1cclxuIC5oZWFkZXIxLWltYWdlIHsgZmxleDogbm9uZTsgd2lkdGg6IDEwMCU7IG1hcmdpbjogMCAwIDAgdmFyKC0tczIpOyB9XHJcbn1cclxuXHJcbi8qKlxyXG4qIEBuYW1lIC5oZWFkZXIyXHJcbiogQGRlc2NyaXB0aW9uIFN0YXJ0IGEgZnVuZHJhaXNlclxyXG4qIEBleGFtcGxlIHsgfVxyXG4qL1xyXG5cclxuLmhlYWRlcjIgeyAgfVxyXG4gLmhlYWRlcjIgPiAqIHsgLS1zeTogdmFyKC0tczIpOyB9XHJcbiAuaGVhZGVyMi1tYWluIHsgIH1cclxuICAuaGVhZGVyMi1tYWluID4gKiB7IC0tc3k6IDEuNnJlbTsgfVxyXG4gIC5oZWFkZXIyLWJyb3cgeyAtLXN5OiAwLjJyZW07IH1cclxuICAuaGVhZGVyMi10aXRsZSB7IC0tc3k6IHZhcigtLXMyKTsgfVxyXG4gIC5oZWFkZXIyLXN1YnRpdGxlIHsgbWF4LXdpZHRoOiB2YXIoLS14d181KTsgfVxyXG4gIC5oZWFkZXIyLWxlYWQgeyBtYXgtd2lkdGg6IHZhcigtLXh3XzUpOyB9XHJcbiAgLmhlYWRlcjItYWN0aW9uIHsgbWFyZ2luLXRvcDogM3JlbTsgfVxyXG4gIC5oZWFkZXIyLWFjdGlvbnMgeyBkaXNwbGF5OiBmbGV4OyBtYXJnaW4tdG9wOiAyLjRyZW07IHBhZGRpbmc6IDA7IH1cclxuICAgLmhlYWRlcjItYWN0aW9ucyBsaSB7IC0tc3k6IDA7IH1cclxuICAgLmhlYWRlcjItYWN0aW9ucyBsaSB+IGxpIHsgbWFyZ2luLWxlZnQ6IDEuMnJlbTsgfVxyXG4gICAgLmhlYWRlcjItYWN0aW9ucyBsaTpiZWZvcmUgeyBkaXNwbGF5OiBub25lOyB9XHJcbiAuaGVhZGVyMi1pbWFnZSB7IG1heC13aWR0aDogMzVyZW07IH1cclxuLmhlYWRlcjIuLXYyIC5oZWFkZXIyLWltYWdlIHsgbWF4LXdpZHRoOiA0MHJlbTsgfVxyXG5cclxuQG1lZGlhIHByaW50LCAobWluLXdpZHRoOiAxMDI0cHgpIHtcclxuLmhlYWRlcjIgeyBkaXNwbGF5OiBmbGV4OyB9XHJcbiAuaGVhZGVyMi1pbWFnZSB7IGZsZXg6IG5vbmU7IG9yZGVyOiAtMTsgd2lkdGg6IDEwMCU7IG1hcmdpbjogMCB2YXIoLS1zMykgMCAwOyB9XHJcbiAuaGVhZGVyMi1tYWluIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxyXG5cclxufVxyXG5cclxuLyoqXHJcbiogQG5hbWUgLmhlYWRlcjNcclxuKiBAZGVzY3JpcHRpb24gR2V0IGludm9sdmVkIGhlYWRlclxyXG4qIEBleGFtcGxlIHsgfVxyXG4qL1xyXG5cclxuLmhlYWRlcjMgeyAgfVxyXG4gIC5oZWFkZXIzLW1haW4gPiAqIHsgLS1zeTogMS42cmVtOyB9XHJcbiAgLmhlYWRlcjMtdGl0bGUgeyAtLXN5OiAxLjZyZW07IH1cclxuICAuaGVhZGVyMy1zdWJ0aXRsZSB7IC0tc3k6IHZhcigtLXMyKTsgfVxyXG4gLmhlYWRlcjMtaW1hZ2UgeyBtYXJnaW4tbGVmdDogdmFyKC0tbngpOyB9XHJcblxyXG5AbWVkaWEgcHJpbnQsIChtaW4td2lkdGg6IDEwMjRweCkge1xyXG4uaGVhZGVyMyB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byA1MCU7IGdyaWQtY29sdW1uLWdhcDogdmFyKC0tczMpOyB9XHJcbiAuaGVhZGVyMy1pbWFnZSB7IG9yZGVyOiAtMTsgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tb2Zmc2V0LWxlZnQsIHZhcigtLXN4KSkgKiAtMSk7IH1cclxuIC5oZWFkZXIzLW1haW4geyAtLXN5OiAwOyB9XHJcbn1cclxuXHJcbi8qKlxyXG4qIEBuYW1lIC5oZWFkZXI0XHJcbiogQGRlc2NyaXB0aW9uIFN0YW5kYXJkIGhlYWRlclxyXG4qIEBleGFtcGxlIHsgfVxyXG4qL1xyXG5cclxuLmhlYWRlcjQgeyAgfVxyXG4gLmhlYWRlcjQtbWFpbiB7IH1cclxuIC5oZWFkZXI0LW1haW4gdWwgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxyXG4gIC5oZWFkZXI0Li10YVxcOmMgLmhlYWRlcjQtbWFpbiA+ICogeyBtYXJnaW4tbGVmdDogYXV0bzsgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XHJcbiAgLmhlYWRlcjQtYnJvdyB7IC0tc3k6IDAuNnJlbTsgcG9zaXRpb246IHJlbGF0aXZlOyB9XHJcbiAgLmhlYWRlcjQtdGl0bGUgeyBtYXgtd2lkdGg6IHZhcigtLXh3XzUpOyB9XHJcbiAgLmhlYWRlcjQtbGVhZCB7IG1heC13aWR0aDogdmFyKC0teHdfNSk7IH1cclxuXHJcbi8qKlxyXG4qIEBuYW1lIC5oZWFkZXI1XHJcbiogQGRlc2NyaXB0aW9uIFN1cHBvcnQgaGVhZGVyXHJcbiogQGV4YW1wbGUgeyB9XHJcbiovXHJcblxyXG4uaGVhZGVyNSB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxyXG4gLmhlYWRlcjUtbWFpbiB7IC0tc3k6IHZhcigtLXMxKTsgfVxyXG4gIC5oZWFkZXI1LW1haW4gPiAqIHsgLS1zeTogMnJlbTsgfVxyXG4gLmhlYWRlcjUtaW1hZ2UgeyB3aWR0aDogMTAwJTsgbWF4LXdpZHRoOiA0MHJlbTsgbWFyZ2luOiAwIGF1dG87IH1cclxuXHJcbkBtZWRpYSBwcmludCwgKG1pbi13aWR0aDogMTAyNHB4KSB7XHJcbi5oZWFkZXI1IHsgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBhbGlnbi1pdGVtczogY2VudGVyOyB0ZXh0LWFsaWduOiBsZWZ0OyB9XHJcbiAuaGVhZGVyNS1tYWluIHsgLS1zeTogMDsgZmxleC1ncm93OiAxOyB9XHJcbiAgLmhlYWRlcjUtYWN0aW9uIHsgbWFyZ2luLXRvcDogM3JlbTsgfVxyXG4gLmhlYWRlcjUtaW1hZ2UgeyBmbGV4OiBub25lO21hcmdpbjogMCAwIDAgdmFyKC0tczMpOyB9XHJcbiAuaGVhZGVyNS4tdjIgLmhlYWRlcjUtaW1hZ2UgeyBtYXgtd2lkdGg6IDQ0cmVtOyB9XHJcbn1cclxuXHJcbi8qKlxyXG4qIEBuYW1lIC5oZWFkZXI2XHJcbiogQGRlc2NyaXB0aW9uIFNwbGl0IGhlYWRlclxyXG4qIEBleGFtcGxlIHsgfVxyXG4qL1xyXG5cclxuLmhlYWRlcjYgeyAtLXN5OiB2YXIoLS1zMyk7IH1cclxuIC5oZWFkZXI2LW1haW4geyAtLXN5OiB2YXIoLS1zMSkgfVxyXG4gIC5oZWFkZXI2LWJyb3cgeyAtLXN5OiAwLjZyZW07IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxyXG4gIC5oZWFkZXI2LXRpdGxlIHsgfVxyXG4gIC5oZWFkZXI2LWxlYWQgeyBtYXgtd2lkdGg6IHZhcigtLXh3XzYpOyB9XHJcblxyXG5AbWVkaWEgcHJpbnQsIChtaW4td2lkdGg6IDEwMjRweCkge1xyXG4uaGVhZGVyNiB7IGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxyXG4gLmhlYWRlcjYgPiAqIHsgLS1zeTogMDsgfVxyXG4gLmhlYWRlcjYtc2lkZSB7IHdpZHRoOiAxMDAlOyBtYXgtd2lkdGg6IDMycmVtOyBtYXJnaW46IDAgMCAwIHZhcigtLXMzKTsgcGFkZGluZy10b3A6IDJyZW07IH1cclxuXHJcbi5oZWFkZXI2Li12MiB7IH1cclxuIC5oZWFkZXI2Li12MiAuaGVhZGVyNi1zaWRlIHsgbWF4LXdpZHRoOiA0MHJlbTsgfVxyXG59XHJcblxyXG4vKipcclxuKiBAbmFtZSAuaGlzdG9yeTFcclxuKiBAZGVzY3JpcHRpb24gSGlzdG9yeSB0YWJzXHJcbiogQGV4YW1wbGUgeyB9XHJcbiovXHJcblxyXG4uaGlzdG9yeTEgeyAgfVxyXG4gLmhpc3RvcnkxLW5hdiB7IGZsb2F0OiBsZWZ0OyBtYXJnaW46IDAgLTEwMCUgMCAwOyB9XHJcbiAgLmhpc3RvcnkxLXRhYnMgeyBtYXJnaW4tYm90dG9tOiAwOyBwYWRkaW5nOiAwOyB9XHJcbiAgIC5oaXN0b3J5MS10YWJzIGxpIHsgLS1zeTogMC4ycmVtOyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cclxuICAgIC5oaXN0b3J5MS10YWJzIGxpOmJlZm9yZSB7IGRpc3BsYXk6IG5vbmU7IH1cclxuICAgIC5oaXN0b3J5MS10YWJzIGEgeyAtLWF1czogOyAtLWFiZ246IDsgLS1hdGNuOiB2YXIoLS1jX2QxdCk7IC0tYXRjaDogdmFyKC0tY19pMSk7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgcG9zaXRpb246IHJlbGF0aXZlOyBpc29sYXRpb246IGlzb2xhdGU7IHBhZGRpbmc6IDAuM3JlbSAxcmVtOyB0ZXh0LWFsaWduOiBjZW50ZXI7IHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cclxuICAgICAuaGlzdG9yeTEtdGFicyBhOmJlZm9yZSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMDsgcmlnaHQ6IDA7IHRvcDogMDsgYm90dG9tOiAwOyB6LWluZGV4OiAtMTsgY29udGVudDogJyc7IGJvcmRlci1yYWRpdXM6IDEuNHJlbTsgYmFja2dyb3VuZDogdmFyKC0tY19hMXQpOyBvcGFjaXR5OiAwOyB9XHJcbiAgICAuaGlzdG9yeTEtdGFicyAuLWFjdGl2ZSA+IGEgeyAtLWF0Y246IHZhcigtLWNfaTEpOyB9XHJcbiAgICAgLmhpc3RvcnkxLXRhYnMgLi1hY3RpdmUgPiBhOmJlZm9yZSB7IG9wYWNpdHk6IDE7IH1cclxuICAuaGlzdG9yeTEtc2VsZWN0IHsgZGlzcGxheTogbm9uZTsgbWF4LXdpZHRoOiB2YXIoLS14d182KTsgbWFyZ2luLWxlZnQ6IGF1dG87IG1hcmdpbi1yaWdodDogYXV0bzsgfVxyXG4gLmhpc3RvcnkxLXN0ZXBzIHsgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IG1hcmdpbi1ib3R0b206IHZhcigtLXMxKTsgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcInRudW1cIjsgfVxyXG4gIC5oaXN0b3J5MS1zdGVwcyA+ICogeyBmbGV4OiBub25lOyBtaW4td2lkdGg6IDdyZW07IG1hcmdpbjogMDsgdGV4dC1hbGlnbjogY2VudGVyOyB9XHJcbiAgLmhpc3RvcnkxLXN0ZXBzIC4tc3RlcCB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IHBhZGRpbmctdG9wOiAwLjVyZW07IH1cclxuICAuaGlzdG9yeTEtc3RlcHMgLi1jdXJyZW50IHsgbWluLXdpZHRoOiAyMnJlbTsgbWFyZ2luOiAwIDJyZW07IGNvbG9yOiB2YXIoLS1jX2ExdCk7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxyXG4gIC5oaXN0b3J5MS1zdGVwcyBbZGlzYWJsZWRdIHsgdmlzaWJpbGl0eTogaGlkZGVuOyB9XHJcbiAgIC5oaXN0b3J5MS1zdGVwcyBpIHsgLS1saDogMTsgbWFyZ2luOiAwIDAuMjVyZW07IGNvbG9yOiB2YXIoLS1jX2ExdCk7IGZvbnQtc2l6ZTogMS43NWVtOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XHJcbiAuaGlzdG9yeTEtY29udGVudCB7IGRpc3BsYXk6IGdyaWQ7IH1cclxuICAuaGlzdG9yeTEtdGFiIHsgZ3JpZC1hcmVhOiAxIC8gMSAvIDIgLyAyOyBtYXJnaW4tcmlnaHQ6IDA7IG1hcmdpbi1ib3R0b206IHZhcigtLXMzKTsgd2lkdGg6IDEwMCU7IH1cclxuICAuaGlzdG9yeTEtdGFiLi1mcm9tIHsgb3BhY2l0eTogMDsgfVxyXG5cclxuXHJcbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcclxuLmhpc3RvcnkxLXRhYnMgYTpob3ZlcjpiZWZvcmUsIC5oaXN0b3J5MS10YWJzIGE6Zm9jdXM6YmVmb3JlIHsgb3BhY2l0eTogMTsgfVxyXG59XHJcblxyXG5AbWVkaWEgcHJpbnQsIChtaW4td2lkdGg6IDEwMjRweCkge1xyXG5banNdIC5oaXN0b3J5MS10YWJ0aXRsZSB7IGRpc3BsYXk6IG5vbmU7IH1cclxufVxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcclxuLmhpc3RvcnkxLW5hdiB7IGZsZXg6IG5vbmU7IG1hcmdpbjogMCAwIHZhcigtLXN5KTsgfVxyXG4uaGlzdG9yeTEtdGFicyB7IGRpc3BsYXk6IG5vbmU7IH1cclxuLmhpc3RvcnkxLXN0ZXBzIHsgZGlzcGxheTogbm9uZTsgfVxyXG4uaGlzdG9yeTEtbmF2IHsgZmxvYXQ6IG5vbmU7IH1cclxuIFtqc10gLmhpc3RvcnkxLXNlbGVjdCB7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAbmFtZSAuaW1nMVxyXG4gKiBAZGVzY3JpcHRpb24gSW1hZ2Ugd3JhcHBlclxyXG4gKi9cclxuXHJcbi5pbWcxIHsgZGlzcGxheTogYmxvY2s7IHBvc2l0aW9uOiByZWxhdGl2ZTsgb3ZlcmZsb3c6IGhpZGRlbjsgd2lkdGg6IDEwMCU7IHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIG9wYWNpdHk7IH1cclxuLmltZzEuLWZpbGwgeyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDA7IHRvcDogMDsgaGVpZ2h0OiAxMDAlOyBtYXJnaW46IDA7IH1cclxuLmltZzEuLWdyYXlzY2FsZSB7IGZpbHRlcjogZ3JheXNjYWxlKDEpOyB9XHJcbi5pbWcxLi13aWR0aCB7IHdpZHRoOiAxMDAlOyBtYXgtd2lkdGg6IGNhbGModmFyKC0tdykgKiAwLjFyZW0pOyB9XHJcbi5pbWcxLi1jaXJjbGUgeyBib3JkZXItcmFkaXVzOiA1MCU7IH1cclxuLmltZzEuLXJvdW5kZWQgeyBib3JkZXItcmFkaXVzOiB2YXIoLS1icl8xKTsgfVxyXG4gLmltZzFbc3R5bGUqPVwiLS1ybDpcIl06YmVmb3JlIHsgZGlzcGxheTogYmxvY2s7IGNvbnRlbnQ6ICcnOyB3aWR0aDogMTAwJTsgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tcmwpICogMTAwJSk7IH1cclxuIC5pbWcxIGltZywgLmltZzEgdmlkZW8geyBkaXNwbGF5OiBibG9jazsgd2lkdGg6IDEwMCU7IH1cclxuIC5pbWcxW3N0eWxlKj1cIi0tcmw6XCJdIGltZywgLmltZzFbc3R5bGUqPVwiLS1ybDpcIl0gdmlkZW8geyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDA7IHRvcDogMDsgaGVpZ2h0OiAxMDAlOyBvYmplY3QtZml0OiBjb3Zlcjsgb2JqZWN0LXBvc2l0aW9uOiB2YXIoLS14LCA1MCUpIHZhcigtLXksIDUwJSk7IH1cclxuIC5pbWcxLi1sZWZ0IHsgLS14OiAwOyB9IC5pbWcxLi1yaWdodCB7IC0teDogMTAwJTsgfSAuaW1nMS4tdG9wIHsgLS15OiAwOyB9IC5pbWcxLi1ib3R0b20geyAtLXk6IDEwMCU7IH1cclxuIC5pbWcxLi1maXQgaW1nLCAuaW1nMS4tZml0IHZpZGVvIHsgaGVpZ2h0OiAxMDAlOyBvYmplY3QtZml0OiBjb250YWluOyB9XHJcbiAuaW1nMSAucGxheS1pY29uIHsgZGlzcGxheTogYmxvY2s7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA1MCU7IGxlZnQ6IDUwJTsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IHdpZHRoOiA2NHB4OyBoZWlnaHQ6IDY0cHg7IGJhY2tncm91bmQ6IHVybCgnLi4vLi4vYXNzZXRzL2ltYWdlcy9wbGF5LWljb24ucG5nJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7IGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgcG9pbnRlci1ldmVudHM6IG5vbmU7IHotaW5kZXg6IDE7XHJcbiB9XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcclxuLmltZzFbc3R5bGUqPVwiLS1ybTpcIl06YmVmb3JlIHsgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tcm0pICogMTAwJSk7IH1cclxufVxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MTlweCkge1xyXG4uaW1nMVtzdHlsZSo9XCItLXJzOlwiXTpiZWZvcmUgeyBwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1ycykgKiAxMDAlKTsgfVxyXG59XHJcblxyXG4vKipcclxuKiBAbmFtZSAuaW5zZXJ0MVxyXG4qIEBkZXNjcmlwdGlvbiBDYXJkIGluc2VydFxyXG4qIEBleGFtcGxlIHsgfVxyXG4qL1xyXG5cclxuLmluc2VydDEgeyB9XHJcbiAuaW5zZXJ0MSA+ICogeyAtLXN5OiAxLjJyZW07IH1cclxuXHJcbi8qKlxyXG4gKiBAbmFtZSAuaW52YWxpZDFcclxuICogQGRlc2NyaXB0aW9uIFZhbGlkYXRpb24gbWVzc2FnZVxyXG4gKiBAZXhhbXBsZSB7IH1cclxuICovXHJcblxyXG4uaW52YWxpZDEgeyBkaXNwbGF5OiBub25lOyBtYXJnaW4tdG9wOiAwLjVyZW07IGNvbG9yOiB2YXIoLS1jX2UxdCk7IH1cclxuLi12YWxpZGF0ZWQ6aW52YWxpZCB+IC5pbnZhbGlkMSwgLi12YWxpZGF0ZWQ6aW52YWxpZCArIGxhYmVsIC5pbnZhbGlkMSwgLmludmFsaWQxLi12aXNpYmxlIHsgZGlzcGxheTogYmxvY2s7IH1cclxuXHJcbi8qKlxyXG4gKiBAbmFtZSAubG9hZGVyMVxyXG4gKiBAZGVzY3JpcHRpb24gTG9hZGluZyBzcGlubmVyXHJcbiAqL1xyXG5cclxuLmxvYWRlcjEgeyBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAwOyB0b3A6IDA7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IG1hcmdpbjogMDsgYm9yZGVyLXJhZGl1czogaW5oZXJpdDsgY29sb3I6IHJnYmEodmFyKC0tY19keHQpLDAuMjUpOyBmb250LXNpemU6IDIuNHJlbTsgcG9pbnRlci1ldmVudHM6IG5vbmU7IHRyYW5zaXRpb24tcHJvcGVydHk6IHZhcigtLXQ4bl9wMik7IH1cclxuLmxhenlsb2FkIH4gLmxvYWRlcjEsIC5sYXp5bG9hZGVkIH4gLmxvYWRlcjEsIGh0bWw6bm90KFtqc10pIC5sb2FkZXIxIHsgdmlzaWJpbGl0eTogaGlkZGVuOyBvcGFjaXR5OiAwOyB9XHJcbi5sYXp5bG9hZGluZyB+IC5sb2FkZXIxIHsgdmlzaWJpbGl0eTogdmlzaWJsZTsgb3BhY2l0eTogMTsgfVxyXG4gLmxvYWRlcjE6YmVmb3JlIHsgZGlzcGxheTogYmxvY2s7IGZsZXg6IG5vbmU7IGNvbnRlbnQ6ICcnOyB3aWR0aDogMWVtOyBoZWlnaHQ6IDFlbTsgYm9yZGVyOiAwLjFlbSBzb2xpZDsgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7IGJvcmRlci1yYWRpdXM6IDUwJTsgYW5pbWF0aW9uOiBsb2FkZXIxIDFzIGluZmluaXRlIGxpbmVhcjsgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsgfVxyXG4gLmxhenlsb2FkZWQgfiAubG9hZGVyMTpiZWZvcmUgeyBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAyOyB9XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MTlweCkge1xyXG4ubG9hZGVyMSB7IGZvbnQtc2l6ZTogMnJlbTsgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGxvYWRlcjEgeyAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9IDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cclxuXHJcbi8qKlxyXG4gKiBAbmFtZSAubG9hZGVyMlxyXG4gKiBAZGVzY3JpcHRpb24gRnVsbCBzY3JlZW4gbG9hZGVyXHJcbiAqL1xyXG5cclxuLmxvYWRlcjIgeyB2aXNpYmlsaXR5OiBoaWRkZW47IHBvc2l0aW9uOiBmaXhlZDsgbGVmdDogMDsgcmlnaHQ6IDA7IHRvcDogMDsgYm90dG9tOiAwOyB6LWluZGV4OiA5OTk7IG1hcmdpbi1ib3R0b206IDA7IGNvbG9yOiB2YXIoLS1jX2QxKTsgZm9udC1zaXplOiA2cmVtOyB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB2aXNpYmlsaXR5OyBvcGFjaXR5OiAwOyB9XHJcbi5sb2FkZXIyLi1hY3RpdmUgeyB2aXNpYmlsaXR5OiB2aXNpYmxlOyBvcGFjaXR5OiAxOyB9XHJcbiAubG9hZGVyMjphZnRlciB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogNTAlOyB0b3A6IDUwJTsgY29udGVudDogJyc7IHdpZHRoOiAxZW07IGhlaWdodDogMWVtOyBtYXJnaW46IC0wLjVlbSAwIDAgLTAuNWVtOyBib3JkZXI6IDAuMWVtIHNvbGlkOyBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDsgYm9yZGVyLXJhZGl1czogNTAlOyBhbmltYXRpb246IGxvYWRlcjEgMXMgaW5maW5pdGUgcGF1c2VkIGxpbmVhcjsgfVxyXG4gLmxvYWRlcjIuLWFjdGl2ZTphZnRlciB7IGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBydW5uaW5nOyB9XHJcbi5sb2FkZXIyLi1zbWFsbCB7IGZvbnQtc2l6ZTogMy4ycmVtOyB9XHJcblxyXG4ubG9hZGVyMi4tc3RhdGljIHsgZGlzcGxheTogbm9uZTsgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiB1bnNldDsgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3kpOyBiYWNrZ3JvdW5kOiBub25lOyB9XHJcbi5sb2FkZXIyLi1zdGF0aWMuLWFjdGl2ZSB7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbiAubG9hZGVyMi4tc3RhdGljOmFmdGVyIHsgZGlzcGxheTogYmxvY2s7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogMDsgdG9wOiAwOyBtYXJnaW46IDA7IGNvbG9yOiB2YXIoLS1jX2QxKTsgb3BhY2l0eTogMC43NTsgfVxyXG5cclxuLmxvYWRlcjIuLWNvcm5lciB7IHJpZ2h0OiBhdXRvOyB0b3A6IGF1dG87IGxlZnQ6IDJyZW07IGJvdHRvbTogMnJlbTsgYmFja2dyb3VuZDogbm9uZTsgZm9udC1zaXplOiA0cmVtOyB9XHJcbiAubG9hZGVyMi4tY29ybmVyOmFmdGVyIHsgZGlzcGxheTogYmxvY2s7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogYXV0bzsgdG9wOiBhdXRvOyBtYXJnaW46IDA7IGNvbG9yOiB2YXIoLS1jX2EzdCk7IGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDJyZW0gdmFyKC0tY19pMXQpKTsgfVxyXG5cclxuLyoqXHJcbiAqIEBuYW1lIC5sb2dvMVxyXG4gKiBAZGVzY3JpcHRpb24gTG9nbyB3cmFwcGVyXHJcbiAqIEBleGFtcGxlIHsgfVxyXG4gKi9cclxuXHJcbi5sb2dvMSB7IC0tbGg6IDE7IGZvbnQtc2l6ZTogdmFyKC0taGwsIDYuNHJlbSk7IH1cclxuIC5sb2dvMSBhIHsgLS1hb3duOiAwOyAtLWFvd2g6IDA7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbiAgLmxvZ28xIGltZywgLmxvZ28xIHN2ZyB7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogYXV0bzsgaGVpZ2h0OiAxZW07IH1cclxuICAubG9nbzEgaSB7IGRpc3BsYXk6IGJsb2NrOyB9XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MTlweCkge1xyXG4ubG9nbzEgeyBmb250LXNpemU6IHZhcigtLWhtLCA2cmVtKTsgfVxyXG59XHJcblxyXG4vKipcclxuKiBAbmFtZSAubG9nbzJcclxuKiBAZGVzY3JpcHRpb24gUGFydG5lciBsb2dvXHJcbiogQGV4YW1wbGUgeyB9XHJcbiovXHJcblxyXG4ubG9nbzIgeyAgfVxyXG4gLmxvZ28yLXdyYXAgeyAtLWF1czogOyAtLWFiZ246IDsgLS1hdGNuOiBjdXJyZW50Q29sb3I7IGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBhbGlnbi1pdGVtczogY2VudGVyOyBoZWlnaHQ6IDEwMCU7IHBhZGRpbmc6IDJyZW0gM3JlbTsgYm9yZGVyLXJhZGl1czogdmFyKC0tYnJfMSk7IGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1jX28xdCksIDAgMXJlbSAzcmVtIHJnYmEodmFyKC0tY19keCksIDAuMSk7IH1cclxuICAubG9nbzItaW1hZ2UgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBmbGV4OiBub25lOyB3aWR0aDogMTAwJTsgYXNwZWN0LXJhdGlvOiAxLjc1OyB9XHJcblxyXG4vKipcclxuKiBAbmFtZSAubWFwMVxyXG4qIEBkZXNjcmlwdGlvbiBNYXBcclxuKiBAZXhhbXBsZSB7IH1cclxuKi9cclxuXHJcbi5tYXAxIHsgcG9zaXRpb246IHJlbGF0aXZlOyBtYXJnaW4tYm90dG9tOiB2YXIoLS1zMyk7IH1cclxuIC5tYXAxLWNhbnZhcyB7IGhlaWdodDogMTAwdmg7IG1hcmdpbi1ib3R0b206IDA7IGJhY2tncm91bmQ6ICNmM2YzZjM7IH1cclxuIC5tYXAxLXNpZGViYXIgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiB2YXIoLS1zeCk7IHRvcDogdmFyKC0tc3gpOyBib3R0b206IHZhcigtLXN4KTsgd2lkdGg6IDQ2cmVtOyBwYWRkaW5nOiB2YXIoLS1zMSkgdmFyKC0tczEpIDFweDsgYm9yZGVyLXJhZGl1czogdmFyKC0tYnJfMSk7IGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1jX28xdCk7IGJhY2tncm91bmQ6IHZhcigtLWNfYjEpOyB9XHJcbiAgLm1hcDEtaGVhZGVyIHsgLS1zeTogMDsgZmxleDogbm9uZTsgcGFkZGluZy1ib3R0b206IDEuNHJlbTsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNfbzF0KTsgfVxyXG4gICAubWFwMS10aXRsZSB7IG1hcmdpbi1ib3R0b206IDAuNHJlbTsgfVxyXG4gIC5tYXAxLXNpZGViYXIgLnJlc3VsdHMxIHsgZmxleC1ncm93OiAxOyBvdmVyZmxvdzogYXV0bzsgc2Nyb2xsYmFyLXdpZHRoOiBub25lOyAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7IC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjsgfVxyXG4gIC5tYXAxLXNpZGViYXIgLnJlc3VsdHMxOjotd2Via2l0LXNjcm9sbGJhciB7IGRpc3BsYXk6IG5vbmU7IH1cclxuICAgLm1hcDEtc2lkZWJhciAucmVzdWx0czEgPiA6bGFzdC1jaGlsZCB7IHBhZGRpbmctYm90dG9tOiB2YXIoLS1zeCk7IH1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xyXG4ubWFwMS1jYW52YXMgeyBkaXNwbGF5OiBub25lOyB9XHJcbi5tYXAxLXNpZGViYXIgeyBkaXNwbGF5OiBibG9jazsgcG9zaXRpb246IHN0YXRpYzsgcmlnaHQ6IGF1dG87IGxlZnQ6IGF1dG87IHRvcDogYXV0bzsgYm90dG9tOiBhdXRvOyB3aWR0aDogYXV0bzsgcGFkZGluZzogdmFyKC0tczEpIHZhcigtLXN4KSAwOyBib3JkZXItcmFkaXVzOiAwcmVtOyBib3gtc2hhZG93OiBub25lOyB9XHJcbiAubWFwMS1zaWRlYmFyIC5yZXN1bHRzMSA+IDpsYXN0LWNoaWxkIHsgcGFkZGluZy1ib3R0b206IDA7IH1cclxufVxyXG5cclxuLyoqXHJcbiogQG5hbWUgLm1hcmsxXHJcbiogQGRlc2NyaXB0aW9uIFRleHQgaGlnaGxpZ2h0XHJcbiogQGV4YW1wbGUgeyB9XHJcbiovXHJcblxyXG4ubWFyazEgeyBwb3NpdGlvbjogcmVsYXRpdmU7IG1hcmdpbjogMCAtMC42NXJlbTsgcGFkZGluZzogMCAwLjY1cmVtOyBib3JkZXItcmFkaXVzOiAwLjVlbTsgYmFja2dyb3VuZDogcmdiYSh2YXIoLS1jX2I0eCksMC4xKTsgYm94LWRlY29yYXRpb24tYnJlYWs6IGNsb25lOyAtd2Via2l0LWJveC1kZWNvcmF0aW9uLWJyZWFrOiBjbG9uZTsgfVxyXG5cclxuLyoqXHJcbiAqIEBuYW1lIC5tb2RhbDFcclxuICogQGRlc2NyaXB0aW9uIE1vZGFsIHdpbmRvd1xyXG4gKiBAZXhhbXBsZSB7IH1cclxuICovXHJcblxyXG4ubW9kYWwxIHsgcG9zaXRpb246IGZpeGVkOyBsZWZ0OiAwOyB0b3A6IDA7IGJvdHRvbTogMDsgcmlnaHQ6IDA7IHotaW5kZXg6IDIwMTsgd2lkdGg6IDEwMCU7IG1heC13aWR0aDogMTAwJTsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNCk7IHRyYW5zaXRpb246IGFsbCB2YXIoLS10OG5fZDIpIHZhcigtLXQ4bl9lMSk7IHRyYW5zaXRpb24tcHJvcGVydHk6IHZhcigtLXQ4bl9wMik7IH1cclxuLm1vZGFsMS4tZnJvbSB7IG9wYWNpdHk6IDA7IH1cclxuIC5tb2RhbDEtb3V0ZXIgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgcG9zaXRpb246IHJlbGF0aXZlOyBoZWlnaHQ6IDEwMCU7IHBhZGRpbmc6IHZhcigtLXMxKSAwOyBvdmVyZmxvdzogYXV0bzsgb3ZlcmZsb3cteDogaGlkZGVuOyBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBub25lOyBzY3JvbGxiYXItd2lkdGg6IG5vbmU7IC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTsgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XHJcbiAubW9kYWwxLW91dGVyOjotd2Via2l0LXNjcm9sbGJhciB7IGRpc3BsYXk6IG5vbmU7IH1cclxuICAubW9kYWwxLXdyYXAgeyBkaXNwbGF5OiBmbGV4OyBwb3NpdGlvbjogcmVsYXRpdmU7IHdpZHRoOiAxMDAlOyBtYXgtd2lkdGg6IHZhcigtLXh3XzMpOyBtYXJnaW46IGF1dG8gIWltcG9ydGFudDsgYmFja2dyb3VuZDogdmFyKC0tY19iMik7IHRyYW5zaXRpb246IGFsbCB2YXIoLS10OG5fZDIpIHZhcigtLXQ4bl9lMSk7IHRyYW5zaXRpb24tcHJvcGVydHk6IHZhcigtLXQ4bl9wMSk7IH1cclxuICAubW9kYWwxLi1mcm9tIC5tb2RhbDEtd3JhcCB7IHRyYW5zZm9ybTogc2NhbGUoMC45KTsgfVxyXG4gICAubW9kYWwxLWNsb3NlW2NsYXNzXSB7IC0tbGg6IDE7IGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBhbGlnbi1pdGVtczogY2VudGVyOyBwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiAwOyB0b3A6IDA7IG1hcmdpbjogMDsgcGFkZGluZzogMXJlbTsgZm9udC1zaXplOiAyLjRyZW07IH1cclxuICAgLm1vZGFsMS1pbWFnZSB7IGZsZXg6IG5vbmU7IHdpZHRoOiA0Ny41JTsgbWFyZ2luOiAwOyB9XHJcbiAgICAubW9kYWwxLWltYWdlIC5pbWcxIHsgaGVpZ2h0OiAxMDAlOyB9XHJcbiAgIC5tb2RhbDEtbWFpbiB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZmxvdzogY29sdW1uOyBwYWRkaW5nOiBjYWxjKHZhcigtLXMxKSAqIDEuMjUpIHZhcigtLXMxKTsgfVxyXG4gICAgLm1vZGFsMS1tYWluID4gKiB7IC0tc3k6IDJyZW07IH1cclxuICAgIC5tb2RhbDEtYWN0aW9uIHsgbWFyZ2luLXRvcDogYXV0bzsgfVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KXtcclxuLm1vZGFsMS1vdXRlciB7IGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgcGFkZGluZy10b3A6IHZhcigtLXMzKTsgcGFkZGluZy1ib3R0b206IDA7IH1cclxuIC5tb2RhbDEtd3JhcCB7IGRpc3BsYXk6IGJsb2NrOyBtYXgtd2lkdGg6IDEwMCU7IG1hcmdpbi1ib3R0b206IHVuc2V0ICFpbXBvcnRhbnQ7IHRyYW5zaXRpb246IGFsbCAwLjVzIHZhcigtLXQ4bl9lMSk7IHRyYW5zaXRpb24tcHJvcGVydHk6IHZhcigtLXQ4bl9wMik7IH1cclxuIC5tb2RhbDEuLWZyb20gLm1vZGFsMS13cmFwIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOyB9XHJcbiAgLm1vZGFsMS1pbWFnZSB7IGRpc3BsYXk6IG5vbmU7IH1cclxuICAubW9kYWwxLW1haW4geyBwYWRkaW5nLXRvcDogdmFyKC0tczMpOyBwYWRkaW5nLWxlZnQ6IHZhcigtLXN4KTsgcGFkZGluZy1yaWdodDogdmFyKC0tc3gpOyB9XHJcbn1cclxuXHJcbkBtZWRpYSBwcmludCB7XHJcbi5tb2RhbDEgeyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuOCk7IH1cclxuIC5tb2RhbDEtd3JhcCB7IGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1jX28xdCk7IGJhY2tncm91bmQ6ICNmZmY7IH1cclxufVxyXG5cclxuLyoqXHJcbiogQG5hbWUgLm1vcmUxXHJcbiogQGRlc2NyaXB0aW9uIE1vcmUgbGlua1xyXG4qIEBleGFtcGxlIHsgfVxyXG4qL1xyXG5cclxuLm1vcmUxIHsgLS1hdXM6IDsgLS1hYmduOiA7IH1cclxuIC5tb3JlMSA+IC4tYVxcOjEgeyAtLWF1czogOyAtLWFiZ246IDsgLS1hdGNuOiB2YXIoLS1jX2QxdCk7IC0tYXRjaDogdmFyKC0tY19hMXQpOyB9XHJcbiAubW9yZTEgPiBpIHsgZm9udC1zaXplOiAxLjM1ZW07IH1cclxuXHJcbi8qKlxyXG4gKiBAbmFtZSAubmF2MVxyXG4gKiBAZGVzY3JpcHRpb24gTWFpbiBuYXZpZ2F0aW9uXHJcbiAqL1xyXG5cclxuLm5hdjEgeyAgfVxyXG4gLm5hdjEtbGlzdCB7IGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IGFsaWduLWl0ZW1zOiBiYXNlbGluZTsgcGFkZGluZzogMDsgZm9udDogNzAwIDEuNnJlbS92YXIoLS1saCkgdmFyKC0tZmZfMSk7IH1cclxuICAubmF2MS1saXN0IGxpIHsgLS1zeTogMDsgfVxyXG4gIC5uYXYxLWxpc3QgbGkgfiBsaSB7IG1hcmdpbi1sZWZ0OiAwOyB9XHJcbiAgIC5uYXYxLWxpc3QgbGk6YmVmb3JlIHsgZGlzcGxheTogbm9uZTsgfVxyXG4gICAubmF2MS1saXN0IGVtIHsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtMTAwMDFlbTsgdG9wOiAtMTAwMDFlbTsgZm9udC1zdHlsZTogbm9ybWFsOyB9XHJcbiAubmF2MS10b29scyB7IHBhZGRpbmc6IDAuNXJlbSAwOyBmb250LXNpemU6IDRyZW07IH1cclxuICAubmF2MS10b29scyBsaSB+IGxpIHsgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxyXG4gICAubmF2MS10b29scyA+IGxpID4gYSB7IC0tYXVzOiA7IC0tYWJnbjogOyAtLWFvcjogNTAlOyAtLWFiY246IHZhcigtLWNfYTF0KTsgLS1hdGNuOiB2YXIoLS1jX2kxdCk7IC0tbGg6IDFlbTsgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IHdpZHRoOiAxZW07IGhlaWdodDogMWVtOyB9XHJcbiAgICAubmF2MS10b29scyBhOmJlZm9yZSB7IGZvbnQtc2l6ZTogMC41ZW07IH1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xyXG4ubmF2MS1zaWRlLCAubmF2MS1tYWluIHsgZGlzcGxheTogbm9uZTsgfVxyXG59XHJcbkBtZWRpYSBwcmludCwgKG1pbi13aWR0aDogMTAyNHB4KSB7XHJcbi5uYXYxLWxpbmtzIHsgfVxyXG4gLm5hdjEtbGlua3MgPiBsaSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxyXG4gIC5uYXYxLWxpbmtzID4gbGkgPiBhIHsgLS1hcHg6IDEuNXJlbTsgLS1hb3I6IGNhbGModmFyKC0tbGgpIC8gMik7IC0tYW9jaDogY3VycmVudENvbG9yOyAtLWFiZ246IDsgLS1hdXM6IDsgLS1saDogMi44cmVtOyBkaXNwbGF5OiBibG9jazsgfVxyXG4gIC5uYXYxLWxpbmtzIFthcmlhLWN1cnJlbnRdID4gYSB7IC0tYWJjbjogcmdiYSh2YXIoLS1jX2ExeHQpLCAwLjEpOyAtLWFvY246IHZhcigtLWFvY2gpOyB9XHJcbiAgIC5uYXYxLWxpbmtzID4gbGkgPiBhID4gc3BhbiB7IGRpc3BsYXk6IGJsb2NrOyBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggdmFyKC0tYW9jLCB0cmFuc3BhcmVudCk7IH1cclxuLm5hdjEtc2lkZSB7IC0tc3k6IDEuNnJlbTsgZm9udC1zaXplOiAxLjNyZW07IGZvbnQtd2VpZ2h0OiA0MDA7IH1cclxuIC5uYXYxLXNpZGUgPiBsaSA+IGEgeyAtLWFweDogMXJlbTsgLS1hdGNuOiB2YXIoLS1jX2QxdCk7IC0tbGg6IDIuMnJlbTsgfVxyXG4gLm5hdjEtc2lkZSBbYXJpYS1jdXJyZW50XSA+IGEgeyAtLWFiY246IHJnYmEodmFyKC0tY19kMXh0KSwgMC4xKTsgfVxyXG4ubmF2MS1ib3R0b20geyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyB9XHJcbiAubmF2MS1ib3R0b20gPiAqIHsgLS1zeTogMDsgfVxyXG4gLm5hdjEtdG9vbHMgeyBtYXJnaW4tbGVmdDogMXJlbTsgfVxyXG59XHJcblxyXG5AbWVkaWEgcHJpbnQge1xyXG4ubmF2MS10b29scyA+IGxpID4gYSB7IGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweDsgYmFja2dyb3VuZDogbm9uZTsgY29sb3I6IHZhcigtLWNfYTF0KTsgfVxyXG59XHJcblxyXG4vKipcclxuKiBAbmFtZSAubmF2MlxyXG4qIEBkZXNjcmlwdGlvbiBCaWcgbmF2XHJcbiogQGV4YW1wbGUgeyB9XHJcbiovXHJcblxyXG4gLm5hdjIgeyBwb3NpdGlvbjogZml4ZWQ7IGxlZnQ6IDA7IHRvcDogMDsgY29udGVudDogJyc7IHotaW5kZXg6IDEyMTsgb3ZlcmZsb3c6IGF1dG87IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IG1hcmdpbjogMDsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWNfYjEpLCAjRDVFQkY0KTsgc2Nyb2xsYmFyLXdpZHRoOiBub25lOyAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7IC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjsgY2xpcC1wYXRoOiBpbnNldCgwKTsgdHJhbnNpdGlvbjogYWxsIHZhcigtLXQ4bl9kMikgdmFyKC0tdDhuX2UxKTsgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdmFyKC0tdDhuX3AxKTsgfVxyXG4ubmF2Mjo6LXdlYmtpdC1zY3JvbGxiYXIgeyBkaXNwbGF5OiBub25lOyB9XHJcbi5uYXYyLi1mcm9tIHsgY2xpcC1wYXRoOiBpbnNldCgwIDAgMTAwJSk7IH1cclxuIC5uYXYyLWNsb3NlIHsgLS1saDogMTsgcG9zaXRpb246IGZpeGVkOyBsZWZ0OiAwOyB0b3A6IDIuNXJlbTsgY29udGVudDogJyc7IHdpZHRoOiAxMDAlOyBmb250LXNpemU6IDRyZW07IHRleHQtYWxpZ246IHJpZ2h0OyB9XHJcbiAgLm5hdjItY2xvc2UgYSB7IC0tYXVzOiA7IC0tYWJnbjogOyAtLWFvcjogNTAlOyAtLWFiY246IHZhcigtLWNfYTF0KTsgLS1hdGNuOiB2YXIoLS1jX2kxdCk7IC0tbGg6IDFlbTsgZGlzcGxheTogaW5saW5lLWZsZXg7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBhbGlnbi1pdGVtczogY2VudGVyOyB3aWR0aDogMWVtOyBoZWlnaHQ6IDFlbTsgdmVydGljYWwtYWxpZ246IHRvcDsgfVxyXG4gICAubmF2Mi1jbG9zZSBhOmJlZm9yZSB7IGZvbnQtc2l6ZTogMC41ZW07IH1cclxuIC5uYXYyLXdyYXAgeyBwYWRkaW5nOiA5cmVtIDAgNnJlbTsgdHJhbnNpdGlvbjogYWxsIHZhcigtLXQ4bl9kMikgdmFyKC0tdDhuX2UxKTsgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdmFyKC0tdDhuX3AxKTsgfVxyXG4gLm5hdjIuLWVudGVyLXN0YXJ0IC5uYXYyLXdyYXAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnJlbSk7IH1cclxuICAubmF2Mi1tYWluIHsgLS1zeTogdmFyKC0tczEpOyB9XHJcbiAgIC5uYXYyLXByaW1hcnkgeyBwYWRkaW5nOiAwOyB9XHJcbiAgICAubmF2Mi1wcmltYXJ5ID4gbGkgeyAtLXN5OiB2YXIoLS1zMSk7IH1cclxuICAgICAubmF2Mi1wcmltYXJ5IGxpOmJlZm9yZSB7IGRpc3BsYXk6IG5vbmU7IH1cclxuICAgICAubmF2Mi10b2dnbGVyIHsgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGZsb2F0OiByaWdodDsgd2lkdGg6IDEuMzVlbTsgaGVpZ2h0OiAxLjM1ZW07IG1hcmdpbjogMC41cmVtIDAgMCAwLjVyZW07IGJvcmRlci1yYWRpdXM6IDUwJTsgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLWNfZDF0KTsgZm9udC1zaXplOiAycmVtOyB9XHJcbiAgICAgIC5uYXYyLXRvZ2dsZXI6YWZ0ZXIgeyBjb250ZW50OiAnXFxlOTVmJzsgb3BhY2l0eTogMDsgfVxyXG4gICAgICAuLW9wZW4gPiAubmF2Mi10b2dnbGVyOmJlZm9yZSB7IG9wYWNpdHk6IDA7IH1cclxuICAgICAgLi1vcGVuID4gLm5hdjItdG9nZ2xlcjphZnRlciB7IG9wYWNpdHk6IDE7IH1cclxuICAgICAubmF2Mi1wcmltYXJ5IHVsIHsgbWFyZ2luLXRvcDogMDsgcGFkZGluZzogMDsgfVxyXG4gICAgICAubmF2Mi1wcmltYXJ5IHVsOmJlZm9yZSB7IGRpc3BsYXk6IGJsb2NrOyBjb250ZW50OiAnJzsgaGVpZ2h0OiAxLjZyZW07IH1cclxuICAubmF2Mi1zaWRlIHsgfVxyXG4gICAubmF2Mi1zZWNvbmRhcnkgeyBwYWRkaW5nOiAwOyB9XHJcbiAgICAubmF2Mi1zZWNvbmRhcnkgbGkgeyAtLXN5OiAycmVtOyB9XHJcbiAgICAgLm5hdjItc2Vjb25kYXJ5IGxpOmJlZm9yZSB7IGRpc3BsYXk6IG5vbmU7IH1cclxuXHJcbkBtZWRpYSBwcmludCwgKG1pbi13aWR0aDogMTAyNHB4KSB7XHJcbi5uYXYyLWNsb3NlIHsgdG9wOiA2LjVyZW07IH1cclxuLm5hdjItd3JhcCB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDNmcjsgZ3JpZC1jb2x1bW4tZ2FwOiB2YXIoLS1zNCk7IHBhZGRpbmc6IDEwcmVtIDA7IH1cclxuIC5uYXYyLW1haW4geyAtLXN5OiAwOyBvcmRlcjogMjsgfVxyXG4gIC5uYXYyLXRvZ2dsZXIgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cclxuICAubmF2Mi1wcmltYXJ5ID4gbGkgeyAtLXN5OiAzcmVtOyB9XHJcbiAgLm5hdjItcHJpbWFyeSA+IGxpIH4gbGkgeyBwYWRkaW5nLXRvcDogdmFyKC0tc3kpOyBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY19vMXQpOyB9XHJcbiAgLm5hdjItcHJpbWFyeSB1bCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IGhlaWdodDogYXV0byAhaW1wb3J0YW50OyBjb2x1bW5zOiAzOyBjb2x1bW4tZ2FwOiB2YXIoLS1zMik7IHBhZGRpbmctdG9wOiAxcmVtOyB9XHJcbiAgIC5uYXYyLXByaW1hcnkgdWw6YmVmb3JlIHsgZGlzcGxheTogbm9uZTsgfVxyXG4gICAubmF2Mi1wcmltYXJ5IHVsIGxpIHsgd2lkdGg6IDEwMCU7IG1hcmdpbi1ib3R0b206IDA7IHBhZGRpbmctdG9wOiAxcmVtOyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAbmFtZSAub3ZlcmxheTFcclxuICogQGRlc2NyaXB0aW9uIE92ZXJsYXkgYmxvY2tcclxuICogQGV4YW1wbGUgeyB9XHJcbiAqL1xyXG5cclxuLm92ZXJsYXkxIHsgcG9zaXRpb246IGZpeGVkOyBsZWZ0OiAwOyB0b3A6IDA7IHotaW5kZXg6IDIwMDsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgbWFyZ2luOiAwOyBiYWNrZ3JvdW5kOiAjMDAwOyBvcGFjaXR5OiAwLjQ7IHRyYW5zaXRpb24tZHVyYXRpb246IHZhcigtLXQ4bl9kMik7IHdpbGwtY2hhbmdlOiBvcGFjaXR5OyB9XHJcbi5vdmVybGF5MS4tZnJvbSB7IG9wYWNpdHk6IDA7IH1cclxuOnJvb3Q6bm90KFtqc10pIC4tb3ZlcmxheTE6dGFyZ2V0IH4gLm92ZXJsYXkxIHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxyXG5cclxuLyoqXHJcbiogQG5hbWUgLm92ZXJsaW5rMVxyXG4qIEBkZXNjcmlwdGlvbiBDYXJkIGxpbmtcclxuKiBAZXhhbXBsZSB7IH1cclxuKi9cclxuXHJcbi5vdmVybGluazEgeyAtLWF1czogOyAtLWFiZ246IDsgZGlzcGxheTogYmxvY2s7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMDsgdG9wOiAwOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyB9XHJcbi5vdmVybGluazEgfiAqIHsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cclxuIC5vdmVybGluazEgfiAqIGEgeyBwb3NpdGlvbjogcmVsYXRpdmU7IHBvaW50ZXItZXZlbnRzOiBhdXRvOyB9XHJcblxyXG4vKipcclxuICogQG5hbWUgLnBhZ2luZzFcclxuICogQGRlc2NyaXB0aW9uIFBhZ2luZyB3cmFwcGVyXHJcbiAqL1xyXG5cclxuLnBhZ2luZzEgeyAgfVxyXG4ucGFnaW5nMVtkaXNhYmxlZF0geyAtLWQ6IDE7IHBvaW50ZXItZXZlbnRzOiBub25lOyBvcGFjaXR5OiAwLjY1OyB9XHJcbiAucGFnaW5nMS1tb3JlIC5idXR0b24xIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XHJcbiAgLnBhZ2luZzEtbW9yZSAuYnV0dG9uMSA+IHNwYW4geyBvcGFjaXR5OiBjYWxjKDEgLSB2YXIoLS1kLCAwKSk7IH1cclxuICAucGFnaW5nMS1tb3JlIC5idXR0b24xID4gc3Bhbjpub3QoOmxhc3QtY2hpbGQpIHsgbWFyZ2luLXJpZ2h0OiAwOyB9XHJcbiAgLnBhZ2luZzEtbW9yZSAuYnV0dG9uMSA+IC5sb2FkZXIxIHsgb3BhY2l0eTogdmFyKC0tZCwgMCk7IH1cclxuIC5wYWdpbmcxLXBhZ2VzIHsgLS1neDogMC41cmVtOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgcGFkZGluZzogMDsgfVxyXG4gIC5wYWdpbmcxLXBhZ2VzIGxpIHsgZmxleDogbm9uZTsgd2lkdGg6IGF1dG87IG1hcmdpbi1ib3R0b206IDA7IH1cclxuICAgLnBhZ2luZzEtcGFnZXMgbGk6YmVmb3JlIHsgZGlzcGxheTogbm9uZTsgfVxyXG4gICAucGFnaW5nMS1wYWdlcyBhIHsgLS1hYmduOiAnJzsgLS1hdGNoOiB2YXIoLS1jX2ExdCk7IGRpc3BsYXk6IGJsb2NrOyBtaW4td2lkdGg6IDJyZW07IGJveC1zaGFkb3c6IG5vbmU7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxyXG4gICAucGFnaW5nMS1wYWdlcyBhW2FyaWEtY3VycmVudF0geyAtLWF0Y246IHZhcigtLWNfYTF0KTsgZm9udC13ZWlnaHQ6IDcwMDsgfVxyXG4gIC5wYWdpbmcxLWRvdHMgeyBwYWRkaW5nOiAwIDAuM3JlbTsgfVxyXG4gIC5wYWdpbmcxLXN0ZXAgeyAtLWxoOiAxOyBmb250LXNpemU6IDEuMmVtOyB9XHJcbiAgIC5wYWdpbmcxLWRvdHMgYSB7IG1pbi13aWR0aDogMDsgfVxyXG5cclxuLyoqXHJcbiogQG5hbWUgLnByaXplczFcclxuKiBAZGVzY3JpcHRpb24gUHJpemUgbGlzdFxyXG4qIEBleGFtcGxlIHsgfVxyXG4qL1xyXG5cclxuLnByaXplczEgeyBncmlkLWNvbHVtbi1nYXA6IHZhcigtLXMzKTsgfVxyXG4gIC5wcml6ZXMxLWhlYWRlciA+ICogeyAtLXN5OiAxLjhyZW07IH1cclxuICAucHJpemVzMS1lbnRyeSB7IC0tc3k6IDNyZW07IH1cclxuICAgLnByaXplczEtZW50cnkgLmltZzEgeyBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XHJcblxyXG4ucHJpemVzMS1tYWluIHtncmlkLWNvbHVtbi1nYXA6IHZhcigtLXMxKTt9XHJcblxyXG5AbWVkaWEgcHJpbnQsIChtaW4td2lkdGg6IDcyMHB4KSB7XHJcbi5wcml6ZXMxLW1haW4ge2Rpc3BsYXk6IGdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwxZnIpO2dyaWQtcm93LWdhcDogM3JlbTtncmlkLWNvbHVtbi1nYXA6IHZhcigtLXMxKTt9XHJcbiAucHJpemVzMS1lbnRyeSB7IC0tc3k6IDA7IH1cclxufVxyXG5AbWVkaWEgcHJpbnQsIChtaW4td2lkdGg6IDEwMjRweCkge1xyXG4ucHJpemVzMSB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsMWZyKTsgZ3JpZC1jb2x1bW4tZ2FwOiB2YXIoLS1zMyk7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IG1heC13aWR0aDogMTEwcmVtOyBtYXJnaW46IDAgYXV0bzsgfVxyXG4gLnByaXplczEgPiAqIHsgLS1zeTogMDsgfVxyXG59XHJcblxyXG4vKipcclxuKiBAbmFtZSAucHJvZ3Jlc3MxXHJcbiogQGRlc2NyaXB0aW9uIERvbmF0aW9uIHByb2dyZXNzXHJcbiogQGV4YW1wbGUgeyB9XHJcbiovXHJcblxyXG4ucHJvZ3Jlc3MxIHsgIH1cclxuIC5wcm9ncmVzczEtaGVhZGVyID4gKiB7IC0tc3k6IDEuNHJlbTsgfVxyXG4gLnByb2dyZXNzMS1iYXIgeyAtLWg6IDMuNHJlbTsgcG9zaXRpb246IHJlbGF0aXZlOyBvdmVyZmxvdzogaGlkZGVuOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiB2YXIoLS1oKTsgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1oKSAvIDIpOyBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0tY19kMXQpOyBiYWNrZ3JvdW5kOiB2YXIoLS1jX2IxdCk7IHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsgfVxyXG4gIC5wcm9ncmVzczEtYmFyOmJlZm9yZSB7IGRpc3BsYXk6IGJsb2NrOyBjb250ZW50OiAnJzsgd2lkdGg6IHZhcigtLXAsIDAlKTsgaGVpZ2h0OiAxMDAlOyBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWgpIC8gMik7IGJveC1zaGFkb3c6IGluaGVyaXQ7IGJhY2tncm91bmQ6IHZhcigtLWMsIHZhcigtLWNfYTF0KSk7IHRyYW5zZm9ybS1vcmlnaW46IDAgNTAlOyB0cmFuc2l0aW9uOiBhbGwgMXMgdmFyKC0tdDhuX2UxKTsgfVxyXG4gLnByb2dyZXNzMS1hY3Rpb25zIHsgZGlzcGxheTogZmxleDsgcGFkZGluZzogMDsgfVxyXG4gIC5wcm9ncmVzczEtYWN0aW9ucyBsaSB7IC0tc3k6IDA7IH1cclxuICAucHJvZ3Jlc3MxLWFjdGlvbnMgbGkgfiBsaSB7IG1hcmdpbi1sZWZ0OiAxLjJyZW07IH1cclxuICAgLnByb2dyZXNzMS1hY3Rpb25zIGxpOmJlZm9yZSB7IGRpc3BsYXk6IG5vbmU7IH1cclxuXHJcbkBtZWRpYSBwcmludCwgKG1pbi13aWR0aDogMTAyNHB4KSB7XHJcbi5wcm9ncmVzczEtaGVhZGVyIHsgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH1cclxuIC5wcm9ncmVzczEtaGVhZGVyID4gKiB7IC0tc3k6IDA7IH1cclxuIC5wcm9ncmVzczEtaGVhZGVyID4gKiB+ICogeyBtYXJnaW4tbGVmdDogdmFyKC0tczEpOyB9XHJcbi5wcm9ncmVzczEtZm9vdGVyIHsgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBhbGlnbi1pdGVtczogc3RhcnQ7IH1cclxuIC5wcm9ncmVzczEtZm9vdGVyID4gKiB7IC0tc3k6IDA7IH1cclxuIC5wcm9ncmVzczEtbm90ZSB7IG1heC13aWR0aDogdmFyKC0teHdfNSk7IH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHtcclxuW200bl0gLnByb2dyZXNzMS1iYXJbcmV2ZWFsXTpub3QoW3JldmVhbGVkXSk6YmVmb3JlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxyXG59XHJcblxyXG5AbWVkaWEgcHJpbnQge1xyXG4ucHJvZ3Jlc3MxLWJhcjpiZWZvcmUgeyBib3JkZXItdG9wOiB2YXIoLS1oKSBzb2xpZCB2YXIoLS1jLCB2YXIoLS1jX2ExdCkpOyB9XHJcbn1cclxuXHJcbi8qKlxyXG4qIEBuYW1lIC5wcm9ncmVzczJcclxuKiBAZGVzY3JpcHRpb24gU21hbGwgcHJvZ3Jlc3MgYmFyXHJcbiogQGV4YW1wbGUgeyB9XHJcbiovXHJcblxyXG4ucHJvZ3Jlc3MyIHsgLS1oOiAxLjJyZW07IGhlaWdodDogdmFyKC0taCk7IGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0taCkgLyAyKTsgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLWNfbzJ0KTsgYmFja2dyb3VuZDogdmFyKC0tY19iMXQpOyB9XHJcbiAucHJvZ3Jlc3MyOmJlZm9yZSB7IGRpc3BsYXk6IGJsb2NrOyBjb250ZW50OiAnJzsgd2lkdGg6IHZhcigtLXAsIDAlKTsgaGVpZ2h0OiAxMDAlOyBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWgpIC8gMik7IGJhY2tncm91bmQ6IHZhcigtLWMsIHZhcigtLWNfYTF0KSk7IH1cclxuXHJcbkBtZWRpYSBwcmludCB7XHJcbi5wcm9ncmVzczI6YmVmb3JlIHsgYm9yZGVyLXRvcDogdmFyKC0taCkgc29saWQgdmFyKC0tYywgdmFyKC0tY19hMXQpKTsgfVxyXG59XHJcblxyXG4vKipcclxuKiBAbmFtZSAucHJvbW8xXHJcbiogQGRlc2NyaXB0aW9uIFByb21vIGNhcmRcclxuKiBAZXhhbXBsZSB7IH1cclxuKi9cclxuXHJcbi5wcm9tbzEgeyAtLXN5OiB2YXIoLS1zMyk7IH1cclxuIC5wcm9tbzEtaW1hZ2UgeyAtLW06IHVybCguLi9pbWFnZXMvbWFza3MxYS5zdmcpIHZhcigtLXAsIDUwJSkgMCAvIGF1dG8gMTAwJSBuby1yZXBlYXQ7IC0tc3k6IDJyZW07IG1hcmdpbi1sZWZ0OiB2YXIoLS1ueCk7IG1hcmdpbi1yaWdodDogdmFyKC0tbngpOyAtd2Via2l0LW1hc2s6IHZhcigtLW0pOyBtYXNrOiB2YXIoLS1tKTsgfVxyXG4gLnByb21vMS4tcmlnaHQgLnByb21vMS1pbWFnZSB7IC0tcDogMDsgbWFyZ2luLWxlZnQ6IDA7IH1cclxuIC5wcm9tbzEuLWxlZnQgLnByb21vMS1pbWFnZSB7IC0tcDogMTAwJTsgbWFyZ2luLXJpZ2h0OiAwOyB9XHJcbiAucHJvbW8xLW1haW4geyAgfVxyXG4gIC5wcm9tbzEtbWFpbiA+ICogeyAtLXN5OiAxLjRyZW07IH1cclxuICAucHJvbW8xLWJyb3cgeyAtLXN5OiAwLjZyZW07IH1cclxuICAucHJvbW8xLWFjdGlvbnMgeyBtYXgtd2lkdGg6IDgwJTsgbWFyZ2luLXRvcDogMnJlbTsgfVxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6IDcyMHB4KSBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XHJcbiAucHJvbW8xLi1yaWdodCAucHJvbW8xLWltYWdlIHsgbWFyZ2luLWxlZnQ6IDI1JTsgfVxyXG4gLnByb21vMS4tbGVmdCAucHJvbW8xLWltYWdlIHsgbWFyZ2luLXJpZ2h0OiAyNSU7IH1cclxuIC5wcm9tbzEtbWFpbiB7IG1heC13aWR0aDogODAlOyB9XHJcbiAucHJvbW8xLi1sZWZ0IC5wcm9tbzEtbWFpbiB7IG1hcmdpbi1sZWZ0OiBhdXRvOyB9XHJcbn1cclxuQG1lZGlhIHByaW50LCAobWluLXdpZHRoOiAxMDI0cHgpIHtcclxuLnByb21vMSB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsMWZyKTsgZ3JpZC1jb2x1bW4tZ2FwOiB2YXIoLS1zMyk7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cclxuLnByb21vMS4tbGVmdCAucHJvbW8xLWltYWdlIHsgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tb2Zmc2V0LWxlZnQsIHZhcigtLXN4KSkgKiAtMSk7IH1cclxuLnByb21vMS4tcmlnaHQgLnByb21vMS1pbWFnZSB7IG9yZGVyOiAyOyBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tb2Zmc2V0LXJpZ2h0LCB2YXIoLS1zeCkpICogLTEpOyB9XHJcbi5wcm9tbzEtbWFpbiB7IG1heC13aWR0aDogdmFyKC0teHdfNik7IG1hcmdpbi1sZWZ0OiBhdXRvOyBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cclxufVxyXG5cclxuLyoqXHJcbiogQG5hbWUgLnByb21vMlxyXG4qIEBkZXNjcmlwdGlvbiBJbXBhY3QgcHJvbW9cclxuKiBAZXhhbXBsZSB7IH1cclxuKi9cclxuXHJcbi5wcm9tbzIgeyAgfVxyXG4ucHJvbW8yLWltYWdlIHsgbWF4LXdpZHRoOiAzMnJlbTsgbWFyZ2luLWxlZnQ6IGF1dG87IG1hcmdpbi1yaWdodDogYXV0bzsgfVxyXG4gLnByb21vMi1tYWluIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XHJcbiAgLnByb21vMi1tYWluID4gKiB7IC0tc3k6IDEuMnJlbTsgfVxyXG4gIC5wcm9tbzItYWN0aW9uIHsgbWFyZ2luLXRvcDogMnJlbTsgfVxyXG5cclxuQG1lZGlhIHByaW50LCAobWluLXdpZHRoOiAxMDI0cHgpIHtcclxuLnByb21vMiB7IGRpc3BsYXk6IGdyaWQ7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDEuNzdmcjsgZ3JpZC1jb2x1bW4tZ2FwOiB2YXIoLS1zMSk7IH1cclxuIC5wcm9tbzItaW1hZ2UgeyBmbGV4OiBub25lOyBtYXgtd2lkdGg6IDEwMCU7IH1cclxuIC5wcm9tbzItbWFpbiB7IHRleHQtYWxpZ246IGxlZnQ7IH1cclxufVxyXG5cclxuLyoqXHJcbiogQG5hbWUgLnF1b3RlMVxyXG4qIEBkZXNjcmlwdGlvbiBCaWcgcXVvdGVcclxuKiBAZXhhbXBsZSB7IH1cclxuKi9cclxuXHJcbi5xdW90ZTEgeyBwb3NpdGlvbjogcmVsYXRpdmU7IHBhZGRpbmctbGVmdDogMDsgcGFkZGluZy10b3A6IDIuNHJlbTsgYm94LXNoYWRvdzogbm9uZTsgfVxyXG4gLnF1b3RlMSBmaWd1cmUgeyAtLXN5OiAxLjZyZW07IHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMjsgbWF4LXdpZHRoOiAxNnJlbTsgbWFyZ2luLWxlZnQ6IGF1dG87IG1hcmdpbi1yaWdodDogYXV0bzsgfVxyXG4gLnF1b3RlMSBxIHsgLS1zeTogMi40cmVtOyB9XHJcbiAgLnF1b3RlMSBxOmJlZm9yZSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMDsgdG9wOiAwOyBjb250ZW50OiAnXFxlOTUwJzsgd2lkdGg6IGF1dG87IGNvbG9yOiB2YXIoLS1jX2ExdCk7IHRleHQtaW5kZW50OiAwOyBmb250OiA2cmVtLzEgSWNvbnM7IH1cclxuXHJcbkBtZWRpYSBwcmludCwgKG1pbi13aWR0aDogNzIwcHgpIHtcclxuLnF1b3RlMSBmaWd1cmUgeyBtYXJnaW4tbGVmdDogNHJlbTsgfVxyXG59XHJcbkBtZWRpYSBwcmludCwgKG1pbi13aWR0aDogMTAyNHB4KSB7XHJcbi5xdW90ZTEgeyBwYWRkaW5nLWxlZnQ6IDMwcmVtOyBwYWRkaW5nLXRvcDogNXJlbTsgfVxyXG4gLnF1b3RlMSBmaWd1cmUgeyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDEwcmVtOyB0b3A6IDVyZW07IHdpZHRoOiAxMDAlOyBtYXJnaW46IDA7IH1cclxuICAucXVvdGUxIHE6YmVmb3JlIHsgdG9wOiAwOyBmb250LXNpemU6IDEycmVtOyB9XHJcbn1cclxuXHJcbi8qKlxyXG4qIEBuYW1lIC5xdW90ZTJcclxuKiBAZGVzY3JpcHRpb24gUHVsbHF1b3RlXHJcbiogQGV4YW1wbGUgeyB9XHJcbiovXHJcblxyXG4ucXVvdGUyIHsgcG9zaXRpb246IHJlbGF0aXZlOyBwYWRkaW5nOiAwOyBib3gtc2hhZG93OiBub25lOyB9XHJcbiAucXVvdGUyID4gKiB7IC0tc3k6IDJyZW07IH1cclxuIC5xdW90ZTI6YmVmb3JlIHsgZGlzcGxheTogYmxvY2s7IGNvbnRlbnQ6ICcnOyBtYXJnaW4tYm90dG9tOiAycmVtOyBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY19hMXQpOyB9XHJcbiAucXVvdGUyIHE6YmVmb3JlIHsgLS1saDogMC42OyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IC03cmVtOyB0b3A6IC0ycmVtOyB3aWR0aDogYXV0bzsgY29sb3I6IHZhcigtLWNfYTF0KTsgdGV4dC1pbmRlbnQ6IDA7IGZvbnQtc2l6ZTogMjByZW07IH1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xyXG4ucXVvdGUyOmJlZm9yZSB7IG1hcmdpbi1ib3R0b206IDMuNXJlbTsgbWFyZ2luLWxlZnQ6IDhyZW07IH1cclxuLnF1b3RlMiBxOmJlZm9yZSB7IGxlZnQ6IDA7IHRvcDogLTJyZW07IH1cclxufVxyXG5cclxuLyoqXHJcbiogQG5hbWUgLnJhZGlvczFcclxuKiBAZGVzY3JpcHRpb24gUmFkaW8gYnV0dG9uc1xyXG4qIEBleGFtcGxlIHsgfVxyXG4qL1xyXG5cclxuLnJhZGlvczEgeyAgfVxyXG4gLnJhZGlvczEgbGkgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cclxuICAucmFkaW9zMSBpbnB1dFt0eXBlXSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogLTEwMDAxcHg7IH1cclxuICAucmFkaW9zMSBsYWJlbFtmb3JdIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IHdpZHRoOiAxMDAlOyBtaW4td2lkdGg6IDEwcmVtOyBtaW4taGVpZ2h0OiA0LjhyZW07IG1hcmdpbjogMDsgcGFkZGluZzogMCAycmVtOyBib3JkZXItcmFkaXVzOiAyLjRyZW07IGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1hb2MsIHZhcigtLWNfYTF0KSk7IGNvbG9yOiB2YXIoLS1jX2ExdCk7IGZvbnQ6IDcwMCAxLjZyZW0vdmFyKC0tbGgpIHZhcigtLWZmXzEpOyB0cmFuc2l0aW9uLXByb3BlcnR5OiB2YXIoLS10OG5fcDEpLCBjb2xvcjsgfVxyXG4gIC5yYWRpb3MxIGlucHV0OmNoZWNrZWQgKyBsYWJlbFtmb3JdIHsgYmFja2dyb3VuZDogdmFyKC0tY19hMXQpOyBjb2xvcjogdmFyKC0tY19pMXQpOyB9XHJcblxyXG4vKipcclxuKiBAbmFtZSAucmVzdWx0czFcclxuKiBAZGVzY3JpcHRpb24gTWFwIHJlc3VsdHNcclxuKiBAZXhhbXBsZSB7IH1cclxuKi9cclxuXHJcbi5yZXN1bHRzMSB7IHBhZGRpbmc6IDA7IH1cclxuIC5yZXN1bHRzMSBsaSB7IC0tc3k6IDA7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jX28xdCk7IH1cclxuIC5yZXN1bHRzMSBsaTpsYXN0LWNoaWxkIHsgYm9yZGVyLWJvdHRvbS13aWR0aDogMDsgfVxyXG4gIC5yZXN1bHRzMSBsaTpiZWZvcmUgeyBkaXNwbGF5OiBub25lOyB9XHJcbiAgLnJlc3VsdHMxIGEgeyAtLWxoOiAxOyAtLWF1czogOyAtLWFiZ246IDsgLS1hYmNuOiB2YXIoLS1jX2IxKTsgLS1hYmNoOiB2YXIoLS1jX2IyKTsgLS1hdGNuOiB2YXIoLS1jX2QxdCk7IGRpc3BsYXk6IGJsb2NrOyBwYWRkaW5nOiAxLjRyZW0gMXJlbTsgfVxyXG4gICAucmVzdWx0czEgaSB7IC0tbGg6IDE7IGZsb2F0OiByaWdodDsgbWFyZ2luOiAwIDAgMCAxcmVtOyB9XHJcbiAgIC5yZXN1bHRzMSBzdHJvbmcgeyBkaXNwbGF5OiBibG9jazsgfVxyXG4gICAucmVzdWx0czEgc3Ryb25nLCAucmVzdWx0czEgaSB7IHRyYW5zaXRpb24tcHJvcGVydHk6IHZhcigtLXQ4bl9wMSksIGNvbG9yOyB9XHJcblxyXG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XHJcbi5yZXN1bHRzMSBhOmhvdmVyIHN0cm9uZywgLnJlc3VsdHMxIGE6aG92ZXIgaSB7IGNvbG9yOiB2YXIoLS1jX2ExdCk7IH1cclxufVxyXG5cclxuLyoqXHJcbiogQG5hbWUgLnJlc3VsdHMyXHJcbiogQGRlc2NyaXB0aW9uIE1hcCBzZWFyY2ggcmVzdWx0c1xyXG4qIEBleGFtcGxlIHsgfVxyXG4qL1xyXG5cclxuLnJlc3VsdHMyIHsgcGFkZGluZzogMDsgfVxyXG4gLnJlc3VsdHMyIGxpIHsgLS1zeTogMDsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNfbzF0KTsgfVxyXG4gLnJlc3VsdHMyIGxpOmxhc3QtY2hpbGQgeyBib3JkZXItYm90dG9tLXdpZHRoOiAwOyB9XHJcbiAgLnJlc3VsdHMyIGxpOmJlZm9yZSB7IGRpc3BsYXk6IG5vbmU7IH1cclxuICAucmVzdWx0czIgYSB7IC0tbGg6IDE7IC0tYXVzOiA7IC0tYWJnbjogOy0tYXRjbjogdmFyKC0tY19kMXQpOyBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IHBhZGRpbmc6IDEuNHJlbSAxcmVtOyB9XHJcbiAgIC5yZXN1bHRzMiBzdHJvbmcgeyB0cmFuc2l0aW9uLXByb3BlcnR5OiB2YXIoLS10OG5fcDEpLCBjb2xvcjsgfVxyXG4gICAucmVzdWx0czIgdGltZSB7IGZsZXg6IG5vbmU7IG1hcmdpbi1sZWZ0OiAycmVtOyB9XHJcblxyXG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XHJcbi5yZXN1bHRzMiBhOmhvdmVyIHN0cm9uZyB7IGNvbG9yOiB2YXIoLS1jX2ExdCk7IH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBAbmFtZSAuc2Nyb2xsZWQxXHJcbiAqIEBkZXNjcmlwdGlvbiBIb3Jpem9udGFsbHkgc2Nyb2xsZWQgY29udGFpbmVyXHJcbiAqL1xyXG5cclxuLnNjcm9sbGVkMSB0YWJsZSB7IHdpZHRoOiAxMDAlOyB9XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcclxuLnNjcm9sbGVkMSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgd2lkdGg6IGF1dG87IG1heC13aWR0aDogMTAwdnc7IG1hcmdpbi1sZWZ0OiB2YXIoLS1ueCk7IG1hcmdpbi1yaWdodDogdmFyKC0tbngpOyB9XHJcbiAuc2Nyb2xsZWQxOmFmdGVyIHsgcG9zaXRpb246IGFic29sdXRlOyByaWdodDogdmFyKC0tc3gpOyBib3R0b206IC0xLjZyZW07IGNvbnRlbnQ6ICcnOyB3aWR0aDogMS44cmVtOyBoZWlnaHQ6IDIuNHJlbTsgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy90YWJsZTEtaWNvbjEucG5nKSBuby1yZXBlYXQ7IGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgb3BhY2l0eTogMC43NTsgcG9pbnRlci1ldmVudHM6IG5vbmU7IGFuaW1hdGlvbjogc2Nyb2xsZWQxIDJzIGluZmluaXRlOyB9XHJcbiAuc2Nyb2xsZWQxLW91dGVyIHsgb3ZlcmZsb3c6IGF1dG87IG92ZXJmbG93LXk6IGhpZGRlbjsgcGFkZGluZzogMDsgc2Nyb2xsYmFyLXdpZHRoOiBub25lOyAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7IC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxyXG4gLnNjcm9sbGVkMS1vdXRlcjo6LXdlYmtpdC1zY3JvbGxiYXIgeyBkaXNwbGF5OiBub25lOyB9XHJcbiAgLnNjcm9sbGVkMS1pbm5lciB7IG1pbi13aWR0aDogY2FsYygxMDIuNHJlbSAtIHZhcigtLXN4KSAqIDIpOyB9XHJcbiAgIC5zY3JvbGxlZDEtaW5uZXIgdGFibGUgeyB3aWR0aDogMTAwJTsgfVxyXG4gICAgLnNjcm9sbGVkMS1pbm5lciB0ciA+IDpmaXJzdC1jaGlsZCB7IGJvcmRlci1sZWZ0LXdpZHRoOiAwOyBwYWRkaW5nLWxlZnQ6IHZhcigtLXN4KTsgfVxyXG4gICAgLnNjcm9sbGVkMS1pbm5lciB0ciA+IDpsYXN0LWNoaWxkIHsgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwOyBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zeCk7IH1cclxuXHJcbkBrZXlmcmFtZXMgc2Nyb2xsZWQxIHsgMCUgeyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTsgfSA2MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0ycmVtLDAsMCk7IG9wYWNpdHk6IDAuNzU7IH0gODAlIHsgb3BhY2l0eTogMC43NTsgfSAxMDAlIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMnJlbSwwLDApOyB9IH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEBuYW1lIC5zZWFyY2hib3gxXHJcbiAqIEBkZXNjcmlwdGlvbiBTZWFyY2ggYm94XHJcbiAqIEBleGFtcGxlIHsgfVxyXG4gKi9cclxuXHJcbi5zZWFyY2hib3gxIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XHJcbiAuc2VhcmNoYm94MSA+IGlucHV0W3R5cGVdIHsgLS1haG06IDhyZW07IC0tYXB4OiA0cmVtOyAtLWFweTogMHJlbTsgLS1hcGNuOiB2YXIoLS1jX2QxdCk7IHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tYWhtKSArIDFyZW0pOyBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWFobSkgLyAyKTsgZm9udDogNTAwIDMuNnJlbS92YXIoLS1saCkgdmFyKC0tZmZfMik7IGxldHRlci1zcGFjaW5nOiAtMC4wMmVtOyBmb250LXNpemU6IGNhbGModmFyKC0tYWhtKSAqIDAuNDUpOyB9XHJcbiAuc2VhcmNoYm94MSA+IGJ1dHRvblt0eXBlXSB7IC0tYXdtOiA4cmVtOyAtLWFobTogdmFyKC0tYXdtKTsgLS1hcHg6IDA7IC0tYW9zbjogMDsgLS1hdGNuOiB2YXIoLS1jX2ExdCk7IC0tYXRjaDogdmFyKC0tYXRjbik7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgcmlnaHQ6IDA7IHRvcDogMDsgYmFja2dyb3VuZDogbm9uZTsgZm9udC1zaXplOiBjYWxjKHZhcigtLWFobSkgKiAwLjQpOyB9XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MTlweCkge1xyXG4gLnNlYXJjaGJveDEgPiBpbnB1dFt0eXBlXSB7IC0tYWhtOiA2cmVtOyAtLWFweDogMi40cmVtOyB9XHJcbiAuc2VhcmNoYm94MSA+IGJ1dHRvblt0eXBlXSB7IC0tYXdtOiA2cmVtOyB9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogQG5hbWUgLnNlYXJjaGJveDJcclxuICogQGRlc2NyaXB0aW9uIFNtYWxsIHNlYXJjaCBib3hcclxuICogQGV4YW1wbGUgeyB9XHJcbiAqL1xyXG5cclxuLnNlYXJjaGJveDIgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cclxuIC5zZWFyY2hib3gyID4gaW5wdXRbdHlwZV0geyAtLWFiY246IHZhcigtLWNfYjF0KTsgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1haG0pICsgMXJlbSk7IH1cclxuIC5zZWFyY2hib3gyID4gYnV0dG9uW3R5cGVdIHsgLS1hd206IDQuOHJlbTsgLS1haG06IHZhcigtLWF3bSk7IC0tYXB4OiAwOyAtLWFvc246IDA7IC0tYXRjbjogdmFyKC0tY19hMXQpOyAtLWF0Y2g6IHZhcigtLWF0Y24pOyBwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiAwOyB0b3A6IDA7IGJhY2tncm91bmQ6IG5vbmU7IGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1haG0pICogMC40KTsgfVxyXG5cclxuLnNlYXJjaGJveDIuLXYyID4gaW5wdXRbdHlwZV0geyAtLWFwY246IHZhcigtLWNfZDF0KTsgZm9udDogNzAwIDEuNnJlbS92YXIoLS1saCkgdmFyKC0tZmZfMik7IGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOyB9XHJcblxyXG4vKipcclxuKiBAbmFtZSAuc2hhcmUxXHJcbiogQGRlc2NyaXB0aW9uIFNoYXJlIG1vZGFsXHJcbiogQGV4YW1wbGUgeyB9XHJcbiovXHJcblxyXG4uc2hhcmUxIHsgcG9zaXRpb246IGZpeGVkOyBsZWZ0OiAwOyBib3R0b206IDA7IHotaW5kZXg6IDIwMTsgd2lkdGg6IDEwMCU7IG1hcmdpbjogMDsgcGFkZGluZzogdmFyKC0tczEpIHZhcigtLXN4KTsgYm9yZGVyLXJhZGl1czogdmFyKC0tYnJfMSkgdmFyKC0tYnJfMSkgMCAwOyBiYWNrZ3JvdW5kOiB2YXIoLS1jX2IxKTsgdHJhbnNpdGlvbjogYWxsIHZhcigtLXQ4bl9kMikgdmFyKC0tdDhuX2UxKTsgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdmFyKC0tdDhuX3AyKTsgfVxyXG4uc2hhcmUxLi1mcm9tIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOyB9XHJcbiAuc2hhcmUxLWNsb3NlIHsgLS1saDogMTsgcG9zaXRpb246IGFic29sdXRlOyByaWdodDogMXJlbTsgdG9wOiAxcmVtOyBjb2xvcjogdmFyKC0tY19hMXQpOyBmb250LXNpemU6IDIuNHJlbTsgfVxyXG4gLnNoYXJlMS10aXRsZSB7IC0tc3k6IDEuNnJlbTsgfVxyXG4gLnNoYXJlMS1saXN0IHsgcGFkZGluZzogMDsgfVxyXG4gIC5zaGFyZTEtbGlzdCBsaSB7IC0tc3k6IDFyZW07IC0tbGg6IDE7IH1cclxuICAgLnNoYXJlMS1saXN0IGxpOmJlZm9yZSB7IGRpc3BsYXk6IG5vbmU7IH1cclxuICAgLnNoYXJlMS1saXN0IGEgeyAtLWF1czogJyc7IC0tYWJnbjogJyc7IGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XHJcbiAgICAuc2hhcmUxLWxpc3QgaSB7IGZsZXg6IG5vbmU7IG1hcmdpbjogMCAwLjVyZW0gMCAwOyBmb250LXNpemU6IDEuNzVlbTsgfVxyXG5cclxuQG1lZGlhIHByaW50LCAobWluLXdpZHRoOiAxMDI0cHgpIHtcclxuLnNoYXJlMSB7IGxlZnQ6IDUwJTsgYm90dG9tOiBhdXRvOyB0b3A6IDUwJTsgd2lkdGg6IDUwcmVtOyBib3JkZXItcmFkaXVzOiB2YXIoLS1icl8xKTsgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKSBzY2FsZSgxKTsgfVxyXG4uc2hhcmUxLi1mcm9tIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKSBzY2FsZSgwLjkpOyBvcGFjaXR5OiAwOyB9XHJcbiAuc2hhcmUxLWNsb3NlIHsgcmlnaHQ6IDJyZW07IHRvcDogMnJlbTsgfVxyXG59XHJcblxyXG4vKipcclxuKiBAbmFtZSAuc2lkZWJhcjFcclxuKiBAZGVzY3JpcHRpb24gU2lkZWJhclxyXG4qIEBleGFtcGxlIHsgfVxyXG4qL1xyXG5cclxuLnNpZGViYXIxIHsgIH1cclxuIC5zaWRlYmFyMS1pbnRybyB7IC0tc3k6IHZhcigtLXMxKTsgfVxyXG4gLnNpZGViYXIxLXRpdGxlIHsgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBtYXJnaW4tYm90dG9tOiAwOyBwYWRkaW5nLWJvdHRvbTogMS44cmVtOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY19vMXQpOyB9XHJcbiAgLnNpZGViYXIxLXRpdGxlID4gYSB7IC0tYXVzOiA7IC0tYWJnbjogOyAtLWF0Y246IHZhcigtLWNfZDF0KTsgLS1hdGNoOiB2YXIoLS1jX2ExdCk7IH1cclxuICAuc2lkZWJhcjEtdGl0bGUgPiBzcGFuIHsgfVxyXG4gICAuc2lkZWJhcjEtdGl0bGUgPiBzcGFuIGkgeyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgZmxvYXQ6IHJpZ2h0OyB3aWR0aDogMS4zNWVtOyBoZWlnaHQ6IDEuMzVlbTsgbWFyZ2luOiAwIDAgMCAwLjVyZW07IGJvcmRlci1yYWRpdXM6IDUwJTsgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLWNfZDF0KTsgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XHJcbiAgICAuc2lkZWJhcjEtdGl0bGUgPiBzcGFuIGk6YWZ0ZXIgeyBjb250ZW50OiAnXFxlOTVkJzsgZm9udC1mYW1pbHk6IEljb25zOyBvcGFjaXR5OiAwOyB9XHJcbiAgICAuc2lkZWJhcjEtdGl0bGUuLW9wZW4gPiBzcGFuIGk6YmVmb3JlIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgLnNpZGViYXIxLXRpdGxlLi1vcGVuID4gc3BhbiBpOmFmdGVyIHsgb3BhY2l0eTogMTsgfVxyXG4gLnNpZGViYXIxLXdyYXAgeyAtLXN5OiB2YXIoLS1zMSk7IH1cclxuICAuc2lkZWJhcjEtbmF2IHsgcG9zaXRpb246IHJlbGF0aXZlOyBtYXJnaW4tYm90dG9tOiAwOyBwYWRkaW5nOiAwOyB9XHJcbiAgIC5zaWRlYmFyMS1uYXYgbGkgeyAgfVxyXG4gICAgLnNpZGViYXIxLW5hdiBhIHsgLS1hdXM6IDsgLS1hYmduOiA7IC0tYXRjbjogdmFyKC0tY19kMXQpOyAtLWF0Y2g6IHZhcigtLWNfYTF0KTsgfVxyXG4gICAgLnNpZGViYXIxLW5hdiBhW2FyaWEtY3VycmVudF0geyAtLWF0Y246IHZhcigtLWF0Y2gpOyB9XHJcbiAgICAuc2lkZWJhcjEtbmF2IGxpOmJlZm9yZSB7IGRpc3BsYXk6IG5vbmU7IH1cclxuICAgLnNpZGViYXIxLW5hdiA+IGxpIHsgLS1zeTogMS44cmVtOyB3aWR0aDogMTAwJTsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNfbzF0KTsgfVxyXG4gICAuc2lkZWJhcjEtbmF2ID4gbGk6bGFzdC1jaGlsZCB7IGJvcmRlci1ib3R0b20td2lkdGg6IDA7IH1cclxuICAgIC5zaWRlYmFyMS1uYXYgPiBsaTphZnRlciB7IGRpc3BsYXk6IGJsb2NrOyBjb250ZW50OiAnJzsgaGVpZ2h0OiB2YXIoLS1zeSk7IH1cclxuICAgIC5zaWRlYmFyMS1uYXYgPiBsaSA+IGkgeyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgZmxvYXQ6IHJpZ2h0OyB3aWR0aDogMS4zNWVtOyBoZWlnaHQ6IDEuMzVlbTsgcGFkZGluZy10b3A6IDFweDsgYm9yZGVyLXJhZGl1czogNTAlOyBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0tY19kMXQpOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyBvcGFjaXR5OiAwLjU7IH1cclxuICAgICAuc2lkZWJhcjEtbmF2ID4gbGkgPiBpOmFmdGVyIHsgY29udGVudDogJ1xcZTk1ZCc7IGZvbnQtZmFtaWx5OiBJY29uczsgb3BhY2l0eTogMDsgfVxyXG4gICAgIC5zaWRlYmFyMS1uYXYgPiBsaS4tb3BlbiA+IGk6YmVmb3JlIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgIC5zaWRlYmFyMS1uYXYgPiBsaS4tb3BlbiA+IGk6YWZ0ZXIgeyBvcGFjaXR5OiAxOyB9XHJcbiAgICAuc2lkZWJhcjEtbmF2ID4gbGkgPiB1bCB7IG1hcmdpbjogMDsgcGFkZGluZy1sZWZ0OiAycmVtOyB9XHJcbiAgICAgLnNpZGViYXIxLW5hdiA+IGxpID4gdWw6YmVmb3JlLCAuc2lkZWJhcjEtbmF2ID4gbGkgPiB1bDphZnRlciB7IGRpc3BsYXk6IGJsb2NrOyBjb250ZW50OiAnJzsgaGVpZ2h0OiAxLjZyZW07IH1cclxuICAgICAuc2lkZWJhcjEtbmF2ID4gbGkgPiB1bDphZnRlciB7IGhlaWdodDogMC42cmVtOyB9XHJcbiAgICAgLnNpZGViYXIxLW5hdiA+IGxpID4gdWwgPiBsaSB7IC0tc3k6IDAuNnJlbTsgfVxyXG4gIC5zaWRlYmFyMS1zZXBhcmF0b3IgeyBtYXJnaW4tdG9wOiAwOyBtYXJnaW4tYm90dG9tOiB2YXIoLS1zMSk7IH1cclxuICAuc2lkZWJhcjEtYWN0aW9uIHsgfVxyXG5cclxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xyXG4uc2lkZWJhcjEtbmF2ID4gbGkgPiBpOmhvdmVyIHsgb3BhY2l0eTogMTsgfVxyXG59XHJcblxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XHJcbi5zaWRlYmFyMS13cmFwOmJlZm9yZSB7IGRpc3BsYXk6IGJsb2NrOyBjb250ZW50OiAnJzsgaGVpZ2h0OiAxLjhyZW07IH1cclxuIC5zaWRlYmFyMS1uYXYgPiBsaSA+IGkgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cclxuIC5zaWRlYmFyMS1uYXYgPiBsaSA+IHVsIHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cclxufVxyXG5AbWVkaWEgcHJpbnQsIChtaW4td2lkdGg6IDEwMjRweCkge1xyXG4uc2lkZWJhcjEgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBwb3NpdGlvbjogLXdlYmtpdC1zdGlja3k7IHBvc2l0aW9uOiBzdGlja3k7IHRvcDogNHJlbTsgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gOHJlbSk7IH1cclxuIC5zaWRlYmFyMS1pbnRybyB7IGZsZXg6IG5vbmU7IH1cclxuIC5zaWRlYmFyMS10aXRsZSB7IGRpc3BsYXk6IG5vbmU7IH1cclxuIC5zaWRlYmFyMS13cmFwIHsgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxyXG4gIC5zaWRlYmFyMS1uYXYgeyBvdmVyZmxvdzogYXV0bzsgc2Nyb2xsYmFyLXdpZHRoOiBub25lOyAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7IC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjsgfVxyXG4gIC5zaWRlYmFyMS1uYXY6Oi13ZWJraXQtc2Nyb2xsYmFyIHsgZGlzcGxheTogbm9uZTsgfVxyXG4gIC5zaWRlYmFyMS1hY3Rpb24geyBmbGV4OiBub25lOyB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAbmFtZSAuc2tpcHMxXHJcbiAqIEBkZXNjcmlwdGlvbiBTa2lwIGxpbmtzXHJcbiAqL1xyXG5cclxuLnNraXBzMSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxMDAlOyBsZWZ0OiAwOyB6LWluZGV4OiA5OTk5OyBsaXN0LXN0eWxlOiBub25lOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAwOyBtYXJnaW46IC0zcmVtIDAgMDsgcGFkZGluZzogMDsgdGV4dC1hbGlnbjogY2VudGVyOyB9XHJcbiAuc2tpcHMxIGxpIHsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAwOyB0b3A6IDA7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDA7IGZvbnQ6IGJvbGQgNXJlbS8xIEFyaWFsLEhlbHZldGljYSBOZXVlLEhlbHZldGljYSxzYW5zLXNlcmlmOyB9XHJcbiAgLnNraXBzMSBsaTpiZWZvcmUgeyBkaXNwbGF5OiBub25lOyAgfVxyXG4gIC5za2lwczEgbGkgYSB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtMTAwMDFlbTsgbWFyZ2luOiAwIGF1dG87IHBhZGRpbmc6IDJyZW0gM3JlbTsgYm9yZGVyOiAxcHggZG90dGVkICNmZmY7IGJvcmRlci1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjcpOyBib3JkZXItcmFkaXVzOiAycmVtOyBiYWNrZ3JvdW5kOiAjMzMzOyBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNik7IGNvbG9yOiAjZmZmOyB0ZXh0LWFsaWduOiBjZW50ZXI7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgb3V0bGluZTogbm9uZTsgfVxyXG4gIC5za2lwczEgbGkgYTpmb2N1cywgLnNraXBzMSBsaSBhOmFjdGl2ZSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogMDsgfVxyXG5cclxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xyXG4uc2tpcHMxIHsgZGlzcGxheTogbm9uZTsgfVxyXG59XHJcblxyXG4vKipcclxuICogQG5hbWUgLnNsb3QxXHJcbiAqIEBkZXNjcmlwdGlvbiBQbGFjZWhvbGRlclxyXG4gKiBAZXhhbXBsZSB7IH1cclxuICovXHJcblxyXG4uc2xvdDEgeyBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgbWluLWhlaWdodDogMTByZW07IHBhZGRpbmc6IDEwcHg7IGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1jX28xdCk7IGNvbG9yOiByZ2JhKHZhcigtLWNfZHh0KSwwLjI1KTsgZm9udDogODAwIDE4cHgvMSB2YXIoLS1mZl8xKTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxyXG4uc2xvdDEuLXRvZG8geyBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggcmdiYSgwLDAsMCwwLjEpOyBiYWNrZ3JvdW5kOiAjRkY2RjYxOyBjb2xvcjogdmFyKC0tY19pMSk7IH1cclxuXHJcbi8qKlxyXG4gKiBAbmFtZSAuc29jaWFsczFcclxuICogQGRlc2NyaXB0aW9uIFNvY2lhbCBsaW5rc1xyXG4gKiBAZXhhbXBsZSB7IH1cclxuICovXHJcblxyXG4uc29jaWFsczEgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IG92ZXJmbG93OiBoaWRkZW47IHZlcnRpY2FsLWFsaWduOiB0b3A7IG1hcmdpbi1ib3R0b206dmFyKC0tczEpICFpbXBvcnRhbnQ7IH1cclxuIC5zb2NpYWxzMS1sYWJlbCB7IG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxyXG4gLnNvY2lhbHMxLWl0ZW1zIHsgLS1saDogMTsgLS1neDogMXJlbTsgLS1neTogMXJlbTsgZm9udC1zaXplOiAyLjhyZW07IH1cclxuICAuc29jaWFsczEtaXRlbXMgbGkgeyB3aWR0aDogYXV0bzsgfVxyXG4gICAuc29jaWFsczEtaXRlbXMgYSB7IC0tbGg6IDE7IC0tYXVzOiBub25lOyAtLWFiZ246ICcnOyAtLWF0Y246IHZhcigtLWNfZDF0KTsgLS1hdGNoOiB2YXIoLS1jX2ExdCk7IH1cclxuICAgLnNvY2lhbHMxLi1hMSAuc29jaWFsczEtaXRlbXMgYSB7IC0tYXRjbjogdmFyKC0tY19hMXQpOyAtLWF0Y2g6IHZhcigtLWNfZDF0KTsgfVxyXG5cclxuLnNvY2lhbHMxLi1jZW50ZXIgeyBkaXNwbGF5OiBibG9jazsgfVxyXG4gLnNvY2lhbHMxLi1jZW50ZXIgLnNvY2lhbHMxLWl0ZW1zIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cclxuXHJcbi8qKlxyXG4gKiBAbmFtZSAuc3BhY2VyMVxyXG4gKiBAZGVzY3JpcHRpb24gU3BhY2luZyBkaXZcclxuICogQGV4YW1wbGUgeyB9XHJcbiAqL1xyXG5cclxuLnNwYWNlcjEgeyBoZWlnaHQ6IDFweDsgbWFyZ2luLXRvcDogLTFweDsgbWFyZ2luLWJvdHRvbTogMDsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cclxuLnNwYWNlcjE6bm90KC4tcHVsbClbc3R5bGUqPVwiLS1obDpcIl0geyBoZWlnaHQ6IHZhcigtLWhsKTsgfVxyXG4uc3BhY2VyMS4tcHVsbFtzdHlsZSo9XCItLWhsOlwiXSB7IG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0taGwpICogLTEpOyB9XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcclxuLnNwYWNlcjE6bm90KC4tcHVsbClbc3R5bGUqPVwiLS1obTpcIl0geyBoZWlnaHQ6IHZhcigtLWhtKTsgfVxyXG4uc3BhY2VyMS4tcHVsbFtzdHlsZSo9XCItLWhtOlwiXSB7IG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0taG0pICogLTEpOyB9XHJcbn1cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzE5cHgpIHtcclxuLnNwYWNlcjE6bm90KC4tcHVsbClbc3R5bGUqPVwiLS1oczpcIl0geyBoZWlnaHQ6IHZhcigtLWhzKTsgfVxyXG4uc3BhY2VyMS4tcHVsbFtzdHlsZSo9XCItLWhzOlwiXSB7IG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0taHMpICogLTEpOyB9XHJcbn1cclxuXHJcbkBtZWRpYSBwcmludCB7XHJcbi5zcGFjZXIxOm5vdCguLXB1bGwpW3N0eWxlKj1cIi0taHA6XCJdIHsgaGVpZ2h0OiB2YXIoLS1ocCk7IH1cclxuLnNwYWNlcjEuLXB1bGxbc3R5bGUqPVwiLS1ocDpcIl0geyBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLWhwKSAqIC0xKTsgfVxyXG59XHJcblxyXG4vKipcclxuKiBAbmFtZSAuc3BsaXQxXHJcbiogQGRlc2NyaXB0aW9uIFBhZ2Ugc3BsaXRcclxuKiBAZXhhbXBsZSB7IH1cclxuKi9cclxuXHJcbi5zcGxpdDEgPiAqIHsgLS1zeTogdmFyKC0tczMpOyB9XHJcblxyXG5AbWVkaWEgcHJpbnQsIChtaW4td2lkdGg6IDEwMjRweCkge1xyXG4uc3BsaXQxIHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAzZnIgOGZyOyBncmlkLWNvbHVtbi1nYXA6IHZhcigtLXMzKTsgfVxyXG4gLnNwbGl0MS1zaWRlIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxyXG59XHJcblxyXG4vKipcclxuKiBAbmFtZSAuc3RhdHMxXHJcbiogQGRlc2NyaXB0aW9uIFN0YXRzIGdyaWRcclxuKiBAZXhhbXBsZSB7IH1cclxuKi9cclxuXHJcbi5zdGF0czEgeyAgfVxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6IDcyMHB4KSBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XHJcbi5zdGF0czEtZ3JpZCA+IFt3Kj1cIi8xMi9cIl06bnRoLWNoaWxkKG9kZCk6YmVmb3JlIHsgZGlzcGxheTogbm9uZTsgfVxyXG59XHJcbkBtZWRpYSBwcmludCwgKG1pbi13aWR0aDogMTAyNHB4KSB7XHJcbi5zdGF0czEtZ3JpZCA+IFt3JD1cIi82XCJdOm50aC1jaGlsZCg0bisxKTpiZWZvcmUgeyBkaXNwbGF5OiBub25lOyB9XHJcbn1cclxuXHJcbi8qKlxyXG4qIEBuYW1lIC5zdWJzY3JpYmUxXHJcbiogQGRlc2NyaXB0aW9uIFN1YnNjcmliZSBmb3JtIHdpdGggZ3JhZGllbnRzXHJcbiogQGV4YW1wbGUgeyB9XHJcbiovXHJcblxyXG4uc3Vic2NyaWJlMSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxyXG4gLnN1YnNjcmliZTEtZ3JhZGllbnQgeyAtLWxoOiAxOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDUwJTsgdG9wOiA1MCU7IHotaW5kZXg6IC0xOyBjb250ZW50OiAnJzsgbWFyZ2luOiAtMC41ZW0gMCAwIC0xZW07IHdpZHRoOiAxZW07IGhlaWdodDogMWVtOyBmb250LXNpemU6IDQwcmVtOyBwb2ludGVyLWV2ZW50czogbm9uZTsgdHJhbnNpdGlvbi1kdXJhdGlvbjogMnM7IH1cclxuICAuc3Vic2NyaWJlMS1ncmFkaWVudDpiZWZvcmUgeyBkaXNwbGF5OiBibG9jazsgY29udGVudDogJyc7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudCg1MCUgNTAlIGF0IDUwJSA1MCUsIHZhcigtLWMsICNDQ0UyRTUpIDE1JSwgdHJhbnNwYXJlbnQpOyBmb250LXNpemU6IDQwcmVtOyBhbmltYXRpb246IHN1YnNjcmliZTFhIDZzIGluZmluaXRlIGFsdGVybmF0ZSBlYXNlLWluLW91dDsgfVxyXG4gLnN1YnNjcmliZTEtZ3JhZGllbnQuLWkyIHsgLS1jOiAjREVGNkZGOyBtYXJnaW46IC0wLjI1ZW0gMCAwIDBlbTsgfVxyXG4gIC5zdWJzY3JpYmUxLWdyYWRpZW50Li1pMjpiZWZvcmUgeyBhbmltYXRpb24tZHVyYXRpb246IDEwczsgfVxyXG4gLnN1YnNjcmliZTEtd3JhcCB7IG1heC13aWR0aDogNzRyZW07IG1hcmdpbi1sZWZ0OiBhdXRvOyBtYXJnaW4tcmlnaHQ6IGF1dG87IHRleHQtYWxpZ246IGNlbnRlcjsgfVxyXG4gIC5zdWJzY3JpYmUxLXdyYXAgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2ZpZWxkIGlucHV0Lm1lZGl1bSB7IHdpZHRoOiAxMDAlOyB9XHJcbiAgLmdmb3JtLWJvZHksIC5nZmllbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XHJcbiAgLmdmb3JtLWJvZHkgaW5wdXQgeyBwYWRkaW5nOjhweCAxNnB4ICFpbXBvcnRhbnQ7IH1cclxuXHJcblxyXG5cclxuLnN1YnNjcmliZTEuLXYyIHsgfVxyXG4gLnN1YnNjcmliZTEuLXYyIC5zdWJzY3JpYmUxLWdyYWRpZW50IHsgZm9udC1zaXplOiAzMHJlbTsgbWFyZ2luLWxlZnQ6IC0xZW07IH1cclxuIC5zdWJzY3JpYmUxLi12MiAuc3Vic2NyaWJlMS1ncmFkaWVudC4taTIgeyBtYXJnaW4tbGVmdDogMDsgfVxyXG5cclxuQGtleWZyYW1lcyBzdWJzY3JpYmUxYSB7IDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMikgfSB9XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogbm8tcHJlZmVyZW5jZSkgYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xyXG5bbTRuXSAuc3Vic2NyaWJlMS1ncmFkaWVudC4taTFbcmV2ZWFsXTpub3QoW3JldmVhbGVkXSkgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTE2cmVtKTsgb3BhY2l0eTogMDsgfVxyXG5bbTRuXSAuc3Vic2NyaWJlMS1ncmFkaWVudC4taTJbcmV2ZWFsXTpub3QoW3JldmVhbGVkXSkgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTZyZW0pOyBvcGFjaXR5OiAwOyB9XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcxOXB4KSB7XHJcbi5zdWJzY3JpYmUxLi12MiAuc3Vic2NyaWJlMS1ncmFkaWVudCB7IHRvcDogMjUlOyBmb250LXNpemU6IDE1cmVtOyB9XHJcbi5zdWJzY3JpYmUxLi12MiAuc3Vic2NyaWJlMS1ncmFkaWVudC4taTEgeyB0b3A6IDUwJTsgbWFyZ2luLXRvcDogLTAuNGVtOyBtYXJnaW4tbGVmdDogLTAuNzVlbTsgZm9udC1zaXplOiAyNXJlbTsgfVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiogQG5hbWUgLnN1YnRpdGxlMVxyXG4qIEBkZXNjcmlwdGlvbiBTdWJ0aXRsZVxyXG4qIEBleGFtcGxlIHsgfVxyXG4qL1xyXG5cclxuLnN1YnRpdGxlMSB7IC0tc3k6IDEuNnJlbTsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxyXG4gLnN1YnRpdGxlMSA+IHNwYW4geyBmbGV4OiBub25lOyBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cclxuIC5zdWJ0aXRsZTE6YWZ0ZXIgeyBkaXNwbGF5OiBibG9jazsgZmxleC1ncm93OiAxOyBjb250ZW50OiAnJzsgaGVpZ2h0OiAxcHg7IGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jX28xdCk7IH1cclxuXHJcbi8qKlxyXG4qIEBuYW1lIC50YWJzMVxyXG4qIEBkZXNjcmlwdGlvbiBIb3ZlciB0YWJzXHJcbiogQGV4YW1wbGUgeyB9XHJcbiovXHJcblxyXG4udGFiczEgeyAgfVxyXG4gLnRhYnMxLXNpZGUgeyAgfVxyXG4gLnRhYnMxLWxpc3QgeyBwYWRkaW5nOiAwOyB9XHJcbiBbanNdIC50YWJzMS1saXN0IHsgZGlzcGxheTogbm9uZTsgfVxyXG4gIC50YWJzMS1saXN0IGxpIHsgLS1zeTogMS40cmVtOyBtYXJnaW4tYm90dG9tOiAwOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY19vMXQpOyB9XHJcbiAgIC50YWJzMS1saXN0IGxpOmJlZm9yZSB7IGRpc3BsYXk6IG5vbmU7IH1cclxuICAgLnRhYnMxLWxpc3QgYSB7IC0tYXVzOiA7IC0tYWJnbjogOyAtLWF0Y246IHZhcigtLWNfZDF0KTsgLS1hdGNoOiB2YXIoLS1jX2ExdCk7IGRpc3BsYXk6IGJsb2NrOyBwYWRkaW5nOiB2YXIoLS1zeSkgMDsgfVxyXG4gICAudGFiczEtbGlzdCA+IDpmaXJzdC1jaGlsZCA+IGEgeyBwYWRkaW5nLXRvcDogMDsgfVxyXG4gICAudGFiczEtbGlzdCAuLWFjdGl2ZSA+IGEgeyAtLWF0Y246IHZhcigtLWF0Y2gpOyB9XHJcbiAudGFiczEtdGFiIHsgLS1zeTogdmFyKC0tczIpOyB9XHJcbiBbanNdIC50YWJzMS10YWIgeyAtLXN5OiAwOyB9XHJcbiAudGFiczEtdGFiID4gKiB7IC0tc3k6IDEuMnJlbTsgfVxyXG4gLnRhYnMxLXRhYiA+IGZpZ3VyZSB7IC0tc3k6IDJyZW07IH1cclxuXHJcbkBtZWRpYSBwcmludCwgKG1pbi13aWR0aDogMTAyNHB4KSB7XHJcbi50YWJzMSB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMy41ZnIgNmZyOyBncmlkLWNvbHVtbi1nYXA6IHZhcigtLXMxKTsgfVxyXG4gLnRhYnMxID4gKiB7IG1hcmdpbi1ib3R0b206IDA7IH1cclxuIFtqc10gLnRhYnMxLWxpc3QgeyBkaXNwbGF5OiBibG9jazsgbWFyZ2luLWJvdHRvbTogMDsgfVxyXG4gW2pzXSAudGFiczEtc2VsZWN0IHsgZGlzcGxheTogbm9uZTsgfVxyXG59XHJcblxyXG4vKipcclxuKiBAbmFtZSAudGFiczJcclxuKiBAZGVzY3JpcHRpb24gVGFiYmVkIGNvbnRlbnRcclxuKiBAZXhhbXBsZSB7IH1cclxuKi9cclxuXHJcbi50YWJzMiB7ICB9XHJcbiAudGFiczItaGVhZGVyIHsgZGlzcGxheTogZmxleDsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxyXG4gIC50YWJzMi1uYXYgeyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgbWFyZ2luOiAwIDAgMCAtNHJlbTsgcGFkZGluZzogMDsgYm94LXNoYWRvdzogaW5zZXQgMCAtMnB4IHZhcigtLWNfbzF0KTsgdmVydGljYWwtYWxpZ246IHRvcDsgfVxyXG4gICAudGFiczItbmF2IGxpIHsgZmxleDogbm9uZTsgbWFyZ2luOiAwIDAgMCA0cmVtOzsgfVxyXG4gICAgLnRhYnMyLW5hdiBsaTpiZWZvcmUgeyBkaXNwbGF5OiBub25lOyB9XHJcbiAgICAudGFiczItbmF2IGEgeyAtLWF1czogOyAtLWFiZ246IDsgLS1hb2NuOiB0cmFuc3BhcmVudDsgLS1hb2NoOiBjdXJyZW50Q29sb3I7IC0tYW95bjogLTJweDsgLS1hdGNuOiB2YXIoLS1jX2QxdCk7IGRpc3BsYXk6IGJsb2NrOyBwYWRkaW5nLWJvdHRvbTogMXJlbTsgfVxyXG4gICAgLnRhYnMyLW5hdiBbYXJpYS1jdXJyZW50XSA+IGEgeyAtLWFvY246IHZhcigtLWFvY2gpOyAtLWF0Y246IHZhcigtLWNfYTF0KTsgfVxyXG4gLnRhYnMyLXNlbGVjdCB7IGRpc3BsYXk6IG5vbmU7IH1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcxOXB4KSB7XHJcbi50YWJzMi1uYXYgeyBkaXNwbGF5OiBub25lOyB9XHJcbi50YWJzMi1zZWxlY3QgeyBkaXNwbGF5OiBibG9jazsgd2lkdGg6IDEwMCU7IH1cclxufVxyXG5cclxuLyoqXHJcbiogQG5hbWUgLnRhZ3MxXHJcbiogQGRlc2NyaXB0aW9uIFRhZyBsaXN0XHJcbiogQGV4YW1wbGUgeyB9XHJcbiovXHJcblxyXG4udGFnczEgeyAgfVxyXG4gLnRhZ3MxLWxpc3QgeyAtLWd4OiAxLjJyZW07IH1cclxuXHJcbi8qKlxyXG4gKiBAbmFtZSAudGFnczJcclxuICogQGRlc2NyaXB0aW9uIEZpbHRlciB0YWdzXHJcbiAqIEBleGFtcGxlIHsgfVxyXG4gKi9cclxuXHJcbi50YWdzMiB7IH1cclxuLmZpbHRlcnMxICsgLnRhZ3MyIHsgbWFyZ2luLXRvcDogLTRyZW07IG1hcmdpbi1ib3R0b206IHZhcigtLXMxKTsgfVxyXG4gLnRhZ3MyLWVudHJpZXMgeyAtLWd4OiAxcmVtOyB9XHJcbiAgIC50YWdzMi1lbnRyaWVzIC5idXR0b24yLi1xdWVyeTpiZWZvcmUgeyBjb250ZW50OiAnXFxlOTMzJzsgbWFyZ2luOiAwIDAuNXJlbSAwIDA7IGZvbnQtZmFtaWx5OiBJY29uczsgfVxyXG4gICAudGFnczItZW50cmllcyBpW2NsYXNzXSB7IG1hcmdpbi1sZWZ0OiAwLjVyZW07IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwLjFyZW0pOyB9XHJcbiAgLnRhZ3MyLWNsZWFyIHsgYWxpZ24tc2VsZjogY2VudGVyOyB9XHJcbiAgICAudGFnczItY2xlYXIgaSB7IG1hcmdpbi1yaWdodDogMC41cmVtOyBmb250LXNpemU6IDEuMmVtOyB9XHJcblxyXG4vKipcclxuKiBAbmFtZSAudGl0bGUxXHJcbiogQGRlc2NyaXB0aW9uIFN0ZXAgdGl0bGVcclxuKiBAZXhhbXBsZSB7IH1cclxuKi9cclxuXHJcbi50aXRsZTEgeyB9XHJcbiAudGl0bGUxID4gc3Ryb25nIHsgZGlzcGxheTogaW5saW5lLWZsZXg7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBhbGlnbi1pdGVtczogY2VudGVyOyBtaW4td2lkdGg6IDEuNWVtOyBtaW4taGVpZ2h0OiAxLjVlbTsgbWFyZ2luOiAwIDAuMTVlbSAwIDA7IGJvcmRlci1yYWRpdXM6IDUwJTsgYmFja2dyb3VuZDogdmFyKC0tY19hMXQpOyBjb2xvcjogdmFyKC0tY19pMXQpOyB9XHJcblxyXG5AbWVkaWEgcHJpbnQge1xyXG4gLnRpdGxlMSA+IHN0cm9uZyB7IGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1jX2ExdCk7IGJhY2tncm91bmQ6IG5vbmU7IGNvbG9yOiB2YXIoLS1jX2ExdCk7IH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEBuYW1lIC50b2FzdGVyMVxyXG4gKiBAZGVzY3JpcHRpb24gVG9hc3Qgbm90aWZpY2F0aW9uc1xyXG4gKiBAZXhhbXBsZSB7IH1cclxuICovXHJcblxyXG4udG9hc3RlcjEgeyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogZmxleC1lbmQ7IHBvc2l0aW9uOiBmaXhlZDsgbGVmdDogMDsgYm90dG9tOiAwOyB6LWluZGV4OiAzMDE7IG92ZXJmbG93OiBoaWRkZW47IHdpZHRoOiAxMDAlOyBtYXJnaW46IDA7IHBhZGRpbmc6IDFyZW07IHBhZGRpbmctYm90dG9tOiBjYWxjKGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSArIDFyZW0pOyBjb2xvcjogI2RkZDsgdGV4dC1hbGlnbjogcmlnaHQ7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XHJcbiAudG9hc3RlcjEgcCB7IGRpc3BsYXk6IGJsb2NrOyBtYXJnaW46IDAgMCAwIGF1dG87IHBhZGRpbmc6IDAuNXJlbSAxcmVtIDAuNHJlbTsgYm9yZGVyLXJhZGl1czogMC4zcmVtOyBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7IGZvbnQ6IDcwMCAxLjRyZW0vMS4zIHZhcigtLWZmXzEpOyB0ZXh0LWFsaWduOiBjZW50ZXI7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMTAlKTsgcG9pbnRlci1ldmVudHM6IGF1dG87IHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7IG9wYWNpdHk6IDA7IH1cclxuIC50b2FzdGVyMSBwICsgcCB7IG1hcmdpbi10b3A6IDAuNXJlbTsgfVxyXG4gLnRvYXN0ZXIxIHAuLWFjdGl2ZSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgb3BhY2l0eTogMTsgfVxyXG4gIC50b2FzdGVyMSBwIHNwYW4geyBjb2xvcjogdmFyKC0tY19kMXQpOyB9XHJcblxyXG4vKipcclxuKiBAbmFtZSAudG9vbHMxXHJcbiogQGRlc2NyaXB0aW9uIENvcm5lciBhY3Rpb25zXHJcbiogQGV4YW1wbGUgeyB9XHJcbiovXHJcblxyXG4udG9vbHMxIHsgcG9zaXRpb246IGZpeGVkOyByaWdodDogMnJlbTsgYm90dG9tOiAycmVtOyB6LWluZGV4OiAxMTsgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyBmb250LXNpemU6IDJyZW07IH1cclxuLnRvb2xzMS4tZnJvbSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKDEwMCUgKyAycmVtKSk7IH1cclxuIC50b29sczEgbGkgeyBtYXJnaW46IDA7IH1cclxuIC50b29sczEgbGkgfiBsaSB7IG1hcmdpbi1sZWZ0OiAxcmVtOyB9XHJcbiAgLnRvb2xzMSBsaTpiZWZvcmUgeyBkaXNwbGF5OiBub25lOyB9XHJcbiAgLnRvb2xzMSBsaSBhIHsgLS1zOiAzLjJyZW07IC0tbGg6IDE7IC0tYXdtOiB2YXIoLS1zKTsgLS1haG06IHZhcigtLXMpOyAtLWFiZ246ICcnOyAtLWF1czogJyc7IC0tYW9yOiA1MCU7IC0tYW9pOiA7IC0tYW95bjogMC40cmVtOyAtLWFvYm46IDNyZW07IC0tYW9jbjogcmdiYSh2YXIoLS1jX2R4KSwwLjI1KTsgLS1hb2NoOiByZ2JhKHZhcigtLWNfYTF4KSwwLjI1KTsgLS1hYmNuOiB2YXIoLS1jX2IxKTsgLS1hYmNoOiB2YXIoLS1jX2ExKTsgLS1hdGNuOiB2YXIoLS1jX2QxKTsgLS1hdGNoOiB2YXIoLS1jX2kxKTsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cclxuXHJcbi8qKlxyXG4gKiBAbmFtZSAudG9wMVxyXG4gKiBAZGVzY3JpcHRpb24gR2xvYmFsIGhlYWRlclxyXG4gKi9cclxuXHJcbi50b3AxIHsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAwOyB0b3A6IDA7IHotaW5kZXg6IDExMTsgd2lkdGg6IDEwMCU7IG1hcmdpbi1ib3R0b206IDA7IH1cclxuIC50b3AxLXdyYXAgeyBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgbWluLWhlaWdodDogdmFyKC0tc24pOyBwYWRkaW5nOiAxcmVtIDA7IH1cclxuICAudG9wMSAubG9nbzEgeyBmbGV4OiBub25lOyBtYXJnaW46IDAgdmFyKC0tczEpIDAgMDsgfVxyXG5cclxuLyoqXHJcbiAqIEBuYW1lIC50cmFja2VyMVxyXG4gKiBAZGVzY3JpcHRpb24gQ2Fyb3VzZWwgdHJhY2sgaW5kaWNhdG9yXHJcbiAqIEBleGFtcGxlIHsgfVxyXG4gKi9cclxuXHJcbi50cmFja2VyMSB7IG92ZXJmbG93OiBoaWRkZW47IHBvc2l0aW9uOiByZWxhdGl2ZTsgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IGJvcmRlci13aWR0aDogMC41cmVtIDA7IGJhY2tncm91bmQ6IHZhcigtLWNfbzF0KTsgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDsgbGluZS1oZWlnaHQ6IDFweDsgfVxyXG4gLnRyYWNrZXIxOmJlZm9yZSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMDsgdG9wOiAwOyBib3R0b206IDA7IHJpZ2h0OiAwOyBjb250ZW50OiAnJzsgIH1cclxuIC50cmFja2VyMS13cmFwIHsgZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDFweDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGModmFyKC0tcCkgKiAxMDAlKSk7IHRyYW5zaXRpb246IGFsbCAwLjFzIGVhc2Utb3V0OyB0cmFuc2l0aW9uLXByb3BlcnR5OiB2YXIoLS10OG5fcDEpLCB3aWR0aDsgfVxyXG4gIC50cmFja2VyMS13cmFwOmJlZm9yZSB7IGRpc3BsYXk6IGJsb2NrOyBjb250ZW50OiAnJzsgd2lkdGg6IGNhbGModmFyKC0tdykgKiAxMDAlKTsgaGVpZ2h0OiAxcHg7IG1hcmdpbjogMDsgYmFja2dyb3VuZDogdmFyKC0tY19kMXQpOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYyh2YXIoLS1wKSAqIC0xMDAlKSk7IHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07IHRyYW5zaXRpb246IGluaGVyaXQ7IH1cclxuXHJcbi8qKlxyXG4qIEBuYW1lIC50cmlwbGV0czFcclxuKiBAZGVzY3JpcHRpb24gY2FyZDUgZ3JpZFxyXG4qIEBleGFtcGxlIHsgfVxyXG4qL1xyXG5cclxuLnRyaXBsZXRzMSB7ICB9XHJcblxyXG5AbWVkaWEgcHJpbnQsIChtaW4td2lkdGg6IDcyMHB4KSB7XHJcbi50cmlwbGV0czEgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLDFmcik7IGdyaWQtY29sdW1uLWdhcDogdmFyKC0tczEpOyBncmlkLXJvdy1nYXA6IHZhcigtLXMxKTsgfVxyXG4gLnRyaXBsZXRzMSA+ICogeyBtYXJnaW4tYm90dG9tOiAwOyB9XHJcbiAudHJpcGxldHMxID4gOmZpcnN0LWNoaWxkIHsgZ3JpZC1jb2x1bW46IDEgLyAtMTsgfVxyXG59XHJcbkBtZWRpYSBwcmludCwgKG1pbi13aWR0aDogMTAyNHB4KSB7XHJcbi50cmlwbGV0czEgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEuNmZyIDFmcjsgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIDFmcjsgfVxyXG4gLnRyaXBsZXRzMSA+IDpmaXJzdC1jaGlsZCB7IGdyaWQtY29sdW1uOiBhdXRvOyBncmlkLXJvdzogMSAvIC0xOyB9XHJcbiAudHJpcGxldHMxID4gOm50aC1jaGlsZChuKzIpIC5jYXJkNS1tYWluIHsgcGFkZGluZzogMnJlbTsgfVxyXG59XHJcblxyXG4vKipcclxuICogQG5hbWUgLndyYXAxXHJcbiAqIEBkZXNjcmlwdGlvbiBDb250ZW50IHdyYXBwZXJcclxuICovXHJcblxyXG4ud3JhcDEgeyBwb3NpdGlvbjogcmVsYXRpdmU7IG1hcmdpbi1ib3R0b206IDA7IHBhZGRpbmc6IHZhcigtLXMzKSAwOyBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7IGNvbG9yOiB2YXIoLS1jX2IxdCk7IGlzb2xhdGlvbjogaXNvbGF0ZTsgfVxyXG4gLndyYXAxID4gKiB7IGNvbG9yOiB2YXIoLS1jX2QxdCk7IH1cclxuIC53cmFwMS4tdG9wOmJlZm9yZSB7IGRpc3BsYXk6IGJsb2NrOyBjb250ZW50OiAnJzsgaGVpZ2h0OiBjYWxjKHZhcigtLXNuKSAtIDJyZW0pOyB9XHJcblxyXG5AbWVkaWEgcHJpbnQge1xyXG4ud3JhcDEgeyBiYWNrZ3JvdW5kOiBub25lOyBjb2xvcjogaW5oZXJpdDsgfVxyXG4ud3JhcDE6bm90KDpmaXJzdC1jaGlsZCkgeyBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY19vMXQpOyB9XHJcbi53cmFwMTpub3QoOmxhc3QtY2hpbGQpIHsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNfbzF0KTsgfVxyXG4ud3JhcDEuLXBiXFw6MCwgLndyYXAxLi1weVxcOjAgeyBib3JkZXItYm90dG9tLXdpZHRoOiAwOyB9XHJcbi53cmFwMSArIC53cmFwMSB7IGJvcmRlci10b3A6IG5vbmU7IH1cclxufVxyXG5cclxuLyogICBfX19fX18gIF8gICAgIF8gX19fX19fXyBfX19fX19fICBfX19fXyAgX18gICBfIF9fX19fX19cclxuICogICB8X19fX19dIHwgICAgIHwgICAgfCAgICAgICB8ICAgIHwgICAgIHwgfCBcXCAgfCB8X19fX19fXHJcbiAqICAgfF9fX19fXSB8X19fX198ICAgIHwgICAgICAgfCAgICB8X19fX198IHwgIFxcX3wgX19fX19ffFxyXG4qL1xyXG5cclxuLmJ1dHRvbjEsIC5idXR0b24yLCBbdHlwZT1cInN1Ym1pdFwiXSwgW3R5cGU9XCJidXR0b25cIl0sIFt0eXBlPVwicmVzZXRcIl0geyAtLWM6IHZhcigtLWNfYTF4KTsgLS1saDogMnJlbTsgLS1haG06IDUuMnJlbTsgLS1hcHg6IDMuNnJlbTsgLS1hYmNuOiByZ2JhKHZhcigtLWMpLCAxKTsgLS1hYmNoOiB2YXIoLS1jX2kxdCk7IC0tYWJnbjogJyc7IC0tYW9yOiBjYWxjKHZhcigtLWFobSkgLyAyKTsgLS1hb3NuOiAwOyAtLWFvY246IHZhcigtLWFiYyk7IC0tYXRjbjogdmFyKC0tY19pMSk7IC0tYXRjaDogdmFyKC0tYWJjbik7IC0tYXVzOiBub25lOyBkaXNwbGF5OiBpbmxpbmUtZmxleDsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IG92ZXJmbG93OiB2aXNpYmxlOyB3aWR0aDogYXV0bzsgYm94LXNoYWRvdzogdmFyKC0tYW9pLCBpbnNldCkgdmFyKC0tYW94LCAwKSB2YXIoLS1hb3ksIDApIHZhcigtLWFvYiwgMCkgdmFyKC0tYW9zLCAwKSB2YXIoLS1hb2MsIGN1cnJlbnRDb2xvciksIDAgMC4ycmVtIDJyZW0gcmdiYSh2YXIoLS1jKSwwLjM1KTsgZm9udDogNzAwIDEuNnJlbS92YXIoLS1saCkgdmFyKC0tZmZfMSk7IHRleHQtYWxpZ246IGNlbnRlcjsgY3Vyc29yOiBwb2ludGVyOyB9XHJcbiAuYnV0dG9uMSA+IHNwYW46bm90KDpmaXJzdC1jaGlsZCkgeyBtYXJnaW4tbGVmdDogMC41cmVtOyB9XHJcbiAuYnV0dG9uMSA+IHNwYW46bm90KDpsYXN0LWNoaWxkKSB7IG1hcmdpbi1yaWdodDogMC41cmVtOyB9XHJcblxyXG4uYnV0dG9uMS4tc2hhZG93bGVzcyB7IGJveC1zaGFkb3c6IHZhcigtLWFvaSwgaW5zZXQpIHZhcigtLWFveCwgMCkgdmFyKC0tYW95LCAwKSB2YXIoLS1hb2IsIDApIHZhcigtLWFvcywgMCkgdmFyKC0tYW9jLCBjdXJyZW50Q29sb3IpOyB9XHJcbi5idXR0b24xLi1iMWExIHsgLS1hb3NuOiAxcHg7IC0tYW9jbjogdmFyKC0tYWJjaCk7IC0tYWJjbjogdmFyKC0tY19iMSk7IC0tYWJjaDogdmFyKC0tY19hMSk7IC0tYXRjbjogdmFyKC0tYWJjaCk7IC0tYXRjaDogdmFyKC0tYWJjbik7IH1cclxuLmJ1dHRvbjEuLWI0IHsgLS1jOiB2YXIoLS1jX2I0eCk7IH1cclxuXHJcbkBtZWRpYSBwcmludCB7XHJcbi5idXR0b24xIHsgLS1hdGNuOiB2YXIoLS1hYmNuKTsgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1jX2IxdCk7IH1cclxufVxyXG5cclxuLmJ1dHRvbjIgeyAtLWFobTogMy4ycmVtOyAtLWFweDogMS42cmVtOyAtLWFiY246IHZhcigtLWNfaTEpOyAtLWFiY2g6IHZhcigtLWNfYjR0KTsgLS1hdGNuOiB2YXIoLS1jX2QxKTsgYm94LXNoYWRvdzogdmFyKC0tYW9pLCBpbnNldCkgdmFyKC0tYW94LCAwKSB2YXIoLS1hb3ksIDApIHZhcigtLWFvYiwgMCkgdmFyKC0tYW9zLCAwKSB2YXIoLS1hb2MsIGN1cnJlbnRDb2xvcik7IGZvbnQtd2VpZ2h0OiA0MDA7IH1cclxuLmJ1dHRvbjIuLXNtYWxsIHsgZm9udC1zaXplOiAxLjJyZW07IGZvbnQtd2VpZ2h0OiA2MDA7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cclxuLmJ1dHRvbjIuLW91dGxpbmUgeyAtLWFvc246IDFweDsgLS1hb2NuOiByZ2JhKHZhcigtLWNfZHh0KSwgMC4yKTsgfVxyXG4uYnV0dG9uMi4tZGltIHsgLS1hYmNuOiByZ2JhKHZhcigtLWNfZHh0KSwwLjEpOyAtLWFiY2g6IHJnYmEodmFyKC0tY19keHQpLDAuMik7IC0tYXRjbjogdmFyKC0tY19kMXQpOyAtLWF0Y2g6IHZhcigtLWNfZDF0KTsgfVxyXG5cclxuQG1lZGlhIHByaW50IHtcclxuLmJ1dHRvbjIgeyBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0tY19vMXQpOyB9XHJcbn1cclxuXHJcbi5kZWJ1dHRvbml6ZTEgeyAtLWxoOiBpbmhlcml0OyAtLWF1czogOyAtLWFiZ246IDsgLS1hd206IDA7IC0tYWhtOiAwOyAtLWFweDogMDsgLS1hcHlzOiAwOyAtLWFweTogMDsgLS1hYmNuOiB0cmFuc3BhcmVudDsgLS1hYmNoOiB2YXIoLS1iY24pOyAtLWFvd246IDA7IC0tYW9ybjogMDsgLS1hb2NuOiB2YXIoLS1iYyk7IC0tYXRjbjogdmFyKC0tY19kMXQpOyAtLWF0Y2g6IHZhcigtLWNfYTF0KTsgZGlzcGxheTogaW5saW5lOyBib3gtc2hhZG93OiB2YXIoLS1hb2ksIGluc2V0KSB2YXIoLS1hb3gsIDApIHZhcigtLWFveSwgMCkgdmFyKC0tYW9iLCAwKSB2YXIoLS1hb3MsIDApIHZhcigtLWFvYywgY3VycmVudENvbG9yKTsgZm9udDogaW5oZXJpdDsgdGV4dC1hbGlnbjogaW5oZXJpdDsgfVxyXG5cclxuLyogICBfX19fXyBfX19fX18gIF9fX19fXyAgX18gICBfIF9fX19fX19cclxuICogICAgIHwgICB8ICAgICAgIHwgICAgIHwgfCBcXCAgfCB8X19fX19fXHJcbiAqICAgX198X18gfF9fX19fICB8X19fX198IHwgIFxcX3wgX19fX19ffFxyXG4qL1xyXG5cclxuW2NsYXNzXj1cImljb24tXCJdLFtjbGFzcyo9XCIgaWNvbi1cIl0geyBkaXNwbGF5OiBpbmxpbmUtZ3JpZDsgZm9udC1mYW1pbHk6ICdJY29ucycgIWltcG9ydGFudDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1hbDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cclxuIFtjbGFzc149XCJpY29uLVwiXTpiZWZvcmUsIFtjbGFzc149XCJpY29uLVwiXTphZnRlciwgW2NsYXNzKj1cIiBpY29uLVwiXTpiZWZvcmUsIFtjbGFzcyo9XCIgaWNvbi1cIl06YWZ0ZXIgeyBncmlkLWFyZWE6IDEgLyAxIC8gMiAvIDI7IHRyYW5zaXRpb24tcHJvcGVydHk6IHZhcigtLXQ4bl9wMSk7IH1cclxuIFtjbGFzc149XCJpY29uLVwiXSBpLCBbY2xhc3MqPVwiIGljb24tXCJdIGkgeyBncmlkLWFyZWE6IDEgLyAxIC8gMiAvIDI7IGRpc3BsYXk6IGdyaWQ7IGZvbnQ6IGluaGVyaXQ7IHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cclxuICBbY2xhc3NePVwiaWNvbi1cIl0gaTpiZWZvcmUsIFtjbGFzcyo9XCIgaWNvbi1cIl0gaTpiZWZvcmUsIFtjbGFzc149XCJpY29uLVwiXSBpOmFmdGVyLCBbY2xhc3MqPVwiIGljb24tXCJdIGk6YWZ0ZXIgeyBncmlkLWFyZWE6IDEgLyAxIC8gMiAvIDI7IH1cclxuIFtjbGFzc149XCJpY29uLVwiXSBzcGFuLCBbY2xhc3MqPVwiIGljb24tXCJdIHNwYW4geyBkaXNwbGF5OiBub25lOyB9XHJcblxyXG4uaWNvbi1xdW90ZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTk1MFwiOyB9XHJcbi5pY29uLWdsb2JlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlOTRlXCI7IH1cclxuLmljb24tZG90czpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTk0ZlwiOyB9XHJcbi5pY29uLWxvY2F0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlOTRiXCI7IH1cclxuLmljb24tdHlwZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTk0Y1wiOyB9XHJcbi5pY29uLXNoYXJlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlOTRhXCI7IH1cclxuLmljb24tc29jaWFsLXZpbWVvOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlOTQ5XCI7IH1cclxuLmljb24tc29jaWFsLXRpa3RvazpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTk0NlwiOyB9XHJcbi5pY29uLWNpcmNsZS1lbXB0eTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTk0MFwiOyB9XHJcbi5pY29uLWNpcmNsZS1maWxsZWQ6YmVmb3JlIHsgY29udGVudDogXCJcXGU5NDFcIjsgfVxyXG4uaWNvbi11c2VyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlOTNlXCI7IH1cclxuLmljb24tc3F1YXJlLWZpbGxlZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTk0N1wiOyB9XHJcbi5pY29uLXNxdWFyZS1lbXB0eTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTk0OFwiOyB9XHJcbi5pY29uLXBob25lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlOTFlXCI7IH1cclxuLmljb24taGVhZHBob25lczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTkxZFwiOyB9XHJcbi5pY29uLWRvdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTkxY1wiOyB9XHJcbi5pY29uLXN0YXI6YmVmb3JlIHsgY29udGVudDogXCJcXGU5M2ZcIjsgfVxyXG4uaWNvbi1waW46YmVmb3JlIHsgY29udGVudDogXCJcXGU5NDVcIjsgfVxyXG4uaWNvbi1oZWFydDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTk0MlwiOyB9XHJcbi5pY29uLXJlbG9hZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTk0M1wiOyB9XHJcbi5pY29uLW1pbnVzLWJvbGQ6YmVmb3JlIHsgY29udGVudDogXCJcXGU5NWRcIjsgfVxyXG4uaWNvbi1taW51cy1saWdodDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTk1ZVwiOyB9XHJcbi5pY29uLW1pbnVzLW1lZGl1bTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTk1ZlwiOyB9XHJcbi5pY29uLXBsdXMtYm9sZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTk2MFwiOyB9XHJcbi5pY29uLXBsdXMtbGlnaHQ6YmVmb3JlIHsgY29udGVudDogXCJcXGU5NjFcIjsgfVxyXG4uaWNvbi1wbHVzLW1lZGl1bTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTk2MlwiOyB9XHJcbi5pY29uLWNoZWNrYm94LWJvbGQ6YmVmb3JlIHsgY29udGVudDogXCJcXGU5NjNcIjsgfVxyXG4uaWNvbi1jaGVja2JveC1saWdodDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTk2NFwiOyB9XHJcbi5pY29uLWNoZWNrYm94LW1lZGl1bTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTk2NVwiOyB9XHJcbi5pY29uLWFuZ2xlLWRvd24tYm9sZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTkwMFwiOyB9XHJcbi5pY29uLWFuZ2xlLWRvd24tbGlnaHQ6YmVmb3JlIHsgY29udGVudDogXCJcXGU5MDFcIjsgfVxyXG4uaWNvbi1hbmdsZS1kb3duLW1lZGl1bTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTkwMlwiOyB9XHJcbi5pY29uLWFuZ2xlLWxlZnQtYm9sZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTkwM1wiOyB9XHJcbi5pY29uLWFuZ2xlLWxlZnQtbGlnaHQ6YmVmb3JlIHsgY29udGVudDogXCJcXGU5MDRcIjsgfVxyXG4uaWNvbi1hbmdsZS1sZWZ0LW1lZGl1bTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTkwNVwiOyB9XHJcbi5pY29uLWFuZ2xlLXJpZ2h0LWJvbGQ6YmVmb3JlIHsgY29udGVudDogXCJcXGU5MDZcIjsgfVxyXG4uaWNvbi1hbmdsZS1yaWdodC1saWdodDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTkwN1wiOyB9XHJcbi5pY29uLWFuZ2xlLXJpZ2h0LW1lZGl1bTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTkwOFwiOyB9XHJcbi5pY29uLWFuZ2xlLXVwLWJvbGQ6YmVmb3JlIHsgY29udGVudDogXCJcXGU5MDlcIjsgfVxyXG4uaWNvbi1hbmdsZS11cC1saWdodDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTkwYVwiOyB9XHJcbi5pY29uLWFuZ2xlLXVwLW1lZGl1bTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTkwYlwiOyB9XHJcbi5pY29uLWFycm93LWV4dGVybmFsLWJvbGQ6YmVmb3JlIHsgY29udGVudDogXCJcXGU5MGNcIjsgfVxyXG4uaWNvbi1hcnJvdy1leHRlcm5hbC1saWdodDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTkwZFwiOyB9XHJcbi5pY29uLWFycm93LWV4dGVybmFsLW1lZGl1bTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTkwZVwiOyB9XHJcbi5pY29uLWNsb3NlLWJvbGQ6YmVmb3JlIHsgY29udGVudDogXCJcXGU5MGZcIjsgfVxyXG4uaWNvbi1jbG9zZS1saWdodDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTkxMFwiOyB9XHJcbi5pY29uLWNsb3NlLW1lZGl1bTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTkxMVwiOyB9XHJcbi5pY29uLWRpcmVjdGlvbmFsLWRvd24tYm9sZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTkxMlwiOyB9XHJcbi5pY29uLWRpcmVjdGlvbmFsLWRvd24tbGlnaHQ6YmVmb3JlIHsgY29udGVudDogXCJcXGU5MTNcIjsgfVxyXG4uaWNvbi1kaXJlY3Rpb25hbC1kb3duLW1lZGl1bTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTkxNFwiOyB9XHJcbi5pY29uLWRpcmVjdGlvbmFsLWxlZnQtYm9sZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTkxNVwiOyB9XHJcbi5pY29uLWRpcmVjdGlvbmFsLWxlZnQtbGlnaHQ6YmVmb3JlIHsgY29udGVudDogXCJcXGU5MTZcIjsgfVxyXG4uaWNvbi1kaXJlY3Rpb25hbC1sZWZ0LW1lZGl1bTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTkxN1wiOyB9XHJcbi5pY29uLWRpcmVjdGlvbmFsLXJpZ2h0LWJvbGQ6YmVmb3JlIHsgY29udGVudDogXCJcXGU5MThcIjsgfVxyXG4uaWNvbi1kaXJlY3Rpb25hbC1yaWdodC1saWdodDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTkxOVwiOyB9XHJcbi5pY29uLWRpcmVjdGlvbmFsLXJpZ2h0LW1lZGl1bTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTkxYVwiOyB9XHJcbi5pY29uLWRpcmVjdGlvbmFsLXVwLWJvbGQ6YmVmb3JlIHsgY29udGVudDogXCJcXGU5MWJcIjsgfVxyXG4uaWNvbi1kaXJlY3Rpb25hbC11cC1saWdodDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTkxZlwiOyB9XHJcbi5pY29uLWRpcmVjdGlvbmFsLXVwLW1lZGl1bTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTkyMFwiOyB9XHJcbi5pY29uLWRvd25sb2FkLWJvbGQ6YmVmb3JlIHsgY29udGVudDogXCJcXGU5MjFcIjsgfVxyXG4uaWNvbi1kb3dubG9hZC1saWdodDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTkyMlwiOyB9XHJcbi5pY29uLWRvd25sb2FkLW1lZGl1bTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTkyM1wiOyB9XHJcbi5pY29uLWVtYWlsLWZpbGxlZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTkyNFwiOyB9XHJcbi5pY29uLWVtYWlsLW91dGxpbmVkLWJvbGQ6YmVmb3JlIHsgY29udGVudDogXCJcXGU5MjVcIjsgfVxyXG4uaWNvbi1lbWFpbC1vdXRsaW5lZC1saWdodDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTkyNlwiOyB9XHJcbi5pY29uLWVtYWlsLW91dGxpbmVkLW1lZGl1bTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTkyN1wiOyB9XHJcbi5pY29uLWZpbHRlci1ib2xkOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlOTI4XCI7IH1cclxuLmljb24tZmlsdGVyLWxpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlOTI5XCI7IH1cclxuLmljb24tZmlsdGVyLW1lZGl1bTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTkyYVwiOyB9XHJcbi5pY29uLW1lbnUtYm9sZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTkyYlwiOyB9XHJcbi5pY29uLW1lbnUtbGlnaHQ6YmVmb3JlIHsgY29udGVudDogXCJcXGU5MmNcIjsgfVxyXG4uaWNvbi1tZW51LW1lZGl1bTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTkyZFwiOyB9XHJcbi5pY29uLW1vcmUtaW5mby10aGljazpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTkyZVwiOyB9XHJcbi5pY29uLXByaW50LWJvbGQ6YmVmb3JlIHsgY29udGVudDogXCJcXGU5MmZcIjsgfVxyXG4uaWNvbi1wcmludC1tZWRpdW06YmVmb3JlIHsgY29udGVudDogXCJcXGU5MzBcIjsgfVxyXG4uaWNvbi1zZWFyY2gtYm9sZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTkzMVwiOyB9XHJcbi5pY29uLXNlYXJjaC1saWdodDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTkzMlwiOyB9XHJcbi5pY29uLXNlYXJjaC1tZWRpdW06YmVmb3JlIHsgY29udGVudDogXCJcXGU5MzNcIjsgfVxyXG4uaWNvbi1zb2NpYWwtZmFjZWJvb2s6YmVmb3JlIHsgY29udGVudDogXCJcXGU5MzRcIjsgfVxyXG4uaWNvbi1zb2NpYWwtaW5zdGFncmFtOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlOTM1XCI7IH1cclxuLmljb24tc29jaWFsLWxpbmtlZGluOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlOTM2XCI7IH1cclxuLmljb24tc29jaWFsLW1lZGl1bTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTkzN1wiOyB9XHJcbi5pY29uLXNvY2lhbC10d2l0dGVyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlOTM4XCI7IH1cclxuLmljb24tc29jaWFsLXlvdXR1YmU6YmVmb3JlIHsgY29udGVudDogXCJcXGU5MzlcIjsgfVxyXG4uaWNvbi1zb2NpYWwtdGlrdG9rOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlOTQ2XCI7IH1cclxuLmljb24tdHJpYW5nbGUtZG93bjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTkzYVwiOyB9XHJcbi5pY29uLXRyaWFuZ2xlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogXCJcXGU5M2JcIjsgfVxyXG4uaWNvbi10cmlhbmdsZS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTkzY1wiOyB9XHJcbi5pY29uLXRyaWFuZ2xlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlOTNkXCI7IH1cclxuLmljb24td2FybmluZzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTk0ZFwiOyB9XHJcbi5pY29uLWxpc3Q6YmVmb3JlIHsgY29udGVudDogXCJcXGU5NDRcIjsgfVxyXG5cclxuLyogICBfX19fX18gIF9fX19fX18gX19fX19fXyBfX19fX19fIF8gICAgIF8gXyAgICAgIF9fX19fX18gX19fX19fX1xyXG4gKiAgIHwgICAgIFxcIHxfX19fX18gfF9fX19fXyB8X19fX198IHwgICAgIHwgfCAgICAgICAgIHwgICAgfF9fX19fX1xyXG4gKiAgIHxfX19fXy8gfF9fX19fXyB8ICAgICAgIHwgICAgIHwgfF9fX19ffCB8X19fX18gICAgfCAgICBfX19fX198XHJcbiovXHJcblxyXG4qLCAqOmJlZm9yZSwgKjphZnRlciB7IG1pbi13aWR0aDogMDsgbWluLWhlaWdodDogMDsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyBjb2xvcjogaW5oZXJpdDsgbGluZS1oZWlnaHQ6IHZhcigtLWxoKTsgdHJhbnNpdGlvbjogbm9uZSB2YXIoLS10OG5fZDEpIGVhc2U7IHRyYW5zaXRpb24tcHJvcGVydHk6IHZhcigtLXQ4bl9wMSk7IH1cclxuOnJvb3Q6bm90KFtyZWFkeV0pICosIDpyb290Om5vdChbcmVhZHldKSAqOmJlZm9yZSwgOnJvb3Q6bm90KFtyZWFkeV0pICo6YWZ0ZXIgeyB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7IH1cclxuQG1lZGlhIHNjcmVlbiBhbmQgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb24pIHsgKiwgKjpiZWZvcmUsICo6YWZ0ZXIgeyB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwcyAhaW1wb3J0YW50OyB9IH1cclxuXHJcbmh0bWwgeyBvdmVyZmxvdy15OiBzY3JvbGw7IC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IH1cclxuYm9keSB7IGZvbnQ6IGluaGVyaXQ7IC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XHJcblxyXG5kaXYsIGZvcm0sIGZpZWxkc2V0LCBibG9ja3F1b3RlLCBjaXRlLCBhcnRpY2xlLCBhc2lkZSwgZGV0YWlscywgZmlnY2FwdGlvbiwgZmlndXJlLCBmb290ZXIsIGhlYWRlciwgbWVudSwgbmF2LCBtYWluLCBzZWN0aW9uLCBhZGRyZXNzLCB1bCwgb2wsIGxpLCBkbCwgZGQsIGR0LCBwLCBxLCB0YWJsZSwgcHJlLCBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBub3NjcmlwdCB7IC0tc3k6IHZhcigtLXN5byk7IGRpc3BsYXk6IGJsb2NrOyBtYXJnaW4tYm90dG9tOiAxcmVtOyBtYXJnaW4tYm90dG9tOiB2YXIoLS1zeSk7IH1cclxuYm9keSA+IDpub3QoLnJvb3QxKSwgYm9keSA+IDpub3QoLnJvb3QxKSBkaXYsIGJvZHkgPiA6bm90KC5yb290MSkgZm9ybSB7IG1hcmdpbi1ib3R0b206IDA7IH1cclxuXHJcbkBwYWdlIHsgbWFyZ2luOiA0MHB4OyB9XHJcbkBtZWRpYSBwcmludCB7IGJvZHkgeyBvdmVyZmxvdzogaGlkZGVuOyBiYWNrZ3JvdW5kOiAjZmZmOyB9IH1cclxuXHJcbi8qIGZvcm1zICovXHJcblxyXG5maWVsZHNldCB7IG1pbi13aWR0aDogMDsgcGFkZGluZzogMDsgYm9yZGVyOiBub25lOyB9XHJcbmxhYmVsIHsgY3Vyc29yOiBwb2ludGVyOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XHJcbmxhYmVsOmZpcnN0LWNoaWxkIHsgZGlzcGxheTogYmxvY2s7IG1hcmdpbjogMCAwIDFyZW07IH1cclxuIGxhYmVsIGVtIHsgY29sb3I6ICNmMDA7IGZvbnQtc3R5bGU6IGluaGVyaXQ7IH1cclxuaW5wdXQsIHRleHRhcmVhLCBzZWxlY3QgeyAtLWxoOiAycmVtOyAtLWFobTogNC44cmVtOyAtLWFvcjogY2FsYyh2YXIoLS1haG0pIC8gMik7IC0tYXB4OiAycmVtOyAtLWFweTogY2FsYyh2YXIoLS1haG0pIC8gMiAtIHZhcigtLWxoKSAvIDIgLSAxcHgpOyAtLWFiY246IHRyYW5zcGFyZW50OyAtLWFvaTogaW5zZXQ7IC0tYW9zbjogMXB4OyAtLWFvY246IHZhcigtLWNfbzJ0KTsgLS1hb2NoOiB2YXIoLS1jX28zdCk7IC0tYW9jZjogdmFyKC0tYW9jaCk7IC0tYXVzOiBub25lOyAtLWF0Y246IHZhcigtLWNfZDF0KTsgLS1hcGNuOiByZ2JhKHZhcigtLWNfZHh0KSwwLjUpOyAtLWFwYzogdmFyKC0tYXBjbiwgY3VycmVudENvbG9yKTsgd2lkdGg6IDEwMCU7IGZvbnQ6IDEuNnJlbS92YXIoLS1saCkgdmFyKC0tZmZfMSk7IHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cclxuaW5wdXQ6d2hlcmUoW3R5cGU9XCJ0ZXh0XCJdLCBbdHlwZT1cInBhc3N3b3JkXCJdLCBbdHlwZT1cInNlYXJjaFwiXSwgW3R5cGU9XCJlbWFpbFwiXSwgW3R5cGU9XCJ0ZWxcIl0sIFt0eXBlPVwibnVtYmVyXCJdLCBbdHlwZT1cImNoZWNrYm94XCJdLCBbdHlwZT1cInJhZGlvXCJdLCBbdHlwZT1cInN1Ym1pdFwiXSksIHRleHRhcmVhLCBzZWxlY3QgeyAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAtbW96LWFwcGVhcmFuY2U6IG5vbmU7IH1cclxuaW5wdXQ6Oi1tcy1jbGVhciB7IGRpc3BsYXk6IG5vbmU7IH1cclxudGV4dGFyZWEgeyBvdmVyZmxvdzogYXV0bzsgcmVzaXplOiB2ZXJ0aWNhbDsgfVxyXG50ZXh0YXJlYVtkYXRhLWF1dG9yZXNpemVdIHsgbWF4LWhlaWdodDogY2FsYyh2YXIoLS1haG0pICogMyk7IH1cclxuc2VsZWN0IHsgLS1hYmduOiB1cmwoLi4vaW1hZ2VzL3NlbGVjdDEuc3ZnKSByaWdodCAycmVtIGNlbnRlciAvIDEuNHJlbSAwLjhyZW0gbm8tcmVwZWF0OyBwYWRkaW5nLXJpZ2h0OiA1cmVtOyBsaW5lLWhlaWdodDogbm9ybWFsOyB0ZXh0LWluZGVudDogMXB4OyB0ZXh0LW92ZXJmbG93OiAnJzsgfVxyXG5zZWxlY3Q6Oi1tcy1leHBhbmQgeyBkaXNwbGF5OiBub25lOyB9XHJcbi5maXJlZm94IHNlbGVjdCB7IHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1hcHgpIC0gNnB4KTsgfVxyXG5cclxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLCBpbnB1dFt0eXBlPVwicmFkaW9cIl0geyAtLXM6IDIuMnJlbTsgLS1hcHg6IDA7IC0tYW9yOiAwOyAtLWF0Y246IHZhcigtLWNfYTF0KTsgLS1hdGNmOiB2YXIoLS1hdGNuKTsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBwb3NpdGlvbjogcmVsYXRpdmU7IHdpZHRoOiB2YXIoLS1zLCAycmVtKTsgbWluLXdpZHRoOiAwOyBoZWlnaHQ6IHZhcigtLXMsIDJyZW0pOyBtaW4taGVpZ2h0OiAwOyBtYXJnaW46IDAgMC41cmVtIDAgMDsgcGFkZGluZzogMDsgZm9udDogaW5oZXJpdDsgdGV4dC1hbGlnbjogY2VudGVyOyB2ZXJ0aWNhbC1hbGlnbjogLTAuM2VtOyB9XHJcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7IC0tYW9yOiA1MCU7IH1cclxuIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpiZWZvcmUgeyBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAwOyBjb250ZW50OiAnTCc7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDkwJTsgY29sb3I6IGluaGVyaXQ7IGZvbnQ6IDcwMCBjYWxjKHZhcigtLXMsIDJyZW0pICogMC44KS8xIEhlbHZldGljYSBOZXVlLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmOyB0cmFuc2Zvcm06IHNjYWxlKGNhbGModmFyKC0tY2gsMCkgKiAtMSksdmFyKC0tY2gsMCkpIHJvdGF0ZSgtNDVkZWcpOyB9XHJcbiBpbnB1dFt0eXBlPVwicmFkaW9cIl06YmVmb3JlIHsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAwOyByaWdodDogMDsgdG9wOiAwOyBib3R0b206IDA7IGNvbnRlbnQ6ICcnOyBtYXJnaW46IDA7IGJvcmRlci1yYWRpdXM6IDUwJTsgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMnJlbSB2YXIoLS1hdGMpOyB0cmFuc2Zvcm06IHNjYWxlKGNhbGModmFyKC0tY2gsIDApICogMC40KSk7IH1cclxuIGlucHV0W3R5cGVdOmNoZWNrZWQ6YmVmb3JlIHsgLS1jaDogMTsgfVxyXG5pbnB1dDo6LW1zLWNoZWNrIHsgYm9yZGVyOiBub25lOyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgY29sb3I6IHZhcigtLWF0Yyk7IH1cclxuXHJcbi4tdFxcOjEwIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSwgLi10XFw6MTAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHsgdmVydGljYWwtYWxpZ246IC0wLjRlbSB9XHJcblxyXG46LXdlYmtpdC1hdXRvZmlsbCB7IC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB2YXIoLS1hdGMpOyB0cmFuc2l0aW9uLWRlbGF5OiA1MDAwczsgfVxyXG46OnBsYWNlaG9sZGVyIHsgY29sb3I6IHZhcigtLWFwYyk7IGZvbnQtc3R5bGU6IG5vcm1hbDsgb3BhY2l0eTogMTsgfVxyXG5zZWxlY3Q6aW52YWxpZCwgW2pzXSBzZWxlY3RbcGxhY2Vob2xkZXJdIHsgY29sb3I6IHZhcigtLWFwYyk7IH1cclxuXHJcbi4tdmFsaWRhdGVkOmludmFsaWQsIC4tdmFsaWRhdGVkOmludmFsaWQgKyBsYWJlbCwgLi12YWxpZGF0ZWQ6aW52YWxpZCArIGxhYmVsOmJlZm9yZSB7IC0tYW9jOiB2YXIoLS1jX2UydCk7IGNvbG9yOiB2YXIoLS1jX2UxdCk7IH1cclxuXHJcbkBtZWRpYSBub3Qgc2NyZWVuIGFuZCAocG9pbnRlcjogY29hcnNlKSB7XHJcbnNlbGVjdFttdWx0aXBsZV0geyBoZWlnaHQ6IDdyZW07IHBhZGRpbmctcmlnaHQ6IHZhcigtLXB4KTsgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxyXG59XHJcblxyXG4vKiB0YWJsZXMgKi9cclxuXHJcbnRhYmxlIHsgZGlzcGxheTogdGFibGU7IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IGJvcmRlci1zcGFjaW5nOiAwOyB9XHJcbiB0aCwgdGQgeyBwYWRkaW5nOiAxcmVtIDEuNXJlbTsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNfbzF0KTsgdGV4dC1hbGlnbjogbGVmdDsgdmVydGljYWwtYWxpZ246IHRvcDsgfVxyXG4gdGhlYWQgdGggeyBiYWNrZ3JvdW5kOiB2YXIoLS1jX2I0dCk7IGNvbG9yOiB2YXIoLS1jX2kxdCk7IH1cclxuXHJcbi8qIGxpc3RzICovXHJcblxyXG51bCwgb2wsIGRkLCBibG9ja3F1b3RlIHsgLS14cGw6IDNyZW07IHBhZGRpbmctbGVmdDogdmFyKC0teHBsKTsgfVxyXG5cclxub2wsIHVsIHsgbGlzdC1zdHlsZTogbm9uZTsgY291bnRlci1yZXNldDogb3JkZXJlZDsgfVxyXG4gbGkgeyAtLXN5OiAxcmVtOyBjb3VudGVyLWluY3JlbWVudDogb3JkZXJlZDsgfVxyXG4gIG9sID4gbGk6YmVmb3JlIHsgcG9zaXRpb246IGFic29sdXRlOyBjb250ZW50OiBjb3VudGVyKG9yZGVyZWQpOyB3aWR0aDogMnJlbTsgbWFyZ2luOiAwIDAgMCBjYWxjKHZhcigtLXhwbCkgKiAtMC45KTsgY29sb3I6IHZhcigtLWNfYTF0KTsgZm9udC13ZWlnaHQ6IDcwMDsgZm9udC1mYW1pbHk6IHZhcigtLWZmXzIpOyB9XHJcbiAgdWwgPiBsaTpiZWZvcmUgeyBmbG9hdDogbGVmdDsgb3ZlcmZsb3c6IGhpZGRlbjsgY29udGVudDogJ1xcZTk0MSc7IG1hcmdpbjogMCAwIDAgY2FsYyh2YXIoLS14cGwpICogLTAuOSk7IGNvbG9yOiB2YXIoLS1jX2ExdCk7IGZvbnQtZmFtaWx5OiBJY29uczsgfSBsaSB1bCA+IGxpOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU5NDAnOyB9IGxpIGxpIHVsID4gbGk6YmVmb3JlIHsgY29udGVudDogJy0nOyB9XHJcbiAgOndoZXJlKGxpKSA+IG9sLCA6d2hlcmUobGkpID4gdWwgeyAtLXN5OiAxcmVtOyBtYXJnaW4tdG9wOiB2YXIoLS1zeSk7IH1cclxuXHJcbmR0IHsgbWFyZ2luLWJvdHRvbTogMXJlbTsgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxyXG5kZCB7IHBhZGRpbmctbGVmdDogMDsgfVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzE5cHgpIHtcclxudWwsIG9sLCBkZCwgYmxvY2txdW90ZSB7IC0teHBsOiAycmVtOyB9XHJcbn1cclxuXHJcbi8qIGxpbmtzICovXHJcblxyXG5hLCAuLWFcXDoxIHsgLS1hdXM6IHVuZGVybGluZTsgLS1hdWNuOiBjdXJyZW50Q29sb3I7IC0tYXVvbjogMnB4OyAtLWFic3loOiAxZW07IC0tYXRjbjogdmFyKC0tY19hMXQpOyAtLWFiZ246IGxpbmVhci1ncmFkaWVudChyZ2JhKHZhcigtLWNfYTF4dCksIDAuMSksIHJnYmEodmFyKC0tY19hMXh0KSwgMC4xKSkgdmFyKC0tYWJweCwgbGVmdCkgdmFyKC0tYWJweSwgYm90dG9tIDNweCkgLyB2YXIoLS1hYnN4LCAxMDAlKSB2YXIoLS1hYnN5LCAwKSBuby1yZXBlYXQ7IH1cclxuYSwgYnV0dG9uLCBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSwgLi1hXFw6MSB7IC0tYWhzOiAwOyAtLWFveDogdmFyKC0tYW94bik7IC0tYW95OiB2YXIoLS1hb3luKTsgLS1hb2I6IHZhcigtLWFvYm4pOyAtLWFvczogdmFyKC0tYW9zbik7IC0tYW9jOiB2YXIoLS1hb2NuKTsgLS1hYmc6IHZhcigtLWFiZ24pOyAtLWFiczogdmFyKC0tYWJzbik7IC0tYWJzeDogdmFyKC0tYWJzeG4pOyAtLWFic3k6IHZhcigtLWFic3luKTsgLS1hYnB4OiB2YXIoLS1hYnB4bik7IC0tYWJweTogdmFyKC0tYWJweW4pOyAtLWFiYzogdmFyKC0tYWJjbik7IC0tYXRjOiB2YXIoLS1hdGNuKTsgLS1hdXc6IHZhcigtLWF1d24pOyAtLWF1YzogdmFyKC0tYXVjbik7IC0tYXVvOiB2YXIoLS1hdW9uKTsgLS1hdm86IHZhcigtLWF2b24pOyBtaW4td2lkdGg6IHZhcigtLWF3bSwgYXV0byk7IG1pbi1oZWlnaHQ6IHZhcigtLWFobSwgYXV0byk7IHBhZGRpbmc6IGNhbGModmFyKC0tYXB5LCAwcHgpICsgdmFyKC0tYXB5cywgMHB4KSkgdmFyKC0tYXB4LCAwcHgpIGNhbGModmFyKC0tYXB5LCAwcHgpIC0gdmFyKC0tYXB5cywgMHB4KSk7IGJveC1zaGFkb3c6IHZhcigtLWFvaSwgaW5zZXQpIHZhcigtLWFveCwgMCkgdmFyKC0tYW95LCAwKSB2YXIoLS1hb2IsIDApIHZhcigtLWFvcywgMCkgdmFyKC0tYW9jLCBjdXJyZW50Q29sb3IpOyBib3JkZXI6IG5vbmU7IGJvcmRlci1yYWRpdXM6IHZhcigtLWFvciwgMCk7IGJhY2tncm91bmQ6IHZhcigtLWFiZywgdHJhbnNwYXJlbnQpOyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hYmMsIHRyYW5zcGFyZW50KTsgY29sb3I6IHZhcigtLWF0YywgY3VycmVudENvbG9yKTsgdGV4dC1kZWNvcmF0aW9uOiB2YXIoLS1hdXMsIHVuZGVybGluZSk7IHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IHZhcigtLWF1dywgMXB4KTsgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB2YXIoLS1hdWMsIHRyYW5zcGFyZW50KTsgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiB2YXIoLS1hdW8sIDApOyBvcGFjaXR5OiB2YXIoLS1hdm8pOyB0cmFuc2l0aW9uLXByb3BlcnR5OiB2YXIoLS10OG5fcDEpLCBjb2xvcjsgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsMCwwLDApOyB9XHJcbkBtZWRpYShob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSl7IGE6aG92ZXIsIGJ1dHRvbjpob3ZlciwgaW5wdXQ6aG92ZXIsIHNlbGVjdDpob3ZlciwgdGV4dGFyZWE6aG92ZXIsIGE6aG92ZXIgLi1hXFw6MSwgW2hvdmVyXSAuLWFcXDoxOm5vdChbaG92ZXJjYXRjaF1baG92ZXJdIFtob3ZlcmNhdGNoXSAqKSB7IC0tYWhzOiAxOyAtLWFveDogdmFyKC0tYW94aCwgdmFyKC0tYW94bikpOyAtLWFveTogdmFyKC0tYW95aCwgdmFyKC0tYW95bikpOyAtLWFvYjogdmFyKC0tYW9iaCwgdmFyKC0tYW9ibikpOyAtLWFvczogdmFyKC0tYW9zaCwgdmFyKC0tYW9zbikpOyAtLWFvYzogdmFyKC0tYW9jaCwgdmFyKC0tYW9jbikpOyAtLWFiZzogdmFyKC0tYWJnaCwgdmFyKC0tYWJnbikpOyAtLWFiczogdmFyKC0tYWJzaCwgdmFyKC0tYWJzbikpOyAtLWFic3g6IHZhcigtLWFic3hoLCB2YXIoLS1hYnN4bikpOyAtLWFic3k6IHZhcigtLWFic3loLCB2YXIoLS1hYnN5bikpOyAtLWFicHg6IHZhcigtLWFicHhoLCB2YXIoLS1hYnB4bikpOyAtLWFicHk6IHZhcigtLWFicHloLCB2YXIoLS1hYnB5bikpOyAtLWFiYzogdmFyKC0tYWJjaCwgdmFyKC0tYWJjbikpOyAtLWF0YzogdmFyKC0tYXRjaCwgdmFyKC0tYXRjbikpOyAtLWF1dzogdmFyKC0tYXV3aCwgdmFyKC0tYXV3bikpOyAtLWF1YzogdmFyKC0tYXVjaCwgdmFyKC0tYXVjbikpOyAtLWF1bzogdmFyKC0tYXVvaCwgdmFyKC0tYXVvbikpOyAtLWF2bzogdmFyKC0tYXZvaCwgdmFyKC0tYXZvbikpOyB9IH1cclxuW2tleWJvYXJkXSBhOmZvY3VzLCBba2V5Ym9hcmRdIGJ1dHRvbjpmb2N1cywgW2tleWJvYXJkXSBpbnB1dDpmb2N1cywgW2tleWJvYXJkXSBzZWxlY3Q6Zm9jdXMsIFtrZXlib2FyZF0gdGV4dGFyZWE6Zm9jdXMsIFtrZXlib2FyZF0gYTpmb2N1cyAuLWFcXDoxIHsgLS1haHM6IDE7IC0tYW94OiB2YXIoLS1hb3hmLCB2YXIoLS1hb3hoLCB2YXIoLS1hb3huKSkpOyAtLWFveTogdmFyKC0tYW95ZiwgdmFyKC0tYW95aCwgdmFyKC0tYW95bikpKTsgLS1hb2I6IHZhcigtLWFvYmYsIHZhcigtLWFvYmgsIHZhcigtLWFvYm4pKSk7IC0tYW9zOiB2YXIoLS1hb3NmLCB2YXIoLS1hb3NoLCB2YXIoLS1hb3NuKSkpOyAtLWFvYzogdmFyKC0tYW9jZiwgdmFyKC0tYW9jaCwgdmFyKC0tYW9jbikpKTsgLS1hYmc6IHZhcigtLWFiZ2YsIHZhcigtLWFiZ2gsIHZhcigtLWFiZ24pKSk7IC0tYWJzOiB2YXIoLS1hYnNmLCB2YXIoLS1hYnNoLCB2YXIoLS1hYnNuKSkpOyAtLWFic3g6IHZhcigtLWFic3hmLCB2YXIoLS1hYnN4aCwgdmFyKC0tYWJzeG4pKSk7IC0tYWJzeTogdmFyKC0tYWJzeWYsIHZhcigtLWFic3loLCB2YXIoLS1hYnN5bikpKTsgLS1hYnB4OiB2YXIoLS1hYnB4ZiwgdmFyKC0tYWJweGgsIHZhcigtLWFicHhuKSkpOyAtLWFicHk6IHZhcigtLWFicHlmLCB2YXIoLS1hYnB5aCwgdmFyKC0tYWJweW4pKSk7IC0tYWJjOiB2YXIoLS1hYmNmLCB2YXIoLS1hYmNoLCB2YXIoLS1hYmNuKSkpOyAtLWF0YzogdmFyKC0tYXRjZiwgdmFyKC0tYXRjaCwgdmFyKC0tYXRjbikpKTsgLS1hdXc6IHZhcigtLWF1d2YsIHZhcigtLWF1d2gsIHZhcigtLWF1d24pKSk7IC0tYXVjOiB2YXIoLS1hdWNmLCB2YXIoLS1hdWNoLCB2YXIoLS1hdWNuKSkpOyAtLWF1bzogdmFyKC0tYXVvZiwgdmFyKC0tYXVvaCwgdmFyKC0tYXVvbikpKTsgLS1hdm86IHZhcigtLWF2b2YsIHZhcigtLWF2b2gsIHZhcigtLWF2b24pKSk7IH1cclxuIGEgKiB7IGN1cnNvcjogcG9pbnRlcjsgfVxyXG5cclxuLyogaW1hZ2VzICovXHJcblxyXG5maWd1cmUgeyBtYXJnaW46IDA7IH1cclxuIGltZyB7IG1heC13aWR0aDogMTAwJTsgYm9yZGVyLXdpZHRoOiAwOyBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxyXG4gZmlndXJlIGltZyB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgdmVydGljYWwtYWxpZ246IHRvcDsgfVxyXG4gZmlnY2FwdGlvbiB7IG1hcmdpbi10b3A6IDFyZW07IH1cclxuXHJcbi8qIG90aGVyICovXHJcblxyXG5ibG9ja3F1b3RlIHsgYm94LXNoYWRvdzogaW5zZXQgMXB4IDAgMCAwIHZhcigtLWNfYTF0KTsgfVxyXG4gYmxvY2txdW90ZSA+ICogeyAtLXN5OiAxcmVtIH1cclxuIGJsb2NrcXVvdGUgcSB7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbiAgYmxvY2txdW90ZSBxOmJlZm9yZSB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgd2lkdGg6IDA7IHRleHQtaW5kZW50OiAtMWV4OyB9XHJcbnByZSB7IHBhZGRpbmc6IDFyZW07IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNfbzF0KTsgYmFja2dyb3VuZDogdmFyKC0tY19iMnQpOyBmb250OiAxLjRyZW0vMS4yIENvbnNvbGFzLE1vbmFjbyxDb3VyaWVyIE5ldyxtb25vc3BhY2U7IHdoaXRlLXNwYWNlOiBwcmU7IHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsgd29yZC13cmFwOiBicmVhay13b3JkOyB9XHJcbmNvZGUgeyBwYWRkaW5nOiAwLjJyZW0gMC40cmVtOyBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmMmY0OyBjb2xvcjogI2M3MjU0ZTsgZm9udC1zaXplOiA4MCU7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cclxuaHIgeyBvdmVyZmxvdzogaGlkZGVuOyB3aWR0aDogYXV0bzsgaGVpZ2h0OiAxcHg7IG1hcmdpbjogdmFyKC0tczEpIDA7IGJvcmRlcjogbm9uZTsgYm9yZGVyLXRvcDogMXB4IHNvbGlkOyBiYWNrZ3JvdW5kOiBub25lOyBjb2xvcjogdmFyKC0tY19vMXQpOyBmb250LXNpemU6IDA7IH1cclxuc3VwLCBzdWIgeyBmb250LXNpemU6IDAuNjg3NWVtOyBsaW5lLWhlaWdodDogMTsgdmVydGljYWwtYWxpZ246IHRvcDsgfSBzdWIgeyB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOyB9XHJcbmIsIHN0cm9uZyB7IGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cclxubWFyayB7IHBhZGRpbmc6IDAgMC4ycmVtOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyMjgsMCwwLjI1KTsgfVxyXG5hYmJyIHsgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XHJcbmlucyB7IGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgZ3JlZW47IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxyXG5hZGRyZXNzIHsgZm9udDogaW5oZXJpdDsgfVxyXG5cclxuLyogb3RoZXIgKi9cclxuXHJcblttb3VzZV0gKjpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cclxuW3RvZ2dsZV0sIFtjbGlja2FibGVdIHsgY3Vyc29yOiBwb2ludGVyOyAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwwLDAsMCk7IH1cclxuW2hpZGRlbl0sIFtqc10gW25vc2NyaXB0XSwgOnJvb3Q6bm90KFtqc10pIFtzY3JpcHRlZF0sIFt4LWNsb2FrXTpub3QoOnRhcmdldCksIFtqc10gW2Nsb2FrZWRdIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XHJcbltpbnZpc2libGVdIHsgcG9zaXRpb246IGFic29sdXRlOyBvdmVyZmxvdzogaGlkZGVuOyB3aWR0aDogMXB4OyBoZWlnaHQ6IDFweDsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgY2xpcDogcmVjdCgwIDAgMCAwKTsgY2xpcC1wYXRoOiBpbnNldCg1MCUpOyB9XHJcbltkaXNhYmxlZF0geyBwb2ludGVyLWV2ZW50czogbm9uZTsgb3BhY2l0eTogMC40OyBjdXJzb3I6IGRlZmF1bHQ7IH0gW2Rpc2FibGVkXSBbZGlzYWJsZWRdIHsgb3BhY2l0eTogMTsgfVxyXG5cclxuLyogZmlyc3QvbGFzdCBtYXJnaW5zICovXHJcblxyXG5ib2R5IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxyXG5cclxuXHJcbi8qICAgXyAgICBfIF9fX19fX18gIF9fX19fXyBfX19fX19fXHJcbiAqICAgIFxcICAvICB8X19fX198IHxfX19fXy8gfF9fX19fX1xyXG4gKiAgICAgXFwvICAgfCAgICAgfCB8ICAgIFxcXyBfX19fX198XHJcbiovXHJcblxyXG4vKiB0ZXh0IHN0eWxpbmcgKi9cclxuXHJcbmh0bWwgeyAtLWxoOiAxLjQ1OyBmb250OiB2YXIoLS11dSkvdmFyKC0tbGgpIHZhcigtLWZmXzEpOyB9XHJcbmJvZHksIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIGJsb2NrcXVvdGUsIGNpdGUsIGZpZ2NhcHRpb24sIFtjbGFzcyo9XCItdDpcIl0geyBmb250OiA0MDAgMi4wcmVtL3ZhcigtLWxoKSB2YXIoLS1mZl8xKTsgbGV0dGVyLXNwYWNpbmc6IDA7IHRleHQtdHJhbnNmb3JtOiBub25lOyBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkOyB9XHJcbi4tdFxcOjEsIGgxIHsgLS1saDogMC45MDsgZm9udDogNzAwIDguMHJlbS92YXIoLS1saCkgdmFyKC0tZmZfMik7IGxldHRlci1zcGFjaW5nOiAtMC4wM2VtOyB9XHJcbi4tdFxcOjIsIGgyIHsgLS1saDogMC45MDsgZm9udDogNTAwIDYuMHJlbS92YXIoLS1saCkgdmFyKC0tZmZfMik7IGxldHRlci1zcGFjaW5nOiAtMC4wM2VtOyB9XHJcbi4tdFxcOjMsIGgzIHsgLS1saDogMS4xMDsgZm9udDogNTAwIDMuNnJlbS92YXIoLS1saCkgdmFyKC0tZmZfMik7IGxldHRlci1zcGFjaW5nOiAtMC4wMmVtOyB9XHJcbi4tdFxcOjQsIGg0IHsgLS1saDogMS4xODsgZm9udDogNzAwIDIuNHJlbS92YXIoLS1saCkgdmFyKC0tZmZfMik7IGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOyB9XHJcbi4tdFxcOjUsIGg1LCB0aGVhZCB7IC0tbGg6IDEuMzA7IGZvbnQ6IDcwMCAxLjZyZW0vdmFyKC0tbGgpIHZhcigtLWZmXzEpOyBsZXR0ZXItc3BhY2luZzogMDsgfVxyXG4uLXRcXDo2LCBoNiB7IC0tbGg6IDEuNTA7IGZvbnQ6IDYwMCAxLjZyZW0vdmFyKC0tbGgpIHZhcigtLWZmXzEpOyBsZXR0ZXItc3BhY2luZzogMC4wNGVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XHJcbi4tdFxcOjcsIGJsb2NrcXVvdGUgeyAtLWxoOiAxLjQwOyBmb250OiA0MDAgMi4wcmVtL3ZhcigtLWxoKSB2YXIoLS1mZl8xKTsgbGV0dGVyLXNwYWNpbmc6IDA7IH1cclxuLi10XFw6OCwgY2l0ZSB7IC0tbGg6IDEuNDA7IGZvbnQ6IDQwMCAxLjZyZW0vdmFyKC0tbGgpIHZhcigtLWZmXzEpOyBsZXR0ZXItc3BhY2luZzogMDsgfSAvKiBjaXRlICovXHJcbi4tdFxcOjksIGZpZ2NhcHRpb24geyAtLWxoOiAxLjQwOyBmb250OiA0MDAgMS4zcmVtL3ZhcigtLWxoKSB2YXIoLS1mZl8xKTsgbGV0dGVyLXNwYWNpbmc6IDA7IH0gLyogY2FwdGlvbiAqL1xyXG4uLXRcXDoxMCwgdGFibGUgeyAtLWxoOiAxLjQwOyBmb250OiA0MDAgMS42cmVtL3ZhcigtLWxoKSB2YXIoLS1mZl8xKTsgbGV0dGVyLXNwYWNpbmc6IDA7IH0gLyogcGFyYWdyYXBoIG1lZGl1bSAqL1xyXG4uLXRcXDoxMSB7IC0tbGg6IDEuNDA7IGZvbnQ6IDQwMCAxLjNyZW0vdmFyKC0tbGgpIHZhcigtLWZmXzEpOyBsZXR0ZXItc3BhY2luZzogMDsgfSAvKiBwYXJhZ3JhcGggc21hbGwgKi9cclxuLi10XFw6MTIgeyAtLWxoOiAwLjkwOyBmb250OiA3MDAgMTIuMHJlbS92YXIoLS1saCkgdmFyKC0tZmZfMik7IGxldHRlci1zcGFjaW5nOiAtMC4wM2VtOyB9IC8qIHRpdGxlIGxhcmdlICovXHJcbi4tdFxcOjEzIHsgLS1saDogMS4yNTsgZm9udDogNDAwIDMuOHJlbS92YXIoLS1saCkgdmFyKC0tZmZfMik7IGxldHRlci1zcGFjaW5nOiAtMC4wMmVtOyB9IC8qIHF1b3RlIGxhcmdlICovXHJcbi4tdFxcOjE0IHsgLS1saDogMS4yMDsgZm9udDogODAwIDIuNHJlbS92YXIoLS1saCkgdmFyKC0tZmZfMSk7IGxldHRlci1zcGFjaW5nOiAwLjA1ZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH0gLyogc2VjdGlvbiBsYXJnZSAqL1xyXG4uLXRcXDoxNSB7IC0tbGg6IDEuMjA7IGZvbnQ6IDgwMCAxLjNyZW0vdmFyKC0tbGgpIHZhcigtLWZmXzEpOyBsZXR0ZXItc3BhY2luZzogMC4wNGVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9IC8qIHNlY3Rpb24gc21hbGwgKi9cclxuLi10XFw6MTYgeyAtLWxoOiAxLjMwOyBmb250OiA3MDAgMS44cmVtL3ZhcigtLWxoKSB2YXIoLS1mZl8xKTsgbGV0dGVyLXNwYWNpbmc6IDA7IH0gLyogbW9yZSBsaW5rICovXHJcbi4tdFxcOjE3IHsgLS1saDogMS4xMDsgZm9udDogNjAwIDEuMnJlbS92YXIoLS1saCkgdmFyKC0tZmZfMSk7IGxldHRlci1zcGFjaW5nOiAwLjA4ZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH0gLyogdHlwZSBsYWJlbCAqL1xyXG4uLXRcXDoxOCB7IC0tbGg6IDEuMDA7IGZvbnQ6IDUwMCA4LjByZW0vdmFyKC0tbGgpIHZhcigtLWZmXzIpOyBsZXR0ZXItc3BhY2luZzogMDsgfSAvKiBzdGF0IGxhcmdlICovXHJcbi4tdFxcOjE5IHsgLS1saDogMC44NTsgZm9udDogNzAwIDYuMHJlbS92YXIoLS1saCkgdmFyKC0tZmZfMik7IGxldHRlci1zcGFjaW5nOiAtMC4wMmVtOyB9IC8qIHN0YXQgbWVkaXVtICovXHJcbi4tdFxcOjIwIHsgLS1saDogMS40NTsgZm9udDogNDAwIDIuMnJlbS92YXIoLS1saCkgdmFyKC0tZmZfMSk7IGxldHRlci1zcGFjaW5nOiAwOyB9IC8qIHBhcmFncmFwaCBsYXJnZSAqL1xyXG4uLXRcXDoyMSB7IC0tbGg6IDEuMzA7IGZvbnQ6IDcwMCAxLjZyZW0vdmFyKC0tbGgpIHZhcigtLWZmXzEpOyBsZXR0ZXItc3BhY2luZzogMDsgfSAvKiBidXR0b24gKi9cclxuLi10XFw6MjIgeyAtLWxoOiAxLjIwOyBmb250OiA4MDAgMi40cmVtL3ZhcigtLWxoKSB2YXIoLS1mZl8xKTsgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfSAvKiBzZWN0aW9uIGxhcmdlICgxNCkgdG8gc21hbGwgKDE1KSAqL1xyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzE5cHgpIHtcclxuLi10XFw6MCwgYm9keSB7IC0tbGg6IDEuNDA7IGZvbnQtc2l6ZTogMS42cmVtOyB9XHJcbi4tdFxcOjEsIGgxIHsgLS1saDogMS4wNTsgZm9udC1zaXplOiA0LjJyZW07IGZvbnQtd2VpZ2h0OiA1MDA7IH1cclxuLi10XFw6MiwgaDIgeyAtLWxoOiAxLjEwOyBmb250LXNpemU6IDMuNHJlbTsgfVxyXG4uLXRcXDozLCBoMyB7IC0tbGg6IDEuMjU7IGZvbnQtc2l6ZTogMi44cmVtOyB9XHJcbi4tdFxcOjQsIGg0IHsgZm9udC1zaXplOiAxLjhyZW07IH1cclxuLi10XFw6NywgYmxvY2txdW90ZSB7IGZvbnQtc2l6ZTogMS44cmVtOyB9IC8qIGJsb2NrcXVvdGUgKi9cclxuLi10XFw6MTIgeyAtLWxoOiAwLjk1OyBmb250LXNpemU6IDYuMnJlbTsgfSAvKiB0aXRsZSBsYXJnZSAqL1xyXG4uLXRcXDoxMyB7IGZvbnQtc2l6ZTogMi40cmVtOyB9IC8qIHF1b3RlIGxhcmdlICovXHJcbi4tdFxcOjE4IHsgLS1saDogMS4yMDsgZm9udC1zaXplOiA3LjVyZW07IH0gLyogc3RhdCBsYXJnZSAqL1xyXG4uLXRcXDoxOSB7IGZvbnQtc2l6ZTogMy4ycmVtOyBmb250LXdlaWdodDogODAwOyB9IC8qIHN0YXQgbWVkaXVtICovXHJcbi4tdFxcOjIyIHsgZm9udC1zaXplOiAxLjNyZW07IH0gLyogc2VjdGlvbiBsYXJnZSAoMTQpIHRvIHNtYWxsICgxNSkgKi9cclxufVxyXG5cclxuLyogbGluayBzdHlsaW5nICovXHJcblxyXG5hLi1hc1xcOjEsIC4tYXNcXDoxIGEsIC4tYXNcXDoxLi1hXFw6MSwgLi1hc1xcOjEgLi1hXFw6MSB7IC0tYXVzOiAnJzsgLS1hYmduOiBub25lOyAtLWF0Y246IHZhcigtLWNfZDF0KTsgfVxyXG5hLi1hc1xcOjIsIC4tYXNcXDoyIGEsIC4tYXNcXDoyLi1hXFw6MSwgLi1hc1xcOjIgLi1hXFw6MSB7IC0tYXVjbjogdHJhbnNwYXJlbnQ7IC0tYXVjaDogdmFyKC0tYXRjKTsgLS1hYmduOiBub25lOyAtLWF0Y246IGN1cnJlbnRDb2xvcjsgfVxyXG5hLi1hc1xcOjMsIC4tYXNcXDozIGEsIC4tYXNcXDozLi1hXFw6MSwgLi1hc1xcOjMgLi1hXFw6MSB7IC0tYXVjbjogY3VycmVudENvbG9yOyAtLWF1Y2g6IHRyYW5zcGFyZW50OyAtLWFiZ246IG5vbmU7IC0tYXRjbjogdmFyKC0tY19kMXQpOyB9XHJcbmEuLWFzXFw6NCwgLi1hc1xcOjQgYSwgLi1hc1xcOjQuLWFcXDoxLCAuLWFzXFw6NCAuLWFcXDoxIHsgLS1hdXM6ICcnOyAtLWFiZ246IG5vbmU7IC0tYXRjbjogdmFyKC0tY19kMXQpOyAtLWF0Y2g6IHZhcigtLWNfYTF0KTsgfVxyXG5cclxuLyogbGlzdCBzdHlsaW5nICovXHJcblxyXG51bC4tbHNcXDoxLCBvbC4tbHNcXDoxLCAuLWxzXFw6MSB1bCwgLi1sc1xcOjEgb2wgeyBwYWRkaW5nOiAwOyB9XHJcbiAgLi1sc1xcOjEgbGk6YmVmb3JlIHsgZGlzcGxheTogbm9uZTsgfVxyXG5cclxuLyogc3BhY2luZyAqL1xyXG5cclxuLi1tYlxcOmEsLi1teVxcOmF7bWFyZ2luLWJvdHRvbTphdXRvICFpbXBvcnRhbnR9Li1tdFxcOmEsLi1teVxcOmEge21hcmdpbi10b3A6YXV0b30uLW1sXFw6YSwuLW14XFw6YXttYXJnaW4tbGVmdDphdXRvfS4tbXJcXDphLC4tbXhcXDphe21hcmdpbi1yaWdodDphdXRvfVxyXG4uLW1iXFw6MCwuLW15XFw6MCwuLW1hXFw6MHttYXJnaW4tYm90dG9tOjB9Li1tdFxcOjAsLi1teVxcOjAsLi1tYVxcOjB7bWFyZ2luLXRvcDowfS4tbWxcXDowLC4tbXhcXDowLC4tbWFcXDowe21hcmdpbi1sZWZ0OjB9Li1tclxcOjAsLi1teFxcOjAsLi1tYVxcOjB7bWFyZ2luLXJpZ2h0OjB9Li1wYlxcOjAsLi1weVxcOjAsLi1wYVxcOjB7cGFkZGluZy1ib3R0b206MH0uLXB0XFw6MCwuLXB5XFw6MCwuLXBhXFw6MHtwYWRkaW5nLXRvcDowfS4tcGxcXDowLC4tcHhcXDowLC4tcGFcXDowe3BhZGRpbmctbGVmdDowfS4tcHJcXDowLC4tcHhcXDowLC4tcGFcXDowe3BhZGRpbmctcmlnaHQ6MH0uLXN5XFw6MD4qey0tc3k6MHJlbX1cclxuLi1tYlxcOngsLi1teVxcOngsLi1tYVxcOnh7bWFyZ2luLWJvdHRvbTp2YXIoLS1zeCl9Li1tdFxcOngsLi1teVxcOngsLi1tYVxcOnh7bWFyZ2luLXRvcDp2YXIoLS1zeCl9Li1tbFxcOngsLi1teFxcOngsLi1tYVxcOnh7bWFyZ2luLWxlZnQ6dmFyKC0tc3gpfS4tbXJcXDp4LC4tbXhcXDp4LC4tbWFcXDp4e21hcmdpbi1yaWdodDp2YXIoLS1zeCl9Li1tYlxcOi14LC4tbXlcXDoteCwuLW1hXFw6LXh7bWFyZ2luLWJvdHRvbTogdmFyKC0tbngpfS4tbXRcXDoteCwuLW15XFw6LXgsLi1tYVxcOi14e21hcmdpbi10b3A6IHZhcigtLW54KX0uLW1sXFw6LXgsLi1teFxcOi14LC4tbWFcXDoteHttYXJnaW4tbGVmdDogdmFyKC0tbngpfS4tbXJcXDoteCwuLW14XFw6LXgsLi1tYVxcOi14e21hcmdpbi1yaWdodDogdmFyKC0tbngpfS4tcGJcXDp4LC4tcHlcXDp4LC4tcGFcXDp4e3BhZGRpbmctYm90dG9tOnZhcigtLXN4KX0uLXB0XFw6eCwuLXB5XFw6eCwuLXBhXFw6eHtwYWRkaW5nLXRvcDp2YXIoLS1zeCl9Li1wbFxcOngsLi1weFxcOngsLi1wYVxcOnh7cGFkZGluZy1sZWZ0OnZhcigtLXN4KX0uLXByXFw6eCwuLXB4XFw6eCwuLXBhXFw6eHtwYWRkaW5nLXJpZ2h0OnZhcigtLXN4KX1cclxuLi1tYlxcOnksLi1teVxcOnksLi1tYVxcOnl7bWFyZ2luLWJvdHRvbTp2YXIoLS1zeSl9Li1tdFxcOnksLi1teVxcOnksLi1tYVxcOnl7bWFyZ2luLXRvcDp2YXIoLS1zeSl9Li1tbFxcOnksLi1teFxcOnksLi1tYVxcOnl7bWFyZ2luLWxlZnQ6dmFyKC0tc3kpfS4tbXJcXDp5LC4tbXhcXDp5LC4tbWFcXDp5e21hcmdpbi1yaWdodDp2YXIoLS1zeSl9Li1tYlxcOi15LC4tbXlcXDoteSwuLW1hXFw6LXl7bWFyZ2luLWJvdHRvbTogdmFyKC0tbnkpfS4tbXRcXDoteSwuLW15XFw6LXksLi1tYVxcOi15e21hcmdpbi10b3A6IHZhcigtLW55KX0uLW1sXFw6LXksLi1teFxcOi15LC4tbWFcXDoteXttYXJnaW4tbGVmdDogdmFyKC0tbnkpfS4tbXJcXDoteSwuLW14XFw6LXksLi1tYVxcOi15e21hcmdpbi1yaWdodDogdmFyKC0tbnkpfS4tcGJcXDp5LC4tcHlcXDp5LC4tcGFcXDp5e3BhZGRpbmctYm90dG9tOnZhcigtLXN5KX0uLXB0XFw6eSwuLXB5XFw6eSwuLXBhXFw6eXtwYWRkaW5nLXRvcDp2YXIoLS1zeSl9Li1wbFxcOnksLi1weFxcOnksLi1wYVxcOnl7cGFkZGluZy1sZWZ0OnZhcigtLXN5KX0uLXByXFw6eSwuLXB4XFw6eSwuLXBhXFw6eXtwYWRkaW5nLXJpZ2h0OnZhcigtLXN5KX1cclxuLi1tYlxcOjEsLi1teVxcOjF7bWFyZ2luLWJvdHRvbTp2YXIoLS1zMSl9Li1tdFxcOjEsLi1teVxcOjF7bWFyZ2luLXRvcDp2YXIoLS1zMSl9Li1tYlxcOi0xLC4tbXlcXDotMSwuLW1hXFw6LTF7bWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1zMSkgKiAtMSl9Li1tdFxcOi0xLC4tbXlcXDotMSwuLW1hXFw6LTF7bWFyZ2luLXRvcDogY2FsYyh2YXIoLS1zMSkgKiAtMSl9Li1tbFxcOi0xLC4tbXhcXDotMSwuLW1hXFw6LTF7bWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tczEpICogLTEpfS4tbXJcXDotMSwuLW14XFw6LTEsLi1tYVxcOi0xe21hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1zMSkgKiAtMSl9Li1wYlxcOjEsLi1weVxcOjEsLi1wYVxcOjF7cGFkZGluZy1ib3R0b206dmFyKC0tczEpfS4tcHRcXDoxLC4tcHlcXDoxLC4tcGFcXDoxe3BhZGRpbmctdG9wOnZhcigtLXMxKX0uLXBsXFw6MSwuLXB4XFw6MSwuLXBhXFw6MXtwYWRkaW5nLWxlZnQ6dmFyKC0tczEpfS4tcHJcXDoxLC4tcHhcXDoxLC4tcGFcXDoxe3BhZGRpbmctcmlnaHQ6dmFyKC0tczEpfVxyXG4uLW1iXFw6MiwuLW15XFw6MnttYXJnaW4tYm90dG9tOnZhcigtLXMyKX0uLW10XFw6MiwuLW15XFw6MnttYXJnaW4tdG9wOnZhcigtLXMyKX0uLW1iXFw6LTIsLi1teVxcOi0yLC4tbWFcXDotMnttYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXMyKSAqIC0xKX0uLW10XFw6LTIsLi1teVxcOi0yLC4tbWFcXDotMnttYXJnaW4tdG9wOiBjYWxjKHZhcigtLXMyKSAqIC0xKX0uLW1sXFw6LTIsLi1teFxcOi0yLC4tbWFcXDotMnttYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1zMikgKiAtMSl9Li1tclxcOi0yLC4tbXhcXDotMiwuLW1hXFw6LTJ7bWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLXMyKSAqIC0xKX0uLXBiXFw6MiwuLXB5XFw6MiwuLXBhXFw6MntwYWRkaW5nLWJvdHRvbTp2YXIoLS1zMil9Li1wdFxcOjIsLi1weVxcOjIsLi1wYVxcOjJ7cGFkZGluZy10b3A6dmFyKC0tczIpfS4tcGxcXDoyLC4tcHhcXDoyLC4tcGFcXDoye3BhZGRpbmctbGVmdDp2YXIoLS1zMil9Li1wclxcOjIsLi1weFxcOjIsLi1wYVxcOjJ7cGFkZGluZy1yaWdodDp2YXIoLS1zMil9XHJcbi4tbWJcXDozLC4tbXlcXDoze21hcmdpbi1ib3R0b206dmFyKC0tczMpfS4tbXRcXDozLC4tbXlcXDoze21hcmdpbi10b3A6dmFyKC0tczMpfS4tbWJcXDotMywuLW15XFw6LTMsLi1tYVxcOi0ze21hcmdpbi1ib3R0b206IGNhbGModmFyKC0tczMpICogLTEpfS4tbXRcXDotMywuLW15XFw6LTMsLi1tYVxcOi0ze21hcmdpbi10b3A6IGNhbGModmFyKC0tczMpICogLTEpfS4tbWxcXDotMywuLW14XFw6LTMsLi1tYVxcOi0ze21hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLXMzKSAqIC0xKX0uLW1yXFw6LTMsLi1teFxcOi0zLC4tbWFcXDotM3ttYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tczMpICogLTEpfS4tcGJcXDozLC4tcHlcXDozLC4tcGFcXDoze3BhZGRpbmctYm90dG9tOnZhcigtLXMzKX0uLXB0XFw6MywuLXB5XFw6MywuLXBhXFw6M3twYWRkaW5nLXRvcDp2YXIoLS1zMyl9Li1wbFxcOjMsLi1weFxcOjMsLi1wYVxcOjN7cGFkZGluZy1sZWZ0OnZhcigtLXMzKX0uLXByXFw6MywuLXB4XFw6MywuLXBhXFw6M3twYWRkaW5nLXJpZ2h0OnZhcigtLXMzKX1cclxuLi1tYlxcOjQsLi1teVxcOjR7bWFyZ2luLWJvdHRvbTp2YXIoLS1zNCl9Li1tdFxcOjQsLi1teVxcOjR7bWFyZ2luLXRvcDp2YXIoLS1zNCl9Li1tYlxcOi00LC4tbXlcXDotNCwuLW1hXFw6LTR7bWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1zNCkgKiAtMSl9Li1tdFxcOi00LC4tbXlcXDotNCwuLW1hXFw6LTR7bWFyZ2luLXRvcDogY2FsYyh2YXIoLS1zNCkgKiAtMSl9Li1tbFxcOi00LC4tbXhcXDotNCwuLW1hXFw6LTR7bWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tczQpICogLTEpfS4tbXJcXDotNCwuLW14XFw6LTQsLi1tYVxcOi00e21hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1zNCkgKiAtMSl9Li1wYlxcOjQsLi1weVxcOjQsLi1wYVxcOjR7cGFkZGluZy1ib3R0b206dmFyKC0tczQpfS4tcHRcXDo0LC4tcHlcXDo0LC4tcGFcXDo0e3BhZGRpbmctdG9wOnZhcigtLXM0KX0uLXBsXFw6NCwuLXB4XFw6NCwuLXBhXFw6NHtwYWRkaW5nLWxlZnQ6dmFyKC0tczQpfS4tcHJcXDo0LC4tcHhcXDo0LC4tcGFcXDo0e3BhZGRpbmctcmlnaHQ6dmFyKC0tczQpfVxyXG4uLW1iXFw6NSwuLW15XFw6NXttYXJnaW4tYm90dG9tOnZhcigtLXM1KX0uLW10XFw6NSwuLW15XFw6NXttYXJnaW4tdG9wOnZhcigtLXM1KX0uLW1iXFw6LTUsLi1teVxcOi01LC4tbWFcXDotNXttYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXM1KSAqIC0xKX0uLW10XFw6LTUsLi1teVxcOi01LC4tbWFcXDotNXttYXJnaW4tdG9wOiBjYWxjKHZhcigtLXM1KSAqIC0xKX0uLW1sXFw6LTUsLi1teFxcOi01LC4tbWFcXDotNXttYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1zNSkgKiAtMSl9Li1tclxcOi01LC4tbXhcXDotNSwuLW1hXFw6LTV7bWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLXM1KSAqIC0xKX0uLXBiXFw6NSwuLXB5XFw6NSwuLXBhXFw6NXtwYWRkaW5nLWJvdHRvbTp2YXIoLS1zNSl9Li1wdFxcOjUsLi1weVxcOjUsLi1wYVxcOjV7cGFkZGluZy10b3A6dmFyKC0tczUpfS4tcGxcXDo1LC4tcHhcXDo1LC4tcGFcXDo1e3BhZGRpbmctbGVmdDp2YXIoLS1zNSl9Li1wclxcOjUsLi1weFxcOjUsLi1wYVxcOjV7cGFkZGluZy1yaWdodDp2YXIoLS1zNSl9XHJcblxyXG4uLW1iXFw6bTEsLi1teVxcOm0xe21hcmdpbi1ib3R0b206MC40cmVtfS4tbXRcXDptMSwuLW15XFw6bTF7bWFyZ2luLXRvcDowLjRyZW19Li1wYlxcOm0xLC4tcHlcXDptMXtwYWRkaW5nLWJvdHRvbTowLjRyZW19Li1wdFxcOm0xLC4tcHlcXDptMXtwYWRkaW5nLXRvcDowLjRyZW19Li1zeVxcOjE+KnstLXN5OjAuNHJlbX1cclxuLi1tYlxcOm0yLC4tbXlcXDptMnttYXJnaW4tYm90dG9tOjAuOHJlbX0uLW10XFw6bTIsLi1teVxcOm0ye21hcmdpbi10b3A6MC44cmVtfS4tcGJcXDptMiwuLXB5XFw6bTJ7cGFkZGluZy1ib3R0b206MC44cmVtfS4tcHRcXDptMiwuLXB5XFw6bTJ7cGFkZGluZy10b3A6MC44cmVtfS4tc3lcXDoyPip7LS1zeTowLjhyZW19XHJcbi4tbWJcXDptMywuLW15XFw6bTN7bWFyZ2luLWJvdHRvbToxLjJyZW19Li1tdFxcOm0zLC4tbXlcXDptM3ttYXJnaW4tdG9wOjEuMnJlbX0uLXBiXFw6bTMsLi1weVxcOm0ze3BhZGRpbmctYm90dG9tOjEuMnJlbX0uLXB0XFw6bTMsLi1weVxcOm0ze3BhZGRpbmctdG9wOjEuMnJlbX0uLXN5XFw6Mz4qey0tc3k6MS4ycmVtfVxyXG4uLW1iXFw6bTQsLi1teVxcOm00e21hcmdpbi1ib3R0b206MS42cmVtfS4tbXRcXDptNCwuLW15XFw6bTR7bWFyZ2luLXRvcDoxLjZyZW19Li1wYlxcOm00LC4tcHlcXDptNHtwYWRkaW5nLWJvdHRvbToxLjZyZW19Li1wdFxcOm00LC4tcHlcXDptNHtwYWRkaW5nLXRvcDoxLjZyZW19Li1zeVxcOjQ+KnstLXN5OjEuNnJlbX1cclxuLi1tYlxcOm01LC4tbXlcXDptNXttYXJnaW4tYm90dG9tOjIuMHJlbX0uLW10XFw6bTUsLi1teVxcOm01e21hcmdpbi10b3A6Mi4wcmVtfS4tcGJcXDptNSwuLXB5XFw6bTV7cGFkZGluZy1ib3R0b206Mi4wcmVtfS4tcHRcXDptNSwuLXB5XFw6bTV7cGFkZGluZy10b3A6Mi4wcmVtfS4tc3lcXDo1Pip7LS1zeToyLjByZW19XHJcbi4tbWJcXDptNiwuLW15XFw6bTZ7bWFyZ2luLWJvdHRvbToyLjRyZW19Li1tdFxcOm02LC4tbXlcXDptNnttYXJnaW4tdG9wOjIuNHJlbX0uLXBiXFw6bTYsLi1weVxcOm02e3BhZGRpbmctYm90dG9tOjIuNHJlbX0uLXB0XFw6bTYsLi1weVxcOm02e3BhZGRpbmctdG9wOjIuNHJlbX0uLXN5XFw6Nj4qey0tc3k6Mi40cmVtfVxyXG5cclxuQG1lZGlhIHByaW50LCAobWluLXdpZHRoOiAxMDI0cHgpIHtcclxuLi1tYlxcOmFcXD5tLC4tbXlcXDphXFw+bXttYXJnaW4tYm90dG9tOmF1dG8gIWltcG9ydGFudH0uLW10XFw6YVxcPm0sLi1teVxcOmFcXD5te21hcmdpbi10b3A6YXV0b30uLW1sXFw6YVxcPm0sLi1teFxcOmFcXD5te21hcmdpbi1sZWZ0OmF1dG99Li1tclxcOmFcXD5tLC4tbXhcXDphXFw+bXttYXJnaW4tcmlnaHQ6YXV0b31cclxuLi1tYlxcOjBcXD5tLC4tbXlcXDowXFw+bSwuLW1hXFw6MFxcPm17bWFyZ2luLWJvdHRvbTowfS4tbXRcXDowXFw+bSwuLW15XFw6MFxcPm0sLi1tYVxcOjBcXD5te21hcmdpbi10b3A6MH0uLW1sXFw6MFxcPm0sLi1teFxcOjBcXD5tLC4tbWFcXDowXFw+bXttYXJnaW4tbGVmdDowfS4tbXJcXDowXFw+bSwuLW14XFw6MFxcPm0sLi1tYVxcOjBcXD5te21hcmdpbi1yaWdodDowfS4tcGJcXDowXFw+bSwuLXB5XFw6MFxcPm0sLi1wYVxcOjBcXD5te3BhZGRpbmctYm90dG9tOjB9Li1wdFxcOjBcXD5tLC4tcHlcXDowXFw+bSwuLXBhXFw6MFxcPm17cGFkZGluZy10b3A6MH0uLXBsXFw6MFxcPm0sLi1weFxcOjBcXD5tLC4tcGFcXDowXFw+bXtwYWRkaW5nLWxlZnQ6MH0uLXByXFw6MFxcPm0sLi1weFxcOjBcXD5tLC4tcGFcXDowXFw+bXtwYWRkaW5nLXJpZ2h0OjB9XHJcbi4tbWJcXDp4XFw+bSwuLW15XFw6eFxcPm0sLi1tYVxcOnhcXD5te21hcmdpbi1ib3R0b206dmFyKC0tc3gpfS4tbXRcXDp4XFw+bSwuLW15XFw6eFxcPm0sLi1tYVxcOnhcXD5te21hcmdpbi10b3A6dmFyKC0tc3gpfS4tbWxcXDp4XFw+bSwuLW14XFw6eFxcPm0sLi1tYVxcOnhcXD5te21hcmdpbi1sZWZ0OnZhcigtLXN4KX0uLW1yXFw6eFxcPm0sLi1teFxcOnhcXD5tLC4tbWFcXDp4XFw+bXttYXJnaW4tcmlnaHQ6dmFyKC0tc3gpfS4tbWJcXDoteFxcPm0sLi1teVxcOi14XFw+bSwuLW1hXFw6LXhcXD5te21hcmdpbi1ib3R0b206IHZhcigtLW54KX0uLW10XFw6LXhcXD5tLC4tbXlcXDoteFxcPm0sLi1tYVxcOi14XFw+bXttYXJnaW4tdG9wOiB2YXIoLS1ueCl9Li1tbFxcOi14XFw+bSwuLW14XFw6LXhcXD5tLC4tbWFcXDoteFxcPm17bWFyZ2luLWxlZnQ6IHZhcigtLW54KX0uLW1yXFw6LXhcXD5tLC4tbXhcXDoteFxcPm0sLi1tYVxcOi14XFw+bXttYXJnaW4tcmlnaHQ6IHZhcigtLW54KX0uLXBiXFw6eFxcPm0sLi1weVxcOnhcXD5tLC4tcGFcXDp4XFw+bXtwYWRkaW5nLWJvdHRvbTp2YXIoLS1zeCl9Li1wdFxcOnhcXD5tLC4tcHlcXDp4XFw+bSwuLXBhXFw6eFxcPm17cGFkZGluZy10b3A6dmFyKC0tc3gpfS4tcGxcXDp4XFw+bSwuLXB4XFw6eFxcPm0sLi1wYVxcOnhcXD5te3BhZGRpbmctbGVmdDp2YXIoLS1zeCl9Li1wclxcOnhcXD5tLC4tcHhcXDp4XFw+bSwuLXBhXFw6eFxcPm17cGFkZGluZy1yaWdodDp2YXIoLS1zeCl9XHJcbi4tbWJcXDp5XFw+bSwuLW15XFw6eVxcPm0sLi1tYVxcOnlcXD5te21hcmdpbi1ib3R0b206dmFyKC0tc3kpfS4tbXRcXDp5XFw+bSwuLW15XFw6eVxcPm0sLi1tYVxcOnlcXD5te21hcmdpbi10b3A6dmFyKC0tc3kpfS4tbWxcXDp5XFw+bSwuLW14XFw6eVxcPm0sLi1tYVxcOnlcXD5te21hcmdpbi1sZWZ0OnZhcigtLXN5KX0uLW1yXFw6eVxcPm0sLi1teFxcOnlcXD5tLC4tbWFcXDp5XFw+bXttYXJnaW4tcmlnaHQ6dmFyKC0tc3kpfS4tbWJcXDoteVxcPm0sLi1teVxcOi15XFw+bSwuLW1hXFw6LXlcXD5te21hcmdpbi1ib3R0b206IHZhcigtLW55KX0uLW10XFw6LXlcXD5tLC4tbXlcXDoteVxcPm0sLi1tYVxcOi15XFw+bXttYXJnaW4tdG9wOiB2YXIoLS1ueSl9Li1tbFxcOi15XFw+bSwuLW14XFw6LXlcXD5tLC4tbWFcXDoteVxcPm17bWFyZ2luLWxlZnQ6IHZhcigtLW55KX0uLW1yXFw6LXlcXD5tLC4tbXhcXDoteVxcPm0sLi1tYVxcOi15XFw+bXttYXJnaW4tcmlnaHQ6IHZhcigtLW55KX0uLXBiXFw6eVxcPm0sLi1weVxcOnlcXD5tLC4tcGFcXDp5XFw+bXtwYWRkaW5nLWJvdHRvbTp2YXIoLS1zeSl9Li1wdFxcOnlcXD5tLC4tcHlcXDp5XFw+bSwuLXBhXFw6eVxcPm17cGFkZGluZy10b3A6dmFyKC0tc3kpfS4tcGxcXDp5XFw+bSwuLXB4XFw6eVxcPm0sLi1wYVxcOnlcXD5te3BhZGRpbmctbGVmdDp2YXIoLS1zeSl9Li1wclxcOnlcXD5tLC4tcHhcXDp5XFw+bSwuLXBhXFw6eVxcPm17cGFkZGluZy1yaWdodDp2YXIoLS1zeSl9XHJcbn1cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XHJcbi4tbWJcXDphXFw8bCwuLW15XFw6YVxcPGx7bWFyZ2luLWJvdHRvbTphdXRvICFpbXBvcnRhbnR9Li1tdFxcOmFcXDxsLC4tbXlcXDphXFw8bHttYXJnaW4tdG9wOmF1dG99Li1tbFxcOmFcXDxsLC4tbXhcXDphXFw8bHttYXJnaW4tbGVmdDphdXRvfS4tbXJcXDphXFw8bCwuLW14XFw6YVxcPGx7bWFyZ2luLXJpZ2h0OmF1dG99XHJcbi4tbWJcXDowXFw8bCwuLW15XFw6MFxcPGwsLi1tYVxcOjBcXDxse21hcmdpbi1ib3R0b206MH0uLW10XFw6MFxcPGwsLi1teVxcOjBcXDxsLC4tbWFcXDowXFw8bHttYXJnaW4tdG9wOjB9Li1tbFxcOjBcXDxsLC4tbXhcXDowXFw8bCwuLW1hXFw6MFxcPGx7bWFyZ2luLWxlZnQ6MH0uLW1yXFw6MFxcPGwsLi1teFxcOjBcXDxsLC4tbWFcXDowXFw8bHttYXJnaW4tcmlnaHQ6MH0uLXBiXFw6MFxcPGwsLi1weVxcOjBcXDxsLC4tcGFcXDowXFw8bHtwYWRkaW5nLWJvdHRvbTowfS4tcHRcXDowXFw8bCwuLXB5XFw6MFxcPGwsLi1wYVxcOjBcXDxse3BhZGRpbmctdG9wOjB9Li1wbFxcOjBcXDxsLC4tcHhcXDowXFw8bCwuLXBhXFw6MFxcPGx7cGFkZGluZy1sZWZ0OjB9Li1wclxcOjBcXDxsLC4tcHhcXDowXFw8bCwuLXBhXFw6MFxcPGx7cGFkZGluZy1yaWdodDowfVxyXG4uLW1iXFw6eFxcPGwsLi1teVxcOnhcXDxsLC4tbWFcXDp4XFw8bHttYXJnaW4tYm90dG9tOnZhcigtLXN4KX0uLW10XFw6eFxcPGwsLi1teVxcOnhcXDxsLC4tbWFcXDp4XFw8bHttYXJnaW4tdG9wOnZhcigtLXN4KX0uLW1sXFw6eFxcPGwsLi1teFxcOnhcXDxsLC4tbWFcXDp4XFw8bHttYXJnaW4tbGVmdDp2YXIoLS1zeCl9Li1tclxcOnhcXDxsLC4tbXhcXDp4XFw8bCwuLW1hXFw6eFxcPGx7bWFyZ2luLXJpZ2h0OnZhcigtLXN4KX0uLW1iXFw6LXhcXDxsLC4tbXlcXDoteFxcPGwsLi1tYVxcOi14XFw8bHttYXJnaW4tYm90dG9tOiB2YXIoLS1ueCl9Li1tdFxcOi14XFw8bCwuLW15XFw6LXhcXDxsLC4tbWFcXDoteFxcPGx7bWFyZ2luLXRvcDogdmFyKC0tbngpfS4tbWxcXDoteFxcPGwsLi1teFxcOi14XFw8bCwuLW1hXFw6LXhcXDxse21hcmdpbi1sZWZ0OiB2YXIoLS1ueCl9Li1tclxcOi14XFw8bCwuLW14XFw6LXhcXDxsLC4tbWFcXDoteFxcPGx7bWFyZ2luLXJpZ2h0OiB2YXIoLS1ueCl9Li1wYlxcOnhcXDxsLC4tcHlcXDp4XFw8bCwuLXBhXFw6eFxcPGx7cGFkZGluZy1ib3R0b206dmFyKC0tc3gpfS4tcHRcXDp4XFw8bCwuLXB5XFw6eFxcPGwsLi1wYVxcOnhcXDxse3BhZGRpbmctdG9wOnZhcigtLXN4KX0uLXBsXFw6eFxcPGwsLi1weFxcOnhcXDxsLC4tcGFcXDp4XFw8bHtwYWRkaW5nLWxlZnQ6dmFyKC0tc3gpfS4tcHJcXDp4XFw8bCwuLXB4XFw6eFxcPGwsLi1wYVxcOnhcXDxse3BhZGRpbmctcmlnaHQ6dmFyKC0tc3gpfVxyXG4uLW1iXFw6eVxcPGwsLi1teVxcOnlcXDxsLC4tbWFcXDp5XFw8bHttYXJnaW4tYm90dG9tOnZhcigtLXN5KX0uLW10XFw6eVxcPGwsLi1teVxcOnlcXDxsLC4tbWFcXDp5XFw8bHttYXJnaW4tdG9wOnZhcigtLXN5KX0uLW1sXFw6eVxcPGwsLi1teFxcOnlcXDxsLC4tbWFcXDp5XFw8bHttYXJnaW4tbGVmdDp2YXIoLS1zeSl9Li1tclxcOnlcXDxsLC4tbXhcXDp5XFw8bCwuLW1hXFw6eVxcPGx7bWFyZ2luLXJpZ2h0OnZhcigtLXN5KX0uLW1iXFw6LXlcXDxsLC4tbXlcXDoteVxcPGwsLi1tYVxcOi15XFw8bHttYXJnaW4tYm90dG9tOiB2YXIoLS1ueSl9Li1tdFxcOi15XFw8bCwuLW15XFw6LXlcXDxsLC4tbWFcXDoteVxcPGx7bWFyZ2luLXRvcDogdmFyKC0tbnkpfS4tbWxcXDoteVxcPGwsLi1teFxcOi15XFw8bCwuLW1hXFw6LXlcXDxse21hcmdpbi1sZWZ0OiB2YXIoLS1ueSl9Li1tclxcOi15XFw8bCwuLW14XFw6LXlcXDxsLC4tbWFcXDoteVxcPGx7bWFyZ2luLXJpZ2h0OiB2YXIoLS1ueSl9Li1wYlxcOnlcXDxsLC4tcHlcXDp5XFw8bCwuLXBhXFw6eVxcPGx7cGFkZGluZy1ib3R0b206dmFyKC0tc3kpfS4tcHRcXDp5XFw8bCwuLXB5XFw6eVxcPGwsLi1wYVxcOnlcXDxse3BhZGRpbmctdG9wOnZhcigtLXN5KX0uLXBsXFw6eVxcPGwsLi1weFxcOnlcXDxsLC4tcGFcXDp5XFw8bHtwYWRkaW5nLWxlZnQ6dmFyKC0tc3kpfS4tcHJcXDp5XFw8bCwuLXB4XFw6eVxcPGwsLi1wYVxcOnlcXDxse3BhZGRpbmctcmlnaHQ6dmFyKC0tc3kpfVxyXG59XHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcxOXB4KSB7XHJcbi4tbWJcXDphXFw8bSwuLW15XFw6YVxcPG17bWFyZ2luLWJvdHRvbTphdXRvICFpbXBvcnRhbnR9Li1tdFxcOmFcXDxtLC4tbXlcXDphXFw8bXttYXJnaW4tdG9wOmF1dG99Li1tbFxcOmFcXDxtLC4tbXhcXDphXFw8bXttYXJnaW4tbGVmdDphdXRvfS4tbXJcXDphXFw8bSwuLW14XFw6YVxcPG17bWFyZ2luLXJpZ2h0OmF1dG99XHJcbi4tbWJcXDowXFw8bSwuLW15XFw6MFxcPG0sLi1tYVxcOjBcXDxte21hcmdpbi1ib3R0b206MH0uLW10XFw6MFxcPG0sLi1teVxcOjBcXDxtLC4tbWFcXDowXFw8bXttYXJnaW4tdG9wOjB9Li1tbFxcOjBcXDxtLC4tbXhcXDowXFw8bSwuLW1hXFw6MFxcPG17bWFyZ2luLWxlZnQ6MH0uLW1yXFw6MFxcPG0sLi1teFxcOjBcXDxtLC4tbWFcXDowXFw8bXttYXJnaW4tcmlnaHQ6MH0uLXBiXFw6MFxcPG0sLi1weVxcOjBcXDxtLC4tcGFcXDowXFw8bXtwYWRkaW5nLWJvdHRvbTowfS4tcHRcXDowXFw8bSwuLXB5XFw6MFxcPG0sLi1wYVxcOjBcXDxte3BhZGRpbmctdG9wOjB9Li1wbFxcOjBcXDxtLC4tcHhcXDowXFw8bSwuLXBhXFw6MFxcPG17cGFkZGluZy1sZWZ0OjB9Li1wclxcOjBcXDxtLC4tcHhcXDowXFw8bSwuLXBhXFw6MFxcPG17cGFkZGluZy1yaWdodDowfVxyXG4uLW1iXFw6eFxcPG0sLi1teVxcOnhcXDxtLC4tbWFcXDp4XFw8bXttYXJnaW4tYm90dG9tOnZhcigtLXN4KX0uLW10XFw6eFxcPG0sLi1teVxcOnhcXDxtLC4tbWFcXDp4XFw8bXttYXJnaW4tdG9wOnZhcigtLXN4KX0uLW1sXFw6eFxcPG0sLi1teFxcOnhcXDxtLC4tbWFcXDp4XFw8bXttYXJnaW4tbGVmdDp2YXIoLS1zeCl9Li1tclxcOnhcXDxtLC4tbXhcXDp4XFw8bSwuLW1hXFw6eFxcPG17bWFyZ2luLXJpZ2h0OnZhcigtLXN4KX0uLW1iXFw6LXhcXDxtLC4tbXlcXDoteFxcPG0sLi1tYVxcOi14XFw8bXttYXJnaW4tYm90dG9tOiB2YXIoLS1ueCl9Li1tdFxcOi14XFw8bSwuLW15XFw6LXhcXDxtLC4tbWFcXDoteFxcPG17bWFyZ2luLXRvcDogdmFyKC0tbngpfS4tbWxcXDoteFxcPG0sLi1teFxcOi14XFw8bSwuLW1hXFw6LXhcXDxte21hcmdpbi1sZWZ0OiB2YXIoLS1ueCl9Li1tclxcOi14XFw8bSwuLW14XFw6LXhcXDxtLC4tbWFcXDoteFxcPG17bWFyZ2luLXJpZ2h0OiB2YXIoLS1ueCl9Li1wYlxcOnhcXDxtLC4tcHlcXDp4XFw8bSwuLXBhXFw6eFxcPG17cGFkZGluZy1ib3R0b206dmFyKC0tc3gpfS4tcHRcXDp4XFw8bSwuLXB5XFw6eFxcPG0sLi1wYVxcOnhcXDxte3BhZGRpbmctdG9wOnZhcigtLXN4KX0uLXBsXFw6eFxcPG0sLi1weFxcOnhcXDxtLC4tcGFcXDp4XFw8bXtwYWRkaW5nLWxlZnQ6dmFyKC0tc3gpfS4tcHJcXDp4XFw8bSwuLXB4XFw6eFxcPG0sLi1wYVxcOnhcXDxte3BhZGRpbmctcmlnaHQ6dmFyKC0tc3gpfVxyXG4uLW1iXFw6eVxcPG0sLi1teVxcOnlcXDxtLC4tbWFcXDp5XFw8bXttYXJnaW4tYm90dG9tOnZhcigtLXN5KX0uLW10XFw6eVxcPG0sLi1teVxcOnlcXDxtLC4tbWFcXDp5XFw8bXttYXJnaW4tdG9wOnZhcigtLXN5KX0uLW1sXFw6eVxcPG0sLi1teFxcOnlcXDxtLC4tbWFcXDp5XFw8bXttYXJnaW4tbGVmdDp2YXIoLS1zeSl9Li1tclxcOnlcXDxtLC4tbXhcXDp5XFw8bSwuLW1hXFw6eVxcPG17bWFyZ2luLXJpZ2h0OnZhcigtLXN5KX0uLW1iXFw6LXlcXDxtLC4tbXlcXDoteVxcPG0sLi1tYVxcOi15XFw8bXttYXJnaW4tYm90dG9tOiB2YXIoLS1ueSl9Li1tdFxcOi15XFw8bSwuLW15XFw6LXlcXDxtLC4tbWFcXDoteVxcPG17bWFyZ2luLXRvcDogdmFyKC0tbnkpfS4tbWxcXDoteVxcPG0sLi1teFxcOi15XFw8bSwuLW1hXFw6LXlcXDxte21hcmdpbi1sZWZ0OiB2YXIoLS1ueSl9Li1tclxcOi15XFw8bSwuLW14XFw6LXlcXDxtLC4tbWFcXDoteVxcPG17bWFyZ2luLXJpZ2h0OiB2YXIoLS1ueSl9Li1wYlxcOnlcXDxtLC4tcHlcXDp5XFw8bSwuLXBhXFw6eVxcPG17cGFkZGluZy1ib3R0b206dmFyKC0tc3kpfS4tcHRcXDp5XFw8bSwuLXB5XFw6eVxcPG0sLi1wYVxcOnlcXDxte3BhZGRpbmctdG9wOnZhcigtLXN5KX0uLXBsXFw6eVxcPG0sLi1weFxcOnlcXDxtLC4tcGFcXDp5XFw8bXtwYWRkaW5nLWxlZnQ6dmFyKC0tc3kpfS4tcHJcXDp5XFw8bSwuLXB4XFw6eVxcPG0sLi1wYVxcOnlcXDxte3BhZGRpbmctcmlnaHQ6dmFyKC0tc3kpfVxyXG59XHJcbkBtZWRpYSBwcmludCwgKG1pbi13aWR0aDogNzIwcHgpIHtcclxuLi1tYlxcOmFcXD5zLC4tbXlcXDphXFw+c3ttYXJnaW4tYm90dG9tOmF1dG8gIWltcG9ydGFudH0uLW10XFw6YVxcPnMsLi1teVxcOmFcXD5ze21hcmdpbi10b3A6YXV0b30uLW1sXFw6YVxcPnMsLi1teFxcOmFcXD5ze21hcmdpbi1sZWZ0OmF1dG99Li1tclxcOmFcXD5zLC4tbXhcXDphXFw+c3ttYXJnaW4tcmlnaHQ6YXV0b31cclxuLi1tYlxcOjBcXD5zLC4tbXlcXDowXFw+cywuLW1hXFw6MFxcPnN7bWFyZ2luLWJvdHRvbTowfS4tbXRcXDowXFw+cywuLW15XFw6MFxcPnMsLi1tYVxcOjBcXD5ze21hcmdpbi10b3A6MH0uLW1sXFw6MFxcPnMsLi1teFxcOjBcXD5zLC4tbWFcXDowXFw+c3ttYXJnaW4tbGVmdDowfS4tbXJcXDowXFw+cywuLW14XFw6MFxcPnMsLi1tYVxcOjBcXD5ze21hcmdpbi1yaWdodDowfS4tcGJcXDowXFw+cywuLXB5XFw6MFxcPnMsLi1wYVxcOjBcXD5ze3BhZGRpbmctYm90dG9tOjB9Li1wdFxcOjBcXD5zLC4tcHlcXDowXFw+cywuLXBhXFw6MFxcPnN7cGFkZGluZy10b3A6MH0uLXBsXFw6MFxcPnMsLi1weFxcOjBcXD5zLC4tcGFcXDowXFw+c3twYWRkaW5nLWxlZnQ6MH0uLXByXFw6MFxcPnMsLi1weFxcOjBcXD5zLC4tcGFcXDowXFw+c3twYWRkaW5nLXJpZ2h0OjB9XHJcbi4tbWJcXDp4XFw+cywuLW15XFw6eFxcPnMsLi1tYVxcOnhcXD5ze21hcmdpbi1ib3R0b206dmFyKC0tc3gpfS4tbXRcXDp4XFw+cywuLW15XFw6eFxcPnMsLi1tYVxcOnhcXD5ze21hcmdpbi10b3A6dmFyKC0tc3gpfS4tbWxcXDp4XFw+cywuLW14XFw6eFxcPnMsLi1tYVxcOnhcXD5ze21hcmdpbi1sZWZ0OnZhcigtLXN4KX0uLW1yXFw6eFxcPnMsLi1teFxcOnhcXD5zLC4tbWFcXDp4XFw+c3ttYXJnaW4tcmlnaHQ6dmFyKC0tc3gpfS4tbWJcXDoteFxcPnMsLi1teVxcOi14XFw+cywuLW1hXFw6LXhcXD5ze21hcmdpbi1ib3R0b206IHZhcigtLW54KX0uLW10XFw6LXhcXD5zLC4tbXlcXDoteFxcPnMsLi1tYVxcOi14XFw+c3ttYXJnaW4tdG9wOiB2YXIoLS1ueCl9Li1tbFxcOi14XFw+cywuLW14XFw6LXhcXD5zLC4tbWFcXDoteFxcPnN7bWFyZ2luLWxlZnQ6IHZhcigtLW54KX0uLW1yXFw6LXhcXD5zLC4tbXhcXDoteFxcPnMsLi1tYVxcOi14XFw+c3ttYXJnaW4tcmlnaHQ6IHZhcigtLW54KX0uLXBiXFw6eFxcPnMsLi1weVxcOnhcXD5zLC4tcGFcXDp4XFw+c3twYWRkaW5nLWJvdHRvbTp2YXIoLS1zeCl9Li1wdFxcOnhcXD5zLC4tcHlcXDp4XFw+cywuLXBhXFw6eFxcPnN7cGFkZGluZy10b3A6dmFyKC0tc3gpfS4tcGxcXDp4XFw+cywuLXB4XFw6eFxcPnMsLi1wYVxcOnhcXD5ze3BhZGRpbmctbGVmdDp2YXIoLS1zeCl9Li1wclxcOnhcXD5zLC4tcHhcXDp4XFw+cywuLXBhXFw6eFxcPnN7cGFkZGluZy1yaWdodDp2YXIoLS1zeCl9XHJcbi4tbWJcXDp5XFw+cywuLW15XFw6eVxcPnMsLi1tYVxcOnlcXD5ze21hcmdpbi1ib3R0b206dmFyKC0tc3kpfS4tbXRcXDp5XFw+cywuLW15XFw6eVxcPnMsLi1tYVxcOnlcXD5ze21hcmdpbi10b3A6dmFyKC0tc3kpfS4tbWxcXDp5XFw+cywuLW14XFw6eVxcPnMsLi1tYVxcOnlcXD5ze21hcmdpbi1sZWZ0OnZhcigtLXN5KX0uLW1yXFw6eVxcPnMsLi1teFxcOnlcXD5zLC4tbWFcXDp5XFw+c3ttYXJnaW4tcmlnaHQ6dmFyKC0tc3kpfS4tbWJcXDoteVxcPnMsLi1teVxcOi15XFw+cywuLW1hXFw6LXlcXD5ze21hcmdpbi1ib3R0b206IHZhcigtLW55KX0uLW10XFw6LXlcXD5zLC4tbXlcXDoteVxcPnMsLi1tYVxcOi15XFw+c3ttYXJnaW4tdG9wOiB2YXIoLS1ueSl9Li1tbFxcOi15XFw+cywuLW14XFw6LXlcXD5zLC4tbWFcXDoteVxcPnN7bWFyZ2luLWxlZnQ6IHZhcigtLW55KX0uLW1yXFw6LXlcXD5zLC4tbXhcXDoteVxcPnMsLi1tYVxcOi15XFw+c3ttYXJnaW4tcmlnaHQ6IHZhcigtLW55KX0uLXBiXFw6eVxcPnMsLi1weVxcOnlcXD5zLC4tcGFcXDp5XFw+c3twYWRkaW5nLWJvdHRvbTp2YXIoLS1zeSl9Li1wdFxcOnlcXD5zLC4tcHlcXDp5XFw+cywuLXBhXFw6eVxcPnN7cGFkZGluZy10b3A6dmFyKC0tc3kpfS4tcGxcXDp5XFw+cywuLXB4XFw6eVxcPnMsLi1wYVxcOnlcXD5ze3BhZGRpbmctbGVmdDp2YXIoLS1zeSl9Li1wclxcOnlcXD5zLC4tcHhcXDp5XFw+cywuLXBhXFw6eVxcPnN7cGFkZGluZy1yaWdodDp2YXIoLS1zeSl9XHJcbn1cclxuXHJcbi4tZ2dcXDoxIHsgLS1neDogdmFyKC0tczMpOyB9IC8qIGltcGFjdCBzdGF0cyAqL1xyXG4uLWdnXFw6MiB7IC0tZ3g6IHZhcigtLXMxKTsgfSAvKiBmZWF0dXJlZCBmdW5kcmFpc2VycyAqL1xyXG4uLWdnXFw6MyB7IC0tZ3g6IDJyZW07IH0gLyogbW9zdCByZWFkICovXHJcbi4tZ2dcXDo0IHsgLS1neDogMi40cmVtOyAtLXN5OiB2YXIoLS1zMSkgfSAvKiBldmVudHMgYXJjaGl2ZXMgKi9cclxuXHJcbi8qIGdyaWQgc2VwYXJhdG9ycyAqL1xyXG5cclxuLi1nc1xcOjEgeyAgfVxyXG4gLi1nc1xcOjEgPiAqIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XHJcbiAgLi1nc1xcOjEgPiA6YWZ0ZXIgeyBkaXNwbGF5OiBibG9jazsgcG9zaXRpb246IGFic29sdXRlOyByaWdodDogY2FsYyh2YXIoLS1neCkgKiAwKTsgdG9wOiAwOyBib3R0b206IDA7IGNvbnRlbnQ6ICcnOyB3aWR0aDogMXB4OyBtYXJnaW46IDA7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEodmFyKC0tY19keHQpLDAuMTUpOyBib3JkZXItd2lkdGg6IDAgMCAwIDFweDsgfVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzE5cHgpIHtcclxuLi1nc1xcOjEgeyAtLWd5OiB2YXIoLS1zMyk7IGNsaXAtcGF0aDogaW5zZXQodmFyKC0tZ3kpIDAgMCk7IH1cclxuIC4tZ3NcXDoxID4gOmFmdGVyIHsgcmlnaHQ6IDA7IHRvcDogY2FsYyh2YXIoLS1neSkgKiAtMC41KTsgYm90dG9tOiBhdXRvOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxcHg7IGJvcmRlci13aWR0aDogMXB4IDAgMDsgfVxyXG59XHJcblxyXG4vKiBncmlkIGNvbHVtbnMgKi9cclxuXHJcbkBtZWRpYSBwcmludCwgKG1pbi13aWR0aDogMTAyNHB4KSB7XHJcbi4tZ2NcXDozMFxcPm0geyAtLWdjOiAzMDsgfVxyXG59XHJcblxyXG4vKiB2aXNpYmlsaXR5ICovXHJcblxyXG4uLWRcXDpiIHsgZGlzcGxheTogYmxvY2s7IH1cclxuLi1kXFw6biB7IGRpc3BsYXk6IG5vbmU7IH1cclxuQG1lZGlhIHByaW50IHsgLi1kXFw6blxcQHAgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxyXG5cclxuLyogcG9zaXRpb24gKi9cclxuXHJcbi4tcFxcOnIgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cclxuXHJcbi8qIHotaW5kZXhpbmcgKi9cclxuXHJcbi4temlcXDoxIHsgei1pbmRleDogMTsgfVxyXG4uLXppXFw6MiB7IHotaW5kZXg6IDI7IH1cclxuLi16aVxcOjMgeyB6LWluZGV4OiAzOyB9XHJcblxyXG4vKiBvdmVyZmxvdyAqL1xyXG5cclxuLi1vXFw6aCB7IG92ZXJmbG93OiBoaWRkZW47IH1cclxuLi1vXFw6diB7IG92ZXJmbG93OiB2aXNpYmxlOyB9XHJcblxyXG4vKiBtYXggd2lkdGhzICovXHJcblxyXG4uLXh3XFw6biB7IC0teHc6IG5vbmU7IG1heC13aWR0aDogdmFyKC0teHcpOyB9XHJcbi4teHdcXDoxIHsgLS14dzogdmFyKC0teHdfMSk7IG1heC13aWR0aDogdmFyKC0teHcpOyB9XHJcbi4teHdcXDoyIHsgLS14dzogdmFyKC0teHdfMik7IG1heC13aWR0aDogdmFyKC0teHcpOyB9XHJcbi4teHdcXDozIHsgLS14dzogdmFyKC0teHdfMyk7IG1heC13aWR0aDogdmFyKC0teHcpOyB9XHJcbi4teHdcXDo0IHsgLS14dzogdmFyKC0teHdfNCk7IG1heC13aWR0aDogdmFyKC0teHcpOyB9XHJcbi4teHdcXDo1IHsgLS14dzogdmFyKC0teHdfNSk7IG1heC13aWR0aDogdmFyKC0teHcpOyB9XHJcbi4teHdcXDo2IHsgLS14dzogdmFyKC0teHdfNik7IG1heC13aWR0aDogdmFyKC0teHcpOyB9XHJcbi4tY29udGFpbiwgLi1kZWNvbnRhaW4sIC4tcmVjb250YWluIHsgbWF4LXdpZHRoOiBub25lOyB9XHJcblxyXG4uLXdcXDphIHsgd2lkdGg6IGF1dG87IH1cclxuLi13XFw6eCB7IHdpZHRoOiBjYWxjKDEwMHZ3IC0gdmFyKC0tc3gpICogMik7IH1cclxuLi13XFw6MSB7IHdpZHRoOiAxMDAlOyB9XHJcblxyXG4uLWhcXDoxIHsgaGVpZ2h0OiAxMDAlOyB9XHJcblxyXG4vKiBjb2xvcnMgKi9cclxuXHJcbi4tY1xcOmQxLCBhLi1jXFw6ZDFoOmhvdmVyLCBhOmhvdmVyIC4tY1xcOmQxaCB7IGNvbG9yOiB2YXIoLS1jX2QxKTsgfSAuLWNcXDpkMXQsIGEuLWNcXDpkMXRoOmhvdmVyLCBhOmhvdmVyIC4tY1xcOmQxdGgsIGh0bWwgeyBjb2xvcjogdmFyKC0tY19kMXQpOyB9XHJcbi4tY1xcOmQyLCBhLi1jXFw6ZDJoOmhvdmVyLCBhOmhvdmVyIC4tY1xcOmQyaCB7IGNvbG9yOiB2YXIoLS1jX2QyKTsgfSAuLWNcXDpkMnQsIGEuLWNcXDpkMnRoOmhvdmVyLCBhOmhvdmVyIC4tY1xcOmQydGgsIGZpZ2NhcHRpb24geyBjb2xvcjogdmFyKC0tY19kMnQpOyB9XHJcbi4tY1xcOmExLCBhLi1jXFw6YTFoOmhvdmVyLCBhOmhvdmVyIC4tY1xcOmExaCB7IGNvbG9yOiB2YXIoLS1jX2ExKTsgfSAuLWNcXDphMXQsIGEuLWNcXDphMXRoOmhvdmVyLCBhOmhvdmVyIC4tY1xcOmExdGggeyBjb2xvcjogdmFyKC0tY19hMXQpOyB9XHJcbi4tY1xcOmEyLCBhLi1jXFw6YTJoOmhvdmVyLCBhOmhvdmVyIC4tY1xcOmEyaCB7IGNvbG9yOiB2YXIoLS1jX2EyKTsgfSAuLWNcXDphMnQsIGEuLWNcXDphMnRoOmhvdmVyLCBhOmhvdmVyIC4tY1xcOmEydGggeyBjb2xvcjogdmFyKC0tY19hMnQpOyB9XHJcbi4tY1xcOmkxLCBhLi1jXFw6aTFoOmhvdmVyLCBhOmhvdmVyIC4tY1xcOmkxaCB7IGNvbG9yOiB2YXIoLS1jX2kxKTsgfSAuLWNcXDppMXQsIGEuLWNcXDppMXRoOmhvdmVyLCBhOmhvdmVyIC4tY1xcOmkxdGggeyBjb2xvcjogdmFyKC0tY19pMXQpOyB9XHJcbi4tY1xcOmkyLCBhLi1jXFw6aTJoOmhvdmVyLCBhOmhvdmVyIC4tY1xcOmkyaCB7IGNvbG9yOiB2YXIoLS1jX2kyKTsgfSAuLWNcXDppMnQsIGEuLWNcXDppMnRoOmhvdmVyLCBhOmhvdmVyIC4tY1xcOmkydGggeyBjb2xvcjogdmFyKC0tY19pMnQpOyB9XHJcbi4tY1xcOmIxLCBhLi1jXFw6YjFoOmhvdmVyLCBhOmhvdmVyIC4tY1xcOmIxaCB7IGNvbG9yOiB2YXIoLS1jX2IxKTsgfSAuLWNcXDpiMXQsIGEuLWNcXDpiMXRoOmhvdmVyLCBhOmhvdmVyIC4tY1xcOmIxdGggeyBjb2xvcjogdmFyKC0tY19iMXQpOyB9XHJcbi4tY1xcOmIyLCBhLi1jXFw6YjJoOmhvdmVyLCBhOmhvdmVyIC4tY1xcOmIyaCB7IGNvbG9yOiB2YXIoLS1jX2IyKTsgfSAuLWNcXDpiMnQsIGEuLWNcXDpiMnRoOmhvdmVyLCBhOmhvdmVyIC4tY1xcOmIydGggeyBjb2xvcjogdmFyKC0tY19iMnQpOyB9XHJcbi4tY1xcOmIzLCBhLi1jXFw6YjNoOmhvdmVyLCBhOmhvdmVyIC4tY1xcOmIzaCB7IGNvbG9yOiB2YXIoLS1jX2IzKTsgfSAuLWNcXDpiM3QsIGEuLWNcXDpiM3RoOmhvdmVyLCBhOmhvdmVyIC4tY1xcOmIzdGggeyBjb2xvcjogdmFyKC0tY19iM3QpOyB9XHJcbi4tY1xcOmI0LCBhLi1jXFw6YjRoOmhvdmVyLCBhOmhvdmVyIC4tY1xcOmI0aCB7IGNvbG9yOiB2YXIoLS1jX2I0KTsgfSAuLWNcXDpiNHQsIGEuLWNcXDpiNHRoOmhvdmVyLCBhOmhvdmVyIC4tY1xcOmI0dGggeyBjb2xvcjogdmFyKC0tY19iNHQpOyB9XHJcbi4tY1xcOmI1LCBhLi1jXFw6YjVoOmhvdmVyLCBhOmhvdmVyIC4tY1xcOmI1aCB7IGNvbG9yOiB2YXIoLS1jX2I1KTsgfSAuLWNcXDpiNXQsIGEuLWNcXDpiNXRoOmhvdmVyLCBhOmhvdmVyIC4tY1xcOmI1dGggeyBjb2xvcjogdmFyKC0tY19iNXQpOyB9XHJcbi4tY1xcOmI2LCBhLi1jXFw6YjZoOmhvdmVyLCBhOmhvdmVyIC4tY1xcOmI2aCB7IGNvbG9yOiB2YXIoLS1jX2I2KTsgfSAuLWNcXDpiNnQsIGEuLWNcXDpiNnRoOmhvdmVyLCBhOmhvdmVyIC4tY1xcOmI2dGggeyBjb2xvcjogdmFyKC0tY19iNnQpOyB9XHJcbi4tY1xcOm8xLCBhLi1jXFw6bzFoOmhvdmVyLCBhOmhvdmVyIC4tY1xcOm8xaCB7IGNvbG9yOiB2YXIoLS1jX28xKTsgfSAuLWNcXDpvMXQsIGEuLWNcXDpvMXRoOmhvdmVyLCBhOmhvdmVyIC4tY1xcOm8xdGggeyBjb2xvcjogdmFyKC0tY19vMXQpOyB9XHJcbi4tY1xcOm8yLCBhLi1jXFw6bzJoOmhvdmVyLCBhOmhvdmVyIC4tY1xcOm8yaCB7IGNvbG9yOiB2YXIoLS1jX28yKTsgfSAuLWNcXDpvMnQsIGEuLWNcXDpvMnRoOmhvdmVyLCBhOmhvdmVyIC4tY1xcOm8ydGggeyBjb2xvcjogdmFyKC0tY19vMnQpOyB9XHJcbi4tY1xcOm8zLCBhLi1jXFw6bzNoOmhvdmVyLCBhOmhvdmVyIC4tY1xcOm8zaCB7IGNvbG9yOiB2YXIoLS1jX28zKTsgfSAuLWNcXDpvM3QsIGEuLWNcXDpvM3RoOmhvdmVyLCBhOmhvdmVyIC4tY1xcOm8zdGggeyBjb2xvcjogdmFyKC0tY19vM3QpOyB9XHJcbi4tY1xcOmUxLCBhLi1jXFw6ZTFoOmhvdmVyLCBhOmhvdmVyIC4tY1xcOmUxaCB7IGNvbG9yOiB2YXIoLS1jX2UxKTsgfSAuLWNcXDplMXQsIGEuLWNcXDplMXRoOmhvdmVyLCBhOmhvdmVyIC4tY1xcOmUxdGggeyBjb2xvcjogdmFyKC0tY19lMXQpOyB9XHJcbi4tY1xcOmkgeyBjb2xvcjogaW5oZXJpdDsgfVxyXG4uLWNcXDp1IHsgY29sb3I6IHVuc2V0OyB9XHJcbi4tY1xcOnQgeyBjb2xvcjogdHJhbnNwYXJlbnQ7IH1cclxuXHJcbi8qIHNwZWNpYWwgYmFja2dyb3VuZHMgKi9cclxuXHJcbkBtZWRpYSBzY3JlZW4ge1xyXG4uLWJnXFw6MWIgeyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQsIHZhcigtLWJnYywgI0Q1RUJGNCkpOyB9XHJcbi4tYmdcXDoxdCB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1iZ2MsICNENUVCRjQpLCB0cmFuc3BhcmVudCAzMHJlbSk7IH1cclxuLi1iZ1xcOjFjIHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50LCB2YXIoLS1iZ2MsICNENUVCRjQpLCB0cmFuc3BhcmVudCk7IH1cclxufVxyXG5cclxuLyogYm9yZGVyLXJhZGl1cyAqL1xyXG5cclxuLi1iclxcOjEgeyBib3JkZXItcmFkaXVzOiB2YXIoLS1icl8xKTsgfVxyXG4uLWJyXFw6MiB7IGJvcmRlci1yYWRpdXM6IHZhcigtLWJyXzIpOyB9XHJcblxyXG4vKiBjb2xvciBzY2hlbWVzICovXHJcblxyXG5AbWVkaWEgc2NyZWVuIHtcclxuLi1jc1xcOmksIGEuLWNzXFw6aWg6aG92ZXIsIGE6aG92ZXIgLi1jc1xcOmloLCBbaG92ZXJdIC4tY3NcXDppaCB7IC0tY19keHQ6IHZhcigtLWNfaXgpOyAtLWNfZDF0OiB2YXIoLS1jX2kxKTsgLS1jX2QydDogdmFyKC0tY19pMik7IC0tY19peHQ6IHZhcigtLWNfZHgpOyAtLWNfaTF0OiB2YXIoLS1jX2QxKTsgLS1jX2kydDogdmFyKC0tY19kMik7IC0tY19iMXQ6IHZhcigtLWNfZDEpOyAtLWNfYjJ0OiB2YXIoLS1jX2QyKTsgLS1jX28xdDogcmdiYSh2YXIoLS1jX2R4dCksMC4yKTsgLS1jX28ydDogcmdiYSh2YXIoLS1jX2R4dCksMC40KTsgLS1jX2UxdDogI0ZGMzkzOTsgLS1jX2UydDogdmFyKC0tY19lMXQpOyB9XHJcbi4tY3NcXDphMSwgYS4tY3NcXDphMWg6aG92ZXIsIGE6aG92ZXIgLi1jc1xcOmExaCwgW2hvdmVyXSAuLWNzXFw6YTFoIHsgLS1jX2IxdDogdmFyKC0tY19hMSk7IC0tY19hMXQ6IHZhcigtLWNfaTEpOyB9XHJcbi4tY3NcXDpiNCwgYS4tY3NcXDpiNGg6aG92ZXIsIGE6aG92ZXIgLi1jc1xcOmI0aCB7IC0tY19iMXQ6IHZhcigtLWNfYjQpOyB9XHJcbi4tY3NcXDpiNSwgYS4tY3NcXDpiNWg6aG92ZXIsIGE6aG92ZXIgLi1jc1xcOmI1aCB7IC0tY19iMXQ6IHZhcigtLWNfYjUpOyB9XHJcbi4tY3NcXDpuLCBhLi1jc1xcOm5oOmhvdmVyLCBhOmhvdmVyIC4tY3NcXDpuaCB7IC0tY19keHQ6IHZhcigtLWNfZHgpOyAtLWNfZDF0OiB2YXIoLS1jX2QxKTsgLS1jX2QydDogdmFyKC0tY19kMik7IC0tY19peHQ6IHZhcigtLWNfaXgpOyAtLWNfaTF0OiB2YXIoLS1jX2kxKTsgLS1jX2kydDogdmFyKC0tY19pMik7IC0tY19iMXQ6IHZhcigtLWNfYjEpOyAtLWNfYjJ0OiB2YXIoLS1jX2IyKTsgLS1jX28xdDogdmFyKC0tY19vMSk7IC0tY19vMnQ6IHZhcigtLWNfbzIpOyAtLWNfZTF0OiB2YXIoLS1jX2UxKTsgLS1jX2UydDogdmFyKC0tY19lMik7IH1cclxufVxyXG5cclxuLyogb3BhY2l0eSAqL1xyXG5cclxuLi1vcFxcOjAgeyBvcGFjaXR5OiAwLjA7IH1cclxuLi1vcFxcOjEgeyBvcGFjaXR5OiAwLjE7IH1cclxuLi1vcFxcOjIgeyBvcGFjaXR5OiAwLjI7IH1cclxuLi1vcFxcOjMgeyBvcGFjaXR5OiAwLjM7IH1cclxuLi1vcFxcOjQgeyBvcGFjaXR5OiAwLjQ7IH1cclxuLi1vcFxcOjUgeyBvcGFjaXR5OiAwLjU7IH1cclxuLi1vcFxcOjYgeyBvcGFjaXR5OiAwLjY7IH1cclxuLi1vcFxcOjcgeyBvcGFjaXR5OiAwLjc7IH1cclxuLi1vcFxcOjggeyBvcGFjaXR5OiAwLjg7IH1cclxuLi1vcFxcOjkgeyBvcGFjaXR5OiAwLjk7IH1cclxuLi1vcFxcOm4geyBvcGFjaXR5OiAxLjA7IH1cclxuXHJcbi8qIGZhbWlsaWVzICovXHJcblxyXG4uLWZmXFw6MSB7IGZvbnQtZmFtaWx5OiB2YXIoLS1mZl8xKTsgfVxyXG4uLWZmXFw6MiB7IGZvbnQtZmFtaWx5OiB2YXIoLS1mZl8yKTsgfVxyXG5cclxuLyogd2VpZ2h0cyAqL1xyXG5cclxuLi1md1xcOjQsIC4tZndcXDpuIHsgZm9udC13ZWlnaHQ6IDQwMDsgfVxyXG4uLWZ3XFw6NSwgLi1md1xcOm0geyBmb250LXdlaWdodDogNTAwOyB9XHJcbi4tZndcXDo2LCAuLWZ3XFw6cyB7IGZvbnQtd2VpZ2h0OiA2MDA7IH1cclxuLi1md1xcOjcsIC4tZndcXDpiIHsgZm9udC13ZWlnaHQ6IDcwMDsgfVxyXG4uLWZ3XFw6OCwgLi1md1xcOnggeyBmb250LXdlaWdodDogODAwOyB9XHJcbi4tZndcXDppeCwgLi1md1xcOmkgeyBmb250LXdlaWdodDogaW5oZXJpdDsgfVxyXG5cclxuLyogbGluZS1oZWlnaHRzICovXHJcblxyXG4uLWxoXFw6MCB7IC0tbGg6IDEuMDsgfVxyXG4uLWxoXFw6MSB7IC0tbGg6IDEuMTsgfVxyXG4uLWxoXFw6MiB7IC0tbGg6IDEuMjsgfVxyXG4uLWxoXFw6MyB7IC0tbGg6IDEuMzsgfVxyXG4uLWxoXFw6NCB7IC0tbGg6IDEuNDsgfVxyXG4uLWxoXFw6NSB7IC0tbGg6IDEuNTsgfVxyXG5cclxuLyogZm9udC1zaXplICovXHJcblxyXG4uLWZzXFw6MTEgeyBmb250LXNpemU6IDEuMWVtOyB9XHJcbi4tZnNcXDoxMiB7IGZvbnQtc2l6ZTogMS4yZW07IH1cclxuLi1mc1xcOjEzIHsgZm9udC1zaXplOiAxLjNlbTsgfVxyXG4uLWZzXFw6MTQgeyBmb250LXNpemU6IDEuNGVtOyB9XHJcbi4tZnNcXDoxNSB7IGZvbnQtc2l6ZTogMS41ZW07IH1cclxuXHJcbi8qIGJhc2ljIGNzcyAqL1xyXG5cclxuLi10YVxcOmwgeyB0ZXh0LWFsaWduOiBsZWZ0OyB9Li10YVxcOmMgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH0uLXRhXFw6ciB7IHRleHQtYWxpZ246IHJpZ2h0OyB9XHJcbi4tdHRcXDpuIHsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH0uLXR0XFw6bCB7IHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7IH0uLXR0XFw6dSB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cclxuLi11c1xcOm4sIFt0b2dnbGVdLCBbY2xpY2thYmxlXSB7IC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTsgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgLW1vei11c2VyLXNlbGVjdDogbm9uZTsgLW1zLXVzZXItc2VsZWN0OiBub25lOyB1c2VyLXNlbGVjdDogbm9uZTsgfVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XHJcbi4tdGFcXDpsXFw8bCB7IHRleHQtYWxpZ246IGxlZnQ7IH0uLXRhXFw6Y1xcPGwgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH0uLXRhXFw6clxcPGwgeyB0ZXh0LWFsaWduOiByaWdodDsgfVxyXG59XHJcblxyXG5cclxuLyogICAgX19fX18gIF8gICAgXyBfX19fX19fICBfX19fX18gIF9fX19fXyBfX19fXyBfX19fX18gIF9fX19fX18gX19fX19fX1xyXG4gKiAgIHwgICAgIHwgIFxcICAvICB8X19fX19fIHxfX19fXy8gfF9fX19fLyAgIHwgICB8ICAgICBcXCB8X19fX19fIHxfX19fX19cclxuICogICB8X19fX198ICAgXFwvICAgfF9fX19fXyB8ICAgIFxcXyB8ICAgIFxcXyBfX3xfXyB8X19fX18vIHxfX19fX18gX19fX19ffFxyXG4qL1xyXG5cclxuW3N0eWxlKj1cIi0tb2ZzOlwiXSB7IGZvbnQtc2l6ZTogdmFyKC0tb2ZzKTsgfSBbc3R5bGUqPVwiLS1vbGg6XCJdIHsgbGluZS1oZWlnaHQ6IHZhcigtLW9saCk7IH1cclxuW3N0eWxlKj1cIi0tb210OlwiXSxbc3R5bGUqPVwiLS1vbXk6XCJdLFtzdHlsZSo9XCItLW9tYTpcIl0geyBtYXJnaW4tdG9wOiB2YXIoLS1vbXQsIHZhcigtLW9teSwgdmFyKC0tb21hKSkpOyB9IFtzdHlsZSo9XCItLW9tYjpcIl0sW3N0eWxlKj1cIi0tb215OlwiXSxbc3R5bGUqPVwiLS1vbWE6XCJdIHsgbWFyZ2luLWJvdHRvbTogdmFyKC0tb21iLCB2YXIoLS1vbXksIHZhcigtLW9tYSkpKTsgfSBbc3R5bGUqPVwiLS1vbWw6XCJdLFtzdHlsZSo9XCItLW9teDpcIl0sW3N0eWxlKj1cIi0tb21hOlwiXSB7IG1hcmdpbi1sZWZ0OiB2YXIoLS1vbWwsIHZhcigtLW9teCwgdmFyKC0tb21hKSkpOyB9IFtzdHlsZSo9XCItLW9tcjpcIl0sW3N0eWxlKj1cIi0tb214OlwiXSxbc3R5bGUqPVwiLS1vbWE6XCJdIHsgbWFyZ2luLXJpZ2h0OiB2YXIoLS1vbXIsIHZhcigtLW9teCwgdmFyKC0tb21hKSkpOyB9XHJcbltzdHlsZSo9XCItLW9wdDpcIl0sW3N0eWxlKj1cIi0tb3B5OlwiXSxbc3R5bGUqPVwiLS1vcGE6XCJdIHsgcGFkZGluZy10b3A6IHZhcigtLW9wdCwgdmFyKC0tb3B5LCB2YXIoLS1vcGEpKSk7IH0gW3N0eWxlKj1cIi0tb3BiOlwiXSxbc3R5bGUqPVwiLS1vcHk6XCJdLFtzdHlsZSo9XCItLW9wYTpcIl0geyBwYWRkaW5nLWJvdHRvbTogdmFyKC0tb3BiLCB2YXIoLS1vcHksIHZhcigtLW9wYSkpKTsgfSBbc3R5bGUqPVwiLS1vcGw6XCJdLFtzdHlsZSo9XCItLW9weDpcIl0sW3N0eWxlKj1cIi0tb3BhOlwiXSB7IHBhZGRpbmctbGVmdDogdmFyKC0tb3BsLCB2YXIoLS1vcHgsIHZhcigtLW9wYSkpKTsgfSBbc3R5bGUqPVwiLS1vcHI6XCJdLFtzdHlsZSo9XCItLW9weDpcIl0sW3N0eWxlKj1cIi0tb3BhOlwiXSB7IHBhZGRpbmctcmlnaHQ6IHZhcigtLW9wciwgdmFyKC0tb3B4LCB2YXIoLS1vcGEpKSk7IH1cclxuW3N0eWxlKj1cIi0tb3d4OlwiXSB7IG1heC13aWR0aDogdmFyKC0tb3d4KTsgfSBbc3R5bGUqPVwiLS1vd246XCJdIHsgbWluLXdpZHRoOiB2YXIoLS1vd24pOyB9IFtzdHlsZSo9XCItLW9oeDpcIl0geyBtYXgtaGVpZ2h0OiB2YXIoLS1vaHgpOyB9IFtzdHlsZSo9XCItLW9objpcIl0geyBtaW4taGVpZ2h0OiB2YXIoLS1vaG4pOyB9XHJcbltzdHlsZSo9XCItLW9hbDpcIl0geyBsZWZ0OiB2YXIoLS1vYWwpOyB9IFtzdHlsZSo9XCItLW9hcjpcIl0geyByaWdodDogdmFyKC0tb2FyKTsgfSBbc3R5bGUqPVwiLS1vYXQ6XCJdIHsgdG9wOiB2YXIoLS1vYXQpOyB9IFtzdHlsZSo9XCItLW9hYjpcIl0geyBib3R0b206IHZhcigtLW9hYik7IH1cclxuXHJcbkBtZWRpYSBwcmludCwgKG1pbi13aWR0aDogIDcyMHB4KSB7XHJcbltzdHlsZSo9XCItLW9neGFzOlwiXSB7IC0tZ3g6IHZhcigtLW9neGFzKTsgfSBbc3R5bGUqPVwiLS1vZ3lhczpcIl0geyAtLWd5OiB2YXIoLS1vZ3lhcyk7IH1cclxuW3N0eWxlKj1cIi0tb2ZzYXM6XCJdIHsgZm9udC1zaXplOiB2YXIoLS1vZnNhcyk7IH0gW3N0eWxlKj1cIi0tb2xoYXM6XCJdIHsgbGluZS1oZWlnaHQ6IHZhcigtLW9saGFzKTsgfVxyXG5bc3R5bGUqPVwiLS1vbXRhczpcIl0sW3N0eWxlKj1cIi0tb215YXM6XCJdLFtzdHlsZSo9XCItLW9tYWFzOlwiXSB7IG1hcmdpbi10b3A6IHZhcigtLW9tdGFzLCB2YXIoLS1vbXlhcywgdmFyKC0tb21hYXMpKSk7IH0gW3N0eWxlKj1cIi0tb21iYXM6XCJdLFtzdHlsZSo9XCItLW9teWFzOlwiXSxbc3R5bGUqPVwiLS1vbWFhczpcIl0geyBtYXJnaW4tYm90dG9tOiB2YXIoLS1vbWJhcywgdmFyKC0tb215YXMsIHZhcigtLW9tYWFzKSkpOyB9IFtzdHlsZSo9XCItLW9tbGFzOlwiXSxbc3R5bGUqPVwiLS1vbXhhczpcIl0sW3N0eWxlKj1cIi0tb21hYXM6XCJdIHsgbWFyZ2luLWxlZnQ6IHZhcigtLW9tbGFzLCB2YXIoLS1vbXhhcywgdmFyKC0tb21hYXMpKSk7IH0gW3N0eWxlKj1cIi0tb21yYXM6XCJdLFtzdHlsZSo9XCItLW9teGFzOlwiXSxbc3R5bGUqPVwiLS1vbWFhczpcIl0geyBtYXJnaW4tcmlnaHQ6IHZhcigtLW9tcmFzLCB2YXIoLS1vbXhhcywgdmFyKC0tb21hYXMpKSk7IH1cclxuW3N0eWxlKj1cIi0tb3B0YXM6XCJdLFtzdHlsZSo9XCItLW9weWFzOlwiXSxbc3R5bGUqPVwiLS1vcGFhczpcIl0geyBwYWRkaW5nLXRvcDogdmFyKC0tb3B0YXMsIHZhcigtLW9weWFzLCB2YXIoLS1vcGFhcykpKTsgfSBbc3R5bGUqPVwiLS1vcGJhczpcIl0sW3N0eWxlKj1cIi0tb3B5YXM6XCJdLFtzdHlsZSo9XCItLW9wYWFzOlwiXSB7IHBhZGRpbmctYm90dG9tOiB2YXIoLS1vcGJhcywgdmFyKC0tb3B5YXMsIHZhcigtLW9wYWFzKSkpOyB9IFtzdHlsZSo9XCItLW9wbGFzOlwiXSxbc3R5bGUqPVwiLS1vcHhhczpcIl0sW3N0eWxlKj1cIi0tb3BhYXM6XCJdIHsgcGFkZGluZy1sZWZ0OiB2YXIoLS1vcGxhcywgdmFyKC0tb3B4YXMsIHZhcigtLW9wYWFzKSkpOyB9IFtzdHlsZSo9XCItLW9wcmFzOlwiXSxbc3R5bGUqPVwiLS1vcHhhczpcIl0sW3N0eWxlKj1cIi0tb3BhYXM6XCJdIHsgcGFkZGluZy1yaWdodDogdmFyKC0tb3ByYXMsIHZhcigtLW9weGFzLCB2YXIoLS1vcGFhcykpKTsgfVxyXG5bc3R5bGUqPVwiLS1vd3hhczpcIl0geyBtYXgtd2lkdGg6IHZhcigtLW93eGFzKTsgfSBbc3R5bGUqPVwiLS1vd25hczpcIl0geyBtaW4td2lkdGg6IHZhcigtLW93bmFzKTsgfSBbc3R5bGUqPVwiLS1vaHhhczpcIl0geyBtYXgtaGVpZ2h0OiB2YXIoLS1vaHhhcyk7IH0gW3N0eWxlKj1cIi0tb2huYXM6XCJdIHsgbWluLWhlaWdodDogdmFyKC0tb2huYXMpOyB9XHJcbltzdHlsZSo9XCItLW9hbGFzOlwiXSB7IGxlZnQ6IHZhcigtLW9hbGFzKTsgfSBbc3R5bGUqPVwiLS1vYXJhczpcIl0geyByaWdodDogdmFyKC0tb2FyYXMpOyB9IFtzdHlsZSo9XCItLW9hdGFzOlwiXSB7IHRvcDogdmFyKC0tb2F0YXMpOyB9IFtzdHlsZSo9XCItLW9hYmFzOlwiXSB7IGJvdHRvbTogdmFyKC0tb2FiYXMpOyB9XHJcbn1cclxuQG1lZGlhIHByaW50LCAobWluLXdpZHRoOiAxMDI0cHgpIHtcclxuW3N0eWxlKj1cIi0tb2d4YW06XCJdIHsgLS1neDogdmFyKC0tb2d4YW0pOyB9IFtzdHlsZSo9XCItLW9neWFtOlwiXSB7IC0tZ3k6IHZhcigtLW9neWFtKTsgfVxyXG5bc3R5bGUqPVwiLS1vZnNhbTpcIl0geyBmb250LXNpemU6IHZhcigtLW9mc2FtKTsgfSBbc3R5bGUqPVwiLS1vbGhhbTpcIl0geyBsaW5lLWhlaWdodDogdmFyKC0tb2xoYW0pOyB9XHJcbltzdHlsZSo9XCItLW9tdGFtOlwiXSxbc3R5bGUqPVwiLS1vbXlhbTpcIl0sW3N0eWxlKj1cIi0tb21hYW06XCJdIHsgbWFyZ2luLXRvcDogdmFyKC0tb210YW0sIHZhcigtLW9teWFtLCB2YXIoLS1vbWFhbSkpKTsgfSBbc3R5bGUqPVwiLS1vbWJhbTpcIl0sW3N0eWxlKj1cIi0tb215YW06XCJdLFtzdHlsZSo9XCItLW9tYWFtOlwiXSB7IG1hcmdpbi1ib3R0b206IHZhcigtLW9tYmFtLCB2YXIoLS1vbXlhbSwgdmFyKC0tb21hYW0pKSk7IH0gW3N0eWxlKj1cIi0tb21sYW06XCJdLFtzdHlsZSo9XCItLW9teGFtOlwiXSxbc3R5bGUqPVwiLS1vbWFhbTpcIl0geyBtYXJnaW4tbGVmdDogdmFyKC0tb21sYW0sIHZhcigtLW9teGFtLCB2YXIoLS1vbWFhbSkpKTsgfSBbc3R5bGUqPVwiLS1vbXJhbTpcIl0sW3N0eWxlKj1cIi0tb214YW06XCJdLFtzdHlsZSo9XCItLW9tYWFtOlwiXSB7IG1hcmdpbi1yaWdodDogdmFyKC0tb21yYW0sIHZhcigtLW9teGFtLCB2YXIoLS1vbWFhbSkpKTsgfVxyXG5bc3R5bGUqPVwiLS1vcHRhbTpcIl0sW3N0eWxlKj1cIi0tb3B5YW06XCJdLFtzdHlsZSo9XCItLW9wYWFtOlwiXSB7IHBhZGRpbmctdG9wOiB2YXIoLS1vcHRhbSwgdmFyKC0tb3B5YW0sIHZhcigtLW9wYWFtKSkpOyB9IFtzdHlsZSo9XCItLW9wYmFtOlwiXSxbc3R5bGUqPVwiLS1vcHlhbTpcIl0sW3N0eWxlKj1cIi0tb3BhYW06XCJdIHsgcGFkZGluZy1ib3R0b206IHZhcigtLW9wYmFtLCB2YXIoLS1vcHlhbSwgdmFyKC0tb3BhYW0pKSk7IH0gW3N0eWxlKj1cIi0tb3BsYW06XCJdLFtzdHlsZSo9XCItLW9weGFtOlwiXSxbc3R5bGUqPVwiLS1vcGFhbTpcIl0geyBwYWRkaW5nLWxlZnQ6IHZhcigtLW9wbGFtLCB2YXIoLS1vcHhhbSwgdmFyKC0tb3BhYW0pKSk7IH0gW3N0eWxlKj1cIi0tb3ByYW06XCJdLFtzdHlsZSo9XCItLW9weGFtOlwiXSxbc3R5bGUqPVwiLS1vcGFhbTpcIl0geyBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1vcHJhbSwgdmFyKC0tb3B4YW0sIHZhcigtLW9wYWFtKSkpOyB9XHJcbltzdHlsZSo9XCItLW93eGFtOlwiXSB7IG1heC13aWR0aDogdmFyKC0tb3d4YW0pOyB9IFtzdHlsZSo9XCItLW93bmFtOlwiXSB7IG1pbi13aWR0aDogdmFyKC0tb3duYW0pOyB9IFtzdHlsZSo9XCItLW9oeGFtOlwiXSB7IG1heC1oZWlnaHQ6IHZhcigtLW9oeGFtKTsgfSBbc3R5bGUqPVwiLS1vaG5hbTpcIl0geyBtaW4taGVpZ2h0OiB2YXIoLS1vaG5hbSk7IH1cclxuW3N0eWxlKj1cIi0tb2FsYW06XCJdIHsgbGVmdDogdmFyKC0tb2FsYW0pOyB9IFtzdHlsZSo9XCItLW9hcmFtOlwiXSB7IHJpZ2h0OiB2YXIoLS1vYXJhbSk7IH0gW3N0eWxlKj1cIi0tb2F0YW06XCJdIHsgdG9wOiB2YXIoLS1vYXRhbSk7IH0gW3N0eWxlKj1cIi0tb2FiYW06XCJdIHsgYm90dG9tOiB2YXIoLS1vYWJhbSk7IH1cclxufVxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcclxuW3N0eWxlKj1cIi0tb2d4Ymw6XCJdIHsgLS1neDogdmFyKC0tb2d4YmwpOyB9IFtzdHlsZSo9XCItLW9neWJsOlwiXSB7IC0tZ3k6IHZhcigtLW9neWJsKTsgfVxyXG5bc3R5bGUqPVwiLS1vZnNibDpcIl0geyBmb250LXNpemU6IHZhcigtLW9mc2JsKTsgfSBbc3R5bGUqPVwiLS1vbGhibDpcIl0geyBsaW5lLWhlaWdodDogdmFyKC0tb2xoYmwpOyB9XHJcbltzdHlsZSo9XCItLW9tdGJsOlwiXSxbc3R5bGUqPVwiLS1vbXlibDpcIl0sW3N0eWxlKj1cIi0tb21hYmw6XCJdIHsgbWFyZ2luLXRvcDogdmFyKC0tb210YmwsIHZhcigtLW9teWJsLCB2YXIoLS1vbWFibCkpKTsgfSBbc3R5bGUqPVwiLS1vbWJibDpcIl0sW3N0eWxlKj1cIi0tb215Ymw6XCJdLFtzdHlsZSo9XCItLW9tYWJsOlwiXSB7IG1hcmdpbi1ib3R0b206IHZhcigtLW9tYmJsLCB2YXIoLS1vbXlibCwgdmFyKC0tb21hYmwpKSk7IH0gW3N0eWxlKj1cIi0tb21sYmw6XCJdLFtzdHlsZSo9XCItLW9teGJsOlwiXSxbc3R5bGUqPVwiLS1vbWFibDpcIl0geyBtYXJnaW4tbGVmdDogdmFyKC0tb21sYmwsIHZhcigtLW9teGJsLCB2YXIoLS1vbWFibCkpKTsgfSBbc3R5bGUqPVwiLS1vbXJibDpcIl0sW3N0eWxlKj1cIi0tb214Ymw6XCJdLFtzdHlsZSo9XCItLW9tYWJsOlwiXSB7IG1hcmdpbi1yaWdodDogdmFyKC0tb21yYmwsIHZhcigtLW9teGJsLCB2YXIoLS1vbWFibCkpKTsgfVxyXG5bc3R5bGUqPVwiLS1vcHRibDpcIl0sW3N0eWxlKj1cIi0tb3B5Ymw6XCJdLFtzdHlsZSo9XCItLW9wYWJsOlwiXSB7IHBhZGRpbmctdG9wOiB2YXIoLS1vcHRibCwgdmFyKC0tb3B5YmwsIHZhcigtLW9wYWJsKSkpOyB9IFtzdHlsZSo9XCItLW9wYmJsOlwiXSxbc3R5bGUqPVwiLS1vcHlibDpcIl0sW3N0eWxlKj1cIi0tb3BhYmw6XCJdIHsgcGFkZGluZy1ib3R0b206IHZhcigtLW9wYmJsLCB2YXIoLS1vcHlibCwgdmFyKC0tb3BhYmwpKSk7IH0gW3N0eWxlKj1cIi0tb3BsYmw6XCJdLFtzdHlsZSo9XCItLW9weGJsOlwiXSxbc3R5bGUqPVwiLS1vcGFibDpcIl0geyBwYWRkaW5nLWxlZnQ6IHZhcigtLW9wbGJsLCB2YXIoLS1vcHhibCwgdmFyKC0tb3BhYmwpKSk7IH0gW3N0eWxlKj1cIi0tb3ByYmw6XCJdLFtzdHlsZSo9XCItLW9weGJsOlwiXSxbc3R5bGUqPVwiLS1vcGFibDpcIl0geyBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1vcHJibCwgdmFyKC0tb3B4YmwsIHZhcigtLW9wYWJsKSkpOyB9XHJcbltzdHlsZSo9XCItLW93eGJsOlwiXSB7IG1heC13aWR0aDogdmFyKC0tb3d4YmwpOyB9IFtzdHlsZSo9XCItLW93bmJsOlwiXSB7IG1pbi13aWR0aDogdmFyKC0tb3duYmwpOyB9IFtzdHlsZSo9XCItLW9oeGJsOlwiXSB7IG1heC1oZWlnaHQ6IHZhcigtLW9oeGJsKTsgfSBbc3R5bGUqPVwiLS1vaG5ibDpcIl0geyBtaW4taGVpZ2h0OiB2YXIoLS1vaG5ibCk7IH1cclxuW3N0eWxlKj1cIi0tb2FsYmw6XCJdIHsgbGVmdDogdmFyKC0tb2FsYmwpOyB9IFtzdHlsZSo9XCItLW9hcmJsOlwiXSB7IHJpZ2h0OiB2YXIoLS1vYXJibCk7IH0gW3N0eWxlKj1cIi0tb2F0Ymw6XCJdIHsgdG9wOiB2YXIoLS1vYXRibCk7IH0gW3N0eWxlKj1cIi0tb2FiYmw6XCJdIHsgYm90dG9tOiB2YXIoLS1vYWJibCk7IH1cclxufVxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAgNzE5cHgpIHtcclxuW3N0eWxlKj1cIi0tb2d4Ym06XCJdIHsgLS1neDogdmFyKC0tb2d4Ym0pOyB9IFtzdHlsZSo9XCItLW9neWJtOlwiXSB7IC0tZ3k6IHZhcigtLW9neWJtKSB9XHJcbltzdHlsZSo9XCItLW9mc2JtOlwiXSB7IGZvbnQtc2l6ZTogdmFyKC0tb2ZzYm0pOyB9IFtzdHlsZSo9XCItLW9sc2JtOlwiXSB7IGxpbmUtaGVpZ2h0OiB2YXIoLS1vbGhibSk7IH1cclxuW3N0eWxlKj1cIi0tb210Ym06XCJdLFtzdHlsZSo9XCItLW9teWJtOlwiXSxbc3R5bGUqPVwiLS1vbWFibTpcIl0geyBtYXJnaW4tdG9wOiB2YXIoLS1vbXRibSwgdmFyKC0tb215Ym0sIHZhcigtLW9tYWJtKSkpOyB9IFtzdHlsZSo9XCItLW9tYmJtOlwiXSxbc3R5bGUqPVwiLS1vbXlibTpcIl0sW3N0eWxlKj1cIi0tb21hYm06XCJdIHsgbWFyZ2luLWJvdHRvbTogdmFyKC0tb21iYm0sIHZhcigtLW9teWJtLCB2YXIoLS1vbWFibSkpKTsgfSBbc3R5bGUqPVwiLS1vbWxibTpcIl0sW3N0eWxlKj1cIi0tb214Ym06XCJdLFtzdHlsZSo9XCItLW9tYWJtOlwiXSB7IG1hcmdpbi1sZWZ0OiB2YXIoLS1vbWxibSwgdmFyKC0tb214Ym0sIHZhcigtLW9tYWJtKSkpOyB9IFtzdHlsZSo9XCItLW9tcmJtOlwiXSxbc3R5bGUqPVwiLS1vbXhibTpcIl0sW3N0eWxlKj1cIi0tb21hYm06XCJdIHsgbWFyZ2luLXJpZ2h0OiB2YXIoLS1vbXJibSwgdmFyKC0tb214Ym0sIHZhcigtLW9tYWJtKSkpOyB9XHJcbltzdHlsZSo9XCItLW9wdGJtOlwiXSxbc3R5bGUqPVwiLS1vcHlibTpcIl0sW3N0eWxlKj1cIi0tb3BhYm06XCJdIHsgcGFkZGluZy10b3A6IHZhcigtLW9wdGJtLCB2YXIoLS1vcHlibSwgdmFyKC0tb3BhYm0pKSk7IH0gW3N0eWxlKj1cIi0tb3BiYm06XCJdLFtzdHlsZSo9XCItLW9weWJtOlwiXSxbc3R5bGUqPVwiLS1vcGFibTpcIl0geyBwYWRkaW5nLWJvdHRvbTogdmFyKC0tb3BiYm0sIHZhcigtLW9weWJtLCB2YXIoLS1vcGFibSkpKTsgfSBbc3R5bGUqPVwiLS1vcGxibTpcIl0sW3N0eWxlKj1cIi0tb3B4Ym06XCJdLFtzdHlsZSo9XCItLW9wYWJtOlwiXSB7IHBhZGRpbmctbGVmdDogdmFyKC0tb3BsYm0sIHZhcigtLW9weGJtLCB2YXIoLS1vcGFibSkpKTsgfSBbc3R5bGUqPVwiLS1vcHJibTpcIl0sW3N0eWxlKj1cIi0tb3B4Ym06XCJdLFtzdHlsZSo9XCItLW9wYWJtOlwiXSB7IHBhZGRpbmctcmlnaHQ6IHZhcigtLW9wcmJtLCB2YXIoLS1vcHhibSwgdmFyKC0tb3BhYm0pKSk7IH1cclxuW3N0eWxlKj1cIi0tb3d4Ym06XCJdIHsgbWF4LXdpZHRoOiB2YXIoLS1vd3hibSk7IH0gW3N0eWxlKj1cIi0tb3duYm06XCJdIHsgbWluLXdpZHRoOiB2YXIoLS1vd25ibSk7IH0gW3N0eWxlKj1cIi0tb2h4Ym06XCJdIHsgbWF4LWhlaWdodDogdmFyKC0tb2h4Ym0pOyB9IFtzdHlsZSo9XCItLW9obmJtOlwiXSB7IG1pbi1oZWlnaHQ6IHZhcigtLW9obmJtKTsgfVxyXG5bc3R5bGUqPVwiLS1vYWxibTpcIl0geyBsZWZ0OiB2YXIoLS1vYWxibSk7IH0gW3N0eWxlKj1cIi0tb2FyYm06XCJdIHsgcmlnaHQ6IHZhcigtLW9hcmJtKTsgfSBbc3R5bGUqPVwiLS1vYXRibTpcIl0geyB0b3A6IHZhcigtLW9hdGJtKTsgfSBbc3R5bGUqPVwiLS1vYWJibTpcIl0geyBib3R0b206IHZhcigtLW9hYmJtKTsgfVxyXG59XHJcblxyXG4vKiAgIF8gICAgICBfX19fXyBfX19fX18gIF9fX19fX19cclxuICogICB8ICAgICAgICB8ICAgfF9fX19fXSB8X19fX19fXHJcbiAqICAgfF9fX19fIF9ffF9fIHxfX19fX10gX19fX19ffFxyXG4vKlxyXG5cclxuLyogdGlueXNsaWRlciAqLyAudG5zLW91dGVye3BhZGRpbmc6MCAhaW1wb3J0YW50fS50bnMtb3V0ZXIgW2hpZGRlbl17ZGlzcGxheTpub25lICFpbXBvcnRhbnR9LnRucy1vdXRlciBbYXJpYS1jb250cm9sc10sLnRucy1vdXRlciBbZGF0YS1hY3Rpb25de2N1cnNvcjpwb2ludGVyfS50bnMtc2xpZGVyey13ZWJraXQtdHJhbnNpdGlvbjphbGwgMHM7LW1vei10cmFuc2l0aW9uOmFsbCAwczt0cmFuc2l0aW9uOmFsbCAwc30udG5zLXNsaWRlcj4udG5zLWl0ZW17LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS50bnMtaG9yaXpvbnRhbC50bnMtc3VicGl4ZWx7d2hpdGUtc3BhY2U6bm93cmFwfS50bnMtaG9yaXpvbnRhbC50bnMtc3VicGl4ZWw+LnRucy1pdGVte2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOnRvcDt3aGl0ZS1zcGFjZTpub3JtYWx9LnRucy1ob3Jpem9udGFsLnRucy1uby1zdWJwaXhlbDphZnRlcntjb250ZW50OicnO2Rpc3BsYXk6dGFibGU7Y2xlYXI6Ym90aH0udG5zLWhvcml6b250YWwudG5zLW5vLXN1YnBpeGVsPi50bnMtaXRlbXtmbG9hdDpsZWZ0fS50bnMtaG9yaXpvbnRhbC50bnMtY2Fyb3VzZWwudG5zLW5vLXN1YnBpeGVsPi50bnMtaXRlbXttYXJnaW4tcmlnaHQ6LTEwMCV9LnRucy1uby1jYWxje3Bvc2l0aW9uOnJlbGF0aXZlO2xlZnQ6MH0udG5zLWdhbGxlcnl7cG9zaXRpb246cmVsYXRpdmU7bGVmdDowO21pbi1oZWlnaHQ6MXB4fS50bnMtZ2FsbGVyeT4udG5zLWl0ZW17cG9zaXRpb246YWJzb2x1dGU7bGVmdDotMTAwJTstd2Via2l0LXRyYW5zaXRpb246dHJhbnNmb3JtIDBzLCBvcGFjaXR5IDBzOy1tb3otdHJhbnNpdGlvbjp0cmFuc2Zvcm0gMHMsIG9wYWNpdHkgMHM7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gMHMsIG9wYWNpdHkgMHN9LnRucy1nYWxsZXJ5Pi50bnMtc2xpZGUtYWN0aXZle3Bvc2l0aW9uOnJlbGF0aXZlO2xlZnQ6YXV0byAhaW1wb3J0YW50fS50bnMtZ2FsbGVyeT4udG5zLW1vdmluZ3std2Via2l0LXRyYW5zaXRpb246YWxsIDAuMjVzOy1tb3otdHJhbnNpdGlvbjphbGwgMC4yNXM7dHJhbnNpdGlvbjphbGwgMC4yNXN9LnRucy1hdXRvd2lkdGh7ZGlzcGxheTppbmxpbmUtYmxvY2t9LnRucy1sYXp5LWltZ3std2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAwLjZzOy1tb3otdHJhbnNpdGlvbjpvcGFjaXR5IDAuNnM7dHJhbnNpdGlvbjpvcGFjaXR5IDAuNnM7b3BhY2l0eTowLjZ9LnRucy1sYXp5LWltZy50bnMtY29tcGxldGV7b3BhY2l0eToxfS50bnMtYWh7LXdlYmtpdC10cmFuc2l0aW9uOmhlaWdodCAwczstbW96LXRyYW5zaXRpb246aGVpZ2h0IDBzO3RyYW5zaXRpb246aGVpZ2h0IDBzfS50bnMtb3Zoe292ZXJmbG93OmhpZGRlbn0udG5zLXZpc3VhbGx5LWhpZGRlbntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0Oi0xMDAwMGVtfS50bnMtdHJhbnNwYXJlbnR7b3BhY2l0eTowO3Zpc2liaWxpdHk6aGlkZGVufS50bnMtZmFkZUlue29wYWNpdHk6MTtmaWx0ZXI6YWxwaGEob3BhY2l0eT0xMDApO3otaW5kZXg6MH0udG5zLW5vcm1hbCwudG5zLWZhZGVPdXR7b3BhY2l0eTowO2ZpbHRlcjphbHBoYShvcGFjaXR5PTApO3otaW5kZXg6LTF9LnRucy12cGZpeHt3aGl0ZS1zcGFjZTpub3dyYXB9LnRucy12cGZpeD5kaXYsLnRucy12cGZpeD5saXtkaXNwbGF5OmlubGluZS1ibG9ja30udG5zLXQtc3VicDJ7bWFyZ2luOjAgYXV0bzt3aWR0aDozMTBweDtwb3NpdGlvbjpyZWxhdGl2ZTtoZWlnaHQ6MTBweDtvdmVyZmxvdzpoaWRkZW59LnRucy10LWN0e3dpZHRoOjIzMzMuMzMzMzMzMyU7d2lkdGg6LXdlYmtpdC1jYWxjKDEwMCUgKiA3MCAvIDMpO3dpZHRoOi1tb3otY2FsYygxMDAlICogNzAgLyAzKTt3aWR0aDpjYWxjKDEwMCUgKiA3MCAvIDMpO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjB9LnRucy10LWN0OmFmdGVye2NvbnRlbnQ6Jyc7ZGlzcGxheTp0YWJsZTtjbGVhcjpib3RofS50bnMtdC1jdD5kaXZ7d2lkdGg6MS40Mjg1NzE0JTt3aWR0aDotd2Via2l0LWNhbGMoMTAwJSAvIDcwKTt3aWR0aDotbW96LWNhbGMoMTAwJSAvIDcwKTt3aWR0aDpjYWxjKDEwMCUgLyA3MCk7aGVpZ2h0OjEwcHg7ZmxvYXQ6bGVmdH1cclxuLyogbGF6eXNpemVzICovIC5sYXp5bG9hZCwgLmxhenlsb2FkaW5nIHsgb3BhY2l0eTogMDsgfSBbanNdIC5sYXp5bG9hZGVkW2NsYXNzXSB7IG9wYWNpdHk6IDE7IHRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7IH1cclxuXHJcbi8qIFxyXG4gKiBUZWFsIEFkZGl0aW9uc1xyXG4gKi9cclxuIC52aWRlby1lbWJlZC1jYXB0aW9uIHsgbWFyZ2luLXRvcDogMXJlbTsgfVxyXG5cclxuIC8qKlxyXG4gKiBAbmFtZSAud3lzaXd5Z1xyXG4gKiBAZGVzY3JpcHRpb24gR2VuZXJpYyBXWVNJV1lHIHdyYXBwZXJcclxuICogQGV4YW1wbGUgeyB9XHJcbiAqL1xyXG4ud3lzaXd5ZyB7IGNsZWFyOiBib3RoOyB9XHJcbi53eXNpd3lnIGltZyB7IGhlaWdodDogYXV0bzsgZGlzcGxheTogYmxvY2s7IH1cclxuLnd5c2l3eWcgLmFsaWducmlnaHQgeyBtYXJnaW4tcmlnaHQ6IDA7IH1cclxuLnd5c2l3eWcgLmFsaWdubGVmdCB7IG1hcmdpbi1sZWZ0OiAwOyB9XHJcbi53eXNpd3lnIC5hbGlnbnJpZ2h0LCAud3lzaXd5ZyAuYWxpZ25yaWdodC5hbGlnbm5vbmUgeyBmbG9hdDogcmlnaHQ7IG1hcmdpbi1sZWZ0OiB2YXIoLS1zeSk7IH1cclxuLnd5c2l3eWcgLmFsaWdubGVmdCwgLnd5c2l3eWcgLmFsaWdubGVmdC5hbGlnbm5vbmUgeyBmbG9hdDogbGVmdDsgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zeSk7IH1cclxuLnd5c2l3eWcgLmFsaWduY2VudGVyLCAud3lzaXd5ZyAuYWxpZ25ub25lIHsgbWFyZ2luOiB2YXIoLS1zeSkgYXV0bzsgfVxyXG4ud3lzaXd5ZyAuYWxpZ25yaWdodCwgLnd5c2l3eWcgLmFsaWdubGVmdCwgLnd5c2l3eWcgLmFsaWduY2VudGVyLCAud3lzaXd5ZyAuYWxpZ25ub25lIHsgbWFyZ2luLXRvcDogdmFyKC0tc3kpOyBtYXJnaW4tYm90dG9tOiB2YXIoLS1zeSk7IH1cclxuXHJcbi53eXNpd3lnIC53cC1jYXB0aW9uIHsgbWF4LXdpZHRoOiAxMDAlOyAtLWxoOiAxLjMwOyBmb250OiA0MDAgMTJyZW0vdmFyKC0tbGgpIHZhcigtLWZmXzIpOyBtYXJnaW4tYm90dG9tOiB2YXIoLS1zMSk7IH1cclxuICAud3lzaXd5ZyAud3AtY2FwdGlvbiBpbWcgeyBtYXJnaW4tYm90dG9tOiAxMHB4OyB3aWR0aDogMTAwJTsgfVxyXG4gIC53eXNpd3lnIC53cC1jYXB0aW9uIHA6ZW1wdHkgeyBkaXNwbGF5OiBub25lOyB9XHJcblxyXG4ud3lzaXd5Zy4taGFzLWRyb3AtY2FwIHA6Zmlyc3QtY2hpbGQ6Zmlyc3QtbGV0dGVyIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBoZWlnaHQ6IDExLjRyZW07IG92ZXJmbG93OiBoaWRkZW47IGZsb2F0OiBsZWZ0OyBtYXJnaW46IDAgMnJlbSAtLjI1cmVtIDA7IHBhZGRpbmctdG9wOiAuNXJlbTsgcGFkZGluZy1ib3R0b206IDAuMWVtOyBib3JkZXItYm90dG9tOiAwLjRyZW0gc29saWQ7IGNvbG9yOiB2YXIoLS1jX2QxKTsgZm9udDogMTAuNHJlbS8wLjg1IHZhcigtLWZmXzMpOyB9XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MTlweCkge1xyXG4ud3lzaXd5Zy4taGFzLWRyb3AtY2FwIHA6Zmlyc3QtY2hpbGQ6Zmlyc3QtbGV0dGVyIHsgbWFyZ2luLXJpZ2h0OiAxLjRyZW07IGZvbnQtc2l6ZTogNS40cmVtOyBsaW5lLWhlaWdodDogMC45OyB9XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XHJcbi53eXNpd3lnIC5hbGlnbnJpZ2h0LCAud3lzaXd5ZyAuYWxpZ25sZWZ0LCAud3lzaXd5ZyAuYWxpZ25jZW50ZXIsIC53eXNpd3lnIC5hbGlnbm5vbmUgeyB3aWR0aDogMTAwJSFpbXBvcnRhbnQ7IH1cclxufVxyXG5cclxuLyoqXHJcbiAqIE92ZXJyaWRlIFZpcnR1b3VzIEpTIGZvcm0gZW1iZWRzIHN0eWxlcy5cclxuICovXHJcbiBmb3JtW2lkKj12Y3JtXSAudl9mdyAudl9mciAudl9mYyB7IG1hcmdpbi1ib3R0b206IDA7IH1cclxuIGZvcm1baWQqPXZjcm1dIC52X2Z3IC52X2ZyIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxyXG4gZm9ybVtpZCo9dmNybV0gLnZfbHcgeyBtYXJnaW4tYm90dG9tOiA1cHg7IH1cclxuIC5jb25uZWN0MSBmb3JtW2lkKj12Y3JtXSAudl9sdyB7IGRpc3BsYXk6IG5vbmU7IH1cclxuIGZvcm1baWQqPXZjcm1dIC52X2ZyIC52X2lnIGRpdjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHsgbWFyZ2luLWJvdHRvbTogMjRweDsgfVxyXG4gZm9ybVtpZCo9dmNybV0gLnZfZnIgLnZfaWcgaW5wdXQgeyBib3JkZXItcmFkaXVzOiB2YXIoLS1hb3IsIDApOyBtaW4taGVpZ2h0OiA0N3B4OyB9XHJcbiBmb3JtW2lkKj12Y3JtXSAudl9mciAudl9pZyBpbnB1dC52X2lfX3R4OjpwbGFjZWhvbGRlciB7IGNvbG9yOiAjNjY2NjY2OyBvcGFjaXR5OiAxOyB9XHJcbiBmb3JtW2lkKj12Y3JtXSAudl9mciAudl9pZyBpbnB1dC52X2lfX3R4Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiAjNjY2NjY2OyB9XHJcbiBmb3JtW2lkKj12Y3JtXSAudl9mciAudl9pZyBpbnB1dC52X2lfX3R4OjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogIzY2NjY2NjsgfVxyXG4gZm9ybVtpZCo9dmNybV0gLnZfaWcgLmJ1dHRvbiAudi10ZXh0IHsgY29sb3I6IGluaGVyaXQ7IH1cclxuIGZvcm1baWQqPXZjcm1dIC52X2lnIC5idXR0b246bm90KC52LXRleHQpOmhvdmVyOmJlZm9yZSB7IG9wYWNpdHk6IDA7IH1cclxuIGZvcm1baWQqPXZjcm1dIC52X2lnIC5idXR0b246YmVmb3JlLCBcclxuIGZvcm1baWQqPXZjcm1dIC52X2lnIC5idXR0b24sXHJcbiBmb3JtW2lkKj12Y3JtXSAudl9pZyAuYnV0dG9uOm5vdCgudl9idG5fb3V0bGluZSk6aG92ZXIsXHJcbiBmb3JtW2lkKj12Y3JtXSAudl9pZyAuYnV0dG9uOmFjdGl2ZSwgXHJcbiBmb3JtW2lkKj12Y3JtXSAudl9pZyAuYnV0dG9uOmZvY3VzIHsgYm9yZGVyLXJhZGl1czogdmFyKC0tYW9yLCAwKTsgfVxyXG4gZm9ybVtpZCo9dmNybV0gLnZfaWcgLmJ1dHRvbiB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFiYywgdHJhbnNwYXJlbnQpOyB9XHJcbiBmb3JtW2lkKj12Y3JtXSAudl9pZyBidXR0b246aG92ZXIsXHJcbiBmb3JtW2lkKj12Y3JtXSAudl9pZyAuYnV0dG9uOm5vdCgudl9idG5fb3V0bGluZSk6aG92ZXIsXHJcbiBmb3JtW2lkKj12Y3JtXSAudl9pZyAuYnV0dG9uOmFjdGl2ZSwgXHJcbiBmb3JtW2lkKj12Y3JtXSAudl9pZyAuYnV0dG9uOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWJjLCB0cmFuc3BhcmVudCk7IGNvbG9yOiB2YXIoLS1hdGMsIGN1cnJlbnRDb2xvcik7IH1cclxuIGZvcm1baWQqPXZjcm1dIC5TZWxlY3QtbXVsdGktdmFsdWUtd3JhcHBlciB7IG1hcmdpbi1ib3R0b206IDA7IH1cclxuLlNlbGVjdC5oYXMtdmFsdWUuaXMtY2xlYXJhYmxlLlNlbGVjdC0tc2luZ2xlID4gLlNlbGVjdC1jb250cm9sIC5TZWxlY3QtdmFsdWUgeyBoZWlnaHQ6IDEwMCU7IH1cclxuLlNlbGVjdC5oYXMtdmFsdWUuU2VsZWN0LS1zaW5nbGUgPiAuU2VsZWN0LWNvbnRyb2wgLlNlbGVjdC12YWx1ZSAuU2VsZWN0LXZhbHVlLWxhYmVsIHsgb3ZlcmZsb3c6IGhpZGRlbjsgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IHdpZHRoOiAxMDAlOyB9XHJcbmZvcm1baWQqPXZjcm1dIC5TZWxlY3QtbWVudS1vdXRlciAqIHsgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyBtYXJnaW4tYm90dG9tOjAgIWltcG9ydGFudDsgfVxyXG5cclxuXHJcbi8qKlxyXG4gKiBEb25hdGVcclxuICovXHJcbi5wYWdlLXRlbXBsYXRlLXRlbXBsYXRlLWRvbmF0ZSB7XHJcbiAgLmNvbHMtMiB7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIC0teHc6IHZhcigtLXh3XzIpO1xyXG4gICAgcGFkZGluZzogMCAzcmVtO1xyXG4gIH1cclxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcclxuICAgIC5jb2xzLTIge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIH1cclxuICAgIC5jb2wge1xyXG4gICAgICBmbGV4OiAxIDEgNTAlO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xyXG4gICAgICBwYWRkaW5nOiAwIDNyZW07XHJcbiAgICAgIC5jb2wtaW5uZXIge1xyXG4gICAgICAgIG1heC13aWR0aDogNTA1cHg7XHJcbiAgICAgICAgcGFkZGluZzogMCAycmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC4tZm9ybS13cmFwIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICBib3gtc2hhZG93OiB2YXIoLS1hb2ksIGluc2V0KSB2YXIoLS1hb3gsIDApIHZhcigtLWFveSwgMCkgdmFyKC0tYW9iLCAwKSB2YXIoLS1hb3MsIDApIHZhcigtLWFvYywgY3VycmVudENvbG9yKSwgMCBjYWxjKDEgKiB2YXIoLS11dSkpIGNhbGMoMyAqIHZhcigtLXV1KSkgY2FsYygxLjUgKiB2YXIoLS11dSkpIHJnYmEodmFyKC0tY19keHQpLCAwLjEpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnJfMSk7XHJcbiAgICBwYWRkaW5nOiA0cmVtO1xyXG4gICAgLmdjaG9pY2Uge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuICAuc29jaWFsczEge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIC5zb2NpYWxzMS1sYWJlbCB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICBsaW5lLWhlaWdodDogMTE4JTsgLyogMjguMzJweCAqL1xyXG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMjRweDtcclxuICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZmXzIpO1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdW5zZXQ7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcclxuICAgIH1cclxuICAgIGEge1xyXG4gICAgICBjb2xvcjp2YXIoLS1jX2ExdCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiAiLCIvKiEgUEJURiA+IDIzMDIxMCAtLS0tLS0tLS0tLS0tLS0tICovXG46cm9vdCB7XG4gIC0tdXM6IDE0NDA7XG4gIC0tdXU6IGNhbGMoMTAgLyB2YXIoLS11YiwgdmFyKC0tdXMpKSAqIDEwMHZ3KTtcbiAgLS1zeG86IDRyZW07XG4gIC0tc3lvOiBtaW4oMS41ZW0sIDNyZW0pO1xuICAtLXNuOiAxMnJlbTtcbiAgLS1zMTogNHJlbTtcbiAgLS1zMjogNnJlbTtcbiAgLS1zMzogOHJlbTtcbiAgLS1zNDogMTJyZW07XG4gIC0tczU6IDE2cmVtO1xuICAtLXN4OiB2YXIoLS1zeG8pO1xuICAtLXN5OiB2YXIoLS1zeW8pO1xuICAtLW54OiBjYWxjKHZhcigtLXN4KSAqIC0xKTtcbiAgLS1ueTogY2FsYyh2YXIoLS1zeSkgKiAtMSk7XG4gIC0tdnd4OiBjYWxjKHZhcigtLXZ3LCAxdncpICogMTAwKTtcbiAgLS12aHg6IGNhbGModmFyKC0tdmgsIDF2aCkgKiAxMDApO1xuICAtLWZmXzE6IE9wZW4gU2FucyxIZWx2ZXRpY2EgTmV1ZSxBcmlhbCxzYW5zLXNlcmlmO1xuICAtLWZmXzI6IFwicXVpbmN5LWNmXCIsR2VvcmdpYSxzZXJpZjtcbiAgLS1jX2R4OiAxLDU1LDYxO1xuICAtLWNfZHh0OiB2YXIoLS1jX2R4KTsgLyogYmFzZSBjb2xvciAjMDEzNzNEICovXG4gIC0tY19kMXg6IDEsNTUsNjE7XG4gIC0tY19kMXh0OiB2YXIoLS1jX2QxeCk7XG4gIC0tY19kMTogcmdiYSh2YXIoLS1jX2QxeCksIDEpO1xuICAtLWNfZDF0OiB2YXIoLS1jX2QxKTsgLyogZGVmYXVsdDogZGFyayBncmVlbiAjMDEzNzNEICovXG4gIC0tY19kMjogcmdiYSh2YXIoLS1jX2R4KSwwLjgpO1xuICAtLWNfZDJ0OiB2YXIoLS1jX2QyKTsgLyogZGVmYXVsdDogbGlnaHRlciBkMSAqL1xuICAtLWNfaXg6IDI1NSwyNTUsMjU1O1xuICAtLWNfaXh0OiB2YXIoLS1jX2l4KTsgLyogaW52ZXJ0ZWQgYmFzZSBjb2xvciAqL1xuICAtLWNfaTE6ICNmZmZmZmY7XG4gIC0tY19pMXQ6IHZhcigtLWNfaTEpOyAvKiBpbnZlcnRlZDogd2hpdGUgKi9cbiAgLS1jX2kyOiByZ2JhKHZhcigtLWNfaXgpLDAuOCk7XG4gIC0tY19pMnQ6IHZhcigtLWNfaTIpOyAvKiBpbnZlcnRlZDogYWxtb3N0IHdoaXRlICovXG4gIC0tY19hMXg6IDE4MCw3MiwxMjA7XG4gIC0tY19hMXh0OiB2YXIoLS1jX2ExeCk7XG4gIC0tY19hMTogcmdiYSh2YXIoLS1jX2ExeCksIDEpO1xuICAtLWNfYTF0OiB2YXIoLS1jX2ExKTsgLyogYWNjZW50OiBibHVzaCAqL1xuICAtLWNfYTI6ICMwMTAyMDI7XG4gIC0tY19hMnQ6IHZhcigtLWNfYTIpOyAvKiBhY2NlbnQ6IGRhcmsgZ3JlZW4gKi9cbiAgLS1jX2IxOiAjZmZmZmZmO1xuICAtLWNfYjF0OiB2YXIoLS1jX2IxKTsgLyogYmFja2dyb3VuZHM6IHdoaXRlICovXG4gIC0tY19iMjogI0Y0RjRGNDtcbiAgLS1jX2IydDogdmFyKC0tY19iMik7IC8qIGJhY2tncm91bmRzOiBsaWdodCBncmF5ICovXG4gIC0tY19iMzogdmFyKC0tY19hMSk7XG4gIC0tY19iM3Q6IHZhcigtLWNfYjMpOyAvKiBiYWNrZ3JvdW5kczogYWNjZW50IDEgKi9cbiAgLS1jX2I0eDogMiwxMTQsMTI3O1xuICAtLWNfYjR4dDogdmFyKC0tY19iNHgpO1xuICAtLWNfYjQ6IHJnYmEodmFyKC0tY19iNHgpLCAxKTtcbiAgLS1jX2I0dDogdmFyKC0tY19iNCk7IC8qIGJhY2tncm91bmRzOiBncmVlbiAjMDI3MjdGICovXG4gIC0tY19iNTogIzk3NUY4NDtcbiAgLS1jX2I1dDogdmFyKC0tY19iNSk7IC8qIGJhY2tncm91bmRzOiB3YXNoZWQgYWNjZW50IDEgKi9cbiAgLS1jX2I2OiAjOTRCRkNGO1xuICAtLWNfYjZ0OiB2YXIoLS1jX2I2KTsgLyogYmFja2dyb3VuZHM6IGxpZ2h0IGJsdWUgKi9cbiAgLS1jX28xOiAjY2NjY2NjO1xuICAtLWNfbzF0OiB2YXIoLS1jX28xKTsgLyogc2VwYXJhdG9ycyAqL1xuICAtLWNfbzI6ICNhYWFhYWE7XG4gIC0tY19vMnQ6IHZhcigtLWNfbzIpOyAvKiBmaWVsZHMgbm9ybWFsICovXG4gIC0tY19vMzogdmFyKC0tY19kMSk7XG4gIC0tY19vM3Q6IHZhcigtLWNfbzMpOyAvKiBmaWVsZHMgZm9jdXMgKi9cbiAgLS1jX2UxOiAjRTUxNTE1O1xuICAtLWNfZTF0OiB2YXIoLS1jX2UxKTsgLyogZXJyb3JzOiByZWQsIGVycm9yIG1lc3NhZ2UgKi9cbiAgLS1jX2UyOiAjRTUxNTE1O1xuICAtLWNfZTJ0OiB2YXIoLS1jX2UyKTsgLyogZXJyb3JzOiByZWQsIGVycm9yIG91dGxpbmUgKi9cbiAgLS14d18xOiBjYWxjKDE0NDAgKiB2YXIoLS11dSkgLyAxMCk7XG4gIC0teHdfMjogY2FsYygxMjIwICogdmFyKC0tdXUpIC8gMTApO1xuICAtLXh3XzM6IGNhbGMoMTAxMCAqIHZhcigtLXV1KSAvIDEwKTtcbiAgLS14d180OiBjYWxjKCA4ODAgKiB2YXIoLS11dSkgLyAxMCk7XG4gIC0teHdfNTogY2FsYyggNjQwICogdmFyKC0tdXUpIC8gMTApO1xuICAtLXh3XzY6IGNhbGMoIDQ4MCAqIHZhcigtLXV1KSAvIDEwKTtcbiAgLS10OG5fZDE6IDAuMnM7XG4gIC0tdDhuX2QyOiAwLjRzO1xuICAtLXQ4bl9wMTogYm9yZGVyLWNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yLCBiYWNrZ3JvdW5kLXNpemUsIGJveC1zaGFkb3csIHRyYW5zZm9ybSwgb3BhY2l0eSwgZmlsdGVyLCB0ZXh0LWRlY29yYXRpb24tY29sb3IsIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3MsIHRleHQtdW5kZXJsaW5lLW9mZnNldCwgY2xpcC1wYXRoLCAtd2Via2l0LWNsaXAtcGF0aDtcbiAgLS10OG5fcDI6IHZhcigtLXQ4bl9wMSksIHZpc2liaWxpdHk7XG4gIC0tdDhuX2UxOiBjdWJpYy1iZXppZXIoLjUsMCwwLDEpO1xuICAtLXQ4bl9lMjogY3ViaWMtYmV6aWVyKC4zNSwuNiwuNDUsMSk7XG4gIC0tYnJfMTogMi40cmVtO1xuICAtLWJyXzI6IDEuMnJlbTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTUyMXB4KSB7XG4gIDpyb290IHtcbiAgICAtLXV1OiBjYWxjKDEwIC8gdmFyKC0tdWIsIHZhcigtLXVzKSkgKiAxNTIwcHgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgOnJvb3Qge1xuICAgIC0tdWI6IDc2ODtcbiAgICAtLXN4bzogMnJlbTtcbiAgICAtLXNuOiA4cmVtO1xuICAgIC0tczE6IDNyZW07XG4gICAgLS1zMjogNC41cmVtO1xuICAgIC0tczM6IDZyZW07XG4gICAgLS1zNDogOHJlbTtcbiAgICAtLXM1OiAxMnJlbTtcbiAgICAtLWJyXzE6IHZhcigtLWJyXzIpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MTlweCkge1xuICA6cm9vdCB7XG4gICAgLS11YjogMzc1O1xuICB9XG59XG5Ac3VwcG9ydHMgKHdpZHRoOiBtYXgoMTBweCwgNXZ3KSkge1xuICA6cm9vdCB7XG4gICAgLS1zeDogbWF4KHZhcigtLXN4byksIGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpLCBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpKTtcbiAgfVxufVxuQG1lZGlhIHByaW50IHtcbiAgOnJvb3Qge1xuICAgIC0tdXU6IDUuMjVweDtcbiAgfVxufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkljb25zXCI7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9pY29tb29uL2ZvbnRzL2ljb21vb24ud29mZj96ODg4OHZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvaWNvbW9vbi9mb250cy9pY29tb29uLnR0Zj96ODg4OHZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCI7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9vcGVuc2Fucy9vcGVuc2Fucy00MDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL29wZW5zYW5zL29wZW5zYW5zLTQwMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCI7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9vcGVuc2Fucy9vcGVuc2Fucy02MDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL29wZW5zYW5zL29wZW5zYW5zLTYwMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCI7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9vcGVuc2Fucy9vcGVuc2Fucy03MDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL29wZW5zYW5zL29wZW5zYW5zLTcwMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCI7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9vcGVuc2Fucy9vcGVuc2Fucy04MDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL29wZW5zYW5zL29wZW5zYW5zLTgwMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiUXVpbmN5IENGXCI7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9xdWluY3ljZi9xdWluY3ljZi00MDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL3F1aW5jeWNmL3F1aW5jeWNmLTQwMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiUXVpbmN5IENGXCI7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9xdWluY3ljZi9xdWluY3ljZi01MDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL3F1aW5jeWNmL3F1aW5jeWNmLTUwMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiUXVpbmN5IENGXCI7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9xdWluY3ljZi9xdWluY3ljZi03MDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL3F1aW5jeWNmL3F1aW5jeWNmLTcwMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG59XG4vKiAgIF9fX19fXyAgX19fX19fXyBfX19fX19fIF9fX19fX19cbiAqICAgfF9fX19fXSB8X19fX198IHxfX19fX18gfF9fX19fX1xuICogICB8X19fX19dIHwgICAgIHwgX19fX19ffCB8X19fX19fXG4qL1xuLnJvb3QxIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4ucm9vdDEsIC5yb290MTpiZWZvcmUsIC5yb290MTphZnRlciwgLnJvb3QxICosIC5yb290MSAqOmJlZm9yZSwgLnJvb3QxICo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4uLWNvbnRhaW4gPiAqLCAuLXJlY29udGFpbiA+ICosIC4tcmVzdHJhaW4ge1xuICB3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tc3gpICogMik7XG4gIG1heC13aWR0aDogdmFyKC0teHcsIHZhcigtLXh3XzEpKTtcbiAgbWF4LXdpZHRoOiBtaW4odmFyKC0teHcsIHZhcigtLXh3XzEpKSwgdmFyKC0teHdfMSkgLSB2YXIoLS1zeCkgKiAyKTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLi1kZWNvbnRhaW4sIC4tcmVjb250YWluIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbn1cblxuLi1icmVha291dCB7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSAtIHZhcigtLXZ3LCAxdncpICogNTApO1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoNTAlIC0gdmFyKC0tdncsIDF2dykgKiA1MCk7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tX3B4LCAwKTtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tX3B4LCAwKTtcbn1cblxuLi1icmVha291dFtjbGFzcyo9XCIteHc6XCJdIHtcbiAgLS1fcHhhOiBjYWxjKHZhcigtLXZ3LCAxdncpICogNTAgLSB2YXIoLS14dykgLyAyICsgdmFyKC0tc3gpKTtcbiAgLS1fcHg6IHZhcigtLV9weGEpO1xuICAtLV9weDogbWF4KHZhcigtLXN4KSx2YXIoLS1fcHhhKSk7XG4gIG1heC13aWR0aDogbm9uZTtcbn1cblxuLi1yZXN0cmFpbltjbGFzcyo9XCIteHc6XCJdIHtcbiAgbWF4LXdpZHRoOiBtaW4odmFyKC0teHcsIHZhcigtLXh3XzEpKSwgdmFyKC0teHdfMSkgLSB2YXIoLS1zeCkgKiAyKTtcbn1cblxuQG1lZGlhIHByaW50IHtcbiAgLi1jb250YWluID4gKiwgLi1yZWNvbnRhaW4gPiAqLCAuLXJlc3RyYWluIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuLWJyZWFrb3V0IHtcbiAgICAtLXZ3OiAxdnc7XG4gIH1cbiAgLi1icmVha291dFtjbGFzcyo9XCIteHc6XCJdIHtcbiAgICAtLV9weDogdmFyKC0tX3B4YSk7XG4gIH1cbn1cbi8qIGdyaWQgKi9cbltncmlkXSwgW2ZsZXhdIHtcbiAgLS1nYzogMjQ7XG4gIC0tZ3g6IHZhcigtLXN4byk7XG4gIC0tZ3k6IHZhcigtLWd4KTtcbiAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tZ3gpICogLTEpO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5bZ3JpZF0gPiAqLCBbZmxleF0gPiAqIHtcbiAgb3JkZXI6IHZhcigtLW8sIDApO1xuICBtaW4td2lkdGg6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG5bZ3JpZF0gPiAqOmJlZm9yZSwgW2ZsZXhdID4gKjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5bZ3JpZF0ge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCh2YXIoLS1nYywgMjQpLCAxZnIpO1xuICBncmlkLXJvdy1nYXA6IHZhcigtLWd5KTtcbn1cblxuW2dyaWR+PWVuZF0ge1xuICBhbGlnbi1pdGVtczogZW5kO1xufVxuXG5bZ3JpZH49bWlkZGxlXSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbltncmlkXSA+ICoge1xuICBncmlkLWNvbHVtbjogdmFyKC0tYywgYXV0bykvc3BhbiB2YXIoLS13LCB2YXIoLS1nYywgMjQpKTtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLWd4KTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG5bZmxleF0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi10b3A6IGNhbGModmFyKC0tZ3kpICogLTEpO1xufVxuXG5bZmxleH49aW5saW5lXSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xufVxuXG5bZmxleH49YmV0d2Vlbl0ge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbltmbGV4fj1yaWdodF0ge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG5bZmxleH49ZW5kXSB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbn1cblxuW2ZsZXh+PWNlbnRlcl0ge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuW2ZsZXh+PW1pZGRsZV0ge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG5bZmxleH49YmFzZWxpbmVdIHtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xufVxuXG5bZmxleH49bm93cmFwXSB7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xufVxuXG5bZmxleF0gPiAqIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAqIHZhcigtLXcsIDApIC8gdmFyKC0tZ2MsIDI0KSAqIDAuOTk5OSAtIHZhcigtLWd4KSk7XG4gIG1hcmdpbjogdmFyKC0tZ3kpIDAgMCB2YXIoLS1neCk7XG59XG5cbltmbGV4fj1hdXRvXSA+ICoge1xuICB3aWR0aDogYXV0bztcbn1cblxuW2ZsZXhdID4gW2dyb3ddIHtcbiAgZmxleC1ncm93OiAxO1xufVxuXG5bZmxleF0gPiBbYXV0b10ge1xuICBmbGV4OiBub25lO1xuICB3aWR0aDogYXV0bztcbn1cblxuW3dePVwiYS9cIl0ge1xuICB3aWR0aDogYXV0bztcbn1cblxuW3dePVwiMS9cIl0ge1xuICAtLXc6MTtcbn1cblxuW3dePVwiMi9cIl0ge1xuICAtLXc6Mjtcbn1cblxuW3dePVwiMy9cIl0ge1xuICAtLXc6Mztcbn1cblxuW3dePVwiNC9cIl0ge1xuICAtLXc6NDtcbn1cblxuW3dePVwiNS9cIl0ge1xuICAtLXc6NTtcbn1cblxuW3dePVwiNi9cIl0ge1xuICAtLXc6Njtcbn1cblxuW3dePVwiNy9cIl0ge1xuICAtLXc6Nztcbn1cblxuW3dePVwiOC9cIl0ge1xuICAtLXc6ODtcbn1cblxuW3dePVwiOS9cIl0ge1xuICAtLXc6OTtcbn1cblxuW3dePVwiMTAvXCJdIHtcbiAgLS13OjEwO1xufVxuXG5bd149XCIxMS9cIl0ge1xuICAtLXc6MTE7XG59XG5cblt3Xj1cIjEyL1wiXSB7XG4gIC0tdzoxMjtcbn1cblxuW3dePVwiMTMvXCJdIHtcbiAgLS13OjEzO1xufVxuXG5bd149XCIxNC9cIl0ge1xuICAtLXc6MTQ7XG59XG5cblt3Xj1cIjE1L1wiXSB7XG4gIC0tdzoxNTtcbn1cblxuW3dePVwiMTYvXCJdIHtcbiAgLS13OjE2O1xufVxuXG5bd149XCIxNy9cIl0ge1xuICAtLXc6MTc7XG59XG5cblt3Xj1cIjE4L1wiXSB7XG4gIC0tdzoxODtcbn1cblxuW3dePVwiMTkvXCJdIHtcbiAgLS13OjE5O1xufVxuXG5bd149XCIyMC9cIl0ge1xuICAtLXc6MjA7XG59XG5cblt3Xj1cIjIxL1wiXSB7XG4gIC0tdzoyMTtcbn1cblxuW3dePVwiMjIvXCJdIHtcbiAgLS13OjIyO1xufVxuXG5bd149XCIyMy9cIl0ge1xuICAtLXc6MjM7XG59XG5cblt3Xj1cIjI0L1wiXSB7XG4gIC0tdzoyNDtcbn1cblxuW2NePVwiLTEvXCJdIHtcbiAgZ3JpZC1jb2x1bW46IHNwYW4gdmFyKC0tdywgdmFyKC0tZ2MsIDI0KSkvLTE7XG59XG5cbltjXj1cIjAvXCJdIHtcbiAgLS1jOjE7XG59XG5cbltjXj1cIjEvXCJdIHtcbiAgLS1jOjI7XG59XG5cbltjXj1cIjIvXCJdIHtcbiAgLS1jOjM7XG59XG5cbltjXj1cIjMvXCJdIHtcbiAgLS1jOjQ7XG59XG5cbltjXj1cIjQvXCJdIHtcbiAgLS1jOjU7XG59XG5cbltjXj1cIjUvXCJdIHtcbiAgLS1jOjY7XG59XG5cbltjXj1cIjYvXCJdIHtcbiAgLS1jOjc7XG59XG5cbltjXj1cIjcvXCJdIHtcbiAgLS1jOjg7XG59XG5cbltjXj1cIjgvXCJdIHtcbiAgLS1jOjk7XG59XG5cbltjXj1cIjkvXCJdIHtcbiAgLS1jOjEwO1xufVxuXG5bY149XCIxMC9cIl0ge1xuICAtLWM6MTE7XG59XG5cbltjXj1cIjExL1wiXSB7XG4gIC0tYzoxMjtcbn1cblxuW2NePVwiMTIvXCJdIHtcbiAgLS1jOjEzO1xufVxuXG5bY149XCIxMy9cIl0ge1xuICAtLWM6MTQ7XG59XG5cbltjXj1cIjE0L1wiXSB7XG4gIC0tYzoxNTtcbn1cblxuW2NePVwiMTUvXCJdIHtcbiAgLS1jOjE2O1xufVxuXG5bY149XCIxNi9cIl0ge1xuICAtLWM6MTc7XG59XG5cbltjXj1cIjE3L1wiXSB7XG4gIC0tYzoxODtcbn1cblxuW2NePVwiMTgvXCJdIHtcbiAgLS1jOjE5O1xufVxuXG5bY149XCIxOS9cIl0ge1xuICAtLWM6MjA7XG59XG5cbltjXj1cIjIwL1wiXSB7XG4gIC0tYzoyMTtcbn1cblxuW2NePVwiMjEvXCJdIHtcbiAgLS1jOjIyO1xufVxuXG5bY149XCIyMi9cIl0ge1xuICAtLWM6MjM7XG59XG5cbltjXj1cIjIzL1wiXSB7XG4gIC0tYzoyNDtcbn1cblxuW29ePVwiLTEvXCJdIHtcbiAgLS1vOi0xO1xufVxuXG5bb149XCIwL1wiXSB7XG4gIC0tbzowO1xufVxuXG5bb149XCIxL1wiXSB7XG4gIC0tbzoxO1xufVxuXG5bb149XCIyL1wiXSB7XG4gIC0tbzoyO1xufVxuXG5bb149XCIzL1wiXSB7XG4gIC0tbzozO1xufVxuXG5AbWVkaWEgcHJpbnQsIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gIFt3Kj1cIi9hL1wiXSB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgW3cqPVwiLzEvXCJdIHtcbiAgICAtLXc6MTtcbiAgfVxuICBbdyo9XCIvMi9cIl0ge1xuICAgIC0tdzoyO1xuICB9XG4gIFt3Kj1cIi8zL1wiXSB7XG4gICAgLS13OjM7XG4gIH1cbiAgW3cqPVwiLzQvXCJdIHtcbiAgICAtLXc6NDtcbiAgfVxuICBbdyo9XCIvNS9cIl0ge1xuICAgIC0tdzo1O1xuICB9XG4gIFt3Kj1cIi82L1wiXSB7XG4gICAgLS13OjY7XG4gIH1cbiAgW3cqPVwiLzcvXCJdIHtcbiAgICAtLXc6NztcbiAgfVxuICBbdyo9XCIvOC9cIl0ge1xuICAgIC0tdzo4O1xuICB9XG4gIFt3Kj1cIi85L1wiXSB7XG4gICAgLS13Ojk7XG4gIH1cbiAgW3cqPVwiLzEwL1wiXSB7XG4gICAgLS13OjEwO1xuICB9XG4gIFt3Kj1cIi8xMS9cIl0ge1xuICAgIC0tdzoxMTtcbiAgfVxuICBbdyo9XCIvMTIvXCJdIHtcbiAgICAtLXc6MTI7XG4gIH1cbiAgW3cqPVwiLzEzL1wiXSB7XG4gICAgLS13OjEzO1xuICB9XG4gIFt3Kj1cIi8xNC9cIl0ge1xuICAgIC0tdzoxNDtcbiAgfVxuICBbdyo9XCIvMTUvXCJdIHtcbiAgICAtLXc6MTU7XG4gIH1cbiAgW3cqPVwiLzE2L1wiXSB7XG4gICAgLS13OjE2O1xuICB9XG4gIFt3Kj1cIi8xNy9cIl0ge1xuICAgIC0tdzoxNztcbiAgfVxuICBbdyo9XCIvMTgvXCJdIHtcbiAgICAtLXc6MTg7XG4gIH1cbiAgW3cqPVwiLzE5L1wiXSB7XG4gICAgLS13OjE5O1xuICB9XG4gIFt3Kj1cIi8yMC9cIl0ge1xuICAgIC0tdzoyMDtcbiAgfVxuICBbdyo9XCIvMjEvXCJdIHtcbiAgICAtLXc6MjE7XG4gIH1cbiAgW3cqPVwiLzIyL1wiXSB7XG4gICAgLS13OjIyO1xuICB9XG4gIFt3Kj1cIi8yMy9cIl0ge1xuICAgIC0tdzoyMztcbiAgfVxuICBbdyo9XCIvMjQvXCJdIHtcbiAgICAtLXc6MjQ7XG4gIH1cbiAgW2MqPVwiLy0xL1wiXSB7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gdmFyKC0tdywgdmFyKC0tZ2MsIDI0KSkvLTE7XG4gIH1cbiAgW2MqPVwiLzAvXCJdIHtcbiAgICAtLWM6MTtcbiAgfVxuICBbYyo9XCIvMS9cIl0ge1xuICAgIC0tYzoyO1xuICB9XG4gIFtjKj1cIi8yL1wiXSB7XG4gICAgLS1jOjM7XG4gIH1cbiAgW2MqPVwiLzMvXCJdIHtcbiAgICAtLWM6NDtcbiAgfVxuICBbYyo9XCIvNC9cIl0ge1xuICAgIC0tYzo1O1xuICB9XG4gIFtjKj1cIi81L1wiXSB7XG4gICAgLS1jOjY7XG4gIH1cbiAgW2MqPVwiLzYvXCJdIHtcbiAgICAtLWM6NztcbiAgfVxuICBbYyo9XCIvNy9cIl0ge1xuICAgIC0tYzo4O1xuICB9XG4gIFtjKj1cIi84L1wiXSB7XG4gICAgLS1jOjk7XG4gIH1cbiAgW2MqPVwiLzkvXCJdIHtcbiAgICAtLWM6MTA7XG4gIH1cbiAgW2MqPVwiLzEwL1wiXSB7XG4gICAgLS1jOjExO1xuICB9XG4gIFtjKj1cIi8xMS9cIl0ge1xuICAgIC0tYzoxMjtcbiAgfVxuICBbYyo9XCIvMTIvXCJdIHtcbiAgICAtLWM6MTM7XG4gIH1cbiAgW2MqPVwiLzEzL1wiXSB7XG4gICAgLS1jOjE0O1xuICB9XG4gIFtjKj1cIi8xNC9cIl0ge1xuICAgIC0tYzoxNTtcbiAgfVxuICBbYyo9XCIvMTUvXCJdIHtcbiAgICAtLWM6MTY7XG4gIH1cbiAgW2MqPVwiLzE2L1wiXSB7XG4gICAgLS1jOjE3O1xuICB9XG4gIFtjKj1cIi8xNy9cIl0ge1xuICAgIC0tYzoxODtcbiAgfVxuICBbYyo9XCIvMTgvXCJdIHtcbiAgICAtLWM6MTk7XG4gIH1cbiAgW2MqPVwiLzE5L1wiXSB7XG4gICAgLS1jOjIwO1xuICB9XG4gIFtjKj1cIi8yMC9cIl0ge1xuICAgIC0tYzoyMTtcbiAgfVxuICBbYyo9XCIvMjEvXCJdIHtcbiAgICAtLWM6MjI7XG4gIH1cbiAgW2MqPVwiLzIyL1wiXSB7XG4gICAgLS1jOjIzO1xuICB9XG4gIFtjKj1cIi8yMy9cIl0ge1xuICAgIC0tYzoyNDtcbiAgfVxuICBbbyo9XCIvLTEvXCJdIHtcbiAgICAtLW86LTE7XG4gIH1cbiAgW28qPVwiLzAvXCJdIHtcbiAgICAtLW86MDtcbiAgfVxuICBbbyo9XCIvMS9cIl0ge1xuICAgIC0tbzoxO1xuICB9XG4gIFtvKj1cIi8yL1wiXSB7XG4gICAgLS1vOjI7XG4gIH1cbiAgW28qPVwiLzMvXCJdIHtcbiAgICAtLW86MztcbiAgfVxufVxuQG1lZGlhIHByaW50LCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgW3ckPVwiLzBcIl0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICBbdyQ9XCIvYVwiXSB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgW3ckPVwiLzFcIl0ge1xuICAgIC0tdzoxO1xuICB9XG4gIFt3JD1cIi8yXCJdIHtcbiAgICAtLXc6MjtcbiAgfVxuICBbdyQ9XCIvM1wiXSB7XG4gICAgLS13OjM7XG4gIH1cbiAgW3ckPVwiLzRcIl0ge1xuICAgIC0tdzo0O1xuICB9XG4gIFt3JD1cIi81XCJdIHtcbiAgICAtLXc6NTtcbiAgfVxuICBbdyQ9XCIvNlwiXSB7XG4gICAgLS13OjY7XG4gIH1cbiAgW3ckPVwiLzdcIl0ge1xuICAgIC0tdzo3O1xuICB9XG4gIFt3JD1cIi84XCJdIHtcbiAgICAtLXc6ODtcbiAgfVxuICBbdyQ9XCIvOVwiXSB7XG4gICAgLS13Ojk7XG4gIH1cbiAgW3ckPVwiLzEwXCJdIHtcbiAgICAtLXc6MTA7XG4gIH1cbiAgW3ckPVwiLzExXCJdIHtcbiAgICAtLXc6MTE7XG4gIH1cbiAgW3ckPVwiLzEyXCJdIHtcbiAgICAtLXc6MTI7XG4gIH1cbiAgW3ckPVwiLzEzXCJdIHtcbiAgICAtLXc6MTM7XG4gIH1cbiAgW3ckPVwiLzE0XCJdIHtcbiAgICAtLXc6MTQ7XG4gIH1cbiAgW3ckPVwiLzE1XCJdIHtcbiAgICAtLXc6MTU7XG4gIH1cbiAgW3ckPVwiLzE2XCJdIHtcbiAgICAtLXc6MTY7XG4gIH1cbiAgW3ckPVwiLzE3XCJdIHtcbiAgICAtLXc6MTc7XG4gIH1cbiAgW3ckPVwiLzE4XCJdIHtcbiAgICAtLXc6MTg7XG4gIH1cbiAgW3ckPVwiLzE5XCJdIHtcbiAgICAtLXc6MTk7XG4gIH1cbiAgW3ckPVwiLzIwXCJdIHtcbiAgICAtLXc6MjA7XG4gIH1cbiAgW3ckPVwiLzIxXCJdIHtcbiAgICAtLXc6MjE7XG4gIH1cbiAgW3ckPVwiLzIyXCJdIHtcbiAgICAtLXc6MjI7XG4gIH1cbiAgW3ckPVwiLzIzXCJdIHtcbiAgICAtLXc6MjM7XG4gIH1cbiAgW3ckPVwiLzI0XCJdIHtcbiAgICAtLXc6MjQ7XG4gIH1cbiAgW2MkPVwiLy0xXCJdIHtcbiAgICBncmlkLWNvbHVtbjogc3BhbiB2YXIoLS13LCB2YXIoLS1nYywgMjQpKS8tMTtcbiAgfVxuICBbYyQ9XCIvMFwiXSB7XG4gICAgLS1jOjE7XG4gIH1cbiAgW2MkPVwiLzFcIl0ge1xuICAgIC0tYzoyO1xuICB9XG4gIFtjJD1cIi8yXCJdIHtcbiAgICAtLWM6MztcbiAgfVxuICBbYyQ9XCIvM1wiXSB7XG4gICAgLS1jOjQ7XG4gIH1cbiAgW2MkPVwiLzRcIl0ge1xuICAgIC0tYzo1O1xuICB9XG4gIFtjJD1cIi81XCJdIHtcbiAgICAtLWM6NjtcbiAgfVxuICBbYyQ9XCIvNlwiXSB7XG4gICAgLS1jOjc7XG4gIH1cbiAgW2MkPVwiLzdcIl0ge1xuICAgIC0tYzo4O1xuICB9XG4gIFtjJD1cIi84XCJdIHtcbiAgICAtLWM6OTtcbiAgfVxuICBbYyQ9XCIvOVwiXSB7XG4gICAgLS1jOjEwO1xuICB9XG4gIFtjJD1cIi8xMFwiXSB7XG4gICAgLS1jOjExO1xuICB9XG4gIFtjJD1cIi8xMVwiXSB7XG4gICAgLS1jOjEyO1xuICB9XG4gIFtjJD1cIi8xMlwiXSB7XG4gICAgLS1jOjEzO1xuICB9XG4gIFtjJD1cIi8xM1wiXSB7XG4gICAgLS1jOjE0O1xuICB9XG4gIFtjJD1cIi8xNFwiXSB7XG4gICAgLS1jOjE1O1xuICB9XG4gIFtjJD1cIi8xNVwiXSB7XG4gICAgLS1jOjE2O1xuICB9XG4gIFtjJD1cIi8xNlwiXSB7XG4gICAgLS1jOjE3O1xuICB9XG4gIFtjJD1cIi8xN1wiXSB7XG4gICAgLS1jOjE4O1xuICB9XG4gIFtjJD1cIi8xOFwiXSB7XG4gICAgLS1jOjE5O1xuICB9XG4gIFtjJD1cIi8xOVwiXSB7XG4gICAgLS1jOjIwO1xuICB9XG4gIFtjJD1cIi8yMFwiXSB7XG4gICAgLS1jOjIxO1xuICB9XG4gIFtjJD1cIi8yMVwiXSB7XG4gICAgLS1jOjIyO1xuICB9XG4gIFtjJD1cIi8yMlwiXSB7XG4gICAgLS1jOjIzO1xuICB9XG4gIFtjJD1cIi8yM1wiXSB7XG4gICAgLS1jOjI0O1xuICB9XG4gIFtvJD1cIi8tMVwiXSB7XG4gICAgLS1vOi0xO1xuICB9XG4gIFtvJD1cIi8wXCJdIHtcbiAgICAtLW86MDtcbiAgfVxuICBbbyQ9XCIvMVwiXSB7XG4gICAgLS1vOjE7XG4gIH1cbiAgW28kPVwiLzJcIl0ge1xuICAgIC0tbzoyO1xuICB9XG4gIFtvJD1cIi8zXCJdIHtcbiAgICAtLW86MztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzE5cHgpIHtcbiAgW3dePVwiMC9cIl0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgW3cqPVwiLzAvXCJdIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi8qIHJldmVhbCAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHtcbiAgW200bl0gW3JldmVhbF06bm90KFtyZXZlYWw9XCJcIl0pLCBbcmV2ZWFsaW5nXSB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogdmFyKC0tcnZ0LCB2YXIoLS10OG5fZDEpKTtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiB2YXIoLS1ydmQsIGNhbGModmFyKC0tcnZxLCAwKSAqIHZhcigtLXJ2cywgMC4wNzVzKSkpO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1ydmUsIGVhc2UpO1xuICB9XG4gIFtyZXZlYWxdLCBbcmV2ZWFsJD1cIi8wXCJdIHtcbiAgICAtLXJ2cTowO1xuICB9XG4gIFtyZXZlYWwkPVwiLzFcIl0ge1xuICAgIC0tcnZxOjE7XG4gIH1cbiAgW3JldmVhbCQ9XCIvMlwiXSB7XG4gICAgLS1ydnE6MjtcbiAgfVxuICBbcmV2ZWFsJD1cIi8zXCJdIHtcbiAgICAtLXJ2cTozO1xuICB9XG4gIFtyZXZlYWwkPVwiLzRcIl0ge1xuICAgIC0tcnZxOjQ7XG4gIH1cbiAgW3JldmVhbCQ9XCIvNVwiXSB7XG4gICAgLS1ydnE6NTtcbiAgfVxuICBbcmV2ZWFsJD1cIi82XCJdIHtcbiAgICAtLXJ2cTo2O1xuICB9XG4gIFtyZXZlYWwkPVwiLzdcIl0ge1xuICAgIC0tcnZxOjc7XG4gIH1cbiAgW3JldmVhbCQ9XCIvOFwiXSB7XG4gICAgLS1ydnE6ODtcbiAgfVxuICBbcmV2ZWFsJD1cIi85XCJdIHtcbiAgICAtLXJ2cTo5O1xuICB9XG4gIFtyZXZlYWwkPVwiLzEwXCJdIHtcbiAgICAtLXJ2cToxMDtcbiAgfVxuICBbcmV2ZWFsJD1cIi8xMVwiXSB7XG4gICAgLS1ydnE6MTE7XG4gIH1cbiAgW3JldmVhbCQ9XCIvMTJcIl0ge1xuICAgIC0tcnZxOjEyO1xuICB9XG4gIFtyZXZlYWwkPVwiLzEzXCJdIHtcbiAgICAtLXJ2cToxMztcbiAgfVxuICBbcmV2ZWFsJD1cIi8xNFwiXSB7XG4gICAgLS1ydnE6MTQ7XG4gIH1cbiAgW3JldmVhbCQ9XCIvMTVcIl0ge1xuICAgIC0tcnZxOjE1O1xuICB9XG4gIFtyZXZlYWwkPVwiLzE2XCJdIHtcbiAgICAtLXJ2cToxNjtcbiAgfVxuICBbcmV2ZWFsJD1cIi8xN1wiXSB7XG4gICAgLS1ydnE6MTc7XG4gIH1cbiAgW3JldmVhbCQ9XCIvMThcIl0ge1xuICAgIC0tcnZxOjE4O1xuICB9XG4gIFtyZXZlYWwkPVwiLzE5XCJdIHtcbiAgICAtLXJ2cToxOTtcbiAgfVxuICBbcmV2ZWFsJD1cIi8yMFwiXSB7XG4gICAgLS1ydnE6MjA7XG4gIH1cbiAgW3JldmVhbF49XCIxXCJdIHtcbiAgICAtLXJ2dDogMC43NXM7XG4gIH1cbiAgW200bl06bm90KFtyZWFkeV0pIFtyZXZlYWxePVwiMSsvXCJdLCBbbTRuXSBbcmV2ZWFsXj1cIjEvXCJdOm5vdChbcmV2ZWFsaW5nXSkge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgW3JldmVhbF49XCIyXCJdIHtcbiAgICAtLXJ2dDogMS4yNXM7XG4gICAgLS1ydmU6IHZhcigtLXQ4bl9lMSk7XG4gICAgY2xpcC1wYXRoOiBpbnNldCgwIDAgMCAwKTtcbiAgICB3aWxsLWNoYW5nZTogY2xpcC1wYXRoO1xuICB9XG4gIFttNG5dOm5vdChbcmVhZHldKSBbcmV2ZWFsXj1cIjJyKy9cIl0sIFttNG5dIFtyZXZlYWxePVwiMnIvXCJdOm5vdChbcmV2ZWFsaW5nXSkge1xuICAgIGNsaXAtcGF0aDogaW5zZXQoMCAwIDAgMTAwJSk7XG4gIH1cbiAgW200bl06bm90KFtyZWFkeV0pIFtyZXZlYWxePVwiMmwrL1wiXSwgW200bl0gW3JldmVhbF49XCIybC9cIl06bm90KFtyZXZlYWxpbmddKSB7XG4gICAgY2xpcC1wYXRoOiBpbnNldCgwIDEwMCUgMCAwKTtcbiAgfVxuICBbcmV2ZWFsXj1cIjNcIl0ge1xuICAgIC0tcnZ0OiAwLjc1cztcbiAgfVxuICBbbTRuXTpub3QoW3JlYWR5XSkgW3JldmVhbF49XCIzKy9cIl0sIFttNG5dIFtyZXZlYWxePVwiMy9cIl06bm90KFtyZXZlYWxpbmddKSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRyZW0pO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi8qICAgX19fX19fXyAgX19fX18gIF9fX19fXyAgXyAgICAgXyBfICAgICAgX19fX19fXyBfX19fX19fXG4gKiAgIHwgIHwgIHwgfCAgICAgfCB8ICAgICBcXCB8ICAgICB8IHwgICAgICB8X19fX19fIHxfX19fX19cbiAqICAgfCAgfCAgfCB8X19fX198IHxfX19fXy8gfF9fX19ffCB8X19fX18gfF9fX19fXyBfX19fX198XG4qL1xuLyoqXG4gKiBAbmFtZSAuYWNjb3JkaW9uMVxuICogQGRlc2NyaXB0aW9uIEFjY29yZGlvblxuICogQGV4YW1wbGUgeyB9XG4gKi9cbi5hY2NvcmRpb24xIHtcbiAgLS1zOiAycmVtO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zMSk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jX28xdCk7XG59XG5cbi5hY2NvcmRpb24xLWVudHJ5IHtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY19vMXQpO1xufVxuXG4uYWNjb3JkaW9uMS10aXRsZSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogdmFyKC0tcykgMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjtcbn1cblxuLmFjY29yZGlvbjEtdGl0bGUgaSB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luOiAwIDAgMCAycmVtO1xuICBjb2xvcjogdmFyKC0tY19hMXQpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG59XG5cbi5hY2NvcmRpb24xLWVudHJ5Li1vcGVuIC5hY2NvcmRpb24xLXRpdGxlIGkge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMykgcm90YXRlKDE4MGRlZyk7XG59XG5cbi5hY2NvcmRpb24xLWRldGFpbHMge1xuICBtYXJnaW46IDA7XG59XG5cbi5hY2NvcmRpb24xLWRldGFpbHM6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogXCJcIjtcbiAgY2xlYXI6IGJvdGg7XG4gIGhlaWdodDogY2FsYyh2YXIoLS1zKSAqIDIpO1xufVxuXG4vKipcbiogQG5hbWUgLmFkZHJlc3MxXG4qIEBkZXNjcmlwdGlvbiBBZGRyZXNzIGJsb2NrXG4qIEBleGFtcGxlIHsgfVxuKi9cbi5hZGRyZXNzMSB7XG4gIC0tcDogMS43NWVtO1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLXApO1xufVxuXG4uYWRkcmVzczEgPiBpOmZpcnN0LWNoaWxkIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiB2YXIoLS1wKTtcbiAgbWFyZ2luOiAwIDAgMCBjYWxjKHZhcigtLXApICogLTEpO1xuICBjb2xvcjogdmFyKC0tY19hMXQpO1xufVxuXG4uYWRkcmVzczEgPiBpOmZpcnN0LWNoaWxkOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogMS4yNWVtO1xufVxuXG4vKipcbiAqIEBuYW1lIC5hbW91bnQxXG4gKiBAZGVzY3JpcHRpb24gQW1vdW50IGxpbmVcbiAqIEBleGFtcGxlIHsgfVxuICovXG4uYW1vdW50MS10eXBlIHtcbiAgLS1neTogMXJlbTtcbn1cblxuLmFtb3VudDEtdHlwZSBsaSB7XG4gIC0tdzogYXV0bztcbn1cblxuLmFtb3VudDEtb3B0aW9ucyB7XG4gIC0tZ3g6IDEuMHJlbTtcbiAgLS1neTogMS42cmVtO1xuICBtYXgtd2lkdGg6IDQ4cmVtO1xufVxuXG4uYW1vdW50MS1zZWxlY3QgaW5wdXRbdHlwZV0ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC0xMDAwMXB4O1xufVxuXG4uYW1vdW50MS1zZWxlY3QgbGFiZWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogMTByZW07XG4gIG1pbi1oZWlnaHQ6IDQuOHJlbTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDJyZW07XG4gIGJvcmRlci1yYWRpdXM6IDIuNHJlbTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLWFvYywgdmFyKC0tY19hMXQpKTtcbiAgY29sb3I6IHZhcigtLWNfYTF0KTtcbiAgZm9udDogNzAwIDEuNnJlbS92YXIoLS1saCkgdmFyKC0tZmZfMSk7XG59XG5cbi5hbW91bnQxLXNlbGVjdCBpbnB1dDpjaGVja2VkICsgbGFiZWwge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jX2ExdCk7XG4gIGNvbG9yOiB2YXIoLS1jX2kxdCk7XG59XG5cbi5hbW91bnQxLWN1cnJlbmN5IHNlbGVjdCB7XG4gIC0tYW9jbjogdmFyKC0tY19hMXQpO1xuICBwYWRkaW5nLXJpZ2h0OiA0LjhyZW07XG4gIGNvbG9yOiB2YXIoLS1jX2ExdCk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5hbW91bnQxLWN1c3RvbVtjbGFzc10ge1xuICAtLXc6IDMwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5hbW91bnQxLWN1c3RvbS4tY3NcXDppIHtcbiAgLS1jX28xdDogdmFyKC0tY19iMSk7XG4gIC0tY19vMnQ6IHZhcigtLWNfYjEpO1xufVxuXG4uYW1vdW50MS1jdXN0b20gbGFiZWxbZm9yXSB7XG4gIC0tbGg6IDVyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogNHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gIGNvbG9yOiB2YXIoLS1jX2QxdCk7XG4gIGZvbnQ6IDQwMCAxLjZyZW0vdmFyKC0tbGgpIHZhcigtLWZmXzEpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5hbW91bnQxLWN1c3RvbSBpbnB1dFt0eXBlXSB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgcGFkZGluZy1sZWZ0OiA0cmVtO1xuICBmb250OiA0MDAgMS42cmVtL3ZhcigtLWxoKSB2YXIoLS1mZl8xKTtcbn1cblxuLmFtb3VudDEtY3VzdG9tIC5idXR0b24xIHtcbiAgZmxleDogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG59XG5cbi5hbW91bnQxLi1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5hbW91bnQxLi1jZW50ZXIgLmFtb3VudDEtdHlwZSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uYW1vdW50MS4tY2VudGVyIC5hbW91bnQxLW9wdGlvbnMge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAuYW1vdW50MS1zZWxlY3QgbGFiZWw6aG92ZXIge1xuICAgIC0tYW9jOiB2YXIoLS1jX2E1dCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcxOXB4KSB7XG4gIC5hbW91bnQxLW9wdGlvbnMge1xuICAgIC0tZ3g6IDFyZW07XG4gIH1cbiAgLmFtb3VudDEtb3B0aW9ucyBsaSB7XG4gICAgLS13OiAxMDtcbiAgfVxufVxuLyoqXG4gKiBAbmFtZSAuYXJjaGl2ZXMxXG4gKiBAZGVzY3JpcHRpb24gQXJjaGl2ZXNcbiAqIEBleGFtcGxlIHsgfVxuICovXG4uYXJjaGl2ZXMxLXdyYXBbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiB3YWl0O1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgb3BhY2l0eTogMC4yO1xufVxuXG4uYXJjaGl2ZXMxLXdyYXBbZGlzYWJsZWRdID4gKiB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uYXJjaGl2ZXMxLW1vcmVbZGlzYWJsZWRdIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG9wYWNpdHk6IDAuMjtcbn1cblxuLyoqXG4gKiBAbmFtZSAuYmlnZ2llMVxuICogQGRlc2NyaXB0aW9uIEJpZyBpbWFnZSB3cmFwcGVyXG4gKiBAZXhhbXBsZSB7IH1cbiAqL1xuLmJpZ2dpZTEge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zMSk7XG59XG5cbi5iaWdnaWUxID4gLmltZzEsIC5iaWdnaWUxID4gLnNsb3QxLCAuYmlnZ2llMSA+IC5lbWJlZDEge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uYmlnZ2llMS1jYXB0aW9uIHtcbiAgbWF4LXdpZHRoOiB2YXIoLS14d181KTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDJyZW0gMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNfbzF0KTtcbn1cblxuLmJpZ2dpZTEtY2FwdGlvbiA+IHNwYW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiA3NGV4O1xufVxuXG4vKipcbiAqIEBuYW1lIC5ib2R5MVxuICogQGRlc2NyaXB0aW9uIEJvZHkgd3JhcHBlclxuICogQGV4YW1wbGUgeyB9XG4gKi9cbi5ib2R5MSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tczMpO1xufVxuXG4uYm9keTEgPiAqIHtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi5ib2R5MSA+IDp3aGVyZShoMiwgaDMpIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tczEpO1xufVxuXG4uYm9keTEgPiA6d2hlcmUoaDQsIGg1LCBoNikge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zMSk7XG59XG5cbi5ib2R5MSA+IDp3aGVyZShmaWd1cmUsIHRhYmxlLCBibG9ja3F1b3RlKSB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXMxKTtcbn1cblxuLmJvZHkxID4gOndoZXJlKDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4uYm9keTEtc2lkZSB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXMyKTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzE5cHgpIHtcbiAgLmJvZHkxID4gKiB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIC5ib2R5MSA+IC4tYnJlYWtvdXQge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmJvZHkxIHtcbiAgICAtLWIxczogY2FsYygoMTAwJSAtIHZhcigtLXh3XzUpKSAvIDIpO1xuICAgIC0tYjFzczogY2FsYyh2YXIoLS1iMXMpIC0gdmFyKC0tczEpKTtcbiAgfVxuICAuYm9keTEtc2lkZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAuYm9keTEtc2lkZS4tbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IHZhcigtLWIxc3MpO1xuICAgIG1hcmdpbi1yaWdodDogLTEwMCU7XG4gIH1cbiAgLmJvZHkxLXNpZGUuLWV2ZW50LWxlZnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuICAuYm9keTEtc2lkZS4tcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB3aWR0aDogdmFyKC0tYjFzcyk7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMDAlO1xuICB9XG4gIC5ib2R5MS1zaWRlLi1zdGlja3kge1xuICAgIHBvc2l0aW9uOiAtd2Via2l0LXN0aWNreTtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogdmFyKC0tczEpO1xuICB9XG4gIC5ib2R5MS1wdWxsIHtcbiAgICAtLWIxczogY2FsYyg1MCUgLSB2YXIoLS14d181KSAvIDIpO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICAuYm9keTEtcHVsbC4tbGVmdCB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1iMXMpO1xuICB9XG4gIC5ib2R5MS1wdWxsLi1yaWdodCB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLWIxcyk7XG4gIH1cbn1cbi8qKlxuKiBAbmFtZSAuYm9keTJcbiogQGRlc2NyaXB0aW9uIC5zcGxpdDEgYm9keVxuKiBAZXhhbXBsZSB7IH1cbiovXG5AbWVkaWEgcHJpbnQsIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gIC5ib2R5MiA+ICoge1xuICAgIG1heC13aWR0aDogdmFyKC0teHdfNSk7XG4gIH1cbn1cbi8qKlxuICogQG5hbWUgLmJyb3cxXG4gKiBAZGVzY3JpcHRpb24gQXJjaGl2ZXMgY291bnQvc29ydCBsaW5lXG4gKiBAZXhhbXBsZSB7IH1cbiAqL1xuLmJyb3cxIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXMxKTtcbiAgcGFkZGluZy1ib3R0b206IDEuNXJlbTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNfbzN0KTtcbn1cblxuLmJyb3cxLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmJyb3cxLXNvcnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gIGZsZXg6IG5vbmU7XG4gIG1hcmdpbjogMCAwIDAgMXJlbTtcbn1cblxuLmJyb3cxLXNvcnQgbGFiZWxbZm9yXSB7XG4gIGZsZXg6IG5vbmU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5icm93MS1zb3J0IHNlbGVjdCB7XG4gIC0tYWhtOiBhdXRvO1xuICAtLWFweDogMDtcbiAgLS1hcHk6IDA7XG4gIC0tYW9zbjogMDtcbiAgLS1saDogMTtcbiAgbWFyZ2luOiAwIDAgMCAxcmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IDAuOHJlbSBhdXRvO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MTlweCkge1xuICAuYnJvdzEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5icm93MS1zb3J0IHtcbiAgICBtYXJnaW46IHZhcigtLXN5KSAwIDA7XG4gIH1cbn1cbi8qKlxuKiBAbmFtZSAuYm94MVxuKiBAZGVzY3JpcHRpb24gQm94XG4qIEBleGFtcGxlIHsgfVxuKi9cbi5ib3gxIHtcbiAgcGFkZGluZzogdmFyKC0tczEpIHZhcigtLXN4KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnJfMSk7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1jX28xdCksIDAgMXJlbSAzcmVtIDEuNXJlbSByZ2JhKHZhcigtLWNfZHh0KSwgMC4xKTtcbn1cblxuLmJveDEuLXNoYWRvd2xlc3Mge1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0tY19vMXQpO1xufVxuXG4vKipcbiogQG5hbWUgLmNhcmQxXG4qIEBkZXNjcmlwdGlvbiBTaW1wbGUgY2FyZFxuKiBAZXhhbXBsZSB7IH1cbiovXG4uY2FyZDEge1xuICAtLXN5OiB2YXIoLS1zMSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNhcmQxID4gKiB7XG4gIC0tc3k6IDJyZW07XG4gIGNvbG9yOiB2YXIoLS1jX2QxdCk7XG59XG5cbi5jYXJkMSA+IC5pbWcxIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLmNhcmQxLi1ob3ZlcnNoYWRvd1tob3Zlcl0gPiAuaW1nMSB7XG4gICAgYm94LXNoYWRvdzogMCAxcmVtIDNyZW0gMS41cmVtIHJnYmEodmFyKC0tY19keHQpLCAwLjEpO1xuICB9XG59XG4vKipcbiogQG5hbWUgLmNhcmQyXG4qIEBkZXNjcmlwdGlvbiBXaGl0ZSBiYWNrZ3JvdW5kIGNhcmRcbiogQGV4YW1wbGUgeyB9XG4qL1xuLmNhcmQyIHtcbiAgLS1zeTogdmFyKC0tczEpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IHZhcigtLXMyKSB2YXIoLS1zMSk7XG59XG5cbi5jYXJkMi1saW5rIHtcbiAgLS1hYmNuOiB2YXIoLS1jX2IxKTtcbiAgLS1hYmNoOiB2YXIoLS1jX2ExdCk7XG4gIC0tYW9jbjogdmFyKC0tY19vMXQpO1xuICAtLWFvY2g6IHZhcigtLWFiY2gpO1xuICAtLWFvc246IDFweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnJfMSk7XG4gIGJveC1zaGFkb3c6IHZhcigtLWFvaSwgaW5zZXQpIHZhcigtLWFveCwgMCkgdmFyKC0tYW95LCAwKSB2YXIoLS1hb2IsIDApIHZhcigtLWFvcywgMCkgdmFyKC0tYW9jLCBjdXJyZW50Q29sb3IpLCAwIDFyZW0gM3JlbSAxLjVyZW0gcmdiYSh2YXIoLS1jX2R4dCksIDAuMSk7XG59XG5cbi5jYXJkMi1tYWluIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogdmFyKC0tY19kMXQpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB2YXIoLS10OG5fcDEpLCBjb2xvcjtcbn1cblxuLmNhcmQyLXRpdGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY2FyZDItbW9yZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNhcmQyLW1vcmUgaSB7XG4gIGNvbG9yOiB2YXIoLS1jX2ExdCk7XG4gIGZvbnQtc2l6ZTogMS41ZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5jYXJkMi1tYWluLCAuY2FyZDItbW9yZSBpIHtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXQ4bl9kMSkgdmFyKC0tdDhuX2UxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdmFyKC0tdDhuX3AxKSwgY29sb3I7XG59XG5cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLmNhcmQyOmhvdmVyIC5jYXJkMi1tb3JlIGkge1xuICAgIGNvbG9yOiB2YXIoLS1jX2QxdCk7XG4gIH1cbn1cbi8qKlxuKiBAbmFtZSAuY2FyZDNcbiogQGRlc2NyaXB0aW9uIENhcmRcbiogQGV4YW1wbGUgeyB9XG4qL1xuLmNhcmQzIHtcbiAgLS1zeTogdmFyKC0tczEpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYXJkMy1saW5rIHtcbiAgLS1hYmNuOiB2YXIoLS1jX2IxKTtcbiAgLS1hYmNoOiB2YXIoLS1jX2I0dCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJyXzEpO1xuICBib3gtc2hhZG93OiB2YXIoLS1hb2ksIGluc2V0KSB2YXIoLS1hb3gsIDApIHZhcigtLWFveSwgMCkgdmFyKC0tYW9iLCAwKSB2YXIoLS1hb3MsIDApIHZhcigtLWFvYywgY3VycmVudENvbG9yKSwgMCAxcmVtIDNyZW0gMS41cmVtIHJnYmEodmFyKC0tY19keHQpLCAwLjEpO1xufVxuXG4uY2FyZDMtaW1hZ2Uge1xuICAtLXN5OiB2YXIoLS1zMik7XG4gIC0tbTogcmFkaWFsLWdyYWRpZW50KDgwJSAxMDAlIGF0IDUwJSAwLCAjMDAwIDEwMCUsIHRyYW5zcGFyZW50IDEwMCUpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1icl8xKSB2YXIoLS1icl8xKSAwIDA7XG4gIC13ZWJraXQtbWFzazogdmFyKC0tbSk7XG4gIG1hc2s6IHZhcigtLW0pO1xufVxuXG4uY2FyZDMtbWFpbiB7XG4gIC0tc3k6IDJyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwIHZhcigtLXMxKSB2YXIoLS1zMSk7XG4gIGNvbG9yOiB2YXIoLS1jX2QxdCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHZhcigtLXQ4bl9wMSksIGNvbG9yO1xufVxuXG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIC5jYXJkMzpob3ZlciAuY2FyZDMtbWFpbiB7XG4gICAgY29sb3I6IHZhcigtLWNfaTF0KTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmNhcmQzLi12MiB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAuY2FyZDMuLXYyIC5jYXJkMy1pbWFnZSB7XG4gICAgLS1tOiByYWRpYWwtZ3JhZGllbnQoMTAwJSAxMDAlIGF0IDEwMCUgNTAlLCAjMDAwIDEwMCUsIHRyYW5zcGFyZW50IDEwMCUpO1xuICAgIG9yZGVyOiAyO1xuICAgIHdpZHRoOiA0Ny41JTtcbiAgICBtYXJnaW46IDAgMCAwIHZhcigtLXMzKTtcbiAgICBib3JkZXItcmFkaXVzOiAwIHZhcigtLWJyXzEpIHZhcigtLWJyXzEpIDA7XG4gIH1cbiAgLmNhcmQzLi12MiAuY2FyZDMtbWFpbiB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIHdpZHRoOiA0MHJlbTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiB2YXIoLS1zMSk7XG4gIH1cbn1cbi8qKlxuKiBAbmFtZSAuY2FyZDRcbiogQGRlc2NyaXB0aW9uIEhvcml6b250YWwgZXZlbnQgY2FyZFxuKiBAZXhhbXBsZSB7IH1cbiovXG4uY2FyZDQge1xuICAtLXN5OiAycmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYXJkNC1saW5rIHtcbiAgLS1hYmNuOiB2YXIoLS1jX2IxKTtcbiAgLS1hYmNoOiB2YXIoLS1jX2ExKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnJfMSk7XG4gIGJveC1zaGFkb3c6IHZhcigtLWFvaSwgaW5zZXQpIHZhcigtLWFveCwgMCkgdmFyKC0tYW95LCAwKSB2YXIoLS1hb2IsIDApIHZhcigtLWFvcywgMCkgdmFyKC0tYW9jLCBjdXJyZW50Q29sb3IpLCAwIDFyZW0gM3JlbSAxLjVyZW0gcmdiYSh2YXIoLS1jX2R4dCksIDAuMSk7XG59XG5cbi5jYXJkNC1pbWFnZSB7XG4gIC0tc3k6IDA7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJyXzEpIHZhcigtLWJyXzEpIDZyZW0gMDtcbn1cblxuLmNhcmQ0LW1haW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IHZhcigtLXN4KTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdmFyKC0tdDhuX3AxKSwgY29sb3I7XG59XG5cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLmNhcmQ0LWxpbms6aG92ZXIgfiAuY2FyZDQtbWFpbiB7XG4gICAgY29sb3I6IHZhcigtLWNfaTF0KTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCAobWluLXdpZHRoOiA3MjBweCkge1xuICAuY2FyZDQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbiAgLmNhcmQ0LWltYWdlW2NsYXNzXSB7XG4gICAgZmxleDogbm9uZTtcbiAgICB3aWR0aDogMjglO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJyXzEpIDZyZW0gMCB2YXIoLS1icl8xKTtcbiAgfVxuICAuY2FyZDQtbWFpbiB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIHBhZGRpbmc6IHZhcigtLXMxKSB2YXIoLS1zMyk7XG4gIH1cbn1cbi8qKlxuKiBAbmFtZSAuY2FyZDVcbiogQGRlc2NyaXB0aW9uIFRhZ2dlZCBjYXJkXG4qIEBleGFtcGxlIHsgfVxuKi9cbi5jYXJkNSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNhcmQ1LWxpbmsge1xuICAtLWFiY246IHZhcigtLWNfYjEpO1xuICAtLWFiY2g6IHZhcigtLWNfYTEpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1icl8xKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tYW9pLCBpbnNldCkgdmFyKC0tYW94LCAwKSB2YXIoLS1hb3ksIDApIHZhcigtLWFvYiwgMCkgdmFyKC0tYW9zLCAwKSB2YXIoLS1hb2MsIGN1cnJlbnRDb2xvciksIDAgMXJlbSAzcmVtIDEuNXJlbSByZ2JhKHZhcigtLWNfZHh0KSwgMC4xKTtcbn1cblxuLmNhcmQ1LWltYWdlIHtcbiAgLS1zeTogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY2FyZDUtZmlndXJlIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJyXzEpIHZhcigtLWJyXzEpIDAgMDtcbn1cblxuLmNhcmQ1LWxhYmVsIHtcbiAgLS1pOiAycmVtO1xuICAtLWk6IGNsYW1wKDJyZW0sIDUlLCAzcmVtKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiB2YXIoLS1pKTtcbiAgdG9wOiB2YXIoLS1pKTtcbn1cblxuLmNhcmQ1LW1haW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IHZhcigtLXMxKSB2YXIoLS1zeCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHZhcigtLXQ4bl9wMSksIGNvbG9yO1xufVxuXG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIC5jYXJkNS1saW5rOmhvdmVyIH4gLmNhcmQ1LW1haW4ge1xuICAgIGNvbG9yOiB2YXIoLS1jX2kxdCk7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgLmNhcmQ1Li12MiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfSAvKiBob3Jpem9udGFsIHNwbGl0ICovXG4gIC5jYXJkNS4tdjIgLmNhcmQ1LWltYWdlIHtcbiAgICBmbGV4OiBub25lO1xuICAgIHdpZHRoOiA1MCU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIC5jYXJkNS4tdjIgLmNhcmQ1LWZpZ3VyZSB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnJfMSkgMCAwIHZhcigtLWJyXzEpO1xuICB9XG4gIC5jYXJkNS4tdjIgLmNhcmQ1LW1haW4ge1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICBtYXgtd2lkdGg6IDU0cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiB2YXIoLS1zMSk7XG4gIH1cbiAgLyogcmV2ZXJzZWQgKi9cbiAgLmNhcmQ1Li12Mi4tZmxpcCAuY2FyZDUtaW1hZ2Uge1xuICAgIG9yZGVyOiAyO1xuICB9XG4gIC5jYXJkNS4tdjIuLWZsaXAgLmNhcmQ1LWZpZ3VyZSB7XG4gICAgYm9yZGVyLXJhZGl1czogMCB2YXIoLS1icl8xKSB2YXIoLS1icl8xKSAwO1xuICB9XG4gIC5jYXJkNS4tdjIuLWZsaXAgLmNhcmQ1LWxhYmVsIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiB2YXIoLS1pKTtcbiAgfVxufVxuLyoqXG4qIEBuYW1lIC5jYXJkNlxuKiBAZGVzY3JpcHRpb24gUmVzb3VyY2UgY2FyZFxuKiBAZXhhbXBsZSB7IH1cbiovXG4uY2FyZDYge1xuICAtLWFvc246IDFweDtcbiAgLS1hb2NuOiByZ2JhKHZhcigtLWNfZHh0KSwgMC4yKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiBtaW4oM3JlbSwgdmFyKC0tc3gpKTtcbn1cblxuLmNhcmQ2Li10aWdodCB7XG4gIHBhZGRpbmc6IDJyZW07XG59XG5cbi5jYXJkNi4tY3NcXDppIHtcbiAgLS1hb3NuOiAwO1xufVxuXG4uY2FyZDYtbGluayB7XG4gIC0tYWJjbjogdmFyKC0tY19iMXQpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1icl8xKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tYW9pLCBpbnNldCkgdmFyKC0tYW94LCAwKSB2YXIoLS1hb3ksIDApIHZhcigtLWFvYiwgMCkgdmFyKC0tYW9zLCAwKSB2YXIoLS1hb2MsIGN1cnJlbnRDb2xvciksIDAgMXJlbSAzcmVtIDEuNXJlbSByZ2JhKHZhcigtLWNfZHgpLCAwLjEpO1xufVxuXG4uY2FyZDYtaW1hZ2Uge1xuICAtLWJyOiBjYWxjKHZhcigtLWJyXzEpICogMC42NSk7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCB2YXIoLS1icikgdmFyKC0tYnIpO1xufVxuXG4uY2FyZDYtbWFpbiB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogdmFyKC0tY19kMXQpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB2YXIoLS10OG5fcDEpLCBjb2xvcjtcbn1cblxuLmNhcmQ2LW1haW4gPiAqIHtcbiAgLS1zeTogMS42cmVtO1xufVxuXG4uY2FyZDYtYnJvdzphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogNnJlbTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogMS4ycmVtIDAgMDtcbiAgYmFja2dyb3VuZDogY3VycmVudENvbG9yO1xuICBjb2xvcjogdmFyKC0tY19hMXQpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB2YXIoLS10OG5fcDEpLCBjb2xvcjtcbn1cblxuLmNhcmQ2Li1jc1xcOmkgLmNhcmQ2LWJyb3c6YWZ0ZXIge1xuICBjb2xvcjogdmFyKC0tY19kMXQpO1xufVxuXG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIC5jYXJkNjpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcmVtKTtcbiAgfVxufVxuLyoqXG4qIEBuYW1lIC5jYXJkN1xuKiBAZGVzY3JpcHRpb24gSG9yaXpvbnRhbCBjYXJkXG4qIEBleGFtcGxlIHsgfVxuKi9cbi5jYXJkNyB7XG4gIC0tc3k6IHZhcigtLXMxKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY2FyZDctaW1hZ2Uge1xuICAtLXN5OiAycmVtO1xufVxuXG4uY2FyZDctbWFpbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdmFyKC0tdDhuX3AxKSwgY29sb3I7XG59XG5cbi5jYXJkNy10aXRsZSB7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHZhcigtLXQ4bl9wMiksIGNvbG9yO1xufVxuXG4uY2FyZDctY2F0ZWdvcnlbY2xhc3NdIHtcbiAgLS1zeTogMC42cmVtO1xufVxuXG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIC5jYXJkNy1saW5rOmhvdmVyIH4gLmNhcmQ3LW1haW4gLmNhcmQ3LXRpdGxlIHtcbiAgICBjb2xvcjogdmFyKC0tY19hMXQpO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gIC5jYXJkNyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgfVxuICAuY2FyZDcuLXNlcFxcPnMge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXMxKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY19vMXQpO1xuICB9XG4gIC5jYXJkNy4tc2VwXFw+cyArIC5jYXJkNyB7XG4gICAgYm9yZGVyLXRvcDogdmFyKC0tczEpIHNvbGlkIHRyYW5zcGFyZW50O1xuICB9XG4gIC5jYXJkNy1pbWFnZSB7XG4gICAgZmxleDogbm9uZTtcbiAgICBtYXgtd2lkdGg6IDM1JTtcbiAgICBtYXJnaW46IDAgdmFyKC0tczEpIDAgMDtcbiAgfVxuICAuY2FyZDctbWFpbiB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gIH1cbiAgLmNhcmQ3LWxhYmVsIHtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBtYXgtd2lkdGg6IDM1JTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmNhcmQ3LWltYWdlIHtcbiAgICBtYXgtd2lkdGg6IDMwcmVtO1xuICB9XG4gIC5jYXJkNy1tYWluID4gKiB7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS14d181KTtcbiAgfVxuICAuY2FyZDctbGFiZWwge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgMCAwIHZhcigtLXMxKTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG4vKipcbiogQG5hbWUgLmNhcmQ4XG4qIEBkZXNjcmlwdGlvbiBEb25hdGlvbnMgY2FyZFxuKiBAZXhhbXBsZSB7IH1cbiovXG4uY2FyZDgge1xuICAtLXN5OiAycmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLmNhcmQ4Li1zZXAge1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3kpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY19vMXQpO1xufVxuXG4uY2FyZDggPiAqIHtcbiAgLS1zeTogMDtcbn1cblxuLmNhcmQ4LW51bWJlciB7XG4gIGZsZXg6IG5vbmU7XG4gIG1pbi13aWR0aDogMS4yNWVtO1xufVxuXG4uY2FyZDgtaW1hZ2VbY2xhc3NdIHtcbiAgZmxleDogbm9uZTtcbiAgd2lkdGg6IDVyZW07XG4gIG1hcmdpbjogMCAxLjRyZW0gMCAwO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cbi5jYXJkOC1tYWluIHtcbiAgZmxleC1ncm93OiAxO1xufVxuXG4uY2FyZDgtbWFpbiA+ICoge1xuICAtLXN5OiAwLjZyZW07XG59XG5cbi5jYXJkOCAucHJvZ3Jlc3MyIHtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbn1cblxuQG1lZGlhIHByaW50LCAobWluLXdpZHRoOiA3MjBweCkge1xuICAuY2FyZDgtbnVtYmVyIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIH1cbiAgLmNhcmQ4LWltYWdlW2NsYXNzXSB7XG4gICAgd2lkdGg6IDhyZW07XG4gICAgbWFyZ2luOiAwIDJyZW0gMCAxcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJyXzIpO1xuICB9XG59XG4vKipcbiogQG5hbWUgLmNhcmQ5XG4qIEBkZXNjcmlwdGlvbiBDVEEgY2FyZFxuKiBAZXhhbXBsZSB7IH1cbiovXG4uY2FyZDkge1xuICAtLXN5OiAycmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiBhdXRvO1xuICBhc3BlY3QtcmF0aW86IDE7XG59XG5cbi5jYXJkOS4tc3RyZXRjaCB7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIGFzcGVjdC1yYXRpbzogdW5zZXQ7XG59XG5cbi5jYXJkOS4tY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5jYXJkOS1saW5rIHtcbiAgLS1hdXM6IDtcbiAgLS1hYmduOiA7XG4gIC0tYW9pOiA7XG4gIC0tYW95bjogMXJlbTtcbiAgLS1hb2JuOiAzcmVtO1xuICAtLWFvc246IDEuNXJlbTtcbiAgLS1hb2NuOiB0cmFuc3BhcmVudDtcbiAgLS1hb2NoOiByZ2JhKHZhcigtLWNfZHgpLCAwLjEpO1xuICAtLWFiY246IHZhcigtLWNfYjF0KTtcbiAgLS1hb3I6IHZhcigtLWJyXzEpO1xufVxuXG4uY2FyZDktbWFpbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogdmFyKC0tczEpO1xuICBjb2xvcjogdmFyKC0tY19kMXQpO1xufVxuXG4uY2FyZDkuLXYyIHtcbiAgbWluLWhlaWdodDogMjRyZW07XG59XG5cbkBtZWRpYSBwcmludCB7XG4gIC5jYXJkOS1saW5rW2NsYXNzXSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLWNfZDF0KTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICB9XG59XG4vKipcbiogQG5hbWUgLmNhcmQxMFxuKiBAZGVzY3JpcHRpb24gRXZlbnQgY2FyZFxuKiBAZXhhbXBsZSB7IH1cbiovXG4uY2FyZDEwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY2FyZDEwLWxpbmsge1xuICAtLWF1czogO1xuICAtLWFiZ246IDtcbiAgLS1hb2k6IDtcbiAgLS1hb2NuOiB0cmFuc3BhcmVudDtcbiAgLS1hb2NoOiByZ2JhKHZhcigtLWNfZHgpLCAwLjEpO1xuICAtLWFiY246ICNERkVDRjE7XG4gIC0tYW9yOiB2YXIoLS1icl8xKTtcbiAgYm94LXNoYWRvdzogMCAxcmVtIDNyZW0gMS41cmVtIHZhcigtLWFvYywgY3VycmVudENvbG9yKSwgaW5zZXQgMCAwIDAgMXB4IHZhcigtLWFvYzIsIHZhcigtLWNfYjZ0KSk7XG59XG5cbi5jYXJkMTAtbWFpbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAzMy41cmVtO1xuICBwYWRkaW5nOiB2YXIoLS1zeCk7XG4gIGNvbG9yOiB2YXIoLS1jX2QxdCk7XG59XG5cbi5jYXJkMTAtZGF0ZSB7XG4gIC0tbGg6IDE7XG4gIG1hcmdpbi1ib3R0b206IGF1dG87XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zMik7XG59XG5cbi5jYXJkMTAtZGF0ZSBzcGFuIHtcbiAgLS1saDogMTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jYXJkMTAuLXYyIC5jYXJkMTAtbGluayB7XG4gIC0tYW9jMjogdmFyKC0tY19vMnQpO1xuICAtLWFiY246IHZhcigtLWNfYjEpO1xuICAtLWFiZ246IGxpbmVhci1ncmFkaWVudCgjZjRkNGUyLCB0cmFuc3BhcmVudCA3NSUpO1xufVxuXG5AbWVkaWEgcHJpbnQsIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gIC5jYXJkMTAtbWFpbiB7XG4gICAgbWluLWhlaWdodDogMzZyZW07XG4gICAgcGFkZGluZzogM3JlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50IHtcbiAgLmNhcmQxMC1saW5rIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICB9XG59XG4vKipcbiogQG5hbWUgLmNhcmQxMVxuKiBAZGVzY3JpcHRpb24gRnVuZGVkIHByb2plY3RzXG4qIEBleGFtcGxlIHsgfVxuKi9cbi5jYXJkMTEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYXJkMTEtbGluayB7XG4gIC0tYWJjbjogdmFyKC0tY19iMSk7XG4gIC0tYWJjaDogdmFyKC0tY19iNCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJyXzEpO1xuICBib3gtc2hhZG93OiB2YXIoLS1hb2ksIGluc2V0KSB2YXIoLS1hb3gsIDApIHZhcigtLWFveSwgMCkgdmFyKC0tYW9iLCAwKSB2YXIoLS1hb3MsIDApIHZhcigtLWFvYywgY3VycmVudENvbG9yKSwgMCAxcmVtIDNyZW0gMS41cmVtIHJnYmEodmFyKC0tY19keHQpLCAwLjEpO1xufVxuXG4uY2FyZDExLW1haW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IHZhcigtLXMxKSB2YXIoLS1zeCk7XG4gIGNvbG9yOiB2YXIoLS1jX2QxdCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHZhcigtLXQ4bl9wMSksIGNvbG9yO1xufVxuXG4uY2FyZDExLW1haW4gPiAqIHtcbiAgLS1zeTogMS44cmVtO1xufVxuXG4uY2FyZDExLWxpc3Qge1xuICBtYXJnaW4tdG9wOiAzcmVtO1xuICBwYWRkaW5nOiAwO1xufVxuXG4uY2FyZDExLWxpc3QgbGkge1xuICAtLXN5OiAycmVtO1xufVxuXG4uY2FyZDExLWxpc3QgbGk6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmNhcmQxMS1saXN0IGxpID4gc3Ryb25nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCAwIDAuNXJlbTtcbn1cblxuLmNhcmQxMS1hcnJvdyB7XG4gIC0tbGg6IDE7XG4gIG1hcmdpbi10b3A6IHZhcigtLXMxKTtcbiAgZm9udC1zaXplOiA2cmVtO1xufVxuXG4uY2FyZDExLWFycm93IGkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDFlbTtcbiAgaGVpZ2h0OiAxZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY19iNHQpO1xuICBjb2xvcjogdmFyKC0tY19pMXQpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB2YXIoLS10OG5fcDEpLCBjb2xvcjtcbn1cblxuLmNhcmQxMS1hcnJvdyBpOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogMC41ZW07XG59XG5cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLmNhcmQxMVtob3Zlcl0gLmNhcmQxMS1tYWluIHtcbiAgICAtLWNfZDF0OiB2YXIoLS1jX2kxKTtcbiAgICAtLWNfaTF0OiB2YXIoLS1jX2QxKTtcbiAgfVxuICAuY2FyZDExW2hvdmVyXSAuY2FyZDExLWFycm93IGkge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNfZDF0KTtcbiAgICBjb2xvcjogdmFyKC0tY19pMXQpO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gIC5jYXJkMTEtbWFpbiB7XG4gICAgcGFkZGluZzogdmFyKC0tczIpIHZhcigtLXMzKTtcbiAgfVxuICAuY2FyZDExLWxpc3Qge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICBncmlkLWNvbHVtbi1nYXA6IHZhcigtLXMxKTtcbiAgfVxuICAuY2FyZDExLWxpc3QgbGkge1xuICAgIC0tc3k6IDA7XG4gIH1cbn1cbkBtZWRpYSBwcmludCB7XG4gIC5jYXJkMTEtYXJyb3cgaSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4O1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY29sb3I6IHZhcigtLWNfYjR0KTtcbiAgfVxufVxuLyoqXG4gKiBAbmFtZSAuY2Fyb3VzZWwxXG4gKiBAZGVzY3JpcHRpb24gUXVvdGUgY2Fyb3VzZWxcbiAqIEBleGFtcGxlIHsgfVxuICovXG4uY2Fyb3VzZWwxIHtcbiAgLS13eDogY2FsYygxMDAlIC0gdmFyKC0tcHgpICogMik7XG4gIC0tcHg6IHZhcigtLXN4KTtcbiAgLS1neDogdmFyKC0tc3gpO1xuICAtLWM6IDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tczMpO1xufVxuXG4uY2Fyb3VzZWwxLWVudHJpZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctYm90dG9tOiAxcHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHNjcm9sbC1zbmFwLXR5cGU6IHggbWFuZGF0b3J5O1xuICBzY3JvbGwtcGFkZGluZzogMCB2YXIoLS1weCk7XG4gIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yLXg6IGNvbnRhaW47XG59XG5cbi5jYXJvdXNlbDEtZW50cmllczo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uY2Fyb3VzZWwxLWVudHJ5IHtcbiAgZmxleDogbm9uZTtcbiAgd2lkdGg6IGNhbGModmFyKC0td3gpIC8gdmFyKC0tYykgLSB2YXIoLS1neCkgKiAodmFyKC0tYykgLSAxKSAvIHZhcigtLWMpKTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogMCA0cmVtO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBzY3JvbGwtc25hcC1hbGlnbjogc3RhcnQ7XG59XG5cbi5jYXJvdXNlbDEtZW50cmllcyA+IDpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1weCk7XG59XG5cbi5jYXJvdXNlbDEtZW50cnk6bGFzdC1jaGlsZCB7XG4gIHdpZHRoOiBjYWxjKHZhcigtLXd4KSAvIHZhcigtLWMpIC0gdmFyKC0tZ3gpICogKHZhcigtLWMpIC0gMSkgLyB2YXIoLS1jKSArIHZhcigtLXB4KSk7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLXB4KTtcbn1cblxuLmNhcm91c2VsMS1lbnRyeSB+ICoge1xuICBtYXJnaW4tbGVmdDogdmFyKC0tZ3gpO1xufVxuXG4uY2Fyb3VzZWwxLWVudHJ5IC5xdW90ZTEge1xuICBtYXgtd2lkdGg6IHZhcigtLXh3XzMpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4uY2Fyb3VzZWwxLW5hdiB7XG4gIC0tbGg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiB2YXIoLS1zeCk7XG4gIHJpZ2h0OiB2YXIoLS1zeCk7XG4gIHRvcDogOXJlbTtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDIuNHJlbTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbjpyb290Om5vdChbanNdKSAuY2Fyb3VzZWwxLW5hdiB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uY2Fyb3VzZWwxLW5hdiBhIHtcbiAgLS1hdXM6IDtcbiAgLS1hYmduOiA7XG4gIC0tYXRjbjogdmFyKC0tY19hMXQpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG4uY2Fyb3VzZWwxLW5hdiBhW2Rpc2FibGVkXSB7XG4gIC0tYXRjbjogdmFyKC0tY19kMXQpO1xufVxuXG4uY2Fyb3VzZWwxLW5hdiBhIH4gYSB7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtO1xufVxuXG46cm9vdDpub3QoW2pzXSkgLmNhcm91c2VsMS1uYXYgYSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5AbWVkaWEgcHJpbnQsIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuY2Fyb3VzZWwxIHtcbiAgICAtLWM6IDE7XG4gICAgLS1weDogY2FsYyg1MCUgLSB2YXIoLS14dykgLyAyICsgdmFyKC0tc3gpKTtcbiAgfVxuICAuY2Fyb3VzZWwxLW5hdiB7XG4gICAgdG9wOiAxMnJlbTtcbiAgICBwYWRkaW5nOiAwIGNhbGMoNTB2dyAtIHZhcigtLXh3XzIpIC8gMiAtIHZhcigtLXN4KSk7XG4gIH1cbn1cbi8qKlxuICogQG5hbWUgW2NvbGxhcHNlXVxuICogQGRlc2NyaXB0aW9uIENvbGxhcHNlIGhlbHBlclxuICogQGV4YW1wbGUgeyB9XG4gKi9cbltjb2xsYXBzZV0ge1xuICB3aWxsLWNoYW5nZTogaGVpZ2h0O1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgdmFyKC0tdDhuX2QyKSB2YXIoLS10OG5fZTEpO1xufVxuXG5bY29sbGFwc2VdLi10cmFuc2l0aW9uIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuW2NvbGxhcHNlXS4tZnJvbSB7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuW2NvbGxhcHNlXS4tdG8ge1xuICBoZWlnaHQ6IHZhcigtLWhlaWdodCwgYXV0byk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbltjb2xsYXBzZV06Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiBAbmFtZSAuY29sb3JlZDFcbiAqIEBkZXNjcmlwdGlvbiBUaGVtYWJsZSBlbGVtZW50XG4gKiBAZXhhbXBsZSB7IH1cbiAqL1xuLmNvbG9yZWQxIHtcbiAgYmFja2dyb3VuZDogY3VycmVudENvbG9yO1xuICBjb2xvcjogdmFyKC0tY19iMXQpO1xufVxuXG4uY29sb3JlZDEuLWV4cGFuZCB7XG4gIGJvcmRlci1pbWFnZTogbGluZWFyLWdyYWRpZW50KGN1cnJlbnRDb2xvciwgY3VycmVudENvbG9yKSBmaWxsIDAvMC8wIDEwMHZ3IDA7XG59XG5cbi5jb2xvcmVkMSA+ICoge1xuICBjb2xvcjogdmFyKC0tY19kMXQpO1xufVxuXG5AbWVkaWEgcHJpbnQge1xuICAuY29sb3JlZDEge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gIH1cbiAgLmNvbG9yZWQxLi1leHBhbmQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMXB4IDA7XG4gIH1cbn1cbi8qKlxuKiBAbmFtZSAuY29ubmVjdDFcbiogQGRlc2NyaXB0aW9uIEZvb3RlciBjb25uZWN0XG4qIEBleGFtcGxlIHsgfVxuKi9cbi5jb25uZWN0MSB7XG4gIC0tc3k6IDA7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1zMik7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgjZmZmIDEwJSwgdmFyKC0tY19iNikpO1xufVxuXG4uY29ubmVjdDEtbWFpbiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNvbm5lY3QxLXN1YnNjcmliZSB7XG4gIG1heC13aWR0aDogNDByZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi5jb25uZWN0MS10aXRsZSB7XG4gIC0tc3k6IDJyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNvbm5lY3QxLWxpbmtzIHtcbiAgLS1zeTogMS40cmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMDtcbn1cblxuLmNvbm5lY3QxLWxpbmtzIGxpIHtcbiAgLS1zeTogMDtcbn1cblxuLmNvbm5lY3QxLWxpbmtzIGxpIH4gbGkge1xuICBtYXJnaW4tbGVmdDogdmFyKC0tczEpO1xufVxuXG4uY29ubmVjdDEtbGlua3MgbGk6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmNvbm5lY3QxLWltYWdlIHtcbiAgbWF4LXdpZHRoOiAyOHJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbkBtZWRpYSBwcmludCwgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5jb25uZWN0MS13cmFwIHtcbiAgICAtLXh3OiB2YXIoLS14d18yKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuICAuY29ubmVjdDEtbWFpbiB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gIC5jb25uZWN0MS1zdWJzY3JpYmUge1xuICAgIC0tc3k6IHZhcigtLXMxKTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLmNvbm5lY3QxLXRpdGxlIHtcbiAgICAtLXN5OiB2YXIoLS1zeW8pO1xuICB9XG4gIC5jb25uZWN0MS1zdWJzY3JpYmUgLmZpZWxkYm94MSB7XG4gICAgbWF4LXdpZHRoOiA2MHJlbTtcbiAgfVxuICAuY29ubmVjdDEtbGlua3Mge1xuICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gIH1cbiAgLmNvbm5lY3QxLWltYWdlIHtcbiAgICBhbGlnbi1zZWxmOiBlbmQ7XG4gICAgZmxleDogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDQwcmVtO1xuICAgIG1hcmdpbjogMCAwIDAgdmFyKC0tczMpO1xuICB9XG59XG5AbWVkaWEgcHJpbnQge1xuICAuY29ubmVjdDEge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gIH1cbn1cbi8qKlxuICogQG5hbWUgLmNvbnRlbnQxXG4gKiBAZGVzY3JpcHRpb24gR2xvYmFsIGNvbnRlbnRcbiAqL1xuLmNvbnRlbnQxIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNvbnRlbnQxOmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBhdHRyKGRhdGEtd2FybmluZyk7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMTRyZW0gNHJlbSAycmVtO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDE4NywgMzQsIDM0LCAwLjEpO1xuICBjb2xvcjogcmVkO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAuY29udGVudDE6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MTlweCkge1xuICAuY29udGVudDE6YmVmb3JlIHtcbiAgICBwYWRkaW5nOiAxLjVyZW0gMnJlbTtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgfVxufVxuLyoqXG4gKiBAbmFtZSAuY3Vyc29yMVxuICogQGRlc2NyaXB0aW9uIEFsdGVybmF0aXZlIGN1cnNvclxuICogQGV4YW1wbGUgeyB9XG4gKi9cbi5jdXJzb3IxIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIC5jdXJzb3IxIHtcbiAgICAtLWMxbXg6IC0zdnc7XG4gICAgLS1jMW15OiAtM3ZoO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHk7XG4gIH1cbiAgLmN1cnNvcjEuLWFjdGl2ZSB7XG4gICAgLS1jMXM6IDE7XG4gIH1cbiAgLmN1cnNvcjEtbWFpbiB7XG4gICAgLS1saDogMTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogY2FsYyh2YXIoLS1tcHgsIDApICogMTAwJSk7XG4gICAgdG9wOiBjYWxjKHZhcigtLW1weSwgMCkgKiAxMDAlKTtcbiAgICB3aWR0aDogMWVtO1xuICAgIGhlaWdodDogMWVtO1xuICAgIG1hcmdpbjogLTAuNWVtIDAgMCAtMC41ZW07XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjbG9zZXN0LXNpZGUgY2lyY2xlIGF0IDUwJSwgI0RFRjZGRiwgdHJhbnNwYXJlbnQpO1xuICAgIGZvbnQtc2l6ZTogNjByZW07XG4gICAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1jMXMsIDApKSB0cmFuc2xhdGUzZChjYWxjKHZhcigtLWMxbXgpIC8gMiAtIHZhcigtLW1weCwgMCkgKiB2YXIoLS1jMW14KSksIGNhbGModmFyKC0tYzFteSkgLyAyIC0gdmFyKC0tbXB5LCAwKSAqIHZhcigtLWMxbXkpKSwgMCk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMXMgZWFzZTtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICB9XG59XG4vKipcbiogQG5hbWUgLmRhdGExXG4qIEBkZXNjcmlwdGlvbiBEYXRhIGxpc3RcbiogQGV4YW1wbGUgeyB9XG4qL1xuLmRhdGExIHtcbiAgcGFkZGluZzogMDtcbn1cblxuLmRhdGExIGxpOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5kYXRhMSBsaSBzdHJvbmc6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG59XG5cbkBtZWRpYSBwcmludCwgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgLmRhdGExLi1jMiB7XG4gICAgY29sdW1uczogMjtcbiAgICBjb2x1bW4tZ2FwOiB2YXIoLS1zMSk7XG4gIH1cbn1cbi8qKlxuKiBAbmFtZSAuZGVjb3IxXG4qIEBkZXNjcmlwdGlvbiBEZWNvcmF0aXZlIGdyYWRpZW50XG4qIEBleGFtcGxlIHsgfVxuKi9cbi5kZWNvcjEge1xuICAtLXM6IDEwMHJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5kZWNvcjEtd3JhcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IGNhbGModmFyKC0tcykgKiAtMC4zNSk7XG4gIHRvcDogY2FsYyh2YXIoLS1zKSAqIC0wLjM1KTtcbiAgd2lkdGg6IHZhcigtLXMpO1xuICBoZWlnaHQ6IHZhcigtLXMpO1xuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2xvc2VzdC1zaWRlIGNpcmNsZSBhdCA1MCUsICNERUY2RkYsIHRyYW5zcGFyZW50KTtcbiAgYW5pbWF0aW9uOiBkZWNvcjFhIDEwcyBhbHRlcm5hdGUgaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgZGVjb3IxYSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHNjYWxlKDEpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTM1JSwgNSUsIDApIHNjYWxlKDEuMSk7XG4gIH1cbn1cbkBtZWRpYSBwcmludCB7XG4gIC5kZWNvcjEge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi8qKlxuKiBAbmFtZSAuZGVjb3IyXG4qIEBkZXNjcmlwdGlvbiBEZWNvcmF0aXZlIGdyYWRpZW50IChjZW50ZXJlZClcbiogQGV4YW1wbGUgeyB9XG4qL1xuLmRlY29yMiB7XG4gIC0tbGg6IDBweDtcbiAgLS1veHRsOiAxMHJlbTtcbiAgLS1veHQ6IHZhcigtLW94dHMsIHZhcigtLW94dG0sIHZhcigtLW94dGwpKSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiB2YXIoLS1veHQpO1xuICB6LWluZGV4OiAtMTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiA2MHJlbTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5kZWNvcjItd3JhcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IDFlbTtcbiAgaGVpZ2h0OiAxZW07XG4gIG1hcmdpbjogLTAuNWVtIDAgMCAtMC41ZW07XG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjbG9zZXN0LXNpZGUgY2lyY2xlIGF0IDUwJSwgdmFyKC0tYywgI0Q1RUJGNCksIHRyYW5zcGFyZW50KTtcbiAgYW5pbWF0aW9uOiBkZWNvcjJhIDIuNXMgYWx0ZXJuYXRlIGluZmluaXRlIGVhc2UtaW4tb3V0O1xufVxuXG5Aa2V5ZnJhbWVzIGRlY29yMmEge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHNjYWxlKDEuMSk7XG4gIH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHNjYWxlKDEpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwJSwgMCwgMCkgc2NhbGUoMS4xKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSBhbmQgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgLmRlY29yMiB7XG4gICAgLS1veHQ6IHZhcigtLW94dG0sIHZhcigtLW94dGwpKTtcbiAgICBmb250LXNpemU6IDEwMHJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmRlY29yMiB7XG4gICAgLS1veHQ6IHZhcigtLW94dGwpO1xuICB9XG59XG5AbWVkaWEgcHJpbnQge1xuICAuZGVjb3IyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4vKipcbiogQG5hbWUgLmRvbmF0ZTFcbiogQGRlc2NyaXB0aW9uIERvbmF0ZSBkcm9wYm94XG4qIEBleGFtcGxlIHsgfVxuKi9cbi5kb25hdGUxIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogLTNyZW07XG4gIHRvcDogY2FsYygxMDAlICsgMnJlbSk7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDQ2cmVtO1xuICBwYWRkaW5nOiB2YXIoLS1zMSkgY2FsYyh2YXIoLS1zMSkgKiAwLjc1KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnJfMSk7XG4gIGJveC1zaGFkb3c6IDAgMXJlbSAzcmVtIHJnYmEodmFyKC0tY19keCksIDAuMSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNfYjEpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMXJlbSk7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHZhcigtLXQ4bl9wMik7XG59XG5cbmxpOmhvdmVyID4gLmRvbmF0ZTEge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbmxpOmZvY3VzLXdpdGhpbiA+IC5kb25hdGUxIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICBvcGFjaXR5OiAxO1xufVxuXG4uZG9uYXRlMTpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiA2LjVyZW07XG4gIGJvdHRvbTogMTAwJTtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyOiAxcmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDEuNHJlbSAxcmVtO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1jX2IxKTtcbn1cblxuLmRvbmF0ZTE6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMTAwJTtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMnJlbTtcbn1cblxuLmRvbmF0ZTEtZmllbGRzIHtcbiAgLS1zeTogMXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5kb25hdGUxLWZpZWxkcyA+ICoge1xuICBmbGV4OiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5kb25hdGUxLWZpZWxkcyA+ICogfiAqIHtcbiAgbWFyZ2luLWxlZnQ6IDAuOHJlbTtcbn1cblxuLmRvbmF0ZTEtc3ltYm9sIHtcbiAgLS1saDogNXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAycmVtO1xuICB0b3A6IDA7XG4gIGNvbG9yOiB2YXIoLS1jX2ExdCk7XG59XG5cbi5kb25hdGUxLWFtb3VudCBpbnB1dFt0eXBlXSB7XG4gIC0tYWhtOiA1cmVtO1xuICAtLWFweDogM3JlbTtcbiAgLS1hb2NuOiB2YXIoLS1jX2ExdCk7XG4gIC0tYXRjbjogdmFyKC0tY19hMXQpO1xuICB3aWR0aDogMTFyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5kb25hdGUxLXR5cGUgc2VsZWN0IHtcbiAgLS1haG06IDVyZW07XG4gIC0tYW9jbjogdmFyKC0tY19hMXQpO1xuICBwYWRkaW5nLXJpZ2h0OiA0LjhyZW07XG4gIGNvbG9yOiB2YXIoLS1jX2ExdCk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5kb25hdGUxLWFjdGlvbiB7XG4gIGZsZXgtZ3JvdzogMTtcbn1cblxuLmRvbmF0ZTEtYWN0aW9uIC5idXR0b24xIHtcbiAgLS1hcHg6IDIuNHJlbTtcbiAgLS1hd206IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKipcbiAqIEBuYW1lIC5kcmF3ZXIxXG4gKiBAZGVzY3JpcHRpb24gU2xpZGluZyBkcmF3ZXJcbiAqIEBleGFtcGxlIHsgfVxuICovXG4uZHJhd2VyMSB7XG4gIC0tdzogMzJyZW07XG4gIC0taDogNzV2aDtcbiAgLS1keDogLTE7XG4gIC0tcHg6IHZhcigtLXMxKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDIwMTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IHZhcigtLXcpO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBib3gtc2hhZG93OiAwIDAgNHJlbSByZ2JhKHZhcigtLWNfZHgpLCAwLjE1KTtcbiAgYmFja2dyb3VuZDogY3VycmVudENvbG9yO1xuICBjb2xvcjogdmFyKC0tY19iMnQpO1xuICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdDhuX2QyKSB2YXIoLS10OG5fZTEpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB2YXIoLS10OG5fcDEpO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xufVxuXG4uZHJhd2VyMS4tcmlnaHQge1xuICAtLWR4OiAxO1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bztcbn1cblxuLmRyYXdlcjEuLWJvdHRvbSwgLmRyYXdlcjEuLXRvcCB7XG4gIC0tdzogMTAwJTtcbiAgLS1keDogMDtcbiAgLS1keTogLTE7XG4gIC0tcHg6IHZhcigtLXN4KTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiB2YXIoLS1oKTtcbiAgbWF4LWhlaWdodDogbWluKHZhcigtLWgpLCAxMDAlKTtcbn1cblxuLmRyYXdlcjEuLWJvdHRvbSB7XG4gIC0tZHk6IDE7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAwO1xufVxuXG4uZHJhd2VyMS4tZnJvbSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKHZhcigtLWR4LCAwKSAqIDEwMCUpKSB0cmFuc2xhdGVZKGNhbGModmFyKC0tZHksIDApICogMTAwJSkpO1xufVxuXG4uZHJhd2VyMSA+ICoge1xuICBjb2xvcjogdmFyKC0tY19kMXQpO1xuICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdDhuX2QyKSB2YXIoLS10OG5fZTEpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB2YXIoLS10OG5fcDEpO1xufVxuXG4uZHJhd2VyMS4tZnJvbSA+ICoge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYyh2YXIoLS1keCwgMCkgKiAtMTByZW0pKSB0cmFuc2xhdGVZKGNhbGModmFyKC0tZHksIDApICogLTEwcmVtKSk7XG59XG5cbi5kcmF3ZXIxLWNsb3NlIHtcbiAgLS1saDogMTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAyO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDEuNnJlbSAxLjhyZW07XG4gIGZvbnQtc2l6ZTogMnJlbTtcbn1cblxuLmRyYXdlcjEtd3JhcCB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjtcbn1cblxuLmRyYXdlcjEtd3JhcDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uZHJhd2VyMS1tYWluIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLXB4KSAqIDIpO1xuICBtYXgtd2lkdGg6IHZhcigtLXh3XzEpO1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogNi40cmVtIDAgMDtcbn1cblxuLmRyYXdlcjEuLWJvdHRvbSAuZHJhd2VyMS1tYWluOmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGhlaWdodDogbWF4KGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSArIDIuNXJlbSwgdmFyKC0tcHgpKTtcbn1cblxuLmRyYXdlcjEuLXNlYXJjaCB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtaW4taGVpZ2h0OiAxOHJlbTtcbn1cblxuLmRyYXdlcjEuLXNlYXJjaCAuZHJhd2VyMS13cmFwIHtcbiAgZmxleC1ncm93OiAwO1xufVxuXG4uZHJhd2VyMS4tc2VhcmNoIC5kcmF3ZXIxLW1haW4ge1xuICBwYWRkaW5nOiB2YXIoLS1zMikgMDtcbiAgcGFkZGluZzogbWF4KHZhcigtLXMyKSwgNXJlbSkgMDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzE5cHgpIHtcbiAgLmRyYXdlcjEge1xuICAgIC0tcHg6IHZhcigtLXN4KTtcbiAgfVxufVxuLyoqXG4gKiBAbmFtZSAuZW1iZWQxXG4gKiBAZGVzY3JpcHRpb24gUmVzcG9uc2l2ZSBlbWJlZHNcbiAqL1xuLmVtYmVkMSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5lbWJlZDE6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1yLCAwLjU2MjUpICogMTAwJSk7XG59XG5cbi5lbWJlZDEgaWZyYW1lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi8qKlxuICogQG5hbWUgLmVycm9yMVxuICogQGRlc2NyaXB0aW9uIEVycm9yIHBhZ2Ugb3ZlcmxheVxuICovXG4uZXJyb3IxIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDIwMTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgaGVpZ2h0OiB2YXIoLS12aHgpO1xuICBtYXJnaW46IDA7XG4gIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmVycm9yMS13cmFwIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLmVycm9yMS1jb2RlIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDguMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG9wYWNpdHk6IDAuMjtcbn1cblxuLmVycm9yMS10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi5lcnJvcjEtaW5mbyB7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tc3kpIC8gMik7XG59XG5cbi8qKlxuICogQG5hbWUgLmZpZWxkczFcbiAqIEBkZXNjcmlwdGlvbiBGb3JtIGZpZWxkc1xuICogQGV4YW1wbGUgeyB9XG4gKi9cbi5maWVsZHMxIHtcbiAgLS1neDogM3JlbTtcbiAgLS1neTogMnJlbTtcbn1cblxuLmZpZWxkczEgPiA6bm90KFt3XSkge1xuICAtLXc6IDI0O1xufVxuXG4uZmllbGRzMSBsYWJlbDpmaXJzdC1jaGlsZCB7XG4gIC0tbGg6IDEuMzM7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250OiA3MDAgMS42cmVtL3ZhcigtLWxoKSB2YXIoLS1mZl8xKTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjA0ZW07XG59XG5cbi5maWVsZHMxIGVtIHtcbiAgY29sb3I6IHZhcigtLWNfZTF0KTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4vKipcbiAqIEBuYW1lIC5maWVsZGJveDFcbiAqIEBkZXNjcmlwdGlvbiBGaWVsZHMgY29tYm8gd2l0aCBpY29uXG4gKiBAZXhhbXBsZSB7IH1cbiAqL1xuLmZpZWxkYm94MSB7XG4gIC0taDogNC44cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5maWVsZGJveDEgaW5wdXRbdHlwZV0ge1xuICAtLWFobTogdmFyKC0taCk7XG4gIC0tYWJjbjogdmFyKC0tY19iMSk7XG4gIC0tYW9yOiBjYWxjKHZhcigtLWFobSkgLyAyKTtcbiAgLS1hdGNuOiB2YXIoLS1jX2QxKTtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tYWhtKTtcbn1cblxuLmZpZWxkYm94MSAuYnV0dG9uMSB7XG4gIC0tYXdtOiB2YXIoLS1haG0pO1xuICAtLWFobTogdmFyKC0taCk7XG4gIC0tYXB4OiAwO1xuICAtLWFweTogMDtcbiAgLS1hb3I6IDA7XG4gIC0tYXRjbjogdmFyKC0tY19kMXQpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwLjVyZW07XG4gIHRvcDogMDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgZm9udC1zaXplOiBjYWxjKHZhcigtLWgpICogMC42KTtcbn1cblxuQG1lZGlhIHByaW50LCAobWluLXdpZHRoOiA3MjBweCkge1xuICAuZmllbGRib3gxIHtcbiAgICAtLWg6IDZyZW07XG4gIH1cbn1cbi8qKlxuICogQG5hbWUgLmZpZWxkYm94MlxuICogQGRlc2NyaXB0aW9uIEZpZWxkcyBjb21ibyB3aXRoIHJlZ3VsYXIgYnV0dG9uXG4gKiBAZXhhbXBsZSB7IH1cbiAqL1xuLmZpZWxkYm94MiB7XG4gIC0taDogNC44cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5maWVsZGJveDIgaW5wdXRbdHlwZV0ge1xuICAtLWFobTogdmFyKC0taCk7XG4gIC0tYWJjbjogdmFyKC0tY19iMSk7XG4gIC0tYW9yOiBjYWxjKHZhcigtLWFobSkgLyAyKTtcbiAgLS1hdGNuOiB2YXIoLS1jX2QxKTtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tYWhtKTtcbn1cblxuLmZpZWxkYm94MiAuYnV0dG9uMSB7XG4gIC0tYXdtOiAxMDAlO1xuICAtLWFobTogdmFyKC0taCk7XG4gIG1hcmdpbi10b3A6IDFyZW07XG59XG5cbkBtZWRpYSBwcmludCwgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgLmZpZWxkYm94MiB7XG4gICAgLS1oOiA2cmVtO1xuICB9XG4gIC5maWVsZGJveDIgLmJ1dHRvbjEge1xuICAgIC0tYXdtOiAxOHJlbTtcbiAgICAtLWFobTogdmFyKC0taCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbi8qKlxuKiBAbmFtZSAuZmlsdGVyczFcbiogQGRlc2NyaXB0aW9uIEFyY2hpdmUgZmlsdGVyc1xuKiBAZXhhbXBsZSB7IH1cbiovXG4uZmlsdGVyczEge1xuICAtLXN5OiB2YXIoLS1zMik7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNfYjJ0KTtcbn1cblxuLmZpbHRlcnMxLXRpdGxlIHtcbiAgLS1zeTogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogM3JlbSAwO1xufVxuXG4uZmlsdGVyczEtdGl0bGUgPiBpIHtcbiAgLS1saDogMTtcbiAgY29sb3I6IHZhcigtLWNfYTF0KTtcbiAgZm9udC1zaXplOiAxLjVlbTtcbn1cblxuLmZpbHRlcnMxLXRpdGxlID4gc3BhbiB7XG4gIHBhZGRpbmc6IDAgMXJlbTtcbn1cblxuLmZpbHRlcnMxLWFuZ2xlIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbi5maWx0ZXJzMS4tYWN0aXZlIC5maWx0ZXJzMS1hbmdsZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG59XG5cbi5maWx0ZXJzMS1tYWluIHtcbiAgLS1zeTogM3JlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmZpbHRlcnMxLW1haW46YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogXCJcIjtcbiAgaGVpZ2h0OiB2YXIoLS1zeSk7XG59XG5cbi5maWx0ZXJzMS1ibG9jayB7XG4gIC0tc3k6IGluaGVyaXQ7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1zeSk7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jX28xdCk7XG59XG5cbi5maWx0ZXJzMS1zdWJ0aXRsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5maWx0ZXJzMS1zdWJ0aXRsZSBpIHtcbiAgLS1saDogMTtcbiAgZmxleDogbm9uZTtcbiAgbWFyZ2luOiAwIDAuNzVyZW0gMCAwO1xuICBjb2xvcjogdmFyKC0tY19hMXQpO1xuICBmb250LXNpemU6IDEuNWVtO1xufVxuXG4uZmlsdGVyczEtdGlja3Mge1xuICBwYWRkaW5nOiAwO1xufVxuXG4uZmlsdGVyczEtdGlja3MgbGk6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmZpbHRlcnMxLXRvZ2dsZXJbY2xhc3NdIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhIHByaW50LCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmZpbHRlcnMxLXdyYXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC5maWx0ZXJzMS10aXRsZSB7XG4gICAgZmxleDogbm9uZTtcbiAgICBtaW4td2lkdGg6IDEyLjUlO1xuICAgIG1pbi1oZWlnaHQ6IDhyZW07XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbiAgLmZpbHRlcnMxLWFuZ2xlW2NsYXNzXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuZmlsdGVyczEtbWFpbiB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGhlaWdodDogOHJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICB9XG4gIC5maWx0ZXJzMS4tZGVza3RvcCAuZmlsdGVyczEtbWFpbiB7XG4gICAgaGVpZ2h0OiAzM3JlbTtcbiAgfVxuICAuZmlsdGVyczE6Zm9jdXMtd2l0aGluIC5maWx0ZXJzMS1tYWluIHtcbiAgICBoZWlnaHQ6IDMzcmVtO1xuICB9XG4gIC5maWx0ZXJzMS1ibG9jayB7XG4gICAgLS1zeTogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAwIDAgNHJlbTtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICB9XG4gIC5maWx0ZXJzMS1ibG9jazpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAtMi41cHg7XG4gICAgdG9wOiAxcmVtO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgaGVpZ2h0OiA2cmVtO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tY19vMXQpO1xuICB9XG4gIC5maWx0ZXJzMS1ibG9jazpmaXJzdC1jaGlsZDpiZWZvcmUge1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgLmZpbHRlcnMxLXN1YnRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1pbi1oZWlnaHQ6IDhyZW07XG4gIH1cbiAgLmZpbHRlcnMxLXRpY2tzIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBoZWlnaHQ6IDI1cmVtO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgfVxuICAuZmlsdGVyczEtdGlja3M6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICB3aWR0aDogNHB4O1xuICB9XG4gIC5maWx0ZXJzMS10aWNrczo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jX28ydCk7XG4gIH1cbiAgLmZpbHRlcnMxLXRpY2tzID4gOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICB9XG4gIC5maWx0ZXJzMS10b2dnbGVyW2NsYXNzXSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1pbi1oZWlnaHQ6IDhyZW07XG4gICAgY29sb3I6IHZhcigtLWNfYTF0KTtcbiAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgfVxuICAuZmlsdGVyczEtdG9nZ2xlcjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA4cmVtO1xuICB9XG4gIC5maWx0ZXJzMS4tZGVza3RvcCAuZmlsdGVyczEtdG9nZ2xlcjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIH1cbn1cbkBtZWRpYSBwcmludCB7XG4gIC5maWx0ZXJzMSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY19vMXQpO1xuICAgIGJvcmRlci13aWR0aDogMXB4IDA7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgfVxufVxuLyoqXG4qIEBuYW1lIC5maWx0ZXJzMlxuKiBAZGVzY3JpcHRpb24gQXJjaGl2ZSBmaWx0ZXJzXG4qIEBleGFtcGxlIHsgfVxuKi9cbi5maWx0ZXJzMi1lbnRyaWVzIHtcbiAgLS1zeTogMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMDtcbn1cblxuLmZpbHRlcnMyLWVudHJpZXMgbGkge1xuICAtLXN5OiAwO1xufVxuXG4uZmlsdGVyczItZW50cmllcyBsaSB+IGxpIHtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbn1cblxuLmZpbHRlcnMyLWVudHJpZXMgbGk6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmZpbHRlcnMyLWVudHJpZXMgaW5wdXRbdHlwZV0ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC0xMDAwMXB4O1xufVxuXG4uZmlsdGVyczItZW50cmllcyBsYWJlbFtmb3JdIHtcbiAgLS1saDogM3JlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAgMS41cmVtO1xuICBib3JkZXItcmFkaXVzOiAxLjVyZW07XG59XG5cbi5maWx0ZXJzMi1lbnRyaWVzIGxhYmVsW2Zvcl0gc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uZmlsdGVyczItZW50cmllcyA6Y2hlY2tlZCArIGxhYmVsW2Zvcl0ge1xuICBiYWNrZ3JvdW5kOiAjZGZlN2U4O1xufVxuXG4uZmlsdGVyczItZW50cmllcyA6Y2hlY2tlZCArIGxhYmVsW2Zvcl0gc3BhbiB7XG4gIGJveC1zaGFkb3c6IDAgMXB4O1xufVxuXG4uZmlsdGVyczItc2VsZWN0IHtcbiAgLS1zeTogMDtcbn1cblxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAuZmlsdGVyczItZW50cmllcyBsYWJlbFtmb3JdOmhvdmVyID4gc3BhbiB7XG4gICAgYm94LXNoYWRvdzogMCAxcHg7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgLmZpbHRlcnMyLi1zZXBcXD5zIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zMSk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXMxKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY19vMXQpO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuZmlsdGVyczItZW50cmllcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuICAuZmlsdGVyczItc2VsZWN0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4vKipcbiogQG5hbWUgLmZpeGVyMVxuKiBAZGVzY3JpcHRpb24gQ2hyb21lIHByaW50IHNjYWxlIGZpeFxuKiBAZXhhbXBsZSB7IH1cbiovXG4uZml4ZXIxIHtcbiAgZGlzcGxheTogZmxleDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiAxcHg7XG59XG5cbi5maXhlcjEgPiAuaW1nMSB7XG4gIGZsZXg6IG5vbmU7XG4gIHdpZHRoOiAzMDAlO1xufVxuXG5AbWVkaWEgc2NyZWVuIHtcbiAgLmZpeGVyMSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLyoqXG4gKiBAbmFtZSAuZmxvYXQxXG4gKiBAZGVzY3JpcHRpb24gRmxvYXRpbmcgY29udGFpbmVyXG4gKiBAZXhhbXBsZSB7IH1cbiAqL1xuQG1lZGlhIHByaW50LCAobWluLXdpZHRoOiA3MjBweCkge1xuICAuZmxvYXQxIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIC5mbG9hdDEgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB3aWR0aDogdmFyKC0tdywgMzRyZW0pO1xuICAgIG1hcmdpbjogMCAwIDAgdmFyKC0tczEpO1xuICB9XG4gIC5mbG9hdDFbY2xhc3NdID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICB9XG4gIC5mbG9hdDEuLWxlZnQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tczEpO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG4vKipcbiAqIEBuYW1lIC5mb290ZXIxXG4gKiBAZGVzY3JpcHRpb24gR2xvYmFsIGZvb3RlclxuICovXG4uZm9vdGVyMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTAxO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiAyLjRyZW0gMDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY19iMXQpO1xuICBjb2xvcjogdmFyKC0tY19kMXQpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5mb290ZXIxLWNvcHlzID4gc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uZm9vdGVyMS1saW5rcyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwO1xufVxuXG4uZm9vdGVyMS1saW5rcyBsaSB7XG4gIC0tc3k6IDEuNnJlbTtcbn1cblxuLmZvb3RlcjEtbGlua3MgbGk6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhIHByaW50LCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmZvb3RlcjEtd3JhcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICAuZm9vdGVyMS1jb3B5cyB7XG4gICAgLS1zeTogMDtcbiAgfVxuICAuZm9vdGVyMS1jb3B5cyA+IHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgfVxuICAuZm9vdGVyMS1saW5rcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuICAuZm9vdGVyMS1saW5rcyBsaSB7XG4gICAgLS1zeTogMDtcbiAgfVxuICAuZm9vdGVyMS1saW5rcyBsaSB+IGxpIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tczEpO1xuICB9XG59XG4vKipcbiAqIEBuYW1lIC5nYWxsZXJ5MVxuICogQGRlc2NyaXB0aW9uIEdhbGxlcnlcbiAqIEBleGFtcGxlIHsgfVxuICovXG4uZ2FsbGVyeTEge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLXN4KTtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tc3gpO1xufVxuXG4uZ2FsbGVyeTEtd3JhcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiB2YXIoLS14d180KTtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5nYWxsZXJ5MS1tYWluIHtcbiAgbWF4LXdpZHRoOiA5NSU7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG59XG5cbi5nYWxsZXJ5MSAudG5zLW91dGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmdhbGxlcnkxIC50bnMtb3V0ZXIgPiAudG5zLW92aCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4uZ2FsbGVyeTEtZW50cmllcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHNjcm9sbC1zbmFwLXR5cGU6IHggbWFuZGF0b3J5O1xuICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4uZ2FsbGVyeTEtZW50cmllcy50bnMtc2xpZGVyIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IHZhcigtLXQ4bl9lMSk7XG59XG5cbi5nYWxsZXJ5MS1lbnRyaWVzOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5nYWxsZXJ5MS1lbnRyeSB7XG4gIGZsZXg6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgdmFyKC0tczMpIDAgMDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgc2Nyb2xsLXNuYXAtYWxpZ246IHN0YXJ0O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzO1xufVxuXG5banNdIC5nYWxsZXJ5MS1lbnRyeSB7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbltqc10gLmdhbGxlcnkxLWVudHJ5IGZpZ3VyZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbltqc10gLmdhbGxlcnkxLWVudHJ5IFtjYXB0aW9uXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5nYWxsZXJ5MVtzdHlsZSo9XCItLWFyOlwiXSAuZ2FsbGVyeTEtZW50cnkgLmltZzFbY2xhc3NdOmJlZm9yZSB7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKDEwMCUgLyB2YXIoLS1hcikpO1xufVxuXG4uZ2FsbGVyeTEtYXJyb3cge1xuICAtLWxoOiAxO1xuICAtLWF1czogO1xuICAtLWFiZ246IDtcbiAgLS1hdGNuOiB2YXIoLS1jX2ExdCk7XG4gIC0tYXZvaDogMC43NTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMWVtO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDI7XG4gIGZvbnQ6IDJyZW0vMSBJY29ucztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uZ2FsbGVyeTEtYXJyb3cuLXByZXYge1xuICBsZWZ0OiAtMC4yZW07XG59XG5cbi5nYWxsZXJ5MS4tZmlyc3QgLmdhbGxlcnkxLWFycm93Li1wcmV2LFxuLmdhbGxlcnkxLi1sYXN0IC5nYWxsZXJ5MS1hcnJvdy4tbmV4dCB7XG4gIG9wYWNpdHk6IDAuMjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5nYWxsZXJ5MS1kZXRhaWxzIHtcbiAgLS1zeTogMS4ycmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZ2FsbGVyeTEtY291bnRlcnMge1xuICBtYXJnaW4tdG9wOiAycmVtO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmdhbGxlcnkxLWNvdW50ZXJzOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLmdhbGxlcnkxLWNhcHRpb24ge1xuICBtYXgtd2lkdGg6IHZhcigtLXh3XzYpO1xufVxuXG4uZ2FsbGVyeTEtY2FwdGlvbiA+ICoge1xuICAtLXN5OiAxLjJyZW07XG59XG5cbkBtZWRpYSBwcmludCwgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5nYWxsZXJ5MS1tYWluIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIC5nYWxsZXJ5MS1hcnJvdyB7XG4gICAgbGVmdDogMTAwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDFlbTtcbiAgICBtYXJnaW46IC0wLjVlbSAwIDA7XG4gICAgZm9udC1zaXplOiAyLjhyZW07XG4gIH1cbiAgLmdhbGxlcnkxLWFycm93Li1wcmV2IHtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5nYWxsZXJ5MS4tbGFzdCAuZ2FsbGVyeTEtYXJyb3cuLW5leHQge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgdGV4dC1zaGFkb3c6IDAuN3JlbSAwIDA7XG4gICAgb3BhY2l0eTogMC4yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICB9XG4gIC5nYWxsZXJ5MS1kZXRhaWxzIHtcbiAgICAtLXN5OiAwLjhyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuICAuZ2FsbGVyeTEtdGl0bGUge1xuICAgIGZsZXg6IG5vbmU7XG4gICAgd2lkdGg6IDM1JTtcbiAgICBtYXJnaW46IDAgdmFyKC0tczEpIDAgMDtcbiAgfVxuICA6cm9vdDpub3QoW2pzXSkgLmdhbGxlcnkxLXRpdGxlIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ2FsbGVyeTEtY2FwdGlvbiB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIG1hcmdpbjogMCB2YXIoLS1zMikgMCAwO1xuICB9XG4gIC5nYWxsZXJ5MS1jb3VudGVycyB7XG4gICAgZmxleDogbm9uZTtcbiAgICBtYXJnaW46IDAgMCAwIGF1dG87XG4gIH1cbiAgLmdhbGxlcnkxLi12MiB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgbWF4LXdpZHRoOiA4NnJlbTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbiAgLmdhbGxlcnkxLi12MiAudG5zLW91dGVyID4gLnRucy1vdmgge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cbi8qKlxuKiBAbmFtZSAuZ2xvc3NhcnkxXG4qIEBkZXNjcmlwdGlvbiBHbG9zc2FyeVxuKiBAZXhhbXBsZSB7IH1cbiovXG4uZ2xvc3NhcnkxIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNfbzF0KTtcbn1cblxuLmdsb3NzYXJ5MS1uYXYge1xuICAtLXN5OiB2YXIoLS1zMSk7XG59XG5cbi5nbG9zc2FyeTEtbmF2IHVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAxLjJyZW0gMDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY19iMSk7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBmb250LXdlaWdodDogODAwO1xufVxuXG4uZ2xvc3NhcnkxLW5hdiBsaSB7XG4gIC0tc3k6IDA7XG59XG5cbi5nbG9zc2FyeTEtbmF2IGxpOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5nbG9zc2FyeTEtbmF2IGEge1xuICAtLWF1czogO1xuICAtLWFiZ246IDtcbiAgLS1hdGNuOiB2YXIoLS1jX2QxdCk7XG4gIC0tYXRjaDogdmFyKC0tY19pMSk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxZW07XG4gIGlzb2xhdGlvbjogaXNvbGF0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZ2xvc3NhcnkxLW5hdiBhOmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTAuNXJlbTtcbiAgcmlnaHQ6IC0wLjVyZW07XG4gIHRvcDogLTAuNXJlbTtcbiAgYm90dG9tOiAtMC41cmVtO1xuICB6LWluZGV4OiAtMTtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLXJhZGl1czogMS40cmVtO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jX2ExdCk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5nbG9zc2FyeTEtc2VjdGlvbiB7XG4gIC0tc3k6IDJyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5nbG9zc2FyeTEtc2VjdGlvbiArIC5nbG9zc2FyeTEtc2VjdGlvbiB7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1zMSk7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jX28xdCk7XG59XG5cbi5nbG9zc2FyeTEtdGl0bGUge1xuICAtLWxoOiAxO1xuICBmbGV4OiBub25lO1xuICB3aWR0aDogMTFyZW07XG4gIG1hcmdpbjogMCAycmVtIDAgMDtcbiAgY29sb3I6IHZhcigtLWNfYTF0KTtcbn1cblxuLmdsb3NzYXJ5MS1zZWN0aW9uIC5hY2NvcmRpb24xIHtcbiAgLS1zOiAxLjRyZW07XG4gIGZsZXgtZ3JvdzogMTtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbn1cblxuLmdsb3NzYXJ5MS1zZWN0aW9uIC5hY2NvcmRpb24xLWVudHJ5OmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcC13aWR0aDogMDtcbn1cblxuLmdsb3NzYXJ5MS1zZWN0aW9uIC5hY2NvcmRpb24xLWVudHJ5OmZpcnN0LWNoaWxkIC5hY2NvcmRpb24xLXRpdGxlIHtcbiAgcGFkZGluZy10b3A6IDA7XG59XG5cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLmdsb3NzYXJ5MS1uYXYgYTpob3ZlcjpiZWZvcmUsIC5nbG9zc2FyeTEtbmF2IGE6Zm9jdXM6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MTlweCkge1xuICAuZ2xvc3NhcnkxLW5hdiB1bCB7XG4gICAgLS1tOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHRyYW5zcGFyZW50LCAjMDAwIDJyZW0sICMwMDAgY2FsYygxMDAlIC0gM3JlbSksIHRyYW5zcGFyZW50IGNhbGMoMTAwJSAtIDAuMjVyZW0pKTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIG1hcmdpbjogMCB2YXIoLS1ueCk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zeCk7XG4gICAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluO1xuICAgIC13ZWJraXQtbWFzazogdmFyKC0tbSk7XG4gICAgbWFzazogdmFyKC0tbSk7XG4gIH1cbiAgLmdsb3NzYXJ5MS1uYXYgdWw6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5nbG9zc2FyeTEtbmF2IGxpIHtcbiAgICBmbGV4OiBub25lO1xuICB9XG4gIC5nbG9zc2FyeTEtbmF2IGxpIH4gbGkge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICB9XG4gIC5nbG9zc2FyeTEtdGl0bGUge1xuICAgIHdpZHRoOiAzcmVtO1xuICB9XG59XG4vKipcbiAqIEBuYW1lIC5nYWxsZXJ5MlxuICogQGRlc2NyaXB0aW9uIEdhbGxlcnlcbiAqL1xuLmdhbGxlcnkyIC5tZWRpYS1nYWxsZXJ5LXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiA0MHB4OyAvKiBTcGFjZSBiZXR3ZWVuIGltYWdlcyBhbmQgcm93cyAqL1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uZ2FsbGVyeTIgLm1lZGlhLWdhbGxlcnktZW50cnkge1xuICBmbGV4OiAxIDEgY2FsYygyNSUgLSA0MHB4KTsgLyogQWRqdXN0IHdpZHRoIGZvciA0IGNvbHVtbnMgd2l0aCBzcGFjZSAqL1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiBJbmNsdWRlIHBhZGRpbmcgYW5kIGJvcmRlciBpbiB0aGUgZWxlbWVudCdzIHRvdGFsIHdpZHRoIGFuZCBoZWlnaHQgKi9cbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZ2FsbGVyeTIgLm1lZGlhLWdhbGxlcnktZW50cnkgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bzsgLyogTWFpbnRhaW4gYXNwZWN0IHJhdGlvICovXG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAuZ2FsbGVyeTIgLm1lZGlhLWdhbGxlcnktZW50cnkge1xuICAgIGZsZXg6IDEgMSBjYWxjKDMzLjMzJSAtIDQwcHgpOyAvKiBBZGp1c3Qgd2lkdGggZm9yIDMgY29sdW1ucyB3aXRoIHNwYWNlICovXG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcyMHB4KSB7XG4gIC5nYWxsZXJ5MiAubWVkaWEtZ2FsbGVyeS1yb3cge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5nYWxsZXJ5MiAubWVkaWEtZ2FsbGVyeS1lbnRyeSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG4uZ2FsbGVyeTIgLm1lZGlhLWdhbGxlcnktY2FwdGlvbiB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMTQwJTsgLyogMTguMnB4ICovXG4gIG1hcmdpbi10b3A6IDJweDtcbn1cblxuYm9keSAuYmFzaWNMaWdodGJveF9fcGxhY2Vob2xkZXIge1xuICBtYXgtd2lkdGg6IDgwdnc7XG4gIG1heC1oZWlnaHQ6IDc1dmg7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuYm9keSAuYmFzaWNMaWdodGJveF9fcGxhY2Vob2xkZXIgaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IDc1dmg7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46IDAgYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG59XG5cbi5iYXNpY2xpZ2h0Ym94LXZpZGVvLXdyYXBwZXIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAvKnBhZGRpbmctdG9wOiA1Ni4yNSU7Ki9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiA3NXZoO1xuICBoZWlnaHQ6IDc1dmg7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46IDAgYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5iYXNpY2xpZ2h0Ym94LXZpZGVvLXdyYXBwZXIgaWZyYW1lIHtcbiAgYm9yZGVyOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmJhc2ljbGlnaHRib3gtbmF2IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgei1pbmRleDogMTA1MDsgLyogRW5zdXJlIHRoZXkgYXJlIGFib3ZlIHRoZSBsaWdodGJveCAqL1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5iYXNpY2xpZ2h0Ym94LW5hdi1wcmV2IHtcbiAgbGVmdDogNXZoO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi9hc3NldHMvaW1hZ2VzL2xpZ2h0Ym94LWxlZnQucG5nXCIpO1xufVxuXG4uYmFzaWNsaWdodGJveC1uYXYtbmV4dCB7XG4gIHJpZ2h0OiA1dmg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2Fzc2V0cy9pbWFnZXMvbGlnaHRib3gtcmlnaHQucG5nXCIpO1xufVxuXG4uYmFzaWNsaWdodGJveC1jYXB0aW9uIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlOyAvKiAxOC4ycHggKi9cbn1cblxuLmJhc2ljbGlnaHRib3gtY3RhIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxN3B4OyAvKiA5NC40NDQlICovXG59XG5cbi5iYXNpY2xpZ2h0Ym94LWN0YSBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vYXNzZXRzL2ltYWdlcy9kb3dubG9hZC5wbmdcIikgbm8tcmVwZWF0IGNlbnRlciByaWdodDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuKiBAbmFtZSAuZ3JhZGllbnQxXG4qIEBkZXNjcmlwdGlvbiBJbi1wYWdlIGdyYWRpZW50XG4qIEBleGFtcGxlIHsgfVxuKi9cbi5ncmFkaWVudDEge1xuICAtLW94dGw6IDUwdmg7XG4gIC0tb3hobDogNjByZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogLTE7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmdyYWRpZW50MSB7XG4gIC0tb3h0OiB2YXIoLS1veHRzLCB2YXIoLS1veHRtLCB2YXIoLS1veHRsKSkpO1xuICAtLW94aDogdmFyKC0tb3hocywgdmFyKC0tb3hobSwgdmFyKC0tb3hobCkpKTtcbn1cblxuLmdyYWRpZW50MTpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogdmFyKC0tb3h0KTtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgdmFyKC0tYywgI0Q1RUJGNCkgdmFyKC0tb3hzMSwgMjUlKSwgdmFyKC0tYywgI0Q1RUJGNCkgdmFyKC0tb3hzMiwgNzUlKSwgdHJhbnNwYXJlbnQpO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIGFuZCAobWluLXdpZHRoOiA3MjBweCkge1xuICAuZ3JhZGllbnQxIHtcbiAgICAtLW94dDogdmFyKC0tb3h0bSwgdmFyKC0tb3h0bCkpO1xuICAgIC0tb3hoOiB2YXIoLS1veGhtLCB2YXIoLS1veGhsKSk7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5ncmFkaWVudDEge1xuICAgIC0tb3h0OiB2YXIoLS1veHRsKTtcbiAgICAtLW94aDogdmFyKC0tb3hobCk7XG4gIH1cbn1cbkBtZWRpYSBwcmludCB7XG4gIC5ncmFkaWVudDEge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi8qKlxuKiBAbmFtZSAuZ3JpZGNsaXAxXG4qIEBkZXNjcmlwdGlvbiBDbGlwcGVyIGZvciBncmlkc1xuKiBAZXhhbXBsZSB7IH1cbiovXG4uZ3JpZGNsaXAxIHtcbiAgY2xpcC1wYXRoOiBpbnNldCgwIDAgMCB2YXIoLS1neCwgMCkpO1xufVxuXG4vKipcbiogQG5hbWUgLmhlYWRlcjFcbiogQGRlc2NyaXB0aW9uIFRlYW0gbWVtYmVyIGhlYWRlclxuKiBAZXhhbXBsZSB7IH1cbiovXG4uaGVhZGVyMSB7XG4gIC0tc3k6IHZhcigtLXMzKTtcbiAgbWF4LXdpZHRoOiB2YXIoLS14d181KTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLmhlYWRlcjEtbWFpbiA+ICoge1xuICAtLXN5OiAxLjZyZW07XG59XG5cbi5oZWFkZXIxLWltYWdlIHtcbiAgbWF4LXdpZHRoOiAzNXJlbTtcbn1cblxuQG1lZGlhIHByaW50LCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmhlYWRlcjEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1heC13aWR0aDogdmFyKC0teHdfNCk7XG4gIH1cbiAgLmhlYWRlcjEtbWFpbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAuaGVhZGVyMS1pbWFnZSB7XG4gICAgZmxleDogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgMCAwIHZhcigtLXMyKTtcbiAgfVxufVxuLyoqXG4qIEBuYW1lIC5oZWFkZXIyXG4qIEBkZXNjcmlwdGlvbiBTdGFydCBhIGZ1bmRyYWlzZXJcbiogQGV4YW1wbGUgeyB9XG4qL1xuLmhlYWRlcjIgPiAqIHtcbiAgLS1zeTogdmFyKC0tczIpO1xufVxuXG4uaGVhZGVyMi1tYWluID4gKiB7XG4gIC0tc3k6IDEuNnJlbTtcbn1cblxuLmhlYWRlcjItYnJvdyB7XG4gIC0tc3k6IDAuMnJlbTtcbn1cblxuLmhlYWRlcjItdGl0bGUge1xuICAtLXN5OiB2YXIoLS1zMik7XG59XG5cbi5oZWFkZXIyLXN1YnRpdGxlIHtcbiAgbWF4LXdpZHRoOiB2YXIoLS14d181KTtcbn1cblxuLmhlYWRlcjItbGVhZCB7XG4gIG1heC13aWR0aDogdmFyKC0teHdfNSk7XG59XG5cbi5oZWFkZXIyLWFjdGlvbiB7XG4gIG1hcmdpbi10b3A6IDNyZW07XG59XG5cbi5oZWFkZXIyLWFjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tdG9wOiAyLjRyZW07XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5oZWFkZXIyLWFjdGlvbnMgbGkge1xuICAtLXN5OiAwO1xufVxuXG4uaGVhZGVyMi1hY3Rpb25zIGxpIH4gbGkge1xuICBtYXJnaW4tbGVmdDogMS4ycmVtO1xufVxuXG4uaGVhZGVyMi1hY3Rpb25zIGxpOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5oZWFkZXIyLWltYWdlIHtcbiAgbWF4LXdpZHRoOiAzNXJlbTtcbn1cblxuLmhlYWRlcjIuLXYyIC5oZWFkZXIyLWltYWdlIHtcbiAgbWF4LXdpZHRoOiA0MHJlbTtcbn1cblxuQG1lZGlhIHByaW50LCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmhlYWRlcjIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbiAgLmhlYWRlcjItaW1hZ2Uge1xuICAgIGZsZXg6IG5vbmU7XG4gICAgb3JkZXI6IC0xO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCB2YXIoLS1zMykgMCAwO1xuICB9XG4gIC5oZWFkZXIyLW1haW4ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbi8qKlxuKiBAbmFtZSAuaGVhZGVyM1xuKiBAZGVzY3JpcHRpb24gR2V0IGludm9sdmVkIGhlYWRlclxuKiBAZXhhbXBsZSB7IH1cbiovXG4uaGVhZGVyMy1tYWluID4gKiB7XG4gIC0tc3k6IDEuNnJlbTtcbn1cblxuLmhlYWRlcjMtdGl0bGUge1xuICAtLXN5OiAxLjZyZW07XG59XG5cbi5oZWFkZXIzLXN1YnRpdGxlIHtcbiAgLS1zeTogdmFyKC0tczIpO1xufVxuXG4uaGVhZGVyMy1pbWFnZSB7XG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1ueCk7XG59XG5cbkBtZWRpYSBwcmludCwgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5oZWFkZXIzIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byA1MCU7XG4gICAgZ3JpZC1jb2x1bW4tZ2FwOiB2YXIoLS1zMyk7XG4gIH1cbiAgLmhlYWRlcjMtaW1hZ2Uge1xuICAgIG9yZGVyOiAtMTtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1vZmZzZXQtbGVmdCwgdmFyKC0tc3gpKSAqIC0xKTtcbiAgfVxuICAuaGVhZGVyMy1tYWluIHtcbiAgICAtLXN5OiAwO1xuICB9XG59XG4vKipcbiogQG5hbWUgLmhlYWRlcjRcbiogQGRlc2NyaXB0aW9uIFN0YW5kYXJkIGhlYWRlclxuKiBAZXhhbXBsZSB7IH1cbiovXG4uaGVhZGVyNC1tYWluIHVsIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5oZWFkZXI0Li10YVxcOmMgLmhlYWRlcjQtbWFpbiA+ICoge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4uaGVhZGVyNC1icm93IHtcbiAgLS1zeTogMC42cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5oZWFkZXI0LXRpdGxlIHtcbiAgbWF4LXdpZHRoOiB2YXIoLS14d181KTtcbn1cblxuLmhlYWRlcjQtbGVhZCB7XG4gIG1heC13aWR0aDogdmFyKC0teHdfNSk7XG59XG5cbi8qKlxuKiBAbmFtZSAuaGVhZGVyNVxuKiBAZGVzY3JpcHRpb24gU3VwcG9ydCBoZWFkZXJcbiogQGV4YW1wbGUgeyB9XG4qL1xuLmhlYWRlcjUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5oZWFkZXI1LW1haW4ge1xuICAtLXN5OiB2YXIoLS1zMSk7XG59XG5cbi5oZWFkZXI1LW1haW4gPiAqIHtcbiAgLS1zeTogMnJlbTtcbn1cblxuLmhlYWRlcjUtaW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA0MHJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbkBtZWRpYSBwcmludCwgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5oZWFkZXI1IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgLmhlYWRlcjUtbWFpbiB7XG4gICAgLS1zeTogMDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gIH1cbiAgLmhlYWRlcjUtYWN0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtO1xuICB9XG4gIC5oZWFkZXI1LWltYWdlIHtcbiAgICBmbGV4OiBub25lO1xuICAgIG1hcmdpbjogMCAwIDAgdmFyKC0tczMpO1xuICB9XG4gIC5oZWFkZXI1Li12MiAuaGVhZGVyNS1pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiA0NHJlbTtcbiAgfVxufVxuLyoqXG4qIEBuYW1lIC5oZWFkZXI2XG4qIEBkZXNjcmlwdGlvbiBTcGxpdCBoZWFkZXJcbiogQGV4YW1wbGUgeyB9XG4qL1xuLmhlYWRlcjYge1xuICAtLXN5OiB2YXIoLS1zMyk7XG59XG5cbi5oZWFkZXI2LW1haW4ge1xuICAtLXN5OiB2YXIoLS1zMSkgO1xufVxuXG4uaGVhZGVyNi1icm93IHtcbiAgLS1zeTogMC42cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5oZWFkZXI2LWxlYWQge1xuICBtYXgtd2lkdGg6IHZhcigtLXh3XzYpO1xufVxuXG5AbWVkaWEgcHJpbnQsIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuaGVhZGVyNiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbiAgLmhlYWRlcjYgPiAqIHtcbiAgICAtLXN5OiAwO1xuICB9XG4gIC5oZWFkZXI2LXNpZGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMzJyZW07XG4gICAgbWFyZ2luOiAwIDAgMCB2YXIoLS1zMyk7XG4gICAgcGFkZGluZy10b3A6IDJyZW07XG4gIH1cbiAgLmhlYWRlcjYuLXYyIC5oZWFkZXI2LXNpZGUge1xuICAgIG1heC13aWR0aDogNDByZW07XG4gIH1cbn1cbi8qKlxuKiBAbmFtZSAuaGlzdG9yeTFcbiogQGRlc2NyaXB0aW9uIEhpc3RvcnkgdGFic1xuKiBAZXhhbXBsZSB7IH1cbiovXG4uaGlzdG9yeTEtbmF2IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogMCAtMTAwJSAwIDA7XG59XG5cbi5oaXN0b3J5MS10YWJzIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLmhpc3RvcnkxLXRhYnMgbGkge1xuICAtLXN5OiAwLjJyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmhpc3RvcnkxLXRhYnMgbGk6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmhpc3RvcnkxLXRhYnMgYSB7XG4gIC0tYXVzOiA7XG4gIC0tYWJnbjogO1xuICAtLWF0Y246IHZhcigtLWNfZDF0KTtcbiAgLS1hdGNoOiB2YXIoLS1jX2kxKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGlzb2xhdGlvbjogaXNvbGF0ZTtcbiAgcGFkZGluZzogMC4zcmVtIDFyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLmhpc3RvcnkxLXRhYnMgYTpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogLTE7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1yYWRpdXM6IDEuNHJlbTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY19hMXQpO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGlzdG9yeTEtdGFicyAuLWFjdGl2ZSA+IGEge1xuICAtLWF0Y246IHZhcigtLWNfaTEpO1xufVxuXG4uaGlzdG9yeTEtdGFicyAuLWFjdGl2ZSA+IGE6YmVmb3JlIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmhpc3RvcnkxLXNlbGVjdCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1heC13aWR0aDogdmFyKC0teHdfNik7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi5oaXN0b3J5MS1zdGVwcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zMSk7XG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJ0bnVtXCI7XG59XG5cbi5oaXN0b3J5MS1zdGVwcyA+ICoge1xuICBmbGV4OiBub25lO1xuICBtaW4td2lkdGg6IDdyZW07XG4gIG1hcmdpbjogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uaGlzdG9yeTEtc3RlcHMgLi1zdGVwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZy10b3A6IDAuNXJlbTtcbn1cblxuLmhpc3RvcnkxLXN0ZXBzIC4tY3VycmVudCB7XG4gIG1pbi13aWR0aDogMjJyZW07XG4gIG1hcmdpbjogMCAycmVtO1xuICBjb2xvcjogdmFyKC0tY19hMXQpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5oaXN0b3J5MS1zdGVwcyBbZGlzYWJsZWRdIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uaGlzdG9yeTEtc3RlcHMgaSB7XG4gIC0tbGg6IDE7XG4gIG1hcmdpbjogMCAwLjI1cmVtO1xuICBjb2xvcjogdmFyKC0tY19hMXQpO1xuICBmb250LXNpemU6IDEuNzVlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmhpc3RvcnkxLWNvbnRlbnQge1xuICBkaXNwbGF5OiBncmlkO1xufVxuXG4uaGlzdG9yeTEtdGFiIHtcbiAgZ3JpZC1hcmVhOiAxLzEvMi8yO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXMzKTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5oaXN0b3J5MS10YWIuLWZyb20ge1xuICBvcGFjaXR5OiAwO1xufVxuXG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIC5oaXN0b3J5MS10YWJzIGE6aG92ZXI6YmVmb3JlLCAuaGlzdG9yeTEtdGFicyBhOmZvY3VzOmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgW2pzXSAuaGlzdG9yeTEtdGFidGl0bGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAuaGlzdG9yeTEtbmF2IHtcbiAgICBmbGV4OiBub25lO1xuICAgIG1hcmdpbjogMCAwIHZhcigtLXN5KTtcbiAgfVxuICAuaGlzdG9yeTEtdGFicyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuaGlzdG9yeTEtc3RlcHMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmhpc3RvcnkxLW5hdiB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbiAgW2pzXSAuaGlzdG9yeTEtc2VsZWN0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuLyoqXG4gKiBAbmFtZSAuaW1nMVxuICogQGRlc2NyaXB0aW9uIEltYWdlIHdyYXBwZXJcbiAqL1xuLmltZzEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMTAwJTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbn1cblxuLmltZzEuLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDA7XG59XG5cbi5pbWcxLi1ncmF5c2NhbGUge1xuICBmaWx0ZXI6IGdyYXlzY2FsZSgxKTtcbn1cblxuLmltZzEuLXdpZHRoIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogY2FsYyh2YXIoLS13KSAqIDAuMXJlbSk7XG59XG5cbi5pbWcxLi1jaXJjbGUge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cbi5pbWcxLi1yb3VuZGVkIHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnJfMSk7XG59XG5cbi5pbWcxW3N0eWxlKj1cIi0tcmw6XCJdOmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tcmwpICogMTAwJSk7XG59XG5cbi5pbWcxIGltZywgLmltZzEgdmlkZW8ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5pbWcxW3N0eWxlKj1cIi0tcmw6XCJdIGltZywgLmltZzFbc3R5bGUqPVwiLS1ybDpcIl0gdmlkZW8ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgb2JqZWN0LXBvc2l0aW9uOiB2YXIoLS14LCA1MCUpIHZhcigtLXksIDUwJSk7XG59XG5cbi5pbWcxLi1sZWZ0IHtcbiAgLS14OiAwO1xufVxuXG4uaW1nMS4tcmlnaHQge1xuICAtLXg6IDEwMCU7XG59XG5cbi5pbWcxLi10b3Age1xuICAtLXk6IDA7XG59XG5cbi5pbWcxLi1ib3R0b20ge1xuICAtLXk6IDEwMCU7XG59XG5cbi5pbWcxLi1maXQgaW1nLCAuaW1nMS4tZml0IHZpZGVvIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb250YWluO1xufVxuXG4uaW1nMSAucGxheS1pY29uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHdpZHRoOiA2NHB4O1xuICBoZWlnaHQ6IDY0cHg7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uLy4uL2Fzc2V0cy9pbWFnZXMvcGxheS1pY29uLnBuZ1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgei1pbmRleDogMTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5pbWcxW3N0eWxlKj1cIi0tcm06XCJdOmJlZm9yZSB7XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tcm0pICogMTAwJSk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcxOXB4KSB7XG4gIC5pbWcxW3N0eWxlKj1cIi0tcnM6XCJdOmJlZm9yZSB7XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tcnMpICogMTAwJSk7XG4gIH1cbn1cbi8qKlxuKiBAbmFtZSAuaW5zZXJ0MVxuKiBAZGVzY3JpcHRpb24gQ2FyZCBpbnNlcnRcbiogQGV4YW1wbGUgeyB9XG4qL1xuLmluc2VydDEgPiAqIHtcbiAgLS1zeTogMS4ycmVtO1xufVxuXG4vKipcbiAqIEBuYW1lIC5pbnZhbGlkMVxuICogQGRlc2NyaXB0aW9uIFZhbGlkYXRpb24gbWVzc2FnZVxuICogQGV4YW1wbGUgeyB9XG4gKi9cbi5pbnZhbGlkMSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgY29sb3I6IHZhcigtLWNfZTF0KTtcbn1cblxuLi12YWxpZGF0ZWQ6aW52YWxpZCB+IC5pbnZhbGlkMSwgLi12YWxpZGF0ZWQ6aW52YWxpZCArIGxhYmVsIC5pbnZhbGlkMSwgLmludmFsaWQxLi12aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQG5hbWUgLmxvYWRlcjFcbiAqIEBkZXNjcmlwdGlvbiBMb2FkaW5nIHNwaW5uZXJcbiAqL1xuLmxvYWRlcjEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbiAgY29sb3I6IHJnYmEodmFyKC0tY19keHQpLCAwLjI1KTtcbiAgZm9udC1zaXplOiAyLjRyZW07XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB2YXIoLS10OG5fcDIpO1xufVxuXG4ubGF6eWxvYWQgfiAubG9hZGVyMSwgLmxhenlsb2FkZWQgfiAubG9hZGVyMSwgaHRtbDpub3QoW2pzXSkgLmxvYWRlcjEge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5sYXp5bG9hZGluZyB+IC5sb2FkZXIxIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmxvYWRlcjE6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsZXg6IG5vbmU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAxZW07XG4gIGhlaWdodDogMWVtO1xuICBib3JkZXI6IDAuMWVtIHNvbGlkO1xuICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBhbmltYXRpb246IGxvYWRlcjEgMXMgaW5maW5pdGUgbGluZWFyO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xufVxuXG4ubGF6eWxvYWRlZCB+IC5sb2FkZXIxOmJlZm9yZSB7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDI7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcxOXB4KSB7XG4gIC5sb2FkZXIxIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gIH1cbn1cbkBrZXlmcmFtZXMgbG9hZGVyMSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG4vKipcbiAqIEBuYW1lIC5sb2FkZXIyXG4gKiBAZGVzY3JpcHRpb24gRnVsbCBzY3JlZW4gbG9hZGVyXG4gKi9cbi5sb2FkZXIyIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogOTk5O1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjb2xvcjogdmFyKC0tY19kMSk7XG4gIGZvbnQtc2l6ZTogNnJlbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdmlzaWJpbGl0eTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmxvYWRlcjIuLWFjdGl2ZSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5sb2FkZXIyOmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogNTAlO1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogMWVtO1xuICBoZWlnaHQ6IDFlbTtcbiAgbWFyZ2luOiAtMC41ZW0gMCAwIC0wLjVlbTtcbiAgYm9yZGVyOiAwLjFlbSBzb2xpZDtcbiAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYW5pbWF0aW9uOiBsb2FkZXIxIDFzIGluZmluaXRlIHBhdXNlZCBsaW5lYXI7XG59XG5cbi5sb2FkZXIyLi1hY3RpdmU6YWZ0ZXIge1xuICBhbmltYXRpb24tcGxheS1zdGF0ZTogcnVubmluZztcbn1cblxuLmxvYWRlcjIuLXNtYWxsIHtcbiAgZm9udC1zaXplOiAzLjJyZW07XG59XG5cbi5sb2FkZXIyLi1zdGF0aWMge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IHVuc2V0O1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zeSk7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbi5sb2FkZXIyLi1zdGF0aWMuLWFjdGl2ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubG9hZGVyMi4tc3RhdGljOmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiB2YXIoLS1jX2QxKTtcbiAgb3BhY2l0eTogMC43NTtcbn1cblxuLmxvYWRlcjIuLWNvcm5lciB7XG4gIHJpZ2h0OiBhdXRvO1xuICB0b3A6IGF1dG87XG4gIGxlZnQ6IDJyZW07XG4gIGJvdHRvbTogMnJlbTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgZm9udC1zaXplOiA0cmVtO1xufVxuXG4ubG9hZGVyMi4tY29ybmVyOmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogYXV0bztcbiAgdG9wOiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiB2YXIoLS1jX2EzdCk7XG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDJyZW0gdmFyKC0tY19pMXQpKTtcbn1cblxuLyoqXG4gKiBAbmFtZSAubG9nbzFcbiAqIEBkZXNjcmlwdGlvbiBMb2dvIHdyYXBwZXJcbiAqIEBleGFtcGxlIHsgfVxuICovXG4ubG9nbzEge1xuICAtLWxoOiAxO1xuICBmb250LXNpemU6IHZhcigtLWhsLCA2LjRyZW0pO1xufVxuXG4ubG9nbzEgYSB7XG4gIC0tYW93bjogMDtcbiAgLS1hb3doOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmxvZ28xIGltZywgLmxvZ28xIHN2ZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiAxZW07XG59XG5cbi5sb2dvMSBpIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcxOXB4KSB7XG4gIC5sb2dvMSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1obSwgNnJlbSk7XG4gIH1cbn1cbi8qKlxuKiBAbmFtZSAubG9nbzJcbiogQGRlc2NyaXB0aW9uIFBhcnRuZXIgbG9nb1xuKiBAZXhhbXBsZSB7IH1cbiovXG4ubG9nbzItd3JhcCB7XG4gIC0tYXVzOiA7XG4gIC0tYWJnbjogO1xuICAtLWF0Y246IGN1cnJlbnRDb2xvcjtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMnJlbSAzcmVtO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1icl8xKTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLWNfbzF0KSwgMCAxcmVtIDNyZW0gcmdiYSh2YXIoLS1jX2R4KSwgMC4xKTtcbn1cblxuLmxvZ28yLWltYWdlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleDogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGFzcGVjdC1yYXRpbzogMS43NTtcbn1cblxuLyoqXG4qIEBuYW1lIC5tYXAxXG4qIEBkZXNjcmlwdGlvbiBNYXBcbiogQGV4YW1wbGUgeyB9XG4qL1xuLm1hcDEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXMzKTtcbn1cblxuLm1hcDEtY2FudmFzIHtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZDogI2YzZjNmMztcbn1cblxuLm1hcDEtc2lkZWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IHZhcigtLXN4KTtcbiAgdG9wOiB2YXIoLS1zeCk7XG4gIGJvdHRvbTogdmFyKC0tc3gpO1xuICB3aWR0aDogNDZyZW07XG4gIHBhZGRpbmc6IHZhcigtLXMxKSB2YXIoLS1zMSkgMXB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1icl8xKTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLWNfbzF0KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY19iMSk7XG59XG5cbi5tYXAxLWhlYWRlciB7XG4gIC0tc3k6IDA7XG4gIGZsZXg6IG5vbmU7XG4gIHBhZGRpbmctYm90dG9tOiAxLjRyZW07XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jX28xdCk7XG59XG5cbi5tYXAxLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMC40cmVtO1xufVxuXG4ubWFwMS1zaWRlYmFyIC5yZXN1bHRzMSB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47XG59XG5cbi5tYXAxLXNpZGViYXIgLnJlc3VsdHMxOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tYXAxLXNpZGViYXIgLnJlc3VsdHMxID4gOmxhc3QtY2hpbGQge1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3gpO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLm1hcDEtY2FudmFzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5tYXAxLXNpZGViYXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHBhZGRpbmc6IHZhcigtLXMxKSB2YXIoLS1zeCkgMDtcbiAgICBib3JkZXItcmFkaXVzOiAwcmVtO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbiAgLm1hcDEtc2lkZWJhciAucmVzdWx0czEgPiA6bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbn1cbi8qKlxuKiBAbmFtZSAubWFyazFcbiogQGRlc2NyaXB0aW9uIFRleHQgaGlnaGxpZ2h0XG4qIEBleGFtcGxlIHsgfVxuKi9cbi5tYXJrMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIC0wLjY1cmVtO1xuICBwYWRkaW5nOiAwIDAuNjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuNWVtO1xuICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWNfYjR4KSwgMC4xKTtcbiAgYm94LWRlY29yYXRpb24tYnJlYWs6IGNsb25lO1xuICAtd2Via2l0LWJveC1kZWNvcmF0aW9uLWJyZWFrOiBjbG9uZTtcbn1cblxuLyoqXG4gKiBAbmFtZSAubW9kYWwxXG4gKiBAZGVzY3JpcHRpb24gTW9kYWwgd2luZG93XG4gKiBAZXhhbXBsZSB7IH1cbiAqL1xuLm1vZGFsMSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAyMDE7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjQpO1xuICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdDhuX2QyKSB2YXIoLS10OG5fZTEpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB2YXIoLS10OG5fcDIpO1xufVxuXG4ubW9kYWwxLi1mcm9tIHtcbiAgb3BhY2l0eTogMDtcbn1cblxuLm1vZGFsMS1vdXRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogdmFyKC0tczEpIDA7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJzY3JvbGwtYmVoYXZpb3I6IG5vbmU7XG4gIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG5cbi5tb2RhbDEtb3V0ZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm1vZGFsMS13cmFwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiB2YXIoLS14d18zKTtcbiAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNfYjIpO1xuICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdDhuX2QyKSB2YXIoLS10OG5fZTEpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB2YXIoLS10OG5fcDEpO1xufVxuXG4ubW9kYWwxLi1mcm9tIC5tb2RhbDEtd3JhcCB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC45KTtcbn1cblxuLm1vZGFsMS1jbG9zZVtjbGFzc10ge1xuICAtLWxoOiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGZvbnQtc2l6ZTogMi40cmVtO1xufVxuXG4ubW9kYWwxLWltYWdlIHtcbiAgZmxleDogbm9uZTtcbiAgd2lkdGg6IDQ3LjUlO1xuICBtYXJnaW46IDA7XG59XG5cbi5tb2RhbDEtaW1hZ2UgLmltZzEge1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5tb2RhbDEtbWFpbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXMxKSAqIDEuMjUpIHZhcigtLXMxKTtcbn1cblxuLm1vZGFsMS1tYWluID4gKiB7XG4gIC0tc3k6IDJyZW07XG59XG5cbi5tb2RhbDEtYWN0aW9uIHtcbiAgbWFyZ2luLXRvcDogYXV0bztcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5tb2RhbDEtb3V0ZXIge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tczMpO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG4gIC5tb2RhbDEtd3JhcCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgdmFyKC0tdDhuX2UxKTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB2YXIoLS10OG5fcDIpO1xuICB9XG4gIC5tb2RhbDEuLWZyb20gLm1vZGFsMS13cmFwIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIH1cbiAgLm1vZGFsMS1pbWFnZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAubW9kYWwxLW1haW4ge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zMyk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zeCk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3gpO1xuICB9XG59XG5AbWVkaWEgcHJpbnQge1xuICAubW9kYWwxIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4gIH1cbiAgLm1vZGFsMS13cmFwIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0tY19vMXQpO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gIH1cbn1cbi8qKlxuKiBAbmFtZSAubW9yZTFcbiogQGRlc2NyaXB0aW9uIE1vcmUgbGlua1xuKiBAZXhhbXBsZSB7IH1cbiovXG4ubW9yZTEge1xuICAtLWF1czogO1xuICAtLWFiZ246IDtcbn1cblxuLm1vcmUxID4gLi1hXFw6MSB7XG4gIC0tYXVzOiA7XG4gIC0tYWJnbjogO1xuICAtLWF0Y246IHZhcigtLWNfZDF0KTtcbiAgLS1hdGNoOiB2YXIoLS1jX2ExdCk7XG59XG5cbi5tb3JlMSA+IGkge1xuICBmb250LXNpemU6IDEuMzVlbTtcbn1cblxuLyoqXG4gKiBAbmFtZSAubmF2MVxuICogQGRlc2NyaXB0aW9uIE1haW4gbmF2aWdhdGlvblxuICovXG4ubmF2MS1saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICBwYWRkaW5nOiAwO1xuICBmb250OiA3MDAgMS42cmVtL3ZhcigtLWxoKSB2YXIoLS1mZl8xKTtcbn1cblxuLm5hdjEtbGlzdCBsaSB7XG4gIC0tc3k6IDA7XG59XG5cbi5uYXYxLWxpc3QgbGkgfiBsaSB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4ubmF2MS1saXN0IGxpOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5uYXYxLWxpc3QgZW0ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC0xMDAwMWVtO1xuICB0b3A6IC0xMDAwMWVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbi5uYXYxLXRvb2xzIHtcbiAgcGFkZGluZzogMC41cmVtIDA7XG4gIGZvbnQtc2l6ZTogNHJlbTtcbn1cblxuLm5hdjEtdG9vbHMgbGkgfiBsaSB7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG59XG5cbi5uYXYxLXRvb2xzID4gbGkgPiBhIHtcbiAgLS1hdXM6IDtcbiAgLS1hYmduOiA7XG4gIC0tYW9yOiA1MCU7XG4gIC0tYWJjbjogdmFyKC0tY19hMXQpO1xuICAtLWF0Y246IHZhcigtLWNfaTF0KTtcbiAgLS1saDogMWVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDFlbTtcbiAgaGVpZ2h0OiAxZW07XG59XG5cbi5uYXYxLXRvb2xzIGE6YmVmb3JlIHtcbiAgZm9udC1zaXplOiAwLjVlbTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5uYXYxLXNpZGUsIC5uYXYxLW1haW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5uYXYxLWxpbmtzID4gbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAubmF2MS1saW5rcyA+IGxpID4gYSB7XG4gICAgLS1hcHg6IDEuNXJlbTtcbiAgICAtLWFvcjogY2FsYyh2YXIoLS1saCkgLyAyKTtcbiAgICAtLWFvY2g6IGN1cnJlbnRDb2xvcjtcbiAgICAtLWFiZ246IDtcbiAgICAtLWF1czogO1xuICAgIC0tbGg6IDIuOHJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAubmF2MS1saW5rcyBbYXJpYS1jdXJyZW50XSA+IGEge1xuICAgIC0tYWJjbjogcmdiYSh2YXIoLS1jX2ExeHQpLCAwLjEpO1xuICAgIC0tYW9jbjogdmFyKC0tYW9jaCk7XG4gIH1cbiAgLm5hdjEtbGlua3MgPiBsaSA+IGEgPiBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggdmFyKC0tYW9jLCB0cmFuc3BhcmVudCk7XG4gIH1cbiAgLm5hdjEtc2lkZSB7XG4gICAgLS1zeTogMS42cmVtO1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIH1cbiAgLm5hdjEtc2lkZSA+IGxpID4gYSB7XG4gICAgLS1hcHg6IDFyZW07XG4gICAgLS1hdGNuOiB2YXIoLS1jX2QxdCk7XG4gICAgLS1saDogMi4ycmVtO1xuICB9XG4gIC5uYXYxLXNpZGUgW2FyaWEtY3VycmVudF0gPiBhIHtcbiAgICAtLWFiY246IHJnYmEodmFyKC0tY19kMXh0KSwgMC4xKTtcbiAgfVxuICAubmF2MS1ib3R0b20ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICAubmF2MS1ib3R0b20gPiAqIHtcbiAgICAtLXN5OiAwO1xuICB9XG4gIC5uYXYxLXRvb2xzIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50IHtcbiAgLm5hdjEtdG9vbHMgPiBsaSA+IGEge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGNvbG9yOiB2YXIoLS1jX2ExdCk7XG4gIH1cbn1cbi8qKlxuKiBAbmFtZSAubmF2MlxuKiBAZGVzY3JpcHRpb24gQmlnIG5hdlxuKiBAZXhhbXBsZSB7IH1cbiovXG4ubmF2MiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBjb250ZW50OiBcIlwiO1xuICB6LWluZGV4OiAxMjE7XG4gIG92ZXJmbG93OiBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1jX2IxKSwgI0Q1RUJGNCk7XG4gIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47XG4gIGNsaXAtcGF0aDogaW5zZXQoMCk7XG4gIHRyYW5zaXRpb246IGFsbCB2YXIoLS10OG5fZDIpIHZhcigtLXQ4bl9lMSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHZhcigtLXQ4bl9wMSk7XG59XG5cbi5uYXYyOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5uYXYyLi1mcm9tIHtcbiAgY2xpcC1wYXRoOiBpbnNldCgwIDAgMTAwJSk7XG59XG5cbi5uYXYyLWNsb3NlIHtcbiAgLS1saDogMTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwO1xuICB0b3A6IDIuNXJlbTtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogNHJlbTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5uYXYyLWNsb3NlIGEge1xuICAtLWF1czogO1xuICAtLWFiZ246IDtcbiAgLS1hb3I6IDUwJTtcbiAgLS1hYmNuOiB2YXIoLS1jX2ExdCk7XG4gIC0tYXRjbjogdmFyKC0tY19pMXQpO1xuICAtLWxoOiAxZW07XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDFlbTtcbiAgaGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi5uYXYyLWNsb3NlIGE6YmVmb3JlIHtcbiAgZm9udC1zaXplOiAwLjVlbTtcbn1cblxuLm5hdjItd3JhcCB7XG4gIHBhZGRpbmc6IDlyZW0gMCA2cmVtO1xuICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdDhuX2QyKSB2YXIoLS10OG5fZTEpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB2YXIoLS10OG5fcDEpO1xufVxuXG4ubmF2Mi4tZW50ZXItc3RhcnQgLm5hdjItd3JhcCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgycmVtKTtcbn1cblxuLm5hdjItbWFpbiB7XG4gIC0tc3k6IHZhcigtLXMxKTtcbn1cblxuLm5hdjItcHJpbWFyeSB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5uYXYyLXByaW1hcnkgPiBsaSB7XG4gIC0tc3k6IHZhcigtLXMxKTtcbn1cblxuLm5hdjItcHJpbWFyeSBsaTpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubmF2Mi10b2dnbGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsb2F0OiByaWdodDtcbiAgd2lkdGg6IDEuMzVlbTtcbiAgaGVpZ2h0OiAxLjM1ZW07XG4gIG1hcmdpbjogMC41cmVtIDAgMCAwLjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLWNfZDF0KTtcbiAgZm9udC1zaXplOiAycmVtO1xufVxuXG4ubmF2Mi10b2dnbGVyOmFmdGVyIHtcbiAgY29udGVudDogXCJcXGU5NWZcIjtcbiAgb3BhY2l0eTogMDtcbn1cblxuLi1vcGVuID4gLm5hdjItdG9nZ2xlcjpiZWZvcmUge1xuICBvcGFjaXR5OiAwO1xufVxuXG4uLW9wZW4gPiAubmF2Mi10b2dnbGVyOmFmdGVyIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLm5hdjItcHJpbWFyeSB1bCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5uYXYyLXByaW1hcnkgdWw6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGhlaWdodDogMS42cmVtO1xufVxuXG4ubmF2Mi1zZWNvbmRhcnkge1xuICBwYWRkaW5nOiAwO1xufVxuXG4ubmF2Mi1zZWNvbmRhcnkgbGkge1xuICAtLXN5OiAycmVtO1xufVxuXG4ubmF2Mi1zZWNvbmRhcnkgbGk6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhIHByaW50LCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLm5hdjItY2xvc2Uge1xuICAgIHRvcDogNi41cmVtO1xuICB9XG4gIC5uYXYyLXdyYXAge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgM2ZyO1xuICAgIGdyaWQtY29sdW1uLWdhcDogdmFyKC0tczQpO1xuICAgIHBhZGRpbmc6IDEwcmVtIDA7XG4gIH1cbiAgLm5hdjItbWFpbiB7XG4gICAgLS1zeTogMDtcbiAgICBvcmRlcjogMjtcbiAgfVxuICAubmF2Mi10b2dnbGVyIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm5hdjItcHJpbWFyeSA+IGxpIHtcbiAgICAtLXN5OiAzcmVtO1xuICB9XG4gIC5uYXYyLXByaW1hcnkgPiBsaSB+IGxpIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3kpO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jX28xdCk7XG4gIH1cbiAgLm5hdjItcHJpbWFyeSB1bCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBjb2x1bW5zOiAzO1xuICAgIGNvbHVtbi1nYXA6IHZhcigtLXMyKTtcbiAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgfVxuICAubmF2Mi1wcmltYXJ5IHVsOmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAubmF2Mi1wcmltYXJ5IHVsIGxpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cbn1cbi8qKlxuICogQG5hbWUgLm92ZXJsYXkxXG4gKiBAZGVzY3JpcHRpb24gT3ZlcmxheSBibG9ja1xuICogQGV4YW1wbGUgeyB9XG4gKi9cbi5vdmVybGF5MSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAyMDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgb3BhY2l0eTogMC40O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiB2YXIoLS10OG5fZDIpO1xuICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcbn1cblxuLm92ZXJsYXkxLi1mcm9tIHtcbiAgb3BhY2l0eTogMDtcbn1cblxuOnJvb3Q6bm90KFtqc10pIC4tb3ZlcmxheTE6dGFyZ2V0IH4gLm92ZXJsYXkxIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cblxuLyoqXG4qIEBuYW1lIC5vdmVybGluazFcbiogQGRlc2NyaXB0aW9uIENhcmQgbGlua1xuKiBAZXhhbXBsZSB7IH1cbiovXG4ub3ZlcmxpbmsxIHtcbiAgLS1hdXM6IDtcbiAgLS1hYmduOiA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLm92ZXJsaW5rMSB+ICoge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLm92ZXJsaW5rMSB+ICogYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG5cbi8qKlxuICogQG5hbWUgLnBhZ2luZzFcbiAqIEBkZXNjcmlwdGlvbiBQYWdpbmcgd3JhcHBlclxuICovXG4ucGFnaW5nMVtkaXNhYmxlZF0ge1xuICAtLWQ6IDE7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwLjY1O1xufVxuXG4ucGFnaW5nMS1tb3JlIC5idXR0b24xIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucGFnaW5nMS1tb3JlIC5idXR0b24xID4gc3BhbiB7XG4gIG9wYWNpdHk6IGNhbGMoMSAtIHZhcigtLWQsIDApKTtcbn1cblxuLnBhZ2luZzEtbW9yZSAuYnV0dG9uMSA+IHNwYW46bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLnBhZ2luZzEtbW9yZSAuYnV0dG9uMSA+IC5sb2FkZXIxIHtcbiAgb3BhY2l0eTogdmFyKC0tZCwgMCk7XG59XG5cbi5wYWdpbmcxLXBhZ2VzIHtcbiAgLS1neDogMC41cmVtO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMDtcbn1cblxuLnBhZ2luZzEtcGFnZXMgbGkge1xuICBmbGV4OiBub25lO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnBhZ2luZzEtcGFnZXMgbGk6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnBhZ2luZzEtcGFnZXMgYSB7XG4gIC0tYWJnbjogXCJcIjtcbiAgLS1hdGNoOiB2YXIoLS1jX2ExdCk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtaW4td2lkdGg6IDJyZW07XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnBhZ2luZzEtcGFnZXMgYVthcmlhLWN1cnJlbnRdIHtcbiAgLS1hdGNuOiB2YXIoLS1jX2ExdCk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5wYWdpbmcxLWRvdHMge1xuICBwYWRkaW5nOiAwIDAuM3JlbTtcbn1cblxuLnBhZ2luZzEtc3RlcCB7XG4gIC0tbGg6IDE7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG59XG5cbi5wYWdpbmcxLWRvdHMgYSB7XG4gIG1pbi13aWR0aDogMDtcbn1cblxuLyoqXG4qIEBuYW1lIC5wcml6ZXMxXG4qIEBkZXNjcmlwdGlvbiBQcml6ZSBsaXN0XG4qIEBleGFtcGxlIHsgfVxuKi9cbi5wcml6ZXMxIHtcbiAgZ3JpZC1jb2x1bW4tZ2FwOiB2YXIoLS1zMyk7XG59XG5cbi5wcml6ZXMxLWhlYWRlciA+ICoge1xuICAtLXN5OiAxLjhyZW07XG59XG5cbi5wcml6ZXMxLWVudHJ5IHtcbiAgLS1zeTogM3JlbTtcbn1cblxuLnByaXplczEtZW50cnkgLmltZzEge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4ucHJpemVzMS1tYWluIHtcbiAgZ3JpZC1jb2x1bW4tZ2FwOiB2YXIoLS1zMSk7XG59XG5cbkBtZWRpYSBwcmludCwgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgLnByaXplczEtbWFpbiB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIGdyaWQtcm93LWdhcDogM3JlbTtcbiAgICBncmlkLWNvbHVtbi1nYXA6IHZhcigtLXMxKTtcbiAgfVxuICAucHJpemVzMS1lbnRyeSB7XG4gICAgLS1zeTogMDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnByaXplczEge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICBncmlkLWNvbHVtbi1nYXA6IHZhcigtLXMzKTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1heC13aWR0aDogMTEwcmVtO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG4gIC5wcml6ZXMxID4gKiB7XG4gICAgLS1zeTogMDtcbiAgfVxufVxuLyoqXG4qIEBuYW1lIC5wcm9ncmVzczFcbiogQGRlc2NyaXB0aW9uIERvbmF0aW9uIHByb2dyZXNzXG4qIEBleGFtcGxlIHsgfVxuKi9cbi5wcm9ncmVzczEtaGVhZGVyID4gKiB7XG4gIC0tc3k6IDEuNHJlbTtcbn1cblxuLnByb2dyZXNzMS1iYXIge1xuICAtLWg6IDMuNHJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiB2YXIoLS1oKTtcbiAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1oKSAvIDIpO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0tY19kMXQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jX2IxdCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbn1cblxuLnByb2dyZXNzMS1iYXI6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiB2YXIoLS1wLCAwJSk7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1oKSAvIDIpO1xuICBib3gtc2hhZG93OiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jLCB2YXIoLS1jX2ExdCkpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDUwJTtcbiAgdHJhbnNpdGlvbjogYWxsIDFzIHZhcigtLXQ4bl9lMSk7XG59XG5cbi5wcm9ncmVzczEtYWN0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5wcm9ncmVzczEtYWN0aW9ucyBsaSB7XG4gIC0tc3k6IDA7XG59XG5cbi5wcm9ncmVzczEtYWN0aW9ucyBsaSB+IGxpIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMnJlbTtcbn1cblxuLnByb2dyZXNzMS1hY3Rpb25zIGxpOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBtZWRpYSBwcmludCwgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5wcm9ncmVzczEtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gIH1cbiAgLnByb2dyZXNzMS1oZWFkZXIgPiAqIHtcbiAgICAtLXN5OiAwO1xuICB9XG4gIC5wcm9ncmVzczEtaGVhZGVyID4gKiB+ICoge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zMSk7XG4gIH1cbiAgLnByb2dyZXNzMS1mb290ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgfVxuICAucHJvZ3Jlc3MxLWZvb3RlciA+ICoge1xuICAgIC0tc3k6IDA7XG4gIH1cbiAgLnByb2dyZXNzMS1ub3RlIHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLXh3XzUpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogbm8tcHJlZmVyZW5jZSkge1xuICBbbTRuXSAucHJvZ3Jlc3MxLWJhcltyZXZlYWxdOm5vdChbcmV2ZWFsZWRdKTpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIH1cbn1cbkBtZWRpYSBwcmludCB7XG4gIC5wcm9ncmVzczEtYmFyOmJlZm9yZSB7XG4gICAgYm9yZGVyLXRvcDogdmFyKC0taCkgc29saWQgdmFyKC0tYywgdmFyKC0tY19hMXQpKTtcbiAgfVxufVxuLyoqXG4qIEBuYW1lIC5wcm9ncmVzczJcbiogQGRlc2NyaXB0aW9uIFNtYWxsIHByb2dyZXNzIGJhclxuKiBAZXhhbXBsZSB7IH1cbiovXG4ucHJvZ3Jlc3MyIHtcbiAgLS1oOiAxLjJyZW07XG4gIGhlaWdodDogdmFyKC0taCk7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0taCkgLyAyKTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLWNfbzJ0KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY19iMXQpO1xufVxuXG4ucHJvZ3Jlc3MyOmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogdmFyKC0tcCwgMCUpO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0taCkgLyAyKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYywgdmFyKC0tY19hMXQpKTtcbn1cblxuQG1lZGlhIHByaW50IHtcbiAgLnByb2dyZXNzMjpiZWZvcmUge1xuICAgIGJvcmRlci10b3A6IHZhcigtLWgpIHNvbGlkIHZhcigtLWMsIHZhcigtLWNfYTF0KSk7XG4gIH1cbn1cbi8qKlxuKiBAbmFtZSAucHJvbW8xXG4qIEBkZXNjcmlwdGlvbiBQcm9tbyBjYXJkXG4qIEBleGFtcGxlIHsgfVxuKi9cbi5wcm9tbzEge1xuICAtLXN5OiB2YXIoLS1zMyk7XG59XG5cbi5wcm9tbzEtaW1hZ2Uge1xuICAtLW06IHVybCguLi9pbWFnZXMvbWFza3MxYS5zdmcpIHZhcigtLXAsIDUwJSkgMCAvIGF1dG8gMTAwJSBuby1yZXBlYXQ7XG4gIC0tc3k6IDJyZW07XG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1ueCk7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tbngpO1xuICAtd2Via2l0LW1hc2s6IHZhcigtLW0pO1xuICBtYXNrOiB2YXIoLS1tKTtcbn1cblxuLnByb21vMS4tcmlnaHQgLnByb21vMS1pbWFnZSB7XG4gIC0tcDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5wcm9tbzEuLWxlZnQgLnByb21vMS1pbWFnZSB7XG4gIC0tcDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4ucHJvbW8xLW1haW4gPiAqIHtcbiAgLS1zeTogMS40cmVtO1xufVxuXG4ucHJvbW8xLWJyb3cge1xuICAtLXN5OiAwLjZyZW07XG59XG5cbi5wcm9tbzEtYWN0aW9ucyB7XG4gIG1heC13aWR0aDogODAlO1xuICBtYXJnaW4tdG9wOiAycmVtO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzIwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLnByb21vMS4tcmlnaHQgLnByb21vMS1pbWFnZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTtcbiAgfVxuICAucHJvbW8xLi1sZWZ0IC5wcm9tbzEtaW1hZ2Uge1xuICAgIG1hcmdpbi1yaWdodDogMjUlO1xuICB9XG4gIC5wcm9tbzEtbWFpbiB7XG4gICAgbWF4LXdpZHRoOiA4MCU7XG4gIH1cbiAgLnByb21vMS4tbGVmdCAucHJvbW8xLW1haW4ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAucHJvbW8xIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgZ3JpZC1jb2x1bW4tZ2FwOiB2YXIoLS1zMyk7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICAucHJvbW8xLi1sZWZ0IC5wcm9tbzEtaW1hZ2Uge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLW9mZnNldC1sZWZ0LCB2YXIoLS1zeCkpICogLTEpO1xuICB9XG4gIC5wcm9tbzEuLXJpZ2h0IC5wcm9tbzEtaW1hZ2Uge1xuICAgIG9yZGVyOiAyO1xuICAgIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1vZmZzZXQtcmlnaHQsIHZhcigtLXN4KSkgKiAtMSk7XG4gIH1cbiAgLnByb21vMS1tYWluIHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLXh3XzYpO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxufVxuLyoqXG4qIEBuYW1lIC5wcm9tbzJcbiogQGRlc2NyaXB0aW9uIEltcGFjdCBwcm9tb1xuKiBAZXhhbXBsZSB7IH1cbiovXG4ucHJvbW8yLWltYWdlIHtcbiAgbWF4LXdpZHRoOiAzMnJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLnByb21vMi1tYWluIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ucHJvbW8yLW1haW4gPiAqIHtcbiAgLS1zeTogMS4ycmVtO1xufVxuXG4ucHJvbW8yLWFjdGlvbiB7XG4gIG1hcmdpbi10b3A6IDJyZW07XG59XG5cbkBtZWRpYSBwcmludCwgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5wcm9tbzIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxLjc3ZnI7XG4gICAgZ3JpZC1jb2x1bW4tZ2FwOiB2YXIoLS1zMSk7XG4gIH1cbiAgLnByb21vMi1pbWFnZSB7XG4gICAgZmxleDogbm9uZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnByb21vMi1tYWluIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG4vKipcbiogQG5hbWUgLnF1b3RlMVxuKiBAZGVzY3JpcHRpb24gQmlnIHF1b3RlXG4qIEBleGFtcGxlIHsgfVxuKi9cbi5xdW90ZTEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy10b3A6IDIuNHJlbTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLnF1b3RlMSBmaWd1cmUge1xuICAtLXN5OiAxLjZyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgbWF4LXdpZHRoOiAxNnJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLnF1b3RlMSBxIHtcbiAgLS1zeTogMi40cmVtO1xufVxuXG4ucXVvdGUxIHE6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGNvbnRlbnQ6IFwiXFxlOTUwXCI7XG4gIHdpZHRoOiBhdXRvO1xuICBjb2xvcjogdmFyKC0tY19hMXQpO1xuICB0ZXh0LWluZGVudDogMDtcbiAgZm9udDogNnJlbS8xIEljb25zO1xufVxuXG5AbWVkaWEgcHJpbnQsIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gIC5xdW90ZTEgZmlndXJlIHtcbiAgICBtYXJnaW4tbGVmdDogNHJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnF1b3RlMSB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHJlbTtcbiAgICBwYWRkaW5nLXRvcDogNXJlbTtcbiAgfVxuICAucXVvdGUxIGZpZ3VyZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDEwcmVtO1xuICAgIHRvcDogNXJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgLnF1b3RlMSBxOmJlZm9yZSB7XG4gICAgdG9wOiAwO1xuICAgIGZvbnQtc2l6ZTogMTJyZW07XG4gIH1cbn1cbi8qKlxuKiBAbmFtZSAucXVvdGUyXG4qIEBkZXNjcmlwdGlvbiBQdWxscXVvdGVcbiogQGV4YW1wbGUgeyB9XG4qL1xuLnF1b3RlMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLnF1b3RlMiA+ICoge1xuICAtLXN5OiAycmVtO1xufVxuXG4ucXVvdGUyOmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIlwiO1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY19hMXQpO1xufVxuXG4ucXVvdGUyIHE6YmVmb3JlIHtcbiAgLS1saDogMC42O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC03cmVtO1xuICB0b3A6IC0ycmVtO1xuICB3aWR0aDogYXV0bztcbiAgY29sb3I6IHZhcigtLWNfYTF0KTtcbiAgdGV4dC1pbmRlbnQ6IDA7XG4gIGZvbnQtc2l6ZTogMjByZW07XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAucXVvdGUyOmJlZm9yZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMy41cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiA4cmVtO1xuICB9XG4gIC5xdW90ZTIgcTpiZWZvcmUge1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAtMnJlbTtcbiAgfVxufVxuLyoqXG4qIEBuYW1lIC5yYWRpb3MxXG4qIEBkZXNjcmlwdGlvbiBSYWRpbyBidXR0b25zXG4qIEBleGFtcGxlIHsgfVxuKi9cbi5yYWRpb3MxIGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucmFkaW9zMSBpbnB1dFt0eXBlXSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTEwMDAxcHg7XG59XG5cbi5yYWRpb3MxIGxhYmVsW2Zvcl0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogMTByZW07XG4gIG1pbi1oZWlnaHQ6IDQuOHJlbTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDJyZW07XG4gIGJvcmRlci1yYWRpdXM6IDIuNHJlbTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLWFvYywgdmFyKC0tY19hMXQpKTtcbiAgY29sb3I6IHZhcigtLWNfYTF0KTtcbiAgZm9udDogNzAwIDEuNnJlbS92YXIoLS1saCkgdmFyKC0tZmZfMSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHZhcigtLXQ4bl9wMSksIGNvbG9yO1xufVxuXG4ucmFkaW9zMSBpbnB1dDpjaGVja2VkICsgbGFiZWxbZm9yXSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNfYTF0KTtcbiAgY29sb3I6IHZhcigtLWNfaTF0KTtcbn1cblxuLyoqXG4qIEBuYW1lIC5yZXN1bHRzMVxuKiBAZGVzY3JpcHRpb24gTWFwIHJlc3VsdHNcbiogQGV4YW1wbGUgeyB9XG4qL1xuLnJlc3VsdHMxIHtcbiAgcGFkZGluZzogMDtcbn1cblxuLnJlc3VsdHMxIGxpIHtcbiAgLS1zeTogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNfbzF0KTtcbn1cblxuLnJlc3VsdHMxIGxpOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xufVxuXG4ucmVzdWx0czEgbGk6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnJlc3VsdHMxIGEge1xuICAtLWxoOiAxO1xuICAtLWF1czogO1xuICAtLWFiZ246IDtcbiAgLS1hYmNuOiB2YXIoLS1jX2IxKTtcbiAgLS1hYmNoOiB2YXIoLS1jX2IyKTtcbiAgLS1hdGNuOiB2YXIoLS1jX2QxdCk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxLjRyZW0gMXJlbTtcbn1cblxuLnJlc3VsdHMxIGkge1xuICAtLWxoOiAxO1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbjogMCAwIDAgMXJlbTtcbn1cblxuLnJlc3VsdHMxIHN0cm9uZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucmVzdWx0czEgc3Ryb25nLCAucmVzdWx0czEgaSB7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHZhcigtLXQ4bl9wMSksIGNvbG9yO1xufVxuXG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIC5yZXN1bHRzMSBhOmhvdmVyIHN0cm9uZywgLnJlc3VsdHMxIGE6aG92ZXIgaSB7XG4gICAgY29sb3I6IHZhcigtLWNfYTF0KTtcbiAgfVxufVxuLyoqXG4qIEBuYW1lIC5yZXN1bHRzMlxuKiBAZGVzY3JpcHRpb24gTWFwIHNlYXJjaCByZXN1bHRzXG4qIEBleGFtcGxlIHsgfVxuKi9cbi5yZXN1bHRzMiB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5yZXN1bHRzMiBsaSB7XG4gIC0tc3k6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jX28xdCk7XG59XG5cbi5yZXN1bHRzMiBsaTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbn1cblxuLnJlc3VsdHMyIGxpOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5yZXN1bHRzMiBhIHtcbiAgLS1saDogMTtcbiAgLS1hdXM6IDtcbiAgLS1hYmduOiA7XG4gIC0tYXRjbjogdmFyKC0tY19kMXQpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IDEuNHJlbSAxcmVtO1xufVxuXG4ucmVzdWx0czIgc3Ryb25nIHtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdmFyKC0tdDhuX3AxKSwgY29sb3I7XG59XG5cbi5yZXN1bHRzMiB0aW1lIHtcbiAgZmxleDogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDJyZW07XG59XG5cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLnJlc3VsdHMyIGE6aG92ZXIgc3Ryb25nIHtcbiAgICBjb2xvcjogdmFyKC0tY19hMXQpO1xuICB9XG59XG4vKipcbiAqIEBuYW1lIC5zY3JvbGxlZDFcbiAqIEBkZXNjcmlwdGlvbiBIb3Jpem9udGFsbHkgc2Nyb2xsZWQgY29udGFpbmVyXG4gKi9cbi5zY3JvbGxlZDEgdGFibGUge1xuICB3aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5zY3JvbGxlZDEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1ueCk7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1ueCk7XG4gIH1cbiAgLnNjcm9sbGVkMTphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiB2YXIoLS1zeCk7XG4gICAgYm90dG9tOiAtMS42cmVtO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lkdGg6IDEuOHJlbTtcbiAgICBoZWlnaHQ6IDIuNHJlbTtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3RhYmxlMS1pY29uMS5wbmcpIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgb3BhY2l0eTogMC43NTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBhbmltYXRpb246IHNjcm9sbGVkMSAycyBpbmZpbml0ZTtcbiAgfVxuICAuc2Nyb2xsZWQxLW91dGVyIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgfVxuICAuc2Nyb2xsZWQxLW91dGVyOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuc2Nyb2xsZWQxLWlubmVyIHtcbiAgICBtaW4td2lkdGg6IGNhbGMoMTAyLjRyZW0gLSB2YXIoLS1zeCkgKiAyKTtcbiAgfVxuICAuc2Nyb2xsZWQxLWlubmVyIHRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuc2Nyb2xsZWQxLWlubmVyIHRyID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXN4KTtcbiAgfVxuICAuc2Nyb2xsZWQxLWlubmVyIHRyID4gOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zeCk7XG4gIH1cbiAgQGtleWZyYW1lcyBzY3JvbGxlZDEge1xuICAgIDAlIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIH1cbiAgICA2MCUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMnJlbSwgMCwgMCk7XG4gICAgICBvcGFjaXR5OiAwLjc1O1xuICAgIH1cbiAgICA4MCUge1xuICAgICAgb3BhY2l0eTogMC43NTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMnJlbSwgMCwgMCk7XG4gICAgfVxuICB9XG59XG4vKipcbiAqIEBuYW1lIC5zZWFyY2hib3gxXG4gKiBAZGVzY3JpcHRpb24gU2VhcmNoIGJveFxuICogQGV4YW1wbGUgeyB9XG4gKi9cbi5zZWFyY2hib3gxIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uc2VhcmNoYm94MSA+IGlucHV0W3R5cGVdIHtcbiAgLS1haG06IDhyZW07XG4gIC0tYXB4OiA0cmVtO1xuICAtLWFweTogMHJlbTtcbiAgLS1hcGNuOiB2YXIoLS1jX2QxdCk7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tYWhtKSArIDFyZW0pO1xuICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWFobSkgLyAyKTtcbiAgZm9udDogNTAwIDMuNnJlbS92YXIoLS1saCkgdmFyKC0tZmZfMik7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICBmb250LXNpemU6IGNhbGModmFyKC0tYWhtKSAqIDAuNDUpO1xufVxuXG4uc2VhcmNoYm94MSA+IGJ1dHRvblt0eXBlXSB7XG4gIC0tYXdtOiA4cmVtO1xuICAtLWFobTogdmFyKC0tYXdtKTtcbiAgLS1hcHg6IDA7XG4gIC0tYW9zbjogMDtcbiAgLS1hdGNuOiB2YXIoLS1jX2ExdCk7XG4gIC0tYXRjaDogdmFyKC0tYXRjbik7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgZm9udC1zaXplOiBjYWxjKHZhcigtLWFobSkgKiAwLjQpO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MTlweCkge1xuICAuc2VhcmNoYm94MSA+IGlucHV0W3R5cGVdIHtcbiAgICAtLWFobTogNnJlbTtcbiAgICAtLWFweDogMi40cmVtO1xuICB9XG4gIC5zZWFyY2hib3gxID4gYnV0dG9uW3R5cGVdIHtcbiAgICAtLWF3bTogNnJlbTtcbiAgfVxufVxuLyoqXG4gKiBAbmFtZSAuc2VhcmNoYm94MlxuICogQGRlc2NyaXB0aW9uIFNtYWxsIHNlYXJjaCBib3hcbiAqIEBleGFtcGxlIHsgfVxuICovXG4uc2VhcmNoYm94MiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnNlYXJjaGJveDIgPiBpbnB1dFt0eXBlXSB7XG4gIC0tYWJjbjogdmFyKC0tY19iMXQpO1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWFobSkgKyAxcmVtKTtcbn1cblxuLnNlYXJjaGJveDIgPiBidXR0b25bdHlwZV0ge1xuICAtLWF3bTogNC44cmVtO1xuICAtLWFobTogdmFyKC0tYXdtKTtcbiAgLS1hcHg6IDA7XG4gIC0tYW9zbjogMDtcbiAgLS1hdGNuOiB2YXIoLS1jX2ExdCk7XG4gIC0tYXRjaDogdmFyKC0tYXRjbik7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgZm9udC1zaXplOiBjYWxjKHZhcigtLWFobSkgKiAwLjQpO1xufVxuXG4uc2VhcmNoYm94Mi4tdjIgPiBpbnB1dFt0eXBlXSB7XG4gIC0tYXBjbjogdmFyKC0tY19kMXQpO1xuICBmb250OiA3MDAgMS42cmVtL3ZhcigtLWxoKSB2YXIoLS1mZl8yKTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG59XG5cbi8qKlxuKiBAbmFtZSAuc2hhcmUxXG4qIEBkZXNjcmlwdGlvbiBTaGFyZSBtb2RhbFxuKiBAZXhhbXBsZSB7IH1cbiovXG4uc2hhcmUxIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDIwMTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogdmFyKC0tczEpIHZhcigtLXN4KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnJfMSkgdmFyKC0tYnJfMSkgMCAwO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jX2IxKTtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXQ4bl9kMikgdmFyKC0tdDhuX2UxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdmFyKC0tdDhuX3AyKTtcbn1cblxuLnNoYXJlMS4tZnJvbSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbn1cblxuLnNoYXJlMS1jbG9zZSB7XG4gIC0tbGg6IDE7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDFyZW07XG4gIHRvcDogMXJlbTtcbiAgY29sb3I6IHZhcigtLWNfYTF0KTtcbiAgZm9udC1zaXplOiAyLjRyZW07XG59XG5cbi5zaGFyZTEtdGl0bGUge1xuICAtLXN5OiAxLjZyZW07XG59XG5cbi5zaGFyZTEtbGlzdCB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5zaGFyZTEtbGlzdCBsaSB7XG4gIC0tc3k6IDFyZW07XG4gIC0tbGg6IDE7XG59XG5cbi5zaGFyZTEtbGlzdCBsaTpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uc2hhcmUxLWxpc3QgYSB7XG4gIC0tYXVzOiBcIlwiO1xuICAtLWFiZ246IFwiXCI7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4uc2hhcmUxLWxpc3QgaSB7XG4gIGZsZXg6IG5vbmU7XG4gIG1hcmdpbjogMCAwLjVyZW0gMCAwO1xuICBmb250LXNpemU6IDEuNzVlbTtcbn1cblxuQG1lZGlhIHByaW50LCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnNoYXJlMSB7XG4gICAgbGVmdDogNTAlO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDUwJTtcbiAgICB3aWR0aDogNTByZW07XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnJfMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKSBzY2FsZSgxKTtcbiAgfVxuICAuc2hhcmUxLi1mcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApIHNjYWxlKDAuOSk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAuc2hhcmUxLWNsb3NlIHtcbiAgICByaWdodDogMnJlbTtcbiAgICB0b3A6IDJyZW07XG4gIH1cbn1cbi8qKlxuKiBAbmFtZSAuc2lkZWJhcjFcbiogQGRlc2NyaXB0aW9uIFNpZGViYXJcbiogQGV4YW1wbGUgeyB9XG4qL1xuLnNpZGViYXIxLWludHJvIHtcbiAgLS1zeTogdmFyKC0tczEpO1xufVxuXG4uc2lkZWJhcjEtdGl0bGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctYm90dG9tOiAxLjhyZW07XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jX28xdCk7XG59XG5cbi5zaWRlYmFyMS10aXRsZSA+IGEge1xuICAtLWF1czogO1xuICAtLWFiZ246IDtcbiAgLS1hdGNuOiB2YXIoLS1jX2QxdCk7XG4gIC0tYXRjaDogdmFyKC0tY19hMXQpO1xufVxuXG4uc2lkZWJhcjEtdGl0bGUgPiBzcGFuIGkge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB3aWR0aDogMS4zNWVtO1xuICBoZWlnaHQ6IDEuMzVlbTtcbiAgbWFyZ2luOiAwIDAgMCAwLjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLWNfZDF0KTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4uc2lkZWJhcjEtdGl0bGUgPiBzcGFuIGk6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcZTk1ZFwiO1xuICBmb250LWZhbWlseTogSWNvbnM7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5zaWRlYmFyMS10aXRsZS4tb3BlbiA+IHNwYW4gaTpiZWZvcmUge1xuICBvcGFjaXR5OiAwO1xufVxuXG4uc2lkZWJhcjEtdGl0bGUuLW9wZW4gPiBzcGFuIGk6YWZ0ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuXG4uc2lkZWJhcjEtd3JhcCB7XG4gIC0tc3k6IHZhcigtLXMxKTtcbn1cblxuLnNpZGViYXIxLW5hdiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLnNpZGViYXIxLW5hdiBhIHtcbiAgLS1hdXM6IDtcbiAgLS1hYmduOiA7XG4gIC0tYXRjbjogdmFyKC0tY19kMXQpO1xuICAtLWF0Y2g6IHZhcigtLWNfYTF0KTtcbn1cblxuLnNpZGViYXIxLW5hdiBhW2FyaWEtY3VycmVudF0ge1xuICAtLWF0Y246IHZhcigtLWF0Y2gpO1xufVxuXG4uc2lkZWJhcjEtbmF2IGxpOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zaWRlYmFyMS1uYXYgPiBsaSB7XG4gIC0tc3k6IDEuOHJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jX28xdCk7XG59XG5cbi5zaWRlYmFyMS1uYXYgPiBsaTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbn1cblxuLnNpZGViYXIxLW5hdiA+IGxpOmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGhlaWdodDogdmFyKC0tc3kpO1xufVxuXG4uc2lkZWJhcjEtbmF2ID4gbGkgPiBpIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsb2F0OiByaWdodDtcbiAgd2lkdGg6IDEuMzVlbTtcbiAgaGVpZ2h0OiAxLjM1ZW07XG4gIHBhZGRpbmctdG9wOiAxcHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLWNfZDF0KTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgb3BhY2l0eTogMC41O1xufVxuXG4uc2lkZWJhcjEtbmF2ID4gbGkgPiBpOmFmdGVyIHtcbiAgY29udGVudDogXCJcXGU5NWRcIjtcbiAgZm9udC1mYW1pbHk6IEljb25zO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uc2lkZWJhcjEtbmF2ID4gbGkuLW9wZW4gPiBpOmJlZm9yZSB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5zaWRlYmFyMS1uYXYgPiBsaS4tb3BlbiA+IGk6YWZ0ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuXG4uc2lkZWJhcjEtbmF2ID4gbGkgPiB1bCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZy1sZWZ0OiAycmVtO1xufVxuXG4uc2lkZWJhcjEtbmF2ID4gbGkgPiB1bDpiZWZvcmUsIC5zaWRlYmFyMS1uYXYgPiBsaSA+IHVsOmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGhlaWdodDogMS42cmVtO1xufVxuXG4uc2lkZWJhcjEtbmF2ID4gbGkgPiB1bDphZnRlciB7XG4gIGhlaWdodDogMC42cmVtO1xufVxuXG4uc2lkZWJhcjEtbmF2ID4gbGkgPiB1bCA+IGxpIHtcbiAgLS1zeTogMC42cmVtO1xufVxuXG4uc2lkZWJhcjEtc2VwYXJhdG9yIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tczEpO1xufVxuXG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIC5zaWRlYmFyMS1uYXYgPiBsaSA+IGk6aG92ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAuc2lkZWJhcjEtd3JhcDpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgaGVpZ2h0OiAxLjhyZW07XG4gIH1cbiAgLnNpZGViYXIxLW5hdiA+IGxpID4gaSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5zaWRlYmFyMS1uYXYgPiBsaSA+IHVsIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuc2lkZWJhcjEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwb3NpdGlvbjogLXdlYmtpdC1zdGlja3k7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDRyZW07XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gOHJlbSk7XG4gIH1cbiAgLnNpZGViYXIxLWludHJvIHtcbiAgICBmbGV4OiBub25lO1xuICB9XG4gIC5zaWRlYmFyMS10aXRsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuc2lkZWJhcjEtd3JhcCB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNpZGViYXIxLW5hdiB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjtcbiAgfVxuICAuc2lkZWJhcjEtbmF2Ojotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuc2lkZWJhcjEtYWN0aW9uIHtcbiAgICBmbGV4OiBub25lO1xuICB9XG59XG4vKipcbiAqIEBuYW1lIC5za2lwczFcbiAqIEBkZXNjcmlwdGlvbiBTa2lwIGxpbmtzXG4gKi9cbi5za2lwczEge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogOTk5OTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAtM3JlbSAwIDA7XG4gIHBhZGRpbmc6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnNraXBzMSBsaSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwO1xuICBmb250OiBib2xkIDVyZW0vMSBBcmlhbCwgSGVsdmV0aWNhIE5ldWUsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbn1cblxuLnNraXBzMSBsaTpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uc2tpcHMxIGxpIGEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTEwMDAxZW07XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAycmVtIDNyZW07XG4gIGJvcmRlcjogMXB4IGRvdHRlZCAjZmZmO1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgYm9yZGVyLXJhZGl1czogMnJlbTtcbiAgYmFja2dyb3VuZDogIzMzMztcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi5za2lwczEgbGkgYTpmb2N1cywgLnNraXBzMSBsaSBhOmFjdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMDtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAuc2tpcHMxIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4vKipcbiAqIEBuYW1lIC5zbG90MVxuICogQGRlc2NyaXB0aW9uIFBsYWNlaG9sZGVyXG4gKiBAZXhhbXBsZSB7IH1cbiAqL1xuLnNsb3QxIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IDEwcmVtO1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0tY19vMXQpO1xuICBjb2xvcjogcmdiYSh2YXIoLS1jX2R4dCksIDAuMjUpO1xuICBmb250OiA4MDAgMThweC8xIHZhcigtLWZmXzEpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uc2xvdDEuLXRvZG8ge1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBiYWNrZ3JvdW5kOiAjRkY2RjYxO1xuICBjb2xvcjogdmFyKC0tY19pMSk7XG59XG5cbi8qKlxuICogQG5hbWUgLnNvY2lhbHMxXG4gKiBAZGVzY3JpcHRpb24gU29jaWFsIGxpbmtzXG4gKiBAZXhhbXBsZSB7IH1cbiAqL1xuLnNvY2lhbHMxIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zMSkgIWltcG9ydGFudDtcbn1cblxuLnNvY2lhbHMxLWxhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xufVxuXG4uc29jaWFsczEtaXRlbXMge1xuICAtLWxoOiAxO1xuICAtLWd4OiAxcmVtO1xuICAtLWd5OiAxcmVtO1xuICBmb250LXNpemU6IDIuOHJlbTtcbn1cblxuLnNvY2lhbHMxLWl0ZW1zIGxpIHtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi5zb2NpYWxzMS1pdGVtcyBhIHtcbiAgLS1saDogMTtcbiAgLS1hdXM6IG5vbmU7XG4gIC0tYWJnbjogXCJcIjtcbiAgLS1hdGNuOiB2YXIoLS1jX2QxdCk7XG4gIC0tYXRjaDogdmFyKC0tY19hMXQpO1xufVxuXG4uc29jaWFsczEuLWExIC5zb2NpYWxzMS1pdGVtcyBhIHtcbiAgLS1hdGNuOiB2YXIoLS1jX2ExdCk7XG4gIC0tYXRjaDogdmFyKC0tY19kMXQpO1xufVxuXG4uc29jaWFsczEuLWNlbnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uc29jaWFsczEuLWNlbnRlciAuc29jaWFsczEtaXRlbXMge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLyoqXG4gKiBAbmFtZSAuc3BhY2VyMVxuICogQGRlc2NyaXB0aW9uIFNwYWNpbmcgZGl2XG4gKiBAZXhhbXBsZSB7IH1cbiAqL1xuLnNwYWNlcjEge1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luLXRvcDogLTFweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5zcGFjZXIxOm5vdCguLXB1bGwpW3N0eWxlKj1cIi0taGw6XCJdIHtcbiAgaGVpZ2h0OiB2YXIoLS1obCk7XG59XG5cbi5zcGFjZXIxLi1wdWxsW3N0eWxlKj1cIi0taGw6XCJdIHtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1obCkgKiAtMSk7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAuc3BhY2VyMTpub3QoLi1wdWxsKVtzdHlsZSo9XCItLWhtOlwiXSB7XG4gICAgaGVpZ2h0OiB2YXIoLS1obSk7XG4gIH1cbiAgLnNwYWNlcjEuLXB1bGxbc3R5bGUqPVwiLS1obTpcIl0ge1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0taG0pICogLTEpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MTlweCkge1xuICAuc3BhY2VyMTpub3QoLi1wdWxsKVtzdHlsZSo9XCItLWhzOlwiXSB7XG4gICAgaGVpZ2h0OiB2YXIoLS1ocyk7XG4gIH1cbiAgLnNwYWNlcjEuLXB1bGxbc3R5bGUqPVwiLS1oczpcIl0ge1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0taHMpICogLTEpO1xuICB9XG59XG5AbWVkaWEgcHJpbnQge1xuICAuc3BhY2VyMTpub3QoLi1wdWxsKVtzdHlsZSo9XCItLWhwOlwiXSB7XG4gICAgaGVpZ2h0OiB2YXIoLS1ocCk7XG4gIH1cbiAgLnNwYWNlcjEuLXB1bGxbc3R5bGUqPVwiLS1ocDpcIl0ge1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0taHApICogLTEpO1xuICB9XG59XG4vKipcbiogQG5hbWUgLnNwbGl0MVxuKiBAZGVzY3JpcHRpb24gUGFnZSBzcGxpdFxuKiBAZXhhbXBsZSB7IH1cbiovXG4uc3BsaXQxID4gKiB7XG4gIC0tc3k6IHZhcigtLXMzKTtcbn1cblxuQG1lZGlhIHByaW50LCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnNwbGl0MSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDNmciA4ZnI7XG4gICAgZ3JpZC1jb2x1bW4tZ2FwOiB2YXIoLS1zMyk7XG4gIH1cbiAgLnNwbGl0MS1zaWRlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG4vKipcbiogQG5hbWUgLnN0YXRzMVxuKiBAZGVzY3JpcHRpb24gU3RhdHMgZ3JpZFxuKiBAZXhhbXBsZSB7IH1cbiovXG5AbWVkaWEgKG1pbi13aWR0aDogNzIwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLnN0YXRzMS1ncmlkID4gW3cqPVwiLzEyL1wiXTpudGgtY2hpbGQob2RkKTpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5zdGF0czEtZ3JpZCA+IFt3JD1cIi82XCJdOm50aC1jaGlsZCg0bisxKTpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi8qKlxuKiBAbmFtZSAuc3Vic2NyaWJlMVxuKiBAZGVzY3JpcHRpb24gU3Vic2NyaWJlIGZvcm0gd2l0aCBncmFkaWVudHNcbiogQGV4YW1wbGUgeyB9XG4qL1xuLnN1YnNjcmliZTEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zdWJzY3JpYmUxLWdyYWRpZW50IHtcbiAgLS1saDogMTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogNTAlO1xuICB6LWluZGV4OiAtMTtcbiAgY29udGVudDogXCJcIjtcbiAgbWFyZ2luOiAtMC41ZW0gMCAwIC0xZW07XG4gIHdpZHRoOiAxZW07XG4gIGhlaWdodDogMWVtO1xuICBmb250LXNpemU6IDQwcmVtO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMnM7XG59XG5cbi5zdWJzY3JpYmUxLWdyYWRpZW50OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoNTAlIDUwJSBhdCA1MCUgNTAlLCB2YXIoLS1jLCAjQ0NFMkU1KSAxNSUsIHRyYW5zcGFyZW50KTtcbiAgZm9udC1zaXplOiA0MHJlbTtcbiAgYW5pbWF0aW9uOiBzdWJzY3JpYmUxYSA2cyBpbmZpbml0ZSBhbHRlcm5hdGUgZWFzZS1pbi1vdXQ7XG59XG5cbi5zdWJzY3JpYmUxLWdyYWRpZW50Li1pMiB7XG4gIC0tYzogI0RFRjZGRjtcbiAgbWFyZ2luOiAtMC4yNWVtIDAgMCAwZW07XG59XG5cbi5zdWJzY3JpYmUxLWdyYWRpZW50Li1pMjpiZWZvcmUge1xuICBhbmltYXRpb24tZHVyYXRpb246IDEwcztcbn1cblxuLnN1YnNjcmliZTEtd3JhcCB7XG4gIG1heC13aWR0aDogNzRyZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnN1YnNjcmliZTEtd3JhcCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZmllbGQgaW5wdXQubWVkaXVtIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5nZm9ybS1ib2R5LCAuZ2ZpZWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmdmb3JtLWJvZHkgaW5wdXQge1xuICBwYWRkaW5nOiA4cHggMTZweCAhaW1wb3J0YW50O1xufVxuXG4uc3Vic2NyaWJlMS4tdjIgLnN1YnNjcmliZTEtZ3JhZGllbnQge1xuICBmb250LXNpemU6IDMwcmVtO1xuICBtYXJnaW4tbGVmdDogLTFlbTtcbn1cblxuLnN1YnNjcmliZTEuLXYyIC5zdWJzY3JpYmUxLWdyYWRpZW50Li1pMiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG5Aa2V5ZnJhbWVzIHN1YnNjcmliZTFhIHtcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogbm8tcHJlZmVyZW5jZSkgYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICBbbTRuXSAuc3Vic2NyaWJlMS1ncmFkaWVudC4taTFbcmV2ZWFsXTpub3QoW3JldmVhbGVkXSkge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTZyZW0pO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgW200bl0gLnN1YnNjcmliZTEtZ3JhZGllbnQuLWkyW3JldmVhbF06bm90KFtyZXZlYWxlZF0pIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTZyZW0pO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcxOXB4KSB7XG4gIC5zdWJzY3JpYmUxLi12MiAuc3Vic2NyaWJlMS1ncmFkaWVudCB7XG4gICAgdG9wOiAyNSU7XG4gICAgZm9udC1zaXplOiAxNXJlbTtcbiAgfVxuICAuc3Vic2NyaWJlMS4tdjIgLnN1YnNjcmliZTEtZ3JhZGllbnQuLWkxIHtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtMC40ZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjc1ZW07XG4gICAgZm9udC1zaXplOiAyNXJlbTtcbiAgfVxufVxuLyoqXG4qIEBuYW1lIC5zdWJ0aXRsZTFcbiogQGRlc2NyaXB0aW9uIFN1YnRpdGxlXG4qIEBleGFtcGxlIHsgfVxuKi9cbi5zdWJ0aXRsZTEge1xuICAtLXN5OiAxLjZyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5zdWJ0aXRsZTEgPiBzcGFuIHtcbiAgZmxleDogbm9uZTtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xufVxuXG4uc3VidGl0bGUxOmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsZXgtZ3JvdzogMTtcbiAgY29udGVudDogXCJcIjtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jX28xdCk7XG59XG5cbi8qKlxuKiBAbmFtZSAudGFiczFcbiogQGRlc2NyaXB0aW9uIEhvdmVyIHRhYnNcbiogQGV4YW1wbGUgeyB9XG4qL1xuLnRhYnMxLWxpc3Qge1xuICBwYWRkaW5nOiAwO1xufVxuXG5banNdIC50YWJzMS1saXN0IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRhYnMxLWxpc3QgbGkge1xuICAtLXN5OiAxLjRyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jX28xdCk7XG59XG5cbi50YWJzMS1saXN0IGxpOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50YWJzMS1saXN0IGEge1xuICAtLWF1czogO1xuICAtLWFiZ246IDtcbiAgLS1hdGNuOiB2YXIoLS1jX2QxdCk7XG4gIC0tYXRjaDogdmFyKC0tY19hMXQpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogdmFyKC0tc3kpIDA7XG59XG5cbi50YWJzMS1saXN0ID4gOmZpcnN0LWNoaWxkID4gYSB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuXG4udGFiczEtbGlzdCAuLWFjdGl2ZSA+IGEge1xuICAtLWF0Y246IHZhcigtLWF0Y2gpO1xufVxuXG4udGFiczEtdGFiIHtcbiAgLS1zeTogdmFyKC0tczIpO1xufVxuXG5banNdIC50YWJzMS10YWIge1xuICAtLXN5OiAwO1xufVxuXG4udGFiczEtdGFiID4gKiB7XG4gIC0tc3k6IDEuMnJlbTtcbn1cblxuLnRhYnMxLXRhYiA+IGZpZ3VyZSB7XG4gIC0tc3k6IDJyZW07XG59XG5cbkBtZWRpYSBwcmludCwgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC50YWJzMSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDMuNWZyIDZmcjtcbiAgICBncmlkLWNvbHVtbi1nYXA6IHZhcigtLXMxKTtcbiAgfVxuICAudGFiczEgPiAqIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIFtqc10gLnRhYnMxLWxpc3Qge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgW2pzXSAudGFiczEtc2VsZWN0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4vKipcbiogQG5hbWUgLnRhYnMyXG4qIEBkZXNjcmlwdGlvbiBUYWJiZWQgY29udGVudFxuKiBAZXhhbXBsZSB7IH1cbiovXG4udGFiczItaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnRhYnMyLW5hdiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBtYXJnaW46IDAgMCAwIC00cmVtO1xuICBwYWRkaW5nOiAwO1xuICBib3gtc2hhZG93OiBpbnNldCAwIC0ycHggdmFyKC0tY19vMXQpO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4udGFiczItbmF2IGxpIHtcbiAgZmxleDogbm9uZTtcbiAgbWFyZ2luOiAwIDAgMCA0cmVtO1xufVxuXG4udGFiczItbmF2IGxpOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50YWJzMi1uYXYgYSB7XG4gIC0tYXVzOiA7XG4gIC0tYWJnbjogO1xuICAtLWFvY246IHRyYW5zcGFyZW50O1xuICAtLWFvY2g6IGN1cnJlbnRDb2xvcjtcbiAgLS1hb3luOiAtMnB4O1xuICAtLWF0Y246IHZhcigtLWNfZDF0KTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtO1xufVxuXG4udGFiczItbmF2IFthcmlhLWN1cnJlbnRdID4gYSB7XG4gIC0tYW9jbjogdmFyKC0tYW9jaCk7XG4gIC0tYXRjbjogdmFyKC0tY19hMXQpO1xufVxuXG4udGFiczItc2VsZWN0IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzE5cHgpIHtcbiAgLnRhYnMyLW5hdiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAudGFiczItc2VsZWN0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuLyoqXG4qIEBuYW1lIC50YWdzMVxuKiBAZGVzY3JpcHRpb24gVGFnIGxpc3RcbiogQGV4YW1wbGUgeyB9XG4qL1xuLnRhZ3MxLWxpc3Qge1xuICAtLWd4OiAxLjJyZW07XG59XG5cbi8qKlxuICogQG5hbWUgLnRhZ3MyXG4gKiBAZGVzY3JpcHRpb24gRmlsdGVyIHRhZ3NcbiAqIEBleGFtcGxlIHsgfVxuICovXG4uZmlsdGVyczEgKyAudGFnczIge1xuICBtYXJnaW4tdG9wOiAtNHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tczEpO1xufVxuXG4udGFnczItZW50cmllcyB7XG4gIC0tZ3g6IDFyZW07XG59XG5cbi50YWdzMi1lbnRyaWVzIC5idXR0b24yLi1xdWVyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzM1wiO1xuICBtYXJnaW46IDAgMC41cmVtIDAgMDtcbiAgZm9udC1mYW1pbHk6IEljb25zO1xufVxuXG4udGFnczItZW50cmllcyBpW2NsYXNzXSB7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwLjFyZW0pO1xufVxuXG4udGFnczItY2xlYXIge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG5cbi50YWdzMi1jbGVhciBpIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMS4yZW07XG59XG5cbi8qKlxuKiBAbmFtZSAudGl0bGUxXG4qIEBkZXNjcmlwdGlvbiBTdGVwIHRpdGxlXG4qIEBleGFtcGxlIHsgfVxuKi9cbi50aXRsZTEgPiBzdHJvbmcge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1pbi13aWR0aDogMS41ZW07XG4gIG1pbi1oZWlnaHQ6IDEuNWVtO1xuICBtYXJnaW46IDAgMC4xNWVtIDAgMDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jX2ExdCk7XG4gIGNvbG9yOiB2YXIoLS1jX2kxdCk7XG59XG5cbkBtZWRpYSBwcmludCB7XG4gIC50aXRsZTEgPiBzdHJvbmcge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1jX2ExdCk7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBjb2xvcjogdmFyKC0tY19hMXQpO1xuICB9XG59XG4vKipcbiAqIEBuYW1lIC50b2FzdGVyMVxuICogQGRlc2NyaXB0aW9uIFRvYXN0IG5vdGlmaWNhdGlvbnNcbiAqIEBleGFtcGxlIHsgfVxuICovXG4udG9hc3RlcjEge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAzMDE7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSArIDFyZW0pO1xuICBjb2xvcjogI2RkZDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4udG9hc3RlcjEgcCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgMCAwIGF1dG87XG4gIHBhZGRpbmc6IDAuNXJlbSAxcmVtIDAuNHJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4zcmVtO1xuICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gIGZvbnQ6IDcwMCAxLjRyZW0vMS4zIHZhcigtLWZmXzEpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMTAlKTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi50b2FzdGVyMSBwICsgcCB7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbn1cblxuLnRvYXN0ZXIxIHAuLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnRvYXN0ZXIxIHAgc3BhbiB7XG4gIGNvbG9yOiB2YXIoLS1jX2QxdCk7XG59XG5cbi8qKlxuKiBAbmFtZSAudG9vbHMxXG4qIEBkZXNjcmlwdGlvbiBDb3JuZXIgYWN0aW9uc1xuKiBAZXhhbXBsZSB7IH1cbiovXG4udG9vbHMxIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMnJlbTtcbiAgYm90dG9tOiAycmVtO1xuICB6LWluZGV4OiAxMTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBmb250LXNpemU6IDJyZW07XG59XG5cbi50b29sczEuLWZyb20ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoY2FsYygxMDAlICsgMnJlbSkpO1xufVxuXG4udG9vbHMxIGxpIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4udG9vbHMxIGxpIH4gbGkge1xuICBtYXJnaW4tbGVmdDogMXJlbTtcbn1cblxuLnRvb2xzMSBsaTpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udG9vbHMxIGxpIGEge1xuICAtLXM6IDMuMnJlbTtcbiAgLS1saDogMTtcbiAgLS1hd206IHZhcigtLXMpO1xuICAtLWFobTogdmFyKC0tcyk7XG4gIC0tYWJnbjogXCJcIjtcbiAgLS1hdXM6IFwiXCI7XG4gIC0tYW9yOiA1MCU7XG4gIC0tYW9pOiA7XG4gIC0tYW95bjogMC40cmVtO1xuICAtLWFvYm46IDNyZW07XG4gIC0tYW9jbjogcmdiYSh2YXIoLS1jX2R4KSwwLjI1KTtcbiAgLS1hb2NoOiByZ2JhKHZhcigtLWNfYTF4KSwwLjI1KTtcbiAgLS1hYmNuOiB2YXIoLS1jX2IxKTtcbiAgLS1hYmNoOiB2YXIoLS1jX2ExKTtcbiAgLS1hdGNuOiB2YXIoLS1jX2QxKTtcbiAgLS1hdGNoOiB2YXIoLS1jX2kxKTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi8qKlxuICogQG5hbWUgLnRvcDFcbiAqIEBkZXNjcmlwdGlvbiBHbG9iYWwgaGVhZGVyXG4gKi9cbi50b3AxIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDExMTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi50b3AxLXdyYXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgbWluLWhlaWdodDogdmFyKC0tc24pO1xuICBwYWRkaW5nOiAxcmVtIDA7XG59XG5cbi50b3AxIC5sb2dvMSB7XG4gIGZsZXg6IG5vbmU7XG4gIG1hcmdpbjogMCB2YXIoLS1zMSkgMCAwO1xufVxuXG4vKipcbiAqIEBuYW1lIC50cmFja2VyMVxuICogQGRlc2NyaXB0aW9uIENhcm91c2VsIHRyYWNrIGluZGljYXRvclxuICogQGV4YW1wbGUgeyB9XG4gKi9cbi50cmFja2VyMSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMC41cmVtIDA7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNfbzF0KTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgbGluZS1oZWlnaHQ6IDFweDtcbn1cblxuLnRyYWNrZXIxOmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICBjb250ZW50OiBcIlwiO1xufVxuXG4udHJhY2tlcjEtd3JhcCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKHZhcigtLXApICogMTAwJSkpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdmFyKC0tdDhuX3AxKSwgd2lkdGg7XG59XG5cbi50cmFja2VyMS13cmFwOmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogY2FsYyh2YXIoLS13KSAqIDEwMCUpO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAwO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jX2QxdCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKHZhcigtLXApICogLTEwMCUpKTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbjogaW5oZXJpdDtcbn1cblxuLyoqXG4qIEBuYW1lIC50cmlwbGV0czFcbiogQGRlc2NyaXB0aW9uIGNhcmQ1IGdyaWRcbiogQGV4YW1wbGUgeyB9XG4qL1xuQG1lZGlhIHByaW50LCAobWluLXdpZHRoOiA3MjBweCkge1xuICAudHJpcGxldHMxIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgZ3JpZC1jb2x1bW4tZ2FwOiB2YXIoLS1zMSk7XG4gICAgZ3JpZC1yb3ctZ2FwOiB2YXIoLS1zMSk7XG4gIH1cbiAgLnRyaXBsZXRzMSA+ICoge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgLnRyaXBsZXRzMSA+IDpmaXJzdC1jaGlsZCB7XG4gICAgZ3JpZC1jb2x1bW46IDEvLTE7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC50cmlwbGV0czEge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMS42ZnIgMWZyO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byAxZnI7XG4gIH1cbiAgLnRyaXBsZXRzMSA+IDpmaXJzdC1jaGlsZCB7XG4gICAgZ3JpZC1jb2x1bW46IGF1dG87XG4gICAgZ3JpZC1yb3c6IDEvLTE7XG4gIH1cbiAgLnRyaXBsZXRzMSA+IDpudGgtY2hpbGQobisyKSAuY2FyZDUtbWFpbiB7XG4gICAgcGFkZGluZzogMnJlbTtcbiAgfVxufVxuLyoqXG4gKiBAbmFtZSAud3JhcDFcbiAqIEBkZXNjcmlwdGlvbiBDb250ZW50IHdyYXBwZXJcbiAqL1xuLndyYXAxIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiB2YXIoLS1zMykgMDtcbiAgYmFja2dyb3VuZDogY3VycmVudENvbG9yO1xuICBjb2xvcjogdmFyKC0tY19iMXQpO1xuICBpc29sYXRpb246IGlzb2xhdGU7XG59XG5cbi53cmFwMSA+ICoge1xuICBjb2xvcjogdmFyKC0tY19kMXQpO1xufVxuXG4ud3JhcDEuLXRvcDpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogXCJcIjtcbiAgaGVpZ2h0OiBjYWxjKHZhcigtLXNuKSAtIDJyZW0pO1xufVxuXG5AbWVkaWEgcHJpbnQge1xuICAud3JhcDEge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbiAgLndyYXAxOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY19vMXQpO1xuICB9XG4gIC53cmFwMTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY19vMXQpO1xuICB9XG4gIC53cmFwMS4tcGJcXDowLCAud3JhcDEuLXB5XFw6MCB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgfVxuICAud3JhcDEgKyAud3JhcDEge1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gIH1cbn1cbi8qICAgX19fX19fICBfICAgICBfIF9fX19fX18gX19fX19fXyAgX19fX18gIF9fICAgXyBfX19fX19fXG4gKiAgIHxfX19fX10gfCAgICAgfCAgICB8ICAgICAgIHwgICAgfCAgICAgfCB8IFxcICB8IHxfX19fX19cbiAqICAgfF9fX19fXSB8X19fX198ICAgIHwgICAgICAgfCAgICB8X19fX198IHwgIFxcX3wgX19fX19ffFxuKi9cbi5idXR0b24xLCAuYnV0dG9uMiwgW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSwgW3R5cGU9cmVzZXRdIHtcbiAgLS1jOiB2YXIoLS1jX2ExeCk7XG4gIC0tbGg6IDJyZW07XG4gIC0tYWhtOiA1LjJyZW07XG4gIC0tYXB4OiAzLjZyZW07XG4gIC0tYWJjbjogcmdiYSh2YXIoLS1jKSwgMSk7XG4gIC0tYWJjaDogdmFyKC0tY19pMXQpO1xuICAtLWFiZ246IFwiXCI7XG4gIC0tYW9yOiBjYWxjKHZhcigtLWFobSkgLyAyKTtcbiAgLS1hb3NuOiAwO1xuICAtLWFvY246IHZhcigtLWFiYyk7XG4gIC0tYXRjbjogdmFyKC0tY19pMSk7XG4gIC0tYXRjaDogdmFyKC0tYWJjbik7XG4gIC0tYXVzOiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICB3aWR0aDogYXV0bztcbiAgYm94LXNoYWRvdzogdmFyKC0tYW9pLCBpbnNldCkgdmFyKC0tYW94LCAwKSB2YXIoLS1hb3ksIDApIHZhcigtLWFvYiwgMCkgdmFyKC0tYW9zLCAwKSB2YXIoLS1hb2MsIGN1cnJlbnRDb2xvciksIDAgMC4ycmVtIDJyZW0gcmdiYSh2YXIoLS1jKSwgMC4zNSk7XG4gIGZvbnQ6IDcwMCAxLjZyZW0vdmFyKC0tbGgpIHZhcigtLWZmXzEpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmJ1dHRvbjEgPiBzcGFuOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbn1cblxuLmJ1dHRvbjEgPiBzcGFuOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbn1cblxuLmJ1dHRvbjEuLXNoYWRvd2xlc3Mge1xuICBib3gtc2hhZG93OiB2YXIoLS1hb2ksIGluc2V0KSB2YXIoLS1hb3gsIDApIHZhcigtLWFveSwgMCkgdmFyKC0tYW9iLCAwKSB2YXIoLS1hb3MsIDApIHZhcigtLWFvYywgY3VycmVudENvbG9yKTtcbn1cblxuLmJ1dHRvbjEuLWIxYTEge1xuICAtLWFvc246IDFweDtcbiAgLS1hb2NuOiB2YXIoLS1hYmNoKTtcbiAgLS1hYmNuOiB2YXIoLS1jX2IxKTtcbiAgLS1hYmNoOiB2YXIoLS1jX2ExKTtcbiAgLS1hdGNuOiB2YXIoLS1hYmNoKTtcbiAgLS1hdGNoOiB2YXIoLS1hYmNuKTtcbn1cblxuLmJ1dHRvbjEuLWI0IHtcbiAgLS1jOiB2YXIoLS1jX2I0eCk7XG59XG5cbkBtZWRpYSBwcmludCB7XG4gIC5idXR0b24xIHtcbiAgICAtLWF0Y246IHZhcigtLWFiY24pO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jX2IxdCk7XG4gIH1cbn1cbi5idXR0b24yIHtcbiAgLS1haG06IDMuMnJlbTtcbiAgLS1hcHg6IDEuNnJlbTtcbiAgLS1hYmNuOiB2YXIoLS1jX2kxKTtcbiAgLS1hYmNoOiB2YXIoLS1jX2I0dCk7XG4gIC0tYXRjbjogdmFyKC0tY19kMSk7XG4gIGJveC1zaGFkb3c6IHZhcigtLWFvaSwgaW5zZXQpIHZhcigtLWFveCwgMCkgdmFyKC0tYW95LCAwKSB2YXIoLS1hb2IsIDApIHZhcigtLWFvcywgMCkgdmFyKC0tYW9jLCBjdXJyZW50Q29sb3IpO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uYnV0dG9uMi4tc21hbGwge1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmJ1dHRvbjIuLW91dGxpbmUge1xuICAtLWFvc246IDFweDtcbiAgLS1hb2NuOiByZ2JhKHZhcigtLWNfZHh0KSwgMC4yKTtcbn1cblxuLmJ1dHRvbjIuLWRpbSB7XG4gIC0tYWJjbjogcmdiYSh2YXIoLS1jX2R4dCksMC4xKTtcbiAgLS1hYmNoOiByZ2JhKHZhcigtLWNfZHh0KSwwLjIpO1xuICAtLWF0Y246IHZhcigtLWNfZDF0KTtcbiAgLS1hdGNoOiB2YXIoLS1jX2QxdCk7XG59XG5cbkBtZWRpYSBwcmludCB7XG4gIC5idXR0b24yIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0tY19vMXQpO1xuICB9XG59XG4uZGVidXR0b25pemUxIHtcbiAgLS1saDogaW5oZXJpdDtcbiAgLS1hdXM6IDtcbiAgLS1hYmduOiA7XG4gIC0tYXdtOiAwO1xuICAtLWFobTogMDtcbiAgLS1hcHg6IDA7XG4gIC0tYXB5czogMDtcbiAgLS1hcHk6IDA7XG4gIC0tYWJjbjogdHJhbnNwYXJlbnQ7XG4gIC0tYWJjaDogdmFyKC0tYmNuKTtcbiAgLS1hb3duOiAwO1xuICAtLWFvcm46IDA7XG4gIC0tYW9jbjogdmFyKC0tYmMpO1xuICAtLWF0Y246IHZhcigtLWNfZDF0KTtcbiAgLS1hdGNoOiB2YXIoLS1jX2ExdCk7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgYm94LXNoYWRvdzogdmFyKC0tYW9pLCBpbnNldCkgdmFyKC0tYW94LCAwKSB2YXIoLS1hb3ksIDApIHZhcigtLWFvYiwgMCkgdmFyKC0tYW9zLCAwKSB2YXIoLS1hb2MsIGN1cnJlbnRDb2xvcik7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7XG59XG5cbi8qICAgX19fX18gX19fX19fICBfX19fX18gIF9fICAgXyBfX19fX19fXG4gKiAgICAgfCAgIHwgICAgICAgfCAgICAgfCB8IFxcICB8IHxfX19fX19cbiAqICAgX198X18gfF9fX19fICB8X19fX198IHwgIFxcX3wgX19fX19ffFxuKi9cbltjbGFzc149aWNvbi1dLCBbY2xhc3MqPVwiIGljb24tXCJdIHtcbiAgZGlzcGxheTogaW5saW5lLWdyaWQ7XG4gIGZvbnQtZmFtaWx5OiBcIkljb25zXCIgIWltcG9ydGFudDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbltjbGFzc149aWNvbi1dOmJlZm9yZSwgW2NsYXNzXj1pY29uLV06YWZ0ZXIsIFtjbGFzcyo9XCIgaWNvbi1cIl06YmVmb3JlLCBbY2xhc3MqPVwiIGljb24tXCJdOmFmdGVyIHtcbiAgZ3JpZC1hcmVhOiAxLzEvMi8yO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB2YXIoLS10OG5fcDEpO1xufVxuXG5bY2xhc3NePWljb24tXSBpLCBbY2xhc3MqPVwiIGljb24tXCJdIGkge1xuICBncmlkLWFyZWE6IDEvMS8yLzI7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbltjbGFzc149aWNvbi1dIGk6YmVmb3JlLCBbY2xhc3MqPVwiIGljb24tXCJdIGk6YmVmb3JlLCBbY2xhc3NePWljb24tXSBpOmFmdGVyLCBbY2xhc3MqPVwiIGljb24tXCJdIGk6YWZ0ZXIge1xuICBncmlkLWFyZWE6IDEvMS8yLzI7XG59XG5cbltjbGFzc149aWNvbi1dIHNwYW4sIFtjbGFzcyo9XCIgaWNvbi1cIl0gc3BhbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5pY29uLXF1b3RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTUwXCI7XG59XG5cbi5pY29uLWdsb2JlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTRlXCI7XG59XG5cbi5pY29uLWRvdHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NGZcIjtcbn1cblxuLmljb24tbG9jYXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NGJcIjtcbn1cblxuLmljb24tdHlwZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0Y1wiO1xufVxuXG4uaWNvbi1zaGFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0YVwiO1xufVxuXG4uaWNvbi1zb2NpYWwtdmltZW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NDlcIjtcbn1cblxuLmljb24tc29jaWFsLXRpa3RvazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0NlwiO1xufVxuXG4uaWNvbi1jaXJjbGUtZW1wdHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NDBcIjtcbn1cblxuLmljb24tY2lyY2xlLWZpbGxlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0MVwiO1xufVxuXG4uaWNvbi11c2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTNlXCI7XG59XG5cbi5pY29uLXNxdWFyZS1maWxsZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NDdcIjtcbn1cblxuLmljb24tc3F1YXJlLWVtcHR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTQ4XCI7XG59XG5cbi5pY29uLXBob25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTFlXCI7XG59XG5cbi5pY29uLWhlYWRwaG9uZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MWRcIjtcbn1cblxuLmljb24tZG90OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTFjXCI7XG59XG5cbi5pY29uLXN0YXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5M2ZcIjtcbn1cblxuLmljb24tcGluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTQ1XCI7XG59XG5cbi5pY29uLWhlYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTQyXCI7XG59XG5cbi5pY29uLXJlbG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0M1wiO1xufVxuXG4uaWNvbi1taW51cy1ib2xkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTVkXCI7XG59XG5cbi5pY29uLW1pbnVzLWxpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTVlXCI7XG59XG5cbi5pY29uLW1pbnVzLW1lZGl1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk1ZlwiO1xufVxuXG4uaWNvbi1wbHVzLWJvbGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NjBcIjtcbn1cblxuLmljb24tcGx1cy1saWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk2MVwiO1xufVxuXG4uaWNvbi1wbHVzLW1lZGl1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk2MlwiO1xufVxuXG4uaWNvbi1jaGVja2JveC1ib2xkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTYzXCI7XG59XG5cbi5pY29uLWNoZWNrYm94LWxpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTY0XCI7XG59XG5cbi5pY29uLWNoZWNrYm94LW1lZGl1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk2NVwiO1xufVxuXG4uaWNvbi1hbmdsZS1kb3duLWJvbGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDBcIjtcbn1cblxuLmljb24tYW5nbGUtZG93bi1saWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwMVwiO1xufVxuXG4uaWNvbi1hbmdsZS1kb3duLW1lZGl1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwMlwiO1xufVxuXG4uaWNvbi1hbmdsZS1sZWZ0LWJvbGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDNcIjtcbn1cblxuLmljb24tYW5nbGUtbGVmdC1saWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwNFwiO1xufVxuXG4uaWNvbi1hbmdsZS1sZWZ0LW1lZGl1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwNVwiO1xufVxuXG4uaWNvbi1hbmdsZS1yaWdodC1ib2xkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA2XCI7XG59XG5cbi5pY29uLWFuZ2xlLXJpZ2h0LWxpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA3XCI7XG59XG5cbi5pY29uLWFuZ2xlLXJpZ2h0LW1lZGl1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwOFwiO1xufVxuXG4uaWNvbi1hbmdsZS11cC1ib2xkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA5XCI7XG59XG5cbi5pY29uLWFuZ2xlLXVwLWxpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBhXCI7XG59XG5cbi5pY29uLWFuZ2xlLXVwLW1lZGl1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwYlwiO1xufVxuXG4uaWNvbi1hcnJvdy1leHRlcm5hbC1ib2xkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBjXCI7XG59XG5cbi5pY29uLWFycm93LWV4dGVybmFsLWxpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBkXCI7XG59XG5cbi5pY29uLWFycm93LWV4dGVybmFsLW1lZGl1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwZVwiO1xufVxuXG4uaWNvbi1jbG9zZS1ib2xkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBmXCI7XG59XG5cbi5pY29uLWNsb3NlLWxpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTEwXCI7XG59XG5cbi5pY29uLWNsb3NlLW1lZGl1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxMVwiO1xufVxuXG4uaWNvbi1kaXJlY3Rpb25hbC1kb3duLWJvbGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTJcIjtcbn1cblxuLmljb24tZGlyZWN0aW9uYWwtZG93bi1saWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxM1wiO1xufVxuXG4uaWNvbi1kaXJlY3Rpb25hbC1kb3duLW1lZGl1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxNFwiO1xufVxuXG4uaWNvbi1kaXJlY3Rpb25hbC1sZWZ0LWJvbGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTVcIjtcbn1cblxuLmljb24tZGlyZWN0aW9uYWwtbGVmdC1saWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxNlwiO1xufVxuXG4uaWNvbi1kaXJlY3Rpb25hbC1sZWZ0LW1lZGl1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxN1wiO1xufVxuXG4uaWNvbi1kaXJlY3Rpb25hbC1yaWdodC1ib2xkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTE4XCI7XG59XG5cbi5pY29uLWRpcmVjdGlvbmFsLXJpZ2h0LWxpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTE5XCI7XG59XG5cbi5pY29uLWRpcmVjdGlvbmFsLXJpZ2h0LW1lZGl1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxYVwiO1xufVxuXG4uaWNvbi1kaXJlY3Rpb25hbC11cC1ib2xkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTFiXCI7XG59XG5cbi5pY29uLWRpcmVjdGlvbmFsLXVwLWxpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTFmXCI7XG59XG5cbi5pY29uLWRpcmVjdGlvbmFsLXVwLW1lZGl1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyMFwiO1xufVxuXG4uaWNvbi1kb3dubG9hZC1ib2xkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTIxXCI7XG59XG5cbi5pY29uLWRvd25sb2FkLWxpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTIyXCI7XG59XG5cbi5pY29uLWRvd25sb2FkLW1lZGl1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyM1wiO1xufVxuXG4uaWNvbi1lbWFpbC1maWxsZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjRcIjtcbn1cblxuLmljb24tZW1haWwtb3V0bGluZWQtYm9sZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyNVwiO1xufVxuXG4uaWNvbi1lbWFpbC1vdXRsaW5lZC1saWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyNlwiO1xufVxuXG4uaWNvbi1lbWFpbC1vdXRsaW5lZC1tZWRpdW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjdcIjtcbn1cblxuLmljb24tZmlsdGVyLWJvbGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjhcIjtcbn1cblxuLmljb24tZmlsdGVyLWxpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTI5XCI7XG59XG5cbi5pY29uLWZpbHRlci1tZWRpdW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MmFcIjtcbn1cblxuLmljb24tbWVudS1ib2xkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTJiXCI7XG59XG5cbi5pY29uLW1lbnUtbGlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MmNcIjtcbn1cblxuLmljb24tbWVudS1tZWRpdW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MmRcIjtcbn1cblxuLmljb24tbW9yZS1pbmZvLXRoaWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTJlXCI7XG59XG5cbi5pY29uLXByaW50LWJvbGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MmZcIjtcbn1cblxuLmljb24tcHJpbnQtbWVkaXVtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTMwXCI7XG59XG5cbi5pY29uLXNlYXJjaC1ib2xkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTMxXCI7XG59XG5cbi5pY29uLXNlYXJjaC1saWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzMlwiO1xufVxuXG4uaWNvbi1zZWFyY2gtbWVkaXVtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTMzXCI7XG59XG5cbi5pY29uLXNvY2lhbC1mYWNlYm9vazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzNFwiO1xufVxuXG4uaWNvbi1zb2NpYWwtaW5zdGFncmFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTM1XCI7XG59XG5cbi5pY29uLXNvY2lhbC1saW5rZWRpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzNlwiO1xufVxuXG4uaWNvbi1zb2NpYWwtbWVkaXVtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTM3XCI7XG59XG5cbi5pY29uLXNvY2lhbC10d2l0dGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTM4XCI7XG59XG5cbi5pY29uLXNvY2lhbC15b3V0dWJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTM5XCI7XG59XG5cbi5pY29uLXNvY2lhbC10aWt0b2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NDZcIjtcbn1cblxuLmljb24tdHJpYW5nbGUtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzYVwiO1xufVxuXG4uaWNvbi10cmlhbmdsZS1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTNiXCI7XG59XG5cbi5pY29uLXRyaWFuZ2xlLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTNjXCI7XG59XG5cbi5pY29uLXRyaWFuZ2xlLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTNkXCI7XG59XG5cbi5pY29uLXdhcm5pbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NGRcIjtcbn1cblxuLmljb24tbGlzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0NFwiO1xufVxuXG4vKiAgIF9fX19fXyAgX19fX19fXyBfX19fX19fIF9fX19fX18gXyAgICAgXyBfICAgICAgX19fX19fXyBfX19fX19fXG4gKiAgIHwgICAgIFxcIHxfX19fX18gfF9fX19fXyB8X19fX198IHwgICAgIHwgfCAgICAgICAgIHwgICAgfF9fX19fX1xuICogICB8X19fX18vIHxfX19fX18gfCAgICAgICB8ICAgICB8IHxfX19fX3wgfF9fX19fICAgIHwgICAgX19fX19ffFxuKi9cbiosICo6YmVmb3JlLCAqOmFmdGVyIHtcbiAgbWluLXdpZHRoOiAwO1xuICBtaW4taGVpZ2h0OiAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGgpO1xuICB0cmFuc2l0aW9uOiBub25lIHZhcigtLXQ4bl9kMSkgZWFzZTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdmFyKC0tdDhuX3AxKTtcbn1cblxuOnJvb3Q6bm90KFtyZWFkeV0pICosIDpyb290Om5vdChbcmVhZHldKSAqOmJlZm9yZSwgOnJvb3Q6bm90KFtyZWFkeV0pICo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uKSB7XG4gICosICo6YmVmb3JlLCAqOmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwcyAhaW1wb3J0YW50O1xuICB9XG59XG5odG1sIHtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xufVxuXG5ib2R5IHtcbiAgZm9udDogaW5oZXJpdDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbmRpdiwgZm9ybSwgZmllbGRzZXQsIGJsb2NrcXVvdGUsIGNpdGUsIGFydGljbGUsIGFzaWRlLCBkZXRhaWxzLCBmaWdjYXB0aW9uLCBmaWd1cmUsIGZvb3RlciwgaGVhZGVyLCBtZW51LCBuYXYsIG1haW4sIHNlY3Rpb24sIGFkZHJlc3MsIHVsLCBvbCwgbGksIGRsLCBkZCwgZHQsIHAsIHEsIHRhYmxlLCBwcmUsIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIG5vc2NyaXB0IHtcbiAgLS1zeTogdmFyKC0tc3lvKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXN5KTtcbn1cblxuYm9keSA+IDpub3QoLnJvb3QxKSwgYm9keSA+IDpub3QoLnJvb3QxKSBkaXYsIGJvZHkgPiA6bm90KC5yb290MSkgZm9ybSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbkBwYWdlIHtcbiAgbWFyZ2luOiA0MHB4O1xufVxuQG1lZGlhIHByaW50IHtcbiAgYm9keSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB9XG59XG4vKiBmb3JtcyAqL1xuZmllbGRzZXQge1xuICBtaW4td2lkdGg6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxubGFiZWwge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbmxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cbmxhYmVsIGVtIHtcbiAgY29sb3I6ICNmMDA7XG4gIGZvbnQtc3R5bGU6IGluaGVyaXQ7XG59XG5cbmlucHV0LCB0ZXh0YXJlYSwgc2VsZWN0IHtcbiAgLS1saDogMnJlbTtcbiAgLS1haG06IDQuOHJlbTtcbiAgLS1hb3I6IGNhbGModmFyKC0tYWhtKSAvIDIpO1xuICAtLWFweDogMnJlbTtcbiAgLS1hcHk6IGNhbGModmFyKC0tYWhtKSAvIDIgLSB2YXIoLS1saCkgLyAyIC0gMXB4KTtcbiAgLS1hYmNuOiB0cmFuc3BhcmVudDtcbiAgLS1hb2k6IGluc2V0O1xuICAtLWFvc246IDFweDtcbiAgLS1hb2NuOiB2YXIoLS1jX28ydCk7XG4gIC0tYW9jaDogdmFyKC0tY19vM3QpO1xuICAtLWFvY2Y6IHZhcigtLWFvY2gpO1xuICAtLWF1czogbm9uZTtcbiAgLS1hdGNuOiB2YXIoLS1jX2QxdCk7XG4gIC0tYXBjbjogcmdiYSh2YXIoLS1jX2R4dCksMC41KTtcbiAgLS1hcGM6IHZhcigtLWFwY24sIGN1cnJlbnRDb2xvcik7XG4gIHdpZHRoOiAxMDAlO1xuICBmb250OiAxLjZyZW0vdmFyKC0tbGgpIHZhcigtLWZmXzEpO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG5pbnB1dDp3aGVyZShbdHlwZT10ZXh0XSwgW3R5cGU9cGFzc3dvcmRdLCBbdHlwZT1zZWFyY2hdLCBbdHlwZT1lbWFpbF0sIFt0eXBlPXRlbF0sIFt0eXBlPW51bWJlcl0sIFt0eXBlPWNoZWNrYm94XSwgW3R5cGU9cmFkaW9dLCBbdHlwZT1zdWJtaXRdKSwgdGV4dGFyZWEsIHNlbGVjdCB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xufVxuXG5pbnB1dDo6LW1zLWNsZWFyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxudGV4dGFyZWFbZGF0YS1hdXRvcmVzaXplXSB7XG4gIG1heC1oZWlnaHQ6IGNhbGModmFyKC0tYWhtKSAqIDMpO1xufVxuXG5zZWxlY3Qge1xuICAtLWFiZ246IHVybCguLi9pbWFnZXMvc2VsZWN0MS5zdmcpIHJpZ2h0IDJyZW0gY2VudGVyIC8gMS40cmVtIDAuOHJlbSBuby1yZXBlYXQ7XG4gIHBhZGRpbmctcmlnaHQ6IDVyZW07XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIHRleHQtaW5kZW50OiAxcHg7XG4gIHRleHQtb3ZlcmZsb3c6IFwiXCI7XG59XG5cbnNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5maXJlZm94IHNlbGVjdCB7XG4gIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1hcHgpIC0gNnB4KTtcbn1cblxuaW5wdXRbdHlwZT1jaGVja2JveF0sIGlucHV0W3R5cGU9cmFkaW9dIHtcbiAgLS1zOiAyLjJyZW07XG4gIC0tYXB4OiAwO1xuICAtLWFvcjogMDtcbiAgLS1hdGNuOiB2YXIoLS1jX2ExdCk7XG4gIC0tYXRjZjogdmFyKC0tYXRjbik7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogdmFyKC0tcywgMnJlbSk7XG4gIG1pbi13aWR0aDogMDtcbiAgaGVpZ2h0OiB2YXIoLS1zLCAycmVtKTtcbiAgbWluLWhlaWdodDogMDtcbiAgbWFyZ2luOiAwIDAuNXJlbSAwIDA7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IC0wLjNlbTtcbn1cblxuaW5wdXRbdHlwZT1yYWRpb10ge1xuICAtLWFvcjogNTAlO1xufVxuXG5pbnB1dFt0eXBlPWNoZWNrYm94XTpiZWZvcmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBjb250ZW50OiBcIkxcIjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogOTAlO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udDogNzAwIGNhbGModmFyKC0tcywgMnJlbSkgKiAwLjgpLzEgSGVsdmV0aWNhIE5ldWUsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIHRyYW5zZm9ybTogc2NhbGUoY2FsYyh2YXIoLS1jaCwgMCkgKiAtMSksIHZhcigtLWNoLCAwKSkgcm90YXRlKC00NWRlZyk7XG59XG5cbmlucHV0W3R5cGU9cmFkaW9dOmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBjb250ZW50OiBcIlwiO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMnJlbSB2YXIoLS1hdGMpO1xuICB0cmFuc2Zvcm06IHNjYWxlKGNhbGModmFyKC0tY2gsIDApICogMC40KSk7XG59XG5cbmlucHV0W3R5cGVdOmNoZWNrZWQ6YmVmb3JlIHtcbiAgLS1jaDogMTtcbn1cblxuaW5wdXQ6Oi1tcy1jaGVjayB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB2YXIoLS1hdGMpO1xufVxuXG4uLXRcXDoxMCBpbnB1dFt0eXBlPWNoZWNrYm94XSwgLi10XFw6MTAgaW5wdXRbdHlwZT1yYWRpb10ge1xuICB2ZXJ0aWNhbC1hbGlnbjogLTAuNGVtO1xufVxuXG46LXdlYmtpdC1hdXRvZmlsbCB7XG4gIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB2YXIoLS1hdGMpO1xuICB0cmFuc2l0aW9uLWRlbGF5OiA1MDAwcztcbn1cblxuOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiB2YXIoLS1hcGMpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIG9wYWNpdHk6IDE7XG59XG5cbnNlbGVjdDppbnZhbGlkLCBbanNdIHNlbGVjdFtwbGFjZWhvbGRlcl0ge1xuICBjb2xvcjogdmFyKC0tYXBjKTtcbn1cblxuLi12YWxpZGF0ZWQ6aW52YWxpZCwgLi12YWxpZGF0ZWQ6aW52YWxpZCArIGxhYmVsLCAuLXZhbGlkYXRlZDppbnZhbGlkICsgbGFiZWw6YmVmb3JlIHtcbiAgLS1hb2M6IHZhcigtLWNfZTJ0KTtcbiAgY29sb3I6IHZhcigtLWNfZTF0KTtcbn1cblxuQG1lZGlhIG5vdCBzY3JlZW4gYW5kIChwb2ludGVyOiBjb2Fyc2UpIHtcbiAgc2VsZWN0W211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiA3cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXB4KTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG59XG4vKiB0YWJsZXMgKi9cbnRhYmxlIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG50aCwgdGQge1xuICBwYWRkaW5nOiAxcmVtIDEuNXJlbTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNfbzF0KTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxudGhlYWQgdGgge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jX2I0dCk7XG4gIGNvbG9yOiB2YXIoLS1jX2kxdCk7XG59XG5cbi8qIGxpc3RzICovXG51bCwgb2wsIGRkLCBibG9ja3F1b3RlIHtcbiAgLS14cGw6IDNyZW07XG4gIHBhZGRpbmctbGVmdDogdmFyKC0teHBsKTtcbn1cblxub2wsIHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgY291bnRlci1yZXNldDogb3JkZXJlZDtcbn1cblxubGkge1xuICAtLXN5OiAxcmVtO1xuICBjb3VudGVyLWluY3JlbWVudDogb3JkZXJlZDtcbn1cblxub2wgPiBsaTpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IGNvdW50ZXIob3JkZXJlZCk7XG4gIHdpZHRoOiAycmVtO1xuICBtYXJnaW46IDAgMCAwIGNhbGModmFyKC0teHBsKSAqIC0wLjkpO1xuICBjb2xvcjogdmFyKC0tY19hMXQpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LWZhbWlseTogdmFyKC0tZmZfMik7XG59XG5cbnVsID4gbGk6YmVmb3JlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbnRlbnQ6IFwiXFxlOTQxXCI7XG4gIG1hcmdpbjogMCAwIDAgY2FsYyh2YXIoLS14cGwpICogLTAuOSk7XG4gIGNvbG9yOiB2YXIoLS1jX2ExdCk7XG4gIGZvbnQtZmFtaWx5OiBJY29ucztcbn1cblxubGkgdWwgPiBsaTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0MFwiO1xufVxuXG5saSBsaSB1bCA+IGxpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiLVwiO1xufVxuXG46d2hlcmUobGkpID4gb2wsIDp3aGVyZShsaSkgPiB1bCB7XG4gIC0tc3k6IDFyZW07XG4gIG1hcmdpbi10b3A6IHZhcigtLXN5KTtcbn1cblxuZHQge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG5kZCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzE5cHgpIHtcbiAgdWwsIG9sLCBkZCwgYmxvY2txdW90ZSB7XG4gICAgLS14cGw6IDJyZW07XG4gIH1cbn1cbi8qIGxpbmtzICovXG5hLCAuLWFcXDoxIHtcbiAgLS1hdXM6IHVuZGVybGluZTtcbiAgLS1hdWNuOiBjdXJyZW50Q29sb3I7XG4gIC0tYXVvbjogMnB4O1xuICAtLWFic3loOiAxZW07XG4gIC0tYXRjbjogdmFyKC0tY19hMXQpO1xuICAtLWFiZ246IGxpbmVhci1ncmFkaWVudChyZ2JhKHZhcigtLWNfYTF4dCksIDAuMSksIHJnYmEodmFyKC0tY19hMXh0KSwgMC4xKSkgdmFyKC0tYWJweCwgbGVmdCkgdmFyKC0tYWJweSwgYm90dG9tIDNweCkgLyB2YXIoLS1hYnN4LCAxMDAlKSB2YXIoLS1hYnN5LCAwKSBuby1yZXBlYXQ7XG59XG5cbmEsIGJ1dHRvbiwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIC4tYVxcOjEge1xuICAtLWFoczogMDtcbiAgLS1hb3g6IHZhcigtLWFveG4pO1xuICAtLWFveTogdmFyKC0tYW95bik7XG4gIC0tYW9iOiB2YXIoLS1hb2JuKTtcbiAgLS1hb3M6IHZhcigtLWFvc24pO1xuICAtLWFvYzogdmFyKC0tYW9jbik7XG4gIC0tYWJnOiB2YXIoLS1hYmduKTtcbiAgLS1hYnM6IHZhcigtLWFic24pO1xuICAtLWFic3g6IHZhcigtLWFic3huKTtcbiAgLS1hYnN5OiB2YXIoLS1hYnN5bik7XG4gIC0tYWJweDogdmFyKC0tYWJweG4pO1xuICAtLWFicHk6IHZhcigtLWFicHluKTtcbiAgLS1hYmM6IHZhcigtLWFiY24pO1xuICAtLWF0YzogdmFyKC0tYXRjbik7XG4gIC0tYXV3OiB2YXIoLS1hdXduKTtcbiAgLS1hdWM6IHZhcigtLWF1Y24pO1xuICAtLWF1bzogdmFyKC0tYXVvbik7XG4gIC0tYXZvOiB2YXIoLS1hdm9uKTtcbiAgbWluLXdpZHRoOiB2YXIoLS1hd20sIGF1dG8pO1xuICBtaW4taGVpZ2h0OiB2YXIoLS1haG0sIGF1dG8pO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLWFweSwgMHB4KSArIHZhcigtLWFweXMsIDBweCkpIHZhcigtLWFweCwgMHB4KSBjYWxjKHZhcigtLWFweSwgMHB4KSAtIHZhcigtLWFweXMsIDBweCkpO1xuICBib3gtc2hhZG93OiB2YXIoLS1hb2ksIGluc2V0KSB2YXIoLS1hb3gsIDApIHZhcigtLWFveSwgMCkgdmFyKC0tYW9iLCAwKSB2YXIoLS1hb3MsIDApIHZhcigtLWFvYywgY3VycmVudENvbG9yKTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hb3IsIDApO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hYmcsIHRyYW5zcGFyZW50KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWJjLCB0cmFuc3BhcmVudCk7XG4gIGNvbG9yOiB2YXIoLS1hdGMsIGN1cnJlbnRDb2xvcik7XG4gIHRleHQtZGVjb3JhdGlvbjogdmFyKC0tYXVzLCB1bmRlcmxpbmUpO1xuICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiB2YXIoLS1hdXcsIDFweCk7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogdmFyKC0tYXVjLCB0cmFuc3BhcmVudCk7XG4gIHRleHQtdW5kZXJsaW5lLW9mZnNldDogdmFyKC0tYXVvLCAwKTtcbiAgb3BhY2l0eTogdmFyKC0tYXZvKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdmFyKC0tdDhuX3AxKSwgY29sb3I7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbn1cblxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICBhOmhvdmVyLCBidXR0b246aG92ZXIsIGlucHV0OmhvdmVyLCBzZWxlY3Q6aG92ZXIsIHRleHRhcmVhOmhvdmVyLCBhOmhvdmVyIC4tYVxcOjEsIFtob3Zlcl0gLi1hXFw6MTpub3QoW2hvdmVyY2F0Y2hdW2hvdmVyXSBbaG92ZXJjYXRjaF0gKikge1xuICAgIC0tYWhzOiAxO1xuICAgIC0tYW94OiB2YXIoLS1hb3hoLCB2YXIoLS1hb3huKSk7XG4gICAgLS1hb3k6IHZhcigtLWFveWgsIHZhcigtLWFveW4pKTtcbiAgICAtLWFvYjogdmFyKC0tYW9iaCwgdmFyKC0tYW9ibikpO1xuICAgIC0tYW9zOiB2YXIoLS1hb3NoLCB2YXIoLS1hb3NuKSk7XG4gICAgLS1hb2M6IHZhcigtLWFvY2gsIHZhcigtLWFvY24pKTtcbiAgICAtLWFiZzogdmFyKC0tYWJnaCwgdmFyKC0tYWJnbikpO1xuICAgIC0tYWJzOiB2YXIoLS1hYnNoLCB2YXIoLS1hYnNuKSk7XG4gICAgLS1hYnN4OiB2YXIoLS1hYnN4aCwgdmFyKC0tYWJzeG4pKTtcbiAgICAtLWFic3k6IHZhcigtLWFic3loLCB2YXIoLS1hYnN5bikpO1xuICAgIC0tYWJweDogdmFyKC0tYWJweGgsIHZhcigtLWFicHhuKSk7XG4gICAgLS1hYnB5OiB2YXIoLS1hYnB5aCwgdmFyKC0tYWJweW4pKTtcbiAgICAtLWFiYzogdmFyKC0tYWJjaCwgdmFyKC0tYWJjbikpO1xuICAgIC0tYXRjOiB2YXIoLS1hdGNoLCB2YXIoLS1hdGNuKSk7XG4gICAgLS1hdXc6IHZhcigtLWF1d2gsIHZhcigtLWF1d24pKTtcbiAgICAtLWF1YzogdmFyKC0tYXVjaCwgdmFyKC0tYXVjbikpO1xuICAgIC0tYXVvOiB2YXIoLS1hdW9oLCB2YXIoLS1hdW9uKSk7XG4gICAgLS1hdm86IHZhcigtLWF2b2gsIHZhcigtLWF2b24pKTtcbiAgfVxufVxuW2tleWJvYXJkXSBhOmZvY3VzLCBba2V5Ym9hcmRdIGJ1dHRvbjpmb2N1cywgW2tleWJvYXJkXSBpbnB1dDpmb2N1cywgW2tleWJvYXJkXSBzZWxlY3Q6Zm9jdXMsIFtrZXlib2FyZF0gdGV4dGFyZWE6Zm9jdXMsIFtrZXlib2FyZF0gYTpmb2N1cyAuLWFcXDoxIHtcbiAgLS1haHM6IDE7XG4gIC0tYW94OiB2YXIoLS1hb3hmLCB2YXIoLS1hb3hoLCB2YXIoLS1hb3huKSkpO1xuICAtLWFveTogdmFyKC0tYW95ZiwgdmFyKC0tYW95aCwgdmFyKC0tYW95bikpKTtcbiAgLS1hb2I6IHZhcigtLWFvYmYsIHZhcigtLWFvYmgsIHZhcigtLWFvYm4pKSk7XG4gIC0tYW9zOiB2YXIoLS1hb3NmLCB2YXIoLS1hb3NoLCB2YXIoLS1hb3NuKSkpO1xuICAtLWFvYzogdmFyKC0tYW9jZiwgdmFyKC0tYW9jaCwgdmFyKC0tYW9jbikpKTtcbiAgLS1hYmc6IHZhcigtLWFiZ2YsIHZhcigtLWFiZ2gsIHZhcigtLWFiZ24pKSk7XG4gIC0tYWJzOiB2YXIoLS1hYnNmLCB2YXIoLS1hYnNoLCB2YXIoLS1hYnNuKSkpO1xuICAtLWFic3g6IHZhcigtLWFic3hmLCB2YXIoLS1hYnN4aCwgdmFyKC0tYWJzeG4pKSk7XG4gIC0tYWJzeTogdmFyKC0tYWJzeWYsIHZhcigtLWFic3loLCB2YXIoLS1hYnN5bikpKTtcbiAgLS1hYnB4OiB2YXIoLS1hYnB4ZiwgdmFyKC0tYWJweGgsIHZhcigtLWFicHhuKSkpO1xuICAtLWFicHk6IHZhcigtLWFicHlmLCB2YXIoLS1hYnB5aCwgdmFyKC0tYWJweW4pKSk7XG4gIC0tYWJjOiB2YXIoLS1hYmNmLCB2YXIoLS1hYmNoLCB2YXIoLS1hYmNuKSkpO1xuICAtLWF0YzogdmFyKC0tYXRjZiwgdmFyKC0tYXRjaCwgdmFyKC0tYXRjbikpKTtcbiAgLS1hdXc6IHZhcigtLWF1d2YsIHZhcigtLWF1d2gsIHZhcigtLWF1d24pKSk7XG4gIC0tYXVjOiB2YXIoLS1hdWNmLCB2YXIoLS1hdWNoLCB2YXIoLS1hdWNuKSkpO1xuICAtLWF1bzogdmFyKC0tYXVvZiwgdmFyKC0tYXVvaCwgdmFyKC0tYXVvbikpKTtcbiAgLS1hdm86IHZhcigtLWF2b2YsIHZhcigtLWF2b2gsIHZhcigtLWF2b24pKSk7XG59XG5cbmEgKiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLyogaW1hZ2VzICovXG5maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxuZmlndXJlIGltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuZmlnY2FwdGlvbiB7XG4gIG1hcmdpbi10b3A6IDFyZW07XG59XG5cbi8qIG90aGVyICovXG5ibG9ja3F1b3RlIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMXB4IDAgMCAwIHZhcigtLWNfYTF0KTtcbn1cblxuYmxvY2txdW90ZSA+ICoge1xuICAtLXN5OiAxcmVtIDtcbn1cblxuYmxvY2txdW90ZSBxIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbmJsb2NrcXVvdGUgcTpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwO1xuICB0ZXh0LWluZGVudDogLTFleDtcbn1cblxucHJlIHtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY19vMXQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jX2IydCk7XG4gIGZvbnQ6IDEuNHJlbS8xLjIgQ29uc29sYXMsIE1vbmFjbywgQ291cmllciBOZXcsIG1vbm9zcGFjZTtcbiAgd2hpdGUtc3BhY2U6IHByZTtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cbmNvZGUge1xuICBwYWRkaW5nOiAwLjJyZW0gMC40cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmMmY0O1xuICBjb2xvcjogI2M3MjU0ZTtcbiAgZm9udC1zaXplOiA4MCU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbmhyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IHZhcigtLXMxKSAwO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY29sb3I6IHZhcigtLWNfbzF0KTtcbiAgZm9udC1zaXplOiAwO1xufVxuXG5zdXAsIHN1YiB7XG4gIGZvbnQtc2l6ZTogMC42ODc1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG5zdWIge1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xufVxuXG5iLCBzdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG5tYXJrIHtcbiAgcGFkZGluZzogMCAwLjJyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyMjgsIDAsIDAuMjUpO1xufVxuXG5hYmJyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5pbnMge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkIGdyZWVuO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmFkZHJlc3Mge1xuICBmb250OiBpbmhlcml0O1xufVxuXG4vKiBvdGhlciAqL1xuW21vdXNlXSAqOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuW3RvZ2dsZV0sIFtjbGlja2FibGVdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG59XG5cbltoaWRkZW5dLCBbanNdIFtub3NjcmlwdF0sIDpyb290Om5vdChbanNdKSBbc2NyaXB0ZWRdLCBbeC1jbG9ha106bm90KDp0YXJnZXQpLCBbanNdIFtjbG9ha2VkXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuW2ludmlzaWJsZV0ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG59XG5cbltkaXNhYmxlZF0ge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3BhY2l0eTogMC40O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbltkaXNhYmxlZF0gW2Rpc2FibGVkXSB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi8qIGZpcnN0L2xhc3QgbWFyZ2lucyAqL1xuYm9keSA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qICAgXyAgICBfIF9fX19fX18gIF9fX19fXyBfX19fX19fXG4gKiAgICBcXCAgLyAgfF9fX19ffCB8X19fX18vIHxfX19fX19cbiAqICAgICBcXC8gICB8ICAgICB8IHwgICAgXFxfIF9fX19fX3xcbiovXG4vKiB0ZXh0IHN0eWxpbmcgKi9cbmh0bWwge1xuICAtLWxoOiAxLjQ1O1xuICBmb250OiB2YXIoLS11dSkvdmFyKC0tbGgpIHZhcigtLWZmXzEpO1xufVxuXG5ib2R5LCBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBibG9ja3F1b3RlLCBjaXRlLCBmaWdjYXB0aW9uLCBbY2xhc3MqPVwiLXQ6XCJdIHtcbiAgZm9udDogNDAwIDJyZW0vdmFyKC0tbGgpIHZhcigtLWZmXzEpO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cbi4tdFxcOjEsIGgxIHtcbiAgLS1saDogMC45MDtcbiAgZm9udDogNzAwIDhyZW0vdmFyKC0tbGgpIHZhcigtLWZmXzIpO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDNlbTtcbn1cblxuLi10XFw6MiwgaDIge1xuICAtLWxoOiAwLjkwO1xuICBmb250OiA1MDAgNnJlbS92YXIoLS1saCkgdmFyKC0tZmZfMik7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtO1xufVxuXG4uLXRcXDozLCBoMyB7XG4gIC0tbGg6IDEuMTA7XG4gIGZvbnQ6IDUwMCAzLjZyZW0vdmFyKC0tbGgpIHZhcigtLWZmXzIpO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbn1cblxuLi10XFw6NCwgaDQge1xuICAtLWxoOiAxLjE4O1xuICBmb250OiA3MDAgMi40cmVtL3ZhcigtLWxoKSB2YXIoLS1mZl8yKTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG59XG5cbi4tdFxcOjUsIGg1LCB0aGVhZCB7XG4gIC0tbGg6IDEuMzA7XG4gIGZvbnQ6IDcwMCAxLjZyZW0vdmFyKC0tbGgpIHZhcigtLWZmXzEpO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbn1cblxuLi10XFw6NiwgaDYge1xuICAtLWxoOiAxLjUwO1xuICBmb250OiA2MDAgMS42cmVtL3ZhcigtLWxoKSB2YXIoLS1mZl8xKTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLi10XFw6NywgYmxvY2txdW90ZSB7XG4gIC0tbGg6IDEuNDA7XG4gIGZvbnQ6IDQwMCAycmVtL3ZhcigtLWxoKSB2YXIoLS1mZl8xKTtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG59XG5cbi4tdFxcOjgsIGNpdGUge1xuICAtLWxoOiAxLjQwO1xuICBmb250OiA0MDAgMS42cmVtL3ZhcigtLWxoKSB2YXIoLS1mZl8xKTtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG59IC8qIGNpdGUgKi9cbi4tdFxcOjksIGZpZ2NhcHRpb24ge1xuICAtLWxoOiAxLjQwO1xuICBmb250OiA0MDAgMS4zcmVtL3ZhcigtLWxoKSB2YXIoLS1mZl8xKTtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG59IC8qIGNhcHRpb24gKi9cbi4tdFxcOjEwLCB0YWJsZSB7XG4gIC0tbGg6IDEuNDA7XG4gIGZvbnQ6IDQwMCAxLjZyZW0vdmFyKC0tbGgpIHZhcigtLWZmXzEpO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbn0gLyogcGFyYWdyYXBoIG1lZGl1bSAqL1xuLi10XFw6MTEge1xuICAtLWxoOiAxLjQwO1xuICBmb250OiA0MDAgMS4zcmVtL3ZhcigtLWxoKSB2YXIoLS1mZl8xKTtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG59IC8qIHBhcmFncmFwaCBzbWFsbCAqL1xuLi10XFw6MTIge1xuICAtLWxoOiAwLjkwO1xuICBmb250OiA3MDAgMTJyZW0vdmFyKC0tbGgpIHZhcigtLWZmXzIpO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDNlbTtcbn0gLyogdGl0bGUgbGFyZ2UgKi9cbi4tdFxcOjEzIHtcbiAgLS1saDogMS4yNTtcbiAgZm9udDogNDAwIDMuOHJlbS92YXIoLS1saCkgdmFyKC0tZmZfMik7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xufSAvKiBxdW90ZSBsYXJnZSAqL1xuLi10XFw6MTQge1xuICAtLWxoOiAxLjIwO1xuICBmb250OiA4MDAgMi40cmVtL3ZhcigtLWxoKSB2YXIoLS1mZl8xKTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn0gLyogc2VjdGlvbiBsYXJnZSAqL1xuLi10XFw6MTUge1xuICAtLWxoOiAxLjIwO1xuICBmb250OiA4MDAgMS4zcmVtL3ZhcigtLWxoKSB2YXIoLS1mZl8xKTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn0gLyogc2VjdGlvbiBzbWFsbCAqL1xuLi10XFw6MTYge1xuICAtLWxoOiAxLjMwO1xuICBmb250OiA3MDAgMS44cmVtL3ZhcigtLWxoKSB2YXIoLS1mZl8xKTtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG59IC8qIG1vcmUgbGluayAqL1xuLi10XFw6MTcge1xuICAtLWxoOiAxLjEwO1xuICBmb250OiA2MDAgMS4ycmVtL3ZhcigtLWxoKSB2YXIoLS1mZl8xKTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn0gLyogdHlwZSBsYWJlbCAqL1xuLi10XFw6MTgge1xuICAtLWxoOiAxLjAwO1xuICBmb250OiA1MDAgOHJlbS92YXIoLS1saCkgdmFyKC0tZmZfMik7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xufSAvKiBzdGF0IGxhcmdlICovXG4uLXRcXDoxOSB7XG4gIC0tbGg6IDAuODU7XG4gIGZvbnQ6IDcwMCA2cmVtL3ZhcigtLWxoKSB2YXIoLS1mZl8yKTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG59IC8qIHN0YXQgbWVkaXVtICovXG4uLXRcXDoyMCB7XG4gIC0tbGg6IDEuNDU7XG4gIGZvbnQ6IDQwMCAyLjJyZW0vdmFyKC0tbGgpIHZhcigtLWZmXzEpO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbn0gLyogcGFyYWdyYXBoIGxhcmdlICovXG4uLXRcXDoyMSB7XG4gIC0tbGg6IDEuMzA7XG4gIGZvbnQ6IDcwMCAxLjZyZW0vdmFyKC0tbGgpIHZhcigtLWZmXzEpO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbn0gLyogYnV0dG9uICovXG4uLXRcXDoyMiB7XG4gIC0tbGg6IDEuMjA7XG4gIGZvbnQ6IDgwMCAyLjRyZW0vdmFyKC0tbGgpIHZhcigtLWZmXzEpO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufSAvKiBzZWN0aW9uIGxhcmdlICgxNCkgdG8gc21hbGwgKDE1KSAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzE5cHgpIHtcbiAgLi10XFw6MCwgYm9keSB7XG4gICAgLS1saDogMS40MDtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgfVxuICAuLXRcXDoxLCBoMSB7XG4gICAgLS1saDogMS4wNTtcbiAgICBmb250LXNpemU6IDQuMnJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG4gIC4tdFxcOjIsIGgyIHtcbiAgICAtLWxoOiAxLjEwO1xuICAgIGZvbnQtc2l6ZTogMy40cmVtO1xuICB9XG4gIC4tdFxcOjMsIGgzIHtcbiAgICAtLWxoOiAxLjI1O1xuICAgIGZvbnQtc2l6ZTogMi44cmVtO1xuICB9XG4gIC4tdFxcOjQsIGg0IHtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgfVxuICAuLXRcXDo3LCBibG9ja3F1b3RlIHtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgfSAvKiBibG9ja3F1b3RlICovXG4gIC4tdFxcOjEyIHtcbiAgICAtLWxoOiAwLjk1O1xuICAgIGZvbnQtc2l6ZTogNi4ycmVtO1xuICB9IC8qIHRpdGxlIGxhcmdlICovXG4gIC4tdFxcOjEzIHtcbiAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgfSAvKiBxdW90ZSBsYXJnZSAqL1xuICAuLXRcXDoxOCB7XG4gICAgLS1saDogMS4yMDtcbiAgICBmb250LXNpemU6IDcuNXJlbTtcbiAgfSAvKiBzdGF0IGxhcmdlICovXG4gIC4tdFxcOjE5IHtcbiAgICBmb250LXNpemU6IDMuMnJlbTtcbiAgICBmb250LXdlaWdodDogODAwO1xuICB9IC8qIHN0YXQgbWVkaXVtICovXG4gIC4tdFxcOjIyIHtcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgfSAvKiBzZWN0aW9uIGxhcmdlICgxNCkgdG8gc21hbGwgKDE1KSAqL1xufVxuLyogbGluayBzdHlsaW5nICovXG5hLi1hc1xcOjEsIC4tYXNcXDoxIGEsIC4tYXNcXDoxLi1hXFw6MSwgLi1hc1xcOjEgLi1hXFw6MSB7XG4gIC0tYXVzOiBcIlwiO1xuICAtLWFiZ246IG5vbmU7XG4gIC0tYXRjbjogdmFyKC0tY19kMXQpO1xufVxuXG5hLi1hc1xcOjIsIC4tYXNcXDoyIGEsIC4tYXNcXDoyLi1hXFw6MSwgLi1hc1xcOjIgLi1hXFw6MSB7XG4gIC0tYXVjbjogdHJhbnNwYXJlbnQ7XG4gIC0tYXVjaDogdmFyKC0tYXRjKTtcbiAgLS1hYmduOiBub25lO1xuICAtLWF0Y246IGN1cnJlbnRDb2xvcjtcbn1cblxuYS4tYXNcXDozLCAuLWFzXFw6MyBhLCAuLWFzXFw6My4tYVxcOjEsIC4tYXNcXDozIC4tYVxcOjEge1xuICAtLWF1Y246IGN1cnJlbnRDb2xvcjtcbiAgLS1hdWNoOiB0cmFuc3BhcmVudDtcbiAgLS1hYmduOiBub25lO1xuICAtLWF0Y246IHZhcigtLWNfZDF0KTtcbn1cblxuYS4tYXNcXDo0LCAuLWFzXFw6NCBhLCAuLWFzXFw6NC4tYVxcOjEsIC4tYXNcXDo0IC4tYVxcOjEge1xuICAtLWF1czogXCJcIjtcbiAgLS1hYmduOiBub25lO1xuICAtLWF0Y246IHZhcigtLWNfZDF0KTtcbiAgLS1hdGNoOiB2YXIoLS1jX2ExdCk7XG59XG5cbi8qIGxpc3Qgc3R5bGluZyAqL1xudWwuLWxzXFw6MSwgb2wuLWxzXFw6MSwgLi1sc1xcOjEgdWwsIC4tbHNcXDoxIG9sIHtcbiAgcGFkZGluZzogMDtcbn1cblxuLi1sc1xcOjEgbGk6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogc3BhY2luZyAqL1xuLi1tYlxcOmEsIC4tbXlcXDphIHtcbiAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xufVxuXG4uLW10XFw6YSwgLi1teVxcOmEge1xuICBtYXJnaW4tdG9wOiBhdXRvO1xufVxuXG4uLW1sXFw6YSwgLi1teFxcOmEge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuLi1tclxcOmEsIC4tbXhcXDphIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4uLW1iXFw6MCwgLi1teVxcOjAsIC4tbWFcXDowIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLi1tdFxcOjAsIC4tbXlcXDowLCAuLW1hXFw6MCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi4tbWxcXDowLCAuLW14XFw6MCwgLi1tYVxcOjAge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLi1tclxcOjAsIC4tbXhcXDowLCAuLW1hXFw6MCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLi1wYlxcOjAsIC4tcHlcXDowLCAuLXBhXFw6MCB7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4uLXB0XFw6MCwgLi1weVxcOjAsIC4tcGFcXDowIHtcbiAgcGFkZGluZy10b3A6IDA7XG59XG5cbi4tcGxcXDowLCAuLXB4XFw6MCwgLi1wYVxcOjAge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi4tcHJcXDowLCAuLXB4XFw6MCwgLi1wYVxcOjAge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4uLXN5XFw6MCA+ICoge1xuICAtLXN5OjByZW07XG59XG5cbi4tbWJcXDp4LCAuLW15XFw6eCwgLi1tYVxcOngge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zeCk7XG59XG5cbi4tbXRcXDp4LCAuLW15XFw6eCwgLi1tYVxcOngge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zeCk7XG59XG5cbi4tbWxcXDp4LCAuLW14XFw6eCwgLi1tYVxcOngge1xuICBtYXJnaW4tbGVmdDogdmFyKC0tc3gpO1xufVxuXG4uLW1yXFw6eCwgLi1teFxcOngsIC4tbWFcXDp4IHtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zeCk7XG59XG5cbi4tbWJcXDoteCwgLi1teVxcOi14LCAuLW1hXFw6LXgge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1ueCk7XG59XG5cbi4tbXRcXDoteCwgLi1teVxcOi14LCAuLW1hXFw6LXgge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1ueCk7XG59XG5cbi4tbWxcXDoteCwgLi1teFxcOi14LCAuLW1hXFw6LXgge1xuICBtYXJnaW4tbGVmdDogdmFyKC0tbngpO1xufVxuXG4uLW1yXFw6LXgsIC4tbXhcXDoteCwgLi1tYVxcOi14IHtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1ueCk7XG59XG5cbi4tcGJcXDp4LCAuLXB5XFw6eCwgLi1wYVxcOngge1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3gpO1xufVxuXG4uLXB0XFw6eCwgLi1weVxcOngsIC4tcGFcXDp4IHtcbiAgcGFkZGluZy10b3A6IHZhcigtLXN4KTtcbn1cblxuLi1wbFxcOngsIC4tcHhcXDp4LCAuLXBhXFw6eCB7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tc3gpO1xufVxuXG4uLXByXFw6eCwgLi1weFxcOngsIC4tcGFcXDp4IHtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tc3gpO1xufVxuXG4uLW1iXFw6eSwgLi1teVxcOnksIC4tbWFcXDp5IHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3kpO1xufVxuXG4uLW10XFw6eSwgLi1teVxcOnksIC4tbWFcXDp5IHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3kpO1xufVxuXG4uLW1sXFw6eSwgLi1teFxcOnksIC4tbWFcXDp5IHtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLXN5KTtcbn1cblxuLi1tclxcOnksIC4tbXhcXDp5LCAuLW1hXFw6eSB7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tc3kpO1xufVxuXG4uLW1iXFw6LXksIC4tbXlcXDoteSwgLi1tYVxcOi15IHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tbnkpO1xufVxuXG4uLW10XFw6LXksIC4tbXlcXDoteSwgLi1tYVxcOi15IHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tbnkpO1xufVxuXG4uLW1sXFw6LXksIC4tbXhcXDoteSwgLi1tYVxcOi15IHtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLW55KTtcbn1cblxuLi1tclxcOi15LCAuLW14XFw6LXksIC4tbWFcXDoteSB7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tbnkpO1xufVxuXG4uLXBiXFw6eSwgLi1weVxcOnksIC4tcGFcXDp5IHtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLXN5KTtcbn1cblxuLi1wdFxcOnksIC4tcHlcXDp5LCAuLXBhXFw6eSB7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1zeSk7XG59XG5cbi4tcGxcXDp5LCAuLXB4XFw6eSwgLi1wYVxcOnkge1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLXN5KTtcbn1cblxuLi1wclxcOnksIC4tcHhcXDp5LCAuLXBhXFw6eSB7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLXN5KTtcbn1cblxuLi1tYlxcOjEsIC4tbXlcXDoxIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tczEpO1xufVxuXG4uLW10XFw6MSwgLi1teVxcOjEge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zMSk7XG59XG5cbi4tbWJcXDotMSwgLi1teVxcOi0xLCAuLW1hXFw6LTEge1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXMxKSAqIC0xKTtcbn1cblxuLi1tdFxcOi0xLCAuLW15XFw6LTEsIC4tbWFcXDotMSB7XG4gIG1hcmdpbi10b3A6IGNhbGModmFyKC0tczEpICogLTEpO1xufVxuXG4uLW1sXFw6LTEsIC4tbXhcXDotMSwgLi1tYVxcOi0xIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tczEpICogLTEpO1xufVxuXG4uLW1yXFw6LTEsIC4tbXhcXDotMSwgLi1tYVxcOi0xIHtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLXMxKSAqIC0xKTtcbn1cblxuLi1wYlxcOjEsIC4tcHlcXDoxLCAuLXBhXFw6MSB7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zMSk7XG59XG5cbi4tcHRcXDoxLCAuLXB5XFw6MSwgLi1wYVxcOjEge1xuICBwYWRkaW5nLXRvcDogdmFyKC0tczEpO1xufVxuXG4uLXBsXFw6MSwgLi1weFxcOjEsIC4tcGFcXDoxIHtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zMSk7XG59XG5cbi4tcHJcXDoxLCAuLXB4XFw6MSwgLi1wYVxcOjEge1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zMSk7XG59XG5cbi4tbWJcXDoyLCAuLW15XFw6MiB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXMyKTtcbn1cblxuLi1tdFxcOjIsIC4tbXlcXDoyIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tczIpO1xufVxuXG4uLW1iXFw6LTIsIC4tbXlcXDotMiwgLi1tYVxcOi0yIHtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1zMikgKiAtMSk7XG59XG5cbi4tbXRcXDotMiwgLi1teVxcOi0yLCAuLW1hXFw6LTIge1xuICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXMyKSAqIC0xKTtcbn1cblxuLi1tbFxcOi0yLCAuLW14XFw6LTIsIC4tbWFcXDotMiB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLXMyKSAqIC0xKTtcbn1cblxuLi1tclxcOi0yLCAuLW14XFw6LTIsIC4tbWFcXDotMiB7XG4gIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1zMikgKiAtMSk7XG59XG5cbi4tcGJcXDoyLCAuLXB5XFw6MiwgLi1wYVxcOjIge1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tczIpO1xufVxuXG4uLXB0XFw6MiwgLi1weVxcOjIsIC4tcGFcXDoyIHtcbiAgcGFkZGluZy10b3A6IHZhcigtLXMyKTtcbn1cblxuLi1wbFxcOjIsIC4tcHhcXDoyLCAuLXBhXFw6MiB7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tczIpO1xufVxuXG4uLXByXFw6MiwgLi1weFxcOjIsIC4tcGFcXDoyIHtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tczIpO1xufVxuXG4uLW1iXFw6MywgLi1teVxcOjMge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zMyk7XG59XG5cbi4tbXRcXDozLCAuLW15XFw6MyB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXMzKTtcbn1cblxuLi1tYlxcOi0zLCAuLW15XFw6LTMsIC4tbWFcXDotMyB7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tczMpICogLTEpO1xufVxuXG4uLW10XFw6LTMsIC4tbXlcXDotMywgLi1tYVxcOi0zIHtcbiAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1zMykgKiAtMSk7XG59XG5cbi4tbWxcXDotMywgLi1teFxcOi0zLCAuLW1hXFw6LTMge1xuICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1zMykgKiAtMSk7XG59XG5cbi4tbXJcXDotMywgLi1teFxcOi0zLCAuLW1hXFw6LTMge1xuICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tczMpICogLTEpO1xufVxuXG4uLXBiXFw6MywgLi1weVxcOjMsIC4tcGFcXDozIHtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLXMzKTtcbn1cblxuLi1wdFxcOjMsIC4tcHlcXDozLCAuLXBhXFw6MyB7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1zMyk7XG59XG5cbi4tcGxcXDozLCAuLXB4XFw6MywgLi1wYVxcOjMge1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLXMzKTtcbn1cblxuLi1wclxcOjMsIC4tcHhcXDozLCAuLXBhXFw6MyB7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLXMzKTtcbn1cblxuLi1tYlxcOjQsIC4tbXlcXDo0IHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tczQpO1xufVxuXG4uLW10XFw6NCwgLi1teVxcOjQge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zNCk7XG59XG5cbi4tbWJcXDotNCwgLi1teVxcOi00LCAuLW1hXFw6LTQge1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXM0KSAqIC0xKTtcbn1cblxuLi1tdFxcOi00LCAuLW15XFw6LTQsIC4tbWFcXDotNCB7XG4gIG1hcmdpbi10b3A6IGNhbGModmFyKC0tczQpICogLTEpO1xufVxuXG4uLW1sXFw6LTQsIC4tbXhcXDotNCwgLi1tYVxcOi00IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tczQpICogLTEpO1xufVxuXG4uLW1yXFw6LTQsIC4tbXhcXDotNCwgLi1tYVxcOi00IHtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLXM0KSAqIC0xKTtcbn1cblxuLi1wYlxcOjQsIC4tcHlcXDo0LCAuLXBhXFw6NCB7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zNCk7XG59XG5cbi4tcHRcXDo0LCAuLXB5XFw6NCwgLi1wYVxcOjQge1xuICBwYWRkaW5nLXRvcDogdmFyKC0tczQpO1xufVxuXG4uLXBsXFw6NCwgLi1weFxcOjQsIC4tcGFcXDo0IHtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zNCk7XG59XG5cbi4tcHJcXDo0LCAuLXB4XFw6NCwgLi1wYVxcOjQge1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zNCk7XG59XG5cbi4tbWJcXDo1LCAuLW15XFw6NSB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXM1KTtcbn1cblxuLi1tdFxcOjUsIC4tbXlcXDo1IHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tczUpO1xufVxuXG4uLW1iXFw6LTUsIC4tbXlcXDotNSwgLi1tYVxcOi01IHtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1zNSkgKiAtMSk7XG59XG5cbi4tbXRcXDotNSwgLi1teVxcOi01LCAuLW1hXFw6LTUge1xuICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXM1KSAqIC0xKTtcbn1cblxuLi1tbFxcOi01LCAuLW14XFw6LTUsIC4tbWFcXDotNSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLXM1KSAqIC0xKTtcbn1cblxuLi1tclxcOi01LCAuLW14XFw6LTUsIC4tbWFcXDotNSB7XG4gIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1zNSkgKiAtMSk7XG59XG5cbi4tcGJcXDo1LCAuLXB5XFw6NSwgLi1wYVxcOjUge1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tczUpO1xufVxuXG4uLXB0XFw6NSwgLi1weVxcOjUsIC4tcGFcXDo1IHtcbiAgcGFkZGluZy10b3A6IHZhcigtLXM1KTtcbn1cblxuLi1wbFxcOjUsIC4tcHhcXDo1LCAuLXBhXFw6NSB7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tczUpO1xufVxuXG4uLXByXFw6NSwgLi1weFxcOjUsIC4tcGFcXDo1IHtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tczUpO1xufVxuXG4uLW1iXFw6bTEsIC4tbXlcXDptMSB7XG4gIG1hcmdpbi1ib3R0b206IDAuNHJlbTtcbn1cblxuLi1tdFxcOm0xLCAuLW15XFw6bTEge1xuICBtYXJnaW4tdG9wOiAwLjRyZW07XG59XG5cbi4tcGJcXDptMSwgLi1weVxcOm0xIHtcbiAgcGFkZGluZy1ib3R0b206IDAuNHJlbTtcbn1cblxuLi1wdFxcOm0xLCAuLXB5XFw6bTEge1xuICBwYWRkaW5nLXRvcDogMC40cmVtO1xufVxuXG4uLXN5XFw6MSA+ICoge1xuICAtLXN5OjAuNHJlbTtcbn1cblxuLi1tYlxcOm0yLCAuLW15XFw6bTIge1xuICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XG59XG5cbi4tbXRcXDptMiwgLi1teVxcOm0yIHtcbiAgbWFyZ2luLXRvcDogMC44cmVtO1xufVxuXG4uLXBiXFw6bTIsIC4tcHlcXDptMiB7XG4gIHBhZGRpbmctYm90dG9tOiAwLjhyZW07XG59XG5cbi4tcHRcXDptMiwgLi1weVxcOm0yIHtcbiAgcGFkZGluZy10b3A6IDAuOHJlbTtcbn1cblxuLi1zeVxcOjIgPiAqIHtcbiAgLS1zeTowLjhyZW07XG59XG5cbi4tbWJcXDptMywgLi1teVxcOm0zIHtcbiAgbWFyZ2luLWJvdHRvbTogMS4ycmVtO1xufVxuXG4uLW10XFw6bTMsIC4tbXlcXDptMyB7XG4gIG1hcmdpbi10b3A6IDEuMnJlbTtcbn1cblxuLi1wYlxcOm0zLCAuLXB5XFw6bTMge1xuICBwYWRkaW5nLWJvdHRvbTogMS4ycmVtO1xufVxuXG4uLXB0XFw6bTMsIC4tcHlcXDptMyB7XG4gIHBhZGRpbmctdG9wOiAxLjJyZW07XG59XG5cbi4tc3lcXDozID4gKiB7XG4gIC0tc3k6MS4ycmVtO1xufVxuXG4uLW1iXFw6bTQsIC4tbXlcXDptNCB7XG4gIG1hcmdpbi1ib3R0b206IDEuNnJlbTtcbn1cblxuLi1tdFxcOm00LCAuLW15XFw6bTQge1xuICBtYXJnaW4tdG9wOiAxLjZyZW07XG59XG5cbi4tcGJcXDptNCwgLi1weVxcOm00IHtcbiAgcGFkZGluZy1ib3R0b206IDEuNnJlbTtcbn1cblxuLi1wdFxcOm00LCAuLXB5XFw6bTQge1xuICBwYWRkaW5nLXRvcDogMS42cmVtO1xufVxuXG4uLXN5XFw6NCA+ICoge1xuICAtLXN5OjEuNnJlbTtcbn1cblxuLi1tYlxcOm01LCAuLW15XFw6bTUge1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xufVxuXG4uLW10XFw6bTUsIC4tbXlcXDptNSB7XG4gIG1hcmdpbi10b3A6IDJyZW07XG59XG5cbi4tcGJcXDptNSwgLi1weVxcOm01IHtcbiAgcGFkZGluZy1ib3R0b206IDJyZW07XG59XG5cbi4tcHRcXDptNSwgLi1weVxcOm01IHtcbiAgcGFkZGluZy10b3A6IDJyZW07XG59XG5cbi4tc3lcXDo1ID4gKiB7XG4gIC0tc3k6Mi4wcmVtO1xufVxuXG4uLW1iXFw6bTYsIC4tbXlcXDptNiB7XG4gIG1hcmdpbi1ib3R0b206IDIuNHJlbTtcbn1cblxuLi1tdFxcOm02LCAuLW15XFw6bTYge1xuICBtYXJnaW4tdG9wOiAyLjRyZW07XG59XG5cbi4tcGJcXDptNiwgLi1weVxcOm02IHtcbiAgcGFkZGluZy1ib3R0b206IDIuNHJlbTtcbn1cblxuLi1wdFxcOm02LCAuLXB5XFw6bTYge1xuICBwYWRkaW5nLXRvcDogMi40cmVtO1xufVxuXG4uLXN5XFw6NiA+ICoge1xuICAtLXN5OjIuNHJlbTtcbn1cblxuQG1lZGlhIHByaW50LCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLi1tYlxcOmFcXD5tLCAuLW15XFw6YVxcPm0ge1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAuLW10XFw6YVxcPm0sIC4tbXlcXDphXFw+bSB7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgfVxuICAuLW1sXFw6YVxcPm0sIC4tbXhcXDphXFw+bSB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbiAgLi1tclxcOmFcXD5tLCAuLW14XFw6YVxcPm0ge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuICAuLW1iXFw6MFxcPm0sIC4tbXlcXDowXFw+bSwgLi1tYVxcOjBcXD5tIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIC4tbXRcXDowXFw+bSwgLi1teVxcOjBcXD5tLCAuLW1hXFw6MFxcPm0ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgLi1tbFxcOjBcXD5tLCAuLW14XFw6MFxcPm0sIC4tbWFcXDowXFw+bSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLi1tclxcOjBcXD5tLCAuLW14XFw6MFxcPm0sIC4tbWFcXDowXFw+bSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG4gIC4tcGJcXDowXFw+bSwgLi1weVxcOjBcXD5tLCAuLXBhXFw6MFxcPm0ge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG4gIC4tcHRcXDowXFw+bSwgLi1weVxcOjBcXD5tLCAuLXBhXFw6MFxcPm0ge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG4gIC4tcGxcXDowXFw+bSwgLi1weFxcOjBcXD5tLCAuLXBhXFw6MFxcPm0ge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuICAuLXByXFw6MFxcPm0sIC4tcHhcXDowXFw+bSwgLi1wYVxcOjBcXD5tIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG4gIC4tbWJcXDp4XFw+bSwgLi1teVxcOnhcXD5tLCAuLW1hXFw6eFxcPm0ge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXN4KTtcbiAgfVxuICAuLW10XFw6eFxcPm0sIC4tbXlcXDp4XFw+bSwgLi1tYVxcOnhcXD5tIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zeCk7XG4gIH1cbiAgLi1tbFxcOnhcXD5tLCAuLW14XFw6eFxcPm0sIC4tbWFcXDp4XFw+bSB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXN4KTtcbiAgfVxuICAuLW1yXFw6eFxcPm0sIC4tbXhcXDp4XFw+bSwgLi1tYVxcOnhcXD5tIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXN4KTtcbiAgfVxuICAuLW1iXFw6LXhcXD5tLCAuLW15XFw6LXhcXD5tLCAuLW1hXFw6LXhcXD5tIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1ueCk7XG4gIH1cbiAgLi1tdFxcOi14XFw+bSwgLi1teVxcOi14XFw+bSwgLi1tYVxcOi14XFw+bSB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tbngpO1xuICB9XG4gIC4tbWxcXDoteFxcPm0sIC4tbXhcXDoteFxcPm0sIC4tbWFcXDoteFxcPm0ge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1ueCk7XG4gIH1cbiAgLi1tclxcOi14XFw+bSwgLi1teFxcOi14XFw+bSwgLi1tYVxcOi14XFw+bSB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1ueCk7XG4gIH1cbiAgLi1wYlxcOnhcXD5tLCAuLXB5XFw6eFxcPm0sIC4tcGFcXDp4XFw+bSB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXN4KTtcbiAgfVxuICAuLXB0XFw6eFxcPm0sIC4tcHlcXDp4XFw+bSwgLi1wYVxcOnhcXD5tIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3gpO1xuICB9XG4gIC4tcGxcXDp4XFw+bSwgLi1weFxcOnhcXD5tLCAuLXBhXFw6eFxcPm0ge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3gpO1xuICB9XG4gIC4tcHJcXDp4XFw+bSwgLi1weFxcOnhcXD5tLCAuLXBhXFw6eFxcPm0ge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXN4KTtcbiAgfVxuICAuLW1iXFw6eVxcPm0sIC4tbXlcXDp5XFw+bSwgLi1tYVxcOnlcXD5tIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zeSk7XG4gIH1cbiAgLi1tdFxcOnlcXD5tLCAuLW15XFw6eVxcPm0sIC4tbWFcXDp5XFw+bSB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3kpO1xuICB9XG4gIC4tbWxcXDp5XFw+bSwgLi1teFxcOnlcXD5tLCAuLW1hXFw6eVxcPm0ge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zeSk7XG4gIH1cbiAgLi1tclxcOnlcXD5tLCAuLW14XFw6eVxcPm0sIC4tbWFcXDp5XFw+bSB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zeSk7XG4gIH1cbiAgLi1tYlxcOi15XFw+bSwgLi1teVxcOi15XFw+bSwgLi1tYVxcOi15XFw+bSB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tbnkpO1xuICB9XG4gIC4tbXRcXDoteVxcPm0sIC4tbXlcXDoteVxcPm0sIC4tbWFcXDoteVxcPm0ge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLW55KTtcbiAgfVxuICAuLW1sXFw6LXlcXD5tLCAuLW14XFw6LXlcXD5tLCAuLW1hXFw6LXlcXD5tIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tbnkpO1xuICB9XG4gIC4tbXJcXDoteVxcPm0sIC4tbXhcXDoteVxcPm0sIC4tbWFcXDoteVxcPm0ge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tbnkpO1xuICB9XG4gIC4tcGJcXDp5XFw+bSwgLi1weVxcOnlcXD5tLCAuLXBhXFw6eVxcPm0ge1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zeSk7XG4gIH1cbiAgLi1wdFxcOnlcXD5tLCAuLXB5XFw6eVxcPm0sIC4tcGFcXDp5XFw+bSB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXN5KTtcbiAgfVxuICAuLXBsXFw6eVxcPm0sIC4tcHhcXDp5XFw+bSwgLi1wYVxcOnlcXD5tIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXN5KTtcbiAgfVxuICAuLXByXFw6eVxcPm0sIC4tcHhcXDp5XFw+bSwgLi1wYVxcOnlcXD5tIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zeSk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAuLW1iXFw6YVxcPGwsIC4tbXlcXDphXFw8bCB7XG4gICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC4tbXRcXDphXFw8bCwgLi1teVxcOmFcXDxsIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICB9XG4gIC4tbWxcXDphXFw8bCwgLi1teFxcOmFcXDxsIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuICAuLW1yXFw6YVxcPGwsIC4tbXhcXDphXFw8bCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG4gIC4tbWJcXDowXFw8bCwgLi1teVxcOjBcXDxsLCAuLW1hXFw6MFxcPGwge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgLi1tdFxcOjBcXDxsLCAuLW15XFw6MFxcPGwsIC4tbWFcXDowXFw8bCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuICAuLW1sXFw6MFxcPGwsIC4tbXhcXDowXFw8bCwgLi1tYVxcOjBcXDxsIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAuLW1yXFw6MFxcPGwsIC4tbXhcXDowXFw8bCwgLi1tYVxcOjBcXDxsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbiAgLi1wYlxcOjBcXDxsLCAuLXB5XFw6MFxcPGwsIC4tcGFcXDowXFw8bCB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbiAgLi1wdFxcOjBcXDxsLCAuLXB5XFw6MFxcPGwsIC4tcGFcXDowXFw8bCB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cbiAgLi1wbFxcOjBcXDxsLCAuLXB4XFw6MFxcPGwsIC4tcGFcXDowXFw8bCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG4gIC4tcHJcXDowXFw8bCwgLi1weFxcOjBcXDxsLCAuLXBhXFw6MFxcPGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbiAgLi1tYlxcOnhcXDxsLCAuLW15XFw6eFxcPGwsIC4tbWFcXDp4XFw8bCB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3gpO1xuICB9XG4gIC4tbXRcXDp4XFw8bCwgLi1teVxcOnhcXDxsLCAuLW1hXFw6eFxcPGwge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXN4KTtcbiAgfVxuICAuLW1sXFw6eFxcPGwsIC4tbXhcXDp4XFw8bCwgLi1tYVxcOnhcXDxsIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3gpO1xuICB9XG4gIC4tbXJcXDp4XFw8bCwgLi1teFxcOnhcXDxsLCAuLW1hXFw6eFxcPGwge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3gpO1xuICB9XG4gIC4tbWJcXDoteFxcPGwsIC4tbXlcXDoteFxcPGwsIC4tbWFcXDoteFxcPGwge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLW54KTtcbiAgfVxuICAuLW10XFw6LXhcXDxsLCAuLW15XFw6LXhcXDxsLCAuLW1hXFw6LXhcXDxsIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1ueCk7XG4gIH1cbiAgLi1tbFxcOi14XFw8bCwgLi1teFxcOi14XFw8bCwgLi1tYVxcOi14XFw8bCB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLW54KTtcbiAgfVxuICAuLW1yXFw6LXhcXDxsLCAuLW14XFw6LXhcXDxsLCAuLW1hXFw6LXhcXDxsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLW54KTtcbiAgfVxuICAuLXBiXFw6eFxcPGwsIC4tcHlcXDp4XFw8bCwgLi1wYVxcOnhcXDxsIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3gpO1xuICB9XG4gIC4tcHRcXDp4XFw8bCwgLi1weVxcOnhcXDxsLCAuLXBhXFw6eFxcPGwge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zeCk7XG4gIH1cbiAgLi1wbFxcOnhcXDxsLCAuLXB4XFw6eFxcPGwsIC4tcGFcXDp4XFw8bCB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zeCk7XG4gIH1cbiAgLi1wclxcOnhcXDxsLCAuLXB4XFw6eFxcPGwsIC4tcGFcXDp4XFw8bCB7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3gpO1xuICB9XG4gIC4tbWJcXDp5XFw8bCwgLi1teVxcOnlcXDxsLCAuLW1hXFw6eVxcPGwge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXN5KTtcbiAgfVxuICAuLW10XFw6eVxcPGwsIC4tbXlcXDp5XFw8bCwgLi1tYVxcOnlcXDxsIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zeSk7XG4gIH1cbiAgLi1tbFxcOnlcXDxsLCAuLW14XFw6eVxcPGwsIC4tbWFcXDp5XFw8bCB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXN5KTtcbiAgfVxuICAuLW1yXFw6eVxcPGwsIC4tbXhcXDp5XFw8bCwgLi1tYVxcOnlcXDxsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXN5KTtcbiAgfVxuICAuLW1iXFw6LXlcXDxsLCAuLW15XFw6LXlcXDxsLCAuLW1hXFw6LXlcXDxsIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1ueSk7XG4gIH1cbiAgLi1tdFxcOi15XFw8bCwgLi1teVxcOi15XFw8bCwgLi1tYVxcOi15XFw8bCB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tbnkpO1xuICB9XG4gIC4tbWxcXDoteVxcPGwsIC4tbXhcXDoteVxcPGwsIC4tbWFcXDoteVxcPGwge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1ueSk7XG4gIH1cbiAgLi1tclxcOi15XFw8bCwgLi1teFxcOi15XFw8bCwgLi1tYVxcOi15XFw8bCB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1ueSk7XG4gIH1cbiAgLi1wYlxcOnlcXDxsLCAuLXB5XFw6eVxcPGwsIC4tcGFcXDp5XFw8bCB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXN5KTtcbiAgfVxuICAuLXB0XFw6eVxcPGwsIC4tcHlcXDp5XFw8bCwgLi1wYVxcOnlcXDxsIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3kpO1xuICB9XG4gIC4tcGxcXDp5XFw8bCwgLi1weFxcOnlcXDxsLCAuLXBhXFw6eVxcPGwge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3kpO1xuICB9XG4gIC4tcHJcXDp5XFw8bCwgLi1weFxcOnlcXDxsLCAuLXBhXFw6eVxcPGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXN5KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzE5cHgpIHtcbiAgLi1tYlxcOmFcXDxtLCAuLW15XFw6YVxcPG0ge1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAuLW10XFw6YVxcPG0sIC4tbXlcXDphXFw8bSB7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgfVxuICAuLW1sXFw6YVxcPG0sIC4tbXhcXDphXFw8bSB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbiAgLi1tclxcOmFcXDxtLCAuLW14XFw6YVxcPG0ge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuICAuLW1iXFw6MFxcPG0sIC4tbXlcXDowXFw8bSwgLi1tYVxcOjBcXDxtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIC4tbXRcXDowXFw8bSwgLi1teVxcOjBcXDxtLCAuLW1hXFw6MFxcPG0ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgLi1tbFxcOjBcXDxtLCAuLW14XFw6MFxcPG0sIC4tbWFcXDowXFw8bSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLi1tclxcOjBcXDxtLCAuLW14XFw6MFxcPG0sIC4tbWFcXDowXFw8bSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG4gIC4tcGJcXDowXFw8bSwgLi1weVxcOjBcXDxtLCAuLXBhXFw6MFxcPG0ge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG4gIC4tcHRcXDowXFw8bSwgLi1weVxcOjBcXDxtLCAuLXBhXFw6MFxcPG0ge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG4gIC4tcGxcXDowXFw8bSwgLi1weFxcOjBcXDxtLCAuLXBhXFw6MFxcPG0ge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuICAuLXByXFw6MFxcPG0sIC4tcHhcXDowXFw8bSwgLi1wYVxcOjBcXDxtIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG4gIC4tbWJcXDp4XFw8bSwgLi1teVxcOnhcXDxtLCAuLW1hXFw6eFxcPG0ge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXN4KTtcbiAgfVxuICAuLW10XFw6eFxcPG0sIC4tbXlcXDp4XFw8bSwgLi1tYVxcOnhcXDxtIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zeCk7XG4gIH1cbiAgLi1tbFxcOnhcXDxtLCAuLW14XFw6eFxcPG0sIC4tbWFcXDp4XFw8bSB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXN4KTtcbiAgfVxuICAuLW1yXFw6eFxcPG0sIC4tbXhcXDp4XFw8bSwgLi1tYVxcOnhcXDxtIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXN4KTtcbiAgfVxuICAuLW1iXFw6LXhcXDxtLCAuLW15XFw6LXhcXDxtLCAuLW1hXFw6LXhcXDxtIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1ueCk7XG4gIH1cbiAgLi1tdFxcOi14XFw8bSwgLi1teVxcOi14XFw8bSwgLi1tYVxcOi14XFw8bSB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tbngpO1xuICB9XG4gIC4tbWxcXDoteFxcPG0sIC4tbXhcXDoteFxcPG0sIC4tbWFcXDoteFxcPG0ge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1ueCk7XG4gIH1cbiAgLi1tclxcOi14XFw8bSwgLi1teFxcOi14XFw8bSwgLi1tYVxcOi14XFw8bSB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1ueCk7XG4gIH1cbiAgLi1wYlxcOnhcXDxtLCAuLXB5XFw6eFxcPG0sIC4tcGFcXDp4XFw8bSB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXN4KTtcbiAgfVxuICAuLXB0XFw6eFxcPG0sIC4tcHlcXDp4XFw8bSwgLi1wYVxcOnhcXDxtIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3gpO1xuICB9XG4gIC4tcGxcXDp4XFw8bSwgLi1weFxcOnhcXDxtLCAuLXBhXFw6eFxcPG0ge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3gpO1xuICB9XG4gIC4tcHJcXDp4XFw8bSwgLi1weFxcOnhcXDxtLCAuLXBhXFw6eFxcPG0ge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXN4KTtcbiAgfVxuICAuLW1iXFw6eVxcPG0sIC4tbXlcXDp5XFw8bSwgLi1tYVxcOnlcXDxtIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zeSk7XG4gIH1cbiAgLi1tdFxcOnlcXDxtLCAuLW15XFw6eVxcPG0sIC4tbWFcXDp5XFw8bSB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3kpO1xuICB9XG4gIC4tbWxcXDp5XFw8bSwgLi1teFxcOnlcXDxtLCAuLW1hXFw6eVxcPG0ge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zeSk7XG4gIH1cbiAgLi1tclxcOnlcXDxtLCAuLW14XFw6eVxcPG0sIC4tbWFcXDp5XFw8bSB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zeSk7XG4gIH1cbiAgLi1tYlxcOi15XFw8bSwgLi1teVxcOi15XFw8bSwgLi1tYVxcOi15XFw8bSB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tbnkpO1xuICB9XG4gIC4tbXRcXDoteVxcPG0sIC4tbXlcXDoteVxcPG0sIC4tbWFcXDoteVxcPG0ge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLW55KTtcbiAgfVxuICAuLW1sXFw6LXlcXDxtLCAuLW14XFw6LXlcXDxtLCAuLW1hXFw6LXlcXDxtIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tbnkpO1xuICB9XG4gIC4tbXJcXDoteVxcPG0sIC4tbXhcXDoteVxcPG0sIC4tbWFcXDoteVxcPG0ge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tbnkpO1xuICB9XG4gIC4tcGJcXDp5XFw8bSwgLi1weVxcOnlcXDxtLCAuLXBhXFw6eVxcPG0ge1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zeSk7XG4gIH1cbiAgLi1wdFxcOnlcXDxtLCAuLXB5XFw6eVxcPG0sIC4tcGFcXDp5XFw8bSB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXN5KTtcbiAgfVxuICAuLXBsXFw6eVxcPG0sIC4tcHhcXDp5XFw8bSwgLi1wYVxcOnlcXDxtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXN5KTtcbiAgfVxuICAuLXByXFw6eVxcPG0sIC4tcHhcXDp5XFw8bSwgLi1wYVxcOnlcXDxtIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zeSk7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgLi1tYlxcOmFcXD5zLCAuLW15XFw6YVxcPnMge1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAuLW10XFw6YVxcPnMsIC4tbXlcXDphXFw+cyB7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgfVxuICAuLW1sXFw6YVxcPnMsIC4tbXhcXDphXFw+cyB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbiAgLi1tclxcOmFcXD5zLCAuLW14XFw6YVxcPnMge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuICAuLW1iXFw6MFxcPnMsIC4tbXlcXDowXFw+cywgLi1tYVxcOjBcXD5zIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIC4tbXRcXDowXFw+cywgLi1teVxcOjBcXD5zLCAuLW1hXFw6MFxcPnMge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgLi1tbFxcOjBcXD5zLCAuLW14XFw6MFxcPnMsIC4tbWFcXDowXFw+cyB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLi1tclxcOjBcXD5zLCAuLW14XFw6MFxcPnMsIC4tbWFcXDowXFw+cyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG4gIC4tcGJcXDowXFw+cywgLi1weVxcOjBcXD5zLCAuLXBhXFw6MFxcPnMge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG4gIC4tcHRcXDowXFw+cywgLi1weVxcOjBcXD5zLCAuLXBhXFw6MFxcPnMge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG4gIC4tcGxcXDowXFw+cywgLi1weFxcOjBcXD5zLCAuLXBhXFw6MFxcPnMge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuICAuLXByXFw6MFxcPnMsIC4tcHhcXDowXFw+cywgLi1wYVxcOjBcXD5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG4gIC4tbWJcXDp4XFw+cywgLi1teVxcOnhcXD5zLCAuLW1hXFw6eFxcPnMge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXN4KTtcbiAgfVxuICAuLW10XFw6eFxcPnMsIC4tbXlcXDp4XFw+cywgLi1tYVxcOnhcXD5zIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zeCk7XG4gIH1cbiAgLi1tbFxcOnhcXD5zLCAuLW14XFw6eFxcPnMsIC4tbWFcXDp4XFw+cyB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXN4KTtcbiAgfVxuICAuLW1yXFw6eFxcPnMsIC4tbXhcXDp4XFw+cywgLi1tYVxcOnhcXD5zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXN4KTtcbiAgfVxuICAuLW1iXFw6LXhcXD5zLCAuLW15XFw6LXhcXD5zLCAuLW1hXFw6LXhcXD5zIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1ueCk7XG4gIH1cbiAgLi1tdFxcOi14XFw+cywgLi1teVxcOi14XFw+cywgLi1tYVxcOi14XFw+cyB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tbngpO1xuICB9XG4gIC4tbWxcXDoteFxcPnMsIC4tbXhcXDoteFxcPnMsIC4tbWFcXDoteFxcPnMge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1ueCk7XG4gIH1cbiAgLi1tclxcOi14XFw+cywgLi1teFxcOi14XFw+cywgLi1tYVxcOi14XFw+cyB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1ueCk7XG4gIH1cbiAgLi1wYlxcOnhcXD5zLCAuLXB5XFw6eFxcPnMsIC4tcGFcXDp4XFw+cyB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXN4KTtcbiAgfVxuICAuLXB0XFw6eFxcPnMsIC4tcHlcXDp4XFw+cywgLi1wYVxcOnhcXD5zIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3gpO1xuICB9XG4gIC4tcGxcXDp4XFw+cywgLi1weFxcOnhcXD5zLCAuLXBhXFw6eFxcPnMge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3gpO1xuICB9XG4gIC4tcHJcXDp4XFw+cywgLi1weFxcOnhcXD5zLCAuLXBhXFw6eFxcPnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXN4KTtcbiAgfVxuICAuLW1iXFw6eVxcPnMsIC4tbXlcXDp5XFw+cywgLi1tYVxcOnlcXD5zIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zeSk7XG4gIH1cbiAgLi1tdFxcOnlcXD5zLCAuLW15XFw6eVxcPnMsIC4tbWFcXDp5XFw+cyB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3kpO1xuICB9XG4gIC4tbWxcXDp5XFw+cywgLi1teFxcOnlcXD5zLCAuLW1hXFw6eVxcPnMge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zeSk7XG4gIH1cbiAgLi1tclxcOnlcXD5zLCAuLW14XFw6eVxcPnMsIC4tbWFcXDp5XFw+cyB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zeSk7XG4gIH1cbiAgLi1tYlxcOi15XFw+cywgLi1teVxcOi15XFw+cywgLi1tYVxcOi15XFw+cyB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tbnkpO1xuICB9XG4gIC4tbXRcXDoteVxcPnMsIC4tbXlcXDoteVxcPnMsIC4tbWFcXDoteVxcPnMge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLW55KTtcbiAgfVxuICAuLW1sXFw6LXlcXD5zLCAuLW14XFw6LXlcXD5zLCAuLW1hXFw6LXlcXD5zIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tbnkpO1xuICB9XG4gIC4tbXJcXDoteVxcPnMsIC4tbXhcXDoteVxcPnMsIC4tbWFcXDoteVxcPnMge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tbnkpO1xuICB9XG4gIC4tcGJcXDp5XFw+cywgLi1weVxcOnlcXD5zLCAuLXBhXFw6eVxcPnMge1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zeSk7XG4gIH1cbiAgLi1wdFxcOnlcXD5zLCAuLXB5XFw6eVxcPnMsIC4tcGFcXDp5XFw+cyB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXN5KTtcbiAgfVxuICAuLXBsXFw6eVxcPnMsIC4tcHhcXDp5XFw+cywgLi1wYVxcOnlcXD5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXN5KTtcbiAgfVxuICAuLXByXFw6eVxcPnMsIC4tcHhcXDp5XFw+cywgLi1wYVxcOnlcXD5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zeSk7XG4gIH1cbn1cbi4tZ2dcXDoxIHtcbiAgLS1neDogdmFyKC0tczMpO1xufSAvKiBpbXBhY3Qgc3RhdHMgKi9cbi4tZ2dcXDoyIHtcbiAgLS1neDogdmFyKC0tczEpO1xufSAvKiBmZWF0dXJlZCBmdW5kcmFpc2VycyAqL1xuLi1nZ1xcOjMge1xuICAtLWd4OiAycmVtO1xufSAvKiBtb3N0IHJlYWQgKi9cbi4tZ2dcXDo0IHtcbiAgLS1neDogMi40cmVtO1xuICAtLXN5OiB2YXIoLS1zMSkgO1xufSAvKiBldmVudHMgYXJjaGl2ZXMgKi9cbi8qIGdyaWQgc2VwYXJhdG9ycyAqL1xuLi1nc1xcOjEgPiAqIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uLWdzXFw6MSA+IDphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiBjYWxjKHZhcigtLWd4KSAqIDApO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDFweDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKHZhcigtLWNfZHh0KSwgMC4xNSk7XG4gIGJvcmRlci13aWR0aDogMCAwIDAgMXB4O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MTlweCkge1xuICAuLWdzXFw6MSB7XG4gICAgLS1neTogdmFyKC0tczMpO1xuICAgIGNsaXAtcGF0aDogaW5zZXQodmFyKC0tZ3kpIDAgMCk7XG4gIH1cbiAgLi1nc1xcOjEgPiA6YWZ0ZXIge1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogY2FsYyh2YXIoLS1neSkgKiAtMC41KTtcbiAgICBib3R0b206IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHggMCAwO1xuICB9XG59XG4vKiBncmlkIGNvbHVtbnMgKi9cbkBtZWRpYSBwcmludCwgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC4tZ2NcXDozMFxcPm0ge1xuICAgIC0tZ2M6IDMwO1xuICB9XG59XG4vKiB2aXNpYmlsaXR5ICovXG4uLWRcXDpiIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi4tZFxcOm4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgcHJpbnQge1xuICAuLWRcXDpuXFxAcCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4vKiBwb3NpdGlvbiAqL1xuLi1wXFw6ciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLyogei1pbmRleGluZyAqL1xuLi16aVxcOjEge1xuICB6LWluZGV4OiAxO1xufVxuXG4uLXppXFw6MiB7XG4gIHotaW5kZXg6IDI7XG59XG5cbi4temlcXDozIHtcbiAgei1pbmRleDogMztcbn1cblxuLyogb3ZlcmZsb3cgKi9cbi4tb1xcOmgge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uLW9cXDp2IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qIG1heCB3aWR0aHMgKi9cbi4teHdcXDpuIHtcbiAgLS14dzogbm9uZTtcbiAgbWF4LXdpZHRoOiB2YXIoLS14dyk7XG59XG5cbi4teHdcXDoxIHtcbiAgLS14dzogdmFyKC0teHdfMSk7XG4gIG1heC13aWR0aDogdmFyKC0teHcpO1xufVxuXG4uLXh3XFw6MiB7XG4gIC0teHc6IHZhcigtLXh3XzIpO1xuICBtYXgtd2lkdGg6IHZhcigtLXh3KTtcbn1cblxuLi14d1xcOjMge1xuICAtLXh3OiB2YXIoLS14d18zKTtcbiAgbWF4LXdpZHRoOiB2YXIoLS14dyk7XG59XG5cbi4teHdcXDo0IHtcbiAgLS14dzogdmFyKC0teHdfNCk7XG4gIG1heC13aWR0aDogdmFyKC0teHcpO1xufVxuXG4uLXh3XFw6NSB7XG4gIC0teHc6IHZhcigtLXh3XzUpO1xuICBtYXgtd2lkdGg6IHZhcigtLXh3KTtcbn1cblxuLi14d1xcOjYge1xuICAtLXh3OiB2YXIoLS14d182KTtcbiAgbWF4LXdpZHRoOiB2YXIoLS14dyk7XG59XG5cbi4tY29udGFpbiwgLi1kZWNvbnRhaW4sIC4tcmVjb250YWluIHtcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuXG4uLXdcXDphIHtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi4td1xcOngge1xuICB3aWR0aDogY2FsYygxMDB2dyAtIHZhcigtLXN4KSAqIDIpO1xufVxuXG4uLXdcXDoxIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi4taFxcOjEge1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi8qIGNvbG9ycyAqL1xuLi1jXFw6ZDEsIGEuLWNcXDpkMWg6aG92ZXIsIGE6aG92ZXIgLi1jXFw6ZDFoIHtcbiAgY29sb3I6IHZhcigtLWNfZDEpO1xufVxuXG4uLWNcXDpkMXQsIGEuLWNcXDpkMXRoOmhvdmVyLCBhOmhvdmVyIC4tY1xcOmQxdGgsIGh0bWwge1xuICBjb2xvcjogdmFyKC0tY19kMXQpO1xufVxuXG4uLWNcXDpkMiwgYS4tY1xcOmQyaDpob3ZlciwgYTpob3ZlciAuLWNcXDpkMmgge1xuICBjb2xvcjogdmFyKC0tY19kMik7XG59XG5cbi4tY1xcOmQydCwgYS4tY1xcOmQydGg6aG92ZXIsIGE6aG92ZXIgLi1jXFw6ZDJ0aCwgZmlnY2FwdGlvbiB7XG4gIGNvbG9yOiB2YXIoLS1jX2QydCk7XG59XG5cbi4tY1xcOmExLCBhLi1jXFw6YTFoOmhvdmVyLCBhOmhvdmVyIC4tY1xcOmExaCB7XG4gIGNvbG9yOiB2YXIoLS1jX2ExKTtcbn1cblxuLi1jXFw6YTF0LCBhLi1jXFw6YTF0aDpob3ZlciwgYTpob3ZlciAuLWNcXDphMXRoIHtcbiAgY29sb3I6IHZhcigtLWNfYTF0KTtcbn1cblxuLi1jXFw6YTIsIGEuLWNcXDphMmg6aG92ZXIsIGE6aG92ZXIgLi1jXFw6YTJoIHtcbiAgY29sb3I6IHZhcigtLWNfYTIpO1xufVxuXG4uLWNcXDphMnQsIGEuLWNcXDphMnRoOmhvdmVyLCBhOmhvdmVyIC4tY1xcOmEydGgge1xuICBjb2xvcjogdmFyKC0tY19hMnQpO1xufVxuXG4uLWNcXDppMSwgYS4tY1xcOmkxaDpob3ZlciwgYTpob3ZlciAuLWNcXDppMWgge1xuICBjb2xvcjogdmFyKC0tY19pMSk7XG59XG5cbi4tY1xcOmkxdCwgYS4tY1xcOmkxdGg6aG92ZXIsIGE6aG92ZXIgLi1jXFw6aTF0aCB7XG4gIGNvbG9yOiB2YXIoLS1jX2kxdCk7XG59XG5cbi4tY1xcOmkyLCBhLi1jXFw6aTJoOmhvdmVyLCBhOmhvdmVyIC4tY1xcOmkyaCB7XG4gIGNvbG9yOiB2YXIoLS1jX2kyKTtcbn1cblxuLi1jXFw6aTJ0LCBhLi1jXFw6aTJ0aDpob3ZlciwgYTpob3ZlciAuLWNcXDppMnRoIHtcbiAgY29sb3I6IHZhcigtLWNfaTJ0KTtcbn1cblxuLi1jXFw6YjEsIGEuLWNcXDpiMWg6aG92ZXIsIGE6aG92ZXIgLi1jXFw6YjFoIHtcbiAgY29sb3I6IHZhcigtLWNfYjEpO1xufVxuXG4uLWNcXDpiMXQsIGEuLWNcXDpiMXRoOmhvdmVyLCBhOmhvdmVyIC4tY1xcOmIxdGgge1xuICBjb2xvcjogdmFyKC0tY19iMXQpO1xufVxuXG4uLWNcXDpiMiwgYS4tY1xcOmIyaDpob3ZlciwgYTpob3ZlciAuLWNcXDpiMmgge1xuICBjb2xvcjogdmFyKC0tY19iMik7XG59XG5cbi4tY1xcOmIydCwgYS4tY1xcOmIydGg6aG92ZXIsIGE6aG92ZXIgLi1jXFw6YjJ0aCB7XG4gIGNvbG9yOiB2YXIoLS1jX2IydCk7XG59XG5cbi4tY1xcOmIzLCBhLi1jXFw6YjNoOmhvdmVyLCBhOmhvdmVyIC4tY1xcOmIzaCB7XG4gIGNvbG9yOiB2YXIoLS1jX2IzKTtcbn1cblxuLi1jXFw6YjN0LCBhLi1jXFw6YjN0aDpob3ZlciwgYTpob3ZlciAuLWNcXDpiM3RoIHtcbiAgY29sb3I6IHZhcigtLWNfYjN0KTtcbn1cblxuLi1jXFw6YjQsIGEuLWNcXDpiNGg6aG92ZXIsIGE6aG92ZXIgLi1jXFw6YjRoIHtcbiAgY29sb3I6IHZhcigtLWNfYjQpO1xufVxuXG4uLWNcXDpiNHQsIGEuLWNcXDpiNHRoOmhvdmVyLCBhOmhvdmVyIC4tY1xcOmI0dGgge1xuICBjb2xvcjogdmFyKC0tY19iNHQpO1xufVxuXG4uLWNcXDpiNSwgYS4tY1xcOmI1aDpob3ZlciwgYTpob3ZlciAuLWNcXDpiNWgge1xuICBjb2xvcjogdmFyKC0tY19iNSk7XG59XG5cbi4tY1xcOmI1dCwgYS4tY1xcOmI1dGg6aG92ZXIsIGE6aG92ZXIgLi1jXFw6YjV0aCB7XG4gIGNvbG9yOiB2YXIoLS1jX2I1dCk7XG59XG5cbi4tY1xcOmI2LCBhLi1jXFw6YjZoOmhvdmVyLCBhOmhvdmVyIC4tY1xcOmI2aCB7XG4gIGNvbG9yOiB2YXIoLS1jX2I2KTtcbn1cblxuLi1jXFw6YjZ0LCBhLi1jXFw6YjZ0aDpob3ZlciwgYTpob3ZlciAuLWNcXDpiNnRoIHtcbiAgY29sb3I6IHZhcigtLWNfYjZ0KTtcbn1cblxuLi1jXFw6bzEsIGEuLWNcXDpvMWg6aG92ZXIsIGE6aG92ZXIgLi1jXFw6bzFoIHtcbiAgY29sb3I6IHZhcigtLWNfbzEpO1xufVxuXG4uLWNcXDpvMXQsIGEuLWNcXDpvMXRoOmhvdmVyLCBhOmhvdmVyIC4tY1xcOm8xdGgge1xuICBjb2xvcjogdmFyKC0tY19vMXQpO1xufVxuXG4uLWNcXDpvMiwgYS4tY1xcOm8yaDpob3ZlciwgYTpob3ZlciAuLWNcXDpvMmgge1xuICBjb2xvcjogdmFyKC0tY19vMik7XG59XG5cbi4tY1xcOm8ydCwgYS4tY1xcOm8ydGg6aG92ZXIsIGE6aG92ZXIgLi1jXFw6bzJ0aCB7XG4gIGNvbG9yOiB2YXIoLS1jX28ydCk7XG59XG5cbi4tY1xcOm8zLCBhLi1jXFw6bzNoOmhvdmVyLCBhOmhvdmVyIC4tY1xcOm8zaCB7XG4gIGNvbG9yOiB2YXIoLS1jX28zKTtcbn1cblxuLi1jXFw6bzN0LCBhLi1jXFw6bzN0aDpob3ZlciwgYTpob3ZlciAuLWNcXDpvM3RoIHtcbiAgY29sb3I6IHZhcigtLWNfbzN0KTtcbn1cblxuLi1jXFw6ZTEsIGEuLWNcXDplMWg6aG92ZXIsIGE6aG92ZXIgLi1jXFw6ZTFoIHtcbiAgY29sb3I6IHZhcigtLWNfZTEpO1xufVxuXG4uLWNcXDplMXQsIGEuLWNcXDplMXRoOmhvdmVyLCBhOmhvdmVyIC4tY1xcOmUxdGgge1xuICBjb2xvcjogdmFyKC0tY19lMXQpO1xufVxuXG4uLWNcXDppIHtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi4tY1xcOnUge1xuICBjb2xvcjogdW5zZXQ7XG59XG5cbi4tY1xcOnQge1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qIHNwZWNpYWwgYmFja2dyb3VuZHMgKi9cbkBtZWRpYSBzY3JlZW4ge1xuICAuLWJnXFw6MWIge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgdmFyKC0tYmdjLCAjRDVFQkY0KSk7XG4gIH1cbiAgLi1iZ1xcOjF0IHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tYmdjLCAjRDVFQkY0KSwgdHJhbnNwYXJlbnQgMzByZW0pO1xuICB9XG4gIC4tYmdcXDoxYyB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50LCB2YXIoLS1iZ2MsICNENUVCRjQpLCB0cmFuc3BhcmVudCk7XG4gIH1cbn1cbi8qIGJvcmRlci1yYWRpdXMgKi9cbi4tYnJcXDoxIHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnJfMSk7XG59XG5cbi4tYnJcXDoyIHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnJfMik7XG59XG5cbi8qIGNvbG9yIHNjaGVtZXMgKi9cbkBtZWRpYSBzY3JlZW4ge1xuICAuLWNzXFw6aSwgYS4tY3NcXDppaDpob3ZlciwgYTpob3ZlciAuLWNzXFw6aWgsIFtob3Zlcl0gLi1jc1xcOmloIHtcbiAgICAtLWNfZHh0OiB2YXIoLS1jX2l4KTtcbiAgICAtLWNfZDF0OiB2YXIoLS1jX2kxKTtcbiAgICAtLWNfZDJ0OiB2YXIoLS1jX2kyKTtcbiAgICAtLWNfaXh0OiB2YXIoLS1jX2R4KTtcbiAgICAtLWNfaTF0OiB2YXIoLS1jX2QxKTtcbiAgICAtLWNfaTJ0OiB2YXIoLS1jX2QyKTtcbiAgICAtLWNfYjF0OiB2YXIoLS1jX2QxKTtcbiAgICAtLWNfYjJ0OiB2YXIoLS1jX2QyKTtcbiAgICAtLWNfbzF0OiByZ2JhKHZhcigtLWNfZHh0KSwwLjIpO1xuICAgIC0tY19vMnQ6IHJnYmEodmFyKC0tY19keHQpLDAuNCk7XG4gICAgLS1jX2UxdDogI0ZGMzkzOTtcbiAgICAtLWNfZTJ0OiB2YXIoLS1jX2UxdCk7XG4gIH1cbiAgLi1jc1xcOmExLCBhLi1jc1xcOmExaDpob3ZlciwgYTpob3ZlciAuLWNzXFw6YTFoLCBbaG92ZXJdIC4tY3NcXDphMWgge1xuICAgIC0tY19iMXQ6IHZhcigtLWNfYTEpO1xuICAgIC0tY19hMXQ6IHZhcigtLWNfaTEpO1xuICB9XG4gIC4tY3NcXDpiNCwgYS4tY3NcXDpiNGg6aG92ZXIsIGE6aG92ZXIgLi1jc1xcOmI0aCB7XG4gICAgLS1jX2IxdDogdmFyKC0tY19iNCk7XG4gIH1cbiAgLi1jc1xcOmI1LCBhLi1jc1xcOmI1aDpob3ZlciwgYTpob3ZlciAuLWNzXFw6YjVoIHtcbiAgICAtLWNfYjF0OiB2YXIoLS1jX2I1KTtcbiAgfVxuICAuLWNzXFw6biwgYS4tY3NcXDpuaDpob3ZlciwgYTpob3ZlciAuLWNzXFw6bmgge1xuICAgIC0tY19keHQ6IHZhcigtLWNfZHgpO1xuICAgIC0tY19kMXQ6IHZhcigtLWNfZDEpO1xuICAgIC0tY19kMnQ6IHZhcigtLWNfZDIpO1xuICAgIC0tY19peHQ6IHZhcigtLWNfaXgpO1xuICAgIC0tY19pMXQ6IHZhcigtLWNfaTEpO1xuICAgIC0tY19pMnQ6IHZhcigtLWNfaTIpO1xuICAgIC0tY19iMXQ6IHZhcigtLWNfYjEpO1xuICAgIC0tY19iMnQ6IHZhcigtLWNfYjIpO1xuICAgIC0tY19vMXQ6IHZhcigtLWNfbzEpO1xuICAgIC0tY19vMnQ6IHZhcigtLWNfbzIpO1xuICAgIC0tY19lMXQ6IHZhcigtLWNfZTEpO1xuICAgIC0tY19lMnQ6IHZhcigtLWNfZTIpO1xuICB9XG59XG4vKiBvcGFjaXR5ICovXG4uLW9wXFw6MCB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi4tb3BcXDoxIHtcbiAgb3BhY2l0eTogMC4xO1xufVxuXG4uLW9wXFw6MiB7XG4gIG9wYWNpdHk6IDAuMjtcbn1cblxuLi1vcFxcOjMge1xuICBvcGFjaXR5OiAwLjM7XG59XG5cbi4tb3BcXDo0IHtcbiAgb3BhY2l0eTogMC40O1xufVxuXG4uLW9wXFw6NSB7XG4gIG9wYWNpdHk6IDAuNTtcbn1cblxuLi1vcFxcOjYge1xuICBvcGFjaXR5OiAwLjY7XG59XG5cbi4tb3BcXDo3IHtcbiAgb3BhY2l0eTogMC43O1xufVxuXG4uLW9wXFw6OCB7XG4gIG9wYWNpdHk6IDAuODtcbn1cblxuLi1vcFxcOjkge1xuICBvcGFjaXR5OiAwLjk7XG59XG5cbi4tb3BcXDpuIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLyogZmFtaWxpZXMgKi9cbi4tZmZcXDoxIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZmXzEpO1xufVxuXG4uLWZmXFw6MiB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mZl8yKTtcbn1cblxuLyogd2VpZ2h0cyAqL1xuLi1md1xcOjQsIC4tZndcXDpuIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLi1md1xcOjUsIC4tZndcXDptIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLi1md1xcOjYsIC4tZndcXDpzIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLi1md1xcOjcsIC4tZndcXDpiIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLi1md1xcOjgsIC4tZndcXDp4IHtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbn1cblxuLi1md1xcOml4LCAuLWZ3XFw6aSB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xufVxuXG4vKiBsaW5lLWhlaWdodHMgKi9cbi4tbGhcXDowIHtcbiAgLS1saDogMS4wO1xufVxuXG4uLWxoXFw6MSB7XG4gIC0tbGg6IDEuMTtcbn1cblxuLi1saFxcOjIge1xuICAtLWxoOiAxLjI7XG59XG5cbi4tbGhcXDozIHtcbiAgLS1saDogMS4zO1xufVxuXG4uLWxoXFw6NCB7XG4gIC0tbGg6IDEuNDtcbn1cblxuLi1saFxcOjUge1xuICAtLWxoOiAxLjU7XG59XG5cbi8qIGZvbnQtc2l6ZSAqL1xuLi1mc1xcOjExIHtcbiAgZm9udC1zaXplOiAxLjFlbTtcbn1cblxuLi1mc1xcOjEyIHtcbiAgZm9udC1zaXplOiAxLjJlbTtcbn1cblxuLi1mc1xcOjEzIHtcbiAgZm9udC1zaXplOiAxLjNlbTtcbn1cblxuLi1mc1xcOjE0IHtcbiAgZm9udC1zaXplOiAxLjRlbTtcbn1cblxuLi1mc1xcOjE1IHtcbiAgZm9udC1zaXplOiAxLjVlbTtcbn1cblxuLyogYmFzaWMgY3NzICovXG4uLXRhXFw6bCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi4tdGFcXDpjIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uLXRhXFw6ciB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uLXR0XFw6biB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4uLXR0XFw6bCB7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG59XG5cbi4tdHRcXDp1IHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLi11c1xcOm4sIFt0b2dnbGVdLCBbY2xpY2thYmxlXSB7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC4tdGFcXDpsXFw8bCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICAuLXRhXFw6Y1xcPGwge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAuLXRhXFw6clxcPGwge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG59XG4vKiAgICBfX19fXyAgXyAgICBfIF9fX19fX18gIF9fX19fXyAgX19fX19fIF9fX19fIF9fX19fXyAgX19fX19fXyBfX19fX19fXG4gKiAgIHwgICAgIHwgIFxcICAvICB8X19fX19fIHxfX19fXy8gfF9fX19fLyAgIHwgICB8ICAgICBcXCB8X19fX19fIHxfX19fX19cbiAqICAgfF9fX19ffCAgIFxcLyAgIHxfX19fX18gfCAgICBcXF8gfCAgICBcXF8gX198X18gfF9fX19fLyB8X19fX19fIF9fX19fX3xcbiovXG5bc3R5bGUqPVwiLS1vZnM6XCJdIHtcbiAgZm9udC1zaXplOiB2YXIoLS1vZnMpO1xufVxuXG5bc3R5bGUqPVwiLS1vbGg6XCJdIHtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLW9saCk7XG59XG5cbltzdHlsZSo9XCItLW9tdDpcIl0sIFtzdHlsZSo9XCItLW9teTpcIl0sIFtzdHlsZSo9XCItLW9tYTpcIl0ge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1vbXQsIHZhcigtLW9teSwgdmFyKC0tb21hKSkpO1xufVxuXG5bc3R5bGUqPVwiLS1vbWI6XCJdLCBbc3R5bGUqPVwiLS1vbXk6XCJdLCBbc3R5bGUqPVwiLS1vbWE6XCJdIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tb21iLCB2YXIoLS1vbXksIHZhcigtLW9tYSkpKTtcbn1cblxuW3N0eWxlKj1cIi0tb21sOlwiXSwgW3N0eWxlKj1cIi0tb214OlwiXSwgW3N0eWxlKj1cIi0tb21hOlwiXSB7XG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1vbWwsIHZhcigtLW9teCwgdmFyKC0tb21hKSkpO1xufVxuXG5bc3R5bGUqPVwiLS1vbXI6XCJdLCBbc3R5bGUqPVwiLS1vbXg6XCJdLCBbc3R5bGUqPVwiLS1vbWE6XCJdIHtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1vbXIsIHZhcigtLW9teCwgdmFyKC0tb21hKSkpO1xufVxuXG5bc3R5bGUqPVwiLS1vcHQ6XCJdLCBbc3R5bGUqPVwiLS1vcHk6XCJdLCBbc3R5bGUqPVwiLS1vcGE6XCJdIHtcbiAgcGFkZGluZy10b3A6IHZhcigtLW9wdCwgdmFyKC0tb3B5LCB2YXIoLS1vcGEpKSk7XG59XG5cbltzdHlsZSo9XCItLW9wYjpcIl0sIFtzdHlsZSo9XCItLW9weTpcIl0sIFtzdHlsZSo9XCItLW9wYTpcIl0ge1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tb3BiLCB2YXIoLS1vcHksIHZhcigtLW9wYSkpKTtcbn1cblxuW3N0eWxlKj1cIi0tb3BsOlwiXSwgW3N0eWxlKj1cIi0tb3B4OlwiXSwgW3N0eWxlKj1cIi0tb3BhOlwiXSB7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tb3BsLCB2YXIoLS1vcHgsIHZhcigtLW9wYSkpKTtcbn1cblxuW3N0eWxlKj1cIi0tb3ByOlwiXSwgW3N0eWxlKj1cIi0tb3B4OlwiXSwgW3N0eWxlKj1cIi0tb3BhOlwiXSB7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLW9wciwgdmFyKC0tb3B4LCB2YXIoLS1vcGEpKSk7XG59XG5cbltzdHlsZSo9XCItLW93eDpcIl0ge1xuICBtYXgtd2lkdGg6IHZhcigtLW93eCk7XG59XG5cbltzdHlsZSo9XCItLW93bjpcIl0ge1xuICBtaW4td2lkdGg6IHZhcigtLW93bik7XG59XG5cbltzdHlsZSo9XCItLW9oeDpcIl0ge1xuICBtYXgtaGVpZ2h0OiB2YXIoLS1vaHgpO1xufVxuXG5bc3R5bGUqPVwiLS1vaG46XCJdIHtcbiAgbWluLWhlaWdodDogdmFyKC0tb2huKTtcbn1cblxuW3N0eWxlKj1cIi0tb2FsOlwiXSB7XG4gIGxlZnQ6IHZhcigtLW9hbCk7XG59XG5cbltzdHlsZSo9XCItLW9hcjpcIl0ge1xuICByaWdodDogdmFyKC0tb2FyKTtcbn1cblxuW3N0eWxlKj1cIi0tb2F0OlwiXSB7XG4gIHRvcDogdmFyKC0tb2F0KTtcbn1cblxuW3N0eWxlKj1cIi0tb2FiOlwiXSB7XG4gIGJvdHRvbTogdmFyKC0tb2FiKTtcbn1cblxuQG1lZGlhIHByaW50LCAobWluLXdpZHRoOiA3MjBweCkge1xuICBbc3R5bGUqPVwiLS1vZ3hhczpcIl0ge1xuICAgIC0tZ3g6IHZhcigtLW9neGFzKTtcbiAgfVxuICBbc3R5bGUqPVwiLS1vZ3lhczpcIl0ge1xuICAgIC0tZ3k6IHZhcigtLW9neWFzKTtcbiAgfVxuICBbc3R5bGUqPVwiLS1vZnNhczpcIl0ge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tb2ZzYXMpO1xuICB9XG4gIFtzdHlsZSo9XCItLW9saGFzOlwiXSB7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLW9saGFzKTtcbiAgfVxuICBbc3R5bGUqPVwiLS1vbXRhczpcIl0sIFtzdHlsZSo9XCItLW9teWFzOlwiXSwgW3N0eWxlKj1cIi0tb21hYXM6XCJdIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1vbXRhcywgdmFyKC0tb215YXMsIHZhcigtLW9tYWFzKSkpO1xuICB9XG4gIFtzdHlsZSo9XCItLW9tYmFzOlwiXSwgW3N0eWxlKj1cIi0tb215YXM6XCJdLCBbc3R5bGUqPVwiLS1vbWFhczpcIl0ge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLW9tYmFzLCB2YXIoLS1vbXlhcywgdmFyKC0tb21hYXMpKSk7XG4gIH1cbiAgW3N0eWxlKj1cIi0tb21sYXM6XCJdLCBbc3R5bGUqPVwiLS1vbXhhczpcIl0sIFtzdHlsZSo9XCItLW9tYWFzOlwiXSB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLW9tbGFzLCB2YXIoLS1vbXhhcywgdmFyKC0tb21hYXMpKSk7XG4gIH1cbiAgW3N0eWxlKj1cIi0tb21yYXM6XCJdLCBbc3R5bGUqPVwiLS1vbXhhczpcIl0sIFtzdHlsZSo9XCItLW9tYWFzOlwiXSB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1vbXJhcywgdmFyKC0tb214YXMsIHZhcigtLW9tYWFzKSkpO1xuICB9XG4gIFtzdHlsZSo9XCItLW9wdGFzOlwiXSwgW3N0eWxlKj1cIi0tb3B5YXM6XCJdLCBbc3R5bGUqPVwiLS1vcGFhczpcIl0ge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1vcHRhcywgdmFyKC0tb3B5YXMsIHZhcigtLW9wYWFzKSkpO1xuICB9XG4gIFtzdHlsZSo9XCItLW9wYmFzOlwiXSwgW3N0eWxlKj1cIi0tb3B5YXM6XCJdLCBbc3R5bGUqPVwiLS1vcGFhczpcIl0ge1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1vcGJhcywgdmFyKC0tb3B5YXMsIHZhcigtLW9wYWFzKSkpO1xuICB9XG4gIFtzdHlsZSo9XCItLW9wbGFzOlwiXSwgW3N0eWxlKj1cIi0tb3B4YXM6XCJdLCBbc3R5bGUqPVwiLS1vcGFhczpcIl0ge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tb3BsYXMsIHZhcigtLW9weGFzLCB2YXIoLS1vcGFhcykpKTtcbiAgfVxuICBbc3R5bGUqPVwiLS1vcHJhczpcIl0sIFtzdHlsZSo9XCItLW9weGFzOlwiXSwgW3N0eWxlKj1cIi0tb3BhYXM6XCJdIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1vcHJhcywgdmFyKC0tb3B4YXMsIHZhcigtLW9wYWFzKSkpO1xuICB9XG4gIFtzdHlsZSo9XCItLW93eGFzOlwiXSB7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1vd3hhcyk7XG4gIH1cbiAgW3N0eWxlKj1cIi0tb3duYXM6XCJdIHtcbiAgICBtaW4td2lkdGg6IHZhcigtLW93bmFzKTtcbiAgfVxuICBbc3R5bGUqPVwiLS1vaHhhczpcIl0ge1xuICAgIG1heC1oZWlnaHQ6IHZhcigtLW9oeGFzKTtcbiAgfVxuICBbc3R5bGUqPVwiLS1vaG5hczpcIl0ge1xuICAgIG1pbi1oZWlnaHQ6IHZhcigtLW9obmFzKTtcbiAgfVxuICBbc3R5bGUqPVwiLS1vYWxhczpcIl0ge1xuICAgIGxlZnQ6IHZhcigtLW9hbGFzKTtcbiAgfVxuICBbc3R5bGUqPVwiLS1vYXJhczpcIl0ge1xuICAgIHJpZ2h0OiB2YXIoLS1vYXJhcyk7XG4gIH1cbiAgW3N0eWxlKj1cIi0tb2F0YXM6XCJdIHtcbiAgICB0b3A6IHZhcigtLW9hdGFzKTtcbiAgfVxuICBbc3R5bGUqPVwiLS1vYWJhczpcIl0ge1xuICAgIGJvdHRvbTogdmFyKC0tb2FiYXMpO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIChtaW4td2lkdGg6IDEwMjRweCkge1xuICBbc3R5bGUqPVwiLS1vZ3hhbTpcIl0ge1xuICAgIC0tZ3g6IHZhcigtLW9neGFtKTtcbiAgfVxuICBbc3R5bGUqPVwiLS1vZ3lhbTpcIl0ge1xuICAgIC0tZ3k6IHZhcigtLW9neWFtKTtcbiAgfVxuICBbc3R5bGUqPVwiLS1vZnNhbTpcIl0ge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tb2ZzYW0pO1xuICB9XG4gIFtzdHlsZSo9XCItLW9saGFtOlwiXSB7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLW9saGFtKTtcbiAgfVxuICBbc3R5bGUqPVwiLS1vbXRhbTpcIl0sIFtzdHlsZSo9XCItLW9teWFtOlwiXSwgW3N0eWxlKj1cIi0tb21hYW06XCJdIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1vbXRhbSwgdmFyKC0tb215YW0sIHZhcigtLW9tYWFtKSkpO1xuICB9XG4gIFtzdHlsZSo9XCItLW9tYmFtOlwiXSwgW3N0eWxlKj1cIi0tb215YW06XCJdLCBbc3R5bGUqPVwiLS1vbWFhbTpcIl0ge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLW9tYmFtLCB2YXIoLS1vbXlhbSwgdmFyKC0tb21hYW0pKSk7XG4gIH1cbiAgW3N0eWxlKj1cIi0tb21sYW06XCJdLCBbc3R5bGUqPVwiLS1vbXhhbTpcIl0sIFtzdHlsZSo9XCItLW9tYWFtOlwiXSB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLW9tbGFtLCB2YXIoLS1vbXhhbSwgdmFyKC0tb21hYW0pKSk7XG4gIH1cbiAgW3N0eWxlKj1cIi0tb21yYW06XCJdLCBbc3R5bGUqPVwiLS1vbXhhbTpcIl0sIFtzdHlsZSo9XCItLW9tYWFtOlwiXSB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1vbXJhbSwgdmFyKC0tb214YW0sIHZhcigtLW9tYWFtKSkpO1xuICB9XG4gIFtzdHlsZSo9XCItLW9wdGFtOlwiXSwgW3N0eWxlKj1cIi0tb3B5YW06XCJdLCBbc3R5bGUqPVwiLS1vcGFhbTpcIl0ge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1vcHRhbSwgdmFyKC0tb3B5YW0sIHZhcigtLW9wYWFtKSkpO1xuICB9XG4gIFtzdHlsZSo9XCItLW9wYmFtOlwiXSwgW3N0eWxlKj1cIi0tb3B5YW06XCJdLCBbc3R5bGUqPVwiLS1vcGFhbTpcIl0ge1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1vcGJhbSwgdmFyKC0tb3B5YW0sIHZhcigtLW9wYWFtKSkpO1xuICB9XG4gIFtzdHlsZSo9XCItLW9wbGFtOlwiXSwgW3N0eWxlKj1cIi0tb3B4YW06XCJdLCBbc3R5bGUqPVwiLS1vcGFhbTpcIl0ge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tb3BsYW0sIHZhcigtLW9weGFtLCB2YXIoLS1vcGFhbSkpKTtcbiAgfVxuICBbc3R5bGUqPVwiLS1vcHJhbTpcIl0sIFtzdHlsZSo9XCItLW9weGFtOlwiXSwgW3N0eWxlKj1cIi0tb3BhYW06XCJdIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1vcHJhbSwgdmFyKC0tb3B4YW0sIHZhcigtLW9wYWFtKSkpO1xuICB9XG4gIFtzdHlsZSo9XCItLW93eGFtOlwiXSB7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1vd3hhbSk7XG4gIH1cbiAgW3N0eWxlKj1cIi0tb3duYW06XCJdIHtcbiAgICBtaW4td2lkdGg6IHZhcigtLW93bmFtKTtcbiAgfVxuICBbc3R5bGUqPVwiLS1vaHhhbTpcIl0ge1xuICAgIG1heC1oZWlnaHQ6IHZhcigtLW9oeGFtKTtcbiAgfVxuICBbc3R5bGUqPVwiLS1vaG5hbTpcIl0ge1xuICAgIG1pbi1oZWlnaHQ6IHZhcigtLW9obmFtKTtcbiAgfVxuICBbc3R5bGUqPVwiLS1vYWxhbTpcIl0ge1xuICAgIGxlZnQ6IHZhcigtLW9hbGFtKTtcbiAgfVxuICBbc3R5bGUqPVwiLS1vYXJhbTpcIl0ge1xuICAgIHJpZ2h0OiB2YXIoLS1vYXJhbSk7XG4gIH1cbiAgW3N0eWxlKj1cIi0tb2F0YW06XCJdIHtcbiAgICB0b3A6IHZhcigtLW9hdGFtKTtcbiAgfVxuICBbc3R5bGUqPVwiLS1vYWJhbTpcIl0ge1xuICAgIGJvdHRvbTogdmFyKC0tb2FiYW0pO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgW3N0eWxlKj1cIi0tb2d4Ymw6XCJdIHtcbiAgICAtLWd4OiB2YXIoLS1vZ3hibCk7XG4gIH1cbiAgW3N0eWxlKj1cIi0tb2d5Ymw6XCJdIHtcbiAgICAtLWd5OiB2YXIoLS1vZ3libCk7XG4gIH1cbiAgW3N0eWxlKj1cIi0tb2ZzYmw6XCJdIHtcbiAgICBmb250LXNpemU6IHZhcigtLW9mc2JsKTtcbiAgfVxuICBbc3R5bGUqPVwiLS1vbGhibDpcIl0ge1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1vbGhibCk7XG4gIH1cbiAgW3N0eWxlKj1cIi0tb210Ymw6XCJdLCBbc3R5bGUqPVwiLS1vbXlibDpcIl0sIFtzdHlsZSo9XCItLW9tYWJsOlwiXSB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tb210YmwsIHZhcigtLW9teWJsLCB2YXIoLS1vbWFibCkpKTtcbiAgfVxuICBbc3R5bGUqPVwiLS1vbWJibDpcIl0sIFtzdHlsZSo9XCItLW9teWJsOlwiXSwgW3N0eWxlKj1cIi0tb21hYmw6XCJdIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1vbWJibCwgdmFyKC0tb215YmwsIHZhcigtLW9tYWJsKSkpO1xuICB9XG4gIFtzdHlsZSo9XCItLW9tbGJsOlwiXSwgW3N0eWxlKj1cIi0tb214Ymw6XCJdLCBbc3R5bGUqPVwiLS1vbWFibDpcIl0ge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1vbWxibCwgdmFyKC0tb214YmwsIHZhcigtLW9tYWJsKSkpO1xuICB9XG4gIFtzdHlsZSo9XCItLW9tcmJsOlwiXSwgW3N0eWxlKj1cIi0tb214Ymw6XCJdLCBbc3R5bGUqPVwiLS1vbWFibDpcIl0ge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tb21yYmwsIHZhcigtLW9teGJsLCB2YXIoLS1vbWFibCkpKTtcbiAgfVxuICBbc3R5bGUqPVwiLS1vcHRibDpcIl0sIFtzdHlsZSo9XCItLW9weWJsOlwiXSwgW3N0eWxlKj1cIi0tb3BhYmw6XCJdIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tb3B0YmwsIHZhcigtLW9weWJsLCB2YXIoLS1vcGFibCkpKTtcbiAgfVxuICBbc3R5bGUqPVwiLS1vcGJibDpcIl0sIFtzdHlsZSo9XCItLW9weWJsOlwiXSwgW3N0eWxlKj1cIi0tb3BhYmw6XCJdIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tb3BiYmwsIHZhcigtLW9weWJsLCB2YXIoLS1vcGFibCkpKTtcbiAgfVxuICBbc3R5bGUqPVwiLS1vcGxibDpcIl0sIFtzdHlsZSo9XCItLW9weGJsOlwiXSwgW3N0eWxlKj1cIi0tb3BhYmw6XCJdIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLW9wbGJsLCB2YXIoLS1vcHhibCwgdmFyKC0tb3BhYmwpKSk7XG4gIH1cbiAgW3N0eWxlKj1cIi0tb3ByYmw6XCJdLCBbc3R5bGUqPVwiLS1vcHhibDpcIl0sIFtzdHlsZSo9XCItLW9wYWJsOlwiXSB7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tb3ByYmwsIHZhcigtLW9weGJsLCB2YXIoLS1vcGFibCkpKTtcbiAgfVxuICBbc3R5bGUqPVwiLS1vd3hibDpcIl0ge1xuICAgIG1heC13aWR0aDogdmFyKC0tb3d4YmwpO1xuICB9XG4gIFtzdHlsZSo9XCItLW93bmJsOlwiXSB7XG4gICAgbWluLXdpZHRoOiB2YXIoLS1vd25ibCk7XG4gIH1cbiAgW3N0eWxlKj1cIi0tb2h4Ymw6XCJdIHtcbiAgICBtYXgtaGVpZ2h0OiB2YXIoLS1vaHhibCk7XG4gIH1cbiAgW3N0eWxlKj1cIi0tb2huYmw6XCJdIHtcbiAgICBtaW4taGVpZ2h0OiB2YXIoLS1vaG5ibCk7XG4gIH1cbiAgW3N0eWxlKj1cIi0tb2FsYmw6XCJdIHtcbiAgICBsZWZ0OiB2YXIoLS1vYWxibCk7XG4gIH1cbiAgW3N0eWxlKj1cIi0tb2FyYmw6XCJdIHtcbiAgICByaWdodDogdmFyKC0tb2FyYmwpO1xuICB9XG4gIFtzdHlsZSo9XCItLW9hdGJsOlwiXSB7XG4gICAgdG9wOiB2YXIoLS1vYXRibCk7XG4gIH1cbiAgW3N0eWxlKj1cIi0tb2FiYmw6XCJdIHtcbiAgICBib3R0b206IHZhcigtLW9hYmJsKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzE5cHgpIHtcbiAgW3N0eWxlKj1cIi0tb2d4Ym06XCJdIHtcbiAgICAtLWd4OiB2YXIoLS1vZ3hibSk7XG4gIH1cbiAgW3N0eWxlKj1cIi0tb2d5Ym06XCJdIHtcbiAgICAtLWd5OiB2YXIoLS1vZ3libSkgO1xuICB9XG4gIFtzdHlsZSo9XCItLW9mc2JtOlwiXSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1vZnNibSk7XG4gIH1cbiAgW3N0eWxlKj1cIi0tb2xzYm06XCJdIHtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tb2xoYm0pO1xuICB9XG4gIFtzdHlsZSo9XCItLW9tdGJtOlwiXSwgW3N0eWxlKj1cIi0tb215Ym06XCJdLCBbc3R5bGUqPVwiLS1vbWFibTpcIl0ge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLW9tdGJtLCB2YXIoLS1vbXlibSwgdmFyKC0tb21hYm0pKSk7XG4gIH1cbiAgW3N0eWxlKj1cIi0tb21iYm06XCJdLCBbc3R5bGUqPVwiLS1vbXlibTpcIl0sIFtzdHlsZSo9XCItLW9tYWJtOlwiXSB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tb21iYm0sIHZhcigtLW9teWJtLCB2YXIoLS1vbWFibSkpKTtcbiAgfVxuICBbc3R5bGUqPVwiLS1vbWxibTpcIl0sIFtzdHlsZSo9XCItLW9teGJtOlwiXSwgW3N0eWxlKj1cIi0tb21hYm06XCJdIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tb21sYm0sIHZhcigtLW9teGJtLCB2YXIoLS1vbWFibSkpKTtcbiAgfVxuICBbc3R5bGUqPVwiLS1vbXJibTpcIl0sIFtzdHlsZSo9XCItLW9teGJtOlwiXSwgW3N0eWxlKj1cIi0tb21hYm06XCJdIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLW9tcmJtLCB2YXIoLS1vbXhibSwgdmFyKC0tb21hYm0pKSk7XG4gIH1cbiAgW3N0eWxlKj1cIi0tb3B0Ym06XCJdLCBbc3R5bGUqPVwiLS1vcHlibTpcIl0sIFtzdHlsZSo9XCItLW9wYWJtOlwiXSB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLW9wdGJtLCB2YXIoLS1vcHlibSwgdmFyKC0tb3BhYm0pKSk7XG4gIH1cbiAgW3N0eWxlKj1cIi0tb3BiYm06XCJdLCBbc3R5bGUqPVwiLS1vcHlibTpcIl0sIFtzdHlsZSo9XCItLW9wYWJtOlwiXSB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLW9wYmJtLCB2YXIoLS1vcHlibSwgdmFyKC0tb3BhYm0pKSk7XG4gIH1cbiAgW3N0eWxlKj1cIi0tb3BsYm06XCJdLCBbc3R5bGUqPVwiLS1vcHhibTpcIl0sIFtzdHlsZSo9XCItLW9wYWJtOlwiXSB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1vcGxibSwgdmFyKC0tb3B4Ym0sIHZhcigtLW9wYWJtKSkpO1xuICB9XG4gIFtzdHlsZSo9XCItLW9wcmJtOlwiXSwgW3N0eWxlKj1cIi0tb3B4Ym06XCJdLCBbc3R5bGUqPVwiLS1vcGFibTpcIl0ge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLW9wcmJtLCB2YXIoLS1vcHhibSwgdmFyKC0tb3BhYm0pKSk7XG4gIH1cbiAgW3N0eWxlKj1cIi0tb3d4Ym06XCJdIHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLW93eGJtKTtcbiAgfVxuICBbc3R5bGUqPVwiLS1vd25ibTpcIl0ge1xuICAgIG1pbi13aWR0aDogdmFyKC0tb3duYm0pO1xuICB9XG4gIFtzdHlsZSo9XCItLW9oeGJtOlwiXSB7XG4gICAgbWF4LWhlaWdodDogdmFyKC0tb2h4Ym0pO1xuICB9XG4gIFtzdHlsZSo9XCItLW9obmJtOlwiXSB7XG4gICAgbWluLWhlaWdodDogdmFyKC0tb2huYm0pO1xuICB9XG4gIFtzdHlsZSo9XCItLW9hbGJtOlwiXSB7XG4gICAgbGVmdDogdmFyKC0tb2FsYm0pO1xuICB9XG4gIFtzdHlsZSo9XCItLW9hcmJtOlwiXSB7XG4gICAgcmlnaHQ6IHZhcigtLW9hcmJtKTtcbiAgfVxuICBbc3R5bGUqPVwiLS1vYXRibTpcIl0ge1xuICAgIHRvcDogdmFyKC0tb2F0Ym0pO1xuICB9XG4gIFtzdHlsZSo9XCItLW9hYmJtOlwiXSB7XG4gICAgYm90dG9tOiB2YXIoLS1vYWJibSk7XG4gIH1cbn1cbi8qICAgXyAgICAgIF9fX19fIF9fX19fXyAgX19fX19fX1xuICogICB8ICAgICAgICB8ICAgfF9fX19fXSB8X19fX19fXG4gKiAgIHxfX19fXyBfX3xfXyB8X19fX19dIF9fX19fX3xcbi8qXG5cbi8qIHRpbnlzbGlkZXIgKi9cbi50bnMtb3V0ZXIge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG5cbi50bnMtb3V0ZXIgW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi50bnMtb3V0ZXIgW2FyaWEtY29udHJvbHNdLCAudG5zLW91dGVyIFtkYXRhLWFjdGlvbl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi50bnMtc2xpZGVyIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMHM7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDBzO1xuICB0cmFuc2l0aW9uOiBhbGwgMHM7XG59XG5cbi50bnMtc2xpZGVyID4gLnRucy1pdGVtIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi50bnMtaG9yaXpvbnRhbC50bnMtc3VicGl4ZWwge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udG5zLWhvcml6b250YWwudG5zLXN1YnBpeGVsID4gLnRucy1pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuXG4udG5zLWhvcml6b250YWwudG5zLW5vLXN1YnBpeGVsOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4udG5zLWhvcml6b250YWwudG5zLW5vLXN1YnBpeGVsID4gLnRucy1pdGVtIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi50bnMtaG9yaXpvbnRhbC50bnMtY2Fyb3VzZWwudG5zLW5vLXN1YnBpeGVsID4gLnRucy1pdGVtIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbn1cblxuLnRucy1uby1jYWxjIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAwO1xufVxuXG4udG5zLWdhbGxlcnkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDA7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbn1cblxuLnRucy1nYWxsZXJ5ID4gLnRucy1pdGVtIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMTAwJTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMHMsIG9wYWNpdHkgMHM7XG4gIC1tb3otdHJhbnNpdGlvbjogdHJhbnNmb3JtIDBzLCBvcGFjaXR5IDBzO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMHMsIG9wYWNpdHkgMHM7XG59XG5cbi50bnMtZ2FsbGVyeSA+IC50bnMtc2xpZGUtYWN0aXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi50bnMtZ2FsbGVyeSA+IC50bnMtbW92aW5nIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4yNXM7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMjVzO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXM7XG59XG5cbi50bnMtYXV0b3dpZHRoIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4udG5zLWxhenktaW1nIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7XG4gIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7XG4gIG9wYWNpdHk6IDAuNjtcbn1cblxuLnRucy1sYXp5LWltZy50bnMtY29tcGxldGUge1xuICBvcGFjaXR5OiAxO1xufVxuXG4udG5zLWFoIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBoZWlnaHQgMHM7XG4gIC1tb3otdHJhbnNpdGlvbjogaGVpZ2h0IDBzO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMHM7XG59XG5cbi50bnMtb3ZoIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnRucy12aXN1YWxseS1oaWRkZW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC0xMDAwMGVtO1xufVxuXG4udG5zLXRyYW5zcGFyZW50IHtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4udG5zLWZhZGVJbiB7XG4gIG9wYWNpdHk6IDE7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0xMDApO1xuICB6LWluZGV4OiAwO1xufVxuXG4udG5zLW5vcm1hbCwgLnRucy1mYWRlT3V0IHtcbiAgb3BhY2l0eTogMDtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO1xuICB6LWluZGV4OiAtMTtcbn1cblxuLnRucy12cGZpeCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50bnMtdnBmaXggPiBkaXYsIC50bnMtdnBmaXggPiBsaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLnRucy10LXN1YnAyIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHdpZHRoOiAzMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDEwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi50bnMtdC1jdCB7XG4gIHdpZHRoOiAyMzMzLjMzMzMzMzMlO1xuICB3aWR0aDogLXdlYmtpdC1jYWxjKDEwMCUgKiA3MCAvIDMpO1xuICB3aWR0aDogLW1vei1jYWxjKDEwMCUgKiA3MCAvIDMpO1xuICB3aWR0aDogMjMzMy4zMzMzMzMzMzMzJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbn1cblxuLnRucy10LWN0OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4udG5zLXQtY3QgPiBkaXYge1xuICB3aWR0aDogMS40Mjg1NzE0JTtcbiAgd2lkdGg6IC13ZWJraXQtY2FsYygxMDAlIC8gNzApO1xuICB3aWR0aDogLW1vei1jYWxjKDEwMCUgLyA3MCk7XG4gIHdpZHRoOiAxLjQyODU3MTQyODYlO1xuICBoZWlnaHQ6IDEwcHg7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4vKiBsYXp5c2l6ZXMgKi9cbi5sYXp5bG9hZCwgLmxhenlsb2FkaW5nIHtcbiAgb3BhY2l0eTogMDtcbn1cblxuW2pzXSAubGF6eWxvYWRlZFtjbGFzc10ge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzO1xufVxuXG4vKiBcbiAqIFRlYWwgQWRkaXRpb25zXG4gKi9cbi52aWRlby1lbWJlZC1jYXB0aW9uIHtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbn1cblxuLyoqXG4qIEBuYW1lIC53eXNpd3lnXG4qIEBkZXNjcmlwdGlvbiBHZW5lcmljIFdZU0lXWUcgd3JhcHBlclxuKiBAZXhhbXBsZSB7IH1cbiovXG4ud3lzaXd5ZyB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4ud3lzaXd5ZyBpbWcge1xuICBoZWlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ud3lzaXd5ZyAuYWxpZ25yaWdodCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLnd5c2l3eWcgLmFsaWdubGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4ud3lzaXd5ZyAuYWxpZ25yaWdodCwgLnd5c2l3eWcgLmFsaWducmlnaHQuYWxpZ25ub25lIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tbGVmdDogdmFyKC0tc3kpO1xufVxuXG4ud3lzaXd5ZyAuYWxpZ25sZWZ0LCAud3lzaXd5ZyAuYWxpZ25sZWZ0LmFsaWdubm9uZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLXN5KTtcbn1cblxuLnd5c2l3eWcgLmFsaWduY2VudGVyLCAud3lzaXd5ZyAuYWxpZ25ub25lIHtcbiAgbWFyZ2luOiB2YXIoLS1zeSkgYXV0bztcbn1cblxuLnd5c2l3eWcgLmFsaWducmlnaHQsIC53eXNpd3lnIC5hbGlnbmxlZnQsIC53eXNpd3lnIC5hbGlnbmNlbnRlciwgLnd5c2l3eWcgLmFsaWdubm9uZSB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXN5KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3kpO1xufVxuXG4ud3lzaXd5ZyAud3AtY2FwdGlvbiB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLS1saDogMS4zMDtcbiAgZm9udDogNDAwIDEycmVtL3ZhcigtLWxoKSB2YXIoLS1mZl8yKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tczEpO1xufVxuXG4ud3lzaXd5ZyAud3AtY2FwdGlvbiBpbWcge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnd5c2l3eWcgLndwLWNhcHRpb24gcDplbXB0eSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi53eXNpd3lnLi1oYXMtZHJvcC1jYXAgcDpmaXJzdC1jaGlsZDpmaXJzdC1sZXR0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMTEuNHJlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogMCAycmVtIC0wLjI1cmVtIDA7XG4gIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjFlbTtcbiAgYm9yZGVyLWJvdHRvbTogMC40cmVtIHNvbGlkO1xuICBjb2xvcjogdmFyKC0tY19kMSk7XG4gIGZvbnQ6IDEwLjRyZW0vMC44NSB2YXIoLS1mZl8zKTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzE5cHgpIHtcbiAgLnd5c2l3eWcuLWhhcy1kcm9wLWNhcCBwOmZpcnN0LWNoaWxkOmZpcnN0LWxldHRlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjRyZW07XG4gICAgZm9udC1zaXplOiA1LjRyZW07XG4gICAgbGluZS1oZWlnaHQ6IDAuOTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgLnd5c2l3eWcgLmFsaWducmlnaHQsIC53eXNpd3lnIC5hbGlnbmxlZnQsIC53eXNpd3lnIC5hbGlnbmNlbnRlciwgLnd5c2l3eWcgLmFsaWdubm9uZSB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxufVxuLyoqXG4gKiBPdmVycmlkZSBWaXJ0dW91cyBKUyBmb3JtIGVtYmVkcyBzdHlsZXMuXG4gKi9cbmZvcm1baWQqPXZjcm1dIC52X2Z3IC52X2ZyIC52X2ZjIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuZm9ybVtpZCo9dmNybV0gLnZfZncgLnZfZnIge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5mb3JtW2lkKj12Y3JtXSAudl9sdyB7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLmNvbm5lY3QxIGZvcm1baWQqPXZjcm1dIC52X2x3IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuZm9ybVtpZCo9dmNybV0gLnZfZnIgLnZfaWcgZGl2Om5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xufVxuXG5mb3JtW2lkKj12Y3JtXSAudl9mciAudl9pZyBpbnB1dCB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFvciwgMCk7XG4gIG1pbi1oZWlnaHQ6IDQ3cHg7XG59XG5cbmZvcm1baWQqPXZjcm1dIC52X2ZyIC52X2lnIGlucHV0LnZfaV9fdHg6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM2NjY2NjY7XG4gIG9wYWNpdHk6IDE7XG59XG5cbmZvcm1baWQqPXZjcm1dIC52X2ZyIC52X2lnIGlucHV0LnZfaV9fdHg6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM2NjY2NjY7XG59XG5cbmZvcm1baWQqPXZjcm1dIC52X2ZyIC52X2lnIGlucHV0LnZfaV9fdHg6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjNjY2NjY2O1xufVxuXG5mb3JtW2lkKj12Y3JtXSAudl9pZyAuYnV0dG9uIC52LXRleHQge1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuZm9ybVtpZCo9dmNybV0gLnZfaWcgLmJ1dHRvbjpub3QoLnYtdGV4dCk6aG92ZXI6YmVmb3JlIHtcbiAgb3BhY2l0eTogMDtcbn1cblxuZm9ybVtpZCo9dmNybV0gLnZfaWcgLmJ1dHRvbjpiZWZvcmUsXG5mb3JtW2lkKj12Y3JtXSAudl9pZyAuYnV0dG9uLFxuZm9ybVtpZCo9dmNybV0gLnZfaWcgLmJ1dHRvbjpub3QoLnZfYnRuX291dGxpbmUpOmhvdmVyLFxuZm9ybVtpZCo9dmNybV0gLnZfaWcgLmJ1dHRvbjphY3RpdmUsXG5mb3JtW2lkKj12Y3JtXSAudl9pZyAuYnV0dG9uOmZvY3VzIHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYW9yLCAwKTtcbn1cblxuZm9ybVtpZCo9dmNybV0gLnZfaWcgLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFiYywgdHJhbnNwYXJlbnQpO1xufVxuXG5mb3JtW2lkKj12Y3JtXSAudl9pZyBidXR0b246aG92ZXIsXG5mb3JtW2lkKj12Y3JtXSAudl9pZyAuYnV0dG9uOm5vdCgudl9idG5fb3V0bGluZSk6aG92ZXIsXG5mb3JtW2lkKj12Y3JtXSAudl9pZyAuYnV0dG9uOmFjdGl2ZSxcbmZvcm1baWQqPXZjcm1dIC52X2lnIC5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hYmMsIHRyYW5zcGFyZW50KTtcbiAgY29sb3I6IHZhcigtLWF0YywgY3VycmVudENvbG9yKTtcbn1cblxuZm9ybVtpZCo9dmNybV0gLlNlbGVjdC1tdWx0aS12YWx1ZS13cmFwcGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLlNlbGVjdC5oYXMtdmFsdWUuaXMtY2xlYXJhYmxlLlNlbGVjdC0tc2luZ2xlID4gLlNlbGVjdC1jb250cm9sIC5TZWxlY3QtdmFsdWUge1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5TZWxlY3QuaGFzLXZhbHVlLlNlbGVjdC0tc2luZ2xlID4gLlNlbGVjdC1jb250cm9sIC5TZWxlY3QtdmFsdWUgLlNlbGVjdC12YWx1ZS1sYWJlbCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aWR0aDogMTAwJTtcbn1cblxuZm9ybVtpZCo9dmNybV0gLlNlbGVjdC1tZW51LW91dGVyICoge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLyoqXG4gKiBEb25hdGVcbiAqL1xuLnBhZ2UtdGVtcGxhdGUtdGVtcGxhdGUtZG9uYXRlIC5jb2xzLTIge1xuICBtYXJnaW46IDAgYXV0bztcbiAgLS14dzogdmFyKC0teHdfMik7XG4gIHBhZGRpbmc6IDAgM3JlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1kb25hdGUgLmNvbHMtMiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG4gIC5wYWdlLXRlbXBsYXRlLXRlbXBsYXRlLWRvbmF0ZSAuY29sIHtcbiAgICBmbGV4OiAxIDEgNTAlO1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4gICAgcGFkZGluZzogMCAzcmVtO1xuICB9XG4gIC5wYWdlLXRlbXBsYXRlLXRlbXBsYXRlLWRvbmF0ZSAuY29sIC5jb2wtaW5uZXIge1xuICAgIG1heC13aWR0aDogNTA1cHg7XG4gICAgcGFkZGluZzogMCAycmVtO1xuICB9XG59XG4ucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1kb25hdGUgLi1mb3JtLXdyYXAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3gtc2hhZG93OiB2YXIoLS1hb2ksIGluc2V0KSB2YXIoLS1hb3gsIDApIHZhcigtLWFveSwgMCkgdmFyKC0tYW9iLCAwKSB2YXIoLS1hb3MsIDApIHZhcigtLWFvYywgY3VycmVudENvbG9yKSwgMCBjYWxjKDEgKiB2YXIoLS11dSkpIGNhbGMoMyAqIHZhcigtLXV1KSkgY2FsYygxLjUgKiB2YXIoLS11dSkpIHJnYmEodmFyKC0tY19keHQpLCAwLjEpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1icl8xKTtcbiAgcGFkZGluZzogNHJlbTtcbn1cbi5wYWdlLXRlbXBsYXRlLXRlbXBsYXRlLWRvbmF0ZSAuLWZvcm0td3JhcCAuZ2Nob2ljZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4ucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1kb25hdGUgLnNvY2lhbHMxIHtcbiAgZGlzcGxheTogZmxleDtcbn1cbi5wYWdlLXRlbXBsYXRlLXRlbXBsYXRlLWRvbmF0ZSAuc29jaWFsczEgLnNvY2lhbHMxLWxhYmVsIHtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxMTglOyAvKiAyOC4zMnB4ICovXG4gIGxldHRlci1zcGFjaW5nOiAtMC4yNHB4O1xuICBmb250LWZhbWlseTogdmFyKC0tZmZfMik7XG4gIHRleHQtdHJhbnNmb3JtOiB1bnNldDtcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xufVxuLnBhZ2UtdGVtcGxhdGUtdGVtcGxhdGUtZG9uYXRlIC5zb2NpYWxzMSBhIHtcbiAgY29sb3I6IHZhcigtLWNfYTF0KTtcbn1cblxuLnNpLWZsb2F0LXdyYXBwZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uc2ktZmxvYXQtd3JhcHBlciwgLnNpLWZsb2F0LXdyYXBwZXIgKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbltjbGFzcyo9c2ktd3JhcHBlcl0ge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5zaS13cmFwcGVyLXRvcCB7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luLXRvcDogLTQwcHg7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC0xMDAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTEwMCUpO1xufVxuXG4uc2ktd3JhcHBlci1ib3R0b20ge1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IHJldmVyc2U7XG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xufVxuXG4uc2ktd3JhcHBlci1sZWZ0IHtcbiAgbWFyZ2luLXRvcDogLTIwcHg7XG4gIG1hcmdpbi1sZWZ0OiAtMTFweDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAwJSwgLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlLCAtNTAlKTtcbn1cblxuLnNpLXdyYXBwZXItcmlnaHQge1xuICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICBtYXJnaW4tdG9wOiAtMjBweDtcbiAgbWFyZ2luLWxlZnQ6IDExcHg7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xufVxuXG5bY2xhc3MqPXNpLXNoYWRvdy13cmFwcGVyXSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIG9wYWNpdHk6IDAuMjk4MDQ7XG4gIHotaW5kZXg6IDE7XG59XG5cbi5zaS1zaGFkb3ctd3JhcHBlci10b3AsIC5zaS1zaGFkb3ctd3JhcHBlci1ib3R0b20ge1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5zaS1zaGFkb3ctcG9pbnRlci1ib3R0b20sIC5zaS1zaGFkb3ctcG9pbnRlci1yaWdodCB7XG4gIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDA7XG4gIC1tcy1mbGV4LW9yZGVyOiAtMTtcbiAgb3JkZXI6IC0xO1xufVxuXG4uc2ktc2hhZG93LWZyYW1lIHtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IDAgIzAwMDtcbn1cblxuW2NsYXNzKj1zaS1zaGFkb3ctcG9pbnRlcl0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxNXB4O1xuICBoZWlnaHQ6IDE1cHg7XG4gIG1hcmdpbjogYXV0bztcbn1cblxuW2NsYXNzKj1zaS1zaGFkb3ctaW5uZXItcG9pbnRlcl0ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxNDElO1xuICBoZWlnaHQ6IDE0MSU7XG4gIGJveC1zaGFkb3c6IC0wLjcwNzExcHggMC43MDcxMXB4IDNweCAwICMwMDA7XG59XG5cbi5zaS1zaGFkb3ctaW5uZXItcG9pbnRlci10b3Age1xuICBsZWZ0OiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKC00NWRlZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSgtNDVkZWcpO1xufVxuXG4uc2ktc2hhZG93LWlubmVyLXBvaW50ZXItYm90dG9tIHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgNTAlKSByb3RhdGUoLTQ1ZGVnKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgNTAlKSByb3RhdGUoLTQ1ZGVnKTtcbn1cblxuLnNpLXNoYWRvdy1pbm5lci1wb2ludGVyLWxlZnQge1xuICB0b3A6IDUwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoLTQ1ZGVnKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKC00NWRlZyk7XG59XG5cbi5zaS1zaGFkb3ctaW5uZXItcG9pbnRlci1yaWdodCB7XG4gIHRvcDogNTAlO1xuICByaWdodDogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsIC01MCUpIHJvdGF0ZSgtNDVkZWcpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsIC01MCUpIHJvdGF0ZSgtNDVkZWcpO1xufVxuXG4uc2ktZnJhbWUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gIC1tcy1mbGV4OiAxIDEgYXV0bztcbiAgZmxleDogMSAxIGF1dG87XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgei1pbmRleDogMjtcbn1cblxuLnNpLWNvbnRlbnQtd3JhcHBlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDMwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbi5zaS1oYXMtYm9yZGVyIC5zaS1jb250ZW50LXdyYXBwZXIge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYmJiO1xufVxuXG4uc2ktY29udGVudCB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4uc2ktY2xvc2UtYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3JkZXI6IDA7XG4gIG91dGxpbmU6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBCYXNrZXJ2aWxsZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDI0cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3BhY2l0eTogMC41O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLnNpLWNsb3NlLWJ1dHRvbjpob3ZlciwgLnNpLWNsb3NlLWJ1dHRvbjpmb2N1cyB7XG4gIG9wYWNpdHk6IDAuNztcbn1cblxuW2NsYXNzKj1zaS1wb2ludGVyLWJvcmRlcl0ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlcjogMTVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgei1pbmRleDogMztcbn1cblxuW2NsYXNzKj1zaS1wb2ludGVyLWJnXSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyOiAxNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB6LWluZGV4OiA0O1xufVxuXG4uc2ktaGFzLWJvcmRlciBbY2xhc3MqPXNpLXBvaW50ZXItYmddIHtcbiAgYm9yZGVyLXdpZHRoOiAxNXB4O1xufVxuXG4uc2ktcG9pbnRlci1ib3JkZXItdG9wLCAuc2ktcG9pbnRlci1ib3JkZXItYm90dG9tIHtcbiAgbGVmdDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbn1cblxuLnNpLXBvaW50ZXItYm9yZGVyLWxlZnQsIC5zaS1wb2ludGVyLWJvcmRlci1yaWdodCB7XG4gIHRvcDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbn1cblxuLnNpLXBvaW50ZXItdG9wIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cblxuLnNpLXBvaW50ZXItYm9yZGVyLXRvcCB7XG4gIGJvdHRvbTogMDtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2JiYjtcbn1cblxuLnNpLXBvaW50ZXItYmctdG9wIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmZjtcbn1cblxuLnNpLWhhcy1ib3JkZXIgLnNpLXBvaW50ZXItYmctdG9wIHtcbiAgdG9wOiAtMXB4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uc2ktcG9pbnRlci1ib3R0b20ge1xuICBib3JkZXItdG9wOiAwO1xufVxuXG4uc2ktcG9pbnRlci1ib3JkZXItYm90dG9tIHtcbiAgdG9wOiAwO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjYmJiO1xufVxuXG4uc2ktcG9pbnRlci1iZy1ib3R0b20ge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmZmO1xufVxuXG4uc2ktaGFzLWJvcmRlciAuc2ktcG9pbnRlci1iZy1ib3R0b20ge1xuICBib3R0b206IC0xcHg7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5zaS1wb2ludGVyLWxlZnQge1xuICBib3JkZXItcmlnaHQ6IDA7XG59XG5cbi5zaS1wb2ludGVyLWJvcmRlci1sZWZ0IHtcbiAgcmlnaHQ6IDA7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjYmJiO1xufVxuXG4uc2ktcG9pbnRlci1iZy1sZWZ0IHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICNmZmY7XG59XG5cbi5zaS1oYXMtYm9yZGVyIC5zaS1wb2ludGVyLWJnLWxlZnQge1xuICBsZWZ0OiAtMXB4O1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5zaS1wb2ludGVyLXJpZ2h0IHtcbiAgYm9yZGVyLWxlZnQ6IDA7XG59XG5cbi5zaS1wb2ludGVyLWJvcmRlci1yaWdodCB7XG4gIGxlZnQ6IDA7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogI2JiYjtcbn1cblxuLnNpLXBvaW50ZXItYmctcmlnaHQge1xuICBib3JkZXItcmlnaHQtY29sb3I6ICNmZmY7XG59XG5cbi5zaS1oYXMtYm9yZGVyIC5zaS1wb2ludGVyLWJnLXJpZ2h0IHtcbiAgcmlnaHQ6IC0xcHg7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4jZXZlbnRzLW1hcCB7XG4gIG1hcmdpbjogMDtcbn1cblxuLmV2ZW50LXNlYXJjaC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgLmV2ZW50LXNlYXJjaC1jb250YWluZXIge1xuICAgIGhlaWdodDogODIycHg7XG4gIH1cbn1cblxuLmV2ZW50LXJlc3VsdHMtbGlzdC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDEycHg7XG4gIG1hcmdpbi10b3A6IHZhcigtLXN5KTtcbn1cbi5ldmVudC1yZXN1bHRzLWxpc3QtY29udGFpbmVyIHVsLmV2ZW50LXJlc3VsdHMtbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMCAxIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZXZlbnQtcmVzdWx0cy1saXN0LWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDc1dnc7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgLmV2ZW50LXJlc3VsdHMtbGlzdC1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogNDBweDtcbiAgICB0b3A6IDM2cHg7XG4gICAgYm90dG9tOiAzNnB4O1xuICAgIHotaW5kZXg6IDEwO1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXgtd2lkdGg6IGF1dG87XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcbiAgICBib3JkZXItcmFkaXVzOiAyNHB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gIH1cbiAgLmV2ZW50LXJlc3VsdHMtbGlzdC1jb250YWluZXIgdWwuZXZlbnQtcmVzdWx0cy1saXN0IHtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gIC5ldmVudC1yZXN1bHRzLWxpc3QtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAxNnB4IDIwcHg7XG4gICAgd2lkdGg6IDM2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5ldmVudC1yZXN1bHRzLWxpc3QtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAyMHB4IDI0cHg7XG4gICAgd2lkdGg6IDM4NHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTM0NHB4KSB7XG4gIC5ldmVudC1yZXN1bHRzLWxpc3QtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAyOHB4IDMycHg7XG4gICAgd2lkdGg6IDQwMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTUzNnB4KSB7XG4gIC5ldmVudC1yZXN1bHRzLWxpc3QtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAzNnB4IDQwcHg7XG4gICAgd2lkdGg6IDQ2NHB4O1xuICB9XG59XG4uZXZlbnQtcmVzdWx0cy1saXN0LWNvbnRhaW5lciBsaSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMSAwIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZ2FwOiAxNnB4O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDIwcHggMTJweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhYWE7XG4gIGNvbG9yOiAjMDEzNzNkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uZXZlbnQtcmVzdWx0cy1saXN0LWNvbnRhaW5lciBsaTo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5NjBweCkge1xuICAuZXZlbnQtcmVzdWx0cy1saXN0LWNvbnRhaW5lciBsaSB7XG4gICAgcGFkZGluZzogMTJweCAxMnB4O1xuICB9XG59XG4uZXZlbnQtcmVzdWx0cy1saXN0LWNvbnRhaW5lciBsaSBkaXYge1xuICBmbGV4OiAxIDEgYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZ2FwOiAwO1xuICBtYXJnaW46IDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTEycHgpIGFuZCAobWF4LXdpZHRoOiA5NTlweCkge1xuICAuZXZlbnQtcmVzdWx0cy1saXN0LWNvbnRhaW5lciBsaSBkaXYge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBnYXA6IDE2cHg7XG4gIH1cbn1cbi5ldmVudC1yZXN1bHRzLWxpc3QtY29udGFpbmVyIGxpIGg1IHtcbiAgbWFyZ2luLWJvdHRvbTogMC4zNWVtO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mZl8yKTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1MTJweCkgYW5kIChtYXgtd2lkdGg6IDk1OXB4KSB7XG4gIC5ldmVudC1yZXN1bHRzLWxpc3QtY29udGFpbmVyIGxpIGg1IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gIC5ldmVudC1yZXN1bHRzLWxpc3QtY29udGFpbmVyIGxpIGg1IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZmXzEpO1xuICB9XG59XG4uZXZlbnQtcmVzdWx0cy1saXN0LWNvbnRhaW5lciBsaSBwLmRhdGUge1xuICBmb250LXNpemU6IDE2cHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDUxMnB4KSB7XG4gIC5ldmVudC1yZXN1bHRzLWxpc3QtY29udGFpbmVyIGxpIHAuZGF0ZSB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gIC5ldmVudC1yZXN1bHRzLWxpc3QtY29udGFpbmVyIGxpIHAuZGF0ZSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gIH1cbn1cbi5ldmVudC1yZXN1bHRzLWxpc3QtY29udGFpbmVyIGxpIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGNvbG9yOiAjMDEzNzNkO1xufVxuLmV2ZW50LXJlc3VsdHMtbGlzdC1jb250YWluZXIgbGkgc3ZnIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMjBweDtcbn1cbi5ldmVudC1yZXN1bHRzLWxpc3QtY29udGFpbmVyIGxpIHN2ZyBwYXRoIHtcbiAgZmlsbDogIzAxMzczZDtcbiAgc3Ryb2tlOiBub25lO1xuICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdDhuX2QxKSBlYXNlO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gIC5ldmVudC1yZXN1bHRzLWxpc3QtY29udGFpbmVyIGxpIHN2ZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbi5ldmVudC1yZXN1bHRzLWxpc3QtY29udGFpbmVyIGxpW2RhdGEtaGlkZGVuPXRydWVdIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5ldmVudC1yZXN1bHRzLWxpc3QtY29udGFpbmVyIGxpOmhvdmVyLCAuZXZlbnQtcmVzdWx0cy1saXN0LWNvbnRhaW5lciBsaTpmb2N1cywgLmV2ZW50LXJlc3VsdHMtbGlzdC1jb250YWluZXIgbGlbZGF0YS1ldmVudC1zdGF0dXN+PWhvdmVyZWRdLCAuZXZlbnQtcmVzdWx0cy1saXN0LWNvbnRhaW5lciBsaVtkYXRhLWV2ZW50LXN0YXR1c349c2VsZWN0ZWRdIHtcbiAgYmFja2dyb3VuZDogI2Y1ZjdmNjtcbn1cbi5ldmVudC1yZXN1bHRzLWxpc3QtY29udGFpbmVyIGxpW2RhdGEtZXZlbnQtc3RhdHVzfj1zZWxlY3RlZF0gYSB7XG4gIGNvbG9yOiAjYjQ0ODc4O1xufVxuLmV2ZW50LXJlc3VsdHMtbGlzdC1jb250YWluZXIgbGlbZGF0YS1ldmVudC1zdGF0dXN+PXNlbGVjdGVkXSBzdmcgcGF0aCB7XG4gIGZpbGw6ICNiNDQ4Nzg7XG59XG5cbi5ldmVudC1zZWFyY2gtZm9ybSB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmV2ZW50LXNlYXJjaC1mb3JtIGgzIHtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNWVtO1xuICBmb250LXNpemU6IDM2cHg7XG59XG4uZXZlbnQtc2VhcmNoLWZvcm0gcCB7XG4gIG1hcmdpbi1ib3R0b206IDEuNWVtO1xuICBmb250LXNpemU6IDEzcHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgLmV2ZW50LXNlYXJjaC1mb3JtIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNzVlbTtcbiAgfVxufVxuLmV2ZW50LXNlYXJjaC1mb3JtIGlucHV0IHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgcGFkZGluZzogMCA1NnB4IDAgMjRweDtcbiAgbWluLWhlaWdodDogNTZweDtcbiAgYm9yZGVyLXJhZGl1czogMjhweDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBjb2xvcjogIzAxMzczZDtcbn1cbi5ldmVudC1zZWFyY2gtZm9ybSBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGNvbG9yOiAjNjY2O1xuICBvcGFjaXR5OiAxO1xufVxuLmV2ZW50LXNlYXJjaC1mb3JtIGlucHV0OmZvY3VzOjpwbGFjZWhvbGRlciB7XG4gIG9wYWNpdHk6IDAuNjtcbn1cbi5ldmVudC1zZWFyY2gtZm9ybSAuZXZlbnQtaW5wdXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmV2ZW50LXNlYXJjaC1mb3JtIGJ1dHRvbiNhbnl0aGluZy1zdWJtaXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHBhZGRpbmc6IDAgMTZweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiBhdXRvO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBmb250LXNpemU6IDI0cHg7XG59XG4uZXZlbnQtc2VhcmNoLWZvcm0gYnV0dG9uI2FueXRoaW5nLXN1Ym1pdCBpIHtcbiAgY29sb3I6ICNiNDQ4Nzg7XG59XG5cbi5ldmVudC1tYXAtY29udGFpbmVyIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gIC5ldmVudC1tYXAtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4jZXZlbnQtbWFwLWdvb2dsZS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuI2V2ZW50LW1hcC1nb29nbGUtY29udGFpbmVyLCAjZXZlbnQtbWFwLWdvb2dsZS1jb250YWluZXIgKiB7XG4gIG1hcmdpbjogMDtcbiAgdHJhbnNpdGlvbjogdW5zZXQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHVuc2V0O1xufVxuI2V2ZW50LW1hcC1nb29nbGUtY29udGFpbmVyIGJ1dHRvblthcmlhLWxhYmVsPVwiS2V5Ym9hcmQgc2hvcnRjdXRzXCJdIHtcbiAgbWluLXdpZHRoOiBhdXRvO1xuICBtaW4taGVpZ2h0OiBhdXRvO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuI2V2ZW50LW1hcC1nb29nbGUtY29udGFpbmVyIC5nbS1zdHlsZSAuc2ktY29udGVudC13cmFwcGVyIHtcbiAgcGFkZGluZzogMjRweCAzMHB4O1xufVxuI2V2ZW50LW1hcC1nb29nbGUtY29udGFpbmVyIC5nbS1zdHlsZSAuc2ktY29udGVudCB7XG4gIG92ZXJmbG93OiB1bnNldDtcbn1cbiNldmVudC1tYXAtZ29vZ2xlLWNvbnRhaW5lciAuZ20tc3R5bGUgLnNpLWNvbnRlbnQgaDUge1xuICBtYXJnaW46IDAgMC4yNWVtIDAuNWVtIDA7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZmXzIpO1xuICBjb2xvcjogIzAxMzczZDtcbn1cbiNldmVudC1tYXAtZ29vZ2xlLWNvbnRhaW5lciAuZ20tc3R5bGUgLnNpLWNvbnRlbnQgcCB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXN5KTtcbiAgY29sb3I6ICM1ODdlNjc7XG59XG4jZXZlbnQtbWFwLWdvb2dsZS1jb250YWluZXIgLmdtLXN0eWxlIC5zaS1jbG9zZS1idXR0b24ge1xuICB0b3A6IC0xMHB4O1xuICByaWdodDogLTEwcHg7XG4gIHBhZGRpbmc6IDI2cHggMjZweDtcbiAgbWluLWhlaWdodDogYXV0bztcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDAuNztcbn1cbiNldmVudC1tYXAtZ29vZ2xlLWNvbnRhaW5lciBhLmJ1dHRvbjEge1xuICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdDhuX2QxKSBlYXNlO1xufVxuXG4uY2x1c3RlciB7XG4gIGZvbnQtZmFtaWx5OiBcIlNvdXJjZSBTYW5zIFByb1wiO1xuICBmb250LXdlaWdodDogOTAwO1xufVxuXG4uYmFzaWNMaWdodGJveCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgb3BhY2l0eTogMC4wMTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzIGVhc2U7XG4gIHotaW5kZXg6IDEwMDA7XG4gIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xufVxuXG4uYmFzaWNMaWdodGJveC0tdmlzaWJsZSB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5iYXNpY0xpZ2h0Ym94X19wbGFjZWhvbGRlciB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cyBlYXNlO1xuICB6LWluZGV4OiAxO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xufVxuXG4uYmFzaWNMaWdodGJveF9fcGxhY2Vob2xkZXIgPiBpZnJhbWU6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCwgLmJhc2ljTGlnaHRib3hfX3BsYWNlaG9sZGVyID4gaW1nOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQsIC5iYXNpY0xpZ2h0Ym94X19wbGFjZWhvbGRlciA+IHZpZGVvOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbjogYXV0bztcbiAgbWF4LXdpZHRoOiA5NSU7XG4gIG1heC1oZWlnaHQ6IDk1JTtcbn1cblxuLmJhc2ljTGlnaHRib3hfX3BsYWNlaG9sZGVyID4gaWZyYW1lOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQsIC5iYXNpY0xpZ2h0Ym94X19wbGFjZWhvbGRlciA+IHZpZGVvOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cblxuLmJhc2ljTGlnaHRib3hfX3BsYWNlaG9sZGVyID4gaW1nOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQsIC5iYXNpY0xpZ2h0Ym94X19wbGFjZWhvbGRlciA+IHZpZGVvOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uYmFzaWNMaWdodGJveC0taWZyYW1lIC5iYXNpY0xpZ2h0Ym94X19wbGFjZWhvbGRlciwgLmJhc2ljTGlnaHRib3gtLWltZyAuYmFzaWNMaWdodGJveF9fcGxhY2Vob2xkZXIsIC5iYXNpY0xpZ2h0Ym94LS12aWRlbyAuYmFzaWNMaWdodGJveF9fcGxhY2Vob2xkZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmJhc2ljTGlnaHRib3gtLXZpc2libGUgLmJhc2ljTGlnaHRib3hfX3BsYWNlaG9sZGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn0iLCIuc2ktZmxvYXQtd3JhcHBlcntwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlfS5zaS1mbG9hdC13cmFwcGVyLC5zaS1mbG9hdC13cmFwcGVyICp7Ym94LXNpemluZzpib3JkZXItYm94fVtjbGFzcyo9J3NpLXdyYXBwZXInXXtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2ZvbnQtc2l6ZToxNHB4O2N1cnNvcjpkZWZhdWx0fS5zaS13cmFwcGVyLXRvcHstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttYXJnaW4tdG9wOi00MHB4O21hcmdpbi1sZWZ0OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtMTAwJSl9LnNpLXdyYXBwZXItYm90dG9tey13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246cmV2ZXJzZTstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uLXJldmVyc2U7ZmxleC1kaXJlY3Rpb246Y29sdW1uLXJldmVyc2U7bWFyZ2luLXRvcDowO21hcmdpbi1sZWZ0OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLDApfS5zaS13cmFwcGVyLWxlZnR7bWFyZ2luLXRvcDotMjBweDttYXJnaW4tbGVmdDotMTFweDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTEwMCUsLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMTAwJSwtNTAlKX0uc2ktd3JhcHBlci1yaWdodHstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246cmV2ZXJzZTstbXMtZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2U7ZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2U7bWFyZ2luLXRvcDotMjBweDttYXJnaW4tbGVmdDoxMXB4Oy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCwtNTAlKX1bY2xhc3MqPSdzaS1zaGFkb3ctd3JhcHBlcidde2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDtib3R0b206MDtsZWZ0OjA7b3BhY2l0eTouMjk4MDQ7ei1pbmRleDoxfS5zaS1zaGFkb3ctd3JhcHBlci10b3AsLnNpLXNoYWRvdy13cmFwcGVyLWJvdHRvbXstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uc2ktc2hhZG93LXBvaW50ZXItYm90dG9tLC5zaS1zaGFkb3ctcG9pbnRlci1yaWdodHstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjA7LW1zLWZsZXgtb3JkZXI6LTE7b3JkZXI6LTF9LnNpLXNoYWRvdy1mcmFtZXtib3gtc2hhZG93OjAgMXB4IDNweCAwICMwMDB9W2NsYXNzKj0nc2ktc2hhZG93LXBvaW50ZXInXXtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxNXB4O2hlaWdodDoxNXB4O21hcmdpbjphdXRvfVtjbGFzcyo9J3NpLXNoYWRvdy1pbm5lci1wb2ludGVyJ117cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTQxJTtoZWlnaHQ6MTQxJTtib3gtc2hhZG93Oi0wLjcwNzExcHggLjcwNzExcHggM3B4IDAgIzAwMH0uc2ktc2hhZG93LWlubmVyLXBvaW50ZXItdG9we2xlZnQ6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpIHJvdGF0ZSgtNDVkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKSByb3RhdGUoLTQ1ZGVnKX0uc2ktc2hhZG93LWlubmVyLXBvaW50ZXItYm90dG9te2JvdHRvbTowO2xlZnQ6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLDUwJSkgcm90YXRlKC00NWRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLDUwJSkgcm90YXRlKC00NWRlZyl9LnNpLXNoYWRvdy1pbm5lci1wb2ludGVyLWxlZnR7dG9wOjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKSByb3RhdGUoLTQ1ZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSkgcm90YXRlKC00NWRlZyl9LnNpLXNoYWRvdy1pbm5lci1wb2ludGVyLXJpZ2h0e3RvcDo1MCU7cmlnaHQ6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoNTAlLC01MCUpIHJvdGF0ZSgtNDVkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGUoNTAlLC01MCUpIHJvdGF0ZSgtNDVkZWcpfS5zaS1mcmFtZXtwb3NpdGlvbjpyZWxhdGl2ZTstd2Via2l0LWJveC1mbGV4OjE7LW1zLWZsZXg6MSAxIGF1dG87ZmxleDoxIDEgYXV0bztib3JkZXItcmFkaXVzOjNweDtvdmVyZmxvdzpoaWRkZW47ei1pbmRleDoyfS5zaS1jb250ZW50LXdyYXBwZXJ7d2lkdGg6MTAwJTttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCU7cGFkZGluZzozMHB4O2JhY2tncm91bmQtY29sb3I6I2ZmZn0uc2ktaGFzLWJvcmRlciAuc2ktY29udGVudC13cmFwcGVye2JvcmRlcjoxcHggc29saWQgI2JiYn0uc2ktY29udGVudHtvdmVyZmxvdzphdXRvfS5zaS1jbG9zZS1idXR0b257cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDtib3JkZXI6MDtvdXRsaW5lOjA7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtjb2xvcjppbmhlcml0O2ZvbnQtZmFtaWx5OkFyaWFsLEJhc2tlcnZpbGxlLG1vbm9zcGFjZTtmb250LXNpemU6MjRweDtjdXJzb3I6cG9pbnRlcjtvcGFjaXR5Oi41Oy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZX0uc2ktY2xvc2UtYnV0dG9uOmhvdmVyLC5zaS1jbG9zZS1idXR0b246Zm9jdXN7b3BhY2l0eTouN31bY2xhc3MqPSdzaS1wb2ludGVyLWJvcmRlcidde3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlcjoxNXB4IHNvbGlkIHRyYW5zcGFyZW50O3otaW5kZXg6M31bY2xhc3MqPSdzaS1wb2ludGVyLWJnJ117cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyOjE1cHggc29saWQgdHJhbnNwYXJlbnQ7ei1pbmRleDo0fS5zaS1oYXMtYm9yZGVyIFtjbGFzcyo9J3NpLXBvaW50ZXItYmcnXXtib3JkZXItd2lkdGg6MTVweH0uc2ktcG9pbnRlci1ib3JkZXItdG9wLC5zaS1wb2ludGVyLWJvcmRlci1ib3R0b217bGVmdDo1MCU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLDApfS5zaS1wb2ludGVyLWJvcmRlci1sZWZ0LC5zaS1wb2ludGVyLWJvcmRlci1yaWdodHt0b3A6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCwtNTAlKX0uc2ktcG9pbnRlci10b3B7Ym9yZGVyLWJvdHRvbTowfS5zaS1wb2ludGVyLWJvcmRlci10b3B7Ym90dG9tOjA7Ym9yZGVyLXRvcC1jb2xvcjojYmJifS5zaS1wb2ludGVyLWJnLXRvcHtib3JkZXItdG9wLWNvbG9yOiNmZmZ9LnNpLWhhcy1ib3JkZXIgLnNpLXBvaW50ZXItYmctdG9we3RvcDotMXB4O21hcmdpbi1ib3R0b206MH0uc2ktcG9pbnRlci1ib3R0b217Ym9yZGVyLXRvcDowfS5zaS1wb2ludGVyLWJvcmRlci1ib3R0b217dG9wOjA7Ym9yZGVyLWJvdHRvbS1jb2xvcjojYmJifS5zaS1wb2ludGVyLWJnLWJvdHRvbXtib3JkZXItYm90dG9tLWNvbG9yOiNmZmZ9LnNpLWhhcy1ib3JkZXIgLnNpLXBvaW50ZXItYmctYm90dG9te2JvdHRvbTotMXB4O21hcmdpbi10b3A6MH0uc2ktcG9pbnRlci1sZWZ0e2JvcmRlci1yaWdodDowfS5zaS1wb2ludGVyLWJvcmRlci1sZWZ0e3JpZ2h0OjA7Ym9yZGVyLWxlZnQtY29sb3I6I2JiYn0uc2ktcG9pbnRlci1iZy1sZWZ0e2JvcmRlci1sZWZ0LWNvbG9yOiNmZmZ9LnNpLWhhcy1ib3JkZXIgLnNpLXBvaW50ZXItYmctbGVmdHtsZWZ0Oi0xcHg7bWFyZ2luLXJpZ2h0OjB9LnNpLXBvaW50ZXItcmlnaHR7Ym9yZGVyLWxlZnQ6MH0uc2ktcG9pbnRlci1ib3JkZXItcmlnaHR7bGVmdDowO2JvcmRlci1yaWdodC1jb2xvcjojYmJifS5zaS1wb2ludGVyLWJnLXJpZ2h0e2JvcmRlci1yaWdodC1jb2xvcjojZmZmfS5zaS1oYXMtYm9yZGVyIC5zaS1wb2ludGVyLWJnLXJpZ2h0e3JpZ2h0Oi0xcHg7bWFyZ2luLWxlZnQ6MH1cbiIsIiRjb2xvcl93aGl0ZTogI2ZmZjtcbiRjb2xvcl9ncmF5OiAjYWFhO1xuJGNvbG9yX2dyYXlfZGFyazogIzY2NjtcbiRjb2xvcl9ncmVlbl9kYXJrOiAjMDEzNzNkO1xuJGNvbG9yX21hdXZlOiAjYjQ0ODc4O1xuJGNvbG9yX2NocnlzYWxpczogIzU4N2U2NztcbiRjb2xvcl9jaHJ5c2FsaXNfd2hpdGU6ICNjY2Q4ZDE7XG5cbi8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggaXQgc3dpdGNoZXMgZnJvbSBtb2JpbGUgdG8gZGVza3RvcFxuJGV2ZW50c19tYXBfc3dpdGNoOiBjaDtcblxuXG4vLyBDb250YWluZXIgdGhhdCB0aGUgZW50aXJlIHRoaW5nIGRyb3BzIGludG9cbiNldmVudHMtbWFwIHtcblx0bWFyZ2luOiAwO1xufVxuXG4vLyBIZWlnaHQtY29uc3RyYWluZWQgbWFwIGNvbnRhaW5lclxuLmV2ZW50LXNlYXJjaC1jb250YWluZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdEBpbmNsdWRlIGIoJGV2ZW50c19tYXBfc3dpdGNoKSB7XG5cdFx0aGVpZ2h0OiA4MjJweDtcblx0fVxufVxuXG4vLyBDb250YWluZXIgZm9yIHNlYXJjaCBmb3JtIGFuZCByZXN1bHRzXG4uZXZlbnQtcmVzdWx0cy1saXN0LWNvbnRhaW5lciB7XG5cdCRyZXN1bHRzX3dpZHRoX25hcnJvdzogMzIwcHg7XG5cdCRyZXN1bHRzX3dpZHRoX3dpZGU6IDQxMHB4O1xuXHQkb2Zmc2V0X3g6IDQwcHg7XG5cdCRvZmZzZXRfeTogMzZweDtcblx0XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogMTJweDtcblx0bWFyZ2luLXRvcDogdmFyKC0tc3kpO1xuXHRcblx0dWwuZXZlbnQtcmVzdWx0cy1saXN0IHtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRmbGV4OiAwIDEgYXV0bztcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHBhZGRpbmc6IDA7XG5cdH1cblx0XG5cdEBpbmNsdWRlIGIoYXYpIHtcblx0XHR3aWR0aDogNzV2dztcblx0XHRtYXgtd2lkdGg6IG5vbmU7XG5cdH1cblx0XG5cdEBpbmNsdWRlIGIoJGV2ZW50c19tYXBfc3dpdGNoKSB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHJpZ2h0OiAkb2Zmc2V0X3g7XG5cdFx0dG9wOiAkb2Zmc2V0X3k7XG5cdFx0Ym90dG9tOiAkb2Zmc2V0X3k7XG5cdFx0ei1pbmRleDogMTA7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHdpZHRoOiBhdXRvO1xuXHRcdG1heC13aWR0aDogYXV0bztcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfZ3JheTtcblx0XHRib3JkZXItcmFkaXVzOiAyNHB4O1xuXHRcdGJhY2tncm91bmQ6ICRjb2xvcl93aGl0ZTtcblx0XHRcblx0XHR1bC5ldmVudC1yZXN1bHRzLWxpc3Qge1xuXHRcdFx0b3ZlcmZsb3cteDogaGlkZGVuO1xuXHRcdFx0b3ZlcmZsb3cteTogYXV0bztcblx0XHR9XG5cdH1cblx0QGluY2x1ZGUgYihjaCkge1xuXHRcdHBhZGRpbmc6IDE2cHggMjBweDtcblx0XHR3aWR0aDogMzYwcHg7XG5cdH1cblx0QGluY2x1ZGUgYihsZykge1xuXHRcdHBhZGRpbmc6IDIwcHggMjRweDtcblx0XHR3aWR0aDogMzg0cHg7XG5cdH1cblx0QGluY2x1ZGUgYih4bCkge1xuXHRcdHBhZGRpbmc6IDI4cHggMzJweDtcblx0XHR3aWR0aDogNDAwcHg7XG5cdH1cblx0QGluY2x1ZGUgYih5bCkge1xuXHRcdHBhZGRpbmc6IDM2cHggNDBweDtcblx0XHR3aWR0aDogNDY0cHg7XG5cdH1cblxuXHRsaSB7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ZmxleDogMSAwIGF1dG87XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0Z2FwOiAxNnB4O1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nOiAyMHB4IDEycHg7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvcl9ncmF5O1xuXHRcdGNvbG9yOiAkY29sb3JfZ3JlZW5fZGFyaztcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHRcdFxuXHRcdEBpbmNsdWRlIGIoJGV2ZW50c19tYXBfc3dpdGNoKSB7XG5cdFx0XHRwYWRkaW5nOiAxMnB4IDEycHg7XG5cdFx0fVxuXHRcdFxuXHRcdGRpdiB7XG5cdFx0XHRmbGV4OiAxIDEgYXV0bztcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRcdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdFx0XHRnYXA6IDA7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRAaW5jbHVkZSBiKCc+PCBzbSBhdicpIHtcblx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdFx0XHRhbGlnbi1pdGVtczogYmFzZWxpbmU7XG5cdFx0XHRcdGdhcDogMTZweDtcblx0XHRcdH1cblx0XHR9XG5cdFx0aDUge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMC4zNWVtO1xuXHRcdFx0Zm9udC1zaXplOiAyMHB4O1xuXHRcdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZmXzIpO1xuXHRcdFx0QGluY2x1ZGUgYignPjwgc20gYXYnKSB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMjRweDtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIGIoJGV2ZW50c19tYXBfc3dpdGNoKSB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDAuNWVtO1xuXHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mZl8xKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0cC5kYXRlIHtcblx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRcdFx0QGluY2x1ZGUgYihzbSkge1xuXHRcdFx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYigkZXZlbnRzX21hcF9zd2l0Y2gpIHtcblx0XHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRcdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdFx0fVxuXHRcdH1cblx0XHRhIHtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0XHRjb2xvcjogJGNvbG9yX2dyZWVuX2Rhcms7XG5cdFx0fVxuXHRcdFxuXHRcdHN2ZyB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0d2lkdGg6IDE0cHg7XG5cdFx0XHRoZWlnaHQ6IDIwcHg7XG5cdFx0XHRwYXRoIHtcblx0XHRcdFx0ZmlsbDogJGNvbG9yX2dyZWVuX2Rhcms7XG5cdFx0XHRcdHN0cm9rZTogbm9uZTtcblx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIHZhcigtLXQ4bl9kMSkgZWFzZTtcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0QGluY2x1ZGUgYigkZXZlbnRzX21hcF9zd2l0Y2gpIHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYihhdikge1xuXHRcdFx0Ly8gcGFkZGluZzogMzZweCA0MHB4O1xuXHRcdH1cblxuXHRcdCZbZGF0YS1oaWRkZW49XCJ0cnVlXCJdIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHRcdCY6aG92ZXIsICY6Zm9jdXMsXG5cdFx0JltkYXRhLWV2ZW50LXN0YXR1c349XCJob3ZlcmVkXCJdLFxuXHRcdCZbZGF0YS1ldmVudC1zdGF0dXN+PVwic2VsZWN0ZWRcIl0ge1xuXHRcdFx0YmFja2dyb3VuZDogbWl4KCRjb2xvcl9jaHJ5c2FsaXNfd2hpdGUsICRjb2xvcl93aGl0ZSwgMjAlKTtcblx0XHR9XG5cdFx0JltkYXRhLWV2ZW50LXN0YXR1c349XCJzZWxlY3RlZFwiXSB7XG5cdFx0XHRhIHtcblx0XHRcdFx0Y29sb3I6ICRjb2xvcl9tYXV2ZTtcblx0XHRcdH1cblx0XHRcdHN2ZyB7XG5cdFx0XHRcdHBhdGgge1xuXHRcdFx0XHRcdGZpbGw6ICRjb2xvcl9tYXV2ZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vLyBTZWFyY2ggZm9ybSBoZWFkZXIgYW5kIGlucHV0XG4uZXZlbnQtc2VhcmNoLWZvcm0ge1xuXHRmbGV4OiAwIDAgYXV0bztcblx0bWFyZ2luLWJvdHRvbTogMDtcblx0XG5cdGgzIHtcblx0XHRtYXJnaW4tYm90dG9tOiAwLjI1ZW07XG5cdFx0Zm9udC1zaXplOiAzNnB4O1xuXHR9XG5cdHAge1xuXHRcdG1hcmdpbi1ib3R0b206IDEuNWVtO1xuXHRcdGZvbnQtc2l6ZTogMTNweDtcblx0XHRAaW5jbHVkZSBiKCRldmVudHNfbWFwX3N3aXRjaCkge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMC43NWVtO1xuXHRcdH1cblx0fVxuXG5cdGlucHV0IHtcblx0XHRhcHBlYXJhbmNlOiBub25lO1xuXHRcdHBhZGRpbmc6IDAgNTZweCAwIDI0cHg7XG5cdFx0bWluLWhlaWdodDogNTZweDtcblx0XHRib3JkZXItcmFkaXVzOiAyOHB4O1xuXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRjb2xvcjogJGNvbG9yX2dyZWVuX2Rhcms7XG5cdH1cblx0aW5wdXQge1xuXHRcdCY6OnBsYWNlaG9sZGVyIHtcblx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdGNvbG9yOiAkY29sb3JfZ3JheV9kYXJrO1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHR9XG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHQmOjpwbGFjZWhvbGRlciB7XG5cdFx0XHRcdG9wYWNpdHk6IDAuNjtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdC5ldmVudC1pbnB1dC1jb250YWluZXIge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0fVxuXHRcblx0YnV0dG9uI2FueXRoaW5nLXN1Ym1pdCB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdHRvcDogMDtcblx0XHRwYWRkaW5nOiAwIDE2cHg7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdG1pbi1oZWlnaHQ6IGF1dG87XG5cdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRmb250LXNpemU6IDI0cHg7XG5cdFx0aSB7XG5cdFx0XHRjb2xvcjogJGNvbG9yX21hdXZlO1xuXHRcdH1cblx0fVxufVxuXG4vLyBPdXRlciBjb250YWluZXIgZm9yIEdvb2dsZSBNYXBcbi5ldmVudC1tYXAtY29udGFpbmVyIHtcblx0ZGlzcGxheTogbm9uZTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRAaW5jbHVkZSBiKCRldmVudHNfbWFwX3N3aXRjaCkge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG59XG5cbi8vIElubmVyIGNvbnRhaW5lciBmb3IgR29vZ2xlIE1hcFxuI2V2ZW50LW1hcC1nb29nbGUtY29udGFpbmVyIHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0XG5cdC8vIFByZXZlbnQgc2l0ZS13aWRlIGFuaW1hdGlvbiBmcm9tIG92ZXJyaWRpbmcgR29vZ2xlIE1hcHNcblx0JiwgJiAqIHtcblx0XHRtYXJnaW46IDA7XG5cdFx0dHJhbnNpdGlvbjogdW5zZXQ7XG5cdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogdW5zZXQ7XG5cdH1cblx0XG5cdC8vIFByZXZlbnQgVUkgS2l0IHN0eWxlcyBmcm9tIG92ZXJyaWRpbmcgR29vZ2xlIE1hcHNcblx0YnV0dG9uIHtcblx0XHQvLyBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cdFx0JlthcmlhLWxhYmVsPVwiS2V5Ym9hcmQgc2hvcnRjdXRzXCJdIHtcblx0XHRcdG1pbi13aWR0aDogYXV0bztcblx0XHRcdG1pbi1oZWlnaHQ6IGF1dG87XG5cdFx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdH1cblx0fVxuXHRcblx0LmdtLXN0eWxlIHtcblx0XHRcblx0XHQvLyBJbmZvIHdpbmRvdyBjb250YWluZXIgKHVudXNlZCwgYmVjYXVzZSB3ZSdyZSB1c2luZyBTbmF6enkpXG5cdFx0Ly8gLmdtLXN0eWxlLWl3LWMge1xuXHRcdC8vIFx0cGFkZGluZzogMjRweCAzMHB4ICFpbXBvcnRhbnQ7XG5cdFx0Ly8gXHRib3JkZXI6IDFweCBzb2xpZCAjY2NjICFpbXBvcnRhbnQ7XG5cdFx0Ly8gXHRib3JkZXItcmFkaXVzOiAyNHB4ICFpbXBvcnRhbnQ7XG5cdFx0Ly8gXHRib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cdFx0Ly8gfVxuXHRcdC8vIC5nbS1zdHlsZS1pdy1kIHtcblx0XHQvLyBcdG1hcmdpbjogMCAhaW1wb3J0YW50O1xuXHRcdC8vIFx0cGFkZGluZzogMCAhaW1wb3J0YW50O1xuXHRcdC8vIFx0b3ZlcmZsb3c6IHVuc2V0ICFpbXBvcnRhbnQ7XG5cdFx0Ly8gfVxuXHRcdC8vIGJ1dHRvblthcmlhLWxhYmVsPVwiQ2xvc2VcIl0ge1xuXHRcdC8vIFx0cmlnaHQ6IDZweCAhaW1wb3J0YW50O1xuXHRcdC8vIFx0dG9wOiAwICFpbXBvcnRhbnQ7XG5cdFx0Ly8gXHRib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cdFx0Ly8gfVxuXHRcdC8vIC5nbS1zdHlsZS1pdy10YyB7IC8vIEFycm93IHVuZGVyIGluZm8gd2luZG93XG5cdFx0Ly8gXHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cdFx0Ly8gfVxuXHRcdFxuXHRcdC8vIFNuYXp6eSBJbmZvIFdpbmRvd1xuXHRcdC5zaS1jb250ZW50LXdyYXBwZXIge1xuXHRcdFx0cGFkZGluZzogMjRweCAzMHB4O1xuXHRcdH1cblx0XHQuc2ktY29udGVudCB7XG5cdFx0XHRvdmVyZmxvdzogdW5zZXQ7XG5cdFx0XHRoNSB7XG5cdFx0XHRcdG1hcmdpbjogMCAwLjI1ZW0gMC41ZW0gMDtcblx0XHRcdFx0Zm9udC1zaXplOiAyNHB4O1xuXHRcdFx0XHRmb250LWZhbWlseTogdmFyKC0tZmZfMik7XG5cdFx0XHRcdGNvbG9yOiAkY29sb3JfZ3JlZW5fZGFyaztcblx0XHRcdH1cblx0XHRcdHAge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zeSk7XG5cdFx0XHRcdGNvbG9yOiAkY29sb3JfY2hyeXNhbGlzO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQuc2ktY2xvc2UtYnV0dG9uIHtcblx0XHRcdHRvcDogLTEwcHg7XG5cdFx0XHRyaWdodDogLTEwcHg7XG5cdFx0XHRwYWRkaW5nOiAyNnB4IDI2cHg7XG5cdFx0XHRtaW4taGVpZ2h0OiBhdXRvO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0XHRsaW5lLWhlaWdodDogMC43O1xuXHRcdH1cblx0fVxuXHRcblx0Ly8gUmVnaXN0ZXIgYnV0dG9uXG5cdGEuYnV0dG9uMSB7XG5cdFx0dHJhbnNpdGlvbjogYWxsIHZhcigtLXQ4bl9kMSkgZWFzZTtcblx0fVxuXHRcbn1cblxuLmNsdXN0ZXIge1xuXHRmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybyc7XG5cdGZvbnQtd2VpZ2h0OiA5MDA7XG59XG4iLCIvLyBCcmVha2JlYXQgdjIuMC4zXG5cbkB1c2UgJ3Nhc3M6bWF0aCc7XG5AdXNlICdzYXNzOnN0cmluZyc7XG5AdXNlICdzYXNzOmxpc3QnO1xuQHVzZSAnc2FzczptYXAnO1xuQHVzZSAnc2FzczptZXRhJztcblxuJG91dHB1dF9lbV9xdWVyaWVzOiBmYWxzZSAhZGVmYXVsdDtcbiRvdXRwdXRfcXVlcnlfY29tbWVudHM6IGZhbHNlICFkZWZhdWx0O1xuJGdsb2JhbF9mb250X3NpemU6IDE2cHggIWRlZmF1bHQ7XG4kaGVpZ2h0X2JyZWFrcG9pbnRzX2tleTogJ2hlaWdodCcgIWRlZmF1bHQ7XG5cbi8vIERlZmF1bHRzXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4kYnJlYWtwb2ludF9uYW1lczogbWFwLmtleXMoJGJyZWFrcG9pbnRzKSAhZGVmYXVsdDtcblxuJGJfd2lkdGhfcHJvcGVydHlfbWFya2VyczogKCd3aWR0aCcsICd3JywgJ3gnKTtcbiRiX2hlaWdodF9wcm9wZXJ0eV9tYXJrZXJzOiAoJ2hlaWdodCcsICdoJywgJ3knKTtcblxuXG4vLyAvKipcbi8vICAqIEdldCBzaXplIGZyb20gYnJlYWtwb2ludCBkZXNjcmlwdGlvblxuLy8gICogQHBhcmFtIHtzdHJpbmcvbnVtYmVyfSAkYnJlYWtwb2ludFxuLy8gICogQHBhcmFtIHtudW1iZXJ9ICRzY2FsZVxuLy8gICogQHJldHVybiB7bnVtYmVyfVxuLy8gICovXG5AZnVuY3Rpb24gYl9zaXplX2Zyb21fYnJlYWtwb2ludCgkYnJlYWtwb2ludCwgJHNjYWxlOiAwKSB7XG4gIEByZXR1cm4gYnJlYWtiZWF0KCRicmVha3BvaW50LCAkc2NhbGUsICRyZXR1cm5fc2l6ZTogdHJ1ZSk7XG59XG5cblxuLy8gLyoqXG4vLyAgKiBHZXQgaGVpZ2h0IGJyZWFrcG9pbnRzIG1hcFxuLy8gICogQHBhcmFtIHttYXB9ICRicmVha3BvaW50c19tYXBcbi8vICAqIEByZXR1cm4ge21hcH1cbi8vICAqL1xuQGZ1bmN0aW9uIGJfZ2V0X2hlaWdodF9icmVha3BvaW50c19tYXAoJGJyZWFrcG9pbnRzX21hcCkge1xuICBAaWZcbiAgICBub3QgbWFwLmhhc19rZXkoJGJyZWFrcG9pbnRzX21hcCwgJGhlaWdodF9icmVha3BvaW50c19rZXkpXG4gICAgb3IgbGlzdC5sZW5ndGgobWFwLmdldCgkYnJlYWtwb2ludHNfbWFwLCAkaGVpZ2h0X2JyZWFrcG9pbnRzX2tleSkpID09IDBcbiAge1xuICAgIEByZXR1cm4gJGJyZWFrcG9pbnRzX21hcDtcbiAgfVxuICBcbiAgQHJldHVybiBtYXAuZ2V0KCRicmVha3BvaW50cywgJGhlaWdodF9icmVha3BvaW50c19rZXkpO1xufVxuXG5cbi8vIC8qKlxuLy8gICogR2V0IGJyZWFrcG9pbnQgYWRqYWNlbnQgdG8gaW5wdXQgYnJlYWtwb2ludFxuLy8gICogQHBhcmFtIHtzdHJpbmd9ICRicmVha3BvaW50X25hbWVcbi8vICAqIEBwYXJhbSB7aW50fSAkZGlyZWN0aW9uXG4vLyAgKiBAcGFyYW0ge2Jvb2x9ICRpc19oZWlnaHRcbi8vICAqIEByZXR1cm4ge21hcH1cbi8vICAqL1xuQGZ1bmN0aW9uIGJfYWRqYWNlbnRfYnJlYWtwb2ludCgkYnJlYWtwb2ludF9uYW1lLCAkZGlyZWN0aW9uLCAkaXNfaGVpZ2h0OiBmYWxzZSkge1xuICAkYnJlYWtwb2ludHNfbWFwOiAkYnJlYWtwb2ludHM7XG4gIEBpZiAkaXNfaGVpZ2h0IHtcbiAgICAkYnJlYWtwb2ludHNfbWFwOiBiX2dldF9oZWlnaHRfYnJlYWtwb2ludHNfbWFwKCRicmVha3BvaW50c19tYXApO1xuICB9IEBlbHNlIHtcbiAgICAkYnJlYWtwb2ludHNfbWFwOiBtYXAucmVtb3ZlKCRicmVha3BvaW50c19tYXAsICRoZWlnaHRfYnJlYWtwb2ludHNfa2V5KTtcbiAgfVxuICBcbiAgJGN1cnJlbnRfaW5kZXg6IGxpc3QuaW5kZXgobWFwLmtleXMoJGJyZWFrcG9pbnRzX21hcCksICRicmVha3BvaW50X25hbWUpO1xuICBAaWYgJGN1cnJlbnRfaW5kZXggPT0gbnVsbCB7XG4gICAgQGVycm9yIGJfdW5rbm93bl9icmVha3BvaW50X2Vycm9yKCRicmVha3BvaW50X25hbWUpO1xuICB9XG4gIFxuICAkYWRqYWNlbnRfaW5kZXg6ICgkY3VycmVudF9pbmRleCArICRkaXJlY3Rpb24pO1xuICAkYWRqYWNlbnRfbmFtZTogbnVsbDtcbiAgJGFkamFjZW50X3NpemU6IG51bGw7XG4gIEBpZlxuICAgICRhZGphY2VudF9pbmRleCA8IDFcbiAgICBvciAkYWRqYWNlbnRfaW5kZXggPiBsaXN0Lmxlbmd0aChtYXAua2V5cygkYnJlYWtwb2ludHNfbWFwKSlcbiAge1xuICAgICRhZGphY2VudF9uYW1lOiAkYnJlYWtwb2ludF9uYW1lO1xuICAgICRhZGphY2VudF9zaXplOiBtYXAuZ2V0KCRicmVha3BvaW50c19tYXAsICRicmVha3BvaW50X25hbWUpO1xuICB9IEBlbHNlIHtcbiAgICAkYWRqYWNlbnRfbmFtZTogbGlzdC5udGgobWFwLmtleXMoJGJyZWFrcG9pbnRzX21hcCksICRhZGphY2VudF9pbmRleCk7XG4gICAgJGFkamFjZW50X3NpemU6IGxpc3QubnRoKG1hcC52YWx1ZXMoJGJyZWFrcG9pbnRzX21hcCksICRhZGphY2VudF9pbmRleCk7XG4gIH1cbiAgQHJldHVybiAoJGFkamFjZW50X25hbWU6ICRhZGphY2VudF9zaXplKTtcbn1cblxuXG4vLyAvKipcbi8vICAqIEdldCBzaXplIG9mIGJyZWFrcG9pbnQgYWRqYWNlbnQgdG8gaW5wdXQgYnJlYWtwb2ludFxuLy8gICogQHBhcmFtIHtzdHJpbmd9ICRicmVha3BvaW50X25hbWVcbi8vICAqIEBwYXJhbSB7aW50fSAkZGlyZWN0aW9uXG4vLyAgKiBAcGFyYW0ge2Jvb2x9ICRpc19oZWlnaHRcbi8vICAqIEByZXR1cm4ge251bWJlcn1cbi8vICAqL1xuQGZ1bmN0aW9uIGJfYWRqYWNlbnRfYnJlYWtwb2ludF9zaXplKCRicmVha3BvaW50X25hbWUsICRkaXJlY3Rpb24sICRpc19oZWlnaHQ6IGZhbHNlKSB7XG4gICRhZGphY2VudF9icmVha3BvaW50OiBiX2FkamFjZW50X2JyZWFrcG9pbnQoJGJyZWFrcG9pbnRfbmFtZSwgJGRpcmVjdGlvbiwgJGlzX2hlaWdodCk7XG4gIEByZXR1cm4gbGlzdC5udGgobWFwLnZhbHVlcygkYWRqYWNlbnRfYnJlYWtwb2ludCksIDEpO1xufVxuXG5cbi8vIC8qKlxuLy8gICogR2V0IG5hbWUgb2YgYnJlYWtwb2ludCBhZGphY2VudCB0byBpbnB1dCBicmVha3BvaW50XG4vLyAgKiBAcGFyYW0ge3N0cmluZ30gJGJyZWFrcG9pbnRfbmFtZVxuLy8gICogQHBhcmFtIHtpbnR9ICRkaXJlY3Rpb25cbi8vICAqIEBwYXJhbSB7Ym9vbH0gJGlzX2hlaWdodFxuLy8gICogQHJldHVybiB7c3RyaW5nfVxuLy8gICovXG5AZnVuY3Rpb24gYl9hZGphY2VudF9icmVha3BvaW50X25hbWUoJGJyZWFrcG9pbnRfbmFtZSwgJGRpcmVjdGlvbiwgJGlzX2hlaWdodDogZmFsc2UpIHtcbiAgJGFkamFjZW50X2JyZWFrcG9pbnQ6IGJfYWRqYWNlbnRfYnJlYWtwb2ludCgkYnJlYWtwb2ludF9uYW1lLCAkZGlyZWN0aW9uLCAkaXNfaGVpZ2h0KTtcbiAgQHJldHVybiBsaXN0Lm50aChtYXAua2V5cygkYWRqYWNlbnRfYnJlYWtwb2ludCksIDEpO1xufVxuXG5cbi8vIC8qKlxuLy8gICogR2V0IHNpemUgb2YgbmV4dCBzbWFsbGVzdCBicmVha3BvaW50IGFkamFjZW50IHRvIGlucHV0IGJyZWFrcG9pbnRcbi8vICAqIEBwYXJhbSB7c3RyaW5nfSAkYnJlYWtwb2ludF9uYW1lXG4vLyAgKiBAcGFyYW0ge2Jvb2x9ICRpc19oZWlnaHRcbi8vICAqIEByZXR1cm4ge3N0cmluZ31cbi8vICAqL1xuQGZ1bmN0aW9uIGJfcHJldl9icmVha3BvaW50X3NpemUoJGJyZWFrcG9pbnRfbmFtZSwgJGlzX2hlaWdodCkge1xuICBAcmV0dXJuIGJfYWRqYWNlbnRfYnJlYWtwb2ludF9zaXplKCRicmVha3BvaW50X25hbWUsIC0xLCAkaXNfaGVpZ2h0KTtcbn1cblxuXG4vLyAvKipcbi8vICAqIEdldCBuYW1lIG9mIG5leHQgc21hbGxlc3QgYnJlYWtwb2ludCBhZGphY2VudCB0byBpbnB1dCBicmVha3BvaW50XG4vLyAgKiBAcGFyYW0ge3N0cmluZ30gJGJyZWFrcG9pbnRfbmFtZVxuLy8gICogQHBhcmFtIHtib29sfSAkaXNfaGVpZ2h0XG4vLyAgKiBAcmV0dXJuIHtzdHJpbmd9XG4vLyAgKi9cbkBmdW5jdGlvbiBiX3ByZXZfYnJlYWtwb2ludF9uYW1lKCRicmVha3BvaW50X25hbWUsICRpc19oZWlnaHQpIHtcbiAgQHJldHVybiBiX2FkamFjZW50X2JyZWFrcG9pbnRfbmFtZSgkYnJlYWtwb2ludF9uYW1lLCAtMSwgJGlzX2hlaWdodCk7XG59XG5cblxuLy8gLyoqXG4vLyAgKiBHZXQgc2l6ZSBvZiBuZXh0IGxhcmdlc3QgYnJlYWtwb2ludCBhZGphY2VudCB0byBpbnB1dCBicmVha3BvaW50XG4vLyAgKiBAcGFyYW0ge3N0cmluZ30gJGJyZWFrcG9pbnRfbmFtZVxuLy8gICogQHBhcmFtIHtib29sfSAkaXNfaGVpZ2h0XG4vLyAgKiBAcmV0dXJuIHtzdHJpbmd9XG4vLyAgKi9cbkBmdW5jdGlvbiBiX25leHRfYnJlYWtwb2ludF9zaXplKCRicmVha3BvaW50X25hbWUsICRpc19oZWlnaHQpIHtcbiAgQHJldHVybiBiX2FkamFjZW50X2JyZWFrcG9pbnRfc2l6ZSgkYnJlYWtwb2ludF9uYW1lLCAxLCAkaXNfaGVpZ2h0KTtcbn1cblxuXG4vLyAvKipcbi8vICAqIEdldCBuYW1lIG9mIG5leHQgbGFyZ2VzdCBicmVha3BvaW50IGFkamFjZW50IHRvIGlucHV0IGJyZWFrcG9pbnRcbi8vICAqIEBwYXJhbSB7c3RyaW5nfSAkYnJlYWtwb2ludF9uYW1lXG4vLyAgKiBAcGFyYW0ge2Jvb2x9ICRpc19oZWlnaHRcbi8vICAqIEByZXR1cm4ge3N0cmluZ31cbi8vICAqL1xuQGZ1bmN0aW9uIGJfbmV4dF9icmVha3BvaW50X25hbWUoJGJyZWFrcG9pbnRfbmFtZSwgJGlzX2hlaWdodCkge1xuICBAcmV0dXJuIGJfYWRqYWNlbnRfYnJlYWtwb2ludF9uYW1lKCRicmVha3BvaW50X25hbWUsIDEsICRpc19oZWlnaHQpO1xufVxuXG5cbi8vIC8qKlxuLy8gICogSW5mZXIgYXhpcyBwcm9wZXJ0eSBmcm9tIGJyZWFrcG9pbnQgZGVzY3JpcHRpb25cbi8vICAqIEBwYXJhbSB7c3RyaW5nfSAkYnJlYWtwb2ludFxuLy8gICogQHJldHVybiB7c3RyaW5nfVxuLy8gICovXG5AZnVuY3Rpb24gYl9nZXRfYXhpc19wcm9wZXJ0eSgkYnJlYWtwb2ludCkge1xuICBAaWZcbiAgICBtZXRhLnR5cGVfb2YoJGJyZWFrcG9pbnQpID09IHN0cmluZ1xuICAgIGFuZCBsaXN0LmluZGV4KCRiX2hlaWdodF9wcm9wZXJ0eV9tYXJrZXJzLCBiX2dldF9maXJzdF93b3JkKCRicmVha3BvaW50KSlcbiAge1xuICAgIEByZXR1cm4gJ2hlaWdodCc7XG4gIH1cbiAgXG4gIEByZXR1cm4gJ3dpZHRoJztcbn1cblxuXG4vLyAvKipcbi8vICAqIEdldCBmaXJzdCB3b3JkIGluIHN0cmluZ1xuLy8gICogQHBhcmFtIHtzdHJpbmd9ICRzdHJpbmdcbi8vICAqIEByZXR1cm4ge3N0cmluZ31cbi8vICAqL1xuQGZ1bmN0aW9uIGJfZ2V0X2ZpcnN0X3dvcmQoJHN0cmluZykge1xuICAkZmlyc3Rfd29yZF9lbmRfaW5kZXg6IHN0cmluZy5pbmRleCgkc3RyaW5nLCAnICcpO1xuICBAaWYgJGZpcnN0X3dvcmRfZW5kX2luZGV4ID09IG51bGwge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICBcbiAgQHJldHVybiBzdHJpbmcuc2xpY2UoJHN0cmluZywgMSwgJGZpcnN0X3dvcmRfZW5kX2luZGV4IC0gMSk7XG59XG5cblxuLy8gLyoqXG4vLyAgKiBTdHJpcCBheGlzIHByb3BlcnR5IGZyb20gYnJlYWtwb2ludFxuLy8gICogQHBhcmFtIHtzdHJpbmd9ICRicmVha3BvaW50XG4vLyAgKiBAcmV0dXJuIHtzdHJpbmd9XG4vLyAgKi9cbkBmdW5jdGlvbiBiX3JlbW92ZV9heGlzX3Byb3BlcnR5KCRicmVha3BvaW50KSB7XG4gIEBpZlxuICAgIG1ldGEudHlwZV9vZigkYnJlYWtwb2ludCkgPT0gc3RyaW5nXG4gICAgYW5kIGxpc3QuaW5kZXgoXG4gICAgICBsaXN0LmpvaW4oJGJfd2lkdGhfcHJvcGVydHlfbWFya2VycywgJGJfaGVpZ2h0X3Byb3BlcnR5X21hcmtlcnMpLFxuICAgICAgYl9nZXRfZmlyc3Rfd29yZCgkYnJlYWtwb2ludClcbiAgICApXG4gIHtcbiAgICAkYnJlYWtwb2ludDogc3RyaW5nLnNsaWNlKCRicmVha3BvaW50LCBzdHJpbmcuaW5kZXgoJGJyZWFrcG9pbnQsICcgJykgKyAxKTtcbiAgfVxuICBAcmV0dXJuICRicmVha3BvaW50O1xufVxuXG5cbi8vIC8qKlxuLy8gICogQ29udmVydCBwZXJjZW50YWdlIHRvIHBpeGVsc1xuLy8gICogQHBhcmFtIHtudW1iZXJ9ICR2YWx1ZVxuLy8gICogQHJldHVybiB7bnVtYmVyfVxuLy8gICovXG5AZnVuY3Rpb24gYl9wZXJjZW50X3RvX3B4KCR2YWx1ZSkge1xuICBAaWYgbWF0aC5pc191bml0bGVzcygkdmFsdWUpIHtcbiAgICAkdmFsdWU6ICgkdmFsdWUgKiAxcHgpO1xuICB9XG4gIEBpZiBtYXRoLnVuaXQoJHZhbHVlKSAhPSAnJScge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG4gIFxuICBAcmV0dXJuIChiX3N0cmlwX3VuaXRzKGNhbGMoJHZhbHVlIC8gMTAwKSkgKiAkZ2xvYmFsX2ZvbnRfc2l6ZSk7XG59XG5cblxuLy8gLyoqXG4vLyAgKiBDb252ZXJ0IHBpeGVscyB0byBlbXNcbi8vICAqIEBwYXJhbSB7bnVtYmVyfSAkdmFsdWVcbi8vICAqIEByZXR1cm4ge251bWJlcn1cbi8vICAqL1xuQGZ1bmN0aW9uIGJfcHhfdG9fZW0oJHZhbHVlKSB7XG4gIEBpZiBiX2lzX3plcm8oJHZhbHVlKSB7XG4gICAgQHJldHVybiAwO1xuICB9XG4gIFxuICBAaWYgbWF0aC5pc191bml0bGVzcygkdmFsdWUpIHtcbiAgICAkdmFsdWU6ICgkdmFsdWUgKiAxcHgpO1xuICB9XG4gIEBpZiBtYXRoLnVuaXQoJHZhbHVlKSAhPSAncHgnIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuICBcbiAgJGdsb2JhbF9mb250X3NpemVfcHg6IGJfcGVyY2VudF90b19weCgkZ2xvYmFsX2ZvbnRfc2l6ZSk7XG4gICRlbTogKG1hdGgucm91bmQoY2FsYygoKCR2YWx1ZSAvICRnbG9iYWxfZm9udF9zaXplX3B4KSAqIDEwMDAwKSAvIDEwMDAwKSkpO1xuICBAcmV0dXJuICgkZW0gKiAxZW0pO1xufVxuXG5cbi8vIC8qKlxuLy8gICogQ29udmVydCBlbXMgdG8gcGl4ZWxzXG4vLyAgKiBAcGFyYW0ge251bWJlcn0gJHZhbHVlXG4vLyAgKiBAcmV0dXJuIHtudW1iZXJ9XG4vLyAgKi9cbkBmdW5jdGlvbiBiX2VtX3RvX3B4KCR2YWx1ZSkge1xuICBAaWYgYl9pc196ZXJvKCR2YWx1ZSkge1xuICAgIEByZXR1cm4gMDtcbiAgfVxuICBcbiAgQGlmIG1hdGguaXNfdW5pdGxlc3MoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiAoJHZhbHVlICogMWVtKTtcbiAgfVxuICBAaWYgbWF0aC51bml0KCR2YWx1ZSkgIT0gJ2VtJyB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cbiAgXG4gICRnbG9iYWxfZm9udF9zaXplX3B4OiBiX3BlcmNlbnRfdG9fcHgoJGdsb2JhbF9mb250X3NpemUpO1xuICAkcHg6IChjYWxjKCR2YWx1ZSAvIDFlbSkgKiAkZ2xvYmFsX2ZvbnRfc2l6ZV9weCk7XG4gIEByZXR1cm4gJHB4O1xufVxuXG5cbi8vIC8qKlxuLy8gICogSXMgdGhpcyB2YWx1ZSB6ZXJvP1xuLy8gICogQHBhcmFtIHttaXhlZH0gJHZhbHVlXG4vLyAgKiBAcmV0dXJuIHtib29sfVxuLy8gICovXG5AZnVuY3Rpb24gYl9pc196ZXJvKCR2YWx1ZSkge1xuICBAcmV0dXJuXG4gICAgbWV0YS50eXBlX29mKCR2YWx1ZSkgPT0gbnVtYmVyXG4gICAgYW5kIGJfc3RyaXBfdW5pdHMoJHZhbHVlKSA9PSAwXG4gIDtcbn1cblxuXG4vLyAvKipcbi8vICAqIFN0cmlwIHVuaXRzIGZyb20gbnVtYmVyXG4vLyAgKiBAcGFyYW0ge251bWJlcn0gJG51bWJlclxuLy8gICogQHJldHVybiB7dW5pdGxlc3MgbnVtYmVyfVxuLy8gICovXG5AZnVuY3Rpb24gYl9zdHJpcF91bml0cygkbnVtYmVyKSB7XG4gIEBpZlxuICAgIG1ldGEudHlwZV9vZigkbnVtYmVyKSA9PSBudW1iZXJcbiAgICBhbmQgbm90IG1hdGguaXNfdW5pdGxlc3MoJG51bWJlcilcbiAge1xuICAgICRudW1fbGVuZ3RoOiBzdHJpbmcubGVuZ3RoKCN7JG51bWJlcn0pO1xuICAgICR1bml0X2xlbmd0aDogc3RyaW5nLmxlbmd0aChtYXRoLnVuaXQoJG51bWJlcikpO1xuICAgICR1bml0bGVzczogc3RyaW5nLnNsaWNlKCN7JG51bWJlcn0sIDEsICgkbnVtX2xlbmd0aCAtICR1bml0X2xlbmd0aCkpO1xuICAgIEByZXR1cm4gYl9jb252ZXJ0X3RvX251bWJlcigkdW5pdGxlc3MpO1xuICB9XG4gIC8vIEB3YXJuICdcIiN7JG51bWJlcn1cIiBpcyBub3QgYSBudW1iZXIsIG9yIGl0IGRvZXMgbm90IGhhdmUgYW55IHVuaXRzIHRvIHN0cmlwIGF3YXkuJztcbiAgQHJldHVybiAkbnVtYmVyO1xufVxuXG5cbi8vIC8qKlxuLy8gICogSXMgdGhpcyBhIG51bWJlciBhcyBhIHN0cmluZz9cbi8vICAqIEBwYXJhbSB7bWl4ZWR9ICR2YWx1ZVxuLy8gICogQHJldHVybiB7Ym9vbH1cbi8vICAqL1xuQGZ1bmN0aW9uIGJfaXNfbnVtYmVyX2FzX3N0cmluZygkdmFsdWUpIHtcbiAgJGZpcnN0X2NoYXJhY3Rlcjogc3RyaW5nLnNsaWNlKCR2YWx1ZSwgMSwgMSk7XG4gICRzZWNvbmRfY2hhcmFjdGVyOiBzdHJpbmcuc2xpY2UoJHZhbHVlLCAyLCAyKTtcbiAgJG51bWJlcnM6ICgnMCc6IDAsICcxJzogMSwgJzInOiAyLCAnMyc6IDMsICc0JzogNCwgJzUnOiA1LCAnNic6IDYsICc3JzogNywgJzgnOiA4LCAnOSc6IDkpO1xuICBcbiAgQGlmIGxpc3QuaW5kZXgobWFwLmtleXMoJG51bWJlcnMpLCAkZmlyc3RfY2hhcmFjdGVyKSAhPSBudWxsIHtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cbiAgXG4gIEBpZlxuICAgICRmaXJzdF9jaGFyYWN0ZXIgPT0gJy0nXG4gICAgYW5kIGxpc3QuaW5kZXgobWFwLmtleXMoJG51bWJlcnMpLCAkc2Vjb25kX2NoYXJhY3RlcikgIT0gbnVsbFxuICB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIFxuICBAcmV0dXJuIGZhbHNlO1xufVxuXG5cbi8vIC8qKlxuLy8gICogQ29udmVydCBzdHJpbmcgdG8gbnVtYmVyXG4vLyAgKiBAbGluayBodHRwczovL2h1Z29naXJhdWRlbC5jb20vMjAxNC8wMS8xNS9zYXNzX3N0cmluZ190b19udW1iZXIvXG4vLyAgKiBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vICAqIEBwYXJhbSB7U3RyaW5nIHwgTnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBiZSBwYXJzZWRcbi8vICAqIEByZXR1cm4ge051bWJlcn1cbi8vICAqL1xuQGZ1bmN0aW9uIGJfY29udmVydF90b19udW1iZXIoJHZhbHVlKSB7XG4gIEBpZiBtZXRhLnR5cGVfb2YoJHZhbHVlKSA9PSBudW1iZXIge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9IEBlbHNlIGlmIG1ldGEudHlwZV9vZigkdmFsdWUpICE9IHN0cmluZyB7XG4gICAgQGVycm9yICdWYWx1ZSBmb3IgYl9jb252ZXJ0X3RvX251bWJlcigpIHNob3VsZCBiZSBhIG51bWJlciBvciBhIHN0cmluZyc7XG4gIH1cbiAgXG4gICRyZXN1bHQ6IDA7XG4gICRkaWdpdHM6IDA7XG4gICRpc19uZWdhdGl2ZTogc3RyaW5nLnNsaWNlKCR2YWx1ZSwgMSwgMSkgPT0gJy0nO1xuICAkbnVtYmVyczogKCcwJzogMCwgJzEnOiAxLCAnMic6IDIsICczJzogMywgJzQnOiA0LCAnNSc6IDUsICc2JzogNiwgJzcnOiA3LCAnOCc6IDgsICc5JzogOSk7XG4gIFxuICBAZm9yICRpIGZyb20gaWYoJGlzX25lZ2F0aXZlLCAyLCAxKSB0aHJvdWdoIHN0cmluZy5sZW5ndGgoJHZhbHVlKSB7XG4gICAgJGNoYXJhY3Rlcjogc3RyaW5nLnNsaWNlKCR2YWx1ZSwgJGksICRpKTtcbiAgICBcbiAgICBAaWYgbm90IChcbiAgICAgICRjaGFyYWN0ZXIgPT0gJy4nXG4gICAgICBvciBsaXN0LmluZGV4KG1hcC5rZXlzKCRudW1iZXJzKSwgJGNoYXJhY3RlcilcbiAgICApIHtcbiAgICAgIEByZXR1cm4gYl9hcHBlbmRfdW5pdF90b192YWx1ZShpZigkaXNfbmVnYXRpdmUsICgkcmVzdWx0ICogLTEpLCAkcmVzdWx0KSwgc3RyaW5nLnNsaWNlKCR2YWx1ZSwgJGkpKTtcbiAgICB9XG4gICAgXG4gICAgQGlmICRjaGFyYWN0ZXIgPT0gJy4nIHtcbiAgICAgICRkaWdpdHM6IDE7XG4gICAgfSBAZWxzZSBpZiAkZGlnaXRzID09IDAge1xuICAgICAgJHJlc3VsdDogKCgkcmVzdWx0ICogMTApICsgbWFwLmdldCgkbnVtYmVycywgJGNoYXJhY3RlcikpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJGRpZ2l0czogKCRkaWdpdHMgKiAxMCk7XG4gICAgICAkcmVzdWx0OiAoJHJlc3VsdCArIGNhbGMobWFwLmdldCgkbnVtYmVycywgJGNoYXJhY3RlcikgLyAkZGlnaXRzKSk7XG4gICAgfVxuICB9XG4gIFxuICBAcmV0dXJuIGlmKCRpc19uZWdhdGl2ZSwgKCRyZXN1bHQgKiAtMSksICRyZXN1bHQpO1xufVxuXG5cbi8vIC8qKlxuLy8gICogQXBwZW5kIHVuaXQgdG8gbnVtZXJpYyB2YWx1ZVxuLy8gICogQGxpbmsgaHR0cHM6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTQvMDEvMTUvc2Fzc19zdHJpbmdfdG9fbnVtYmVyL1xuLy8gICogQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLyAgKiBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYWRkIHVuaXQgdG9cbi8vICAqIEBwYXJhbSB7U3RyaW5nfSAkdW5pdCAtIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgdW5pdFxuLy8gICogQHJldHVybiB7TnVtYmVyfSAtIGAkdmFsdWVgIGV4cHJlc3NlZCBpbiBgJHVuaXRgXG4vLyAgKi9cbkBmdW5jdGlvbiBiX2FwcGVuZF91bml0X3RvX3ZhbHVlKCR2YWx1ZSwgJHVuaXQpIHtcbiAgJHVuaXRzOiAoJ3B4JzogMXB4LCAnY20nOiAxY20sICdtbSc6IDFtbSwgJyUnOiAxJSwgJ2NoJzogMWNoLCAncGMnOiAxcGMsICdpbic6IDFpbiwgJ2VtJzogMWVtLCAncmVtJzogMXJlbSwgJ3B0JzogMXB0LCAnZXgnOiAxZXgsICd2dyc6IDF2dywgJ3ZoJzogMXZoLCAndm1pbic6IDF2bWluLCAndm1heCc6IDF2bWF4KTtcbiAgQGlmIG5vdCBsaXN0LmluZGV4KG1hcC5rZXlzKCR1bml0cyksICR1bml0KSB7XG4gICAgQGVycm9yICdJbnZhbGlkIHVuaXQ6ICN7JHVuaXR9JztcbiAgfVxuICBcbiAgQHJldHVybiAoJHZhbHVlICogbWFwLmdldCgkdW5pdHMsICR1bml0KSk7XG59XG5cblxuLy8gLyoqXG4vLyAgKiBUaHJvdyBlcnJvciBmb3IgdW5kZWZpbmVkIGJyZWFrcG9pbnRcbi8vICAqIEBwYXJhbSB7c3RyaW5nfSAkYnJlYWtwb2ludF9uYW1lXG4vLyAgKiBAcmV0dXJuIHtzdHJpbmd9XG4vLyAgKi9cbkBmdW5jdGlvbiBiX3Vua25vd25fYnJlYWtwb2ludF9lcnJvcigkYnJlYWtwb2ludF9uYW1lKSB7XG4gIEByZXR1cm4gJ1Vua25vd24gYnJlYWtwb2ludCBuYW1lOiAjeyRicmVha3BvaW50X25hbWV9Jztcbn1cblxuXG4vLyAvKipcbi8vICAqIFRocm93IGVycm9yIGZvciB0b28gbWFueSBicmVha3BvaW50cyBzcGVjaWZpZWQgZm9yIG9wZXJhdG9yXG4vLyAgKiBAcGFyYW0ge3N0cmluZ30gJGJyZWFrcG9pbnRfbmFtZVxuLy8gICogQHJldHVybiB7c3RyaW5nfVxuLy8gICovXG5AZnVuY3Rpb24gYl90b29fbWFueV9hcmd1bWVudHNfZXJyb3IoJGJyZWFrcG9pbnRfbmFtZSkge1xuICBAcmV0dXJuICdUb28gbWFueSBicmVha3BvaW50IG5hbWVzIGluIG1lZGlhIHF1ZXJ5OiAjeyRicmVha3BvaW50X25hbWV9Jztcbn1cblxuXG4vLyAvKipcbi8vICAqIEdlbmVyYXRlIG1lZGlhIHF1ZXJ5XG4vLyAgKiBAcGFyYW0ge3N0cmluZy9udW1iZXJ9ICRicmVha3BvaW50XG4vLyAgKiBAcGFyYW0ge251bWJlcn0gJHNjYWxlXG4vLyAgKiBAcmV0dXJuIHtzdHJpbmd9XG4vLyAgKi9cbkBmdW5jdGlvbiBiKCRicmVha3BvaW50LCAkc2NhbGU6IDApIHtcbiAgQHJldHVybiBicmVha2JlYXQoJGJyZWFrcG9pbnQsICRzY2FsZSk7XG59XG5cblxuLy8gLyoqXG4vLyAgKiBHZW5lcmF0ZSBtZWRpYSBxdWVyeVxuLy8gICogQHBhcmFtIHtzdHJpbmcvbnVtYmVyfSAkYnJlYWtwb2ludFxuLy8gICogQHBhcmFtIHtudW1iZXJ9ICRzY2FsZVxuLy8gICogQHBhcmFtIHtib29sfSAkYWxsb3dfbnVsbFxuLy8gICogQHBhcmFtIHtib29sfSAkcmV0dXJuX3NpemVcbi8vICAqIEByZXR1cm4ge3N0cmluZ31cbi8vICAqL1xuQGZ1bmN0aW9uIGJyZWFrYmVhdCgkYnJlYWtwb2ludCwgJHNjYWxlOiAwLCAkYWxsb3dfbnVsbDogZmFsc2UsICRyZXR1cm5fc2l6ZTogZmFsc2UpIHtcbiAgJGlzX2hlaWdodDogZmFsc2U7XG4gICRicmVha3BvaW50c19tYXA6ICRicmVha3BvaW50cztcbiAgXG4gIC8vIFNldCBheGlzIHByb3BlcnR5IGFuZCByZW1vdmUgb3Bwb3NpdGUgYXhpcyBmcm9tIGJyZWFrcG9pbnRzIG1hcFxuICAkYXhpc19wcm9wZXJ0eTogYl9nZXRfYXhpc19wcm9wZXJ0eSgkYnJlYWtwb2ludCk7XG4gIEBpZiAkYXhpc19wcm9wZXJ0eSA9PSAnaGVpZ2h0JyB7XG4gICAgJGlzX2hlaWdodDogdHJ1ZTtcbiAgICAkYnJlYWtwb2ludHNfbWFwOiBiX2dldF9oZWlnaHRfYnJlYWtwb2ludHNfbWFwKCRicmVha3BvaW50c19tYXApO1xuICB9IEBlbHNlIHtcbiAgICAkYnJlYWtwb2ludHNfbWFwOiBtYXAucmVtb3ZlKCRicmVha3BvaW50c19tYXAsICRoZWlnaHRfYnJlYWtwb2ludHNfa2V5KTtcbiAgfVxuICAkYnJlYWtwb2ludDogYl9yZW1vdmVfYXhpc19wcm9wZXJ0eSgkYnJlYWtwb2ludCk7XG4gIFxuICAvLyBQYXJzZSBvcGVyYXRvciBhbmQgYnJlYWtwb2ludCBuYW1lXG4gICRvcGVyYXRvcjogJz49JztcbiAgJGJyZWFrcG9pbnRfbmFtZTogJGJyZWFrcG9pbnQ7XG4gIEBpZlxuICAgIG1ldGEudHlwZV9vZigkYnJlYWtwb2ludCkgPT0gc3RyaW5nXG4gICAgYW5kIG5vdCBiX2lzX251bWJlcl9hc19zdHJpbmcoJGJyZWFrcG9pbnQpXG4gIHtcbiAgICBAaWYgc3RyaW5nLmluZGV4KCRicmVha3BvaW50LCAnICcpICE9IG51bGwge1xuICAgICAgJG9wZXJhdG9yOiBzdHJpbmcuc2xpY2UoJGJyZWFrcG9pbnQsIDEsIHN0cmluZy5pbmRleCgkYnJlYWtwb2ludCwgJyAnKSAtIDEpO1xuICAgICAgJGJyZWFrcG9pbnRfbmFtZTogc3RyaW5nLnNsaWNlKCRicmVha3BvaW50LCBzdHJpbmcuaW5kZXgoJGJyZWFrcG9pbnQsICcgJykgKyAxKTtcbiAgICB9XG4gICAgXG4gICAgQGlmXG4gICAgICBzdHJpbmcuaW5kZXgoJGJyZWFrcG9pbnRfbmFtZSwgJyAnKVxuICAgICAgYW5kIGxpc3QuaW5kZXgoKCc+PCcsICc8PicpLCAkb3BlcmF0b3IpID09IG51bGxcbiAgICB7XG4gICAgICBAZXJyb3IgYl90b29fbWFueV9hcmd1bWVudHNfZXJyb3IoJGJyZWFrcG9pbnRfbmFtZSk7XG4gICAgfVxuICB9XG4gIFxuICAvLyBHZXQgbnVtZXJpY2FsIHZhbHVlIG9mIGJyZWFrcG9pbnRcbiAgJGJyZWFrcG9pbnRfc2l6ZTogbnVsbDtcbiAgQGlmIG1ldGEudHlwZV9vZigkYnJlYWtwb2ludF9uYW1lKSA9PSBzdHJpbmcge1xuICAgIEBpZiBub3QgYl9pc19udW1iZXJfYXNfc3RyaW5nKCRicmVha3BvaW50X25hbWUpIHtcbiAgICAgICRicmVha3BvaW50X3NpemU6IG1hcC5nZXQoJGJyZWFrcG9pbnRzX21hcCwgJGJyZWFrcG9pbnRfbmFtZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkYnJlYWtwb2ludF9zaXplOiBiX2NvbnZlcnRfdG9fbnVtYmVyKCRicmVha3BvaW50X25hbWUpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgJGJyZWFrcG9pbnRfc2l6ZTogJGJyZWFrcG9pbnRfbmFtZTtcbiAgfVxuICBAaWZcbiAgICAkYnJlYWtwb2ludF9zaXplID09IG51bGxcbiAgICBhbmQgc3RyaW5nLmluZGV4KCRicmVha3BvaW50X25hbWUsICcgJykgPT0gbnVsbFxuICB7XG4gICAgQGVycm9yIGJfdW5rbm93bl9icmVha3BvaW50X2Vycm9yKCRicmVha3BvaW50X25hbWUpO1xuICB9XG4gIFxuICAvLyBCdWlsZCBtZWRpYSBxdWVyeVxuICAkbWVkaWFfcXVlcnk6IG51bGw7XG4gIFxuICAvLyBUaGlzIGJyZWFrcG9pbnQgYW5kIGxhcmdlcjogPj1cbiAgQGlmICRvcGVyYXRvciA9PSAnPj0nIHtcbiAgICBAaWYgJHNjYWxlICE9IDAge1xuICAgICAgJG5leHRfc2l6ZTogYl9uZXh0X2JyZWFrcG9pbnRfc2l6ZSgkYnJlYWtwb2ludF9uYW1lLCAkaXNfaGVpZ2h0KTtcbiAgICAgICRicmVha3BvaW50X3NpemU6IG1hdGgucm91bmQoJGJyZWFrcG9pbnRfc2l6ZSArICgoJG5leHRfc2l6ZSAtICRicmVha3BvaW50X3NpemUpICogJHNjYWxlKSk7XG4gICAgfVxuICAgIEBpZiAkb3V0cHV0X2VtX3F1ZXJpZXMge1xuICAgICAgJGJyZWFrcG9pbnRfc2l6ZTogYl9weF90b19lbSgkYnJlYWtwb2ludF9zaXplKTtcbiAgICB9XG4gICAgQGlmIG5vdCBiX2lzX3plcm8oJGJyZWFrcG9pbnRfc2l6ZSkge1xuICAgICAgJG1lZGlhX3F1ZXJ5OiAnbWluLSN7JGF4aXNfcHJvcGVydHl9OiAjeyRicmVha3BvaW50X3NpemV9JztcbiAgICB9XG4gIH1cbiAgXG4gIC8vIExhcmdlciB0aGFuIHRoaXMgYnJlYWtwb2ludDogPlxuICBAZWxzZSBpZiAkb3BlcmF0b3IgPT0gJz4nIHtcbiAgICAkbmV4dF9zaXplOiBiX25leHRfYnJlYWtwb2ludF9zaXplKCRicmVha3BvaW50X25hbWUsICRpc19oZWlnaHQpO1xuICAgIFxuICAgIEBpZiAkc2NhbGUgIT0gMCB7XG4gICAgICAkbmV4dF9uYW1lOiBiX25leHRfYnJlYWtwb2ludF9uYW1lKCRicmVha3BvaW50X25hbWUsICRpc19oZWlnaHQpO1xuICAgICAgJG5leHRfbmV4dF9uYW1lOiBiX25leHRfYnJlYWtwb2ludF9uYW1lKCRuZXh0X25hbWUsICRpc19oZWlnaHQpO1xuICAgICAgJG5leHRfbmV4dF9zaXplOiBiX25leHRfYnJlYWtwb2ludF9zaXplKCRuZXh0X25hbWUsICRpc19oZWlnaHQpO1xuICAgICAgJG5leHRfc2l6ZTogbWF0aC5yb3VuZCgkbmV4dF9zaXplICsgKCgkbmV4dF9uZXh0X3NpemUgLSAkbmV4dF9zaXplKSAqICRzY2FsZSkpO1xuICAgIH1cbiAgICBcbiAgICBAaWYgJG91dHB1dF9lbV9xdWVyaWVzIHtcbiAgICAgICRuZXh0X3NpemU6IGJfcHhfdG9fZW0oJG5leHRfc2l6ZSk7XG4gICAgfVxuICAgIFxuICAgICRtZWRpYV9xdWVyeTogJ21pbi0jeyRheGlzX3Byb3BlcnR5fTogI3skbmV4dF9zaXplfSc7XG4gIH1cbiAgXG4gIC8vIFRoaXMgYnJlYWtwb2ludCBhbmQgc21hbGxlcjogPD1cbiAgQGVsc2UgaWYgJG9wZXJhdG9yID09ICc8PScge1xuICAgICRuZXh0X3NpemU6IGJfbmV4dF9icmVha3BvaW50X3NpemUoJGJyZWFrcG9pbnRfbmFtZSwgJGlzX2hlaWdodCk7XG4gICAgXG4gICAgQGlmICRzY2FsZSAhPSAwIHtcbiAgICAgICRuZXh0X3NpemU6IG1hdGgucm91bmQoJGJyZWFrcG9pbnRfc2l6ZSArICgoJG5leHRfc2l6ZSAtICRicmVha3BvaW50X3NpemUpICogJHNjYWxlKSk7XG4gICAgfVxuICAgIFxuICAgIEBpZiAkbmV4dF9zaXplICE9ICRicmVha3BvaW50X3NpemUge1xuICAgICAgJG5leHRfc2l6ZTogKCRuZXh0X3NpemUgLSAxcHgpO1xuICAgICAgXG4gICAgICBAaWYgJG91dHB1dF9lbV9xdWVyaWVzIHtcbiAgICAgICAgJG5leHRfc2l6ZTogYl9weF90b19lbSgkbmV4dF9zaXplKTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgJG1lZGlhX3F1ZXJ5OiAnbWF4LSN7JGF4aXNfcHJvcGVydHl9OiAjeyRuZXh0X3NpemV9JztcbiAgICB9XG4gIH1cbiAgXG4gIC8vIFNtYWxsZXIgdGhhbiB0aGlzIGJyZWFrcG9pbnQ6IDxcbiAgQGVsc2UgaWYgJG9wZXJhdG9yID09ICc8JyB7XG4gICAgQGlmICRzY2FsZSAhPSAwIHtcbiAgICAgICRwcmV2X3NpemU6IGJfcHJldl9icmVha3BvaW50X3NpemUoJGJyZWFrcG9pbnRfbmFtZSwgJGlzX2hlaWdodCk7XG4gICAgICAkYnJlYWtwb2ludF9zaXplOiBtYXRoLnJvdW5kKCRicmVha3BvaW50X3NpemUgLSAoKCRicmVha3BvaW50X3NpemUgLSAkcHJldl9zaXplKSAqICRzY2FsZSkpO1xuICAgIH1cbiAgICBAaWYgJGJyZWFrcG9pbnRfc2l6ZSA8PSAwIHtcbiAgICAgICRicmVha3BvaW50X3NpemU6IGJfbmV4dF9icmVha3BvaW50X3NpemUoJGJyZWFrcG9pbnRfbmFtZSwgJGlzX2hlaWdodCk7XG4gICAgfVxuICAgICRicmVha3BvaW50X3NpemU6ICgkYnJlYWtwb2ludF9zaXplIC0gMXB4KTtcbiAgICBcbiAgICBAaWYgJG91dHB1dF9lbV9xdWVyaWVzIHtcbiAgICAgICRicmVha3BvaW50X3NpemU6IGJfcHhfdG9fZW0oJGJyZWFrcG9pbnRfc2l6ZSk7XG4gICAgfVxuICAgIFxuICAgICRtZWRpYV9xdWVyeTogJ21heC0jeyRheGlzX3Byb3BlcnR5fTogI3skYnJlYWtwb2ludF9zaXplfSc7XG4gIH1cbiAgXG4gIC8vIEJldHdlZW4gdHdvIGJyZWFrcG9pbnRzLCBpbmNsdXNpdmU6ID48XG4gIEBlbHNlIGlmICRvcGVyYXRvciA9PSAnPjwnIHtcbiAgICBAaWYgc3RyaW5nLmluZGV4KCRicmVha3BvaW50X25hbWUsICcgJykgPT0gbnVsbCB7XG4gICAgICBAZXJyb3IgJ0JldHdlZW4gPjwgb3BlcmF0b3IgcmVxdWlyZXMgdHdvIGJyZWFrcG9pbnQgbmFtZXMnO1xuICAgIH1cbiAgICBcbiAgICAkZmlyc3RfbmFtZTogc3RyaW5nLnNsaWNlKCRicmVha3BvaW50X25hbWUsIDEsIHN0cmluZy5pbmRleCgkYnJlYWtwb2ludF9uYW1lLCAnICcpIC0gMSk7XG4gICAgJHNlY29uZF9uYW1lOiBzdHJpbmcuc2xpY2UoJGJyZWFrcG9pbnRfbmFtZSwgc3RyaW5nLmluZGV4KCRicmVha3BvaW50X25hbWUsICcgJykgKyAxKTtcbiAgICAkYnJlYWtwb2ludF9zaXplOiBtYXAuZ2V0KCRicmVha3BvaW50c19tYXAsICRmaXJzdF9uYW1lKTtcbiAgICAkbmV4dF9uYW1lOiBiX25leHRfYnJlYWtwb2ludF9uYW1lKCRzZWNvbmRfbmFtZSwgJGlzX2hlaWdodCk7XG4gICAgJG5leHRfc2l6ZTogKGJfbmV4dF9icmVha3BvaW50X3NpemUoJHNlY29uZF9uYW1lLCAkaXNfaGVpZ2h0KSAtIDFweCk7XG4gICAgXG4gICAgQGlmICRvdXRwdXRfZW1fcXVlcmllcyB7XG4gICAgICAkYnJlYWtwb2ludF9zaXplOiBiX3B4X3RvX2VtKCRicmVha3BvaW50X3NpemUpO1xuICAgICAgJG5leHRfc2l6ZTogYl9weF90b19lbSgkbmV4dF9zaXplKTtcbiAgICB9XG4gICAgXG4gICAgQGlmXG4gICAgICBiX2lzX3plcm8oJGJyZWFrcG9pbnRfc2l6ZSlcbiAgICAgIGFuZCAkc2Vjb25kX25hbWUgIT0gJG5leHRfbmFtZVxuICAgIHtcbiAgICAgICRtZWRpYV9xdWVyeTogJ21heC0jeyRheGlzX3Byb3BlcnR5fTogI3skbmV4dF9zaXplfSc7XG4gICAgfSBAZWxzZSBpZlxuICAgICAgJG5leHRfbmFtZSAhPSAkZmlyc3RfbmFtZVxuICAgICAgYW5kICRicmVha3BvaW50X3NpemUgPCAkbmV4dF9zaXplXG4gICAgICBhbmQgJHNlY29uZF9uYW1lICE9ICRuZXh0X25hbWVcbiAgICB7XG4gICAgICAkbWVkaWFfcXVlcnk6ICdtaW4tI3skYXhpc19wcm9wZXJ0eX06ICN7JGJyZWFrcG9pbnRfc2l6ZX0pIGFuZCAobWF4LSN7JGF4aXNfcHJvcGVydHl9OiAjeyRuZXh0X3NpemV9JztcbiAgICB9IEBlbHNlIGlmIG5vdCBiX2lzX3plcm8oJGJyZWFrcG9pbnRfc2l6ZSkge1xuICAgICAgJG1lZGlhX3F1ZXJ5OiAnbWluLSN7JGF4aXNfcHJvcGVydHl9OiAjeyRicmVha3BvaW50X3NpemV9JztcbiAgICB9XG4gIH1cbiAgXG4gIC8vIE91dHNpZGUgb2YgYSBicmVha3BvaW50IG9yIGEgcmFuZ2Ugb2YgYnJlYWtwb2ludHM6IDw+XG4gIEBlbHNlIGlmICRvcGVyYXRvciA9PSAnPD4nIHtcbiAgICAkZmlyc3RfbmFtZTogJGJyZWFrcG9pbnRfbmFtZTtcbiAgICAkc2Vjb25kX25hbWU6ICRicmVha3BvaW50X25hbWU7XG4gICAgQGlmIHN0cmluZy5pbmRleCgkYnJlYWtwb2ludF9uYW1lLCAnICcpICE9IG51bGwge1xuICAgICAgJGZpcnN0X25hbWU6IHN0cmluZy5zbGljZSgkYnJlYWtwb2ludF9uYW1lLCAxLCBzdHJpbmcuaW5kZXgoJGJyZWFrcG9pbnRfbmFtZSwgJyAnKSAtIDEpO1xuICAgICAgJHNlY29uZF9uYW1lOiBzdHJpbmcuc2xpY2UoJGJyZWFrcG9pbnRfbmFtZSwgc3RyaW5nLmluZGV4KCRicmVha3BvaW50X25hbWUsICcgJykgKyAxKTtcbiAgICB9XG4gICAgXG4gICAgJGxvd2VyX3JhbmdlX3NpemU6IChtYXAuZ2V0KCRicmVha3BvaW50c19tYXAsICRmaXJzdF9uYW1lKSAtIDFweCk7XG4gICAgJHVwcGVyX3JhbmdlX25hbWU6IGJfbmV4dF9icmVha3BvaW50X25hbWUoJHNlY29uZF9uYW1lLCAkaXNfaGVpZ2h0KTtcbiAgICAkdXBwZXJfcmFuZ2Vfc2l6ZTogYl9uZXh0X2JyZWFrcG9pbnRfc2l6ZSgkc2Vjb25kX25hbWUsICRpc19oZWlnaHQpO1xuICAgIFxuICAgIEBpZiAkb3V0cHV0X2VtX3F1ZXJpZXMge1xuICAgICAgJGxvd2VyX3JhbmdlX3NpemU6IGJfcHhfdG9fZW0oJGxvd2VyX3JhbmdlX3NpemUpO1xuICAgICAgJHVwcGVyX3JhbmdlX3NpemU6IGJfcHhfdG9fZW0oJHVwcGVyX3JhbmdlX3NpemUpO1xuICAgIH1cbiAgICBcbiAgICBAaWZcbiAgICAgICRsb3dlcl9yYW5nZV9zaXplIDw9IDBcbiAgICAgIGFuZCAkc2Vjb25kX25hbWUgIT0gJHVwcGVyX3JhbmdlX25hbWVcbiAgICB7XG4gICAgICAkbWVkaWFfcXVlcnk6ICdtaW4tI3skYXhpc19wcm9wZXJ0eX06ICN7JHVwcGVyX3JhbmdlX3NpemV9JztcbiAgICB9IEBlbHNlIGlmXG4gICAgICAkdXBwZXJfcmFuZ2VfbmFtZSAhPSAkZmlyc3RfbmFtZVxuICAgICAgYW5kICRsb3dlcl9yYW5nZV9zaXplIDwgJHVwcGVyX3JhbmdlX3NpemVcbiAgICAgIGFuZCAkc2Vjb25kX25hbWUgIT0gJHVwcGVyX3JhbmdlX25hbWVcbiAgICB7XG4gICAgICAkbWVkaWFfcXVlcnk6ICdtYXgtI3skYXhpc19wcm9wZXJ0eX06ICN7JGxvd2VyX3JhbmdlX3NpemV9KSwgKG1pbi0jeyRheGlzX3Byb3BlcnR5fTogI3skdXBwZXJfcmFuZ2Vfc2l6ZX0nO1xuICAgIH0gQGVsc2UgaWYgbm90IGJfaXNfemVybygkbG93ZXJfcmFuZ2Vfc2l6ZSkge1xuICAgICAgJG1lZGlhX3F1ZXJ5OiAnbWF4LSN7JGF4aXNfcHJvcGVydHl9OiAjeyRsb3dlcl9yYW5nZV9zaXplfSc7XG4gICAgfVxuICB9XG4gIFxuICAvLyBXaXRoaW4gdGhpcyBicmVha3BvaW50IG9ubHk6ID1cbiAgQGVsc2UgaWYgbGlzdC5pbmRleCgoJz0nLCAnPT0nLCAnPT09JyksICRvcGVyYXRvcikge1xuICAgICRuZXh0X25hbWU6IGJfbmV4dF9icmVha3BvaW50X25hbWUoJGJyZWFrcG9pbnRfbmFtZSwgJGlzX2hlaWdodCk7XG4gICAgJG5leHRfc2l6ZTogYl9uZXh0X2JyZWFrcG9pbnRfc2l6ZSgkYnJlYWtwb2ludF9uYW1lLCAkaXNfaGVpZ2h0KTtcbiAgICBAaWYgJHNjYWxlIDwgMCB7XG4gICAgICAkbmV4dF9zaXplOiBtYXRoLnJvdW5kKCRicmVha3BvaW50X3NpemUgKyAoKCRuZXh0X3NpemUgLSAkYnJlYWtwb2ludF9zaXplKSAqIG1hdGguYWJzKCRzY2FsZSkpKTtcbiAgICB9IEBlbHNlIGlmICRzY2FsZSA+IDAge1xuICAgICAgJGJyZWFrcG9pbnRfc2l6ZTogbWF0aC5yb3VuZCgkYnJlYWtwb2ludF9zaXplICsgKCgkbmV4dF9zaXplIC0gJGJyZWFrcG9pbnRfc2l6ZSkgKiAkc2NhbGUpKTtcbiAgICB9XG4gICAgJG5leHRfc2l6ZTogKCRuZXh0X3NpemUgLSAxcHgpO1xuICAgIFxuICAgIEBpZiAkb3V0cHV0X2VtX3F1ZXJpZXMge1xuICAgICAgJGJyZWFrcG9pbnRfc2l6ZTogYl9weF90b19lbSgkYnJlYWtwb2ludF9zaXplKTtcbiAgICAgICRuZXh0X3NpemU6IGJfcHhfdG9fZW0oJG5leHRfc2l6ZSk7XG4gICAgfVxuICAgIFxuICAgIEBpZiBiX2lzX3plcm8oJGJyZWFrcG9pbnRfc2l6ZSkge1xuICAgICAgJG1lZGlhX3F1ZXJ5OiAnbWF4LSN7JGF4aXNfcHJvcGVydHl9OiAjeyRuZXh0X3NpemV9JztcbiAgICB9IEBlbHNlIGlmXG4gICAgICAkbmV4dF9uYW1lICE9ICRicmVha3BvaW50X25hbWVcbiAgICAgIGFuZCAkYnJlYWtwb2ludF9zaXplIDwgJG5leHRfc2l6ZVxuICAgIHtcbiAgICAgICRtZWRpYV9xdWVyeTogJ21pbi0jeyRheGlzX3Byb3BlcnR5fTogI3skYnJlYWtwb2ludF9zaXplfSkgYW5kIChtYXgtI3skYXhpc19wcm9wZXJ0eX06ICN7JG5leHRfc2l6ZX0nO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJG1lZGlhX3F1ZXJ5OiAnbWluLSN7JGF4aXNfcHJvcGVydHl9OiAjeyRicmVha3BvaW50X3NpemV9JztcbiAgICB9XG4gIH1cbiAgXG4gIEBpZiAkcmV0dXJuX3NpemUge1xuICAgIEByZXR1cm4gJGJyZWFrcG9pbnRfc2l6ZTtcbiAgfVxuICBcbiAgQGlmICRtZWRpYV9xdWVyeSA9PSBudWxsIHtcbiAgICBAaWYgJGFsbG93X251bGwge1xuICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgICBcbiAgICBAcmV0dXJuIHN0cmluZy51bnF1b3RlKCcobWluLSN7JGF4aXNfcHJvcGVydHl9OiAwKScpO1xuICB9XG4gIFxuICBAcmV0dXJuIHN0cmluZy51bnF1b3RlKCcoI3skbWVkaWFfcXVlcnl9KScpO1xufVxuXG5cbi8vIC8qKlxuLy8gICogT3V0cHV0IENTUyBydWxlcyB3cmFwcGVkIGluIG1lZGlhIHF1ZXJ5XG4vLyAgKiBAcGFyYW0ge3N0cmluZy9udW1iZXJ9ICRicmVha3BvaW50XG4vLyAgKiBAcGFyYW0ge251bWJlcn0gJHNjYWxlXG4vLyAgKi9cbkBtaXhpbiBiKCRicmVha3BvaW50LCAkc2NhbGU6IDApIHtcbiAgQGluY2x1ZGUgYnJlYWtiZWF0KCRicmVha3BvaW50LCAkc2NhbGUpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5cbi8vIC8qKlxuLy8gICogT3V0cHV0IENTUyBydWxlcyB3cmFwcGVkIGluIG1lZGlhIHF1ZXJ5XG4vLyAgKiBAcGFyYW0ge3N0cmluZy9udW1iZXJ9ICRicmVha3BvaW50XG4vLyAgKiBAcGFyYW0ge251bWJlcn0gJHNjYWxlXG4vLyAgKi9cbkBtaXhpbiBicmVha2JlYXQoJGJyZWFrcG9pbnQsICRzY2FsZTogMCkge1xuICAkbWVkaWFfcXVlcnk6IGJyZWFrYmVhdCgkYnJlYWtwb2ludCwgJHNjYWxlLCAkYWxsb3dfbnVsbDogdHJ1ZSk7XG4gICRheGlzX3Byb3BlcnR5OiBiX2dldF9heGlzX3Byb3BlcnR5KCRicmVha3BvaW50KTtcbiAgJGJyZWFrcG9pbnQ6IGJfcmVtb3ZlX2F4aXNfcHJvcGVydHkoJGJyZWFrcG9pbnQpO1xuICBcbiAgQGlmICRtZWRpYV9xdWVyeSAhPSBudWxsIHtcbiAgICBAbWVkaWEgI3skbWVkaWFfcXVlcnl9IHtcbiAgICAgIEBpZiAkb3V0cHV0X3F1ZXJ5X2NvbW1lbnRzIHtcbiAgICAgICAgJHJlcG9ydDogJGJyZWFrcG9pbnQ7XG4gICAgICAgIEBpZiAkc2NhbGUgIT0gMCB7XG4gICAgICAgICAgJHJlcG9ydDogJyN7JHJlcG9ydH0sIHNjYWxlICN7JHNjYWxlfSc7XG4gICAgICAgIH1cbiAgICAgICAgLyogI3skYXhpc19wcm9wZXJ0eX0gI3skcmVwb3J0fSAqL1xuICAgICAgfVxuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLmJhc2ljTGlnaHRib3h7cG9zaXRpb246Zml4ZWQ7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDB2aDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjgpO29wYWNpdHk6LjAxO3RyYW5zaXRpb246b3BhY2l0eSAuNHMgZWFzZTt6LWluZGV4OjEwMDA7d2lsbC1jaGFuZ2U6b3BhY2l0eX0uYmFzaWNMaWdodGJveC0tdmlzaWJsZXtvcGFjaXR5OjF9LmJhc2ljTGlnaHRib3hfX3BsYWNlaG9sZGVye21heC13aWR0aDoxMDAlO3RyYW5zZm9ybTpzY2FsZSguOSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjRzIGVhc2U7ei1pbmRleDoxO3dpbGwtY2hhbmdlOnRyYW5zZm9ybX0uYmFzaWNMaWdodGJveF9fcGxhY2Vob2xkZXI+aWZyYW1lOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQsLmJhc2ljTGlnaHRib3hfX3BsYWNlaG9sZGVyPmltZzpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkLC5iYXNpY0xpZ2h0Ym94X19wbGFjZWhvbGRlcj52aWRlbzpmaXJzdC1jaGlsZDpsYXN0LWNoaWxke2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDtib3R0b206MDtsZWZ0OjA7bWFyZ2luOmF1dG87bWF4LXdpZHRoOjk1JTttYXgtaGVpZ2h0Ojk1JX0uYmFzaWNMaWdodGJveF9fcGxhY2Vob2xkZXI+aWZyYW1lOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQsLmJhc2ljTGlnaHRib3hfX3BsYWNlaG9sZGVyPnZpZGVvOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGR7cG9pbnRlci1ldmVudHM6YXV0b30uYmFzaWNMaWdodGJveF9fcGxhY2Vob2xkZXI+aW1nOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQsLmJhc2ljTGlnaHRib3hfX3BsYWNlaG9sZGVyPnZpZGVvOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGR7d2lkdGg6YXV0bztoZWlnaHQ6YXV0b30uYmFzaWNMaWdodGJveC0taWZyYW1lIC5iYXNpY0xpZ2h0Ym94X19wbGFjZWhvbGRlciwuYmFzaWNMaWdodGJveC0taW1nIC5iYXNpY0xpZ2h0Ym94X19wbGFjZWhvbGRlciwuYmFzaWNMaWdodGJveC0tdmlkZW8gLmJhc2ljTGlnaHRib3hfX3BsYWNlaG9sZGVye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cG9pbnRlci1ldmVudHM6bm9uZX0uYmFzaWNMaWdodGJveC0tdmlzaWJsZSAuYmFzaWNMaWdodGJveF9fcGxhY2Vob2xkZXJ7dHJhbnNmb3JtOnNjYWxlKDEpfSJdfQ== */
