{"id":3360,"date":"2026-10-04T16:26:57","date_gmt":"2026-10-04T14:26:57","guid":{"rendered":"https:\/\/halalci.org\/?page_id=3360"},"modified":"2026-10-05T12:58:05","modified_gmt":"2026-10-05T10:58:05","slug":"verif","status":"publish","type":"page","link":"https:\/\/halalci.org\/en\/verif\/","title":{"rendered":"V\u00e9rif\u2019Halal CI"},"content":{"rendered":"\n<div id=\"vh\" class=\"vh\" data-build=\"1791197641\"><\/div><link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\"><link rel=\"stylesheet\" href=\"https:\/\/fonts.googleapis.com\/css2?family=Amiri:wght@400;700&#038;family=Figtree:wght@400;500;600;700&#038;family=Sora:wght@500;600;700&#038;display=swap\"><style>\/* V\u00e9rif'Halal CI : coque mobile plein \u00e9cran, 5 onglets, vert for\u00eat + or. *\/\n.vh,.vh *{box-sizing:border-box}\n.vh{--bg:#f1f6f2;--surface:#fff;--ink:#0c2416;--text:#4d5d52;--line:#dbe6de;--mist:#e7f1ea;--green:#1a9a2c;--on-green:#fff;--forest:#0b3a1d;--forest2:#115228;--gold:#d9b25f;--gold-ink:#8a6a1f;--ok-bg:#e1f4e5;--ok-ink:#0f6a1d;--warn-bg:#fdf0d6;--warn-ink:#7a5410;--bad-bg:#fde6e3;--bad-ink:#9a2a1c;--shadow:0 10px 30px rgba(11,58,29,.14);--d:\"Sora\",\"Poppins\",system-ui,sans-serif;--b:\"Figtree\",\"Poppins\",system-ui,sans-serif;--ar:\"Amiri\",\"Scheherazade New\",serif;\n  position:fixed;inset:0;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;background:var(--bg);color:var(--ink);font:400 15px\/1.5 var(--b);-webkit-text-size-adjust:100%}\n@media (prefers-color-scheme:dark){.vh{--bg:#07140c;--surface:#0f2116;--ink:#e8f1ea;--text:#a2b5a8;--line:#22392a;--mist:#14291b;--green:#34c24a;--on-green:#06140b;--forest:#0a2a15;--forest2:#0f3a1d;--gold-ink:#e5c47c;--ok-bg:#12341b;--ok-ink:#8fe29d;--warn-bg:#3a2d10;--warn-ink:#f0cd84;--bad-bg:#3d1713;--bad-ink:#ffb4a8;--shadow:0 10px 30px rgba(0,0,0,.45);color-scheme:dark}}\n.vh button{font:inherit;color:inherit;cursor:pointer}\n.vh a{color:inherit}\n.vh :focus-visible{outline:3px solid var(--gold);outline-offset:2px}\n.vh [hidden]{display:none!important}\n\n\/* en-t\u00eate *\/\n.vh-top{background:var(--forest);color:#fff;padding:calc(10px + env(safe-area-inset-top,0px)) 16px 12px;display:flex;align-items:center;gap:12px;position:relative;overflow:hidden}\n.vh-top:before{content:\"\";position:absolute;right:-30px;top:-40px;width:170px;height:170px;opacity:.14;background:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 100 100'%3E%3Cpath fill='none' stroke='%23d9b25f' stroke-width='2' d='M50 4l9 21 22-8-8 22 21 9-21 9 8 22-22-8-9 21-9-21-22 8 8-22-21-9 21-9-8-22 22 8z'\/%3E%3Cpath fill='none' stroke='%23d9b25f' stroke-width='1.5' d='M50 22l7 14 15-3-7 14 14 7-14 7 7 14-15-3-7 14-7-14-15 3 7-14-14-7 14-7-7-14 15 3z'\/%3E%3C\/svg%3E\") center\/contain no-repeat;pointer-events:none}\n.vh-logo{width:46px;height:46px;border-radius:14px;background:#fff;display:grid;place-items:center;flex:0 0 auto;padding:4px}\n.vh-logo img{width:100%;height:100%;object-fit:contain}\n.vh-brand{min-width:0;flex:1}\n.vh-brand b{display:block;font:700 19px\/1.1 var(--d);letter-spacing:-.01em}\n.vh-brand b i{font-style:normal;color:var(--gold)}\n.vh-brand small{display:block;font-size:12px;opacity:.78;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.vh-ctc{position:relative;z-index:1;background:var(--gold);color:#2b2108;border:0;border-radius:999px;padding:9px 14px;font:700 13px var(--b);display:flex;align-items:center;gap:6px}\n.vh-ctc svg{width:17px;height:17px}\n\n\/* contenu *\/\n.vh-main{min-height:0;position:relative}\n.vh-view{grid-auto-rows:max-content;position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;padding:16px 16px 28px;display:grid;gap:16px;align-content:start;-webkit-overflow-scrolling:touch}\n.vh-view>*{min-width:0}\n.vh h2{font:700 21px\/1.2 var(--d);margin:0;text-wrap:balance}\n.vh h3{font:600 16px\/1.3 var(--d);margin:0}\n.vh p{margin:0}\n.vh .sub{color:var(--text);font-size:14px}\n.vh .lbl{font:700 11.5px var(--b);letter-spacing:.08em;text-transform:uppercase;color:var(--gold-ink)}\n\n\/* nav *\/\n.vh-nav{display:grid;grid-template-columns:repeat(7,1fr);background:var(--surface);border-top:1px solid var(--line);padding:6px 4px calc(8px + env(safe-area-inset-bottom,0px))}\n.vh-tab{background:none;border:0;display:grid;justify-items:center;gap:2px;padding:6px 0;font:600 10.5px var(--b);color:var(--text);border-radius:12px;position:relative}\n.vh-tab svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}\n.vh-tab[aria-selected=\"true\"]{color:var(--green)}\n.vh-tab[aria-selected=\"true\"] svg{stroke-width:2.4}\n.vh-tab[aria-selected=\"true\"]:after{content:\"\";position:absolute;top:-7px;width:26px;height:3px;border-radius:2px;background:var(--gold)}\n\n\/* boutons \/ champs *\/\n.vh .btn{border:0;border-radius:14px;padding:12px 18px;font:600 15px var(--b);background:var(--green);color:var(--on-green);display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;text-decoration:none}\n.vh .btn.alt{background:var(--surface);color:var(--ink);border:1px solid var(--line)}\n.vh .btn.gold{background:var(--gold);color:#2b2108}\n.vh .btn.full{width:100%}\n.vh .btn svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}\n.vh input,.vh select,.vh textarea{width:100%;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:12px;padding:12px 14px;font:inherit;min-height:46px}\n.vh textarea{min-height:90px;resize:vertical}\n.vh .chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}\n.vh .chips::-webkit-scrollbar{display:none}\n.vh .chip{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:8px 14px;font:600 13px var(--b);color:var(--text);white-space:nowrap;flex:0 0 auto}\n.vh .chip[aria-pressed=\"true\"]{background:var(--forest);border-color:var(--forest);color:#fff}\n.vh .card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px;display:grid;gap:10px}\n.vh .skeleton{height:64px;border-radius:16px;background:linear-gradient(90deg,var(--mist),var(--surface),var(--mist));background-size:200% 100%;animation:sk 1.2s linear infinite}\n@keyframes sk{to{background-position:-200% 0}}\n@media (prefers-reduced-motion:reduce){.vh .skeleton{animation:none}}\n\n\/* accueil *\/\n.vh-hero{background:var(--forest);color:#fff;border-radius:24px;padding:20px 18px 18px;display:grid;gap:14px;position:relative;overflow:hidden}\n.vh-hero:after{content:\"\";position:absolute;right:-50px;bottom:-60px;width:210px;height:210px;opacity:.1;background:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 100 100'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2' d='M50 4l9 21 22-8-8 22 21 9-21 9 8 22-22-8-9 21-9-21-22 8 8-22-21-9 21-9-8-22 22 8z'\/%3E%3C\/svg%3E\") center\/contain no-repeat;pointer-events:none}\n.vh-hero h2{font-size:25px;color:#fff;position:relative;z-index:1}\n.vh-hero h2 em{font-style:normal;color:var(--gold)}\n.vh-hero p{color:#cfe3d4;font-size:14px;position:relative;z-index:1}\n.vh-hero .seal{position:absolute;right:14px;top:14px;width:64px;height:64px;z-index:1;transform:rotate(8deg)}\n.vh-hero .seal img{width:100%;height:100%;object-fit:contain}\n.vh-search{display:flex;gap:8px;position:relative;z-index:1}\n.vh-search input{border-color:transparent;min-width:0}\n.vh-acts{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:relative;z-index:1}\n.vh-acts .btn{min-height:52px;font-size:14px;padding:10px 12px}\n.vh-acts .btn.alt{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.22)}\n.res{border-radius:20px;padding:18px;display:grid;gap:12px}\n.res.ok{background:var(--ok-bg);color:var(--ok-ink)}\n.res.warn{background:var(--warn-bg);color:var(--warn-ink)}\n.res.no{background:var(--bad-bg);color:var(--bad-ink)}\n.res .head{display:flex;gap:14px;align-items:center}\n.res .head img{width:62px;height:62px;object-fit:contain;flex:0 0 auto;animation:stamp .5s cubic-bezier(.2,1.4,.4,1)}\n@keyframes stamp{from{transform:scale(1.8) rotate(-14deg);opacity:0}to{transform:none;opacity:1}}\n@media (prefers-reduced-motion:reduce){.res .head img{animation:none}}\n.res .head svg{width:44px;height:44px;flex:0 0 auto;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}\n.res h3{font:700 18px\/1.2 var(--d)}\n.res dl{margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 14px;font-size:14px}\n.res dt{opacity:.8}.res dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}\n.res a.lk{font-weight:700;text-decoration:underline}\n.res .small{font-size:13.5px}\n.hz{display:flex;gap:12px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x proximity;margin-inline:-16px;padding-inline:16px;scrollbar-width:none}\n.hz::-webkit-scrollbar{display:none}\n.pcard{flex:0 0 150px;scroll-snap-align:start;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px;display:grid;gap:4px;align-content:start;text-decoration:none}\n.pcard img,.pcard .ph{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;background:var(--mist)}\n.pcard b{font:600 14px\/1.25 var(--d);overflow-wrap:anywhere}\n.pcard span{font-size:12.5px;color:var(--text)}\n.pcard i{font-style:normal;font:700 11px var(--b);color:var(--ok-ink);background:var(--ok-bg);border-radius:999px;padding:2px 8px;justify-self:start}\n.biz{background:var(--forest2);color:#fff;border-radius:20px;padding:18px;display:grid;gap:10px}\n.biz p{color:#cfe3d4;font-size:14px}\n.biz .btn{background:var(--gold);color:#2b2108}\n\n\/* scanner *\/\n.vh-modal{position:absolute;inset:0;z-index:30;background:var(--bg);display:grid;grid-template-rows:auto minmax(0,1fr);animation:up .25s ease-out}\n@keyframes up{from{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}\n@media (prefers-reduced-motion:reduce){.vh-modal{animation:none}}\n.vh-mh{display:flex;align-items:center;gap:10px;padding:calc(12px + env(safe-area-inset-top,0px)) 16px 10px;background:var(--surface);border-bottom:1px solid var(--line)}\n.vh-mh h2{flex:1;font-size:18px}\n.vh-x{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--bg);display:grid;place-items:center}\n.vh-x svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round}\n.vh-mb{overflow-y:auto;padding:16px 16px 32px;display:grid;gap:16px;align-content:start}\n.cam{position:relative;border-radius:22px;overflow:hidden;background:#06140b;aspect-ratio:3\/4;max-height:60vh;display:grid;place-items:center}\n.cam video{width:100%;height:100%;object-fit:cover}\n.cam .frame{position:absolute;width:62%;aspect-ratio:1;border:3px solid var(--gold);border-radius:20px;box-shadow:0 0 0 999px rgba(0,0,0,.35)}\n.cam p{position:absolute;bottom:12px;left:12px;right:12px;text-align:center;color:#fff;font-size:13px}\n\n\/* formulaires *\/\n.fld{display:grid;gap:6px}\n.fld label,.fld legend{font:600 13.5px var(--b)}\n.fld .opts{display:grid;gap:8px}\n.fld .opt{display:flex;gap:10px;align-items:center;font-size:14.5px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--surface)}\n.fld .opt input{width:20px;height:20px;min-height:0;flex:0 0 auto}\n.fld fieldset{border:0;padding:0;margin:0;display:grid;gap:8px}\n.fld .err{color:var(--bad-ink);font-size:13px}\n.msg{border-radius:14px;padding:14px 16px;font-weight:600}\n.msg.ok{background:var(--ok-bg);color:var(--ok-ink)}\n.msg.no{background:var(--bad-bg);color:var(--bad-ink)}\n.menu{display:grid;gap:10px}\n.menu button,.menu a{display:flex;align-items:center;gap:14px;text-align:left;text-decoration:none;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px 16px}\n.menu .ic{width:44px;height:44px;border-radius:12px;background:var(--mist);color:var(--green);display:grid;place-items:center;flex:0 0 auto}\n.menu .ic svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}\n.menu b{display:block;font:600 15px var(--d)}\n.menu span.t{font-size:13px;color:var(--text)}\n.menu div{min-width:0}\n\n\/* autour de moi *\/\n.mapbox{height:260px;border-radius:20px;border:1px solid var(--line);overflow:hidden;background:var(--mist);position:relative;z-index:0}\n.mapbox .leaflet-container{height:100%;font-family:var(--b)}\n.dot{width:26px;height:26px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);border:3px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.35)}\n.dot.rest{background:#e0732b}.dot.bouch{background:#b3261e}.dot.autre{background:#1a9a2c}.dot.mosq{background:#0b3a1d}\n.list{display:grid;gap:10px}\n.row{display:flex;gap:12px;align-items:center;text-align:left;width:100%;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px 14px}\n.row .ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;flex:0 0 auto;background:var(--mist);color:var(--green)}\n.row .ic svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}\n.row div{min-width:0;flex:1}\n.row b{display:block;font:600 15px var(--d);overflow-wrap:anywhere}\n.row span{font-size:13px;color:var(--text)}\n.row .km{font:700 13px var(--b);color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;flex:0 0 auto}\n.pill{display:inline-block;font:700 11.5px var(--b);padding:3px 10px;border-radius:999px;background:var(--ok-bg);color:var(--ok-ink)}\n.pill.g{background:var(--mist);color:var(--text)}\n.empty{text-align:center;padding:22px 16px;border:1px dashed var(--line);border-radius:18px;color:var(--text);display:grid;gap:10px;justify-items:center}\n\n\/* pri\u00e8re *\/\n.next{background:var(--forest);color:#fff;border-radius:24px;padding:20px;display:grid;gap:4px;position:relative;overflow:hidden}\n.next:after{content:\"\";position:absolute;right:-40px;top:-40px;width:180px;height:180px;opacity:.12;background:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 100 100'%3E%3Cpath fill='none' stroke='%23d9b25f' stroke-width='2' d='M50 4l9 21 22-8-8 22 21 9-21 9 8 22-22-8-9 21-9-21-22 8 8-22-21-9 21-9-8-22 22 8z'\/%3E%3C\/svg%3E\") center\/contain no-repeat}\n.next .lbl{color:var(--gold)}\n.next b{font:700 34px\/1.1 var(--d);font-variant-numeric:tabular-nums}\n.next .cd{font-size:15px;color:#cfe3d4;font-variant-numeric:tabular-nums}\n.next .dts{margin-top:8px;font-size:13.5px;color:#e5efe7;display:grid;gap:2px}\n.next .dts strong{color:var(--gold);font-weight:700}\n.times{display:grid;gap:8px}\n.t{display:flex;align-items:center;justify-content:space-between;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 16px;font-variant-numeric:tabular-nums}\n.t b{font:600 15px var(--d)}\n.t span{font:700 17px var(--d)}\n.t.on{background:var(--forest);border-color:var(--forest);color:#fff}\n.t.on span{color:var(--gold)}\n.t.dim{opacity:.55}\n.cal{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:14px;display:grid;gap:10px}\n.cal-h{display:flex;align-items:center;gap:8px}\n.cal-h div{flex:1;text-align:center;min-width:0}\n.cal-h b{display:block;font:700 16px var(--d);text-transform:capitalize}\n.cal-h small{color:var(--gold-ink);font-weight:600;font-size:12.5px}\n.cal-h button{width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:var(--bg);font-size:18px}\n.grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}\n.grid .dn{font:700 11px var(--b);color:var(--text);padding:4px 0;text-transform:uppercase}\n.grid .dc{position:relative;aspect-ratio:1\/1.05;border-radius:10px;display:grid;align-content:center;justify-items:center;font-variant-numeric:tabular-nums;line-height:1.1;background:var(--bg)}\n.grid .dc b{font:600 14.5px var(--d)}\n.grid .dc small{font-size:10.5px;color:var(--text)}\n.grid .dc.today{outline:2px solid var(--green)}\n.grid .dc.fest{background:var(--gold);color:#2b2108}\n.grid .dc.fest small{color:#4a3a10}\n.grid .dc.blank{background:none}\n.fest-l{display:grid;gap:8px}\n.fest-i{display:flex;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--gold);border-radius:14px;padding:12px 14px}\n.fest-i div{flex:1;min-width:0}\n.fest-i b{display:block;font:600 15px var(--d)}\n.fest-i span{font-size:13px;color:var(--text)}\n.fest-i em{font:700 13px var(--b);font-style:normal;color:var(--gold-ink);white-space:nowrap}\n.adj{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--text);flex-wrap:wrap}\n\n\/* coran *\/\n.sur{display:flex;gap:12px;align-items:center;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px 14px}\n.sur .n{width:38px;height:38px;flex:0 0 auto;display:grid;place-items:center;font:700 13px var(--d);color:var(--forest);background:var(--mist);clip-path:polygon(50% 0,62% 18%,85% 15%,82% 38%,100% 50%,82% 62%,85% 85%,62% 82%,50% 100%,38% 82%,15% 85%,18% 62%,0 50%,18% 38%,15% 15%,38% 18%)}\n@media (prefers-color-scheme:dark){.vh .sur .n{color:var(--ink)}}\n.sur div{flex:1;min-width:0}\n.sur b{display:block;font:600 15px var(--d)}\n.sur small{color:var(--text);font-size:12.5px}\n.sur .ar{font:400 22px var(--ar);color:var(--forest);direction:rtl}\n@media (prefers-color-scheme:dark){.vh .sur .ar{color:var(--ink)}}\n.rd-h{display:flex;gap:8px;align-items:center;flex-wrap:wrap}\n.rd-h h2{flex:1;min-width:0}\n.rd-h .ar{font:400 30px var(--ar)}\n.vs{border-bottom:1px solid var(--line);padding:14px 0;display:grid;gap:8px}\n.vs.on{background:var(--mist);margin-inline:-16px;padding-inline:16px}\n.vs .top{display:flex;align-items:center;gap:10px}\n.vs .no{font:700 12px var(--b);color:var(--gold-ink);background:var(--mist);border-radius:999px;padding:3px 10px}\n.vs .a{font:400 var(--fs,30px)\/2.1 var(--ar);direction:rtl;text-align:right;color:var(--forest)}\n@media (prefers-color-scheme:dark){.vh .vs .a{color:var(--ink)}}\n.vs .f{font-size:15px;line-height:1.65}\n.vs .pl{width:38px;height:38px;border-radius:50%;border:0;background:var(--green);color:var(--on-green);display:grid;place-items:center;margin-left:auto}\n.vs .pl svg{width:18px;height:18px;fill:currentColor}\n.vs .pl .s{display:none}.vs .pl.on .p{display:none}.vs .pl.on .s{display:block}\n.bsm{text-align:center;font:400 26px var(--ar);color:var(--forest);padding:6px 0}\n@media (prefers-color-scheme:dark){.vh .bsm{color:var(--ink)}}\n.tools{display:flex;gap:8px;flex-wrap:wrap}\n.tools .chip{padding:7px 12px}\n\n\/* rappels *\/\n.hd{background:var(--surface);border:1px solid var(--line);border-top:5px solid var(--gold);border-radius:20px;padding:18px;display:grid;gap:12px}\n.hd q,.hd .tx{font:500 17px\/1.6 var(--d);quotes:none;margin:0}\n.hd .src{font-size:13px;color:var(--text)}\n.hd .src a{font-weight:700;color:var(--green)}\n.hd .cat{justify-self:start}\n.hd.big{background:var(--forest);border-color:var(--forest);border-top-color:var(--gold);color:#fff}\n.hd.big .src{color:#cfe3d4}.hd.big .src a{color:var(--gold)}\n.notif{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px 14px}\n.notif div{flex:1;min-width:0}\n.notif b{display:block;font:600 14.5px var(--d)}\n.notif small{color:var(--text);font-size:12.5px}\n.sw{width:50px;height:30px;border-radius:999px;border:0;background:var(--line);position:relative;flex:0 0 auto;transition:background .2s}\n.sw:after{content:\"\";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;transition:transform .2s}\n.sw[aria-checked=\"true\"]{background:var(--green)}\n.sw[aria-checked=\"true\"]:after{transform:translateX(20px)}\n\nbody:has(#vh){background:#0b3a1d;margin:0}\n@media (min-width:600px){.vh{max-width:520px;margin-inline:auto;box-shadow:0 0 0 1px rgba(255,255,255,.08),0 30px 80px rgba(0,0,0,.45)}}\n\n.cmp{width:min(260px,70%);margin:6px auto 2px}\n.cmp svg{width:100%;height:auto;display:block}\n.qb-t{text-align:center;font-size:14.5px}\n#qb{justify-items:stretch}\n\n.dgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}\n.dtile{display:grid;gap:4px;justify-items:start;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:16px;min-height:132px;align-content:space-between}\n.dtile .de{font-size:34px;line-height:1}\n.dtile b{font:600 16px\/1.25 var(--d)}\n.dtile small{color:var(--text);font-size:12.5px}\n.du{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px;display:grid;gap:10px}\n.du-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap}\n.du-h h3{flex:1;min-width:0;font:600 15.5px\/1.3 var(--d)}\n.du-e{font-size:24px;line-height:1}\n.du-ar{font:400 26px\/2.1 var(--ar);direction:rtl;text-align:right;color:var(--forest);margin:0}\n@media (prefers-color-scheme:dark){.vh .du-ar{color:var(--ink)}}\n.du-fr{font-size:15px;line-height:1.65}\n.du-r{font-size:12.5px;color:var(--text)}\n.du-r a{color:var(--green);font-weight:700}\n.pill.w{background:var(--warn-bg);color:var(--warn-ink)}\n\n.vh-inst{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--surface);border-bottom:1px solid var(--line)}\n.vh-inst .t{flex:1;min-width:0}\n.vh-inst .t b{display:block;font:700 14px\/1.2 var(--b);color:var(--ink)}\n.vh-inst .t small{display:block;font-size:12px;opacity:.75}\n.vh-inst .go{border:0;border-radius:999px;background:var(--green);color:var(--on-green);padding:9px 16px;font:700 13px var(--b);min-height:40px}\n.vh-inst .x{border:0;background:none;color:var(--ink);font-size:24px;line-height:1;width:36px;height:40px;opacity:.6}\n.vh .steps{margin:12px 0 0;padding-left:20px;display:grid;gap:10px;line-height:1.45}\n.vh.has-inst{grid-template-rows:auto auto minmax(0,1fr) auto}\n.vh-lang{position:relative;z-index:1;background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:8px 10px;font:700 12px var(--b);min-width:40px;min-height:36px}\n.vh .du-play{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--mist);color:var(--ink);border-radius:999px;padding:8px 14px;font:700 13px var(--b);min-height:40px;margin-top:6px}\n.vh .du-play svg{width:16px;height:16px}\n.vh .du-play[aria-pressed=true]{background:var(--green);color:var(--on-green);border-color:var(--green)}\n@media (max-width:420px){.vh-brand b{font-size:16px;white-space:nowrap}.vh-ctc{padding:9px 11px}.vh-lang{min-width:36px;padding:8px}.vh-top{gap:9px}}\n.vh-upd{background:var(--ok-bg);border-bottom:1px solid var(--line)}\n#vh-bn{min-height:0}\n\n\/* =====================================================================\n   V2 : nouveaux composants (lecteur, favoris, compteur, chapelet, Juz')\n   ===================================================================== *\/\n.vh .ib{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--surface);display:inline-grid;place-items:center;flex:0 0 auto;color:var(--text);position:relative;transition:transform .15s,background .2s,color .2s,border-color .2s;touch-action:manipulation}\n.vh .ib svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}\n.vh .ib:active{transform:scale(.88)}\n.vh .hrt[aria-pressed=\"true\"]{color:#e0314b;border-color:#f3b4be;background:#fdecef}\n.vh .hrt[aria-pressed=\"true\"] svg{fill:#e0314b;stroke:#e0314b}\n.vh .hrt.pop svg{animation:pop .45s cubic-bezier(.2,1.6,.4,1)}\n@keyframes pop{0%{transform:scale(.6)}60%{transform:scale(1.35)}100%{transform:scale(1)}}\n@media (prefers-color-scheme:dark){.vh .hrt[aria-pressed=\"true\"]{background:#3a1520;border-color:#7a2a3c}}\n.vh .hint{color:var(--text);font-size:12.5px;line-height:1.4}\n.vh .hint:empty{display:none}\n.vh .seg{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:var(--mist);border-radius:14px}\n.vh .seg button{border:0;background:none;border-radius:11px;padding:10px 8px;font:600 14px var(--b);color:var(--text);transition:background .2s,color .2s,box-shadow .2s}\n.vh .seg button[aria-pressed=\"true\"]{background:var(--surface);color:var(--ink);box-shadow:0 2px 8px rgba(11,58,29,.15)}\n.vh .jt{font-style:normal;color:var(--gold-ink);font-weight:700}\n.vh .jq{display:grid;grid-template-columns:1fr 1fr;gap:10px}\n.vh .jbig{display:grid;gap:2px;justify-items:start;text-align:left;border:0;border-radius:20px;padding:14px 16px;background:linear-gradient(135deg,var(--forest),var(--forest2));color:#fff;position:relative;overflow:hidden;min-height:128px;align-content:end}\n.vh .jbig:before{content:\"\";position:absolute;right:-20px;top:-22px;width:100px;height:100px;opacity:.18;background:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 100 100'%3E%3Cpath fill='none' stroke='%23d9b25f' stroke-width='3' d='M50 4l9 21 22-8-8 22 21 9-21 9 8 22-22-8-9 21-9-21-22 8 8-22-21-9 21-9-8-22 22 8z'\/%3E%3C\/svg%3E\") center\/contain no-repeat}\n.vh .jbig b{font:700 16px var(--d)}\n.vh .jbig .ar{position:absolute;right:14px;top:10px;font:400 26px\/1.3 var(--ar);color:var(--gold)}\n.vh .jbig small{font-size:12px;opacity:.85}\n.vh .jh{text-align:center;display:grid;gap:4px}\n.vh .jh .ar{font:400 38px var(--ar);color:var(--forest)}\n@media (prefers-color-scheme:dark){.vh .jh .ar{color:var(--gold)}}\n.vh .jz{margin:10px 0 0;padding:8px 14px;border-radius:12px;background:linear-gradient(90deg,var(--gold),#ecd08f);color:#2b2108;font:700 13px var(--b);text-align:center;letter-spacing:.02em}\n\n\/* lecteur de sourate *\/\n.vh .rd-bar{position:sticky;top:-17px;z-index:6;margin:6px -16px 0;padding:10px 16px;background:var(--surface);background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);box-shadow:0 8px 22px rgba(11,58,29,.1);display:grid;gap:10px}\n.vh .rb1{display:flex;align-items:center;gap:10px}\n.vh .rbs{flex:1;min-width:0;display:grid;gap:2px}\n.vh .rbs select{min-height:40px;padding:8px 12px;font-size:14px;border-radius:12px;text-overflow:ellipsis}\n.vh .rbs small{font-size:12px;color:var(--gold-ink);font-weight:600;line-height:1.3}\n.vh .rbs small:empty{display:none}\n.vh .pbig{width:52px;height:52px;border-radius:50%;border:0;background:linear-gradient(180deg,#25b43a,#158a27);color:#fff;display:grid;place-items:center;flex:0 0 auto;box-shadow:0 6px 16px rgba(26,154,44,.45);transition:transform .15s}\n.vh .pbig:active{transform:scale(.92)}\n.vh .pbig svg{width:24px;height:24px;fill:currentColor}\n.vh .pbig .s,.vh .pbig.on .p{display:none}\n.vh .pbig.on .s{display:block}\n.vh .pbig.on{animation:pulse 1.8s ease-in-out infinite}\n@keyframes pulse{0%,100%{box-shadow:0 6px 16px rgba(26,154,44,.45),0 0 0 0 rgba(26,154,44,.45)}50%{box-shadow:0 6px 16px rgba(26,154,44,.45),0 0 0 10px rgba(26,154,44,0)}}\n.vh .ib .bdg{position:absolute;top:4px;right:4px;width:9px;height:9px;border-radius:50%;background:var(--gold);border:2px solid var(--surface)}\n.vh .rb2{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}\n.vh .mini{display:grid;gap:3px}\n.vh .mini span{font:700 10.5px var(--b);text-transform:uppercase;letter-spacing:.05em;color:var(--text)}\n.vh .mini select{min-height:40px;padding:6px 10px;font-size:14px;border-radius:10px}\n.vh .vs{border:0;border-bottom:1px solid var(--line)}\n.vh .vs .acts{margin-left:auto;display:flex;align-items:center;gap:6px}\n.vh .vs .pl{margin-left:0;width:40px;height:40px;background:linear-gradient(180deg,#25b43a,#158a27);box-shadow:0 4px 10px rgba(26,154,44,.35)}\n.vh .vs .ib{width:36px;height:36px}\n.vh .vs .ib svg{width:18px;height:18px}\n.vh .vs.on{background:linear-gradient(90deg,rgba(217,178,95,.28),rgba(217,178,95,0));box-shadow:inset 4px 0 0 var(--gold)}\n.vh .vs.fv{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:14px;box-shadow:var(--shadow)}\n.vh .vs.fv.on{margin-inline:0;padding-inline:14px}\n\n\/* invocations : actions, compteur *\/\n.vh .du-bar{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}\n.vh .du-bar .du-play{margin-top:0}\n.vh .du-bar .rp{min-width:92px}\n.vh .du-bar .rp select{min-height:40px;padding:6px 10px}\n.vh .du-rp{font:700 12.5px var(--b);color:var(--gold-ink)}\n.vh .du-rp:empty{display:none}\n.vh .du-h .ib{width:36px;height:36px}\n.vh .zkw{display:flex;gap:8px;align-items:stretch}\n.vh .zk{flex:1;position:relative;overflow:hidden;border:1.5px solid var(--line);border-radius:16px;background:var(--mist);min-height:62px;display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:14px;padding:6px 16px;text-align:left;touch-action:manipulation;user-select:none;-webkit-user-select:none;transition:transform .12s,border-color .2s}\n.vh .zk:active{transform:scale(.97)}\n.vh .zk-fill{position:absolute;inset:0 auto 0 0;width:0;background:linear-gradient(90deg,rgba(26,154,44,.25),rgba(26,154,44,.4));transition:width .25s ease;pointer-events:none}\n.vh .zk-n{position:relative;font:700 32px\/1 var(--d);min-width:44px;text-align:center;font-variant-numeric:tabular-nums;color:var(--forest)}\n.vh .zk-l{position:relative;font:600 13px\/1.3 var(--b);color:var(--text)}\n.vh .zk.done{border-color:var(--gold);background:linear-gradient(135deg,#f5e3b0,#ecd08f)}\n.vh .zk.done .zk-fill{background:none}\n.vh .zk.done .zk-n{color:#7a5410}\n.vh .zk.done .zk-l{color:#5b430c}\n@media (prefers-color-scheme:dark){.vh .zk-n{color:var(--ink)}}\n.vh .zkw .ib{width:48px;height:auto;min-height:62px;border-radius:16px}\n.vh .zk-open{display:inline-flex;align-items:center;gap:8px;justify-self:start;border:1px dashed var(--line);background:none;border-radius:999px;padding:8px 14px;font:600 13px var(--b);color:var(--text)}\n.vh .zk-open svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.9}\n.vh .tsb-tile{display:flex;align-items:center;gap:14px;text-align:left;border:0;border-radius:20px;padding:16px;color:#fff;background:linear-gradient(135deg,var(--forest),#15753a);position:relative;overflow:hidden;box-shadow:var(--shadow)}\n.vh .tsb-tile .de{width:48px;height:48px;border-radius:14px;background:rgba(255,255,255,.14);display:grid;place-items:center;flex:0 0 auto}\n.vh .tsb-tile .de svg{width:26px;height:26px;stroke:var(--gold);fill:none;stroke-width:1.8}\n.vh .tsb-tile b{display:block;font:700 16px var(--d)}\n.vh .tsb-tile small{font-size:12.5px;opacity:.85}\n.vh .ts-box{display:grid;gap:12px;justify-items:center;text-align:center}\n.vh .ts-ar{font:400 30px\/1.8 var(--ar);color:var(--forest);margin:0}\n@media (prefers-color-scheme:dark){.vh .ts-ar{color:var(--gold)}}\n.vh .ts-tr{font-size:14px;color:var(--text)}\n.vh .ts-btn{position:relative;width:min(260px,72vw);aspect-ratio:1;border-radius:50%;border:0;background:radial-gradient(circle at 35% 30%,#2fc045,#0f6e22 70%);color:#fff;display:grid;place-items:center;align-content:center;box-shadow:0 18px 40px rgba(15,110,34,.4),inset 0 -10px 24px rgba(0,0,0,.18),inset 0 8px 18px rgba(255,255,255,.25);touch-action:manipulation;user-select:none;-webkit-user-select:none;transition:transform .1s}\n.vh .ts-btn:active{transform:scale(.95)}\n.vh .ts-btn svg{position:absolute;inset:-2px;width:calc(100% + 4px);height:calc(100% + 4px);transform:rotate(-90deg);pointer-events:none}\n.vh .ts-btn circle{fill:none;stroke-width:6}\n.vh .ts-btn .bg{stroke:rgba(255,255,255,.18)}\n.vh .ts-btn .fg{stroke:var(--gold);stroke-linecap:round;transition:stroke-dashoffset .25s}\n.vh .ts-btn b{font:700 64px\/1 var(--d);font-variant-numeric:tabular-nums}\n.vh .ts-btn small{font-size:13px;opacity:.85;margin-top:4px}\n\n\/* favoris *\/\n.vh .fvi{animation:rise .4s both;transition:opacity .25s,transform .25s}\n.vh .fvi.out{opacity:0;transform:translateX(30px)}\n.vh .empty .big-h svg{width:44px;height:44px;stroke:var(--gold);fill:none;stroke-width:1.6}\n.vh .hd-top{display:flex;align-items:center;gap:10px;justify-content:space-between}\n.vh .hd-ar{font:400 24px\/2.1 var(--ar);direction:rtl;text-align:right;color:var(--forest);margin:0;padding:10px 0;border-bottom:1px dashed var(--line)}\n.vh .hd.big .hd-ar{color:var(--gold);border-color:rgba(255,255,255,.2)}\n.vh .hd.big .ib{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.25);color:#fff}\n@media (prefers-color-scheme:dark){.vh .hd-ar{color:var(--ink)}}\n\n\/* =====================================================================\n   V2 design : profondeur, mouvement, mati\u00e8re\n   ===================================================================== *\/\n.vh{--ease:cubic-bezier(.22,1,.36,1);--grad:linear-gradient(135deg,#0a3319 0%,#0f5a2b 58%,#15813b 100%);--soft:0 1px 2px rgba(11,58,29,.06),0 10px 24px -14px rgba(11,58,29,.28)}\n.vh-main{background:var(--bg) url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='88' height='88' viewBox='0 0 88 88'%3E%3Cpath fill='none' stroke='%231a9a2c' stroke-opacity='.075' stroke-width='1.2' d='M44 6l8 15 16-5-5 16 16 8-16 8 5 16-16-5-8 15-8-15-16 5 5-16-16-8 16-8-5-16 16 5z'\/%3E%3C\/svg%3E\")}\n\n\/* en-t\u00eate *\/\n.vh-top{background:var(--grad);box-shadow:0 8px 26px rgba(8,40,20,.4);z-index:5}\n.vh-top:before{opacity:.2;animation:spin 120s linear infinite}\n@keyframes spin{to{transform:rotate(360deg)}}\n.vh-logo{box-shadow:0 4px 14px rgba(0,0,0,.25)}\n.vh-brand b i{background:linear-gradient(100deg,#d9b25f 20%,#fff2c8 45%,#d9b25f 70%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 5s linear infinite}\n@keyframes shine{from{background-position:120% 0}to{background-position:-120% 0}}\n.vh-ctc{background:linear-gradient(180deg,#e8c677,#d0a23f);box-shadow:0 4px 14px rgba(0,0,0,.25);transition:transform .15s}\n.vh-ctc:active,.vh-lang:active{transform:scale(.92)}\n\n\/* entr\u00e9e en sc\u00e8ne de chaque page *\/\n.vh-view>*{animation:rise .6s var(--ease) both}\n.vh-view>*:nth-child(2){animation-delay:.05s}.vh-view>*:nth-child(3){animation-delay:.1s}.vh-view>*:nth-child(4){animation-delay:.15s}.vh-view>*:nth-child(5){animation-delay:.2s}.vh-view>*:nth-child(6){animation-delay:.25s}.vh-view>*:nth-child(n+7){animation-delay:.3s}\n@keyframes rise{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}\n.vh-view>div:first-child>h2:after{content:\"\";display:block;width:38px;height:4px;border-radius:2px;margin-top:8px;background:linear-gradient(90deg,var(--gold),#f1dca0)}\n\n\/* boutons *\/\n.vh .btn{background:linear-gradient(180deg,#27b83d,#15872a);box-shadow:0 8px 18px -6px rgba(26,154,44,.55),inset 0 1px 0 rgba(255,255,255,.3);transition:transform .2s var(--ease),box-shadow .2s;position:relative;overflow:hidden}\n.vh .btn:active{transform:scale(.96)}\n.vh .btn.alt{background:var(--surface);box-shadow:var(--soft)}\n.vh .btn.gold{background:linear-gradient(180deg,#ecca7c,#d3a540);box-shadow:0 8px 18px -6px rgba(217,178,95,.7),inset 0 1px 0 rgba(255,255,255,.5)}\n.vh-acts .btn.alt{background:rgba(255,255,255,.12);box-shadow:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}\n.vh .biz .btn{background:linear-gradient(180deg,#ecca7c,#d3a540)}\n.vh .chip{transition:transform .2s var(--ease),background .25s,color .25s,border-color .25s}\n.vh .chip:active{transform:scale(.93)}\n.vh .chip[aria-pressed=\"true\"]{background:linear-gradient(135deg,var(--forest),#15753a);box-shadow:0 6px 14px -6px rgba(11,58,29,.7)}\n.vh input,.vh select,.vh textarea{transition:border-color .2s,box-shadow .2s}\n.vh input:focus,.vh select:focus,.vh textarea:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(26,154,44,.15);outline:none}\n\n\/* cartes *\/\n.vh .card,.vh .row,.vh .sur,.vh .dtile,.vh .pcard,.vh .du,.vh .hd,.vh .t,.vh .cal,.vh .notif,.vh .fest-i,.vh .menu button,.vh .menu a{box-shadow:var(--soft);transition:transform .25s var(--ease),box-shadow .25s}\n.vh .row:active,.vh .sur:active,.vh .dtile:active,.vh .pcard:active,.vh .menu button:active,.vh .menu a:active,.vh .jbig:active,.vh .tsb-tile:active{transform:scale(.97)}\n@media (hover:hover){.vh .dtile:hover,.vh .pcard:hover,.vh .sur:hover,.vh .row:hover,.vh .jbig:hover,.vh .tsb-tile:hover{transform:translateY(-3px);box-shadow:var(--shadow)}}\n.vh .dtile{background:linear-gradient(160deg,var(--surface) 55%,var(--mist));position:relative;overflow:hidden}\n.vh .dtile:after{content:\"\";position:absolute;right:-18px;bottom:-18px;width:80px;height:80px;opacity:.1;background:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 100 100'%3E%3Cpath fill='none' stroke='%231a9a2c' stroke-width='3' d='M50 4l9 21 22-8-8 22 21 9-21 9 8 22-22-8-9 21-9-21-22 8 8-22-21-9 21-9-8-22 22 8z'\/%3E%3C\/svg%3E\") center\/contain no-repeat;transition:transform .6s var(--ease)}\n.vh .dtile:active:after{transform:rotate(45deg) scale(1.3)}\n.vh .dtile .de{filter:drop-shadow(0 4px 6px rgba(0,0,0,.18));transition:transform .4s var(--ease)}\n@media (hover:hover){.vh .dtile:hover .de{transform:scale(1.18) rotate(-6deg)}}\n.vh .sur .n{transition:transform .5s var(--ease)}\n.vh .sur:active .n{transform:rotate(90deg)}\n.vh .du{border-top:4px solid var(--gold)}\n\n\/* accueil *\/\n.vh-hero{background:radial-gradient(120% 100% at 100% 0%,#1f8a40 0%,transparent 58%),radial-gradient(90% 90% at 0% 100%,rgba(217,178,95,.28) 0%,transparent 60%),var(--grad);box-shadow:0 18px 40px -16px rgba(11,58,29,.6)}\n.vh-hero:after{opacity:.14;animation:spin 140s linear infinite}\n.vh-hero:before{content:\"\";position:absolute;left:-40px;top:-50px;width:170px;height:170px;border-radius:50%;background:radial-gradient(circle,rgba(217,178,95,.45),transparent 65%);animation:breathe 6s ease-in-out infinite;pointer-events:none}\n@keyframes breathe{50%{transform:scale(1.35);opacity:.65}}\n.vh-hero .seal{animation:float 5s ease-in-out infinite;filter:drop-shadow(0 8px 14px rgba(0,0,0,.35))}\n@keyframes float{50%{transform:translateY(-7px) rotate(12deg)}}\n.vh-search input{border-radius:16px;box-shadow:0 10px 24px -10px rgba(0,0,0,.45)}\n.vh-search .btn{border-radius:16px}\n.res.ok{background:linear-gradient(135deg,var(--ok-bg),#cdeed4);box-shadow:var(--soft)}\n@media (prefers-color-scheme:dark){.res.ok{background:linear-gradient(135deg,var(--ok-bg),#0f2d17)}}\n.biz{background:var(--grad);box-shadow:var(--shadow);position:relative;overflow:hidden}\n\n\/* navigation basse : verre d\u00e9poli, pastille sous l'onglet actif *\/\n.vh-nav{background:color-mix(in srgb,var(--surface) 90%,transparent);-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4);border-top:0;border-radius:24px 24px 0 0;box-shadow:0 -10px 34px rgba(11,58,29,.14);padding:8px 2px calc(8px + env(safe-area-inset-bottom,0px));z-index:6;position:relative}\n.vh-tab{font-size:10px;letter-spacing:-.01em;transition:color .25s}\n.vh-tab svg{width:48px;height:32px;padding:4px 12px;border-radius:16px;transition:transform .45s var(--ease),background .3s}\n.vh-tab[aria-selected=\"true\"] svg{background:rgba(26,154,44,.16);transform:translateY(-2px) scale(1.06)}\n.vh-tab[aria-selected=\"true\"]:after{display:none}\n.vh-tab:active svg{transform:scale(.85)}\n@media (max-width:360px){.vh-tab{font-size:9px}.vh-tab svg{width:40px}}\n\n\/* pri\u00e8re *\/\n.next{background:radial-gradient(100% 120% at 100% 0%,rgba(217,178,95,.28),transparent 60%),var(--grad);box-shadow:0 20px 40px -18px rgba(11,58,29,.7)}\n.next:after{animation:spin 160s linear infinite}\n.next b{text-shadow:0 2px 12px rgba(217,178,95,.35)}\n.t.on{background:var(--grad);box-shadow:0 12px 26px -10px rgba(11,58,29,.7);transform:scale(1.012)}\n.grid .dc.fest{background:linear-gradient(135deg,#f0d28b,#d9b25f);box-shadow:0 4px 10px -4px rgba(217,178,95,.8)}\n.grid .dc.today{animation:ring 2.4s ease-in-out infinite}\n@keyframes ring{50%{box-shadow:0 0 0 4px rgba(26,154,44,.2)}}\n.sw:after{box-shadow:0 2px 6px rgba(0,0,0,.25);transition:transform .3s var(--ease)}\n\n\/* rappels *\/\n.hd{border-top-width:4px;position:relative;overflow:hidden}\n.hd.big{background:radial-gradient(100% 100% at 100% 0%,rgba(217,178,95,.25),transparent 60%),var(--grad);box-shadow:0 20px 40px -18px rgba(11,58,29,.7)}\n.hd .tx{position:relative}\n\n\/* fen\u00eatres, notifications *\/\n.vh-modal{animation:up .42s var(--ease)}\n@keyframes up{from{transform:translateY(40px) scale(.98);opacity:0}to{transform:none;opacity:1}}\n.vh-mh{background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}\n.vh-x{transition:transform .25s var(--ease)}\n.vh-x:active{transform:rotate(90deg) scale(.9)}\n.vh>[role=\"status\"]{animation:toastin .45s var(--ease) both}\n@keyframes toastin{from{opacity:0;transform:translateY(24px) scale(.95)}to{opacity:1;transform:none}}\n.vh .skeleton{border-radius:18px}\n\n@media (prefers-reduced-motion:reduce){.vh *,.vh *:before,.vh *:after{animation:none!important;transition:none!important}}\n.vh .chips{min-height:42px;align-items:center}\n.vh #ts-t{flex-wrap:wrap;overflow:visible;justify-content:center}\n<\/style><script>(function(){var b=\"dmFyIFZIX0JVSUxEPSIxNzkxMTk3NjQxIjsKdmFyIERVQVM9W3siaWQiOiJtYXRpbiIsImUiOiLwn4yFIiwidCI6Ik1hdGluIGV0IHNvaXIiLCJpbnRybyI6IsOAIGRpcmUgYXByw6hzIGxhIHByacOocmUgZGUgbOKAmWF1YmUgcG91ciBsZSBtYXRpbiwgZXQgYXByw6hzIGxhIHByacOocmUgZGUgbOKAmWFwcsOocy1taWRpIHBvdXIgbGUgc29pci4iLCJpdGVtcyI6W3siZSI6IvCfk5YiLCJ0IjoiTGVzIHRyb2lzIGRlcm5pw6hyZXMgc291cmF0ZXMiLCJhciI6Itio2LPZhSDYp9mE2YTZhyDYp9mE2LHYrdmF2YYg2KfZhNix2K3ZitmFIO+0v9mC2Y\/ZhNmSINmH2Y\/ZiNmOINin2YTZhNmR2Y7Zh9mPINij2Y7YrdmO2K\/ZjCog2KfZhNmE2ZHZjtmH2Y8g2KfZhNi12ZHZjtmF2Y7Yr9mPKiDZhNmO2YXZkiDZitmO2YTZkNiv2ZIg2YjZjtmE2Y7ZhdmSINmK2Y\/ZiNmE2Y7Yr9mSKiDZiNmO2YTZjtmF2ZIg2YrZjtmD2Y\/ZhiDZhNmR2Y7Zh9mPINmD2Y\/ZgdmP2YjYp9mLINij2Y7YrdmO2K\/ZjO+0vi4g2KjYs9mFINin2YTZhNmHINin2YTYsdit2YXZhiDYp9mE2LHYrdmK2YUg77S\/2YLZj9mE2ZIg2KPZjti52Y\/ZiNiw2Y8g2KjZkNix2Y7YqNmR2ZAg2KfZhNmS2YHZjtmE2Y7ZgtmQKiDZhdmQ2YYg2LTZjtix2ZHZkCDZhdmO2Kcg2K7ZjtmE2Y7ZgtmOKiDZiNmO2YXZkNmGINi02Y7YsdmR2ZAg2LrZjtin2LPZkNmC2Y0g2KXZkNiw2Y7YpyDZiNmO2YLZjtio2Y4qINmI2Y7ZhdmQ2YYg2LTZjtix2ZHZkCDYp9mE2YbZkdmO2YHZkdmO2KfYq9mO2KfYqtmQINmB2ZDZiiDYp9mE2ZLYudmP2YLZjtiv2ZAqINmI2Y7ZhdmQ2YYg2LTZjtix2ZHZkCDYrdmO2KfYs9mQ2K\/ZjSDYpdmQ2LDZjtinINit2Y7Ys9mO2K\/Zju+0vi4g2KjYs9mFINin2YTZhNmHINin2YTYsdit2YXZhiDYp9mE2LHYrdmK2YUg77S\/2YLZj9mE2ZIg2KPZjti52Y\/ZiNiw2Y8g2KjZkNix2Y7YqNmR2ZAg2KfZhNmG2ZHZjtin2LPZkCog2YXZjtmE2ZDZg9mQINin2YTZhtmR2Y7Yp9iz2ZAqINil2ZDZhNmO2YfZkCDYp9mE2YbZkdmO2KfYs9mQKiDZhdmQ2YYg2LTZjtix2ZHZkCDYp9mE2ZLZiNmO2LPZktmI2Y7Yp9iz2ZAg2KfZhNmS2K7ZjtmG2ZHZjtin2LPZkCog2KfZhNmR2Y7YsNmQ2Yog2YrZj9mI2Y7Ys9mS2YjZkNiz2Y8g2YHZkNmKINi12Y\/Yr9mP2YjYsdmQINin2YTZhtmR2Y7Yp9iz2ZAqINmF2ZDZhtmOINin2YTZktis2ZDZhtmR2Y7YqdmQINmI2Y4g2KfZhNmG2ZHZjtin2LPZkO+0viIsImZyIjoiU291cmF0ZSBhbC1Ja2hsw6JzLCBzb3VyYXRlIGFsLUZhbGFxLCBzb3VyYXRlIGFuLU7DonMsIMOgIHLDqWNpdGVyIDMgZm9pcyBsZSBtYXRpbiBldCAzIGZvaXMgbGUgc29pci4iLCJyIjoiQWLDuyBEw6J3dWQgbsKwIDUwODIsIGF0LVRpcm1pZGjDriBuwrAgMzU3NSIsInUiOiJodHRwczovL3N1bm5haC5jb20vYWJ1ZGF3dWQ6NTA4MiIsIm4iOiLDlyAzIiwiZyI6Ikhhc2FuIn0seyJlIjoi8J+MhSIsInQiOiJBdSBtYXRpbiIsImFyIjoi2KfZhNmE2ZHZjtmH2Y\/ZhdmR2Y4g2KjZkNmD2Y4g2KPZjti12ZLYqNmO2K3ZktmG2Y7Yp9iMINmI2Y7YqNmQ2YPZjiDYo9mO2YXZktiz2Y7ZitmS2YbZjtinINiMINmI2Y7YqNmQ2YPZjiDZhtmO2K3ZktmK2Y7Yp9iMINmI2Y7YqNmQ2YPZjiDZhtmO2YXZj9mI2KrZjyDZiNmO2KXZkNmE2Y7ZitmS2YPZjiDYp9mE2YbZkdmP2LTZj9mI2LHZjyIsImZyIjoiw5QgQWxsYWgsIGPigJllc3QgcGFyIFRvaSBxdWUgbm91cyBhdHRlaWdub25zIGxlIG1hdGluLCBj4oCZZXN0IHBhciBUb2kgcXVlIG5vdXMgYXR0ZWlnbm9ucyBsZSBzb2lyLCBwYXIgVG9pIG5vdXMgdml2b25zLCBwYXIgVG9pIG5vdXMgbW91cm9ucywgZXQgdmVycyBUb2kgZXN0IGxhIHLDqXN1cnJlY3Rpb24uIChMZSBzb2lyIDogwqsg4oCmcGFyIFRvaSBub3VzIGF0dGVpZ25vbnMgbGUgc29pciwgcGFyIFRvaSBub3VzIGF0dGVpZ25vbnMgbGUgbWF0aW7igKYgZXQgdmVycyBUb2kgZXN0IGxlIHJldG91ci4gwrspIiwiciI6ImF0LVRpcm1pZGjDriBuwrAgMzM5MSIsInUiOiJodHRwczovL3N1bm5haC5jb20vdGlybWlkaGk6MzM5MSIsImciOiJTYWhpaCJ9LHsiZSI6IvCfpI0iLCJ0IjoiTGUgbWHDrnRyZSBkZXMgZGVtYW5kZXMgZGUgcGFyZG9uIiwiYXIiOiLYp9mE2YTZkdmO2YfZj9mF2ZHZjiDYo9mO2YbZktiq2Y4g2LHZjtio2ZHZkNmKINmE2Y7YpyDYpdmQ2YTZjtmH2Y4g2KXZkNmE2KfZkdmOINij2Y7ZhtmS2KrZjtiMINiu2Y7ZhNmO2YLZktiq2Y7ZhtmQ2Yog2YjZjtij2Y7ZhtmO2Kcg2LnZjtio2ZLYr9mP2YPZjtiMINmI2Y7Yo9mO2YbZjtinINi52Y7ZhNmO2Ykg2LnZjtmH2ZLYr9mQ2YPZjiDZiNmO2YjZjti52ZLYr9mQ2YPZjiDZhdmO2Kcg2KfYs9mS2KrZjti32Y7YudmS2KrZj9iMINij2Y7YudmP2YjYsNmPINio2ZDZg9mOINmF2ZDZhtmSINi02Y7YsdmR2ZAg2YXZjtinINi12Y7ZhtmO2LnZktiq2Y\/YjCDYo9mO2KjZj9mI2KHZjyDZhNmO2YPZjiDYqNmQ2YbZkNi52ZLZhdmO2KrZkNmD2Y4g2LnZjtmE2Y7ZitmR2Y7YjCDZiNmO2KPZjtio2Y\/ZiNih2Y8g2KjZkNiw2Y7ZhtmS2KjZkNmKINmB2Y7Yp9i62ZLZgdmQ2LHZkiDZhNmQ2Yog2YHZjtil2ZDZhtmR2Y7Zh9mPINmE2KfZjiDZitmO2LrZktmB2ZDYsdmPINin2YTYsNmR2Y\/ZhtmI2KjZjiDYpdmQ2YTYp9mR2Y4g2KPZjtmG2ZLYqtmOIiwiZnIiOiLDlCBBbGxhaCwgVHUgZXMgbW9uIFNlaWduZXVyLCBpbCBu4oCZeSBhIGRlIGRpdmluaXTDqSBxdWUgVG9pLiBUdSBt4oCZYXMgY3LDqcOpIGV0IGplIHN1aXMgVG9uIHNlcnZpdGV1ciwgamUgbeKAmWVuIHRpZW5zIMOgIG1vbiBlbmdhZ2VtZW50IGVudmVycyBUb2kgZXQgw6AgVGEgcHJvbWVzc2UgYXV0YW50IHF1ZSBqZSBsZSBwZXV4LiBKZSBtZSByw6lmdWdpZSBhdXByw6hzIGRlIFRvaSBjb250cmUgbGUgbWFsIHF1ZSBq4oCZYWkgY29tbWlzLiBKZSByZWNvbm5haXMgVGVzIGJpZW5mYWl0cyBlbnZlcnMgbW9pIGV0IGplIHJlY29ubmFpcyBtb24gcMOpY2jDqSA6IHBhcmRvbm5lLW1vaSwgY2FyIG51bCBuZSBwYXJkb25uZSBsZXMgcMOpY2jDqXMgZW4gZGVob3JzIGRlIFRvaS4iLCJyIjoiYWwtQnVraMOicsOuIG7CsCA2MzA2LiBDZWx1aSBxdWkgbGEgZGl0IGxlIG1hdGluIGF2ZWMgZm9pIGV0IG1ldXJ0IGRhbnMgbGEgam91cm7DqWUgZW50cmVyYSBhdSBQYXJhZGlzIDsgZGUgbcOqbWUgcG91ciBsZSBzb2lyLiIsInUiOiJodHRwczovL3N1bm5haC5jb20vYnVraGFyaTo2MzA2IiwiZyI6IlNhaGloIn0seyJlIjoi8J+boe+4jyIsInQiOiJQcm90ZWN0aW9uIGNvbnRyZSB0b3V0IG1hbCIsImFyIjoi2KjZkNiz2ZLZhdmQINin2YTZhNmR2Y7Zh9mQINin2YTZkdmO2LDZkNmKINmE2KfZjiDZitmO2LbZj9ix2ZHZjyDZhdmO2LnZjiDYp9iz2ZLZhdmQ2YfZkCDYtNmO2YrZktih2Ywg2YHZkNmKINin2YTZktij2Y7YsdmS2LbZkCDZiNmO2YTYp9mOINmB2ZDZiiDYp9mE2LPZkdmF2Y7Yp9ih2ZAg2YjZjtmH2Y\/ZiNmOINin2YTYs9mR2Y7ZhdmQ2YrYudmPINin2YTZkti52Y7ZhNmQ2YrZhdmPIiwiZnIiOiJBdSBub20gZOKAmUFsbGFoLCBhdmVjIGxlIG5vbSBkdXF1ZWwgcmllbiBuZSBwZXV0IG51aXJlIHN1ciB0ZXJyZSBuaSBkYW5zIGxlIGNpZWwsIGV0IElsIGVzdCBs4oCZQXVkaWVudCwgbOKAmU9tbmlzY2llbnQuIiwiciI6IkFiw7sgRMOid3VkIG7CsCA1MDg4IChTYWhpaCksIGF0LVRpcm1pZGjDriBuwrAgMzM4OCAoSGFzYW4pIiwidSI6Imh0dHBzOi8vc3VubmFoLmNvbS9hYnVkYXd1ZDo1MDg4IiwibiI6IsOXIDMifSx7ImUiOiLwn5KaIiwidCI6IlNhbnTDqSBkdSBjb3JwcyIsImFyIjoi2KfZhNmE2ZHZjtmH2Y\/ZhdmR2Y4g2LnZjtin2YHZkNmG2ZDZiiDZgdmQ2Yog2KjZjtiv2Y7ZhtmQ2YrYjCDYp9mE2YTZkdmO2YfZj9mF2ZHZjiDYudmO2KfZgdmQ2YbZkNmKINmB2ZDZiiDYs9mO2YXZkti52ZDZitiMINin2YTZhNmR2Y7Zh9mP2YXZkdmOINi52Y7Yp9mB2ZDZhtmQ2Yog2YHZkNmKINio2Y7YtdmO2LHZkNmK2Iwg2YTYp9mOINil2ZDZhNmO2YfZjiDYpdmQ2YTYp9mR2Y4g2KPZjtmG2ZLYqtmOLiDYp9mE2YTZkdmO2YfZj9mF2ZHZjiDYpdmQ2YbZkdmQ2Yog2KPZjti52Y\/ZiNiw2Y8g2KjZkNmD2Y4g2YXZkNmG2Y4g2KfZhNmS2YPZj9mB2ZLYsdmQ2Iwg2YjZjtin2YTZgdmO2YLZktix2ZDYjCDZiNmO2KPZjti52Y\/ZiNiw2Y8g2KjZkNmD2Y4g2YXZkNmG2ZIg2LnZjtiw2Y7Yp9io2ZAg2KfZhNmC2Y7YqNmS2LHZkNiMINmE2KfZjiDYpdmQ2YTZjtmH2Y4g2KXZkNmE2KfZkdmOINij2Y7ZhtmS2KrZjiIsImZyIjoiw5QgQWxsYWgsIGRvbm5lLW1vaSBsYSBzYW50w6kgZGFucyBtb24gY29ycHMuIMOUIEFsbGFoLCBkb25uZS1tb2kgbGEgc2FudMOpIGRhbnMgbW9uIG91w69lLiDDlCBBbGxhaCwgZG9ubmUtbW9pIGxhIHNhbnTDqSBkYW5zIG1hIHZ1ZS4gSWwgbuKAmXkgYSBkZSBkaXZpbml0w6kgcXVlIFRvaS4gw5QgQWxsYWgsIGplIG1lIHLDqWZ1Z2llIGF1cHLDqHMgZGUgVG9pIGNvbnRyZSBs4oCZaW1wacOpdMOpIGV0IGxhIHBhdXZyZXTDqSwgZXQgYXVwcsOocyBkZSBUb2kgY29udHJlIGxlIGNow6J0aW1lbnQgZGUgbGEgdG9tYmUuIElsIG7igJl5IGEgZGUgZGl2aW5pdMOpIHF1ZSBUb2kuIiwiciI6IkFiw7sgRMOid3VkIG7CsCA1MDkwIChjaGHDrm5lIEhhc2FuKSIsInUiOiJodHRwczovL3N1bm5haC5jb20vYWJ1ZGF3dWQ6NTA5MCIsIm4iOiLDlyAzIn0seyJlIjoi8J+Viu+4jyIsInQiOiJQYXJkb24gZXQgYmllbi3DqnRyZSIsImFyIjoi2KfZhNmE2ZHZjtmH2Y\/ZhdmR2Y4g2KXZkNmG2ZHZkNmKINij2Y7Ys9mS2KPZjtmE2Y\/Zg9mOINin2YTZkti52Y7ZgdmS2YjZjiDZiNmO2KfZhNmS2LnZjtin2YHZkNmK2Y7YqdmOINmB2ZDZiiDYp9mE2K\/ZkdmP2YbZktmK2Y7YpyDZiNmO2KfZhNii2K7ZkNix2Y7YqdmQ2Iwg2KfZhNmE2ZHZjtmH2Y\/ZhdmR2Y4g2KXZkNmG2ZHZkNmKINij2Y7Ys9mS2KPZjtmE2Y\/Zg9mOINin2YTZkti52Y7ZgdmS2YjZjiDZiNmO2KfZhNmS2LnZjtin2YHZkNmK2Y7YqdmOOiDZgdmQ2Yog2K\/ZkNmK2YbZkNmKINmI2Y7Yr9mP2YbZktmK2Y7Yp9mK2Y4g2YjZjtij2Y7Zh9mS2YTZkNmK2Iwg2YjZjtmF2Y7Yp9mE2ZDZitiMINin2YTZhNmR2Y7Zh9mP2YXZkdmOINin2LPZktiq2Y\/YsdmSINi52Y7ZiNmS2LHZjtin2KrZkNmK2Iwg2YjZjtii2YXZkNmG2ZIg2LHZjtmI2ZLYudmO2KfYqtmQ2YrYjCDYp9mE2YTZkdmO2YfZj9mF2ZHZjiDYp9it2ZLZgdmO2LjZktmG2ZDZiiDZhdmQ2YbZkiDYqNmO2YrZhtmQINmK2Y7Yr9mO2YrZkdmO2Iwg2YjZjtmF2ZDZhtmSINiu2Y7ZhNmS2YHZkNmK2Iwg2YjZjti52Y7ZhtmSINmK2Y7ZhdmQ2YrZhtmQ2YrYjCDZiNmO2LnZjtmG2ZIg2LTZkNmF2Y7Yp9mE2ZDZitiMINmI2Y7ZhdmQ2YbZkiDZgdmO2YjZktmC2ZDZitiMINmI2Y7Yo9mO2LnZj9mI2LDZjyDYqNmQ2LnZjti42Y7ZhdmO2KrZkNmD2Y4g2KPZjtmG2ZIg2KPZj9i62ZLYqtmO2KfZhNmOINmF2ZDZhtmSINiq2Y7YrdmS2KrZkNmKIiwiZnIiOiLDlCBBbGxhaCwgamUgVGUgZGVtYW5kZSBs4oCZaW5kdWxnZW5jZSBldCBsZSBiaWVuLcOqdHJlIGRhbnMgbWEgcmVsaWdpb24sIGRhbnMgbWEgdmllIGljaS1iYXMsIGF1cHLDqHMgZGUgbWEgZmFtaWxsZSBldCBkYW5zIG1lcyBiaWVucy4gw5QgQWxsYWgsIGNvdXZyZSBtZXMgZMOpZmF1dHMgZXQgYXBhaXNlIG1lcyBjcmFpbnRlcy4gw5QgQWxsYWgsIHByb3TDqGdlLW1vaSBwYXIgZGV2YW50LCBwYXIgZGVycmnDqHJlLCDDoCBtYSBkcm9pdGUsIMOgIG1hIGdhdWNoZSBldCBhdS1kZXNzdXMgZGUgbW9pIDsgamUgbWUgcsOpZnVnaWUgZGFucyBUYSBncmFuZGV1ciBjb250cmUgbGUgZmFpdCBk4oCZw6p0cmUgZW5nbG91dGkgcGFyIGVuIGRlc3NvdXMuIiwiciI6IkFiw7sgRMOid3VkIG7CsCA1MDc0IGV0IElibiBNw6JqYSBuwrAgMzg3MSAoU2FoaWgpIiwidSI6Imh0dHBzOi8vc3VubmFoLmNvbS9hYnVkYXd1ZDo1MDc0In0seyJlIjoi8J+TvyIsInQiOiJHbG9pcmUgw6AgQWxsYWggZXQgbG91YW5nZSIsImFyIjoi2LPZj9io2ZLYrdmO2KfZhtmOINin2YTZhNmR2Y7Zh9mQINmI2Y7YqNmQ2K3ZjtmF2ZLYr9mQ2YfZkCIsImZyIjoiR2xvaXJlIGV0IGxvdWFuZ2Ugw6AgQWxsYWguIiwiciI6Ik11c2xpbSBuwrAgMjY5MiIsInUiOiJodHRwczovL3N1bm5haC5jb20vbXVzbGltOjI2OTIiLCJuIjoiw5cgMTAwIn0seyJlIjoi4pid77iPIiwidCI6IkzigJl1bmljaXTDqSBk4oCZQWxsYWgiLCJhciI6ItmE2KfZjiDYpdmQ2YTZjtmH2Y4g2KXZkNmE2KfZkdmOINin2YTZhNmR2Y7Zh9mPINmI2Y7YrdmS2K\/ZjtmH2Y8g2YTYp9mOINi02Y7YsdmQ2YrZg9mOINmE2Y7Zh9mP2Iwg2YTZjtmH2Y8g2KfZhNmS2YXZj9mE2ZLZg9mPINmI2Y7ZhNmO2YfZjyDYp9mE2ZLYrdmO2YXZktiv2Y\/YjCDZiNmO2YfZj9mI2Y4g2LnZjtmE2Y7ZiSDZg9mP2YTZkdmQINi02Y7ZitmS2KHZjSDZgtmO2K\/ZkNmK2LHZjCDYjCDYo9mO2YjZkiAo2YXYsdmR2Y7YqdmLINmI2KfYrdiv2KnZiyDYudmG2K\/ZjiDYp9mE2YPZjtiz2Y7ZhNmQKSIsImZyIjoiSWwgbuKAmXkgYSBkZSBkaXZpbml0w6kgcXXigJlBbGxhaCwgU2V1bCwgc2FucyBhc3NvY2nDqS4gw4AgTHVpIGxhIHJveWF1dMOpIGV0IGxhIGxvdWFuZ2UsIGV0IElsIGVzdCBjYXBhYmxlIGRlIHRvdXRlIGNob3NlLiIsInIiOiJhbC1CdWtow6Jyw64gbsKwIDMyOTMsIE11c2xpbSBuwrAgMjY5MSIsInUiOiJodHRwczovL3N1bm5haC5jb20vYnVraGFyaTozMjkzIiwibiI6IsOXIDEwIChvdSDDlyAxMDApIn0seyJlIjoi4pqW77iPIiwidCI6IkxvdWFuZ2Ugw6AgaGF1dGV1ciBkZSBsYSBjcsOpYXRpb24iLCJhciI6Itiz2Y\/YqNmS2K3Zjtin2YbZjiDYp9mE2YTZkdmO2YfZkCDZiNmO2KjZkNit2Y7ZhdmS2K\/ZkNmH2ZA6INi52Y7Yr9mO2K\/ZjiDYrtmO2YTZktmC2ZDZh9mQ2Iwg2YjZjtix2ZDYttmO2Kcg2YbZjtmB2ZLYs9mQ2YfZkNiMINmI2Y7YstmQ2YbZjtip2Y4g2LnZjtix2ZLYtNmQ2YfZkNiMINmI2Y7ZhdmQ2K\/Zjtin2K\/ZjiDZg9mO2YTZkNmF2Y7Yp9iq2ZDZh9mQIiwiZnIiOiJHbG9pcmUgZXQgbG91YW5nZSDDoCBBbGxhaCwgYXV0YW50IHF1ZSBTYSBjcsOpYXRpb24sIGF1dGFudCBxdWUgU29uIGFncsOpbWVudCwgYXV0YW50IHF1ZSBsZSBwb2lkcyBkZSBTb24gVHLDtG5lIGV0IGzigJllbmNyZSBkZSBTZXMgcGFyb2xlcy4iLCJyIjoiTXVzbGltIG7CsCAyNzI2IiwidSI6Imh0dHBzOi8vc3VubmFoLmNvbS9tdXNsaW06MjcyNiIsIm4iOiLDlyAzIn0seyJlIjoi8J+OkyIsInQiOiJTY2llbmNlIHV0aWxlIChsZSBtYXRpbikiLCJhciI6Itin2YTZhNmR2Y7Zh9mP2YXZkdmOINil2ZDZhtmR2ZDZiiDYo9mO2LPZktij2Y7ZhNmP2YPZjiDYudmQ2YTZktmF2KfZiyDZhtmO2KfZgdmQ2LnYp9mL2Iwg2YjZjtix2ZDYstmS2YLYp9mLINi32Y7ZitmR2ZDYqNin2YvYjCDZiNmO2LnZjtmF2Y7ZhNin2Ysg2YXZj9iq2Y7ZgtmO2KjZkdmO2YTYp9mLIiwiZnIiOiLDlCBBbGxhaCwgamUgVGUgZGVtYW5kZSB1bmUgc2NpZW5jZSB1dGlsZSwgdW5lIHN1YnNpc3RhbmNlIHB1cmUgZXQgdW5lIMWTdXZyZSBhZ3LDqcOpZS4iLCJyIjoiSWJuIE3DomphIG7CsCA5MjUgKFNhaGloKSIsInUiOiJodHRwczovL3N1bm5haC5jb20vaWJubWFqYWg6OTI1In0seyJlIjoi8J+MmSIsInQiOiJTZSByw6lmdWdpZXIgZGFucyBsZXMgcGFyb2xlcyBk4oCZQWxsYWggKGxlIHNvaXIpIiwiYXIiOiLYo9mO2LnZj9mI2LDZjyDYqNmQ2YPZjtmE2ZDZhdmO2KfYqtmQINin2YTZhNmR2Y7Zh9mQINin2YTYqtmR2Y7Yp9mF2ZHZjtin2KrZkCDZhdmQ2YbZkiDYtNmO2LHZkdmQINmF2Y7YpyDYrtmO2YTZjtmC2Y4iLCJmciI6IkplIG1lIHLDqWZ1Z2llIGRhbnMgbGVzIHBhcm9sZXMgcGFyZmFpdGVzIGTigJlBbGxhaCBjb250cmUgbGUgbWFsIGRlIGNlIHF14oCZSWwgYSBjcsOpw6kuIiwiciI6Ik11c2xpbSBuwrAgMjcwOCIsInUiOiJodHRwczovL3N1bm5haC5jb20vbXVzbGltOjI3MDhhIiwibiI6IsOXIDMifSx7ImUiOiLwn5mPIiwidCI6IkRlbWFuZGVyIHBhcmRvbiIsImFyIjoi2KPZjtiz2ZLYqtmO2LrZktmB2ZDYsdmPINin2YTZhNmR2Y7Zh9mOINmI2Y7Yo9mO2KrZj9mI2KjZjyDYpdmQ2YTZjtmK2ZLZh9mQIiwiZnIiOiJKZSBkZW1hbmRlIHBhcmRvbiDDoCBBbGxhaCBldCBqZSBtZSByZXBlbnMgw6AgTHVpLiIsInIiOiJNdXNsaW0gbsKwIDI3MDIgKGxlIFByb3Bow6h0ZSDvt7ogZGVtYW5kYWl0IHBhcmRvbiAxMDAgZm9pcyBwYXIgam91cikiLCJ1IjoiaHR0cHM6Ly9zdW5uYWguY29tL211c2xpbToyNzAyIiwibiI6IsOXIDEwMCBwYXIgam91ciJ9LHsiZSI6IvCfkowiLCJ0IjoiUHJpZXIgc3VyIGxlIFByb3Bow6h0ZSDvt7oiLCJhciI6Itin2YTZhNmR2Y7Zh9mP2YXZkdmOINi12Y7ZhNmR2ZAg2YjZjtiz2Y7ZhNmR2ZDZhdmSINi52Y7ZhNmO2Ykg2YbZjtio2Y7ZitmR2ZDZhtmO2Kcg2YXZj9it2Y7ZhdmR2Y7Yr9mNIiwiZnIiOiLDlCBBbGxhaCwgcHJpZSBldCBzYWx1ZSBub3RyZSBQcm9waMOodGUgTXVoYW1tYWQuIiwiciI6Ik11c2xpbSBuwrAgNDA4IDogcXVpIHByaWUgdW5lIGZvaXMgc3VyIGxlIFByb3Bow6h0ZSDvt7osIEFsbGFoIHByaWUgZGl4IGZvaXMgc3VyIGx1aSIsInUiOiJodHRwczovL3N1bm5haC5jb20vbXVzbGltOjQwOCIsIm4iOiLDlyAxMCJ9XX0seyJpZCI6Im51aXQiLCJlIjoi8J+MmSIsInQiOiJOdWl0IGV0IHNvbW1laWwiLCJpbnRybyI6IkF2YW50IGRlIGRvcm1pciA6IGFibHV0aW9ucywgc2UgY291Y2hlciBzdXIgbGUgY8O0dMOpIGRyb2l0LCBwdWlzIGxlcyBpbnZvY2F0aW9ucyBjaS1kZXNzb3VzLiIsIml0ZW1zIjpbeyJlIjoi8J+MhCIsInQiOiJBdSByw6l2ZWlsIiwiYXIiOiIoINin2YTZktit2Y7ZhdmS2K\/ZjyDZhNmE2ZHZjtmH2ZAg2KfZhNmR2Y7YsNmQ2Yog2KPZjtit2ZLZitmO2KfZhtmO2Kcg2KjZjti52ZLYr9mOINmF2Y7YpyDYo9mO2YXZjtin2KrZjtmG2Y7Yp9iMINmI2Y7YpdmQ2YTZjtmK2ZLZh9mQINin2YTZhtmR2Y\/YtNmP2YjYsdmPICkiLCJmciI6IkxvdWFuZ2Ugw6AgQWxsYWggcXVpIG5vdXMgYSByZW5kdSBsYSB2aWUgYXByw6hzIG5vdXMgYXZvaXIgZmFpdCBtb3VyaXIsIGV0IGPigJllc3QgdmVycyBMdWkgbGEgcsOpc3VycmVjdGlvbi4iLCJyIjoiYWwtQnVraMOicsOuIG7CsCA2MzEyIChIdWRoYXlmYSAocmFkaXlhbGxhaHUgyr9hbmh1KSkiLCJ1IjoiaHR0cHM6Ly9zdW5uYWguY29tL2J1a2hhcmk6NjMxMiJ9LHsiZSI6IvCfqpQiLCJ0IjoiQXlhdCBhbC1LdXJzaSIsImFyIjoi77S\/2KfZhNmE2ZHZjtmH2Y8g2YTYp9mOINil2ZDZhNmO2YfZjiDYpdmQ2YTYp9mR2Y4g2YfZj9mI2Y4g2KfZhNmS2K3ZjtmK2ZHZjyDYp9mE2ZLZgtmO2YrZkdmP2YjZhdmPINmE2KfZjiDYqtmO2KPZktiu2Y\/YsNmP2YfZjyDYs9mQ2YbZjtip2Ywg2YjZjtmE2KfZjiDZhtmO2YjZktmF2Ywg2YTZkdmO2YfZjyDZhdmO2Kcg2YHZkNmKINin2YTYs9mR2Y7ZhdmO2YjZjtin2KrZkCDZiNmO2YXZjtinINmB2ZDZiiDYp9mE2KPZjtix2ZLYttmQINmF2Y7ZhiDYsNmO2Kcg2KfZhNmR2Y7YsNmQ2Yog2YrZjti02ZLZgdmO2LnZjyDYudmQ2YbZktiv2Y7Zh9mPINil2ZDZhNin2ZHZjiDYqNmQ2KXZkNiw2ZLZhtmQ2YfZkCDZitmO2LnZktmE2Y7ZhdmPINmF2Y7YpyDYqNmO2YrZktmG2Y4g2KPZjtmK2ZLYr9mQ2YrZh9mQ2YXZkiDZiNmO2YXZjtinINiu2Y7ZhNmS2YHZjtmH2Y\/ZhdmSINmI2Y7ZhNin2Y4g2YrZj9it2ZDZiti32Y\/ZiNmG2Y4g2KjZkNi02Y7ZitmS2KHZjSDZhdmR2ZDZhtmSINi52ZDZhNmS2YXZkNmH2ZAg2KXZkNmE2KfZkdmOINio2ZDZhdmO2Kcg2LTZjtin2KEg2YjZjtiz2ZDYudmOINmD2Y\/YsdmS2LPZkNmK2ZHZj9mH2Y8g2KfZhNiz2ZHZjtmF2Y7ZiNmO2KfYqtmQINmI2Y7Yp9mE2ZLYo9mO2LHZkti22Y4g2YjZjtmE2KfZjiDZitmO2KTZj9mI2K\/Zj9mH2Y8g2K3ZkNmB2ZLYuNmP2YfZj9mF2Y7YpyDZiNmO2YfZj9mI2Y4g2KfZhNmS2LnZjtmE2ZDZitmR2Y8g2KfZhNmS2LnZjti42ZDZitmF2Y\/vtL4iLCJmciI6IlNvdXJhdGUgMiwgdmVyc2V0IDI1NS4gUsOpY2l0ZXIgbOKAmUF5YXQgYWwtS3Vyc2kgZW4gc2UgY291Y2hhbnQgOiB1biBnYXJkaWVuIGTigJlBbGxhaCB2ZWlsbGUgc3VyIHRvaSBqdXNxdeKAmWF1IG1hdGluLiIsInIiOiJhbC1CdWtow6Jyw64gbsKwIDIzMTEgKEFib3UgSG91cmF5cmEgKHJhZGl5YWxsYWh1IMq\/YW5odSkpIiwidSI6Imh0dHBzOi8vc3VubmFoLmNvbS9idWtoYXJpOjIzMTEifSx7ImUiOiLinKgiLCJ0IjoiTGVzIGRldXggZGVybmllcnMgdmVyc2V0cyBk4oCZYWwtQmFxYXJhIiwiYXIiOiLvtL\/YotmF2Y7ZhtmOINin2YTYsdmR2Y7Ys9mP2YjZhNmPINio2ZDZhdmO2Kcg2KPZj9mG2LLZkNmE2Y4g2KXZkNmE2Y7ZitmS2YfZkCDZhdmQ2YYg2LHZkdmO2KjZkdmQ2YfZkCDZiNmO2KfZhNmS2YXZj9ik2ZLZhdmQ2YbZj9mI2YbZjiDZg9mP2YTZkdmMINii2YXZjtmG2Y4g2KjZkNin2YTZhNmR2Y7Zh9mQINmI2Y7ZhdmO2YTYotim2ZDZg9mO2KrZkNmH2ZAg2YjZjtmD2Y\/YqtmP2KjZkNmH2ZAg2YjZjtix2Y\/Ys9mP2YTZkNmH2ZAg2YTYp9mOINmG2Y\/ZgdmO2LHZkdmQ2YLZjyDYqNmO2YrZktmG2Y4g2KPZjtit2Y7Yr9mNINmF2ZHZkNmGINix2ZHZj9iz2Y\/ZhNmQ2YfZkCDZiNmO2YLZjtin2YTZj9mI2KfZkiDYs9mO2YXZkNi52ZLZhtmO2Kcg2YjZjtij2Y7Yt9mO2LnZktmG2Y7YpyDYutmP2YHZktix2Y7Yp9mG2Y7Zg9mOINix2Y7YqNmR2Y7ZhtmO2Kcg2YjZjtil2ZDZhNmO2YrZktmD2Y4g2KfZhNmS2YXZjti12ZDZitix2Y8qINmE2KfZjiDZitmP2YPZjtmE2ZHZkNmB2Y8g2KfZhNmE2ZHZjtmH2Y8g2YbZjtmB2ZLYs9in2Ysg2KXZkNmE2KfZkdmOINmI2Y\/Ys9mS2LnZjtmH2Y7YpyDZhNmO2YfZjtinINmF2Y7YpyDZg9mO2LPZjtio2Y7YqtmSINmI2Y7YudmO2YTZjtmK2ZLZh9mO2Kcg2YXZjtinINin2YPZktiq2Y7Ys9mO2KjZjtiq2ZIg2LHZjtio2ZHZjtmG2Y7YpyDZhNin2Y4g2KrZj9ik2Y7Yp9iu2ZDYsNmS2YbZjtinINil2ZDZhiDZhtmR2Y7Ys9mQ2YrZhtmO2Kcg2KPZjtmI2ZIg2KPZjtiu2ZLYt9mO2KPZktmG2Y7YpyDYsdmO2KjZkdmO2YbZjtinINmI2Y7ZhNin2Y4g2KrZjtit2ZLZhdmQ2YTZkiDYudmO2YTZjtmK2ZLZhtmO2Kcg2KXZkNi12ZLYsdin2Ysg2YPZjtmF2Y7YpyDYrdmO2YXZjtmE2ZLYqtmO2YfZjyDYudmO2YTZjtmJINin2YTZkdmO2LDZkNmK2YbZjiDZhdmQ2YYg2YLZjtio2ZLZhNmQ2YbZjtinINix2Y7YqNmR2Y7ZhtmO2Kcg2YjZjtmE2KfZjiDYqtmP2K3ZjtmF2ZHZkNmE2ZLZhtmO2Kcg2YXZjtinINmE2KfZjiDYt9mO2KfZgtmO2KnZjiDZhNmO2YbZjtinINio2ZDZh9mQINmI2Y7Yp9i52ZLZgdmPINi52Y7ZhtmR2Y7YpyDZiNmO2KfYutmS2YHZkNix2ZIg2YTZjtmG2Y7YpyDZiNmO2KfYsdmS2K3ZjtmF2ZLZhtmO2KIg2KPZjtmG2KrZjiDZhdmO2YjZktmE2KfZjtmG2Y7YpyDZgdmO2KfZhti12Y\/YsdmS2YbZjtinINi52Y7ZhNmO2Ykg2KfZhNmS2YLZjtmI2ZLZhdmQINin2YTZktmD2Y7Yp9mB2ZDYsdmQ2YrZhtmO77S+IiwiZnIiOiJTb3VyYXRlIDIsIHZlcnNldHMgMjg1IGV0IDI4Ni4gQ2VsdWkgcXVpIGxlcyByw6ljaXRlIGxhIG51aXQsIGlscyBsdWkgc3VmZmlzZW50LiIsInIiOiJhbC1CdWtow6Jyw64gbsKwIDUwMDkgKEFib3UgTWFzyr9vdWQgKHJhZGl5YWxsYWh1IMq\/YW5odSkpIiwidSI6Imh0dHBzOi8vc3VubmFoLmNvbS9idWtoYXJpOjUwMDkifSx7ImUiOiLwn6SyIiwidCI6IlNvdWZmbGVyIGRhbnMgc2VzIG1haW5zIiwiYXIiOiLYqNiz2YUg2KfZhNmE2Ycg2KfZhNix2K3ZhdmGINin2YTYsdit2YrZhSDvtL\/ZgtmP2YTZkiDZh9mP2YjZjiDYp9mE2YTZkdmO2YfZjyDYo9mO2K3Zjtiv2YwqINin2YTZhNmR2Y7Zh9mPINin2YTYtdmR2Y7ZhdmO2K\/Zjyog2YTZjtmF2ZIg2YrZjtmE2ZDYr9mSINmI2Y7ZhNmO2YXZkiDZitmP2YjZhNmO2K\/Zkiog2YjZjtmE2Y7ZhdmSINmK2Y7Zg9mP2YYg2YTZkdmO2YfZjyDZg9mP2YHZj9mI2KfZiyDYo9mO2K3Zjtiv2YzvtL4uINio2LPZhSDYp9mE2YTZhyDYp9mE2LHYrdmF2YYg2KfZhNix2K3ZitmFIO+0v9mC2Y\/ZhNmSINij2Y7YudmP2YjYsNmPINio2ZDYsdmO2KjZkdmQINin2YTZktmB2Y7ZhNmO2YLZkCog2YXZkNmGINi02Y7YsdmR2ZAg2YXZjtinINiu2Y7ZhNmO2YLZjiog2YjZjtmF2ZDZhiDYtNmO2LHZkdmQINi62Y7Yp9iz2ZDZgtmNINil2ZDYsNmO2Kcg2YjZjtmC2Y7YqNmOKiDZiNmO2YXZkNmGINi02Y7YsdmR2ZAg2KfZhNmG2ZHZjtmB2ZHZjtin2KvZjtin2KrZkCDZgdmQ2Yog2KfZhNmS2LnZj9mC2Y7Yr9mQKiDZiNmO2YXZkNmGINi02Y7YsdmR2ZAg2K3Zjtin2LPZkNiv2Y0g2KXZkNiw2Y7YpyDYrdmO2LPZjtiv2Y7vtL4uINio2LPZhSDYp9mE2YTZhyDYp9mE2LHYrdmF2YYg2KfZhNix2K3ZitmFIO+0v9mC2Y\/ZhNmSINij2Y7YudmP2YjYsNmPINio2ZDYsdmO2KjZkdmQINin2YTZhtmR2Y7Yp9iz2ZAqINmF2Y7ZhNmQ2YPZkCDYp9mE2YbZkdmO2KfYs9mQKiDYpdmQ2YTZjtmH2ZAg2KfZhNmG2ZHZjtin2LPZkCog2YXZkNmGINi02Y7YsdmR2ZAg2KfZhNmS2YjZjtiz2ZLZiNmO2KfYs9mQINin2YTZktiu2Y7ZhtmR2Y7Yp9iz2ZAqINin2YTZkdmO2LDZkNmKINmK2Y\/ZiNmO2LPZktmI2ZDYs9mPINmB2ZDZiiDYtdmP2K\/Zj9mI2LHZkCDYp9mE2YbZkdmO2KfYs9mQKiDZhdmQ2YbZjiDYp9mE2ZLYrNmQ2YbZkdmO2KnZkCDZiNmOINin2YTZhtmR2Y7Yp9iz2ZDvtL4iLCJmciI6IkxlIFByb3Bow6h0ZSDvt7ogam9pZ25haXQgc2VzIHBhdW1lcywgc291ZmZsYWl0IGRlZGFucyBhcHLDqHMgYXZvaXIgcsOpY2l0w6kgYWwtSWtobMOicywgYWwtRmFsYXEgZXQgYW4tTsOicywgcHVpcyBzZSBmcm90dGFpdCBsZSBjb3JwcyBhdmVjLCB0cm9pcyBmb2lzLiIsInIiOiJhbC1CdWtow6Jyw64gbsKwIDUwMTcgKMq\/w4LDr2NoYSAocmFkaXlhbGxhaHUgyr9hbmh1KSkiLCJ1IjoiaHR0cHM6Ly9zdW5uYWguY29tL2J1a2hhcmk6NTAxNyIsIm4iOiLDlyAzIn0seyJlIjoi8J+YtCIsInQiOiJFbiBzZSBjb3VjaGFudCIsImFyIjoi2KjZkNin2LPZktmF2ZDZg9mOINin2YTZhNmR2Y7Zh9mP2YXZkdmOINij2Y7ZhdmP2YjYqtmPINmI2Y7Yo9mO2K3ZktmK2Y7YpyIsImZyIjoiQ+KAmWVzdCBlbiBUb24gbm9tLCDDtCBBbGxhaCwgcXVlIGplIG1ldXJzIGV0IHF1ZSBqZSB2aXMuIiwiciI6ImFsLUJ1a2jDonLDriBuwrAgNjMyNCAoSHVkaGF5ZmEgKHJhZGl5YWxsYWh1IMq\/YW5odSkpIiwidSI6Imh0dHBzOi8vc3VubmFoLmNvbS9idWtoYXJpOjYzMjQifSx7ImUiOiLwn5uP77iPIiwidCI6IlBvc2VyIGxlIGZsYW5jIiwiYXIiOiLYqNmQ2KfYs9mS2YXZkNmD2Y4g2LHZjtio2ZHZkNmKINmI2Y7YttmO2LnZktiq2Y8g2KzZjtmG2ZLYqNmQ2YrYjCDZiNmO2KjZkNmD2Y4g2KPZjtix2ZLZgdmO2LnZj9mH2Y\/YjCDZgdmO2KXZkNmGINij2Y7ZhdmS2LPZjtmD2ZLYqtmOINmG2Y7ZgdmS2LPZkNmKINmB2KfYsdmS2K3ZjtmF2ZLZh9mO2KfYjCDZiNmO2KXZkNmG2ZIg2KPZjtix2ZLYs9mO2YTZktiq2Y7Zh9mO2Kcg2YHZjtin2K3ZktmB2Y7YuNmS2YfZjtin2Iwg2KjZkNmF2Y7YpyDYqtmO2K3ZktmB2Y7YuNmPINio2ZDZh9mQINi52ZDYqNmO2KfYr9mO2YPZjiDYp9mE2LXZjtmR2KfZhNmQ2K3ZkNmK2YbZjiIsImZyIjoiQ+KAmWVzdCBlbiBUb24gbm9tLCBtb24gU2VpZ25ldXIsIHF1ZSBqZSBwb3NlIG1vbiBmbGFuYyBldCBj4oCZZXN0IHBhciBUb2kgcXVlIGplIGxlIHJlbMOodmUuIFNpIFR1IHJldGllbnMgbW9uIMOibWUsIGZhaXMtbHVpIG1pc8Opcmljb3JkZSA7IHNpIFR1IGxhIHJlbnZvaWVzLCBwcm90w6hnZS1sYSBjb21tZSBUdSBwcm90w6hnZXMgVGVzIHNlcnZpdGV1cnMgdmVydHVldXguIiwiciI6ImFsLUJ1a2jDonLDriBuwrAgNjMyMCAoQWJvdSBIb3VyYXlyYSAocmFkaXlhbGxhaHUgyr9hbmh1KSkiLCJ1IjoiaHR0cHM6Ly9zdW5uYWguY29tL2J1a2hhcmk6NjMyMCJ9LHsiZSI6IvCfjIwiLCJ0Ijoiw4JtZSBjb25macOpZSDDoCBBbGxhaCIsImFyIjoi2KfZhNmE2ZHZjtmH2Y\/ZhdmR2Y4g2KXZkNmG2ZHZjtmD2Y4g2K7ZjtmE2Y7ZgtmS2KrZjiDZhtmO2YHZktiz2ZDZiiDZiNmO2KPZjtmG2ZLYqtmOINiq2Y7ZiNmO2YHZkdmO2KfZh9mO2KfYjCDZhNmO2YPZjiDZhdmO2YXZjtin2KrZj9mH2Y7YpyDZiNmO2YXZjtit2ZLZitin2YfZjtin2Iwg2KXZkNmG2ZIg2KPZjtit2ZLZitmO2YrZktiq2Y7Zh9mO2Kcg2YHZjtin2K3ZktmB2Y7YuNmS2YfZjtin2Iwg2YjZjtil2ZDZhtmSINij2Y7ZhdmO2KrZkdmO2YfZjtinINmB2Y7Yp9i62ZLZgdmQ2LHZkiDZhNmO2YfZjtinLiDYp9mE2YTZkdmO2YfZj9mF2ZHZjiDYpdmQ2YbZkdmQ2Yog2KPZjtiz2ZLYo9mO2YTZj9mD2Y4g2KfZhNi52Y7Yp9mB2ZDZitmO2KnZjiIsImZyIjoiw5QgQWxsYWgsIFR1IGFzIGNyw6nDqSBtb24gw6JtZSBldCBj4oCZZXN0IFRvaSBxdWkgbGEgcmFwcGVsbGVzLiBTYSBtb3J0IGV0IHNhIHZpZSBU4oCZYXBwYXJ0aWVubmVudC4gU2kgVHUgbGEgZmFpcyB2aXZyZSwgcHJvdMOoZ2UtbGEgOyBzaSBUdSBsYSBmYWlzIG1vdXJpciwgcGFyZG9ubmUtbHVpLiDDlCBBbGxhaCwgamUgVGUgZGVtYW5kZSBsZSBiaWVuLcOqdHJlLiIsInIiOiJNdXNsaW0gbsKwIDI3MTIgKElibiDKv1VtYXIgKHJhZGl5YWxsYWh1IMq\/YW5odW1hKSkiLCJ1IjoiaHR0cHM6Ly9zdW5uYWguY29tL211c2xpbToyNzEyIn0seyJlIjoi8J+ViyIsInQiOiJQcm90ZWN0aW9uIGF1IEpvdXIgZGUgbGEgcsOpc3VycmVjdGlvbiIsImFyIjoi2KfZhNmE2ZHZjtmH2Y\/ZhdmR2Y4g2YLZkNmG2ZDZiiDYudmO2LDZjtin2KjZjtmD2Y4g2YrZjtmI2ZLZhdmOINiq2Y7YqNmS2LnZjtir2Y8g2LnZkNio2Y7Yp9iv2Y7Zg9mOIiwiZnIiOiLDlCBBbGxhaCwgcHJvdMOoZ2UtbW9pIGRlIFRvbiBjaMOidGltZW50IGxlIGpvdXIgb8O5IFR1IHJlc3N1c2NpdGVyYXMgVGVzIHNlcnZpdGV1cnMuIiwiciI6ImF0LVRpcm1pZGjDriBuwrAgMzM5OCAoU2FoaWgpLCBIdWRoYXlmYSAocmFkaXlhbGxhaHUgyr9hbmh1KSIsInUiOiJodHRwczovL3N1bm5haC5jb20vdGlybWlkaGk6MzM5OCIsIm4iOiLDlyAzIn0seyJlIjoi8J+TvyIsInQiOiJMZSB0YXNiaWggZGUgRmF0aW1hIiwiYXIiOiLYs9mP2KjZktit2Y7Yp9mG2Y4g2KfZhNmE2ZHZjtmH2ZAg2YjZjtin2YTZktit2Y7ZhdmS2K\/ZjyDZhNmQ2YTZkdmO2YfZkCDZiNmO2KfZhNmE2ZHZjtmH2Y8g2KPZjtmD2ZLYqNmO2LHZjyIsImZyIjoiR2xvaXJlIMOgIEFsbGFoICgzMyBmb2lzKSwgbG91YW5nZSDDoCBBbGxhaCAoMzMgZm9pcyksIEFsbGFoIGVzdCBsZSBwbHVzIGdyYW5kICgzNCBmb2lzKS4gTWVpbGxldXIgcXVlIGTigJlhdm9pciB1biBzZXJ2aXRldXIsIGRpdCBsZSBQcm9waMOodGUg77e6IMOgIEZhdGltYSBldCDKv0Fsw64uIiwiciI6ImFsLUJ1a2jDonLDriBuwrAgMzExMyAoyr9BbMOuIChyYWRpeWFsbGFodSDKv2FuaHUpKSIsInUiOiJodHRwczovL3N1bm5haC5jb20vYnVraGFyaTozMTEzIn0seyJlIjoi8J+MoCIsInQiOiJTZWlnbmV1ciBkZXMgc2VwdCBjaWV1eCIsImFyIjoi2KfZhNmE2ZHZjtmH2Y\/ZhdmR2Y4g2LHZjtio2ZHZjiDYp9mE2LPZkdmO2YXZjtmI2Y7Yp9iq2ZAg2KfZhNiz2ZHZjtio2ZLYudmQINmI2Y7YsdmO2KjZkdmOINin2YTYo9mO2LHZkti22ZDYjCDZiNmO2LHZjtio2ZHZjiDYp9mE2ZLYudmO2LHZkti02ZAg2KfZhNmS2LnZjti42ZDZitmF2ZDYjCDYsdmO2KjZkdmO2YbZjtinINmI2Y7YsdmO2KjZkdmOINmD2Y\/ZhNmR2ZAg2LTZjtmK2ZLYodmN2Iwg2YHZjtin2YTZkNmC2Y4g2KfZhNmS2K3Zjtio2ZHZkCDZiNmO2KfZhNmG2ZHZjtmI2Y7ZidiMINmI2Y7ZhdmP2YbZktiy2ZDZhNmOINin2YTYqtmR2Y7ZiNmS2LHZjtin2KnZkCDZiNmO2KfZhNmS2KXZkNmG2ZLYrNmQ2YrZhNmQ2Iwg2YjZjtin2YTZktmB2Y\/YsdmS2YLZjtin2YbZkNiMINij2Y7YudmP2YjYsNmPINio2ZDZg9mOINmF2ZDZhtmSINi02Y7YsdmR2ZAg2YPZj9mE2ZHZkCDYtNmO2YrZktih2Y0g2KPZjtmG2ZLYqtmOINii2K7ZkNiw2Ywg2KjZkNmG2Y7Yp9i12ZDZitmO2KrZkNmH2ZAuINin2YTZhNmR2Y7Zh9mP2YXZkdmOINij2Y7ZhtmS2KrZjiDYp9mE2KPZjtmI2ZHZjtmE2Y8g2YHZjtmE2Y7ZitmS2LPZjiDZgtmO2KjZktmE2Y7Zg9mOINi02Y7ZitmS2KHZjNiMINmI2Y7Yo9mO2YbZktiq2Y4g2KfZhNii2K7ZkNix2Y8g2YHZjtmE2Y7Zitiz2Y4g2KjZjti52ZLYr9mO2YPZjiDYtNmO2YrZktih2YzYjCDZiNmO2KPZjtmG2ZLYqtmOINin2YTYuNmR2Y7Yp9mH2ZDYsdmPINmB2Y7ZhNmO2YrZktiz2Y4g2YHZjtmI2ZLZgtmO2YPZjiDYtNmO2YrZktih2YzYjCDZiNmO2KPZjtmG2ZLYqtmOINin2YTZktio2Y7Yp9i32ZDZhtmPINmB2Y7ZhNmO2YrZktiz2Y4g2K\/Zj9mI2YbZjtmD2Y4g2LTZjtmK2ZLYodmM2Iwg2KfZgtmS2LbZkCDYudmO2YbZkdmO2Kcg2KfZhNiv2ZHZjtmK2ZLZhtmOINmI2Y7Yo9mO2LrZktmG2ZDZhtmO2Kcg2YXZkNmG2Y4g2KfZhNmS2YHZjtmC2ZLYsdmQIiwiZnIiOiLDlCBBbGxhaCwgU2VpZ25ldXIgZGVzIHNlcHQgY2lldXgsIFNlaWduZXVyIGRlIGxhIHRlcnJlIGV0IGR1IFRyw7RuZSBpbW1lbnNlLCBub3RyZSBTZWlnbmV1ciBldCBTZWlnbmV1ciBkZSB0b3V0ZSBjaG9zZSwgQ2VsdWkgcXVpIGZlbmQgbGUgZ3JhaW4gZXQgbGUgbm95YXUsIHF1aSBhIGZhaXQgZGVzY2VuZHJlIGxhIFRvcmFoLCBs4oCZw4l2YW5naWxlIGV0IGxlIERpc2Nlcm5lbWVudC4gSmUgbWUgcsOpZnVnaWUgYXVwcsOocyBkZSBUb2kgY29udHJlIGxlIG1hbCBkZSB0b3V0ZSBjaG9zZSBxdWUgVHUgdGllbnMgcGFyIGxlIHRvdXBldC4gVHUgZXMgbGUgUHJlbWllciwgcmllbiBu4oCZZXN0IGF2YW50IFRvaSA7IFR1IGVzIGxlIERlcm5pZXIsIHJpZW4gbuKAmWVzdCBhcHLDqHMgVG9pLiIsInIiOiJNdXNsaW0gbsKwIDI3MTMgKEFib3UgSG91cmF5cmEgKHJhZGl5YWxsYWh1IMq\/YW5odSkpIiwidSI6Imh0dHBzOi8vc3VubmFoLmNvbS9tdXNsaW06MjcxMyJ9LHsiZSI6IvCfjZ4iLCJ0IjoiUmVtZXJjaWVyIHBvdXIgbGVzIGJpZW5mYWl0cyIsImFyIjoi2KfZhNmS2K3ZjtmF2ZLYr9mPINmE2ZDZhNmR2Y7Zh9mQINin2YTZkdmO2LDZkNmKINij2Y7Yt9mS2LnZjtmF2Y7ZhtmO2Kcg2YjZjtiz2Y7ZgtmO2KfZhtmO2KfYjCDZiNmO2YPZjtmB2Y7Yp9mG2Y7Yp9iMINmI2Y7YotmI2Y7Yp9mG2Y7Yp9iMINmB2Y7Zg9mO2YXZkiDZhdmQ2YXZkdmO2YbZkiDZhNin2Y4g2YPZjtin2YHZkNmK2Y4g2YTZjtmH2Y8g2YjZjtmE2KfZjiDZhdmP2KTZktmI2ZDZitmOIiwiZnIiOiJMb3VhbmdlIMOgIEFsbGFoIHF1aSBub3VzIGEgbm91cnJpcywgbm91cyBhIGTDqXNhbHTDqXLDqXMsIG5vdXMgYSBzdWZmaSBldCBub3VzIGEgYWJyaXTDqXMuIENvbWJpZW4gbuKAmW9udCBuaSBkZSBxdW9pIHNlIHN1ZmZpcmUgbmkgZOKAmWFicmkgISIsInIiOiJNdXNsaW0gbsKwIDI3MTUgKEFuYXMgKHJhZGl5YWxsYWh1IMq\/YW5odSkpIiwidSI6Imh0dHBzOi8vc3VubmFoLmNvbS9tdXNsaW06MjcxNSJ9LHsiZSI6IvCfpI0iLCJ0IjoiUmVtaXNlIGRlIHNvaSDDoCBBbGxhaCIsImFyIjoi2KfZhNmE2ZHZjtmH2Y\/ZhdmR2Y4g2KPZjtiz2ZLZhNmO2YXZktiq2Y8g2YbZjtmB2ZLYs9mQ2Yog2KXZkNmE2Y7ZitmS2YPZjtiMINmI2Y7ZgdmO2YjZkdmO2LbZktiq2Y8g2KPZjtmF2ZLYsdmQ2Yog2KXZkNmE2Y7ZitmS2YPZjtiMINmI2Y7ZiNmO2KzZkdmO2YfZktiq2Y8g2YjZjtis2ZLZh9mQ2Yog2KXZkNmE2Y7ZitmS2YPZjtiMINmI2Y7Yo9mO2YTZktis2Y7Yo9mS2KrZjyDYuNmO2YfZktix2ZDZiiDYpdmQ2YTZjtmK2ZLZg9mO2Iwg2LHZjti62ZLYqNmO2KnZiyDZiNmO2LHZjtmH2ZLYqNmO2KnZiyDYpdmQ2YTZjtmK2ZLZg9mO2Iwg2YTYp9mOINmF2Y7ZhNmS2KzZjtij2Y4g2YjZjtmE2KfZjiDZhdmO2YbZktis2Y7YpyDZhdmQ2YbZktmD2Y4g2KXZkNmE2KfZkdmOINil2ZDZhNmO2YrZktmD2Y7YjCDYotmF2Y7ZhtmS2KrZjyDYqNmQ2YPZkNiq2Y7Yp9io2ZDZg9mOINin2YTZkdmO2LDZkNmKINij2Y7ZhtmS2LLZjtmE2ZLYqtmO2Iwg2YjZjtio2ZDZhtmO2KjZkNmK2ZHZkNmD2Y4g2KfZhNmR2Y7YsNmQ2Yog2KPZjtix2ZLYs9mO2YTZktiq2Y4iLCJmciI6IsOUIEFsbGFoLCBqZSBUZSBzb3VtZXRzIG1vbiDDom1lLCBqZSByZW1ldHMgbW9uIGFmZmFpcmUgZW50cmUgVGVzIG1haW5zLCBqZSB0b3VybmUgbW9uIHZpc2FnZSB2ZXJzIFRvaSBldCBqZSBt4oCZYXBwdWllIHN1ciBUb2ksIHBhciBkw6lzaXIgZXQgcGFyIGNyYWludGUuIElsIG7igJl5IGEgZGUgcmVmdWdlIG5pIGRlIHNhbHV0IGNvbnRyZSBUb2kgcXXigJlhdXByw6hzIGRlIFRvaS4gSuKAmWFpIGNydSBlbiBUb24gTGl2cmUgcXVlIFR1IGFzIHLDqXbDqWzDqSBldCBlbiBUb24gUHJvcGjDqHRlIHF1ZSBUdSBhcyBlbnZvecOpLiBDZWx1aSBxdWkgZGl0IGNlbGEgZXQgbWV1cnQgY2V0dGUgbnVpdCBtZXVydCBzdXIgbGEgbmF0dXJlIChmaXRyYSkuIiwiciI6ImFsLUJ1a2jDonLDriBuwrAgMjQ3LCBNdXNsaW0gbsKwIDI3MTAgKGFsLUJhcsOi4oCZIGlibiDKv8OCemliIChyYWRpeWFsbGFodSDKv2FuaHVtYSkpIiwidSI6Imh0dHBzOi8vc3VubmFoLmNvbS9idWtoYXJpOjI0NyJ9XX0seyJpZCI6InJlcGFzIiwiZSI6IvCfjb3vuI8iLCJ0IjoiUmVwYXMgZXQgamXDu25lIiwiaW50cm8iOiJNYW5nZXIgYXZlYyBsYSBtYWluIGRyb2l0ZSwgZGUgY2UgcXVpIGVzdCBkZXZhbnQgc29pLCBldCBtZW50aW9ubmVyIGxlIG5vbSBk4oCZQWxsYWguIiwiaXRlbXMiOlt7ImUiOiLwn42977iPIiwidCI6IkF2YW50IGRlIG1hbmdlciIsImFyIjoi2KjZkNiz2ZLZhdmQINin2YTZhNmO2ZHZh9mQIiwiZnIiOiJBdSBub20gZOKAmUFsbGFoLiIsInIiOiJBYsO7IETDond1ZCBuwrAgMzc2NywgYXQtVGlybWlkaMOuIG7CsCAxODU4IChTYWhpaCksIGTigJlhcHLDqHMgyr\/DgsOvY2hhIChyYWRpeWFsbGFodSDKv2FuaHUpIiwidSI6Imh0dHBzOi8vc3VubmFoLmNvbS9hYnVkYXd1ZDozNzY3In0seyJlIjoi8J+YhSIsInQiOiJTaSBvbiBhIG91Ymxpw6kgYXUgZMOpYnV0IiwiYXIiOiLYqNmQ2LPZktmF2ZAg2KfZhNmE2Y7ZkdmH2ZAg2YHZkNmKINij2Y7ZiNmO2ZHZhNmQ2YfZkCDZiNmO2KLYrtmQ2LHZkNmH2ZAiLCJmciI6IkF1IG5vbSBk4oCZQWxsYWgsIGF1IGTDqWJ1dCBldCDDoCBsYSBmaW4uIiwiciI6IkFiw7sgRMOid3VkIG7CsCAzNzY3IChTYWhpaCkiLCJ1IjoiaHR0cHM6Ly9zdW5uYWguY29tL2FidWRhd3VkOjM3NjcifSx7ImUiOiLwn6SyIiwidCI6IkFwcsOocyBhdm9pciBtYW5nw6kiLCJhciI6Itin2YTZktit2Y7ZhdmS2K\/ZjyDZhNmQ2YTZkdmO2YfZkCDYp9mE2ZHZjtiw2ZDZiiDYo9mO2LfZkti52Y7ZhdmO2YbZkNmKINmH2Y7YsNmO2KfYjCDZiNmO2LHZjtiy2Y7ZgtmO2YbZkNmK2YfZkNiMINmF2ZDZhtmSINi62Y7ZitmS2LHZkCDYrdmO2YjZktmE2Y0g2YXZkNmG2ZHZkNmKINmI2Y7ZhNin2Y4g2YLZj9mI2ZHZjtip2Y0iLCJmciI6IkxvdWFuZ2Ugw6AgQWxsYWggcXVpIG3igJlhIG5vdXJyaSBkZSBjZWxhIGV0IG1lIGzigJlhIGFjY29yZMOpIHNhbnMgZm9yY2UgbmkgcHVpc3NhbmNlIGRlIG1hIHBhcnQuIChTZXMgcMOpY2jDqXMgcGFzc8OpcyBzb250IHBhcmRvbm7DqXMuKSIsInIiOiJhdC1UaXJtaWRow64gbsKwIDM0NTgsIElibiBNw6JqYSBuwrAgMzI4NSAoSGFzYW4pLCBk4oCZYXByw6hzIE11yr\/DomRoIGlibiBBbmFzIChyYWRpeWFsbGFodSDKv2FuaHUpIiwidSI6Imh0dHBzOi8vc3VubmFoLmNvbS90aXJtaWRoaTozNDU4In0seyJlIjoi8J+SmiIsInQiOiJMb3VhbmdlIGFib25kYW50ZSIsImFyIjoi2KfZhNmS2K3ZjtmF2ZLYr9mPINmE2ZDZhNmR2Y7Zh9mQINit2Y7ZhdmS2K\/Yp9mLINmD2Y7Yq9mQ2YrYsdin2Ysg2LfZjtmK2ZHZkNio2KfZiyDZhdmP2KjZjtin2LHZjtmD2KfZiyDZgdmQ2YrZh9mQ2Iwg2LrZjtmK2ZLYsdmOINmF2Y7Zg9mS2YHZkNmK2ZHZjSDZiNmO2YTYp9mOICDZhdmP2YjZjtiv2ZHZjti52Y3YjCDZiNmO2YTYp9mOINmF2Y\/Ys9mS2KrZjti62ZLZhtmO2YnZiyDYudmO2YbZktmH2Y8g2LHZjtio2ZHZjtmG2Y7YpyIsImZyIjoiTG91YW5nZSDDoCBBbGxhaCwgYWJvbmRhbnRlLCBib25uZSBldCBiw6luaWUsIHVuZSBsb3VhbmdlIGRvbnQgb24gbmUgcGV1dCBzZSBwYXNzZXIsIG5pIHF14oCZb24gbGFpc3NlLCBuaSBkb250IG9uIHBldXQgc2UgZGlzcGVuc2VyLCDDtCBub3RyZSBTZWlnbmV1ci4iLCJyIjoiYWwtQnVraMOicsOuIG7CsCA1NDU4IChBYm91IFVtw6JtYSAocmFkaXlhbGxhaHUgyr9hbmh1KSkiLCJ1IjoiaHR0cHM6Ly9zdW5uYWguY29tL2J1a2hhcmk6NTQ1OCJ9LHsiZSI6IvCfj6AiLCJ0IjoiTOKAmWludml0w6kgcG91ciBzb24gaMO0dGUiLCJhciI6Itin2YTZhNmR2Y7Zh9mP2YXZkdmOINio2Y7Yp9ix2ZDZg9mSINmE2Y7Zh9mP2YXZkiDZgdmQ2YrZhdmO2Kcg2LHZjtiy2Y7ZgtmS2KrZjtmH2Y\/ZhdiMINmI2Y7Yp9i62ZLZgdmQ2LHZkiDZhNmO2YfZj9mF2ZIg2YjZjtin2LHZktit2Y7ZhdmS2YfZj9mF2ZIiLCJmciI6IsOUIEFsbGFoLCBiw6luaXMgY2UgcXVlIFR1IGxldXIgYXMgYWNjb3Jkw6ksIHBhcmRvbm5lLWxldXIgZXQgZmFpcy1sZXVyIG1pc8Opcmljb3JkZS4iLCJyIjoiTXVzbGltIG7CsCAyMDQyICjKv0FiZHVsbGFoIGlibiBCdXNyIChyYWRpeWFsbGFodSDKv2FuaHUpKSIsInUiOiJodHRwczovL3N1bm5haC5jb20vbXVzbGltOjIwNDIifSx7ImUiOiLwn4yHIiwidCI6IsOAIGxhIHJ1cHR1cmUgZHUgamXDu25lIiwiYXIiOiLYsNmO2YfZjtio2Y4g2KfZhNi42ZHZjtmF2Y7Yo9mPINmI2Y7Yp9io2ZLYqtmO2YTZkdmO2KrZkCDYp9mE2LnZj9ix2Y\/ZiNmC2Y\/YjCDZiNmO2KvZjtio2Y7YqtmOINin2YTZktij2Y7YrNmS2LHZjyDYpdmQ2YbZkiDYtNmO2KfYodmOINin2YTZhNmR2Y7Zh9mPIiwiZnIiOiJMYSBzb2lmIGVzdCBwYXJ0aWUsIGxlcyB2ZWluZXMgc29udCBodW1lY3TDqWVzIGV0IGxhIHLDqWNvbXBlbnNlIGVzdCDDqXRhYmxpZSwgc2kgQWxsYWggbGUgdmV1dC4iLCJyIjoiQWLDuyBEw6J3dWQgbsKwIDIzNTcgKEhhc2FuKSwgZOKAmWFwcsOocyBJYm4gyr9VbWFyIChyYWRpeWFsbGFodSDKv2FuaHVtYSkiLCJ1IjoiaHR0cHM6Ly9zdW5uYWguY29tL2FidWRhd3VkOjIzNTcifSx7ImUiOiLwn5WMIiwidCI6IlJvbXByZSBsZSBqZcO7bmUgY2hleiBxdWVscXXigJl1biIsImFyIjoi2KPZjtmB2ZLYt9mO2LHZjiDYudmQ2YbZktiv2Y7Zg9mP2YXZjyDYp9mE2LXZjtmR2KfYptmQ2YXZj9mI2YbZjtiMINmI2Y7Yo9mO2YPZjtmE2Y4g2LfZjti52Y7Yp9mF2Y7Zg9mP2YXZjyDYp9mE2ZLYo9mO2KjZktix2Y7Yp9ix2Y\/YjCDZiNmO2LXZjtmE2ZHZjtiq2ZIg2LnZjtmE2Y7ZitmS2YPZj9mF2Y8g2KfZhNmS2YXZjtmE2KfZjtim2ZDZg9mO2KnZjyIsImZyIjoiTGVzIGplw7tuZXVycyBvbnQgcm9tcHUgY2hleiB2b3VzLCBsZXMgZ2VucyBwaWV1eCBvbnQgbWFuZ8OpIHZvdHJlIG5vdXJyaXR1cmUgZXQgbGVzIGFuZ2VzIG9udCBwcmnDqSBwb3VyIHZvdXMuIiwiciI6IkFiw7sgRMOid3VkIG7CsCAzODU0IChTYWhpaCksIGTigJlhcHLDqHMgQW5hcyAocmFkaXlhbGxhaHUgyr9hbmh1KSIsInUiOiJodHRwczovL3N1bm5haC5jb20vYWJ1ZGF3dWQ6Mzg1NCJ9XX0seyJpZCI6ImhhamoiLCJlIjoi8J+ViyIsInQiOiJIYWpqIGV0IE9tcmEiLCJpbnRybyI6IsOJdGFwZXMgcHJpbmNpcGFsZXMgZXQgaW52b2NhdGlvbnMgcmFwcG9ydMOpZXMuIENlIHLDqXN1bcOpIG5lIHJlbXBsYWNlIHBhcyB2b3RyZSBndWlkZSBvdSBsYSBtaXNzaW9uIGR1IEhhamogOiBzdWl2ZXogbGV1cnMgY29uc2lnbmVzLiIsIml0ZW1zIjpbeyJlIjoi8J+nsyIsInQiOiJPbXJhIDogMS4gTOKAmWlocmFtIGV0IGzigJlpbnRlbnRpb24iLCJhciI6bnVsbCwiZnIiOiJHaHVzbCwgcGFyZnVtIHBvdXIgbOKAmWhvbW1lIGF2YW50IGzigJlpbnRlbnRpb24gKHBhcyBhcHLDqHMpLCB2w6p0ZW1lbnRzIGTigJlpaHJhbSBwb3VyIGzigJlob21tZSAoZGV1eCBwacOoY2VzIG5vbiBjb3VzdWVzKSwgdGVudWUgZMOpY2VudGUgcG91ciBsYSBmZW1tZS4gRm9ybXVsZXIgbOKAmWludGVudGlvbiBk4oCZT21yYSwgcHVpcyBkaXJlIGxhIHRhbGJpeWEuIiwiciI6IlZvaXIgbGVzIG91dnJhZ2VzIGRlIGZpcWggZHUgSGFqaiBldCBkZSBsYSBPbXJhIn0seyJlIjoi8J+ToyIsInQiOiJMYSB0YWxiaXlhIiwiYXIiOiLZhNmO2KjZkdmO2YrZktmD2Y4g2KfZhNmE2ZHZjtmH2Y\/ZhdmR2Y4g2YTZjtio2ZHZjtmK2ZLZg9mO2Iwg2YTZjtio2ZHZjtmK2ZLZg9mOINmE2KfZjiDYtNmO2LHZkNmK2YPZjiDZhNmO2YPZjiDZhNmO2KjZkdmO2YrZktmD2Y7YjCDYpdmQ2YbZkdmOINin2YTZktit2Y7ZhdmS2K\/ZjtiMINmI2Y7Yp9mE2YbZkdmQ2LnZktmF2Y7YqdmO2Iwg2YTZjtmD2Y4g2YjZjtin2YTZktmF2Y\/ZhNmS2YPZjtiMINmE2KfZjiDYtNmO2LHZkNmK2YPZjiDZhNmO2YPZjiIsImZyIjoiTWUgdm9pY2ksIMO0IEFsbGFoLCBtZSB2b2ljaS4gTWUgdm9pY2ksIFR1IG7igJlhcyBwYXMgZOKAmWFzc29jacOpLCBtZSB2b2ljaS4gTGEgbG91YW5nZSwgbGUgYmllbmZhaXQgZXQgbGEgcm95YXV0w6kgVOKAmWFwcGFydGllbm5lbnQsIFR1IG7igJlhcyBwYXMgZOKAmWFzc29jacOpLiIsInIiOiJhbC1CdWtow6Jyw64gbsKwIDE1NDksIE11c2xpbSBuwrAgMTE4NCAoSWJuIMq\/VW1hciAocmFkaXlhbGxhaHUgyr9hbmh1bWEpKSIsInUiOiJodHRwczovL3N1bm5haC5jb20vYnVraGFyaToxNTQ5IiwibiI6IsOgIHLDqXDDqXRlciJ9LHsiZSI6IvCflYsiLCJ0IjoiT21yYSA6IDIuIExlIHRhd2FmICg3IHRvdXJzKSIsImFyIjpudWxsLCJmciI6IkNvbW1lbmNlciDDoCBsYSBQaWVycmUgTm9pcmUgZXQgZ2FyZGVyIGxhIEthyr9iYSDDoCBzYSBnYXVjaGUuIMOAIGNoYXF1ZSBwYXNzYWdlIGRldmFudCBsYSBQaWVycmUgTm9pcmUsIG9uIGxhIHRvdWNoZSBzaSBvbiBwZXV0LCBzaW5vbiBvbiBsdWkgZmFpdCBzaWduZSBkZSBsYSBtYWluIGVuIGRpc2FudCDCqyBBbGxhaHUgYWtiYXIgwrsuIiwiciI6ImFsLUJ1a2jDonLDriBuwrAgMTYxMyAoSWJuIMq\/QWJiw6JzIChyYWRpeWFsbGFodSDKv2FuaHVtYSkpIiwidSI6Imh0dHBzOi8vc3VubmFoLmNvbS9idWtoYXJpOjE2MTMifSx7ImUiOiLwn6SyIiwidCI6IkVudHJlIGxlIGNvaW4gecOpbcOpbml0ZSBldCBsYSBQaWVycmUgTm9pcmUiLCJhciI6Itix2Y7YqNmR2Y7ZhtmO2Kcg2KLYqtmQ2YbZjtinINmB2ZDZiiDYp9mE2K\/ZkdmP2YbZktmK2Y7YpyDYrdmO2LPZjtmG2Y7YqdmLINmI2Y7ZgdmQ2Yog2KfZhNmS2KLYrtmQ2LHZjtip2ZAg2K3Zjtiz2Y7ZhtmO2KnZiyDZiNmO2YLZkNmG2Y7YpyDYudmO2LDZjtin2KjZjiDYp9mE2YbZkdmO2KfYsdmQIiwiZnIiOiJOb3RyZSBTZWlnbmV1ciwgYWNjb3JkZS1ub3VzIHVuZSBiZWxsZSBwYXJ0IGljaS1iYXMgZXQgdW5lIGJlbGxlIHBhcnQgZGFucyBs4oCZYXUtZGVsw6AsIGV0IHByb3TDqGdlLW5vdXMgZHUgY2jDonRpbWVudCBkdSBGZXUuIiwiciI6IkFiw7sgRMOid3VkIG7CsCAxODkyIChIYXNhbiksIMq\/QWJkdWxsYWggaWJuIGFzLVPDouKAmWliIChyYWRpeWFsbGFodSDKv2FuaHUpIDsgQ29yYW4gMjoyMDEiLCJ1IjoiaHR0cHM6Ly9zdW5uYWguY29tL2FidWRhd3VkOjE4OTIifSx7ImUiOiLwn5mPIiwidCI6Ik9tcmEgOiAzLiBEZXV4IHJha8q\/YXQiLCJhciI6bnVsbCwiZnIiOiJBcHLDqHMgbGUgdGF3YWYsIGRldXggcmFryr9hdCBkZXJyacOocmUgbGUgTWFxw6JtIGTigJlJYnJhaGltLCBwdWlzIGJvaXJlIGzigJllYXUgZGUgWmFtemFtLiIsInIiOiJDb3JhbiAyOjEyNSJ9LHsiZSI6IuKbsO+4jyIsInQiOiJPbXJhIDogNC4gTGUgc2HKv3kgZW50cmUgU2FmYSBldCBNYXJ3YSIsImFyIjpudWxsLCJmciI6IlNlcHQgdHJhamV0cywgZW4gY29tbWVuw6dhbnQgcGFyIFNhZmEgZXQgZW4gZmluaXNzYW50IMOgIE1hcndhLiBFbiBhcHByb2NoYW50IGRlIFNhZmEsIHLDqWNpdGVyIMKrIElubmEgYXMtU2Fmw6Igd2EgYWwtTWFyd2F0YSBtaW4gc2hhyr\/DouKAmWlyaSBBbGzDomggwrsgcHVpcyBkaXJlIMKrIEFiZGHigJl1IGJpbcOiIGJhZGHigJlhIEFsbMOiaHUgYmloaSDCuy4iLCJyIjoiQ29yYW4gMjoxNTggOyBNdXNsaW0gbsKwIDEyMTggKErDomJpciAocmFkaXlhbGxhaHUgyr9hbmh1bWEpKSIsInUiOiJodHRwczovL3N1bm5haC5jb20vbXVzbGltOjEyMTgifSx7ImUiOiLimJ3vuI8iLCJ0IjoiU3VyIFNhZmEgZXQgc3VyIE1hcndhIiwiYXIiOiLZhNin2Y4g2KXZkNmE2Y7Zh9mOINil2ZDZhNin2Y7ZkSDYp9mE2YTZjtmR2YfZjyDZiNmO2K3Zktiv2Y7Zh9mPINmE2KfZjiDYtNmO2LHZkNmK2YPZjiDZhNmO2YfZj9iMINmE2Y7Zh9mPINin2YTZktmF2Y\/ZhNmS2YPZjyDZiNmO2YTZjtmH2Y8g2KfZhNmS2K3ZjtmF2ZLYr9mPINmI2Y7Zh9mP2YjZjiDYudmO2YTZjtmJINmD2Y\/ZhNmQ2ZEg2LTZjtmK2ZLYodmNINmC2Y7Yr9mQ2YrYsdmM2Iwg2YTYp9mOINil2ZDZhNmO2YfZjiDYpdmQ2YTYp9mO2ZEg2KfZhNmE2Y7ZkdmH2Y8g2YjZjtit2ZLYr9mO2YfZj9iMINij2Y7ZhtmS2KzZjtiy2Y4g2YjZjti52ZLYr9mO2YfZj9iMINmI2Y7ZhtmO2LXZjtix2Y4g2LnZjtio2ZLYr9mO2YfZj9iMINmI2Y7Zh9mO2LLZjtmF2Y4g2KfZhNmS2KPZjtit2ZLYstmO2KfYqNmOINmI2Y7YrdmS2K\/ZjtmH2Y8iLCJmciI6IklsIG7igJl5IGEgZGUgZGl2aW5pdMOpIHF14oCZQWxsYWgsIFNldWwsIHNhbnMgYXNzb2Npw6kuIMOAIEx1aSBsYSByb3lhdXTDqSBldCBsYSBsb3VhbmdlLCBldCBJbCBlc3QgY2FwYWJsZSBkZSB0b3V0ZSBjaG9zZS4gSWwgbuKAmXkgYSBkZSBkaXZpbml0w6kgcXXigJlBbGxhaCwgU2V1bCA6IElsIGEgdGVudSBTYSBwcm9tZXNzZSwgc2Vjb3VydSBTb24gc2Vydml0ZXVyIGV0IG1pcyBlbiBkw6lyb3V0ZSBsZXMgY29hbGlzw6lzLCDDoCBMdWkgc2V1bC4gRmFpcmUgZW5zdWl0ZSB1bmUgaW52b2NhdGlvbiwgZXQgcsOpcMOpdGVyIDMgZm9pcy4iLCJyIjoiTXVzbGltIG7CsCAxMjE4IChKw6JiaXIgKHJhZGl5YWxsYWh1IMq\/YW5odW1hKSkiLCJ1IjoiaHR0cHM6Ly9zdW5uYWguY29tL211c2xpbToxMjE4IiwibiI6IsOXIDMifSx7ImUiOiLinILvuI8iLCJ0IjoiT21yYSA6IDUuIFJhc2VyIG91IHJhY2NvdXJjaXIiLCJhciI6bnVsbCwiZnIiOiJM4oCZaG9tbWUgcmFzZSBvdSByYWNjb3VyY2l0IHNlcyBjaGV2ZXV4IChyYXNlciBlc3QgcHLDqWbDqXJhYmxlKSwgbGEgZmVtbWUgY291cGUgbOKAmcOpcXVpdmFsZW50IGTigJl1biBib3V0IGRlIGRvaWd0LiBM4oCZT21yYSBlc3QgYWxvcnMgdGVybWluw6llLiIsInIiOiJDb3JhbiA0ODoyNyJ9LHsiZSI6IvCfkKoiLCJ0IjoiSGFqaiA6IDggZGhvdSBhbC1oaWpqYSAoVGFyd2l5YSkiLCJhciI6bnVsbCwiZnIiOiJFbnRyZXIgZW4gaWhyYW0gKHBvdXIgcXVpIGZhaXQgbGUgdGFtYXR0dcq\/KSBwdWlzIHNlIHJlbmRyZSDDoCBNaW5hIDogcHJpZXIgRGhvdWhyLCDKv0FzciwgTWFnaHJpYiwgyr9JY2jDoiBldCBGYWpyIMOgIE1pbmEuIiwiciI6Ik11c2xpbSBuwrAgMTIxOCIsInUiOiJodHRwczovL3N1bm5haC5jb20vbXVzbGltOjEyMTgifSx7ImUiOiLwn4+c77iPIiwidCI6IkhhamogOiA5IGRob3UgYWwtaGlqamEgKEFyYWZhKSIsImFyIjpudWxsLCJmciI6IkFwcsOocyBsZSBsZXZlciBkdSBzb2xlaWwsIGFsbGVyIMOgIMq\/QXJhZmEuIERob3VociBldCDKv0FzciBzb250IHJlZ3JvdXDDqWVzIGV0IHJhY2NvdXJjaWVzLiBSZXN0ZXIgZGVib3V0ICh3b3VxdWYpIGp1c3F14oCZYXUgY291Y2hlciBkdSBzb2xlaWwsIGZhY2Ugw6AgbGEgcWlibGEsIG1haW5zIGxldsOpZXMsIMOgIGludm9xdWVyLiIsInIiOiJNdXNsaW0gbsKwIDEyMTgifSx7ImUiOiLwn6SNIiwidCI6IkRoaWtyIGR1IGpvdXIgZOKAmcq\/QXJhZmEiLCJhciI6ItmE2KfZjiDYpdmQ2YTZjtmH2Y4g2KXZkNmE2KfZkdmOINin2YTZhNmR2Y7Zh9mPINmI2Y7YrdmS2K\/ZjtmH2Y8g2YTYp9mOINi02Y7YsdmQ2YrZg9mOINmE2Y7Zh9mP2Iwg2YTZjtmH2Y8g2KfZhNmS2YXZj9mE2ZLZg9mPINmI2Y7ZhNmO2YfZjyDYp9mE2ZLYrdmO2YXZktiv2Y8g2YjZjtmH2Y\/ZiNmOINi52Y7ZhNmO2Ykg2YPZj9mE2ZHZkCDYtNmO2YrZktih2Y0g2YLZjtiv2ZDZitix2YwiLCJmciI6IklsIG7igJl5IGEgZGUgZGl2aW5pdMOpIHF14oCZQWxsYWgsIFNldWwsIHNhbnMgYXNzb2Npw6kuIMOAIEx1aSBsYSByb3lhdXTDqSBldCBsYSBsb3VhbmdlLCBldCBJbCBlc3QgY2FwYWJsZSBkZSB0b3V0ZSBjaG9zZS4gQ2UgaGFkaXRoIHJhcHBvcnTDqSBwYXIgYXQtVGlybWlkaMOuIG7CsCAzNTg1IGVzdCBqdWfDqSBmYWlibGUgcGFyIGNlcnRhaW5zIHNhdmFudHMgZXQgcmV0ZW51IHBhciBk4oCZYXV0cmVzIDsgbGUgZGhpa3IgbHVpLW3Dqm1lIGVzdCBjb25maXJtw6kgYWlsbGV1cnMgKHZvaXIgwqsgTWF0aW4gZXQgc29pciDCuykuIiwiciI6ImF0LVRpcm1pZGjDriBuwrAgMzU4NSAoY2hhw65uZSBkaXNjdXTDqWUpIiwidSI6Imh0dHBzOi8vc3VubmFoLmNvbS90aXJtaWRoaTozNTg1IiwiZyI6IkNoYcOubmUgZGlzY3V0w6llIn0seyJlIjoi8J+MjCIsInQiOiJIYWpqIDogbnVpdCDDoCBNb3V6ZGFsaWZhIiwiYXIiOm51bGwsImZyIjoiQXByw6hzIGxlIGNvdWNoZXIgZHUgc29sZWlsLCBwYXJ0aXIgY2FsbWVtZW50IHZlcnMgTW91emRhbGlmYSA6IE1hZ2hyaWIgZXQgyr9JY2jDoiByZWdyb3Vww6llcywgbnVpdCBzdXIgcGxhY2UsIEZhanIsIHB1aXMgd291cXVmIGF1IE1hY2jKv2FyIGFsLUhhcsOibSBmYWNlIMOgIGxhIHFpYmxhLCDDoCBpbnZvcXVlciwgZGlyZSDCqyBBbGxhaHUgYWtiYXIgwrsgZXQgwqsgTGEgaWxhaGEgaWxsYSBBbGxhaCDCuyBqdXNxdeKAmcOgIGNlIHF1ZSBsZSBjaWVsIHNvaXQgYmllbiBjbGFpci4iLCJyIjoiTXVzbGltIG7CsCAxMjE4IDsgQ29yYW4gMjoxOTgiLCJ1IjoiaHR0cHM6Ly9zdW5uYWguY29tL211c2xpbToxMjE4In0seyJlIjoi8J+qqCIsInQiOiJIYWpqIDogMTAgZGhvdSBhbC1oaWpqYSwgamFtcmF0IGFsLcq\/QXFhYmEiLCJhciI6bnVsbCwiZnIiOiJMYW5jZXIgNyBjYWlsbG91eCDDoCBsYSBncmFuZGUgamFtcmEsIGVuIGRpc2FudCDCqyBBbGxhaHUgYWtiYXIgwrsgw6AgY2hhcXVlIGNhaWxsb3UuIFB1aXMgaW1tb2xhdGlvbiwgcmFzYWdlIG91IHJhY2NvdXJjaXNzZW1lbnQsIGV0IHRhd2FmIGFsLWlmw6JkYSAoYXZlYyBzYcq\/eSBwb3VyIGxlIHRhbWF0dHXKvykuIiwiciI6Ik11c2xpbSBuwrAgMTIxOCIsInUiOiJodHRwczovL3N1bm5haC5jb20vbXVzbGltOjEyMTgifSx7ImUiOiLwn4yk77iPIiwidCI6IkhhamogOiAxMSwgMTIgZXQgMTMgZGhvdSBhbC1oaWpqYSIsImFyIjpudWxsLCJmciI6IkxhcGlkYXRpb24gZGVzIHRyb2lzIGphbWFyw6J0IGNoYXF1ZSBqb3VyIGFwcsOocyBsZSB6YXfDomwgKG1pZGkgc29sYWlyZSksIGVuIGNvbW1lbsOnYW50IHBhciBsYSBwZXRpdGUsIGF2ZWMgwqsgQWxsYWh1IGFrYmFyIMK7IMOgIGNoYXF1ZSBjYWlsbG91LiBJbnZvcXVlciBmYWNlIMOgIGxhIHFpYmxhIGFwcsOocyBsYSBwcmVtacOocmUgZXQgbGEgZGV1eGnDqG1lLiBTw6lqb3VyIMOgIE1pbmEuIiwiciI6Ik11c2xpbSBuwrAgMTIxOCJ9LHsiZSI6IvCfkYsiLCJ0IjoiVGF3YWYgYWwtd2Fkw6LKvyIsImFyIjpudWxsLCJmciI6IkRlcm5pZXIgYWN0ZSBhdmFudCBkZSBxdWl0dGVyIExhIE1lY3F1ZSA6IHVuIHRhd2FmIGTigJlhZGlldS4iLCJyIjoiVm9pciBsZXMgb3V2cmFnZXMgZGUgZmlxaCBkdSBIYWpqIn1dfSx7ImlkIjoic2FjcmlmaWNlIiwiZSI6IvCfkJEiLCJ0IjoiU2FjcmlmaWNlIChpbW1vbGF0aW9uKSIsImludHJvIjoiQ2UgcXVlIGzigJlvbiBkaXQgZW4gaW1tb2xhbnQgdW4gYW5pbWFsLCBldCBsZXMgcsOoZ2xlcyBkZSBib25uZSBjb25kdWl0ZSDDoCBjb25uYcOudHJlLiIsIml0ZW1zIjpbeyJlIjoi8J+UqiIsInQiOiJDZSBxdeKAmW9uIGRpdCBhdSBtb21lbnQgZOKAmcOpZ29yZ2VyIiwiYXIiOiLYqNmQ2LPZktmF2ZAg2KfZhNmE2Y7ZkdmH2ZAg2YjZjtin2YTZhNmO2ZHZh9mPINij2Y7Zg9mS2KjZjtix2Y8iLCJmciI6IkF1IG5vbSBk4oCZQWxsYWgsIGV0IEFsbGFoIGVzdCBsZSBwbHVzIGdyYW5kLiIsInIiOiJNdXNsaW0gbsKwIDE5NjYgOiBsZSBQcm9waMOodGUg77e6IHNhY3JpZmlhIGRlIHNlcyBtYWlucyBkZXV4IGLDqWxpZXJzIGVuIGRpc2FudCBjZWxhIChBbmFzIChyYWRpeWFsbGFodSDKv2FuaHUpKSIsInUiOiJodHRwczovL3N1bm5haC5jb20vbXVzbGltOjE5NjYifSx7ImUiOiLwn6SyIiwidCI6IkRlbWFuZGVyIGzigJlhY2NlcHRhdGlvbiIsImFyIjoi2KfZhNmE2Y7ZkdmH2Y\/ZhdmO2ZEg2KrZjtmC2Y7YqNmO2ZHZhNmSINmF2ZDZhtmQ2ZHZiiIsImZyIjoiw5QgQWxsYWgsIGFjY2VwdGUgZGUgbW9pLiBMZSBQcm9waMOodGUg77e6IGEgZGl0IMKrIEJpc21pbGxhaCwgQWxsYWh1bW1hIHRhcWFiYmFs4oCmIMK7IHBvdXIgc29uIHNhY3JpZmljZSAoTXVzbGltIG7CsCAxOTY3KS4gTGEgZm9ybXVsZSDCqyBBbGxhaHVtbWEgbWlua2Egd2EgbGFrYSDCuyByYXBwb3J0w6llIHBhciBBYsO7IETDond1ZCBuwrAgMjc5NSBlc3QganVnw6llIGZhaWJsZSBwYXIgYWwtQWxiw6Juw64sIG5vdXMgbmUgbGEgcmV0ZW5vbnMgcGFzLiIsInIiOiJNdXNsaW0gbsKwIDE5NjcgKMq\/w4LDr2NoYSAocmFkaXlhbGxhaHUgyr9hbmh1KSkiLCJ1IjoiaHR0cHM6Ly9zdW5uYWguY29tL211c2xpbToxOTY3In0seyJlIjoi8J+SmiIsInQiOiJFbnNlaWduZW1lbnQgMSA6IGxhIGJvbnTDqSAoaeG4pXPDom4pIiwiYXIiOm51bGwsImZyIjoiTGUgUHJvcGjDqHRlIO+3uiBhIGRpdCA6IMKrIEFsbGFoIGEgcHJlc2NyaXQgbGEgYm9udMOpIGVuIHRvdXRlIGNob3NlLiBRdWFuZCB2b3VzIHR1ZXosIHR1ZXogYXZlYyBib250w6kgOyBxdWFuZCB2b3VzIMOpZ29yZ2V6LCDDqWdvcmdleiBhdmVjIGJvbnTDqS4gUXVlIGNoYWN1biBhaWd1aXNlIHNhIGxhbWUgZXQgc291bGFnZSBs4oCZYW5pbWFsLiDCuyBMZXMgc2F2YW50cyBlbiBkw6lkdWlzZW50IDogY291dGVhdSBiaWVuIGFpZ3Vpc8OpLCBnZXN0ZSByYXBpZGUsIMOpdml0ZXIgZGUgZmFpcmUgc291ZmZyaXIgb3UgZOKAmWVmZnJheWVyIGzigJlhbmltYWwuIiwiciI6Ik11c2xpbSBuwrAgMTk1NSAoQ2hhZGTDomQgaWJuIEF3cyAocmFkaXlhbGxhaHUgyr9hbmh1KSkiLCJ1IjoiaHR0cHM6Ly9zdW5uYWguY29tL211c2xpbToxOTU1In0seyJlIjoi8J+TvyIsInQiOiJFbnNlaWduZW1lbnQgMiA6IG1lbnRpb25uZXIgbGUgbm9tIGTigJlBbGxhaCIsImFyIjpudWxsLCJmciI6IkxlIG5vbSBk4oCZQWxsYWggZXN0IHByb25vbmPDqSDDoCBjaGFxdWUgaW1tb2xhdGlvbiwgc2FucyBxdW9pIGxhIHZpYW5kZSBu4oCZZXN0IHBhcyBsaWNpdGUuIiwiciI6IkNvcmFuIDY6MTIxIDsgQ29yYW4gMjI6MzQifSx7ImUiOiLwn5WMIiwidCI6IkVuc2VpZ25lbWVudCAzIDogbGUgbW9tZW50LCBwb3VyIGzigJlBw69kIiwiYXIiOm51bGwsImZyIjoiTGUgc2FjcmlmaWNlIGRlIGzigJlBw69kIHNlIGZhaXQgYXByw6hzIGxhIHByacOocmUgZGUgbOKAmUHDr2QuIENlIHF1aSBlc3Qgw6lnb3Jnw6kgYXZhbnQgbuKAmWVzdCBxdeKAmXVuZSB2aWFuZGUgb3JkaW5haXJlIHBvdXIgbGEgZmFtaWxsZSBldCBub24gdW4gc2FjcmlmaWNlLiIsInIiOiJhbC1CdWtow6Jyw64gbsKwIDU1NDUgKGFsLUJhcsOi4oCZIChyYWRpeWFsbGFodSDKv2FuaHUpKSIsInUiOiJodHRwczovL3N1bm5haC5jb20vYnVraGFyaTo1NTQ1In0seyJlIjoi8J+knSIsInQiOiJFbnNlaWduZW1lbnQgNCA6IHBhcnRhZ2VyIiwiYXIiOm51bGwsImZyIjoiT24gbWFuZ2UgZHUgc2FjcmlmaWNlLCBvbiBvZmZyZSBhdXggcHJvY2hlcyBldCBvbiBlbiBkb25uZSBhdXggcGF1dnJlcyA6IMKrIG1hbmdlei1lbiBldCBub3Vycmlzc2V6IGxlIGJlc29nbmV1eCBkaXNjcmV0IGV0IGxlIG1lbmRpYW50IMK7LiIsInIiOiJDb3JhbiAyMjozNiJ9LHsiZSI6IvCfqboiLCJ0IjoiUmFwcGVscyBwcmF0aXF1ZXMiLCJhciI6bnVsbCwiZnIiOiJBbmltYWwgc2FpbiwgZW4gYm9ubmUgc2FudMOpIGV0IGTigJnDomdlIHJlcXVpcyA7IMOpZ29yZ2VtZW50IHF1aSBjb3VwZSBsYSBnb3JnZSwgbGEgdHJhY2jDqWUsIGzigJnFk3NvcGhhZ2UgZXQgbGVzIHZhaXNzZWF1eCA7IGzigJlhbmltYWwgZXN0IHZpdmFudCwgZXQgZGUgcHLDqWbDqXJlbmNlIG9yaWVudMOpIHZlcnMgbGEgcWlibGEuIFBvdXIgdW4gY2FzIHByw6ljaXMgKMOiZ2UsIGTDqWZhdXRzLCBwYXJ0YWdlIGVuIGNvbW11biksIGNvbnN1bHRleiB1biBzYXZhbnQgb3UgdW4gc2FjcmlmaWNhdGV1ciBmb3Jtw6kuIiwiciI6IkZpcWggOiDDoCBjb25maXJtZXIgYXVwcsOocyBk4oCZdW4gc2F2YW50In1dfSx7ImlkIjoicmFiYmFuYSIsImUiOiLwn6SyIiwidCI6IkxlcyA0MCBSYWJiYW5hIiwiaW50cm8iOiJRdWFyYW50ZSBpbnZvY2F0aW9ucyB0aXLDqWVzIGR1IENvcmFuLCBsYSBwbHVwYXJ0IGNvbW1lbsOnYW50IHBhciDCqyBSYWJiYW5hIMK7IChOb3RyZSBTZWlnbmV1cikuIFZlcnNldCBjb21wbGV0IMOgIGNoYXF1ZSBmb2lzLiIsIml0ZW1zIjpbeyJlIjoi8J+ksiIsInQiOiIxLiBBY2NlcHRlIGRlIG5vdXMiLCJhciI6ItmI2Y7YpdmQ2LDZkiDZitmO2LHZktmB2Y7YudmPINil2ZDYqNmS2LHZjtmw2YfZkNum2YXZjyDZsdmE2ZLZgtmO2YjZjtin2LnZkNiv2Y4g2YXZkNmG2Y4g2bHZhNmS2KjZjtmK2ZLYqtmQINmI2Y7YpdmQ2LPZktmF2Y7ZsNi52ZDZitmE2Y8g2LHZjtio2ZHZjtmG2Y7YpyDYqtmO2YLZjtio2ZHZjtmE2ZIg2YXZkNmG2ZHZjtin2ZMg25Yg2KXZkNmG2ZHZjtmD2Y4g2KPZjtmG2KrZjiDZsdmE2LPZkdmO2YXZkNmK2LnZjyDZsdmE2ZLYudmO2YTZkNmK2YXZjyIsImZyIjoiRXQgcXVhbmQgQWJyYWhhbSBldCBJc21hw6tsIMOpbGV2YWllbnQgbGVzIGFzc2lzZXMgZGUgbGEgTWFpc29uOiDCq08gbm90cmUgU2VpZ25ldXIsIGFjY2VwdGUgY2VjaSBkZSBub3RyZSBwYXJ0ISBDYXIgYydlc3QgVG9pIGwnQXVkaWVudCwgbCdPbW5pc2NpZW50LiIsInIiOiJDb3JhbiAyOjEyNyIsIm4iOm51bGx9LHsiZSI6IvCfpLIiLCJ0IjoiMi4gU291bWlzc2lvbiBldCBwYXJkb24iLCJhciI6Itix2Y7YqNmR2Y7ZhtmO2Kcg2YjZjtmx2KzZkti52Y7ZhNmS2YbZjtinINmF2Y\/Ys9mS2YTZkNmF2Y7ZitmS2YbZkCDZhNmO2YPZjiDZiNmO2YXZkNmGINiw2Y\/YsdmR2ZDZitmR2Y7YqtmQ2YbZjtin2ZMg2KPZj9mF2ZHZjtip2YvbrSDZhdmR2Y\/Ys9mS2YTZkNmF2Y7YqdmL260g2YTZkdmO2YPZjiDZiNmO2KPZjtix2ZDZhtmO2Kcg2YXZjtmG2Y7Yp9iz2ZDZg9mO2YbZjtinINmI2Y7YqtmP2KjZkiDYudmO2YTZjtmK2ZLZhtmO2KfZkyDbliDYpdmQ2YbZkdmO2YPZjiDYo9mO2YbYqtmOINmx2YTYqtmR2Y7ZiNmR2Y7Yp9io2Y8g2bHZhNix2ZHZjtit2ZDZitmF2Y8iLCJmciI6Ik5vdHJlIFNlaWduZXVyISBGYWlzIGRlIG5vdXMgVGVzIFNvdW1pcywgZXQgZGUgbm90cmUgZGVzY2VuZGFuY2UgdW5lIGNvbW11bmF1dMOpIHNvdW1pc2Ugw6AgVG9pLiBFdCBtb250cmUgbm91cyBub3Mgcml0ZXMgZXQgYWNjZXB0ZSBkZSBub3VzIGxlIHJlcGVudGlyLiBDYXIgYydlc3QgVG9pIGNlcnRlcyBsJ0FjY3VlaWxsYW50IGF1IHJlcGVudGlyLCBsZSBNaXPDqXJpY29yZGlldXguIiwiciI6IkNvcmFuIDI6MTI4IiwibiI6bnVsbH0seyJlIjoi8J+ksiIsInQiOiIzLiBMZSBiaWVuIGljaS1iYXMgZXQgZGFucyBs4oCZYXUtZGVsw6AiLCJhciI6ItmI2Y7ZhdmQ2YbZktmH2Y\/ZhSDZhdmR2Y7ZhiDZitmO2YLZj9mI2YTZjyDYsdmO2KjZkdmO2YbZjtin2ZMg2KHZjtin2KrZkNmG2Y7YpyDZgdmQ2Ykg2bHZhNiv2ZHZj9mG2ZLZitmO2Kcg2K3Zjtiz2Y7ZhtmO2KnZi9utINmI2Y7ZgdmQ2Ykg2bHZhNmS2KHZjtin2K7ZkNix2Y7YqdmQINit2Y7Ys9mO2YbZjtip2YvbrSDZiNmO2YLZkNmG2Y7YpyDYudmO2LDZjtin2KjZjiDZsdmE2YbZkdmO2KfYsdmQIiwiZnIiOiJFdCBpbCBlc3QgZGVzIGdlbnMgcXVpIGRpc2VudDogwqtTZWlnbmV1ciEgQWNjb3JkZSBub3VzIGJlbGxlIHBhcnQgaWNpLWJhcywgZXQgYmVsbGUgcGFydCBhdXNzaSBkYW5zIGwnYXUtZGVsw6A7IGV0IHByb3TDqGdlLW5vdXMgZHUgY2jDonRpbWVudCBkdSBGZXUhwrsiLCJyIjoiQ29yYW4gMjoyMDEiLCJuIjpudWxsfSx7ImUiOiLwn6SyIiwidCI6IjQuIFBhdGllbmNlIGV0IGZlcm1ldMOpIiwiYXIiOiLZiNmO2YTZjtmF2ZHZjtinINio2Y7YsdmO2LLZj9mI2KfbnyDZhNmQ2KzZjtin2YTZj9mI2KrZjiDZiNmO2KzZj9mG2Y\/ZiNiv2ZDZh9mQ26Yg2YLZjtin2YTZj9mI2KfbnyDYsdmO2KjZkdmO2YbZjtin2ZMg2KPZjtmB2ZLYsdmQ2LrZkiDYudmO2YTZjtmK2ZLZhtmO2Kcg2LXZjtio2ZLYsdmL263YpyDZiNmO2KvZjtio2ZHZkNiq2ZIg2KPZjtmC2ZLYr9mO2KfZhdmO2YbZjtinINmI2Y7ZsdmG2LXZj9ix2ZLZhtmO2Kcg2LnZjtmE2Y7ZiSDZsdmE2ZLZgtmO2YjZktmF2ZAg2bHZhNmS2YPZjtmw2YHZkNix2ZDZitmG2Y4iLCJmciI6IkV0IHF1YW5kIGlscyBhZmZyb250w6hyZW50IEdvbGlhdGggZXQgc2VzIHRyb3VwZXMsIGlscyBkaXJlbnQ6IMKrU2VpZ25ldXIhIETDqXZlcnNlIHN1ciBub3VzIGwnZW5kdXJhbmNlLCBhZmZlcm1pcyBub3MgcGFzIGV0IGRvbm5lLW5vdXMgbGEgdmljdG9pcmUgc3VyIGNlIHBldXBsZSBpbmZpZMOobGXCuy4iLCJyIjoiQ29yYW4gMjoyNTAiLCJuIjpudWxsfSx7ImUiOiLwn6SyIiwidCI6IjUuIE5vdXMgYXZvbnMgZW50ZW5kdSBldCBvYsOpaSIsImFyIjoi2KHZjtin2YXZjtmG2Y4g2bHZhNix2ZHZjtiz2Y\/ZiNmE2Y8g2KjZkNmF2Y7Yp9mTINij2Y\/Zhtiy2ZDZhNmOINil2ZDZhNmO2YrZktmH2ZAg2YXZkNmGINix2ZHZjtio2ZHZkNmH2ZDbpiDZiNmO2bHZhNmS2YXZj9ik2ZLZhdmQ2YbZj9mI2YbZjiDbmiDZg9mP2YTZkdmMINih2Y7Yp9mF2Y7ZhtmOINio2ZDZsdmE2YTZkdmO2YfZkCDZiNmO2YXZjtmE2Y7ZsNmT2KbZkNmD2Y7YqtmQ2YfZkNumINmI2Y7Zg9mP2KrZj9io2ZDZh9mQ26Yg2YjZjtix2Y\/Ys9mP2YTZkNmH2ZDbpiDZhNmO2Kcg2YbZj9mB2Y7YsdmR2ZDZgtmPINio2Y7ZitmS2YbZjiDYo9mO2K3Zjtiv2Y3boiDZhdmR2ZDZhiDYsdmR2Y\/Ys9mP2YTZkNmH2ZDbpiDbmiDZiNmO2YLZjtin2YTZj9mI2KfbnyDYs9mO2YXZkNi52ZLZhtmO2Kcg2YjZjtij2Y7Yt9mO2LnZktmG2Y7YpyDbliDYutmP2YHZktix2Y7Yp9mG2Y7Zg9mOINix2Y7YqNmR2Y7ZhtmO2Kcg2YjZjtil2ZDZhNmO2YrZktmD2Y4g2bHZhNmS2YXZjti12ZDZitix2Y8iLCJmciI6IkxlIE1lc3NhZ2VyIGEgY3J1IGVuIGNlIHF1J29uIGEgZmFpdCBkZXNjZW5kcmUgdmVycyBsdWkgdmVuYW50IGRlIHNvbiBTZWlnbmV1ciwgZXQgYXVzc2kgbGVzIGNyb3lhbnRzOiB0b3VzIG9udCBjcnUgZW4gQWxsYWgsIGVuIFNlcyBhbmdlcywgw6AgU2VzIGxpdnJlcyBldCBlbiBTZXMgbWVzc2FnZXJzOyAoZW4gZGlzYW50KTogwqtOb3VzIG5lIGZhaXNvbnMgYXVjdW5lIGRpc3RpbmN0aW9uIGVudHJlIFNlcyBtZXNzYWdlcnPCuy4gRXQgaWxzIG9udCBkaXQ6IMKrTm91cyBhdm9ucyBlbnRlbmR1IGV0IG9iw6lpLiBTZWlnbmV1ciwgbm91cyBpbXBsb3JvbnMgVG9uIHBhcmRvbi4gQydlc3Qgw6AgVG9pIHF1ZSBzZXJhIGxlIHJldG91csK7LiIsInIiOiJDb3JhbiAyOjI4NSIsIm4iOm51bGx9LHsiZSI6IvCfpLIiLCJ0IjoiNi4gTmUgbm91cyBjaGFyZ2UgcGFzIGF1LWRlbMOgIGRlIG5vcyBmb3JjZXMiLCJhciI6ItmE2Y7YpyDZitmP2YPZjtmE2ZHZkNmB2Y8g2bHZhNmE2ZHZjtmH2Y8g2YbZjtmB2ZLYs9mL2Kcg2KXZkNmE2ZHZjtinINmI2Y\/Ys9mS2LnZjtmH2Y7YpyDbmiDZhNmO2YfZjtinINmF2Y7YpyDZg9mO2LPZjtio2Y7YqtmSINmI2Y7YudmO2YTZjtmK2ZLZh9mO2Kcg2YXZjtinINmx2YPZktiq2Y7Ys9mO2KjZjtiq2ZIg25cg2LHZjtio2ZHZjtmG2Y7YpyDZhNmO2Kcg2KrZj9ik2Y7Yp9iu2ZDYsNmS2YbZjtin2ZMg2KXZkNmGINmG2ZHZjtiz2ZDZitmG2Y7Yp9mTINij2Y7ZiNmSINij2Y7YrtmS2LfZjtij2ZLZhtmO2Kcg25og2LHZjtio2ZHZjtmG2Y7YpyDZiNmO2YTZjtinINiq2Y7YrdmS2YXZkNmE2ZIg2LnZjtmE2Y7ZitmS2YbZjtin2ZMg2KXZkNi12ZLYsdmL263YpyDZg9mO2YXZjtinINit2Y7ZhdmO2YTZktiq2Y7Zh9mP26Ug2LnZjtmE2Y7ZiSDZsdmE2ZHZjtiw2ZDZitmG2Y4g2YXZkNmGINmC2Y7YqNmS2YTZkNmG2Y7YpyDbmiDYsdmO2KjZkdmO2YbZjtinINmI2Y7ZhNmO2Kcg2KrZj9it2Y7ZhdmR2ZDZhNmS2YbZjtinINmF2Y7YpyDZhNmO2Kcg2LfZjtin2YLZjtip2Y4g2YTZjtmG2Y7YpyDYqNmQ2YfZkNumINuWINmI2Y7Zsdi52ZLZgdmPINi52Y7ZhtmR2Y7YpyDZiNmO2bHYutmS2YHZkNix2ZIg2YTZjtmG2Y7YpyDZiNmO2bHYsdmS2K3ZjtmF2ZLZhtmO2KfZkyDbmiDYo9mO2YbYqtmOINmF2Y7ZiNmS2YTZjtmJ2bDZhtmO2Kcg2YHZjtmx2YbYtdmP2LHZktmG2Y7YpyDYudmO2YTZjtmJINmx2YTZktmC2Y7ZiNmS2YXZkCDZsdmE2ZLZg9mO2bDZgdmQ2LHZkNmK2YbZjiIsImZyIjoiQWxsYWggbidpbXBvc2Ugw6AgYXVjdW5lIMOibWUgdW5lIGNoYXJnZSBzdXDDqXJpZXVyZSDDoCBzYSBjYXBhY2l0w6kuIEVsbGUgc2VyYSByw6ljb21wZW5zw6llIGR1IGJpZW4gcXUnZWxsZSBhdXJhIGZhaXQsIHB1bmllIGR1IG1hbCBxdSdlbGxlIGF1cmEgZmFpdC4gU2VpZ25ldXIsIG5lIG5vdXMgY2jDonRpZSBwYXMgcydpbCBub3VzIGFycml2ZSBkJ291YmxpZXIgb3UgZGUgY29tbWV0dHJlIHVuZSBlcnJldXIuIFNlaWduZXVyISBOZSBub3VzIGNoYXJnZSBwYXMgZCd1biBmYXJkZWF1IGxvdXJkIGNvbW1lIFR1IGFzIGNoYXJnw6kgY2V1eCBxdWkgdsOpY3VyZW50IGF2YW50IG5vdXMuIFNlaWduZXVyISBOZSBub3VzIGltcG9zZSBwYXMgY2UgcXVlIG5vdXMgbmUgcG91dm9ucyBzdXBwb3J0ZXIsIGVmZmFjZSBub3MgZmF1dGVzLCBwYXJkb25uZS1ub3VzIGV0IGZhaXMgbm91cyBtaXPDqXJpY29yZGUuIFR1IGVzIE5vdHJlIE1hw650cmUsIGFjY29yZGUtbm91cyBkb25jIGxhIHZpY3RvaXJlIHN1ciBsZXMgcGV1cGxlcyBpbmZpZMOobGVzLiIsInIiOiJDb3JhbiAyOjI4NiIsIm4iOm51bGx9LHsiZSI6IvCfpLIiLCJ0IjoiNy4gTmUgbGFpc3NlIHBhcyBkw6l2aWVyIG5vcyBjxZN1cnMiLCJhciI6Itix2Y7YqNmR2Y7ZhtmO2Kcg2YTZjtinINiq2Y\/YstmQ2LrZkiDZgtmP2YTZj9mI2KjZjtmG2Y7YpyDYqNmO2LnZktiv2Y4g2KXZkNiw2ZIg2YfZjtiv2Y7ZitmS2KrZjtmG2Y7YpyDZiNmO2YfZjtio2ZIg2YTZjtmG2Y7YpyDZhdmQ2YYg2YTZkdmO2K\/Zj9mG2YPZjiDYsdmO2K3ZktmF2Y7YqdmLINuaINil2ZDZhtmR2Y7Zg9mOINij2Y7Zhtiq2Y4g2bHZhNmS2YjZjtmH2ZHZjtin2KjZjyIsImZyIjoiwqtTZWlnbmV1ciEgTmUgbGFpc3NlIHBhcyBkw6l2aWVyIG5vcyBjxZN1cnMgYXByw6hzIHF1ZSBUdSBub3VzIGFpZXMgZ3VpZMOpczsgZXQgYWNjb3JkZS1ub3VzIFRhIG1pc8Opcmljb3JkZS4gQydlc3QgVG9pLCBjZXJ0ZXMsIGxlIEdyYW5kIERvbmF0ZXVyISIsInIiOiJDb3JhbiAzOjgiLCJuIjpudWxsfSx7ImUiOiLwn6SyIiwidCI6IjguIExlIEpvdXIgZHUgcmFzc2VtYmxlbWVudCIsImFyIjoi2LHZjtio2ZHZjtmG2Y7Yp9mTINil2ZDZhtmR2Y7Zg9mOINis2Y7Yp9mF2ZDYudmPINmx2YTZhtmR2Y7Yp9iz2ZAg2YTZkNmK2Y7ZiNmS2YXZjduiINmE2ZHZjtinINix2Y7ZitmS2KjZjiDZgdmQ2YrZh9mQINuaINil2ZDZhtmR2Y4g2bHZhNmE2ZHZjtmH2Y4g2YTZjtinINmK2Y\/YrtmS2YTZkNmB2Y8g2bHZhNmS2YXZkNmK2LnZjtin2K\/ZjiIsImZyIjoiU2VpZ25ldXIhIEMnZXN0IFRvaSBxdWkgcmFzc2VtYmxlcmFzIGxlcyBnZW5zLCB1biBqb3VyIC0gZW4gcXVvaSBpbCBuJ3kgYSBwb2ludCBkZSBkb3V0ZSAtIEFsbGFoLCB2cmFpbWVudCwgbmUgbWFucXVlIGphbWFpcyDDoCBTYSBwcm9tZXNzZS7CuyIsInIiOiJDb3JhbiAzOjkiLCJuIjpudWxsfSx7ImUiOiLwn6SyIiwidCI6IjkuIFBhcmRvbm5lLW5vdXMgbm9zIHDDqWNow6lzIiwiYXIiOiLZsdmE2ZHZjtiw2ZDZitmG2Y4g2YrZjtmC2Y\/ZiNmE2Y\/ZiNmG2Y4g2LHZjtio2ZHZjtmG2Y7Yp9mTINil2ZDZhtmR2Y7ZhtmO2KfZkyDYodmO2KfZhdmO2YbZkdmO2Kcg2YHZjtmx2LrZktmB2ZDYsdmSINmE2Y7ZhtmO2Kcg2LDZj9mG2Y\/ZiNio2Y7ZhtmO2Kcg2YjZjtmC2ZDZhtmO2Kcg2LnZjtiw2Y7Yp9io2Y4g2bHZhNmG2ZHZjtin2LHZkCIsImZyIjoicXVpIGRpc2VudDogwqtPIG5vdHJlIFNlaWduZXVyLCBub3VzIGF2b25zIGxhIGZvaTsgcGFyZG9ubmUtbm91cyBkb25jIG5vcyBww6ljaMOpcywgZXQgcHJvdMOoZ2Utbm91cyBkdSBjaMOidGltZW50IGR1IEZldcK7LCIsInIiOiJDb3JhbiAzOjE2IiwibiI6bnVsbH0seyJlIjoi8J+ksiIsInQiOiIxMC4gSW5zY3Jpcy1ub3VzIHBhcm1pIGxlcyB0w6ltb2lucyIsImFyIjoi2LHZjtio2ZHZjtmG2Y7Yp9mTINih2Y7Yp9mF2Y7ZhtmR2Y7YpyDYqNmQ2YXZjtin2ZMg2KPZjtmG2LLZjtmE2ZLYqtmOINmI2Y7Zsdiq2ZHZjtio2Y7YudmS2YbZjtinINmx2YTYsdmR2Y7Ys9mP2YjZhNmOINmB2Y7ZsdmD2ZLYqtmP2KjZktmG2Y7YpyDZhdmO2LnZjiDZsdmE2LTZkdmO2bDZh9mQ2K\/ZkNmK2YbZjiIsImZyIjoiU2VpZ25ldXIhIE5vdXMgYXZvbnMgY3J1IMOgIGNlIHF1ZSBUdSBhcyBmYWl0IGRlc2NlbmRyZSBldCBzdWl2aSBsZSBtZXNzYWdlci4gSW5zY3Jpcy1ub3VzIGRvbmMgcGFybWkgY2V1eCBxdWkgdMOpbW9pZ25lbnTCuy4iLCJyIjoiQ29yYW4gMzo1MyIsIm4iOm51bGx9LHsiZSI6IvCfpLIiLCJ0IjoiMTEuIFBhcmRvbiwgZmVybWV0w6kgZXQgdmljdG9pcmUiLCJhciI6ItmI2Y7ZhdmO2Kcg2YPZjtin2YbZjiDZgtmO2YjZktmE2Y7Zh9mP2YXZkiDYpdmQ2YTZkdmO2KfZkyDYo9mO2YYg2YLZjtin2YTZj9mI2KfbnyDYsdmO2KjZkdmO2YbZjtinINmx2LrZktmB2ZDYsdmSINmE2Y7ZhtmO2Kcg2LDZj9mG2Y\/ZiNio2Y7ZhtmO2Kcg2YjZjtil2ZDYs9mS2LHZjtin2YHZjtmG2Y7YpyDZgdmQ2YnZkyDYo9mO2YXZktix2ZDZhtmO2Kcg2YjZjtir2Y7YqNmR2ZDYqtmSINij2Y7ZgtmS2K\/Zjtin2YXZjtmG2Y7YpyDZiNmO2bHZhti12Y\/YsdmS2YbZjtinINi52Y7ZhNmO2Ykg2bHZhNmS2YLZjtmI2ZLZhdmQINmx2YTZktmD2Y7ZsNmB2ZDYsdmQ2YrZhtmOIiwiZnIiOiJFdCBpbHMgbidldXJlbnQgcXVlIGNldHRlIHBhcm9sZTogwqtTZWlnbmV1ciwgcGFyZG9ubmUtbm91cyBub3MgcMOpY2jDqXMgYWluc2kgcXVlIG5vcyBleGPDqHMgZGFucyBub3MgY29tcG9ydGVtZW50cywgYWZmZXJtaXMgbm9zIHBhcyBldCBkb25uZS1ub3VzIGxhIHZpY3RvaXJlIHN1ciBsZXMgZ2VucyBtw6ljcsOpYW50c8K7LiIsInIiOiJDb3JhbiAzOjE0NyIsIm4iOm51bGx9LHsiZSI6IvCfpLIiLCJ0IjoiMTIuIFByb3TDqGdlLW5vdXMgZHUgY2jDonRpbWVudCBkdSBGZXUiLCJhciI6Itmx2YTZkdmO2LDZkNmK2YbZjiDZitmO2LDZktmD2Y\/YsdmP2YjZhtmOINmx2YTZhNmR2Y7Zh9mOINmC2ZDZitmO2bDZhdmL263YpyDZiNmO2YLZj9i52Y\/ZiNiv2YvbrdinINmI2Y7YudmO2YTZjtmJ2bAg2KzZj9mG2Y\/ZiNio2ZDZh9mQ2YXZkiDZiNmO2YrZjtiq2Y7ZgdmO2YPZkdmO2LHZj9mI2YbZjiDZgdmQ2Ykg2K7ZjtmE2ZLZgtmQINmx2YTYs9mR2Y7ZhdmO2bDZiNmO2bDYqtmQINmI2Y7ZsdmE2ZLYo9mO2LHZkti22ZAg2LHZjtio2ZHZjtmG2Y7YpyDZhdmO2Kcg2K7ZjtmE2Y7ZgtmS2KrZjiDZh9mO2bDYsNmO2Kcg2KjZjtmw2LfZkNmE2YvbrdinINiz2Y\/YqNmS2K3Zjtmw2YbZjtmD2Y4g2YHZjtmC2ZDZhtmO2Kcg2LnZjtiw2Y7Yp9io2Y4g2bHZhNmG2ZHZjtin2LHZkCIsImZyIjoicXVpLCBkZWJvdXQsIGFzc2lzLCBjb3VjaMOpcyBzdXIgbGV1cnMgY8O0dMOpcywgaW52b3F1ZW50IEFsbGFoIGV0IG3DqWRpdGVudCBzdXIgbGEgY3LDqWF0aW9uIGRlcyBjaWV1eCBldCBkZSBsYSB0ZXJyZSAoZGlzYW50KTogwqtOb3RyZSBTZWlnbmV1ciEgVHUgbidhcyBwYXMgY3LDqcOpIGNlbGEgZW4gdmFpbi4gR2xvaXJlIMOgIFRvaSEgR2FyZGUtbm91cyBkdSBjaMOidGltZW50IGR1IEZldS4iLCJyIjoiQ29yYW4gMzoxOTEiLCJuIjpudWxsfSx7ImUiOiLwn6SyIiwidCI6IjEzLiBDZWx1aSBxdWUgVHUgZmFpcyBlbnRyZXIgYXUgRmV1IiwiYXIiOiLYsdmO2KjZkdmO2YbZjtin2ZMg2KXZkNmG2ZHZjtmD2Y4g2YXZjtmGINiq2Y\/Yr9mS2K7ZkNmE2ZAg2bHZhNmG2ZHZjtin2LHZjiDZgdmO2YLZjtiv2ZIg2KPZjtiu2ZLYstmO2YrZktiq2Y7Zh9mP26Ug25Yg2YjZjtmF2Y7YpyDZhNmQ2YTYuNmR2Y7ZsNmE2ZDZhdmQ2YrZhtmOINmF2ZDZhtmSINij2Y7Zhti12Y7Yp9ix2Y3boiIsImZyIjoiU2VpZ25ldXIhIFF1aWNvbnF1ZSBUdSBmYWlzIGVudHJlciBkYW5zIGxlIEZldSwgVHUgbGUgY291dnJlcyB2cmFpbWVudCBkJ2lnbm9taW5pZS4gRXQgcG91ciBsZXMgaW5qdXN0ZXMsIGlsIG4neSBhIHBhcyBkZSBzZWNvdXJldXJzISIsInIiOiJDb3JhbiAzOjE5MiIsIm4iOm51bGx9LHsiZSI6IvCfpLIiLCJ0IjoiMTQuIE5vdXMgYXZvbnMgY3J1IDogcGFyZG9ubmUtbm91cyIsImFyIjoi2LHZkdmO2KjZkdmO2YbZjtin2ZMg2KXZkNmG2ZHZjtmG2Y7YpyDYs9mO2YXZkNi52ZLZhtmO2Kcg2YXZj9mG2Y7Yp9iv2ZDZitmL263YpyDZitmP2YbZjtin2K\/ZkNmJINmE2ZDZhNmS2KXZkNmK2YXZjtmw2YbZkCDYo9mO2YbZkiDYodmO2KfZhdmQ2YbZj9mI2KfbnyDYqNmQ2LHZjtio2ZHZkNmD2Y\/ZhdmSINmB2Y7ZgNmU2Y7Yp9mF2Y7ZhtmR2Y7YpyDbmiDYsdmO2KjZkdmO2YbZjtinINmB2Y7Zsdi62ZLZgdmQ2LHZkiDZhNmO2YbZjtinINiw2Y\/ZhtmP2YjYqNmO2YbZjtinINmI2Y7Zg9mO2YHZkdmQ2LHZkiDYudmO2YbZkdmO2Kcg2LPZjtmK2ZHZkNmA2ZTZjtin2KrZkNmG2Y7YpyDZiNmO2KrZjtmI2Y7ZgdmR2Y7ZhtmO2Kcg2YXZjti52Y4g2bHZhNmS2KPZjtio2ZLYsdmO2KfYsdmQIiwiZnIiOiJTZWlnbmV1ciEgTm91cyBhdm9ucyBlbnRlbmR1IGwnYXBwZWwgZGUgY2VsdWkgcXVpIGEgYXBwZWzDqSBhaW5zaSDDoCBsYSBmb2k6IMKrQ3JveWV6IGVuIHZvdHJlIFNlaWduZXVywrsgZXQgZMOocyBsb3JzIG5vdXMgYXZvbnMgY3J1LiBTZWlnbmV1ciwgcGFyZG9ubmUtbm91cyBub3MgcMOpY2jDqXMsIGVmZmFjZSBkZSBub3VzIG5vcyBtw6lmYWl0cywgZXQgcGxhY2Ugbm91cywgw6Agbm90cmUgbW9ydCwgYXZlYyBsZXMgZ2VucyBkZSBiaWVuLiIsInIiOiJDb3JhbiAzOjE5MyIsIm4iOm51bGx9LHsiZSI6IvCfpLIiLCJ0IjoiMTUuIFRpZW5zIFRhIHByb21lc3NlIiwiYXIiOiLYsdmO2KjZkdmO2YbZjtinINmI2Y7YodmO2KfYqtmQ2YbZjtinINmF2Y7YpyDZiNmO2LnZjtiv2KrZkdmO2YbZjtinINi52Y7ZhNmO2YnZsCDYsdmP2LPZj9mE2ZDZg9mOINmI2Y7ZhNmO2Kcg2KrZj9iu2ZLYstmQ2YbZjtinINmK2Y7ZiNmS2YXZjiDZsdmE2ZLZgtmQ2YrZjtmw2YXZjtip2ZAg25cg2KXZkNmG2ZHZjtmD2Y4g2YTZjtinINiq2Y\/YrtmS2YTZkNmB2Y8g2bHZhNmS2YXZkNmK2LnZjtin2K\/ZjiIsImZyIjoiU2VpZ25ldXIhIERvbm5lLW5vdXMgY2UgcXVlIFR1IG5vdXMgYXMgcHJvbWlzIHBhciBUZXMgbWVzc2FnZXJzLiBFdCBuZSBub3VzIGNvdXZyZSBwYXMgZCdpZ25vbWluaWUgYXUgSm91ciBkZSBsYSBSw6lzdXJyZWN0aW9uLiBDYXIgVG9pLCBUdSBuZSBtYW5xdWVzIHBhcyDDoCBUYSBwcm9tZXNzZcK7LiIsInIiOiJDb3JhbiAzOjE5NCIsIm4iOm51bGx9LHsiZSI6IvCfpLIiLCJ0IjoiMTYuIE5vdXMgYXZvbnMgY3J1IiwiYXIiOiLZiNmO2KXZkNiw2Y7YpyDYs9mO2YXZkNi52Y\/ZiNin258g2YXZjtin2ZMg2KPZj9mG2LLZkNmE2Y4g2KXZkNmE2Y7ZiSDZsdmE2LHZkdmO2LPZj9mI2YTZkCDYqtmO2LHZjtmJ2bDZkyDYo9mO2LnZktmK2Y\/ZhtmO2YfZj9mF2ZIg2KrZjtmB2ZDZiti22Y8g2YXZkNmG2Y4g2bHZhNiv2ZHZjtmF2ZLYudmQINmF2ZDZhdmR2Y7YpyDYudmO2LHZjtmB2Y\/ZiNin258g2YXZkNmG2Y4g2bHZhNmS2K3ZjtmC2ZHZkCDbliDZitmO2YLZj9mI2YTZj9mI2YbZjiDYsdmO2KjZkdmO2YbZjtin2ZMg2KHZjtin2YXZjtmG2ZHZjtinINmB2Y7ZsdmD2ZLYqtmP2KjZktmG2Y7YpyDZhdmO2LnZjiDZsdmE2LTZkdmO2bDZh9mQ2K\/ZkNmK2YbZjiIsImZyIjoiRXQgcXVhbmQgaWxzIGVudGVuZGVudCBjZSBxdWkgYSDDqXTDqSBkZXNjZW5kdSBzdXIgbGUgTWVzc2FnZXIgW011aGFtbWFkXSwgdHUgdm9pcyBsZXVycyB5ZXV4IGTDqWJvcmRlciBkZSBsYXJtZXMsIHBhcmNlIHF1J2lscyBvbnQgcmVjb25udSBsYSB2w6lyaXTDqS4gSWxzIGRpc2VudDogwqtPIG5vdHJlIFNlaWduZXVyISBOb3VzIGNyb3lvbnM6IGluc2NyaXMtbm91cyBkb25jIHBhcm1pIGNldXggcXVpIHTDqW1vaWduZW50IChkZSBsYSB2w6lyYWNpdMOpIGR1IENvcmFuKS4iLCJyIjoiQ29yYW4gNTo4MyIsIm4iOm51bGx9LHsiZSI6IvCfpLIiLCJ0IjoiMTcuIFVuZSB0YWJsZSBzZXJ2aWUiLCJhciI6ItmC2Y7Yp9mE2Y4g2LnZkNmK2LPZjtmJINmx2KjZktmG2Y8g2YXZjtix2ZLZitmO2YXZjiDZsdmE2YTZkdmO2YfZj9mF2ZHZjiDYsdmO2KjZkdmO2YbZjtin2ZMg2KPZjtmG2LLZkNmE2ZIg2LnZjtmE2Y7ZitmS2YbZjtinINmF2Y7Yp9mT2KbZkNiv2Y7YqdmL260g2YXZkdmQ2YbZjiDZsdmE2LPZkdmO2YXZjtin2ZPYodmQINiq2Y7Zg9mP2YjZhtmPINmE2Y7ZhtmO2Kcg2LnZkNmK2K\/Zi9ut2Kcg2YTZkdmQ2KPZjtmI2ZHZjtmE2ZDZhtmO2Kcg2YjZjtih2Y7Yp9iu2ZDYsdmQ2YbZjtinINmI2Y7YodmO2KfZitmO2KnZi9utINmF2ZHZkNmG2YPZjiDbliDZiNmO2bHYsdmS2LLZj9mC2ZLZhtmO2Kcg2YjZjtij2Y7Zhtiq2Y4g2K7ZjtmK2ZLYsdmPINmx2YTYsdmR2Y7ZsNiy2ZDZgtmQ2YrZhtmOIiwiZnIiOiLCq08gQWxsYWgsIG5vdHJlIFNlaWduZXVyLCBkaXQgSsOpc3VzLCBmaWxzIGRlIE1hcmllLCBmYWlzIGRlc2NlbmRyZSBkdSBjaWVsIHN1ciBub3VzIHVuZSB0YWJsZSBzZXJ2aWUgcXVpIHNvaXQgdW5lIGbDqnRlIHBvdXIgbm91cywgcG91ciBsZSBwcmVtaWVyIGQnZW50cmUgbm91cywgY29tbWUgcG91ciBsZSBkZXJuaWVyLCBhaW5zaSBxdSd1biBzaWduZSBkZSBUYSBwYXJ0LiBOb3VycmlzLW5vdXM6IFR1IGVzIGxlIG1laWxsZXVyIGRlcyBub3Vycmlzc2V1cnMuwrsiLCJyIjoiQ29yYW4gNToxMTQiLCJuIjpudWxsfSx7ImUiOiLwn6SyIiwidCI6IjE4LiBOb3VzIGF2b25zIGZhaXQgZHUgdG9ydCDDoCBub3VzLW3Dqm1lcyIsImFyIjoi2YLZjtin2YTZjtinINix2Y7YqNmR2Y7ZhtmO2Kcg2LjZjtmE2Y7ZhdmS2YbZjtin2ZMg2KPZjtmG2YHZj9iz2Y7ZhtmO2Kcg2YjZjtil2ZDZhiDZhNmR2Y7ZhdmSINiq2Y7YutmS2YHZkNix2ZIg2YTZjtmG2Y7YpyDZiNmO2KrZjtix2ZLYrdmO2YXZktmG2Y7YpyDZhNmO2YbZjtmD2Y\/ZiNmG2Y7ZhtmR2Y4g2YXZkNmG2Y4g2bHZhNmS2K7Zjtmw2LPZkNix2ZDZitmG2Y4iLCJmciI6IlRvdXMgZGV1eCBkaXJlbnQ6IMKrTyBub3RyZSBTZWlnbmV1ciwgbm91cyBhdm9ucyBmYWl0IGR1IHRvcnQgw6Agbm91cy1tw6ptZXMuIEV0IHNpIFR1IG5lIG5vdXMgcGFyZG9ubmVzIHBhcyBldCBuZSBub3VzIGZhaXMgcGFzIG1pc8Opcmljb3JkZSwgbm91cyBzZXJvbnMgdHLDqHMgY2VydGFpbmVtZW50IGR1IG5vbWJyZSBkZXMgcGVyZGFudHPCuy4iLCJyIjoiQ29yYW4gNzoyMyIsIm4iOm51bGx9LHsiZSI6IvCfpLIiLCJ0IjoiMTkuIE5lIG5vdXMgcGxhY2UgcGFzIHBhcm1pIGxlcyBpbmp1c3RlcyIsImFyIjoi254g2YjZjtil2ZDYsNmO2Kcg2LXZj9ix2ZDZgdmO2KrZkiDYo9mO2KjZkti12Y7ZsNix2Y\/Zh9mP2YXZkiDYqtmQ2YTZktmC2Y7Yp9mT2KHZjiDYo9mO2LXZktit2Y7ZsNio2ZAg2bHZhNmG2ZHZjtin2LHZkCDZgtmO2KfZhNmP2YjYp9ufINix2Y7YqNmR2Y7ZhtmO2Kcg2YTZjtinINiq2Y7YrNmS2LnZjtmE2ZLZhtmO2Kcg2YXZjti52Y4g2bHZhNmS2YLZjtmI2ZLZhdmQINmx2YTYuNmR2Y7ZsNmE2ZDZhdmQ2YrZhtmOIiwiZnIiOiJFdCBxdWFuZCBsZXVycyByZWdhcmRzIHNlcm9udCB0b3VybsOpcyB2ZXJzIGxlcyBnZW5zIGR1IEZldSwgaWxzIGRpcm9udDsgwqtPIG5vdHJlIFNlaWduZXVyISBOZSBub3VzIG1ldHMgcGFzIGF2ZWMgbGUgcGV1cGxlIGluanVzdGXCuy4iLCJyIjoiQ29yYW4gNzo0NyIsIm4iOm51bGx9LHsiZSI6IvCfpLIiLCJ0IjoiMjAuIEp1Z2UgYXZlYyB2w6lyaXTDqSBlbnRyZSBub3VzIiwiYXIiOiLZgtmO2K\/ZkCDZsdmB2ZLYqtmO2LHZjtmK2ZLZhtmO2Kcg2LnZjtmE2Y7ZiSDZsdmE2YTZkdmO2YfZkCDZg9mO2LDZkNio2YvYpyDYpdmQ2YbZkiDYudmP2K\/ZktmG2Y7YpyDZgdmQ2Ykg2YXZkNmE2ZHZjtiq2ZDZg9mP2YUg2KjZjti52ZLYr9mOINil2ZDYsNmSINmG2Y7YrNmR2Y7Zidmw2YbZjtinINmx2YTZhNmR2Y7Zh9mPINmF2ZDZhtmS2YfZjtinINuaINmI2Y7ZhdmO2Kcg2YrZjtmD2Y\/ZiNmG2Y8g2YTZjtmG2Y7Yp9mTINij2Y7ZhiDZhtmR2Y7YudmP2YjYr9mOINmB2ZDZitmH2Y7Yp9mTINil2ZDZhNmR2Y7Yp9mTINij2Y7ZhiDZitmO2LTZjtin2ZPYodmOINmx2YTZhNmR2Y7Zh9mPINix2Y7YqNmR2Y\/ZhtmO2Kcg25og2YjZjtiz2ZDYudmOINix2Y7YqNmR2Y\/ZhtmO2Kcg2YPZj9mE2ZHZjiDYtNmO2YnZktih2Y0g2LnZkNmE2ZLZhdmL2Kcg25og2LnZjtmE2Y7ZiSDZsdmE2YTZkdmO2YfZkCDYqtmO2YjZjtmD2ZHZjtmE2ZLZhtmO2Kcg25og2LHZjtio2ZHZjtmG2Y7YpyDZsdmB2ZLYqtmO2K3ZkiDYqNmO2YrZktmG2Y7ZhtmO2Kcg2YjZjtio2Y7ZitmS2YbZjiDZgtmO2YjZktmF2ZDZhtmO2Kcg2KjZkNmx2YTZktit2Y7ZgtmR2ZAg2YjZjtij2Y7Zhtiq2Y4g2K7ZjtmK2ZLYsdmPINmx2YTZktmB2Y7ZsNiq2ZDYrdmQ2YrZhtmOIiwiZnIiOiJDZXJ0ZXMsIG5vdXMgYXVyaW9ucyBmb3Jnw6kgdW4gbWVuc29uZ2UgY29udHJlIEFsbGFoIHNpIG5vdXMgcmV2ZW5pb25zIMOgIHZvdHJlIHJlbGlnaW9uIGFwcsOocyBxdSdBbGxhaCBub3VzIGVuIGEgc2F1dsOpcy4gSWwgbmUgbm91cyBhcHBhcnRpZW50IHBhcyBkJ3kgcmV0b3VybmVyIMOgIG1vaW5zIHF1J0FsbGFoIG5vdHJlIFNlaWduZXVyIG5lIGxlIHZldWlsbGUuIE5vdHJlIFNlaWduZXVyIGVtYnJhc3NlIHRvdXRlIGNob3NlIGRlIFNhIHNjaWVuY2UuIEMnZXN0IGVuIEFsbGFoIHF1ZSBub3VzIHBsYcOnb25zIG5vdHJlIGNvbmZpYW5jZS4gTyBub3RyZSBTZWlnbmV1ciwgdHJhbmNoZSBwYXIgbGEgdsOpcml0w6ksIGVudHJlIG5vdXMgZXQgbm90cmUgcGV1cGxlIGNhciBUdSBlcyBsZSBtZWlsbGV1ciBkZXMganVnZXMuwrsiLCJyIjoiQ29yYW4gNzo4OSIsIm4iOm51bGx9LHsiZSI6IvCfpLIiLCJ0IjoiMjEuIETDqXZlcnNlIHN1ciBub3VzIGzigJllbmR1cmFuY2UiLCJhciI6ItmI2Y7ZhdmO2Kcg2KrZjtmG2YLZkNmF2Y8g2YXZkNmG2ZHZjtin2ZMg2KXZkNmE2ZHZjtin2ZMg2KPZjtmG2ZIg2KHZjtin2YXZjtmG2ZHZjtinINio2ZDZgNmU2Y7Yp9mK2Y7ZsNiq2ZAg2LHZjtio2ZHZkNmG2Y7YpyDZhNmO2YXZkdmO2Kcg2KzZjtin2ZPYodmO2KrZktmG2Y7YpyDbmiDYsdmO2KjZkdmO2YbZjtin2ZMg2KPZjtmB2ZLYsdmQ2LrZkiDYudmO2YTZjtmK2ZLZhtmO2Kcg2LXZjtio2ZLYsdmL263YpyDZiNmO2KrZjtmI2Y7ZgdmR2Y7ZhtmO2Kcg2YXZj9iz2ZLZhNmQ2YXZkNmK2YbZjiIsImZyIjoiVHUgbmUgdGUgdmVuZ2VzIGRlIG5vdXMgcXVlIHBhcmNlIHF1ZSBub3VzIGF2b25zIGNydSBhdXggcHJldXZlcyBkZSBub3RyZSBTZWlnbmV1ciwgbG9yc3F1J2VsbGVzIG5vdXMgc29udCB2ZW51ZXMuIE8gbm90cmUgU2VpZ25ldXIhIETDqXZlcnNlIHN1ciBub3VzIGwnZW5kdXJhbmNlIGV0IGZhaXMgbm91cyBtb3VyaXIgZW50acOocmVtZW50IHNvdW1pcy7CuyIsInIiOiJDb3JhbiA3OjEyNiIsIm4iOm51bGx9LHsiZSI6IvCfpLIiLCJ0IjoiMjIuIE5lIGZhaXMgcGFzIGRlIG5vdXMgdW5lIHRlbnRhdGlvbiBwb3VyIGxlcyBpbmp1c3RlcyIsImFyIjoi2YHZjtmC2Y7Yp9mE2Y\/ZiNin258g2LnZjtmE2Y7ZiSDZsdmE2YTZkdmO2YfZkCDYqtmO2YjZjtmD2ZHZjtmE2ZLZhtmO2Kcg2LHZjtio2ZHZjtmG2Y7YpyDZhNmO2Kcg2KrZjtis2ZLYudmO2YTZktmG2Y7YpyDZgdmQ2KrZktmG2Y7YqdmL260g2YTZkdmQ2YTZktmC2Y7ZiNmS2YXZkCDZsdmE2LjZkdmO2bDZhNmQ2YXZkNmK2YbZjiIsImZyIjoiSWxzIGRpcmVudDogwqtFbiBBbGxhaCBub3VzIHBsYcOnb25zIG5vdHJlIGNvbmZpYW5jZS4gTyBub3RyZSBTZWlnbmV1ciwgbmUgZmFpcyBwYXMgZGUgbm91cyB1bmUgY2libGUgcG91ciBsZXMgcGVyc8OpY3V0aW9ucyBkZXMgaW5qdXN0ZXMuIiwiciI6IkNvcmFuIDEwOjg1IiwibiI6bnVsbH0seyJlIjoi8J+ksiIsInQiOiIyMy4gU2F1dmUtbm91cyBkZXMgbcOpY3LDqWFudHMiLCJhciI6ItmI2Y7ZhtmO2KzZkdmQ2YbZjtinINio2ZDYsdmO2K3ZktmF2Y7YqtmQ2YPZjiDZhdmQ2YbZjiDZsdmE2ZLZgtmO2YjZktmF2ZAg2bHZhNmS2YPZjtmw2YHZkNix2ZDZitmG2Y4iLCJmciI6IkV0IGTDqWxpdnJlLW5vdXMsIHBhciBUYSBtaXPDqXJpY29yZGUsIGRlcyBnZW5zIG3DqWNyw6lhbnRzwrsuIiwiciI6IkNvcmFuIDEwOjg2IiwibiI6bnVsbH0seyJlIjoi8J+ksiIsInQiOiIyNC4gTWEgZGVzY2VuZGFuY2UgcHLDqHMgZGUgbGEgTWFpc29uIHNhY3LDqWUiLCJhciI6Itix2ZHZjtio2ZHZjtmG2Y7Yp9mTINil2ZDZhtmR2ZDZidmTINij2Y7Ys9mS2YPZjtmG2KrZjyDZhdmQ2YYg2LDZj9ix2ZHZkNmK2ZHZjtiq2ZDZiSDYqNmQ2YjZjtin2K\/ZjSDYutmO2YrZktix2ZAg2LDZkNmJINiy2Y7YsdmS2LnZjSDYudmQ2YbYr9mOINio2Y7ZitmS2KrZkNmD2Y4g2bHZhNmS2YXZj9it2Y7YsdmR2Y7ZhdmQINix2Y7YqNmR2Y7ZhtmO2Kcg2YTZkNmK2Y\/ZgtmQ2YrZhdmP2YjYp9ufINmx2YTYtdmR2Y7ZhNmO2YjZsNip2Y4g2YHZjtmx2KzZkti52Y7ZhNmSINij2Y7ZgdmS2YDZlNmQ2K\/Zjtip2YvbrSDZhdmR2ZDZhtmOINmx2YTZhtmR2Y7Yp9iz2ZAg2KrZjtmH2ZLZiNmQ2YnZkyDYpdmQ2YTZjtmK2ZLZh9mQ2YXZkiDZiNmO2bHYsdmS2LLZj9mC2ZLZh9mP2YUg2YXZkdmQ2YbZjiDZsdmE2KvZkdmO2YXZjtix2Y7ZsNiq2ZAg2YTZjti52Y7ZhNmR2Y7Zh9mP2YXZkiDZitmO2LTZktmD2Y\/YsdmP2YjZhtmOIiwiZnIiOiJPIG5vdHJlIFNlaWduZXVyLCBqJ2FpIMOpdGFibGkgdW5lIHBhcnRpZSBkZSBtYSBkZXNjZW5kYW5jZSBkYW5zIHVuZSB2YWxsw6llIHNhbnMgYWdyaWN1bHR1cmUsIHByw6hzIGRlIFRhIE1haXNvbiBzYWNyw6llIFtsYSBLYSdiYV0sIC0gw7Qgbm90cmUgU2VpZ25ldXIgLSBhZmluIHF1J2lscyBhY2NvbXBsaXNzZW50IGxhIFNhbMOidC4gRmFpcyBkb25jIHF1ZSBzZSBwZW5jaGVudCB2ZXJzIGV1eCBsZXMgY8WTdXJzIGQndW5lIHBhcnRpZSBkZXMgZ2Vucy4gRXQgbm91cnJpcy1sZXMgZGUgZnJ1aXRzLiBQZXV0LcOqdHJlIHNlcm9udC1pbHMgcmVjb25uYWlzc2FudHM\/IiwiciI6IkNvcmFuIDE0OjM3IiwibiI6bnVsbH0seyJlIjoi8J+ksiIsInQiOiIyNS4gVHUgc2FpcyBjZSBxdWUgbm91cyBjYWNob25zIiwiYXIiOiLYsdmO2KjZkdmO2YbZjtin2ZMg2KXZkNmG2ZHZjtmD2Y4g2KrZjti52ZLZhNmO2YXZjyDZhdmO2Kcg2YbZj9iu2ZLZgdmQ2Ykg2YjZjtmF2Y7YpyDZhtmP2LnZktmE2ZDZhtmPINuXINmI2Y7ZhdmO2Kcg2YrZjtiu2ZLZgdmO2YnZsCDYudmO2YTZjtmJINmx2YTZhNmR2Y7Zh9mQINmF2ZDZhiDYtNmO2YnZktih2Y3boiDZgdmQ2Ykg2bHZhNmS2KPZjtix2ZLYttmQINmI2Y7ZhNmO2Kcg2YHZkNmJINmx2YTYs9mR2Y7ZhdmO2KfZk9ih2ZAiLCJmciI6Ik8gbm90cmUgU2VpZ25ldXIsIFR1IHNhaXMsIHZyYWltZW50LCBjZSBxdWUgbm91cyBjYWNob25zIGV0IGNlIHF1ZSBub3VzIGRpdnVsZ3VvbnM6IC0gZXQgcmllbiBuJ8OpY2hhcHBlIMOgIEFsbGFoLCBuaSBzdXIgdGVycmUsIG5pIGF1IGNpZWwhIC0iLCJyIjoiQ29yYW4gMTQ6MzgiLCJuIjpudWxsfSx7ImUiOiLwn6SyIiwidCI6IjI2LiBBc3NpZHVzIMOgIGxhIHByacOocmUiLCJhciI6Itix2Y7YqNmR2ZAg2bHYrNmS2LnZjtmE2ZLZhtmQ2Ykg2YXZj9mC2ZDZitmF2Y4g2bHZhNi12ZHZjtmE2Y7ZiNmw2KnZkCDZiNmO2YXZkNmGINiw2Y\/YsdmR2ZDZitmR2Y7YqtmQ2Ykg25og2LHZjtio2ZHZjtmG2Y7YpyDZiNmO2KrZjtmC2Y7YqNmR2Y7ZhNmSINiv2Y\/YudmO2KfZk9ih2ZAiLCJmciI6Ik8gbW9uIFNlaWduZXVyISBGYWlzIHF1ZSBqJ2FjY29tcGxpc3NlIGFzc2lkw7ttZW50IGxhIFNhbMOidCBhaW5zaSBxdSd1bmUgcGFydGllIGRlIG1hIGRlc2NlbmRhbmNlOyBleGF1Y2UgbWEgcHJpw6hyZSwgw7Qgbm90cmUgU2VpZ25ldXIhIiwiciI6IkNvcmFuIDE0OjQwIiwibiI6bnVsbH0seyJlIjoi8J+ksiIsInQiOiIyNy4gUGFyZG9ubmUtbW9pLCDDoCBtZXMgcGFyZW50cywgYXV4IGNyb3lhbnRzIiwiYXIiOiLYsdmO2KjZkdmO2YbZjtinINmx2LrZktmB2ZDYsdmSINmE2ZDZiSDZiNmO2YTZkNmI2Y7ZsNmE2ZDYr9mO2YnZkdmOINmI2Y7ZhNmQ2YTZktmF2Y\/YpNmS2YXZkNmG2ZDZitmG2Y4g2YrZjtmI2ZLZhdmOINmK2Y7ZgtmP2YjZhdmPINmx2YTZktit2ZDYs9mO2KfYqNmPIiwiZnIiOiJPIG5vdHJlIFNlaWduZXVyISBwYXJkb25uZS1tb2ksIGFpbnNpIHF1J8OgIG1lcyBww6hyZSBldCBtw6hyZSBldCBhdXggY3JveWFudHMsIGxlIGpvdXIgZGUgbGEgcmVkZGl0aW9uIGRlcyBjb21wdGVzwrsuIiwiciI6IkNvcmFuIDE0OjQxIiwibiI6bnVsbH0seyJlIjoi8J+ksiIsInQiOiIyOC4gTWlzw6lyaWNvcmRlIGV0IGRyb2l0dXJlIiwiYXIiOiLYpdmQ2LDZkiDYo9mO2YjZjtmJINmx2YTZktmB2ZDYqtmS2YrZjtip2Y8g2KXZkNmE2Y7ZiSDZsdmE2ZLZg9mO2YfZktmB2ZAg2YHZjtmC2Y7Yp9mE2Y\/ZiNin258g2LHZjtio2ZHZjtmG2Y7Yp9mTINih2Y7Yp9iq2ZDZhtmO2Kcg2YXZkNmGINmE2ZHZjtiv2Y\/ZhtmD2Y4g2LHZjtit2ZLZhdmO2KnZi9utINmI2Y7Zh9mO2YrZkdmQ2KbZkiDZhNmO2YbZjtinINmF2ZDZhtmSINij2Y7ZhdmS2LHZkNmG2Y7YpyDYsdmO2LTZjtiv2YvbrdinIiwiZnIiOiJRdWFuZCBsZXMgamV1bmVzIGdlbnMgc2UgZnVyZW50IHLDqWZ1Z2nDqXMgZGFucyBsYSBjYXZlcm5lLCBpbHMgZGlyZW50OiDCq08gbm90cmUgU2VpZ25ldXIsIGRvbm5lLW5vdXMgZGUgVGEgcGFydCB1bmUgbWlzw6lyaWNvcmRlOyBldCBhc3N1cmUgbm91cyBsYSBkcm9pdHVyZSBkYW5zIHRvdXQgY2UgcXVpIG5vdXMgY29uY2VybmXCuy4iLCJyIjoiQ29yYW4gMTg6MTAiLCJuIjpudWxsfSx7ImUiOiLwn6SyIiwidCI6IjI5LiBOb3VzIGF2b25zIGNydSA6IHBhcmRvbm5lLW5vdXMgZXQgZmFpcy1ub3VzIG1pc8Opcmljb3JkZSIsImFyIjoi2KXZkNmG2ZHZjtmH2Y\/bpSDZg9mO2KfZhtmOINmB2Y7YsdmQ2YrZgtmM260g2YXZkdmQ2YbZkiDYudmQ2KjZjtin2K\/ZkNmJINmK2Y7ZgtmP2YjZhNmP2YjZhtmOINix2Y7YqNmR2Y7ZhtmO2KfZkyDYodmO2KfZhdmO2YbZkdmO2Kcg2YHZjtmx2LrZktmB2ZDYsdmSINmE2Y7ZhtmO2Kcg2YjZjtmx2LHZktit2Y7ZhdmS2YbZjtinINmI2Y7Yo9mO2YbYqtmOINiu2Y7ZitmS2LHZjyDZsdmE2LHZkdmO2bDYrdmQ2YXZkNmK2YbZjiIsImZyIjoiSWwgeSBldXQgdW4gZ3JvdXBlIGRlIE1lcyBzZXJ2aXRldXJzIHF1aSBkaXJlbnQ6IMKrU2VpZ25ldXIsIG5vdXMgY3JveW9uczsgcGFyZG9ubmUtbm91cyBkb25jIGV0IGZhaXMtbm91cyBtaXPDqXJpY29yZGUsIGNhciBUdSBlcyBsZSBtZWlsbGV1ciBkZXMgTWlzw6lyaWNvcmRpZXV4wrsiLCJyIjoiQ29yYW4gMjM6MTA5IiwibiI6bnVsbH0seyJlIjoi8J+ksiIsInQiOiIzMC4gRMOpdG91cm5lIGRlIG5vdXMgbGUgY2jDonRpbWVudCBkZSBs4oCZRW5mZXIiLCJhciI6ItmI2Y7ZsdmE2ZHZjtiw2ZDZitmG2Y4g2YrZjtmC2Y\/ZiNmE2Y\/ZiNmG2Y4g2LHZjtio2ZHZjtmG2Y7YpyDZsdi12ZLYsdmQ2YHZkiDYudmO2YbZkdmO2Kcg2LnZjtiw2Y7Yp9io2Y4g2KzZjtmH2Y7ZhtmR2Y7ZhdmOINuWINil2ZDZhtmR2Y4g2LnZjtiw2Y7Yp9io2Y7Zh9mO2Kcg2YPZjtin2YbZjiDYutmO2LHZjtin2YXZi9inIiwiZnIiOiJxdWkgZGlzZW50OiDCq1NlaWduZXVyLCDDqWNhcnRlIGRlIG5vdXMgbGUgY2jDonRpbWVudCBkZSBsJ0VuZmVywrsuIC0gY2FyIHNvbiBjaMOidGltZW50IGVzdCBwZXJtYW5lbnQuIiwiciI6IkNvcmFuIDI1OjY1IiwibiI6bnVsbH0seyJlIjoi8J+ksiIsInQiOiIzMS4gw4lwb3VzZXMgZXQgZW5mYW50cywgcsOpam91aXNzYW5jZSBkZXMgeWV1eCIsImFyIjoi2YjZjtmx2YTZkdmO2LDZkNmK2YbZjiDZitmO2YLZj9mI2YTZj9mI2YbZjiDYsdmO2KjZkdmO2YbZjtinINmH2Y7YqNmSINmE2Y7ZhtmO2Kcg2YXZkNmG2ZIg2KPZjtiy2ZLZiNmO2bDYrNmQ2YbZjtinINmI2Y7YsNmP2LHZkdmQ2YrZkdmO2bDYqtmQ2YbZjtinINmC2Y\/YsdmR2Y7YqdmOINij2Y7YudmS2YrZj9mG2Y3boiDZiNmO2bHYrNmS2LnZjtmE2ZLZhtmO2Kcg2YTZkNmE2ZLZhdmP2KrZkdmO2YLZkNmK2YbZjiDYpdmQ2YXZjtin2YXZi9inIiwiZnIiOiJldCBxdWkgZGlzZW50OiDCq1NlaWduZXVyLCBkb25uZS1ub3VzLCBlbiBub3Mgw6lwb3VzZXMgZXQgbm9zIGRlc2NlbmRhbnRzLCBsYSBqb2llIGRlcyB5ZXV4LCBldCBmYWlzIGRlIG5vdXMgdW4gZ3VpZGUgcG91ciBsZXMgcGlldXjCuy4iLCJyIjoiQ29yYW4gMjU6NzQiLCJuIjpudWxsfSx7ImUiOiLwn6SyIiwidCI6IjMyLiBUYSBtaXPDqXJpY29yZGUgZXQgVGEgc2NpZW5jZSBlbWJyYXNzZW50IHRvdXQiLCJhciI6Itmx2YTZkdmO2LDZkNmK2YbZjiDZitmO2K3ZktmF2ZDZhNmP2YjZhtmOINmx2YTZkti52Y7YsdmS2LTZjiDZiNmO2YXZjtmG2ZIg2K3ZjtmI2ZLZhNmO2YfZj9ulINmK2Y\/Ys9mO2KjZkdmQ2K3Zj9mI2YbZjiDYqNmQ2K3ZjtmF2ZLYr9mQINix2Y7YqNmR2ZDZh9mQ2YXZkiDZiNmO2YrZj9ik2ZLZhdmQ2YbZj9mI2YbZjiDYqNmQ2YfZkNumINmI2Y7ZitmO2LPZktiq2Y7YutmS2YHZkNix2Y\/ZiNmG2Y4g2YTZkNmE2ZHZjtiw2ZDZitmG2Y4g2KHZjtin2YXZjtmG2Y\/ZiNin258g2LHZjtio2ZHZjtmG2Y7YpyDZiNmO2LPZkNi52ZLYqtmOINmD2Y\/ZhNmR2Y4g2LTZjtmJ2ZLYodmN26Ig2LHZkdmO2K3ZktmF2Y7YqdmL260g2YjZjti52ZDZhNmS2YXZi9ut2Kcg2YHZjtmx2LrZktmB2ZDYsdmSINmE2ZDZhNmR2Y7YsNmQ2YrZhtmOINiq2Y7Yp9io2Y\/ZiNin258g2YjZjtmx2KrZkdmO2KjZjti52Y\/ZiNin258g2LPZjtio2ZDZitmE2Y7Zg9mOINmI2Y7ZgtmQ2YfZkNmF2ZIg2LnZjtiw2Y7Yp9io2Y4g2bHZhNmS2KzZjtit2ZDZitmF2ZAiLCJmciI6IkNldXggKGxlcyBBbmdlcykgcXVpIHBvcnRlbnQgbGUgVHLDtG5lIGV0IGNldXggcXVpIGwnZW50b3VyZW50IGPDqWzDqGJyZW50IGxlcyBsb3VhbmdlcyBkZSBsZXVyIFNlaWduZXVyLCBjcm9pZW50IGVuIEx1aSBldCBpbXBsb3JlbnQgbGUgcGFyZG9uIHBvdXIgY2V1eCBxdWkgY3JvaWVudDogwqtTZWlnbmV1ciEgVHUgw6l0ZW5kcyBzdXIgdG91dGUgY2hvc2UgVGEgbWlzw6lyaWNvcmRlIGV0IFRhIHNjaWVuY2UuIFBhcmRvbm5lIGRvbmMgw6AgY2V1eCBxdWkgc2UgcmVwZW50ZW50IGV0IHN1aXZlbnQgVG9uIGNoZW1pbiBldCBwcm90w6hnZS1sZXMgZHUgY2jDonRpbWVudCBkZSBsJ0VuZmVyLiIsInIiOiJDb3JhbiA0MDo3IiwibiI6bnVsbH0seyJlIjoi8J+ksiIsInQiOiIzMy4gTGVzIEphcmRpbnMgZOKAmcOJZGVuIiwiYXIiOiLYsdmO2KjZkdmO2YbZjtinINmI2Y7Yo9mO2K\/Zktiu2ZDZhNmS2YfZj9mF2ZIg2KzZjtmG2ZHZjtmw2KrZkCDYudmO2K\/ZktmG2Y0g2bHZhNmR2Y7YqtmQ2Ykg2YjZjti52Y7Yr9iq2ZHZjtmH2Y\/ZhdmSINmI2Y7ZhdmO2YYg2LXZjtmE2Y7YrdmOINmF2ZDZhtmSINih2Y7Yp9io2Y7Yp9mT2KbZkNmH2ZDZhdmSINmI2Y7Yo9mO2LLZktmI2Y7ZsNis2ZDZh9mQ2YXZkiDZiNmO2LDZj9ix2ZHZkNmK2ZHZjtmw2KrZkNmH2ZDZhdmSINuaINil2ZDZhtmR2Y7Zg9mOINij2Y7Zhtiq2Y4g2bHZhNmS2LnZjtiy2ZDZitiy2Y8g2bHZhNmS2K3ZjtmD2ZDZitmF2Y8iLCJmciI6IlNlaWduZXVyISBGYWlzLWxlcyBlbnRyZXIgYXV4IGphcmRpbnMgZCdFZGVuIHF1ZSBUdSBsZXVyIGFzIHByb21pcywgYWluc2kgcXUnYXV4IHZlcnR1ZXV4IHBhcm1pIGxldXJzIGFuY8OqdHJlcywgbGV1cnMgw6lwb3VzZXMgZXQgbGV1cnMgZGVzY2VuZGFudHMsIGNhciBjJ2VzdCBUb2kgbGUgUHVpc3NhbnQsIGxlIFNhZ2UuIiwiciI6IkNvcmFuIDQwOjgiLCJuIjpudWxsfSx7ImUiOiLwn6SyIiwidCI6IjM0LiBQYXJkb25uZSDDoCBub3MgZnLDqHJlcywgc2FucyByYW5jxZN1ciIsImFyIjoi2YjZjtmx2YTZkdmO2LDZkNmK2YbZjiDYrNmO2KfZk9ih2Y\/ZiCDZhdmQ2YbboiDYqNmO2LnZktiv2ZDZh9mQ2YXZkiDZitmO2YLZj9mI2YTZj9mI2YbZjiDYsdmO2KjZkdmO2YbZjtinINmx2LrZktmB2ZDYsdmSINmE2Y7ZhtmO2Kcg2YjZjtmE2ZDYpdmQ2K7ZktmI2Y7ZsNmG2ZDZhtmO2Kcg2bHZhNmR2Y7YsNmQ2YrZhtmOINiz2Y7YqNmO2YLZj9mI2YbZjtinINio2ZDZsdmE2ZLYpdmQ2YrZhdmO2bDZhtmQINmI2Y7ZhNmO2Kcg2KrZjtis2ZLYudmO2YTZkiDZgdmQ2Ykg2YLZj9mE2Y\/ZiNio2ZDZhtmO2Kcg2LrZkNmE2ZHZi9ut2Kcg2YTZkdmQ2YTZkdmO2LDZkNmK2YbZjiDYodmO2KfZhdmO2YbZj9mI2KfbnyDYsdmO2KjZkdmO2YbZjtin2ZMg2KXZkNmG2ZHZjtmD2Y4g2LHZjtih2Y\/ZiNmB2YzbrSDYsdmR2Y7YrdmQ2YrZhdmMIiwiZnIiOiJFdCBbaWwgYXBwYXJ0aWVudCDDqWdhbGVtZW50XSDDoCBjZXV4IHF1aSBzb250IHZlbnVzIGFwcsOocyBldXggZW4gZGlzYW50OiDCq1NlaWduZXVyLCBwYXJkb25uZS1ub3VzLCBhaW5zaSBxdSfDoCBub3MgZnLDqHJlcyBxdWkgbm91cyBvbnQgcHLDqWPDqWTDqXMgZGFucyBsYSBmb2k7IGV0IG5lIG1ldHMgZGFucyBub3MgY8WTdXJzIGF1Y3VuZSByYW5jxZN1ciBwb3VyIGNldXggcXVpIG9udCBjcnUuIFNlaWduZXVyLCBUdSBlcyBDb21wYXRpc3NhbnQgZXQgVHLDqHMgTWlzw6lyaWNvcmRpZXV4wrsuIiwiciI6IkNvcmFuIDU5OjEwIiwibiI6bnVsbH0seyJlIjoi8J+ksiIsInQiOiIzNS4gRW4gVG9pIG5vdXMgcGxhw6dvbnMgbm90cmUgY29uZmlhbmNlIiwiYXIiOiLZgtmO2K\/ZkiDZg9mO2KfZhtmO2KrZkiDZhNmO2YPZj9mF2ZIg2KPZj9iz2ZLZiNmO2KnZjCDYrdmO2LPZjtmG2Y7YqdmM260g2YHZkNmJ2ZMg2KXZkNio2ZLYsdmO2bDZh9mQ2YrZhdmOINmI2Y7ZsdmE2ZHZjtiw2ZDZitmG2Y4g2YXZjti52Y7Zh9mP26XZkyDYpdmQ2LDZkiDZgtmO2KfZhNmP2YjYp9ufINmE2ZDZgtmO2YjZktmF2ZDZh9mQ2YXZkiDYpdmQ2YbZkdmO2Kcg2KjZj9ix2Y7YodmO2bDZk9ik2Y\/Yp9ufINmF2ZDZhtmD2Y\/ZhdmSINmI2Y7ZhdmQ2YXZkdmO2Kcg2KrZjti52ZLYqNmP2K\/Zj9mI2YbZjiDZhdmQ2YYg2K\/Zj9mI2YbZkCDZsdmE2YTZkdmO2YfZkCDZg9mO2YHZjtix2ZLZhtmO2Kcg2KjZkNmD2Y\/ZhdmSINmI2Y7YqNmO2K\/ZjtinINio2Y7ZitmS2YbZjtmG2Y7YpyDZiNmO2KjZjtmK2ZLZhtmO2YPZj9mF2Y8g2bHZhNmS2LnZjtiv2Y7ZsNmI2Y7YqdmPINmI2Y7ZsdmE2ZLYqNmO2LrZkti22Y7Yp9mT2KHZjyDYo9mO2KjZjtiv2YvYpyDYrdmO2KrZkdmO2YnZsCDYqtmP2KTZktmF2ZDZhtmP2YjYp9ufINio2ZDZsdmE2YTZkdmO2YfZkCDZiNmO2K3Zktiv2Y7Zh9mP26XZkyDYpdmQ2YTZkdmO2Kcg2YLZjtmI2ZLZhNmOINil2ZDYqNmS2LHZjtmw2YfZkNmK2YXZjiDZhNmQ2KPZjtio2ZDZitmH2ZAg2YTZjtij2Y7Ys9mS2KrZjti62ZLZgdmQ2LHZjtmG2ZHZjiDZhNmO2YPZjiDZiNmO2YXZjtin2ZMg2KPZjtmF2ZLZhNmQ2YPZjyDZhNmO2YPZjiDZhdmQ2YbZjiDZsdmE2YTZkdmO2YfZkCDZhdmQ2YYg2LTZjtmJ2ZLYodmN26Ig25Yg2LHZkdmO2KjZkdmO2YbZjtinINi52Y7ZhNmO2YrZktmD2Y4g2KrZjtmI2Y7Zg9mR2Y7ZhNmS2YbZjtinINmI2Y7YpdmQ2YTZjtmK2ZLZg9mOINij2Y7ZhtmO2KjZktmG2Y7YpyDZiNmO2KXZkNmE2Y7ZitmS2YPZjiDZsdmE2ZLZhdmO2LXZkNmK2LHZjyIsImZyIjoiQ2VydGVzLCB2b3VzIGF2ZXogZXUgdW4gYmVsIGV4ZW1wbGUgW8OgIHN1aXZyZV0gZW4gQWJyYWhhbSBldCBlbiBjZXV4IHF1aSDDqXRhaWVudCBhdmVjIGx1aSwgcXVhbmQgaWxzIGRpcmVudCDDoCBsZXVyIHBldXBsZTogwqtOb3VzIHZvdXMgZMOpc2F2b3VvbnMsIHZvdXMgZXQgY2UgcXVlIHZvdXMgYWRvcmV6IGVuIGRlaG9ycyBkJ0FsbGFoLiBOb3VzIHZvdXMgcmVuaW9ucy4gRW50cmUgdm91cyBldCBub3VzLCBsJ2luaW1pdGnDqSBldCBsYSBoYWluZSBzb250IMOgIGphbWFpcyBkw6ljbGFyw6llcyBqdXNxdSfDoCBjZSBxdWUgdm91cyBjcm95aWV6IGVuIEFsbGFoLCBzZXVswrsuIEV4Y2VwdGlvbiBmYWl0ZSBkZSBsYSBwYXJvbGUgZCdBYnJhaGFtIFthZHJlc3PDqWVdIMOgIHNvbiBww6hyZTogwqtKJ2ltcGxvcmVyYWkgY2VydGVzLCBsZSBwYXJkb24gW2QnQWxsYWhdIGVuIHRhIGZhdmV1ciBiaWVuIHF1ZSBqZSBuZSBwdWlzc2UgcmllbiBwb3VyIHRvaSBhdXByw6hzIGQnQWxsYWjCuy4gwqtTZWlnbmV1ciwgYydlc3QgZW4gVG9pIHF1ZSBub3VzIG1ldHRvbnMgbm90cmUgY29uZmlhbmNlIGV0IMOgIFRvaSBub3VzIHJldmVub25zIFtyZXBlbnRhbnRzXS4gRXQgdmVycyBUb2kgZXN0IGxlIERldmVuaXIuIiwiciI6IkNvcmFuIDYwOjQiLCJuIjpudWxsfSx7ImUiOiLwn6SyIiwidCI6IjM2LiBOZSBmYWlzIHBhcyBkZSBub3VzIHVuZSB0ZW50YXRpb24gcG91ciBsZXMgbcOpY3LDqWFudHMiLCJhciI6Itix2Y7YqNmR2Y7ZhtmO2Kcg2YTZjtinINiq2Y7YrNmS2LnZjtmE2ZLZhtmO2Kcg2YHZkNiq2ZLZhtmO2KnZi9utINmE2ZHZkNmE2ZHZjtiw2ZDZitmG2Y4g2YPZjtmB2Y7YsdmP2YjYp9ufINmI2Y7Zsdi62ZLZgdmQ2LHZkiDZhNmO2YbZjtinINix2Y7YqNmR2Y7ZhtmO2KfZkyDbliDYpdmQ2YbZkdmO2YPZjiDYo9mO2YbYqtmOINmx2YTZkti52Y7YstmQ2YrYstmPINmx2YTZktit2Y7Zg9mQ2YrZhdmPIiwiZnIiOiJTZWlnbmV1ciwgbmUgZmFpcyBwYXMgZGUgbm91cyBbdW4gc3VqZXRdIGRlIHRlbnRhdGlvbiBwb3VyIGNldXggcXVpIG9udCBtw6ljcnU7IGV0IHBhcmRvbm5lLW5vdXMsIFNlaWduZXVyLCBjYXIgYydlc3QgVG9pIGxlIFB1aXNzYW50LCBsZSBTYWdlwrsuIiwiciI6IkNvcmFuIDYwOjUiLCJuIjpudWxsfSx7ImUiOiLwn6SyIiwidCI6IjM3LiBQYXJhY2jDqHZlIHBvdXIgbm91cyBub3RyZSBsdW1pw6hyZSIsImFyIjoi2YrZjtmw2ZPYo9mO2YrZkdmP2YfZjtinINmx2YTZkdmO2LDZkNmK2YbZjiDYodmO2KfZhdmO2YbZj9mI2KfbnyDYqtmP2YjYqNmP2YjZk9in258g2KXZkNmE2Y7ZiSDZsdmE2YTZkdmO2YfZkCDYqtmO2YjZktio2Y7YqdmL260g2YbZkdmO2LXZj9mI2K3Zi9inINi52Y7Ys9mO2YnZsCDYsdmO2KjZkdmP2YPZj9mF2ZIg2KPZjtmGINmK2Y\/Zg9mO2YHZkdmQ2LHZjiDYudmO2YbZg9mP2YXZkiDYs9mO2YrZkdmQ2YDZlNmO2KfYqtmQ2YPZj9mF2ZIg2YjZjtmK2Y\/Yr9mS2K7ZkNmE2Y7Zg9mP2YXZkiDYrNmO2YbZkdmO2bDYqtmN26Ig2KrZjtis2ZLYsdmQ2Ykg2YXZkNmGINiq2Y7YrdmS2KrZkNmH2Y7YpyDZsdmE2ZLYo9mO2YbZktmH2Y7ZsNix2Y8g2YrZjtmI2ZLZhdmOINmE2Y7YpyDZitmP2K7Zktiy2ZDZiSDZsdmE2YTZkdmO2YfZjyDZsdmE2YbZkdmO2KjZkNmJ2ZHZjiDZiNmO2bHZhNmR2Y7YsNmQ2YrZhtmOINih2Y7Yp9mF2Y7ZhtmP2YjYp9ufINmF2Y7YudmO2YfZj9ulINuWINmG2Y\/ZiNix2Y\/Zh9mP2YXZkiDZitmO2LPZkti52Y7ZidmwINio2Y7ZitmS2YbZjiDYo9mO2YrZktiv2ZDZitmH2ZDZhdmSINmI2Y7YqNmQ2KPZjtmK2ZLZhdmO2bDZhtmQ2YfZkNmF2ZIg2YrZjtmC2Y\/ZiNmE2Y\/ZiNmG2Y4g2LHZjtio2ZHZjtmG2Y7Yp9mTINij2Y7YqtmS2YXZkNmF2ZIg2YTZjtmG2Y7YpyDZhtmP2YjYsdmO2YbZjtinINmI2Y7Zsdi62ZLZgdmQ2LHZkiDZhNmO2YbZjtin2ZMg25Yg2KXZkNmG2ZHZjtmD2Y4g2LnZjtmE2Y7ZidmwINmD2Y\/ZhNmR2ZAg2LTZjtmJ2ZLYodmN26Ig2YLZjtiv2ZDZitix2YzbrSIsImZyIjoiTyB2b3VzIHF1aSBhdmV6IGNydSEgUmVwZW50ZXotdm91cyDDoCBBbGxhaCBkJ3VuIHJlcGVudGlyIHNpbmPDqHJlLiBJbCBzZSBwZXV0IHF1ZSB2b3RyZSBTZWlnbmV1ciB2b3VzIGVmZmFjZSB2b3MgZmF1dGVzIGV0IHF1J0lsIHZvdXMgZmFzc2UgZW50cmVyIGRhbnMgZGVzIEphcmRpbnMgc291cyBsZXNxdWVscyBjb3VsZW50IGxlcyBydWlzc2VhdXgsIGxlIGpvdXIgb8O5IEFsbGFoIMOpcGFyZ25lcmEgbCdpZ25vbWluaWUgYXUgUHJvcGjDqHRlIGV0IMOgIGNldXggcXVpIGNyb2llbnQgYXZlYyBsdWkuIExldXIgbHVtacOocmUgY291cnJhIGRldmFudCBldXggZXQgw6AgbGV1ciBkcm9pdGU7IGlscyBkaXJvbnQ6IMKrU2VpZ25ldXIsIHBhcmZhaXMtbm91cyBub3RyZSBsdW1pw6hyZSBldCBwYXJkb25uZS1ub3VzLiBDYXIgVHUgZXMgT21uaXBvdGVudMK7LiIsInIiOiJDb3JhbiA2Njo4IiwibiI6bnVsbH0seyJlIjoi8J+ksiIsInQiOiIzOC4gUG91ciBtZXMgcGFyZW50cyIsImFyIjoi2YjZjtmx2K7ZktmB2ZDYttmSINmE2Y7Zh9mP2YXZjtinINis2Y7ZhtmO2KfYrdmOINmx2YTYsNmR2Y\/ZhNmR2ZAg2YXZkNmG2Y4g2bHZhNix2ZHZjtit2ZLZhdmO2KnZkCDZiNmO2YLZj9mEINix2ZHZjtio2ZHZkCDZsdix2ZLYrdmO2YXZktmH2Y\/ZhdmO2Kcg2YPZjtmF2Y7YpyDYsdmO2KjZkdmO2YrZjtin2YbZkNmJINi12Y7YutmQ2YrYsdmL263YpyIsImZyIjoiZXQgcGFyIG1pc8Opcmljb3JkZSwgYWJhaXNzZSBwb3VyIGV1eCBsJ2FpbGUgZGUgbCdodW1pbGl0w6ksIGV0IGRpczogwqtPIG1vbiBTZWlnbmV1ciwgZmFpcy1sZXVyLCDDoCB0b3VzIGRldXgsIG1pc8Opcmljb3JkZSBjb21tZSBpbHMgbSdvbnQgw6lsZXbDqSB0b3V0IHBldGl0wrsuIiwiciI6IkNvcmFuIDE3OjI0IiwibiI6bnVsbH0seyJlIjoi8J+ksiIsInQiOiIzOS4gQWNjcm9pcyBtYSBzY2llbmNlIiwiYXIiOiLZgdmO2KrZjti52Y7ZsNmE2Y7ZiSDZsdmE2YTZkdmO2YfZjyDZsdmE2ZLZhdmO2YTZkNmD2Y8g2bHZhNmS2K3ZjtmC2ZHZjyDblyDZiNmO2YTZjtinINiq2Y7YudmS2KzZjtmE2ZIg2KjZkNmx2YTZktmC2Y\/YsdmS2KHZjtin2YbZkCDZhdmQ2YYg2YLZjtio2ZLZhNmQINij2Y7ZhiDZitmP2YLZkti22Y7Zidmw2ZMg2KXZkNmE2Y7ZitmS2YPZjiDZiNmO2K3ZktmK2Y\/Zh9mP26Ug25Yg2YjZjtmC2Y\/ZhCDYsdmR2Y7YqNmR2ZAg2LLZkNiv2ZLZhtmQ2Ykg2LnZkNmE2ZLZhdmL263YpyIsImZyIjoiUXVlIHNvaXQgw6l4YWx0w6kgQWxsYWgsIGxlIFZyYWkgU291dmVyYWluISBOZSB0ZSBow6J0ZSBwYXMgW2RlIHLDqWNpdGVyXSBsZSBDb3JhbiBhdmFudCBxdWUgbmUgdGUgc29pdCBhY2hldsOpZSBzYSByw6l2w6lsYXRpb24uIEV0IGRpczogwqtPIG1vbiBTZWlnbmV1ciwgYWNjcm\/DrnQgbWVzIGNvbm5haXNzYW5jZXMhwrsiLCJyIjoiQ29yYW4gMjA6MTE0IiwibiI6bnVsbH0seyJlIjoi8J+ksiIsInQiOiI0MC4gUGFyZG9ubmUgZXQgZmFpcyBtaXPDqXJpY29yZGUiLCJhciI6ItmI2Y7ZgtmP2YQg2LHZkdmO2KjZkdmQINmx2LrZktmB2ZDYsdmSINmI2Y7Zsdix2ZLYrdmO2YXZkiDZiNmO2KPZjtmG2KrZjiDYrtmO2YrZktix2Y8g2bHZhNix2ZHZjtmw2K3ZkNmF2ZDZitmG2Y4iLCJmciI6IkV0IGRpczogwqtTZWlnbmV1ciwgcGFyZG9ubmUgZXQgZmFpcyBtaXPDqXJpY29yZGUuIEMnZXN0IFRvaSBsZSBNZWlsbGV1ciBkZXMgbWlzw6lyaWNvcmRpZXV4wrsuIiwiciI6IkNvcmFuIDIzOjExOCIsIm4iOm51bGx9XX1dOwoKdmFyIERVQV9BST17ImhhamotMDIiOiAiL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzEwL2hhamotMDIubXAzIiwgImhhamotMDciOiAiL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzEwL2hhamotMDcubXAzIiwgImhhamotMTEiOiAiL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzEwL2hhamotMTEubXAzIiwgIm1hdGluLTAyIjogIi93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8xMC9tYXRpbi0wMi5tcDMiLCAibWF0aW4tMDMiOiAiL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzEwL21hdGluLTAzLm1wMyIsICJtYXRpbi0wNCI6ICIvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMTAvbWF0aW4tMDQubXAzIiwgIm1hdGluLTA1IjogIi93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8xMC9tYXRpbi0wNS5tcDMiLCAibWF0aW4tMDYiOiAiL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzEwL21hdGluLTA2Lm1wMyIsICJtYXRpbi0wNyI6ICIvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMTAvbWF0aW4tMDcubXAzIiwgIm1hdGluLTA4IjogIi93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8xMC9tYXRpbi0wOC5tcDMiLCAibWF0aW4tMDkiOiAiL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzEwL21hdGluLTA5Lm1wMyIsICJtYXRpbi0xMCI6ICIvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMTAvbWF0aW4tMTAubXAzIiwgIm1hdGluLTExIjogIi93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8xMC9tYXRpbi0xMS5tcDMiLCAibWF0aW4tMTIiOiAiL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzEwL21hdGluLTEyLm1wMyIsICJtYXRpbi0xMyI6ICIvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMTAvbWF0aW4tMTMubXAzIiwgIm51aXQtMDEiOiAiL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzEwL251aXQtMDEubXAzIiwgIm51aXQtMDQiOiAiL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzEwL251aXQtMDQubXAzIiwgIm51aXQtMDUiOiAiL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzEwL251aXQtMDUubXAzIiwgIm51aXQtMDYiOiAiL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzEwL251aXQtMDYubXAzIiwgIm51aXQtMDciOiAiL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzEwL251aXQtMDcubXAzIiwgIm51aXQtMDgiOiAiL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzEwL251aXQtMDgubXAzIiwgIm51aXQtMDkiOiAiL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzEwL251aXQtMDkubXAzIiwgIm51aXQtMTAiOiAiL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzEwL251aXQtMTAubXAzIiwgIm51aXQtMTEiOiAiL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzEwL251aXQtMTEubXAzIiwgIm51aXQtMTIiOiAiL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzEwL251aXQtMTIubXAzIiwgInJlcGFzLTAxIjogIi93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8xMC9yZXBhcy0wMS5tcDMiLCAicmVwYXMtMDIiOiAiL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzEwL3JlcGFzLTAyLm1wMyIsICJyZXBhcy0wMyI6ICIvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMTAvcmVwYXMtMDMubXAzIiwgInJlcGFzLTA0IjogIi93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8xMC9yZXBhcy0wNC5tcDMiLCAicmVwYXMtMDUiOiAiL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzEwL3JlcGFzLTA1Lm1wMyIsICJyZXBhcy0wNiI6ICIvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMTAvcmVwYXMtMDYubXAzIiwgInJlcGFzLTA3IjogIi93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8xMC9yZXBhcy0wNy5tcDMiLCAic2FjcmlmaWNlLTAxIjogIi93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8xMC9zYWNyaWZpY2UtMDEubXAzIiwgInNhY3JpZmljZS0wMiI6ICIvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMTAvc2FjcmlmaWNlLTAyLm1wMyJ9Owp2YXIgRFVBU19FTj17Im1hdGluIjogeyJ0IjogIk1vcm5pbmcgYW5kIGV2ZW5pbmciLCAiaW50cm8iOiAiVG8gc2F5IGFmdGVyIHRoZSBkYXduIHByYXllciBmb3IgdGhlIG1vcm5pbmcsIGFuZCBhZnRlciB0aGUgYWZ0ZXJub29uIHByYXllciBmb3IgdGhlIGV2ZW5pbmcuIiwgIml0ZW1zIjogW3sidCI6ICJUaGUgbGFzdCB0aHJlZSBzdXJhaHMiLCAiZnIiOiAiU3VyYWggYWwtSWtobGFzLCBzdXJhaCBhbC1GYWxhcSwgc3VyYWggYW4tTmFzLCB0byBiZSByZWNpdGVkIDMgdGltZXMgaW4gdGhlIG1vcm5pbmcgYW5kIDMgdGltZXMgaW4gdGhlIGV2ZW5pbmcuIn0sIHsidCI6ICJJbiB0aGUgbW9ybmluZyIsICJmciI6ICJPIEFsbGFoLCBieSBZb3Ugd2UgcmVhY2ggdGhlIG1vcm5pbmcsIGJ5IFlvdSB3ZSByZWFjaCB0aGUgZXZlbmluZywgYnkgWW91IHdlIGxpdmUsIGJ5IFlvdSB3ZSBkaWUsIGFuZCB0byBZb3UgaXMgdGhlIHJlc3VycmVjdGlvbi4gKEluIHRoZSBldmVuaW5nOiDigJzigKZieSBZb3Ugd2UgcmVhY2ggdGhlIGV2ZW5pbmcsIGJ5IFlvdSB3ZSByZWFjaCB0aGUgbW9ybmluZ+KApiBhbmQgdG8gWW91IGlzIHRoZSByZXR1cm4u4oCdKSJ9LCB7InQiOiAiVGhlIG1hc3RlciBvZiBzZWVraW5nIGZvcmdpdmVuZXNzIiwgImZyIjogIk8gQWxsYWgsIFlvdSBhcmUgbXkgTG9yZCwgdGhlcmUgaXMgbm8gZ29kIGJ1dCBZb3UuIFlvdSBjcmVhdGVkIG1lIGFuZCBJIGFtIFlvdXIgc2VydmFudCwgYW5kIEkga2VlcCBZb3VyIGNvdmVuYW50IGFuZCBZb3VyIHByb21pc2UgYXMgYmVzdCBJIGNhbi4gSSBzZWVrIHJlZnVnZSBpbiBZb3UgZnJvbSB0aGUgZXZpbCBJIGhhdmUgZG9uZS4gSSBhY2tub3dsZWRnZSBZb3VyIGZhdm91cnMgdXBvbiBtZSBhbmQgSSBhY2tub3dsZWRnZSBteSBzaW46IGZvcmdpdmUgbWUsIGZvciBub25lIGZvcmdpdmVzIHNpbnMgYnV0IFlvdS4iLCAiciI6ICJhbC1CdWtoYXJpIG5vLiA2MzA2LiBXaG9ldmVyIHNheXMgaXQgaW4gdGhlIG1vcm5pbmcgd2l0aCBmYWl0aCBhbmQgZGllcyB0aGF0IGRheSB3aWxsIGVudGVyIFBhcmFkaXNlOyBsaWtld2lzZSBmb3IgdGhlIGV2ZW5pbmcuIn0sIHsidCI6ICJQcm90ZWN0aW9uIGZyb20gYWxsIGhhcm0iLCAiZnIiOiAiSW4gdGhlIG5hbWUgb2YgQWxsYWgsIHdpdGggd2hvc2UgbmFtZSBub3RoaW5nIG9uIGVhcnRoIG9yIGluIGhlYXZlbiBjYW4gY2F1c2UgaGFybSwgYW5kIEhlIGlzIHRoZSBBbGwtSGVhcmluZywgdGhlIEFsbC1Lbm93aW5nLiJ9LCB7InQiOiAiSGVhbHRoIG9mIHRoZSBib2R5IiwgImZyIjogIk8gQWxsYWgsIGdyYW50IG1lIGhlYWx0aCBpbiBteSBib2R5LiBPIEFsbGFoLCBncmFudCBtZSBoZWFsdGggaW4gbXkgaGVhcmluZy4gTyBBbGxhaCwgZ3JhbnQgbWUgaGVhbHRoIGluIG15IHNpZ2h0LiBUaGVyZSBpcyBubyBnb2QgYnV0IFlvdS4gTyBBbGxhaCwgSSBzZWVrIHJlZnVnZSBpbiBZb3UgZnJvbSBkaXNiZWxpZWYgYW5kIHBvdmVydHksIGFuZCBJIHNlZWsgcmVmdWdlIGluIFlvdSBmcm9tIHRoZSBwdW5pc2htZW50IG9mIHRoZSBncmF2ZS4gVGhlcmUgaXMgbm8gZ29kIGJ1dCBZb3UuIn0sIHsidCI6ICJGb3JnaXZlbmVzcyBhbmQgd2VsbC1iZWluZyIsICJmciI6ICJPIEFsbGFoLCBJIGFzayBZb3UgZm9yIHBhcmRvbiBhbmQgd2VsbC1iZWluZyBpbiBteSByZWxpZ2lvbiwgaW4gdGhpcyBsaWZlLCB3aXRoIG15IGZhbWlseSBhbmQgaW4gbXkgd2VhbHRoLiBPIEFsbGFoLCBjb25jZWFsIG15IGZhdWx0cyBhbmQgY2FsbSBteSBmZWFycy4gTyBBbGxhaCwgcHJvdGVjdCBtZSBmcm9tIGluIGZyb250LCBmcm9tIGJlaGluZCwgZnJvbSBteSByaWdodCwgZnJvbSBteSBsZWZ0IGFuZCBmcm9tIGFib3ZlIG1lOyBJIHNlZWsgcmVmdWdlIGluIFlvdXIgZ3JlYXRuZXNzIGZyb20gYmVpbmcgc3dhbGxvd2VkIHVwIGZyb20gYmVuZWF0aCBtZS4ifSwgeyJ0IjogIkdsb3J5IGFuZCBwcmFpc2UgdG8gQWxsYWgiLCAiZnIiOiAiR2xvcnkgYW5kIHByYWlzZSBiZSB0byBBbGxhaC4ifSwgeyJ0IjogIlRoZSBvbmVuZXNzIG9mIEFsbGFoIiwgIm4iOiAiw5cgMTAgKG9yIMOXIDEwMCkiLCAiZnIiOiAiVGhlcmUgaXMgbm8gZ29kIGJ1dCBBbGxhaCwgYWxvbmUsIHdpdGhvdXQgcGFydG5lci4gSGlzIGlzIHRoZSBkb21pbmlvbiBhbmQgSGlzIGlzIHRoZSBwcmFpc2UsIGFuZCBIZSBoYXMgcG93ZXIgb3ZlciBhbGwgdGhpbmdzLiJ9LCB7InQiOiAiUHJhaXNlIGFzIHZhc3QgYXMgY3JlYXRpb24iLCAiZnIiOiAiR2xvcnkgYW5kIHByYWlzZSBiZSB0byBBbGxhaCwgYXMgbWFueSBhcyBIaXMgY3JlYXRpb24sIGFzIG11Y2ggYXMgSGlzIGdvb2QgcGxlYXN1cmUsIGFzIGhlYXZ5IGFzIHRoZSB3ZWlnaHQgb2YgSGlzIFRocm9uZSBhbmQgYXMgdGhlIGluayBvZiBIaXMgd29yZHMuIn0sIHsidCI6ICJCZW5lZmljaWFsIGtub3dsZWRnZSAobW9ybmluZykiLCAiZnIiOiAiTyBBbGxhaCwgSSBhc2sgWW91IGZvciBiZW5lZmljaWFsIGtub3dsZWRnZSwgcHVyZSBwcm92aXNpb24gYW5kIGFjY2VwdGVkIGRlZWRzLiJ9LCB7InQiOiAiU2Vla2luZyByZWZ1Z2UgaW4gdGhlIHdvcmRzIG9mIEFsbGFoIChldmVuaW5nKSIsICJmciI6ICJJIHNlZWsgcmVmdWdlIGluIHRoZSBwZXJmZWN0IHdvcmRzIG9mIEFsbGFoIGZyb20gdGhlIGV2aWwgb2Ygd2hhdCBIZSBoYXMgY3JlYXRlZC4ifSwgeyJ0IjogIkFza2luZyBmb3JnaXZlbmVzcyIsICJuIjogIsOXIDEwMCBwZXIgZGF5IiwgImZyIjogIkkgYXNrIEFsbGFoIGZvciBmb3JnaXZlbmVzcyBhbmQgSSByZXBlbnQgdG8gSGltLiIsICJyIjogIk11c2xpbSBuby4gMjcwMiAodGhlIFByb3BoZXQg77e6IGFza2VkIGZvcmdpdmVuZXNzIDEwMCB0aW1lcyBhIGRheSkifSwgeyJ0IjogIlNlbmRpbmcgYmxlc3NpbmdzIG9uIHRoZSBQcm9waGV0IO+3uiIsICJmciI6ICJPIEFsbGFoLCBzZW5kIGJsZXNzaW5ncyBhbmQgcGVhY2UgdXBvbiBvdXIgUHJvcGhldCBNdWhhbW1hZC4iLCAiciI6ICJNdXNsaW0gbm8uIDQwODogd2hvZXZlciBzZW5kcyBibGVzc2luZ3Mgb24gdGhlIFByb3BoZXQg77e6IG9uY2UsIEFsbGFoIHNlbmRzIGJsZXNzaW5ncyBvbiBoaW0gdGVuIHRpbWVzIn1dfSwgIm51aXQiOiB7InQiOiAiTmlnaHQgYW5kIHNsZWVwIiwgImludHJvIjogIkJlZm9yZSBzbGVlcGluZzogYWJsdXRpb25zLCBsaWUgb24geW91ciByaWdodCBzaWRlLCB0aGVuIHRoZSBzdXBwbGljYXRpb25zIGJlbG93LiIsICJpdGVtcyI6IFt7InQiOiAiT24gd2FraW5nIHVwIiwgImZyIjogIlByYWlzZSBiZSB0byBBbGxhaCB3aG8gZ2F2ZSB1cyBsaWZlIGFmdGVyIGhhdmluZyBtYWRlIHVzIGRpZSwgYW5kIHRvIEhpbSBpcyB0aGUgcmVzdXJyZWN0aW9uLiJ9LCB7InQiOiAiQXlhdCBhbC1LdXJzaSIsICJmciI6ICJTdXJhaCAyLCB2ZXJzZSAyNTUuIFJlY2l0ZSBBeWF0IGFsLUt1cnNpIHdoZW4gZ29pbmcgdG8gYmVkOiBhIGd1YXJkaWFuIGZyb20gQWxsYWggd2lsbCB3YXRjaCBvdmVyIHlvdSB1bnRpbCBtb3JuaW5nLiJ9LCB7InQiOiAiVGhlIGxhc3QgdHdvIHZlcnNlcyBvZiBhbC1CYXFhcmEiLCAiZnIiOiAiU3VyYWggMiwgdmVyc2VzIDI4NSBhbmQgMjg2LiBXaG9ldmVyIHJlY2l0ZXMgdGhlbSBhdCBuaWdodCwgdGhleSB3aWxsIHN1ZmZpY2UgaGltLiJ9LCB7InQiOiAiQmxvd2luZyBpbnRvIHRoZSBoYW5kcyIsICJmciI6ICJUaGUgUHJvcGhldCDvt7ogd291bGQgam9pbiBoaXMgcGFsbXMsIGJsb3cgaW50byB0aGVtIGFmdGVyIHJlY2l0aW5nIGFsLUlraGxhcywgYWwtRmFsYXEgYW5kIGFuLU5hcywgdGhlbiB3aXBlIGhpcyBib2R5IHdpdGggdGhlbSwgdGhyZWUgdGltZXMuIn0sIHsidCI6ICJXaGVuIGx5aW5nIGRvd24iLCAiZnIiOiAiSW4gWW91ciBuYW1lLCBPIEFsbGFoLCBJIGRpZSBhbmQgSSBsaXZlLiJ9LCB7InQiOiAiTGF5aW5nIGRvd24gdGhlIHNpZGUiLCAiZnIiOiAiSW4gWW91ciBuYW1lLCBteSBMb3JkLCBJIGxheSBkb3duIG15IHNpZGUgYW5kIGJ5IFlvdSBJIHJhaXNlIGl0LiBJZiBZb3UgdGFrZSBteSBzb3VsLCBoYXZlIG1lcmN5IG9uIGl0OyBpZiBZb3Ugc2VuZCBpdCBiYWNrLCBwcm90ZWN0IGl0IGFzIFlvdSBwcm90ZWN0IFlvdXIgcmlnaHRlb3VzIHNlcnZhbnRzLiJ9LCB7InQiOiAiVGhlIHNvdWwgZW50cnVzdGVkIHRvIEFsbGFoIiwgImZyIjogIk8gQWxsYWgsIFlvdSBjcmVhdGVkIG15IHNvdWwgYW5kIGl0IGlzIFlvdSB3aG8gdGFrZSBpdCBiYWNrLiBJdHMgZGVhdGggYW5kIGl0cyBsaWZlIGJlbG9uZyB0byBZb3UuIElmIFlvdSBnaXZlIGl0IGxpZmUsIHByb3RlY3QgaXQ7IGlmIFlvdSBtYWtlIGl0IGRpZSwgZm9yZ2l2ZSBpdC4gTyBBbGxhaCwgSSBhc2sgWW91IGZvciB3ZWxsLWJlaW5nLiJ9LCB7InQiOiAiUHJvdGVjdGlvbiBvbiB0aGUgRGF5IG9mIFJlc3VycmVjdGlvbiIsICJmciI6ICJPIEFsbGFoLCBwcm90ZWN0IG1lIGZyb20gWW91ciBwdW5pc2htZW50IG9uIHRoZSBkYXkgWW91IHJhaXNlIFlvdXIgc2VydmFudHMuIn0sIHsidCI6ICJUaGUgdGFzYmloIG9mIEZhdGltYSIsICJmciI6ICJHbG9yeSBiZSB0byBBbGxhaCAoMzMgdGltZXMpLCBwcmFpc2UgYmUgdG8gQWxsYWggKDMzIHRpbWVzKSwgQWxsYWggaXMgdGhlIEdyZWF0ZXN0ICgzNCB0aW1lcykuIEJldHRlciB0aGFuIGhhdmluZyBhIHNlcnZhbnQsIHRoZSBQcm9waGV0IO+3uiB0b2xkIEZhdGltYSBhbmQgyr9BbGkuIn0sIHsidCI6ICJMb3JkIG9mIHRoZSBzZXZlbiBoZWF2ZW5zIiwgImZyIjogIk8gQWxsYWgsIExvcmQgb2YgdGhlIHNldmVuIGhlYXZlbnMsIExvcmQgb2YgdGhlIGVhcnRoIGFuZCBvZiB0aGUgbWlnaHR5IFRocm9uZSwgb3VyIExvcmQgYW5kIExvcmQgb2YgYWxsIHRoaW5ncywgU3BsaXR0ZXIgb2YgdGhlIGdyYWluIGFuZCB0aGUgZGF0ZS1zdG9uZSwgd2hvIHNlbnQgZG93biB0aGUgVG9yYWgsIHRoZSBHb3NwZWwgYW5kIHRoZSBDcml0ZXJpb24uIEkgc2VlayByZWZ1Z2UgaW4gWW91IGZyb20gdGhlIGV2aWwgb2YgZXZlcnl0aGluZyBZb3UgaG9sZCBieSB0aGUgZm9yZWxvY2suIFlvdSBhcmUgdGhlIEZpcnN0LCBub3RoaW5nIGlzIGJlZm9yZSBZb3U7IFlvdSBhcmUgdGhlIExhc3QsIG5vdGhpbmcgaXMgYWZ0ZXIgWW91LiJ9LCB7InQiOiAiR2l2aW5nIHRoYW5rcyBmb3IgYmxlc3NpbmdzIiwgImZyIjogIlByYWlzZSBiZSB0byBBbGxhaCB3aG8gZmVkIHVzLCBnYXZlIHVzIGRyaW5rLCBzdWZmaWNlZCB1cyBhbmQgc2hlbHRlcmVkIHVzLiBIb3cgbWFueSBoYXZlIG5laXRoZXIgZW5vdWdoIG5vciBzaGVsdGVyISJ9LCB7InQiOiAiRW50cnVzdGluZyBvbmVzZWxmIHRvIEFsbGFoIiwgImZyIjogIk8gQWxsYWgsIEkgc3VibWl0IG15IHNvdWwgdG8gWW91LCBJIGVudHJ1c3QgbXkgYWZmYWlyIHRvIFlvdSwgSSB0dXJuIG15IGZhY2UgdG8gWW91IGFuZCBJIHJlbHkgb24gWW91LCBvdXQgb2YgaG9wZSBhbmQgZmVhci4gVGhlcmUgaXMgbm8gcmVmdWdlIGFuZCBubyBlc2NhcGUgZnJvbSBZb3UgZXhjZXB0IHRvIFlvdS4gSSBiZWxpZXZlIGluIFlvdXIgQm9vayB0aGF0IFlvdSByZXZlYWxlZCBhbmQgaW4gWW91ciBQcm9waGV0IHdob20gWW91IHNlbnQuIFdob2V2ZXIgc2F5cyB0aGlzIGFuZCBkaWVzIHRoYXQgbmlnaHQgZGllcyB1cG9uIHRoZSBuYXR1cmFsIGRpc3Bvc2l0aW9uIChmaXRyYSkuIn1dfSwgInJlcGFzIjogeyJ0IjogIk1lYWxzIGFuZCBmYXN0aW5nIiwgImludHJvIjogIkVhdCB3aXRoIHRoZSByaWdodCBoYW5kLCBmcm9tIHdoYXQgaXMgaW4gZnJvbnQgb2YgeW91LCBhbmQgbWVudGlvbiB0aGUgbmFtZSBvZiBBbGxhaC4iLCAiaXRlbXMiOiBbeyJ0IjogIkJlZm9yZSBlYXRpbmciLCAiZnIiOiAiSW4gdGhlIG5hbWUgb2YgQWxsYWguIn0sIHsidCI6ICJJZiBvbmUgZm9yZ290IGF0IHRoZSBiZWdpbm5pbmciLCAiZnIiOiAiSW4gdGhlIG5hbWUgb2YgQWxsYWgsIGF0IGl0cyBiZWdpbm5pbmcgYW5kIGF0IGl0cyBlbmQuIn0sIHsidCI6ICJBZnRlciBlYXRpbmciLCAiZnIiOiAiUHJhaXNlIGJlIHRvIEFsbGFoIHdobyBmZWQgbWUgdGhpcyBhbmQgcHJvdmlkZWQgaXQgZm9yIG1lIHdpdGhvdXQgYW55IHN0cmVuZ3RoIG9yIHBvd2VyIGZyb20gbWUuIChIaXMgcGFzdCBzaW5zIGFyZSBmb3JnaXZlbi4pIn0sIHsidCI6ICJBYnVuZGFudCBwcmFpc2UiLCAiZnIiOiAiUHJhaXNlIGJlIHRvIEFsbGFoLCBhYnVuZGFudCwgZ29vZCBhbmQgYmxlc3NlZCBwcmFpc2UsIGEgcHJhaXNlIHRoYXQgY2Fubm90IGJlIGRvbmUgd2l0aG91dCwgbm9yIGFiYW5kb25lZCwgbm9yIGRpc3BlbnNlZCB3aXRoLCBPIG91ciBMb3JkLiJ9LCB7InQiOiAiVGhlIGd1ZXN0IGZvciBoaXMgaG9zdCIsICJmciI6ICJPIEFsbGFoLCBibGVzcyB3aGF0IFlvdSBoYXZlIHByb3ZpZGVkIGZvciB0aGVtLCBmb3JnaXZlIHRoZW0gYW5kIGhhdmUgbWVyY3kgb24gdGhlbS4ifSwgeyJ0IjogIldoZW4gYnJlYWtpbmcgdGhlIGZhc3QiLCAiZnIiOiAiVGhlIHRoaXJzdCBoYXMgZ29uZSwgdGhlIHZlaW5zIGFyZSBtb2lzdGVuZWQgYW5kIHRoZSByZXdhcmQgaXMgZXN0YWJsaXNoZWQsIGlmIEFsbGFoIHdpbGxzLiJ9LCB7InQiOiAiQnJlYWtpbmcgdGhlIGZhc3QgYXQgc29tZW9uZeKAmXMgaG9tZSIsICJmciI6ICJUaGUgZmFzdGluZyBoYXZlIGJyb2tlbiB0aGVpciBmYXN0IHdpdGggeW91LCB0aGUgcGlvdXMgaGF2ZSBlYXRlbiB5b3VyIGZvb2QgYW5kIHRoZSBhbmdlbHMgaGF2ZSBwcmF5ZWQgZm9yIHlvdS4ifV19LCAiaGFqaiI6IHsidCI6ICJIYWpqIGFuZCBVbXJhaCIsICJpbnRybyI6ICJNYWluIHN0ZXBzIGFuZCBuYXJyYXRlZCBzdXBwbGljYXRpb25zLiBUaGlzIHN1bW1hcnkgZG9lcyBub3QgcmVwbGFjZSB5b3VyIGd1aWRlIG9yIHRoZSBIYWpqIG1pc3Npb246IGZvbGxvdyB0aGVpciBpbnN0cnVjdGlvbnMuIiwgIml0ZW1zIjogW3sidCI6ICJVbXJhaDogMS4gSWhyYW0gYW5kIGludGVudGlvbiIsICJmciI6ICJHaHVzbCwgcGVyZnVtZSBmb3IgbWVuIGJlZm9yZSB0aGUgaW50ZW50aW9uIChub3QgYWZ0ZXIpLCBpaHJhbSBnYXJtZW50cyBmb3IgbWVuICh0d28gdW5zdGl0Y2hlZCBwaWVjZXMpLCBtb2Rlc3QgZHJlc3MgZm9yIHdvbWVuLiBNYWtlIHRoZSBpbnRlbnRpb24gZm9yIFVtcmFoLCB0aGVuIHNheSB0aGUgdGFsYml5YS4iLCAiciI6ICJTZWUgdGhlIGZpcWggYm9va3Mgb2YgSGFqaiBhbmQgVW1yYWgifSwgeyJ0IjogIlRoZSB0YWxiaXlhIiwgIm4iOiAicmVwZWF0IiwgImZyIjogIkhlcmUgSSBhbSwgTyBBbGxhaCwgaGVyZSBJIGFtLiBIZXJlIEkgYW0sIFlvdSBoYXZlIG5vIHBhcnRuZXIsIGhlcmUgSSBhbS4gUHJhaXNlLCBibGVzc2luZyBhbmQgZG9taW5pb24gYmVsb25nIHRvIFlvdSwgWW91IGhhdmUgbm8gcGFydG5lci4ifSwgeyJ0IjogIlVtcmFoOiAyLiBUYXdhZiAoNyBjaXJjdWl0cykiLCAiZnIiOiAiU3RhcnQgYXQgdGhlIEJsYWNrIFN0b25lIGFuZCBrZWVwIHRoZSBLYcq\/YmEgb24geW91ciBsZWZ0LiBFYWNoIHRpbWUgeW91IHBhc3MgdGhlIEJsYWNrIFN0b25lLCB0b3VjaCBpdCBpZiB5b3UgY2FuOyBvdGhlcndpc2UgcG9pbnQgdG8gaXQgd2l0aCB5b3VyIGhhbmQgc2F5aW5nIOKAnEFsbGFodSBha2JhcuKAnS4ifSwgeyJ0IjogIkJldHdlZW4gdGhlIFllbWVuaSBjb3JuZXIgYW5kIHRoZSBCbGFjayBTdG9uZSIsICJmciI6ICJPdXIgTG9yZCwgZ3JhbnQgdXMgZ29vZCBpbiB0aGlzIHdvcmxkIGFuZCBnb29kIGluIHRoZSBIZXJlYWZ0ZXIsIGFuZCBwcm90ZWN0IHVzIGZyb20gdGhlIHB1bmlzaG1lbnQgb2YgdGhlIEZpcmUuIn0sIHsidCI6ICJVbXJhaDogMy4gVHdvIHJha8q\/YXQiLCAiZnIiOiAiQWZ0ZXIgdGhlIHRhd2FmLCBwcmF5IHR3byByYWvKv2F0IGJlaGluZCB0aGUgTWFxYW0gb2YgSWJyYWhpbSwgdGhlbiBkcmluayBaYW16YW0gd2F0ZXIuIn0sIHsidCI6ICJVbXJhaDogNC4gU2HKv3kgYmV0d2VlbiBTYWZhIGFuZCBNYXJ3YSIsICJmciI6ICJTZXZlbiB0cmlwcywgc3RhcnRpbmcgYXQgU2FmYSBhbmQgZW5kaW5nIGF0IE1hcndhLiBXaGVuIGFwcHJvYWNoaW5nIFNhZmEsIHJlY2l0ZSDigJxJbm5hIGFzLVNhZmEgd2EgYWwtTWFyd2F0YSBtaW4gc2hhyr9h4oCZaXJpIEFsbGFo4oCdIHRoZW4gc2F5IOKAnEFiZGHigJl1IGJpbWEgYmFkYeKAmWEgQWxsYWh1IGJpaGnigJ0uIn0sIHsidCI6ICJPbiBTYWZhIGFuZCBvbiBNYXJ3YSIsICJmciI6ICJUaGVyZSBpcyBubyBnb2QgYnV0IEFsbGFoLCBhbG9uZSwgd2l0aG91dCBwYXJ0bmVyLiBIaXMgaXMgdGhlIGRvbWluaW9uIGFuZCBIaXMgaXMgdGhlIHByYWlzZSwgYW5kIEhlIGhhcyBwb3dlciBvdmVyIGFsbCB0aGluZ3MuIFRoZXJlIGlzIG5vIGdvZCBidXQgQWxsYWggYWxvbmU6IEhlIGZ1bGZpbGxlZCBIaXMgcHJvbWlzZSwgc3VwcG9ydGVkIEhpcyBzZXJ2YW50IGFuZCBkZWZlYXRlZCB0aGUgY29uZmVkZXJhdGVzLCBieSBIaW1zZWxmIGFsb25lLiBUaGVuIG1ha2UgYSBzdXBwbGljYXRpb24sIGFuZCByZXBlYXQgMyB0aW1lcy4ifSwgeyJ0IjogIlVtcmFoOiA1LiBTaGF2aW5nIG9yIHRyaW1taW5nIiwgImZyIjogIk1lbiBzaGF2ZSBvciB0cmltIHRoZWlyIGhhaXIgKHNoYXZpbmcgaXMgcHJlZmVyYWJsZSksIHdvbWVuIGN1dCB0aGUgbGVuZ3RoIG9mIGEgZmluZ2VydGlwLiBUaGUgVW1yYWggaXMgdGhlbiBjb21wbGV0ZS4ifSwgeyJ0IjogIkhhamo6IDggRGh1IGFsLUhpamphaCAoVGFyd2l5YSkiLCAiZnIiOiAiRW50ZXIgaWhyYW0gKGZvciB0aG9zZSBkb2luZyB0YW1hdHR1yr8pIHRoZW4gZ28gdG8gTWluYTogcHJheSBEaHVociwgyr9Bc3IsIE1hZ2hyaWIsIMq\/SXNoYSBhbmQgRmFqciBhdCBNaW5hLiJ9LCB7InQiOiAiSGFqajogOSBEaHUgYWwtSGlqamFoIChBcmFmYWgpIiwgImZyIjogIkFmdGVyIHN1bnJpc2UsIGdvIHRvIMq\/QXJhZmFoLiBEaHVociBhbmQgyr9Bc3IgYXJlIGNvbWJpbmVkIGFuZCBzaG9ydGVuZWQuIFN0YW5kICh3dXF1ZikgdW50aWwgc3Vuc2V0LCBmYWNpbmcgdGhlIHFpYmxhLCBoYW5kcyByYWlzZWQsIG1ha2luZyBzdXBwbGljYXRpb24uIn0sIHsidCI6ICJEaGlrciBvZiB0aGUgZGF5IG9mIMq\/QXJhZmFoIiwgImZyIjogIlRoZXJlIGlzIG5vIGdvZCBidXQgQWxsYWgsIGFsb25lLCB3aXRob3V0IHBhcnRuZXIuIEhpcyBpcyB0aGUgZG9taW5pb24gYW5kIEhpcyBpcyB0aGUgcHJhaXNlLCBhbmQgSGUgaGFzIHBvd2VyIG92ZXIgYWxsIHRoaW5ncy4gVGhpcyBoYWRpdGggbmFycmF0ZWQgYnkgYXQtVGlybWlkaGkgbm8uIDM1ODUgaXMganVkZ2VkIHdlYWsgYnkgc29tZSBzY2hvbGFycyBhbmQgcmV0YWluZWQgYnkgb3RoZXJzOyB0aGUgZGhpa3IgaXRzZWxmIGlzIGNvbmZpcm1lZCBlbHNld2hlcmUgKHNlZSDigJxNb3JuaW5nIGFuZCBldmVuaW5n4oCdKS4iLCAiciI6ICJhdC1UaXJtaWRoaSBuby4gMzU4NSAoZGlzcHV0ZWQgY2hhaW4pIiwgImciOiAiRGlzcHV0ZWQgY2hhaW4ifSwgeyJ0IjogIkhhamo6IG5pZ2h0IGF0IE11emRhbGlmYWgiLCAiZnIiOiAiQWZ0ZXIgc3Vuc2V0LCBsZWF2ZSBjYWxtbHkgZm9yIE11emRhbGlmYWg6IE1hZ2hyaWIgYW5kIMq\/SXNoYSBjb21iaW5lZCwgc3BlbmQgdGhlIG5pZ2h0IHRoZXJlLCBGYWpyLCB0aGVuIHd1cXVmIGF0IGFsLU1hc2jKv2FyIGFsLUhhcmFtIGZhY2luZyB0aGUgcWlibGEsIG1ha2luZyBzdXBwbGljYXRpb24sIHNheWluZyDigJxBbGxhaHUgYWtiYXLigJ0gYW5kIOKAnExhIGlsYWhhIGlsbGEgQWxsYWjigJ0gdW50aWwgdGhlIHNreSBpcyBxdWl0ZSBicmlnaHQuIn0sIHsidCI6ICJIYWpqOiAxMCBEaHUgYWwtSGlqamFoLCBKYW1yYXQgYWwtyr9BcWFiYSIsICJmciI6ICJUaHJvdyA3IHBlYmJsZXMgYXQgdGhlIGxhcmdlIGphbXJhLCBzYXlpbmcg4oCcQWxsYWh1IGFrYmFy4oCdIHdpdGggZWFjaCBwZWJibGUuIFRoZW4gc2FjcmlmaWNlLCBzaGF2aW5nIG9yIHRyaW1taW5nLCBhbmQgdGF3YWYgYWwtaWZhZGEgKHdpdGggc2HKv3kgZm9yIHRhbWF0dHXKvykuIn0sIHsidCI6ICJIYWpqOiAxMSwgMTIgYW5kIDEzIERodSBhbC1IaWpqYWgiLCAiZnIiOiAiU3RvbmluZyBvZiB0aGUgdGhyZWUgamFtYXJhdCBlYWNoIGRheSBhZnRlciB6YXdhbCAoc29sYXIgbm9vbiksIHN0YXJ0aW5nIHdpdGggdGhlIHNtYWxsIG9uZSwgd2l0aCDigJxBbGxhaHUgYWtiYXLigJ0gYXQgZWFjaCBwZWJibGUuIE1ha2Ugc3VwcGxpY2F0aW9uIGZhY2luZyB0aGUgcWlibGEgYWZ0ZXIgdGhlIGZpcnN0IGFuZCB0aGUgc2Vjb25kLiBTdGF5IGF0IE1pbmEuIn0sIHsidCI6ICJUYXdhZiBhbC13YWRhyr8iLCAiZnIiOiAiVGhlIGxhc3QgYWN0IGJlZm9yZSBsZWF2aW5nIE1lY2NhOiBhIGZhcmV3ZWxsIHRhd2FmLiIsICJyIjogIlNlZSB0aGUgZmlxaCBib29rcyBvZiBIYWpqIn1dfSwgInNhY3JpZmljZSI6IHsidCI6ICJTYWNyaWZpY2UgKHNsYXVnaHRlcikiLCAiaW50cm8iOiAiV2hhdCBpcyBzYWlkIHdoZW4gc2xhdWdodGVyaW5nIGFuIGFuaW1hbCwgYW5kIHRoZSBydWxlcyBvZiBnb29kIGNvbmR1Y3QgdG8ga25vdy4iLCAiaXRlbXMiOiBbeyJ0IjogIldoYXQgaXMgc2FpZCBhdCB0aGUgbW9tZW50IG9mIHNsYXVnaHRlciIsICJmciI6ICJJbiB0aGUgbmFtZSBvZiBBbGxhaCwgYW5kIEFsbGFoIGlzIHRoZSBHcmVhdGVzdC4iLCAiciI6ICJNdXNsaW0gbm8uIDE5NjY6IHRoZSBQcm9waGV0IO+3uiBzYWNyaWZpY2VkIHR3byByYW1zIHdpdGggaGlzIG93biBoYW5kcyBzYXlpbmcgdGhpcyAoQW5hcyAocmFkaXlhbGxhaHUgyr9hbmh1KSkifSwgeyJ0IjogIkFza2luZyBmb3IgYWNjZXB0YW5jZSIsICJmciI6ICJPIEFsbGFoLCBhY2NlcHQgZnJvbSBtZS4gVGhlIFByb3BoZXQg77e6IHNhaWQg4oCcQmlzbWlsbGFoLCBBbGxhaHVtbWEgdGFxYWJiYWzigKbigJ0gZm9yIGhpcyBzYWNyaWZpY2UgKE11c2xpbSBuby4gMTk2NykuIFRoZSBmb3JtdWxhIOKAnEFsbGFodW1tYSBtaW5rYSB3YSBsYWth4oCdIG5hcnJhdGVkIGJ5IEFidSBEYXd1ZCBuby4gMjc5NSBpcyBqdWRnZWQgd2VhayBieSBhbC1BbGJhbmksIHdlIGRvIG5vdCByZXRhaW4gaXQuIn0sIHsidCI6ICJUZWFjaGluZyAxOiBraW5kbmVzcyAoaWhzYW4pIiwgImZyIjogIlRoZSBQcm9waGV0IO+3uiBzYWlkOiDigJxBbGxhaCBoYXMgcHJlc2NyaWJlZCBraW5kbmVzcyBpbiBldmVyeXRoaW5nLiBXaGVuIHlvdSBraWxsLCBraWxsIHdpdGgga2luZG5lc3M7IHdoZW4geW91IHNsYXVnaHRlciwgc2xhdWdodGVyIHdpdGgga2luZG5lc3MuIExldCBlYWNoIG9mIHlvdSBzaGFycGVuIGhpcyBibGFkZSBhbmQgZWFzZSB0aGUgYW5pbWFsLuKAnSBTY2hvbGFycyBkZWR1Y2U6IGEgd2VsbC1zaGFycGVuZWQga25pZmUsIGEgc3dpZnQgbW90aW9uLCBhdm9pZGluZyBjYXVzaW5nIHRoZSBhbmltYWwgc3VmZmVyaW5nIG9yIGZlYXIuIn0sIHsidCI6ICJUZWFjaGluZyAyOiBtZW50aW9uaW5nIHRoZSBuYW1lIG9mIEFsbGFoIiwgImZyIjogIlRoZSBuYW1lIG9mIEFsbGFoIGlzIHByb25vdW5jZWQgYXQgZWFjaCBzbGF1Z2h0ZXIsIG90aGVyd2lzZSB0aGUgbWVhdCBpcyBub3QgbGF3ZnVsLiJ9LCB7InQiOiAiVGVhY2hpbmcgMzogdGltaW5nLCBmb3IgRWlkIiwgImZyIjogIlRoZSBFaWQgc2FjcmlmaWNlIGlzIG1hZGUgYWZ0ZXIgdGhlIEVpZCBwcmF5ZXIuIFdoYXQgaXMgc2xhdWdodGVyZWQgYmVmb3JlIGlzIG1lcmVseSBvcmRpbmFyeSBtZWF0IGZvciB0aGUgZmFtaWx5IGFuZCBub3QgYSBzYWNyaWZpY2UuIn0sIHsidCI6ICJUZWFjaGluZyA0OiBzaGFyaW5nIiwgImZyIjogIk9uZSBlYXRzIGZyb20gdGhlIHNhY3JpZmljZSwgZ2l2ZXMgdG8gcmVsYXRpdmVzIGFuZCBnaXZlcyB0byB0aGUgcG9vcjog4oCcZWF0IG9mIGl0IGFuZCBmZWVkIHRoZSBvbmUgd2hvIGRvZXMgbm90IGFzayBhbmQgdGhlIG9uZSB3aG8gYmVnc+KAnS4ifSwgeyJ0IjogIlByYWN0aWNhbCByZW1pbmRlcnMiLCAiZnIiOiAiQSBzb3VuZCwgaGVhbHRoeSBhbmltYWwgb2YgdGhlIHJlcXVpcmVkIGFnZTsgc2xhdWdodGVyIHRoYXQgY3V0cyB0aGUgdGhyb2F0LCB0aGUgd2luZHBpcGUsIHRoZSBvZXNvcGhhZ3VzIGFuZCB0aGUgdmVzc2VsczsgdGhlIGFuaW1hbCBpcyBhbGl2ZSwgYW5kIHByZWZlcmFibHkgZmFjaW5nIHRoZSBxaWJsYS4gRm9yIGEgc3BlY2lmaWMgY2FzZSAoYWdlLCBkZWZlY3RzLCBzaGFyZWQgc2FjcmlmaWNlKSwgY29uc3VsdCBhIHNjaG9sYXIgb3IgYSB0cmFpbmVkIHNsYXVnaHRlcm1hbi4iLCAiciI6ICJGaXFoOiB0byBiZSBjb25maXJtZWQgd2l0aCBhIHNjaG9sYXIifV19LCAicmFiYmFuYSI6IHsidCI6ICJUaGUgNDAgUmFiYmFuYSIsICJpbnRybyI6ICJGb3J0eSBzdXBwbGljYXRpb25zIGZyb20gdGhlIFF1cmFuLCBtb3N0IG9mIHRoZW0gYmVnaW5uaW5nIHdpdGgg4oCcUmFiYmFuYeKAnSAoT3VyIExvcmQpLiBUaGUgZnVsbCB2ZXJzZSBlYWNoIHRpbWUuIiwgIml0ZW1zIjogW3sidCI6ICIxLiBBY2NlcHQgZnJvbSB1cyJ9LCB7InQiOiAiMi4gU3VibWlzc2lvbiBhbmQgZm9yZ2l2ZW5lc3MifSwgeyJ0IjogIjMuIEdvb2QgaW4gdGhpcyB3b3JsZCBhbmQgaW4gdGhlIEhlcmVhZnRlciJ9LCB7InQiOiAiNC4gUGF0aWVuY2UgYW5kIHN0ZWFkZmFzdG5lc3MifSwgeyJ0IjogIjUuIFdlIGhlYXJkIGFuZCBvYmV5ZWQifSwgeyJ0IjogIjYuIERvIG5vdCBidXJkZW4gdXMgYmV5b25kIG91ciBzdHJlbmd0aCJ9LCB7InQiOiAiNy4gRG8gbm90IGxldCBvdXIgaGVhcnRzIGRldmlhdGUifSwgeyJ0IjogIjguIFRoZSBEYXkgb2YgR2F0aGVyaW5nIn0sIHsidCI6ICI5LiBGb3JnaXZlIHVzIG91ciBzaW5zIn0sIHsidCI6ICIxMC4gV3JpdGUgdXMgYW1vbmcgdGhlIHdpdG5lc3NlcyJ9LCB7InQiOiAiMTEuIEZvcmdpdmVuZXNzLCBzdGVhZGZhc3RuZXNzIGFuZCB2aWN0b3J5In0sIHsidCI6ICIxMi4gUHJvdGVjdCB1cyBmcm9tIHRoZSBwdW5pc2htZW50IG9mIHRoZSBGaXJlIn0sIHsidCI6ICIxMy4gV2hvZXZlciBZb3UgYWRtaXQgaW50byB0aGUgRmlyZSJ9LCB7InQiOiAiMTQuIFdlIGJlbGlldmVkOiBmb3JnaXZlIHVzIn0sIHsidCI6ICIxNS4gRnVsZmlsIFlvdXIgcHJvbWlzZSJ9LCB7InQiOiAiMTYuIFdlIGJlbGlldmVkIn0sIHsidCI6ICIxNy4gQSB0YWJsZSBzcHJlYWQifSwgeyJ0IjogIjE4LiBXZSBoYXZlIHdyb25nZWQgb3Vyc2VsdmVzIn0sIHsidCI6ICIxOS4gRG8gbm90IHBsYWNlIHVzIGFtb25nIHRoZSB3cm9uZ2RvZXJzIn0sIHsidCI6ICIyMC4gSnVkZ2UgYmV0d2VlbiB1cyB3aXRoIHRydXRoIn0sIHsidCI6ICIyMS4gUG91ciBvdXQgcGF0aWVuY2UgdXBvbiB1cyJ9LCB7InQiOiAiMjIuIERvIG5vdCBtYWtlIHVzIGEgdHJpYWwgZm9yIHRoZSB3cm9uZ2RvZXJzIn0sIHsidCI6ICIyMy4gU2F2ZSB1cyBmcm9tIHRoZSBkaXNiZWxpZXZlcnMifSwgeyJ0IjogIjI0LiBNeSBkZXNjZW5kYW50cyBuZWFyIHRoZSBTYWNyZWQgSG91c2UifSwgeyJ0IjogIjI1LiBZb3Uga25vdyB3aGF0IHdlIGNvbmNlYWwifSwgeyJ0IjogIjI2LiBTdGVhZGZhc3QgaW4gcHJheWVyIn0sIHsidCI6ICIyNy4gRm9yZ2l2ZSBtZSwgbXkgcGFyZW50cyBhbmQgdGhlIGJlbGlldmVycyJ9LCB7InQiOiAiMjguIE1lcmN5IGFuZCByaWdodCBndWlkYW5jZSJ9LCB7InQiOiAiMjkuIFdlIGJlbGlldmVkOiBmb3JnaXZlIHVzIGFuZCBoYXZlIG1lcmN5IG9uIHVzIn0sIHsidCI6ICIzMC4gVHVybiBhd2F5IGZyb20gdXMgdGhlIHB1bmlzaG1lbnQgb2YgSGVsbCJ9LCB7InQiOiAiMzEuIFNwb3VzZXMgYW5kIGNoaWxkcmVuLCBhIGRlbGlnaHQgdG8gdGhlIGV5ZXMifSwgeyJ0IjogIjMyLiBZb3VyIG1lcmN5IGFuZCBrbm93bGVkZ2UgZW5jb21wYXNzIGFsbCB0aGluZ3MifSwgeyJ0IjogIjMzLiBUaGUgR2FyZGVucyBvZiBFZGVuIn0sIHsidCI6ICIzNC4gRm9yZ2l2ZSBvdXIgYnJvdGhlcnMsIHdpdGggbm8gcmFuY291ciJ9LCB7InQiOiAiMzUuIEluIFlvdSB3ZSBwbGFjZSBvdXIgdHJ1c3QifSwgeyJ0IjogIjM2LiBEbyBub3QgbWFrZSB1cyBhIHRyaWFsIGZvciB0aGUgZGlzYmVsaWV2ZXJzIn0sIHsidCI6ICIzNy4gUGVyZmVjdCBvdXIgbGlnaHQgZm9yIHVzIn0sIHsidCI6ICIzOC4gRm9yIG15IHBhcmVudHMifSwgeyJ0IjogIjM5LiBJbmNyZWFzZSBteSBrbm93bGVkZ2UifSwgeyJ0IjogIjQwLiBGb3JnaXZlIGFuZCBoYXZlIG1lcmN5In1dfX07CnZhciBWSF9FTj17IlbDqXJpZmllciI6ICJWZXJpZnkiLCAiQXV0b3VyIjogIk5lYXJieSIsICJQcmnDqHJlIjogIlByYXllciIsICJDb3JhbiI6ICJRdXJhbiIsICJEb3VhIjogIkR1YXMiLCAiUmFwcGVscyI6ICJSZW1pbmRlcnMiLCAiSGFsYWwgQ8O0dGUgZOKAmUl2b2lyZSDCtyBvcmdhbmlzbWUgZGUgY2VydGlmaWNhdGlvbiI6ICJIYWxhbCBDw7R0ZSBk4oCZSXZvaXJlIMK3IGNlcnRpZmljYXRpb24gYm9keSIsICJIYWxhbCBDw7R0ZSBk4oCZSXZvaXJlIjogIkhhbGFsIEPDtHRlIGTigJlJdm9pcmUiLCAiVsOpcmlmaWVyIHVuIHByb2R1aXQgaGFsYWwsIHRyb3V2ZXIgbGVzIMOpdGFibGlzc2VtZW50cyBjZXJ0aWZpw6lzLCBob3JhaXJlcyBkZSBwcmnDqHJlIGV0IENvcmFuLiI6ICJDaGVjayBhIGhhbGFsIHByb2R1Y3QsIGZpbmQgY2VydGlmaWVkIGJ1c2luZXNzZXMsIHByYXllciB0aW1lcyBhbmQgUXVyYW4uIiwgIlNlY3Rpb25zIjogIlNlY3Rpb25zIiwgIk91dnJleiBjZXR0ZSBwYWdlIGRhbnMiOiAiT3BlbiB0aGlzIHBhZ2UgaW4iLCAiKHBhcyBkYW5zIEZhY2Vib29rIG91IFdoYXRzQXBwKS4iOiAiKG5vdCBpbnNpZGUgRmFjZWJvb2sgb3IgV2hhdHNBcHApLiIsICJUb3VjaGV6IGxlIGJvdXRvbiI6ICJUYXAgdGhlIiwgIlBhcnRhZ2VyIjogIlNoYXJlIiwgIihsZSBjYXJyw6kgYXZlYyB1bmUgZmzDqGNoZSB2ZXJzIGxlIGhhdXQpIGVuIGJhcyBkZSBs4oCZw6ljcmFuLiI6ICJidXR0b24gKHRoZSBzcXVhcmUgd2l0aCBhbiBhcnJvdyBwb2ludGluZyB1cCkgYXQgdGhlIGJvdHRvbSBvZiB0aGUgc2NyZWVuLiIsICJGYWl0ZXMgZMOpZmlsZXIgZXQgdG91Y2hleiI6ICJTY3JvbGwgZG93biBhbmQgdGFwIiwgIlN1ciBs4oCZw6ljcmFuIGTigJlhY2N1ZWlsIjogIkFkZCB0byBIb21lIFNjcmVlbiIsICJUb3VjaGV6IjogIlRhcCIsICJBam91dGVyIjogIkFkZCIsICIuIEzigJlpY8O0bmUgVsOpcmlm4oCZSGFsYWwgYXBwYXJhw650IHBhcm1pIHZvcyBhcHBsaWNhdGlvbnMuIjogIi4gVGhlIFbDqXJpZuKAmUhhbGFsIGljb24gYXBwZWFycyBhbW9uZyB5b3VyIGFwcHMuIiwgIlN1ciBpUGhvbmUgZXQgaVBhZCwgbOKAmWluc3RhbGxhdGlvbiBzZSBmYWl0IGRlcHVpcyI6ICJPbiBpUGhvbmUgYW5kIGlQYWQsIGluc3RhbGxhdGlvbiBpcyBkb25lIGZyb20iLCAiU3VyIEFuZHJvaWQsIGzigJlpbnN0YWxsYXRpb24gc2UgZmFpdCBkZXB1aXMiOiAiT24gQW5kcm9pZCwgaW5zdGFsbGF0aW9uIGlzIGRvbmUgZnJvbSIsICJUb3VjaGV6IGxlIG1lbnUiOiAiVGFwIHRoZSIsICJlbiBoYXV0IMOgIGRyb2l0ZS4iOiAibWVudSBhdCB0aGUgdG9wIHJpZ2h0LiIsICJJbnN0YWxsZXIgbOKAmWFwcGxpY2F0aW9uIjogIkluc3RhbGwgYXBwIiwgIm91IjogIm9yIiwgIkFqb3V0ZXIgw6AgbOKAmcOpY3JhbiBk4oCZYWNjdWVpbCI6ICJBZGQgdG8gSG9tZSBzY3JlZW4iLCAiQ29uZmlybWV6LiBM4oCZaWPDtG5lIFbDqXJpZuKAmUhhbGFsIGFwcGFyYcOudCBwYXJtaSB2b3MgYXBwbGljYXRpb25zLiI6ICJDb25maXJtLiBUaGUgVsOpcmlm4oCZSGFsYWwgaWNvbiBhcHBlYXJzIGFtb25nIHlvdXIgYXBwcy4iLCAiQXZlYyBDaHJvbWUsIEVkZ2Ugb3UgU2FmYXJpLCBvdXZyZXogbGUgbWVudSBkdSBuYXZpZ2F0ZXVyIGV0IGNob2lzaXNzZXoiOiAiV2l0aCBDaHJvbWUsIEVkZ2Ugb3IgU2FmYXJpLCBvcGVuIHRoZSBicm93c2VyIG1lbnUgYW5kIGNob29zZSIsICIuIFN1ciB0w6lsw6lwaG9uZSwgbOKAmWFwcGxpIHPigJlvdXZyZSBlbnN1aXRlIGVuIHBsZWluIMOpY3JhbiwgY29tbWUgdW5lIGFwcGxpY2F0aW9uLiI6ICIuIE9uIGEgcGhvbmUsIHRoZSBhcHAgdGhlbiBvcGVucyBmdWxsIHNjcmVlbiwgbGlrZSBhbiBhcHAuIiwgIkluc3RhbGxlciBs4oCZYXBwbGkiOiAiSW5zdGFsbCB0aGUgYXBwIiwgIkluc3RhbGxleiBWw6lyaWbigJlIYWxhbCBDSSI6ICJJbnN0YWxsIFbDqXJpZuKAmUhhbGFsIENJIiwgIkFjY8OocyBkaXJlY3QgZGVwdWlzIHZvdHJlIMOpY3JhbiBk4oCZYWNjdWVpbCI6ICJRdWljayBhY2Nlc3MgZnJvbSB5b3VyIGhvbWUgc2NyZWVuIiwgIkluc3RhbGxlciI6ICJJbnN0YWxsIiwgIk1hc3F1ZXIiOiAiSGlkZSIsICJQb2xpdGlxdWUgZGUgY29uZmlkZW50aWFsaXTDqSI6ICJQcml2YWN5IHBvbGljeSIsICJOb3V2ZWxsZSB2ZXJzaW9uIGRpc3BvbmlibGUiOiAiTmV3IHZlcnNpb24gYXZhaWxhYmxlIiwgIkFjdHVhbGlzZXogcG91ciBwcm9maXRlciBkZXMgbm91dmVhdXTDqXMiOiAiUmVmcmVzaCB0byBlbmpveSB0aGUgbmV3IGZlYXR1cmVzIiwgIkFjdHVhbGlzZXIiOiAiUmVmcmVzaCIsICJQb3NpdGlvbiBpbmRpc3BvbmlibGUgc3VyIGNldCBhcHBhcmVpbCI6ICJMb2NhdGlvbiB1bmF2YWlsYWJsZSBvbiB0aGlzIGRldmljZSIsICJNYSBwb3NpdGlvbiI6ICJNeSBsb2NhdGlvbiIsICJQb3NpdGlvbiByZWZ1c8OpZSA6IEFiaWRqYW4gYWZmaWNow6llIHBhciBkw6lmYXV0IjogIkxvY2F0aW9uIGRlbmllZDogc2hvd2luZyBBYmlkamFuIGJ5IGRlZmF1bHQiLCAiQ8O0dGUgZCdJdm9pcmUiOiAiQ8O0dGUgZCdJdm9pcmUiLCAiU8OpbsOpZ2FsIjogIlNlbmVnYWwiLCAiQnVya2luYSBGYXNvIjogIkJ1cmtpbmEgRmFzbyIsICJCw6luaW4iOiAiQmVuaW4iLCAiR3VpbsOpZSI6ICJHdWluZWEiLCAiQXV0cmUgcGF5cyI6ICJPdGhlciBjb3VudHJ5IiwgIkRlbWFuZGUgZGUgY2VydGlmaWNhdGlvbiI6ICJDZXJ0aWZpY2F0aW9uIHJlcXVlc3QiLCAiVW5lIGNvdGF0aW9uIGdyYXR1aXRlIGV0IHNhbnMgZW5nYWdlbWVudCwgb3UgbGEgY2VydGlmaWNhdGlvbiBkZSB2b3RyZSBlbnRyZXByaXNlLiBSw6lwb25zZSBzb3VzIDQ4IGggb3V2csOpZXMuIjogIkEgZnJlZSwgbm8tb2JsaWdhdGlvbiBxdW90ZSwgb3IgdGhlIGNlcnRpZmljYXRpb24gb2YgeW91ciBjb21wYW55LiBSZXBseSB3aXRoaW4gNDggYnVzaW5lc3MgaG91cnMuIiwgIk1lcmNpLiBWb3RyZSBkZW1hbmRlIGVzdCB0cmFuc21pc2Ugw6Agbm9zIGF1ZGl0ZXVycywgaWxzIHZvdXMgcsOpcG9uZGVudCBzb3VzIDQ4IGggb3V2csOpZXMuIjogIlRoYW5rIHlvdS4gWW91ciByZXF1ZXN0IGhhcyBiZWVuIHNlbnQgdG8gb3VyIGF1ZGl0b3JzLCB3aG8gd2lsbCByZXBseSB3aXRoaW4gNDggYnVzaW5lc3MgaG91cnMuIiwgIlZvdHJlIGRlbWFuZGUiOiAiWW91ciByZXF1ZXN0IiwgIlVuZSBjb3RhdGlvbiBncmF0dWl0ZSBldCBzYW5zIGVuZ2FnZW1lbnQiOiAiQSBmcmVlLCBuby1vYmxpZ2F0aW9uIHF1b3RlIiwgIkxhIGNlcnRpZmljYXRpb24gZGUgbW9uIGVudHJlcHJpc2UiOiAiQ2VydGlmaWNhdGlvbiBvZiBteSBjb21wYW55IiwgIlJhaXNvbiBzb2NpYWxlIGRlIGwnZW50cmVwcmlzZSI6ICJDb21wYW55IG5hbWUiLCAiTm9tIGV0IGZvbmN0aW9uIGR1IHJlc3BvbnNhYmxlIjogIk5hbWUgYW5kIHBvc2l0aW9uIG9mIHRoZSBtYW5hZ2VyIiwgIlTDqWzDqXBob25lIC8gV2hhdHNBcHAiOiAiUGhvbmUgLyBXaGF0c0FwcCIsICJFLW1haWwiOiAiRW1haWwiLCAiUGF5cyI6ICJDb3VudHJ5IiwgIlNlY3RldXIgZCdhY3Rpdml0w6kiOiAiQnVzaW5lc3Mgc2VjdG9yIiwgIkFncm9hbGltZW50YWlyZSI6ICJGb29kIHByb2Nlc3NpbmciLCAiQWJhdHRvaXIgLyBib3VjaGVyaWUiOiAiU2xhdWdodGVyaG91c2UgLyBidXRjaGVyIiwgIlJlc3RhdXJhdGlvbiI6ICJDYXRlcmluZyIsICJDb3Ntw6l0aXF1ZSI6ICJDb3NtZXRpY3MiLCAiUGhhcm1hY2llIjogIlBoYXJtYWN5IiwgIkxvZ2lzdGlxdWUgLyBjaGHDrm5lIGR1IGZyb2lkIjogIkxvZ2lzdGljcyAvIGNvbGQgY2hhaW4iLCAiVG91cmlzbWUgLyBow7R0ZWxsZXJpZSI6ICJUb3VyaXNtIC8gaG9zcGl0YWxpdHkiLCAiQXV0cmUiOiAiT3RoZXIiLCAiUHJvZHVpdHMgb3UgYWN0aXZpdMOpcyDDoCBjZXJ0aWZpZXIiOiAiUHJvZHVjdHMgb3IgYWN0aXZpdGllcyB0byBjZXJ0aWZ5IiwgIk1lc3NhZ2UgKGZhY3VsdGF0aWYpIjogIk1lc3NhZ2UgKG9wdGlvbmFsKSIsICJEZW1hbmRlIGRlIGZvcm1hdGlvbiI6ICJUcmFpbmluZyByZXF1ZXN0IiwgIkZvcm1hdGlvbiBoYWxhbCBwb3VyIHZvdHJlIGVudHJlcHJpc2UsIHN1ciBzaXRlIG91IGRhbnMgbm9zIGxvY2F1eC4iOiAiSGFsYWwgdHJhaW5pbmcgZm9yIHlvdXIgY29tcGFueSwgb24gc2l0ZSBvciBhdCBvdXIgcHJlbWlzZXMuIiwgIk1lcmNpLiBWb3RyZSBkZW1hbmRlIGRlIGZvcm1hdGlvbiBlc3QgdHJhbnNtaXNlLCBub3VzIHZvdXMgcmVjb250YWN0b25zIHRyw6hzIHZpdGUuIjogIlRoYW5rIHlvdS4gWW91ciB0cmFpbmluZyByZXF1ZXN0IGhhcyBiZWVuIHNlbnQsIHdlIHdpbGwgZ2V0IGJhY2sgdG8geW91IHZlcnkgc29vbi4iLCAiVGjDqG1lIGRlIGZvcm1hdGlvbiI6ICJUcmFpbmluZyB0b3BpYyIsICJUcm9uYyBjb21tdW4gOiBmb25kYW1lbnRhdXggZHUgaGFsYWwgZXQgY2VydGlmaWNhdGlvbiI6ICJDb3JlIG1vZHVsZTogaGFsYWwgZnVuZGFtZW50YWxzIGFuZCBjZXJ0aWZpY2F0aW9uIiwgIkFncm9hbGltZW50YWlyZSAoZG9udCBjYWpvdSkiOiAiRm9vZCBwcm9jZXNzaW5nIChpbmNsdWRpbmcgY2FzaGV3KSIsICJWaWFuZGVzIGV0IGJvdWNoZXJpZSI6ICJNZWF0IGFuZCBidXRjaGVyeSIsICJSZXN0YXVyYXRpb24sIGjDtHRlbGxlcmllIGV0IGNhdGVyaW5nIjogIkNhdGVyaW5nLCBob3NwaXRhbGl0eSBhbmQgZm9vZCBzZXJ2aWNlIiwgIlByb2dyYW1tZSBzdXIgbWVzdXJlIC8gw6AgZMOpZmluaXIgZW5zZW1ibGUiOiAiVGFpbG9yLW1hZGUgcHJvZ3JhbW1lIC8gdG8gYmUgZGVmaW5lZCB0b2dldGhlciIsICJQdWJsaWMgY29uY2VybsOpIjogIkF1ZGllbmNlIiwgIkRpcmlnZWFudHMiOiAiRXhlY3V0aXZlcyIsICJSZXNwb25zYWJsZXMgcXVhbGl0w6kgLyDDqXF1aXBlIGhhbGFsIjogIlF1YWxpdHkgbWFuYWdlcnMgLyBoYWxhbCB0ZWFtIiwgIk9ww6lyYXRldXJzIGRlIHByb2R1Y3Rpb24iOiAiUHJvZHVjdGlvbiBvcGVyYXRvcnMiLCAiU2FjcmlmaWNhdGV1cnMiOiAiU2xhdWdodGVybWVuIiwgIk5vbWJyZSBkZSBwYXJ0aWNpcGFudHMiOiAiTnVtYmVyIG9mIHBhcnRpY2lwYW50cyIsICJQw6lyaW9kZSBzb3VoYWl0w6llIjogIlByZWZlcnJlZCBwZXJpb2QiLCAiTGlldSI6ICJMb2NhdGlvbiIsICJQcsOpY2lzaW9ucyAoZmFjdWx0YXRpZikiOiAiRGV0YWlscyAob3B0aW9uYWwpIiwgIlBvc2VyIHVuZSBxdWVzdGlvbiI6ICJBc2sgYSBxdWVzdGlvbiIsICJVbmUgcXVlc3Rpb24gc3VyIGxhIGNlcnRpZmljYXRpb24sIHVuIHByb2R1aXQsIHVuZSBmb3JtYXRpb24gPyDDiWNyaXZlei1ub3VzLiI6ICJBIHF1ZXN0aW9uIGFib3V0IGNlcnRpZmljYXRpb24sIGEgcHJvZHVjdCBvciBhIHRyYWluaW5nPyBXcml0ZSB0byB1cy4iLCAiTWVyY2kuIFZvdHJlIG1lc3NhZ2UgZXN0IGJpZW4gcmXDp3UsIG5vdXMgdm91cyByw6lwb25kb25zIHJhcGlkZW1lbnQuIjogIlRoYW5rIHlvdS4gWW91ciBtZXNzYWdlIGhhcyBiZWVuIHJlY2VpdmVkLCB3ZSB3aWxsIHJlcGx5IHNob3J0bHkuIiwgIlZvdHJlIG5vbSI6ICJZb3VyIG5hbWUiLCAiVm90cmUgZS1tYWlsIjogIllvdXIgZW1haWwiLCAiT2JqZXQiOiAiU3ViamVjdCIsICJWb3RyZSBtZXNzYWdlIjogIllvdXIgbWVzc2FnZSIsICJWw6lyaWZpZXIgb3Ugc2lnbmFsZXIgdW4gcHJvZHVpdCI6ICJDaGVjayBvciByZXBvcnQgYSBwcm9kdWN0IiwgIkVudm95ZXotbm91cyBsYSBwaG90byBkdSBwcm9kdWl0IDogbm91cyB2w6lyaWZpb25zIHPigJlpbCBlc3QgY2VydGlmacOpIGV0IG5vdXMgdm91cyByw6lwb25kb25zLiBTaSBsZSBzY2VhdSBmaWd1cmUgc3VyIHVuIHByb2R1aXQgYWJzZW50IGR1IHJlZ2lzdHJlLCBkaXRlcy1sZS1ub3VzLiI6ICJTZW5kIHVzIGEgcGhvdG8gb2YgdGhlIHByb2R1Y3Q6IHdlIGNoZWNrIHdoZXRoZXIgaXQgaXMgY2VydGlmaWVkIGFuZCByZXBseSB0byB5b3UuIElmIHRoZSBzZWFsIGFwcGVhcnMgb24gYSBwcm9kdWN0IG1pc3NpbmcgZnJvbSB0aGUgcmVnaXN0ZXIsIGxldCB1cyBrbm93LiIsICJNZXJjaS4gVm90cmUgcGhvdG8gZXQgdm9zIGluZm9ybWF0aW9ucyBzb250IHRyYW5zbWlzZXMgw6Agbm90cmUgw6lxdWlwZSwgcXVpIHZvdXMgcsOpcG9uZCBhcHLDqHMgdsOpcmlmaWNhdGlvbi4iOiAiVGhhbmsgeW91LiBZb3VyIHBob3RvIGFuZCBkZXRhaWxzIGhhdmUgYmVlbiBzZW50IHRvIG91ciB0ZWFtLCB3aG8gd2lsbCByZXBseSBhZnRlciBjaGVja2luZy4iLCAiTm9tIGR1IHByb2R1aXQiOiAiUHJvZHVjdCBuYW1lIiwgIk1hcnF1ZSBvdSBmYWJyaWNhbnQiOiAiQnJhbmQgb3IgbWFudWZhY3R1cmVyIiwgIkxpZXUgZCdhY2hhdCI6ICJQbGFjZSBvZiBwdXJjaGFzZSIsICJFeC4gOiBtYXJjaMOpIGRlIFRyZWljaHZpbGxlIjogIkUuZy4gVHJlaWNodmlsbGUgbWFya2V0IiwgIlBob3RvIGRlIGzigJllbWJhbGxhZ2UgKGZhY2UgKyBpbmdyw6lkaWVudHMpIjogIlBob3RvIG9mIHRoZSBwYWNrYWdpbmcgKGZyb250ICsgaW5ncmVkaWVudHMpIiwgIlTDqWzDqXBob25lIC8gV2hhdHNBcHAgKHBvdXIgbGEgcsOpcG9uc2UpIjogIlBob25lIC8gV2hhdHNBcHAgKGZvciBvdXIgcmVwbHkpIiwgIlByw6ljaXNpb25zIjogIkRldGFpbHMiLCAiRXguIDogbGUgc2NlYXUgZmlndXJlIHN1ciBs4oCZZW1iYWxsYWdlLCBtYWlzIGplIG5lIHRyb3V2ZSBwYXMgbOKAmWVudHJlcHJpc2UgZGFucyBsZSByZWdpc3RyZSI6ICJFLmcuIHRoZSBzZWFsIGlzIG9uIHRoZSBwYWNrYWdpbmcsIGJ1dCBJIGNhbuKAmXQgZmluZCB0aGUgY29tcGFueSBpbiB0aGUgcmVnaXN0ZXIiLCAiRmVybWVyIjogIkNsb3NlIiwgIkVudm95ZXIiOiAiU2VuZCIsICJFbnZvaSBlbiBjb3Vyc+KApiI6ICJTZW5kaW5n4oCmIiwgIk5vdXMgw6ljcmlyZSBhdXNzaSBzdXIgV2hhdHNBcHAiOiAiQWxzbyB3cml0ZSB0byB1cyBvbiBXaGF0c0FwcCIsICJM4oCZZW52b2kgYSDDqWNob3XDqS4gUsOpZXNzYXlleiBvdSBhcHBlbGV6IGxlIjogIlNlbmRpbmcgZmFpbGVkLiBUcnkgYWdhaW4gb3IgY2FsbCIsICJQYXMgZGUgY29ubmV4aW9uLiBSw6llc3NheWV6IG91IGFwcGVsZXogbGUiOiAiTm8gY29ubmVjdGlvbi4gVHJ5IGFnYWluIG9yIGNhbGwiLCAiTm91cyBjb250YWN0ZXIiOiAiQ29udGFjdCB1cyIsICJIYWxhbCBDw7R0ZSBk4oCZSXZvaXJlLCBkdSBsdW5kaSBhdSB2ZW5kcmVkaSBkZSA4aCDDoCAxOGguIjogIkhhbGFsIEPDtHRlIGTigJlJdm9pcmUsIE1vbmRheSB0byBGcmlkYXksIDggYW0gdG8gNiBwbS4iLCAiRGVtYW5kZXIgdW5lIGNlcnRpZmljYXRpb24iOiAiUmVxdWVzdCBhIGNlcnRpZmljYXRpb24iLCAiQ290YXRpb24gZ3JhdHVpdGUsIHNhbnMgZW5nYWdlbWVudCI6ICJGcmVlIHF1b3RlLCBubyBvYmxpZ2F0aW9uIiwgIkRlbWFuZGVyIHVuZSBmb3JtYXRpb24iOiAiUmVxdWVzdCBhIHRyYWluaW5nIiwgIlBvdXIgdm9zIMOpcXVpcGVzIGV0IGRpcmlnZWFudHMiOiAiRm9yIHlvdXIgdGVhbXMgYW5kIGV4ZWN1dGl2ZXMiLCAiRW52b3lleiB1bmUgcGhvdG8iOiAiU2VuZCBhIHBob3RvIiwgIsOJY3JpdmV6LW5vdXMiOiAiV3JpdGUgdG8gdXMiLCAiV2hhdHNBcHAiOiAiV2hhdHNBcHAiLCAiTGFiZWwgSGFsYWwgQ0kiOiAiSGFsYWwgQ0kgbGFiZWwiLCAiQ2VydGlmacOpIHBhciBIYWxhbCBDSSI6ICJDZXJ0aWZpZWQgYnkgSGFsYWwgQ0kiLCAiQ2VydGlmaWNhdCBleHBpcsOpIG91IG5vbiB2YWxpZGUiOiAiQ2VydGlmaWNhdGUgZXhwaXJlZCBvciBpbnZhbGlkIiwgIkVudHJlcHJpc2UiOiAiQ29tcGFueSIsICJDZXJ0aWZpY2F0IG7CsCI6ICJDZXJ0aWZpY2F0ZSBuby4iLCAiRMOpbGl2csOpIGxlIjogIklzc3VlZCBvbiIsICJWYWxhYmxlIGp1c3F14oCZYXUiOiAiVmFsaWQgdW50aWwiLCAiRXhwaXLDqSBsZSI6ICJFeHBpcmVkIG9uIiwgIkNlIGNlcnRpZmljYXQgbuKAmWVzdCBwbHVzIGVuIGNvdXJzIGRlIHZhbGlkaXTDqS4gTGVzIHByb2R1aXRzIGRlIGNldHRlIGVudHJlcHJpc2UgbmUgZG9pdmVudCBwYXMgw6p0cmUgY29uc2lkw6lyw6lzIGNvbW1lIGNlcnRpZmnDqXMgdGFudCBxdeKAmWlsIG7igJllc3QgcGFzIHJlbm91dmVsw6kuIjogIlRoaXMgY2VydGlmaWNhdGUgaXMgbm8gbG9uZ2VyIHZhbGlkLiBUaGlzIGNvbXBhbnnigJlzIHByb2R1Y3RzIG11c3Qgbm90IGJlIGNvbnNpZGVyZWQgY2VydGlmaWVkIHVudGlsIGl0IGlzIHJlbmV3ZWQuIiwgIlZvaXIgbGUgY2VydGlmaWNhdCBvZmZpY2llbCI6ICJWaWV3IHRoZSBvZmZpY2lhbCBjZXJ0aWZpY2F0ZSIsICJNYXJxdWUiOiAiQnJhbmQiLCAiT3JpZ2luZSI6ICJPcmlnaW4iLCAiQ2VydGlmaWNhdCI6ICJDZXJ0aWZpY2F0ZSIsICJWb3VzIG5lIGxlIHRyb3V2ZXogcGFzID8iOiAiQ2Fu4oCZdCBmaW5kIGl0PyIsICJFbnZveWV6LW5vdXMgdW5lIHBob3RvIGR1IHByb2R1aXQuIE5vdXMgdsOpcmlmaW9ucyBldCBub3VzIHZvdXMgcsOpcG9uZG9ucy4iOiAiU2VuZCB1cyBhIHBob3RvIG9mIHRoZSBwcm9kdWN0LiBXZSBjaGVjayBhbmQgcmVwbHkgdG8geW91LiIsICJQaG90b2dyYXBoaWVyIGxlIHByb2R1aXQiOiAiUGhvdG9ncmFwaCB0aGUgcHJvZHVjdCIsICJhdXRyZShzKSByw6lzdWx0YXQocykgOiBwcsOpY2lzZXogdm90cmUgcmVjaGVyY2hlLiI6ICJtb3JlIHJlc3VsdChzKTogcmVmaW5lIHlvdXIgc2VhcmNoLiIsICJBdWN1biI6ICJOb25lIiwgIisxIGpvdXIiOiAiKzEgZGF5IiwgIuKIkjEgam91ciI6ICLiiJIxIGRheSIsICJBdWN1biByw6lzdWx0YXQgZGFucyBsZSByZWdpc3RyZSI6ICJObyByZXN1bHQgaW4gdGhlIHJlZ2lzdGVyIiwgIsK7IG5lIGZpZ3VyZSBwYXMgcGFybWkgbGVzIGVudHJlcHJpc2VzIGV0IHByb2R1aXRzIGNlcnRpZmnDqXMgcGFyIEhhbGFsIENJLiBDZWxhIG5lIHZldXQgcGFzIGRpcmUgcXVlIGxlIHByb2R1aXQgZXN0IGhhcmFtIDogaWwgbuKAmWVzdCBzaW1wbGVtZW50IHBhcyBjZXJ0aWZpw6kgcGFyIG5vdXMuIFbDqXJpZmlleiBsZSBzY2VhdSBzdXIgbOKAmWVtYmFsbGFnZSBldCBsaXNleiBsYSBsaXN0ZSBkZXMgaW5ncsOpZGllbnRzLiI6ICLigJ0gaXMgbm90IGFtb25nIHRoZSBjb21wYW5pZXMgYW5kIHByb2R1Y3RzIGNlcnRpZmllZCBieSBIYWxhbCBDSS4gVGhpcyBkb2VzIG5vdCBtZWFuIHRoZSBwcm9kdWN0IGlzIGhhcmFtOiBpdCBpcyBzaW1wbHkgbm90IGNlcnRpZmllZCBieSB1cy4gQ2hlY2sgdGhlIHNlYWwgb24gdGhlIHBhY2thZ2luZyBhbmQgcmVhZCB0aGUgbGlzdCBvZiBpbmdyZWRpZW50cy4iLCAiTGUgcmVnaXN0cmUgZXN0IG1vbWVudGFuw6ltZW50IGluYWNjZXNzaWJsZS4gVsOpcmlmaWV6IHZvdHJlIGNvbm5leGlvbiBldCByw6llc3NheWV6LiI6ICJUaGUgcmVnaXN0ZXIgaXMgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUuIENoZWNrIHlvdXIgY29ubmVjdGlvbiBhbmQgdHJ5IGFnYWluLiIsICJDZSBwcm9kdWl0IGVzdC1pbCI6ICJJcyB0aGlzIHByb2R1Y3QiLCAidnJhaW1lbnQgaGFsYWwgPyI6ICJyZWFsbHkgaGFsYWw\/IiwgIkxlIHJlZ2lzdHJlIG9mZmljaWVsIGRlIEhhbGFsIEPDtHRlIGTigJlJdm9pcmUsIGRhbnMgdm90cmUgcG9jaGUuIjogIlRoZSBvZmZpY2lhbCBIYWxhbCBDw7R0ZSBk4oCZSXZvaXJlIHJlZ2lzdGVyLCBpbiB5b3VyIHBvY2tldC4iLCAiRW50cmVwcmlzZSwgcHJvZHVpdCBvdSBuwrAgZGUgY2VydGlmaWNhdCI6ICJDb21wYW55LCBwcm9kdWN0IG9yIGNlcnRpZmljYXRlIG5vLiIsICJSZWNoZXJjaGVyIGRhbnMgbGUgcmVnaXN0cmUiOiAiU2VhcmNoIHRoZSByZWdpc3RlciIsICJSZWNoZXJjaGVyIjogIlNlYXJjaCIsICJQaG90b2dyYXBoaWVyIHVuIHByb2R1aXQiOiAiUGhvdG9ncmFwaCBhIHByb2R1Y3QiLCAiU2Nhbm5lciB1biBjb2RlIjogIlNjYW4gYSBjb2RlIiwgIlLDqWNlbW1lbnQgY2VydGlmacOpcyI6ICJSZWNlbnRseSBjZXJ0aWZpZWQiLCAiVm91cyBwcm9kdWlzZXosIHRyYW5zZm9ybWV6IG91IHZlbmRleiA\/IjogIkRvIHlvdSBwcm9kdWNlLCBwcm9jZXNzIG9yIHNlbGw\/IiwgIkRlcyBjb25zb21tYXRldXJzIHNlIHBvc2VudCBkZXMgcXVlc3Rpb25zIHN1ciBsZXMgcHJvZHVpdHMgZGUgbGV1ciBxdW90aWRpZW4uIExhIGNlcnRpZmljYXRpb24gSGFsYWwgQ0kgcsOpcG9uZCDDoCBsZXVyIHBsYWNlLiI6ICJDb25zdW1lcnMgYXNrIHF1ZXN0aW9ucyBhYm91dCB0aGUgcHJvZHVjdHMgdGhleSB1c2UgZXZlcnkgZGF5LiBIYWxhbCBDSSBjZXJ0aWZpY2F0aW9uIGFuc3dlcnMgZm9yIHlvdS4iLCAiRGVtYW5kZXIgdW5lIGNvdGF0aW9uIGdyYXR1aXRlIjogIlJlcXVlc3QgYSBmcmVlIHF1b3RlIiwgIkRvbm7DqWVzIGR1IHJlZ2lzdHJlIHB1YmxpYyBoYWxhbGNpLm9yZyDCtyI6ICJEYXRhIGZyb20gdGhlIHB1YmxpYyByZWdpc3RlciBhdCBoYWxhbGNpLm9yZyDCtyIsICJ2ZXJzaW9uIHdlYiI6ICJ3ZWIgdmVyc2lvbiIsICJDZXJ0aWZpw6kiOiAiQ2VydGlmaWVkIiwgIkF1Y3VuIHByb2R1aXQgcG91ciBsZSBtb21lbnQuIjogIk5vIHByb2R1Y3QgeWV0LiIsICJSZWdpc3RyZSBpbmRpc3BvbmlibGUgaG9ycyBjb25uZXhpb24uIjogIlJlZ2lzdGVyIHVuYXZhaWxhYmxlIG9mZmxpbmUuIiwgIkVudm9pIGVuIHRhbnQgcXVlIjogIlNlbmRpbmcgYXMiLCAibW9kaWZpZXIiOiAiZWRpdCIsICJVbmUgc2V1bGUgZm9pcyA6IHZvcyBjb29yZG9ubsOpZXMsIHBvdXIgcXVlIG5vdXMgcHVpc3Npb25zIHZvdXMgcsOpcG9uZHJlLiI6ICJKdXN0IG9uY2U6IHlvdXIgY29udGFjdCBkZXRhaWxzLCBzbyB3ZSBjYW4gcmVwbHkgdG8geW91LiIsICJWb3RyZSBub20gKiI6ICJZb3VyIG5hbWUgKiIsICJXaGF0c0FwcCBvdSB0w6lsw6lwaG9uZSAqIjogIldoYXRzQXBwIG9yIHBob25lICoiLCAiRW52b3llciBjZXR0ZSBwaG90byI6ICJTZW5kIHRoaXMgcGhvdG8iLCAiUGhvdG8gZHUgcHJvZHVpdCI6ICJQcm9kdWN0IHBob3RvIiwgIk5vbSBkdSBwcm9kdWl0IChmYWN1bHRhdGlmKSI6ICJQcm9kdWN0IG5hbWUgKG9wdGlvbmFsKSIsICJFeC4gOiBqdXMgZGUgYmlzc2FwIFN1bnUiOiAiRS5nLiBTdW51IGJpc3NhcCBqdWljZSIsICJFbnZveWVyIHBvdXIgdsOpcmlmaWNhdGlvbiI6ICJTZW5kIGZvciBjaGVja2luZyIsICJQcm9kdWl0IHBob3RvZ3JhcGhpw6kiOiAiUHJvZHVjdCBwaG90b2dyYXBoZWQiLCAiRW52b3nDqSBkZXB1aXMgbOKAmWFwcGxpY2F0aW9uIChwaG90byBzZXVsZSkuIjogIlNlbnQgZnJvbSB0aGUgYXBwIChwaG90byBvbmx5KS4iLCAiTWVyY2kiOiAiVGhhbmsgeW91IiwgIkzigJllbnZvaSBhIMOpY2hvdcOpLiI6ICJTZW5kaW5nIGZhaWxlZC4iLCAiLiBWb3RyZSBwaG90byBlc3QgZW52b3nDqWUuIE5vdXMgdm91cyByw6lwb25kb25zIHBhciBXaGF0c0FwcCBhdSI6ICIuIFlvdXIgcGhvdG8gaGFzIGJlZW4gc2VudC4gV2Ugd2lsbCByZXBseSBvbiBXaGF0c0FwcCBhdCIsICJNZXMgZGVtYW5kZXMiOiAiTXkgcmVxdWVzdHMiLCAiwrcgZW52b3nDqWUsIHLDqXBvbnNlIHBhciBXaGF0c0FwcCI6ICLCtyBzZW50LCByZXBseSB2aWEgV2hhdHNBcHAiLCAiUGxhY2V6IGxlIFFSIGNvZGUgZHUgY2VydGlmaWNhdCBvdSBsZSBjb2RlLWJhcnJlcyBkYW5zIGxlIGNhZHJlLiI6ICJQbGFjZSB0aGUgY2VydGlmaWNhdGUgUVIgY29kZSBvciB0aGUgYmFyY29kZSBpbnNpZGUgdGhlIGZyYW1lLiIsICJMZSBRUiBjb2RlIGZpZ3VyZSBzdXIgY2hhcXVlIGNlcnRpZmljYXQgSGFsYWwgQ0kuIFVuIGNvZGUtYmFycmVzIHNldWwgbmUgc3VmZml0IHBhcyDDoCBwcm91dmVyIGxhIGNlcnRpZmljYXRpb24gOiBwb3VyIHVuIHByb2R1aXQgYWJzZW50IGR1IHJlZ2lzdHJlLCBlbnZveWV6LW5vdXMgc2EgcGhvdG8uIjogIlRoZSBRUiBjb2RlIGFwcGVhcnMgb24gZXZlcnkgSGFsYWwgQ0kgY2VydGlmaWNhdGUuIEEgYmFyY29kZSBhbG9uZSBkb2VzIG5vdCBwcm92ZSBjZXJ0aWZpY2F0aW9uOiBmb3IgYSBwcm9kdWN0IG1pc3NpbmcgZnJvbSB0aGUgcmVnaXN0ZXIsIHNlbmQgdXMgaXRzIHBob3RvLiIsICJFbnZveWVyIHVuZSBwaG90byDDoCBsYSBwbGFjZSI6ICJTZW5kIGEgcGhvdG8gaW5zdGVhZCIsICJDZXJ0aWZpY2F0IHNjYW5uw6kiOiAiQ2VydGlmaWNhdGUgc2Nhbm5lZCIsICJDYW3DqXJhIGluZGlzcG9uaWJsZS4gVXRpbGlzZXogbGEgcmVjaGVyY2hlIG91IGxhIHBob3RvLiI6ICJDYW1lcmEgdW5hdmFpbGFibGUuIFVzZSBzZWFyY2ggb3IgYSBwaG90by4iLCAiU2Nhbm5lciBpbmRpc3BvbmlibGUuIFV0aWxpc2V6IGxhIHJlY2hlcmNoZSBvdSBsYSBwaG90by4iOiAiU2Nhbm5lciB1bmF2YWlsYWJsZS4gVXNlIHNlYXJjaCBvciBhIHBob3RvLiIsICJBY2PDqHMgw6AgbGEgY2Ftw6lyYSByZWZ1c8OpLiBBdXRvcmlzZXotbGEgZGFucyBsZXMgcsOpZ2xhZ2VzLCBvdSB1dGlsaXNleiBsYSByZWNoZXJjaGUuIjogIkNhbWVyYSBhY2Nlc3MgZGVuaWVkLiBBbGxvdyBpdCBpbiBzZXR0aW5ncywgb3IgdXNlIHNlYXJjaC4iLCAiUmVzdGF1cmFudHMiOiAiUmVzdGF1cmFudHMiLCAiQm91Y2hlcmllcyI6ICJCdXRjaGVyIHNob3BzIiwgIkF1dHJlcyI6ICJPdGhlcnMiLCAiTW9zcXXDqWVzIjogIk1vc3F1ZXMiLCAiQXV0b3VyIGRlIG1vaSI6ICJOZWFyIG1lIiwgIsOJdGFibGlzc2VtZW50cyBjZXJ0aWZpw6lzIHBhciBIYWxhbCBDSSwgZXQgbW9zcXXDqWVzIMOgIHByb3hpbWl0w6kuIjogIkJ1c2luZXNzZXMgY2VydGlmaWVkIGJ5IEhhbGFsIENJLCBhbmQgbW9zcXVlcyBuZWFyYnkuIiwgIkNhdMOpZ29yaWUiOiAiQ2F0ZWdvcnkiLCAiVXRpbGlzZXIgbWEgcG9zaXRpb24iOiAiVXNlIG15IGxvY2F0aW9uIiwgIkNhcnRlIjogIk1hcCIsICJQb3NpdGlvbiBtaXNlIMOgIGpvdXIiOiAiTG9jYXRpb24gdXBkYXRlZCIsICJDYXJ0ZSBpbmRpc3BvbmlibGUgaG9ycyBjb25uZXhpb24uIExhIGxpc3RlIHJlc3RlIGFmZmljaMOpZS4iOiAiTWFwIHVuYXZhaWxhYmxlIG9mZmxpbmUuIFRoZSBsaXN0IHJlbWFpbnMgZGlzcGxheWVkLiIsICJNb3NxdcOpZSI6ICJNb3NxdWUiLCAiSW1wb3NzaWJsZSBkZSBjaGFyZ2VyIGxlcyBtb3NxdcOpZXMgcG91ciBsZSBtb21lbnQuIjogIlVuYWJsZSB0byBsb2FkIG1vc3F1ZXMgcmlnaHQgbm93LiIsICJSw6llc3NheWVyIjogIlRyeSBhZ2FpbiIsICJJdGluw6lyYWlyZSI6ICJEaXJlY3Rpb25zIiwgIkxlcyBwcmVtaWVycyDDqXRhYmxpc3NlbWVudHMgYXJyaXZlbnQuIjogIlRoZSBmaXJzdCBidXNpbmVzc2VzIGFyZSBjb21pbmcuIiwgIkF1Y3VuZSBtb3NxdcOpZSB0cm91dsOpZSBkYW5zIHVuIHJheW9uIGRlIDMsNSBrbS4iOiAiTm8gbW9zcXVlIGZvdW5kIHdpdGhpbiAzLjUga20uIiwgIkZhaXJlIGNlcnRpZmllciBtb24gw6l0YWJsaXNzZW1lbnQiOiAiR2V0IG15IGJ1c2luZXNzIGNlcnRpZmllZCIsICJNb3NxdcOpZSByw6lmw6lyZW5jw6llIHN1ciBPcGVuU3RyZWV0TWFwIjogIk1vc3F1ZSBsaXN0ZWQgb24gT3BlblN0cmVldE1hcCIsICJDZXJ0aWZpw6kgSGFsYWwgQ0kiOiAiQ2VydGlmaWVkIGJ5IEhhbGFsIENJIiwgIsK3IHZhbGFibGUganVzcXXigJlhdSI6ICLCtyB2YWxpZCB1bnRpbCIsICJhZHJlc3NlIGJpZW50w7R0IjogImFkZHJlc3MgY29taW5nIHNvb24iLCAiRmFqciAoYXViZSkiOiAiRmFqciAoZGF3bikiLCAiRGhvdWhyIjogIkRodWhyIiwgIkljaMOiIjogIklzaGEiLCAiTW91aGFycmFtIjogIk11aGFycmFtIiwgIkpvdW1hZGEgYWwtb3VsYSI6ICJKdW1hZGEgYWwtdWxhIiwgIkpvdW1hZGEgYXRoLXRoYW5pYSI6ICJKdW1hZGEgYWwtdGhhbmkiLCAiQ2hhyr9iw6JuIjogIlNoYcq\/YmFuIiwgIkNoYXd3w6JsIjogIlNoYXd3YWwiLCAiRGhvdSBhbC1xacq\/ZGEiOiAiRGh1IGFsLVFpyr9kYWgiLCAiRGhvdSBhbC1oaWpqYSI6ICJEaHUgYWwtSGlqamFoIiwgIlJhYmnKvyBhdGgtdGhhbmkiOiAiUmFiacq\/IGFsLXRoYW5pIiwgIkTDqWJ1dCBkdSBSYW1hZGFuIjogIlN0YXJ0IG9mIFJhbWFkYW4iLCAiQcOvZCBlbC1GaXRyLCBmaW4gZHUgUmFtYWRhbiI6ICJFaWQgYWwtRml0ciwgZW5kIG9mIFJhbWFkYW4iLCAiSm91ciBkZSDKv0FyYWZhdCI6ICJEYXkgb2Ygyr9BcmFmYWgiLCAiQcOvZCBlbC1BZGhhIChUYWJhc2tpKSI6ICJFaWQgYWwtQWRoYSAoVGFiYXNraSkiLCAi8J+VjCBMYSBwcmnDqHJlIGFwcHJvY2hlIjogIvCflYwgUHJheWVyIHRpbWUgaXMgYXBwcm9hY2hpbmciLCAi8J+VjCBD4oCZZXN0IGzigJloZXVyZSBkZSBsYSBwcmnDqHJlIjogIvCflYwgSXTigJlzIHRpbWUgZm9yIHByYXllciIsICJOb3RpZmljYXRpb24gw6AgbOKAmWhldXJlIGRlIGxhIHByacOocmUiOiAiTm90aWZpY2F0aW9uIGF0IHByYXllciB0aW1lIiwgIkFjdGl2w6llIHRhbnQgcXVlIGzigJlhcHBsaWNhdGlvbiByZXN0ZSBvdXZlcnRlLiI6ICJBY3RpdmUgYXMgbG9uZyBhcyB0aGUgYXBwIHN0YXlzIG9wZW4uIiwgIlJlY2V2ZXogdW5lIGFsZXJ0ZSDDoCBjaGFxdWUgcHJpw6hyZSwgZXQgMTAgbWludXRlcyBhdmFudC4iOiAiR2V0IGFuIGFsZXJ0IGF0IGVhY2ggcHJheWVyLCBhbmQgMTAgbWludXRlcyBiZWZvcmUuIiwgIkFjdGl2ZXIgbGVzIG5vdGlmaWNhdGlvbnMgZGUgcHJpw6hyZSI6ICJUdXJuIG9uIHByYXllciBub3RpZmljYXRpb25zIiwgIkNhbGVuZHJpZXIiOiAiQ2FsZW5kYXIiLCAiTW9pcyBwcsOpY8OpZGVudCI6ICJQcmV2aW91cyBtb250aCIsICJNb2lzIHN1aXZhbnQiOiAiTmV4dCBtb250aCIsICJBanVzdGVtZW50IGRlIGxhIGRhdGUgaMOpZ2lyaWVubmUgOiI6ICJIaWpyaSBkYXRlIGFkanVzdG1lbnQ6IiwgIkbDqnRlcyBldCBkYXRlcyDDoCB2ZW5pciI6ICJVcGNvbWluZyBob2xpZGF5cyBhbmQgZGF0ZXMiLCAiQcOvZCBlbC1GaXRyLCBBw69kIGVsLUFkaGEgZXQgbGVzIGRhdGVzIHF1aSBsZXMgZW50b3VyZW50LiBMZXMgZGF0ZXMgc29udCBjYWxjdWzDqWVzIMOgIGzigJlhdmFuY2UgOyBsYSB2ZWlsbGUsIGzigJlhbm5vbmNlIG9mZmljaWVsbGUgZGUgbOKAmW9ic2VydmF0aW9uIGRlIGxhIGx1bmUgZmFpdCBmb2kuIjogIkVpZCBhbC1GaXRyLCBFaWQgYWwtQWRoYSBhbmQgdGhlIGRhdGVzIGFyb3VuZCB0aGVtLiBEYXRlcyBhcmUgY2FsY3VsYXRlZCBpbiBhZHZhbmNlOyBvbiB0aGUgZXZlLCB0aGUgb2ZmaWNpYWwgbW9vbi1zaWdodGluZyBhbm5vdW5jZW1lbnQgcHJldmFpbHMuIiwgIk5vdGlmaWNhdGlvbnMgZGUgcHJpw6hyZSBkw6lzYWN0aXbDqWVzLiI6ICJQcmF5ZXIgbm90aWZpY2F0aW9ucyB0dXJuZWQgb2ZmLiIsICJMZXMgbm90aWZpY2F0aW9ucyBuZSBzb250IHBhcyBwcmlzZXMgZW4gY2hhcmdlIGljaSI6ICJOb3RpZmljYXRpb25zIGFyZSBub3Qgc3VwcG9ydGVkIGhlcmUiLCAiQWN0aXbDqWUgdGFudCBxdWUgbOKAmWFwcGxpY2F0aW9uIHJlc3RlIG91dmVydGUuIFBvdXIgdW5lIGFsZXJ0ZSDDoCDDqWNyYW4gdmVycm91aWxsw6ksIGlsIGZhdWRyYSBsYSB2ZXJzaW9uIGluc3RhbGzDqWUgZGVwdWlzIGxlIHN0b3JlLiI6ICJBY3RpdmUgYXMgbG9uZyBhcyB0aGUgYXBwIHN0YXlzIG9wZW4uIEZvciBhbiBhbGVydCB3aXRoIHRoZSBzY3JlZW4gbG9ja2VkLCB5b3Ugd2lsbCBuZWVkIHRoZSB2ZXJzaW9uIGluc3RhbGxlZCBmcm9tIHRoZSBzdG9yZS4iLCAiTm90aWZpY2F0aW9ucyByZWZ1c8OpZXMgZGFucyBsZSBuYXZpZ2F0ZXVyIjogIk5vdGlmaWNhdGlvbnMgZGVuaWVkIGluIHRoZSBicm93c2VyIiwgIkJvdXNzb2xlIGRlIGxhIFFpYmxhIjogIlFpYmxhIGNvbXBhc3MiLCAiZGVwdWlzIGxlIG5vcmQsIHZlcnMgbGUiOiAiZnJvbSBub3J0aCwgdG93YXJkIiwgIkFjdGl2ZXIgbGEgYm91c3NvbGUiOiAiVHVybiBvbiB0aGUgY29tcGFzcyIsICJWb3VzIGZhaXRlcyBmYWNlIMOgIGxhIFFpYmxhIjogIllvdSBhcmUgZmFjaW5nIHRoZSBRaWJsYSIsICJUb3VybmV6LXZvdXMgZGUiOiAiVHVybiIsICJ2ZXJzIGxhIjogInRvIHRoZSIsICJkcm9pdGUiOiAicmlnaHQiLCAiZ2F1Y2hlIjogImxlZnQiLCAiZGVwdWlzIGxlIG5vcmQuIjogImZyb20gbm9ydGguIiwgIkJvdXNzb2xlIGluZGlzcG9uaWJsZSBzdXIgY2V0IGFwcGFyZWlsLiBPcmllbnRlei12b3VzIMOgIjogIkNvbXBhc3MgdW5hdmFpbGFibGUgb24gdGhpcyBkZXZpY2UuIEZhY2UiLCAiVGVuZXogbGUgdMOpbMOpcGhvbmUgw6AgcGxhdCBldCBmYWl0ZXMgdW4gaHVpdCBwb3VyIGNhbGlicmVyLiI6ICJIb2xkIHRoZSBwaG9uZSBmbGF0IGFuZCBtb3ZlIGl0IGluIGEgZmlndXJlIGVpZ2h0IHRvIGNhbGlicmF0ZS4iLCAiSG9yYWlyZXMgcG91ciI6ICJUaW1lcyBmb3IiLCAiLiBQb3NpdGlvbiB1dGlsaXPDqWUgOiI6ICIuIExvY2F0aW9uIHVzZWQ6IiwgIsK3IG3DqXRob2RlIExpZ3VlIGlzbGFtaXF1ZSBtb25kaWFsZSDCtyBRaWJsYSA6IjogIsK3IE11c2xpbSBXb3JsZCBMZWFndWUgbWV0aG9kIMK3IFFpYmxhOiIsICJIb3JhaXJlcyBpbmRpc3BvbmlibGVzIHNhbnMgY29ubmV4aW9uLiBSw6llc3NheWV6IGVuIGxpZ25lLiI6ICJUaW1lcyB1bmF2YWlsYWJsZSBvZmZsaW5lLiBUcnkgYWdhaW4gb25saW5lLiIsICJMZXZlciBkdSBzb2xlaWwiOiAiU3VucmlzZSIsICJGYWpyIChkZW1haW4pIjogIkZhanIgKHRvbW9ycm93KSIsICJQcm9jaGFpbmUgcHJpw6hyZSI6ICJOZXh0IHByYXllciIsICJkYW5zIjogImluIiwgImRlIGzigJlIw6lnaXJlIjogIkFIIiwgIkF1am91cmTigJlodWkiOiAiVG9kYXkiLCAiRGVtYWluIjogIlRvbW9ycm93IiwgIm5vcmQiOiAibm9ydGgiLCAibm9yZC1lc3QiOiAibm9ydGgtZWFzdCIsICJlc3QiOiAiZWFzdCIsICJzdWQtZXN0IjogInNvdXRoLWVhc3QiLCAic3VkIjogInNvdXRoIiwgInN1ZC1vdWVzdCI6ICJzb3V0aC13ZXN0IiwgIm91ZXN0IjogIndlc3QiLCAibm9yZC1vdWVzdCI6ICJub3J0aC13ZXN0IiwgIk5vcmVlbiBNb2hhbWVkIFNpZGRpZyAoU291ZGFuLCBzb3VyYXRlIGVudGnDqHJlKSI6ICJOb3JlZW4gTW9oYW1lZCBTaWRkaWcgKFN1ZGFuLCBmdWxsIHN1cmFoIG9ubHkpIiwgIkFiZGVycmFobWFuZSBBcy1TdWRhaXMiOiAiQWJkdWwgUmFobWFuIEFzLVN1ZGFpcyIsICJTYW91ZCBBc2gtU2h1cmF5bSI6ICJTYXVkIEFzaC1TaHVyYXltIiwgIkFiZGFsbGFoIEFsLU1hdHJvdWQiOiAiQWJkdWxsYWggQWwtTWF0cm9vZCIsICJNYWhtb3VkIEtoYWxpbCBBbC1IdXNzYXJ5IjogIk1haG1vdWQgS2hhbGlsIEFsLUh1c2FyeSIsICJBYmRlbGJhc3NldCBBYmRlc3NhbWFkIjogIkFiZHVsIEJhc2l0IEFiZHVzLVNhbWFkIiwgIkFsaSBBbC1Ib3VkaGFpZmkiOiAiQWxpIEFsLUh1ZGhhaWZ5IiwgIkxlIFNhaW50IENvcmFuIjogIlRoZSBIb2x5IFF1cmFuIiwgIlRleHRlIGFyYWJlLCB0cmFkdWN0aW9uIGZyYW7Dp2Fpc2UgZXQgcsOpY2l0YXRpb24gYXUgY2hvaXguIjogIkFyYWJpYyB0ZXh0LCBFbmdsaXNoIHRyYW5zbGF0aW9uIGFuZCByZWNpdGF0aW9uIG9mIHlvdXIgY2hvaWNlLiIsICJSw6ljaXRhdGV1ciI6ICJSZWNpdGVyIiwgIlLDqWNpdGF0ZXVyIDoiOiAiUmVjaXRlcjoiLCAiQ2hlcmNoZXIgdW5lIHNvdXJhdGUgKG5vbSBvdSBudW3DqXJvKSI6ICJTZWFyY2ggYSBzdXJhaCAobmFtZSBvciBudW1iZXIpIiwgIkNoZXJjaGVyIHVuZSBzb3VyYXRlIjogIlNlYXJjaCBhIHN1cmFoIiwgIlJlcHJlbmRyZSA6IHNvdXJhdGUiOiAiUmVzdW1lOiBzdXJhaCIsICIsIHZlcnNldCI6ICIsIHZlcnNlIiwgIkxpc3RlIGluZGlzcG9uaWJsZSBzYW5zIGNvbm5leGlvbi4iOiAiTGlzdCB1bmF2YWlsYWJsZSBvZmZsaW5lLiIsICJtZWNxdW9pc2UiOiAiTWVjY2FuIiwgIm3DqWRpbm9pc2UiOiAiTWVkaW5hbiIsICJBdWN1bmUgc291cmF0ZSB0cm91dsOpZS4iOiAiTm8gc3VyYWggZm91bmQuIiwgIlNvdXJhdGUiOiAiU3VyYWgiLCAidmVyc2V0cyI6ICJ2ZXJzZXMiLCAidmVyc2V0IjogInZlcnNlIiwgIsOJY291dGVyIGxhIHNvdXJhdGUiOiAiTGlzdGVuIHRvIHRoZSBzdXJhaCIsICLDiWNvdXRlciBsZSB2ZXJzZXQiOiAiTGlzdGVuIHRvIHZlcnNlIiwgIkNldHRlIHLDqWNpdGF0aW9uIHNlIGpvdWUgc291cmF0ZSBlbnRpw6hyZSwgZGVwdWlzIGxlIGTDqWJ1dCI6ICJUaGlzIHJlY2l0YXRpb24gcGxheXMgdGhlIHdob2xlIHN1cmFoLCBmcm9tIHRoZSBiZWdpbm5pbmciLCAiQXVkaW8gaW5kaXNwb25pYmxlIjogIkF1ZGlvIHVuYXZhaWxhYmxlIiwgIkNldHRlIHNvdXJhdGUgbuKAmWEgcGFzIHB1IMOqdHJlIGNoYXJnw6llLiBWw6lyaWZpZXogdm90cmUgY29ubmV4aW9uLiI6ICJUaGlzIHN1cmFoIGNvdWxkIG5vdCBiZSBsb2FkZWQuIENoZWNrIHlvdXIgY29ubmVjdGlvbi4iLCAiw4ljb3V0ZXIiOiAiTGlzdGVuIiwgIkFycsOqdGVyIjogIlN0b3AiLCAiw4ljb3V0ZXIgbGEgcsOpY2l0YXRpb24iOiAiTGlzdGVuIHRvIHRoZSByZWNpdGF0aW9uIiwgIsOJY291dGVyIHN1ciBNYWtrYWggTGl2ZSAodm9peCBodW1haW5lLCBzaXRlIGV4dGVybmUpIjogIkxpc3RlbiBvbiBNYWtrYWggTGl2ZSAoaHVtYW4gdm9pY2UsIGV4dGVybmFsIHNpdGUpIiwgIsOJY291dGVyICh2b2l4IGRlIGzigJlhcHBhcmVpbCkiOiAiTGlzdGVuIChkZXZpY2Ugdm9pY2UpIiwgIkxhIGxlY3R1cmUgYXVkaW8gbuKAmWVzdCBwYXMgZGlzcG9uaWJsZSBzdXIgY2V0IGFwcGFyZWlsIjogIkF1ZGlvIHBsYXliYWNrIGlzIG5vdCBhdmFpbGFibGUgb24gdGhpcyBkZXZpY2UiLCAiQXVjdW5lIHZvaXggYXJhYmUgc3VyIGNldCBhcHBhcmVpbC4gQWpvdXRlei1lbiB1bmUgZGFucyBsZXMgcsOpZ2xhZ2VzIGRlIHN5bnRow6hzZSB2b2NhbGUuIjogIk5vIEFyYWJpYyB2b2ljZSBvbiB0aGlzIGRldmljZS4gQWRkIG9uZSBpbiB0aGUgc3BlZWNoIHN5bnRoZXNpcyBzZXR0aW5ncy4iLCAiTGVjdHVyZSBhdWRpbyBpbXBvc3NpYmxlIHN1ciBjZXQgYXBwYXJlaWwiOiAiQXVkaW8gcGxheWJhY2sgbm90IHBvc3NpYmxlIG9uIHRoaXMgZGV2aWNlIiwgIkludm9jYXRpb25zIjogIlN1cHBsaWNhdGlvbnMiLCAiTGVzIGRvdWFzIGR1IHF1b3RpZGllbiwgZHUgSGFqaiBldCBkZSBsYSBPbXJhLCBhdmVjIGxlIHRleHRlIGFyYWJlLCBsYSB0cmFkdWN0aW9uIGV0IGxhIHNvdXJjZSBkZSBjaGFjdW5lLiI6ICJFdmVyeWRheSBkdWFzLCBhbmQgdGhvc2Ugb2YgSGFqaiBhbmQgVW1yYWgsIHdpdGggdGhlIEFyYWJpYyB0ZXh0LCB0aGUgdHJhbnNsYXRpb24gYW5kIHRoZSBzb3VyY2Ugb2YgZWFjaC4iLCAiw6l0YXBlcyI6ICJzdGVwcyIsICJ0ZXh0ZXMiOiAidGV4dHMiLCAiU291cmNlIDoiOiAiU291cmNlOiIsICJMZXMgaGFkaXRocyBqdWfDqXMgZmFpYmxlcyBwYXIgbGVzIHNww6ljaWFsaXN0ZXMgc29udCDDqWNhcnTDqXMsIGV0IGxlcyBjaGHDrm5lcyBkaXNjdXTDqWVzIHNvbnQgc2lnbmFsw6llcy4gUG91ciB1biBjYXMgcHLDqWNpcywgY29uc3VsdGV6IHVuIHNhdmFudC4iOiAiSGFkaXRocyBqdWRnZWQgd2VhayBieSBzcGVjaWFsaXN0cyBhcmUgbGVmdCBvdXQsIGFuZCBkaXNwdXRlZCBjaGFpbnMgYXJlIGZsYWdnZWQuIEZvciBhIHNwZWNpZmljIGNhc2UsIGNvbnN1bHQgYSBzY2hvbGFyLiIsICJBYm91IEhvdXJheXJhIjogIkFidSBIdXJheXJhIiwgImFuLU51yr9tw6JuIGlibiBCYWNow65yIjogImFuLU51yr9tYW4gaWJuIEJhc2hpciIsICJhbC1IYXNhbiBpYm4gyr9BbMOuIjogImFsLUhhc2FuIGlibiDKv0FsaSIsICJKw6JiaXIgaWJuIMq\/QWJkaWxsYWgiOiAiSmFiaXIgaWJuIMq\/QWJkaWxsYWgiLCAiQWJvdSBKdWhheWZhIjogIkFidSBKdWhheWZhIiwgIkFib3UgU2HKv8OuZCBhbC1LaHVkcsOuIjogIkFidSBTYcq\/aWQgYWwtS2h1ZHJpIiwgIkhha8OubSBpYm4gSGl6w6JtIjogIkhha2ltIGlibiBIaXphbSIsICLCqyDDlCBnZW5zICEgQWxsYWggZXN0IFB1ciBldCBu4oCZYWNjZXB0ZSBxdWUgY2UgcXVpIGVzdCBwdXIuIMK7IjogIuKAnE8gcGVvcGxlISBBbGxhaCBpcyBQdXJlIGFuZCBhY2NlcHRzIG9ubHkgd2hhdCBpcyBwdXJlLuKAnSIsICLCqyBMZSBsaWNpdGUgZXN0IMOpdmlkZW50IGV0IGzigJlpbGxpY2l0ZSBlc3Qgw6l2aWRlbnQsIGV0IGVudHJlIGxlcyBkZXV4IHNlIHRyb3V2ZW50IGRlcyBjaG9zZXMgZG91dGV1c2VzIHF1ZSBiZWF1Y291cCBkZSBnZW5zIG5lIGNvbm5haXNzZW50IHBhcy4gQ2VsdWkgcXVpIHNlIGdhcmRlIGRlcyBjaG9zZXMgZG91dGV1c2VzIHByw6lzZXJ2ZSBzYSByZWxpZ2lvbiBldCBzb24gaG9ubmV1ci4gwrsiOiAi4oCcVGhlIGxhd2Z1bCBpcyBjbGVhciBhbmQgdGhlIHVubGF3ZnVsIGlzIGNsZWFyLCBhbmQgYmV0d2VlbiB0aGUgdHdvIGFyZSBkb3VidGZ1bCBtYXR0ZXJzIHRoYXQgbWFueSBwZW9wbGUgZG8gbm90IGtub3cuIFdob2V2ZXIgYXZvaWRzIGRvdWJ0ZnVsIG1hdHRlcnMgaGFzIHByb3RlY3RlZCBoaXMgcmVsaWdpb24gYW5kIGhpcyBob25vdXIu4oCdIiwgIsKrIExhaXNzZSBjZSBxdWkgdGUgbWV0IGRhbnMgbGUgZG91dGUgcG91ciBjZSBxdWkgbmUgdGUgbWV0IHBhcyBkYW5zIGxlIGRvdXRlLiBMYSB2w6lyaXTDqSBhcHBvcnRlIGxhIHPDqXLDqW5pdMOpLCBldCBsZSBtZW5zb25nZSBzw6htZSBsZSBkb3V0ZS4gwrsiOiAi4oCcTGVhdmUgd2hhdCBtYWtlcyB5b3UgZG91YnQgZm9yIHdoYXQgZG9lcyBub3QgbWFrZSB5b3UgZG91YnQuIFRydXRoIGJyaW5ncyB0cmFucXVpbGxpdHksIGFuZCBmYWxzZWhvb2Qgc293cyBkb3VidC7igJ0iLCAiwqsgQ2VsdWkgcXVpIGRvbm5lIGVuIGF1bcO0bmUgbOKAmcOpcXVpdmFsZW50IGTigJl1bmUgZGF0dGUgcHJvdmVuYW50IGTigJl1biBnYWluIGxpY2l0ZSDigJQgZXQgQWxsYWggbuKAmWFjY2VwdGUgcXVlIGxlIGxpY2l0ZSDigJQgQWxsYWggbGEgcmXDp29pdCBkYW5zIFNhIG1haW4gZHJvaXRlLCBwdWlzIGxhIGZhaXQgY3Jvw650cmUgcG91ciBsdWkuIMK7IjogIuKAnFdob2V2ZXIgZ2l2ZXMgaW4gY2hhcml0eSB0aGUgZXF1aXZhbGVudCBvZiBhIGRhdGUgZnJvbSBsYXdmdWwgZWFybmluZ3Mg4oCUIGFuZCBBbGxhaCBhY2NlcHRzIG9ubHkgd2hhdCBpcyBsYXdmdWwg4oCUIEFsbGFoIHJlY2VpdmVzIGl0IGluIEhpcyByaWdodCBoYW5kLCB0aGVuIG1ha2VzIGl0IGdyb3cgZm9yIGhpbS7igJ0iLCAiwqsgVG91dCBlbml2cmFudCBlc3QgZHUga2hhbXIgKHZpbiksIGV0IHRvdXQgZW5pdnJhbnQgZXN0IGludGVyZGl0LiDCuyI6ICLigJxFdmVyeSBpbnRveGljYW50IGlzIGtoYW1yICh3aW5lKSwgYW5kIGV2ZXJ5IGludG94aWNhbnQgaXMgZm9yYmlkZGVuLuKAnSIsICJMZSBNZXNzYWdlciBk4oCZQWxsYWgg77e6IGEgbWF1ZGl0IGNlbHVpIHF1aSBwZXLDp29pdCBsZSByaWJhLCBjZWx1aSBxdWkgbGUgdmVyc2UsIGNlbHVpIHF1aSBs4oCZZW5yZWdpc3RyZSBldCBsZXMgZGV1eCB0w6ltb2lucy4gRXQgaWwgYSBkaXQgOiDCqyBJbHMgc29udCB0b3VzIMOpZ2F1eC4gwrsiOiAiVGhlIE1lc3NlbmdlciBvZiBBbGxhaCDvt7ogY3Vyc2VkIHRoZSBvbmUgd2hvIHRha2VzIHJpYmEsIHRoZSBvbmUgd2hvIHBheXMgaXQsIHRoZSBvbmUgd2hvIHJlY29yZHMgaXQgYW5kIHRoZSB0d28gd2l0bmVzc2VzLiBBbmQgaGUgc2FpZDog4oCcVGhleSBhcmUgYWxsIGVxdWFsLuKAnSIsICJMZSBQcm9waMOodGUg77e6IGEgaW50ZXJkaXQgbGUgcHJpeCBkdSBjaGllbiwgbGUgcHJpeCBkdSBzYW5nLCBsZSB0YXRvdWFnZSwgYWluc2kgcXVlIGxlIGZhaXQgZGUgcmVjZXZvaXIgb3UgZGUgZG9ubmVyIGR1IHJpYmEuIjogIlRoZSBQcm9waGV0IO+3uiBmb3JiYWRlIHRoZSBwcmljZSBvZiBhIGRvZywgdGhlIHByaWNlIG9mIGJsb29kLCB0YXR0b29pbmcsIGFuZCB0YWtpbmcgb3IgZ2l2aW5nIHJpYmEuIiwgIsKrIE5lIHZlbmRleiBwYXMgbOKAmW9yIGNvbnRyZSBs4oCZb3IsIHNhdWYgw6AgcXVhbnRpdMOpIMOpZ2FsZSwgZXQgbuKAmWVuIGF1Z21lbnRleiBwYXMgbOKAmXVuIHBhciByYXBwb3J0IMOgIGzigJlhdXRyZS4gTmUgdmVuZGV6IHBhcyBs4oCZYXJnZW50IGNvbnRyZSBs4oCZYXJnZW50LCBzYXVmIMOgIHF1YW50aXTDqSDDqWdhbGUuIEV0IG5lIHZlbmRleiBwYXMgZHUgY29tcHRhbnQgY29udHJlIGR1IGRpZmbDqXLDqS4gwrsiOiAi4oCcRG8gbm90IHNlbGwgZ29sZCBmb3IgZ29sZCBleGNlcHQgaW4gZXF1YWwgbWVhc3VyZSwgYW5kIGRvIG5vdCBpbmNyZWFzZSBvbmUgb3ZlciB0aGUgb3RoZXIuIERvIG5vdCBzZWxsIHNpbHZlciBmb3Igc2lsdmVyIGV4Y2VwdCBpbiBlcXVhbCBtZWFzdXJlLiBBbmQgZG8gbm90IHNlbGwgY2FzaCBmb3IgZGVmZXJyZWQu4oCdIiwgIsKrIFVuIHRlbXBzIHZpZW5kcmEgb8O5IGxlcyBnZW5zIG5lIHNlIHNvdWNpZXJvbnQgcGx1cyBkZSBzYXZvaXIgZOKAmW\/DuSBpbHMgdGlyZW50IGxldXIgYXJnZW50LCBkdSBsaWNpdGUgb3UgZGUgbOKAmWlsbGljaXRlLiDCuyI6ICLigJxBIHRpbWUgd2lsbCBjb21lIHdoZW4gcGVvcGxlIHdpbGwgbm8gbG9uZ2VyIGNhcmUgd2hlcmUgdGhleSBnZXQgdGhlaXIgbW9uZXkgZnJvbSwgd2hldGhlciBsYXdmdWwgb3IgdW5sYXdmdWwu4oCdIiwgIsKrIENlbHVpIHF1aSBub3VzIHRyb21wZSBu4oCZZXN0IHBhcyBkZXMgbsO0dHJlcy4gwrsiOiAi4oCcV2hvZXZlciBkZWNlaXZlcyB1cyBpcyBub3Qgb25lIG9mIHVzLuKAnSIsICJUb3VzIjogIkFsbCIsICJQb3VycXVvaSBjb25zb21tZXIgaGFsYWwiOiAiV2h5IGNvbnN1bWUgaGFsYWwiLCAiUmliYSBldCBmaW5hbmNlIGlzbGFtaXF1ZSI6ICJSaWJhIGFuZCBJc2xhbWljIGZpbmFuY2UiLCAiSG9ubsOqdGV0w6kgZW4gYWZmYWlyZXMiOiAiSG9uZXN0eSBpbiBidXNpbmVzcyIsICJSYXBwb3J0w6kgcGFyIjogIk5hcnJhdGVkIGJ5IiwgIlJhcHBlbCBkdSBqb3VyIjogIlJlbWluZGVyIG9mIHRoZSBkYXkiLCAiTGUgaGFsYWwsIGxlIHJpYmEgZXQgbOKAmWhvbm7DqnRldMOpIGVuIGFmZmFpcmVzLCBkYW5zIGxlcyBwYXJvbGVzIGF1dGhlbnRpcXVlcyBkdSBQcm9waMOodGUg77e6LiI6ICJIYWxhbCwgcmliYSBhbmQgaG9uZXN0eSBpbiBidXNpbmVzcywgaW4gdGhlIGF1dGhlbnRpYyB3b3JkcyBvZiB0aGUgUHJvcGhldCDvt7ouIiwgIlVuIHJhcHBlbCBjaGFxdWUgam91ciI6ICJBIHJlbWluZGVyIGV2ZXJ5IGRheSIsICJSZWNldmV6IGxlIGhhZGl0aCBkdSBqb3VyIGVuIG5vdGlmaWNhdGlvbi4iOiAiUmVjZWl2ZSB0aGUgaGFkaXRoIG9mIHRoZSBkYXkgYXMgYSBub3RpZmljYXRpb24uIiwgIkFjdGl2w6kgOiB2b3VzIHJlY2V2ZXogbGUgcmFwcGVsIGR1IGpvdXIgw6AgbOKAmW91dmVydHVyZSBkZSBs4oCZYXBwbGljYXRpb24uIjogIk9uOiB5b3UgcmVjZWl2ZSB0aGUgcmVtaW5kZXIgb2YgdGhlIGRheSB3aGVuIHlvdSBvcGVuIHRoZSBhcHAuIiwgIkFjdGl2ZXIgbGVzIHJhcHBlbHMiOiAiVHVybiBvbiByZW1pbmRlcnMiLCAiVGjDqG1lIjogIlRvcGljIiwgIlJhcHBlbHMgZMOpc2FjdGl2w6lzLiI6ICJSZW1pbmRlcnMgdHVybmVkIG9mZi4iLCAiQ2hhcXVlIGhhZGl0aCBlc3QgcsOpZsOpcmVuY8OpIGV0IHbDqXJpZmlhYmxlIHN1ciBzdW5uYWguY29tLiBQb3VyIHVuIGF2aXMgZGUganVyaXNjb25zdWx0ZSBzdXIgdW5lIHNpdHVhdGlvbiBwcsOpY2lzZSwgY29uc3VsdGV6IHVuZSBhdXRvcml0w6kgcmVsaWdpZXVzZSBjb21ww6l0ZW50ZS4iOiAiRXZlcnkgaGFkaXRoIGlzIHJlZmVyZW5jZWQgYW5kIGNhbiBiZSBjaGVja2VkIG9uIHN1bm5haC5jb20uIEZvciBhIGp1cmlzdOKAmXMgb3BpbmlvbiBvbiBhIHNwZWNpZmljIHNpdHVhdGlvbiwgY29uc3VsdCBhIGNvbXBldGVudCByZWxpZ2lvdXMgYXV0aG9yaXR5LiIsICJSYXBwZWwgZHUgam91ciDCtyBWw6lyaWbigJlIYWxhbCBDSSI6ICJSZW1pbmRlciBvZiB0aGUgZGF5IMK3IFbDqXJpZuKAmUhhbGFsIENJIiwgIkxlIHZlbmRldXIgZXQgbOKAmWFjaGV0ZXVyIG9udCBsZSBjaG9peCB0YW50IHF14oCZaWxzIG5lIHNlIHNvbnQgcGFzIHPDqXBhcsOpcy4gU+KAmWlscyBkaXNlbnQgdnJhaSBldCBleHBvc2VudCBsZXMgZMOpZmF1dHMsIGxldXIgdHJhbnNhY3Rpb24gc2VyYSBiw6luaWUgOyBz4oCZaWxzIG1lbnRlbnQgZXQgZGlzc2ltdWxlbnQsIGxhIGLDqW7DqWRpY3Rpb24gZGUgbGV1ciB0cmFuc2FjdGlvbiBkaXNwYXJhw650cmEuIjogIlRoZSBzZWxsZXIgYW5kIHRoZSBidXllciBoYXZlIHRoZSBjaG9pY2UgYXMgbG9uZyBhcyB0aGV5IGhhdmUgbm90IHNlcGFyYXRlZC4gSWYgdGhleSBhcmUgdHJ1dGhmdWwgYW5kIGRpc2Nsb3NlIGRlZmVjdHMsIHRoZWlyIHRyYW5zYWN0aW9uIHdpbGwgYmUgYmxlc3NlZDsgaWYgdGhleSBsaWUgYW5kIGNvbmNlYWwsIHRoZSBibGVzc2luZyBvZiB0aGVpciB0cmFuc2FjdGlvbiB3aWxsIGJlIGVyYXNlZC4iLCAiRmF2b3JpcyI6ICJGYXZvcml0ZXMiLCAiVMOpbMOpY2hhcmfDqSA6IjogIkRvd25sb2FkZWQ6IiwgIlTDqWzDqWNoYXJnZW1lbnQgZW4gY291cnPigKYiOiAiRG93bmxvYWRpbmfigKYiLCAiVMOpbMOpY2hhcmdlbWVudCBpbXBvc3NpYmxlIHBvdXIgbGUgbW9tZW50IjogIkRvd25sb2FkIG5vdCBwb3NzaWJsZSByaWdodCBub3ciLCAiTm9yZWVuIE1vaGFtZWQgU2lkZGlnIChTb3VkYW4pIjogIk5vcmVlbiBNb2hhbWVkIFNpZGRpZyAoU3VkYW4pIiwgIk5vcmVlbiBsaXQgbGEgc291cmF0ZSBlbnRpw6hyZSAobGVjdHVyZSBk4oCZYWQtRMO7csOuIDogZGUgcGV0aXRlcyBkaWZmw6lyZW5jZXMgYXZlYyBsZSB0ZXh0ZSBhZmZpY2jDqSwgZW4gSGFmcywgc29udCBub3JtYWxlcykuIFVuIHZlcnNldCBpc29sw6kgZXN0IGx1IHBhciBNaXNoYXJ5IEFsYWZhc3kuIjogIk5vcmVlbiByZWFkcyB0aGUgZnVsbCBzdXJhaCAoYWQtRMWrcsSrIHJlYWRpbmc6IHNtYWxsIGRpZmZlcmVuY2VzIGZyb20gdGhlIGRpc3BsYXllZCBIYWZzIHRleHQgYXJlIG5vcm1hbCkuIEEgc2luZ2xlIHZlcnNlIGlzIHJlYWQgYnkgTWlzaGFyeSBBbGFmYXN5LiIsICJOb3JlZW4gbGl0IGxhIHNvdXJhdGUgZW50acOocmUgOiBjZSB2ZXJzZXQgZXN0IGx1IHBhciBNaXNoYXJ5IEFsYWZhc3kiOiAiTm9yZWVuIHJlYWRzIHRoZSBmdWxsIHN1cmFoOiB0aGlzIHZlcnNlIGlzIHJlYWQgYnkgTWlzaGFyeSBBbGFmYXN5IiwgIlRleHRlIGFyYWJlLCB0cmFkdWN0aW9uLCByw6ljaXRhdGlvbiDDoCByw6lww6l0ZXIgYXV0YW50IHF1ZSB2b3VzIHZvdWxleiwgZXQgYXVkaW9zIMOgIHTDqWzDqWNoYXJnZXIuIjogIkFyYWJpYyB0ZXh0LCB0cmFuc2xhdGlvbiwgcmVjaXRhdGlvbiB0byByZXBlYXQgYXMgb2Z0ZW4gYXMgeW91IGxpa2UsIGFuZCBhdWRpbyB0byBkb3dubG9hZC4iLCAiQWZmaWNoYWdlIjogIkRpc3BsYXkiLCAiU291cmF0ZXMiOiAiU3VyYWhzIiwgIkp1euKAmSAoMzAgcGFydGllcykiOiAiSnV64oCZICgzMCBwYXJ0cykiLCAiSnV64oCZIDMwIMK3IGxlcyBzb3VyYXRlcyBjb3VydGVzIjogIkp1euKAmSAzMCDCtyB0aGUgc2hvcnQgc3VyYWhzIiwgIkp1euKAmSAyOSDCtyBk4oCZYWwtTXVsayDDoCBhbC1NdXJzYWzDonQiOiAiSnV64oCZIDI5IMK3IGZyb20gYWwtTXVsayB0byBhbC1NdXJzYWxhdCIsICJDb21tZW5jZSDDoCBsYSBzb3VyYXRlIjogIlN0YXJ0cyBhdCBzdXJhaCIsICJzb3VyYXRlIGVudGnDqHJlIjogImZ1bGwgc3VyYWgiLCAic291cmF0ZShzKSDCtyI6ICJzdXJhaChzKSDCtyIsICJUw6lsw6ljaGFyZ2VyIGxlIHZlcnNldCI6ICJEb3dubG9hZCB0aGUgdmVyc2UiLCAiVMOpbMOpY2hhcmdlciBsYSBzb3VyYXRlIjogIkRvd25sb2FkIHRoZSBzdXJhaCIsICJSw6lww6l0aXRpb24gZXQgdml0ZXNzZSI6ICJSZXBlYXQgYW5kIHNwZWVkIiwgIlLDqXDDqXRlciBsZSB2ZXJzZXQiOiAiUmVwZWF0IHRoZSB2ZXJzZSIsICJSw6lww6l0ZXIgbGEgc291cmF0ZSI6ICJSZXBlYXQgdGhlIHN1cmFoIiwgIlZpdGVzc2UiOiAiU3BlZWQiLCAiU291cmF0ZSBlbnRpw6hyZSDCtyBwYXMgZGUgcsOpcMOpdGl0aW9uIHBhciB2ZXJzZXQiOiAiRnVsbCBzdXJhaCDCtyBubyB2ZXJzZS1ieS12ZXJzZSByZXBlYXQiLCAiU291cmF0ZSBlbnRpw6hyZSI6ICJGdWxsIHN1cmFoIiwgIlZlcnNldCI6ICJWZXJzZSIsICJyw6lww6l0aXRpb24iOiAicmVwZWF0IiwgInNvdXJhdGUiOiAic3VyYWgiLCAiUsOpcMOpdGl0aW9uIjogIlJlcGVhdCIsICJOb3JlZW4gbGl0IGxhIHNvdXJhdGUgZW50acOocmUgOiByZXByaXNlIGF1IGTDqWJ1dCI6ICJOb3JlZW4gcmVhZHMgdGhlIGZ1bGwgc3VyYWg6IHJlc3RhcnRpbmcgZnJvbSB0aGUgYmVnaW5uaW5nIiwgIkxlY3R1cmUgcmVwcmlzZSBhdSB2ZXJzZXQgMSI6ICJQbGF5YmFjayByZXN0YXJ0ZWQgYXQgdmVyc2UgMSIsICJUZXJtaW7DqSwgdG91Y2hleiBwb3VyIHJlY29tbWVuY2VyIjogIkRvbmUsIHRhcCB0byBzdGFydCBhZ2FpbiIsICJUb3VjaGV6IMOgIGNoYXF1ZSByw6ljaXRhdGlvbiDCtyI6ICJUYXAgYWZ0ZXIgZWFjaCByZWNpdGF0aW9uIMK3IiwgIlRvdWNoZXogcG91ciBjb21wdGVyIjogIlRhcCB0byBjb3VudCIsICJDb21wdGV1ciI6ICJDb3VudGVyIiwgIlJlbWV0dHJlIMOgIHrDqXJvIjogIlJlc2V0IiwgIlRlcm1pbsOpLiBRdeKAmUFsbGFoIGzigJlhY2NlcHRlLiI6ICJEb25lLiBNYXkgQWxsYWggYWNjZXB0IGl0LiIsICJSw6lww6l0ZXIiOiAiUmVwZWF0IiwgIlTDqWzDqWNoYXJnZXIgbOKAmWF1ZGlvIjogIkRvd25sb2FkIHRoZSBhdWRpbyIsICJDb21wdGVyIjogIkNvdW50IiwgIkxlIG5vdXZlYXUgbm9tYnJlIGRlIHLDqXDDqXRpdGlvbnMgc+KAmWFwcGxpcXVlIMOgIGxhIHByb2NoYWluZSBsZWN0dXJlIjogIlRoZSBuZXcgcmVwZWF0IGNvdW50IGFwcGxpZXMgdG8gdGhlIG5leHQgcGxheWJhY2siLCAiR2xvaXJlIMOgIEFsbGFoIjogIkdsb3J5IGJlIHRvIEFsbGFoIiwgIkxvdWFuZ2Ugw6AgQWxsYWgiOiAiUHJhaXNlIGJlIHRvIEFsbGFoIiwgIkFsbGFoIGVzdCBsZSBQbHVzIEdyYW5kIjogIkFsbGFoIGlzIHRoZSBHcmVhdGVzdCIsICJJbCBu4oCZeSBhIGRlIGRpdmluaXTDqSBkaWduZSBk4oCZYWRvcmF0aW9uIHF14oCZQWxsYWgiOiAiVGhlcmUgaXMgbm8gZ29kIHdvcnRoeSBvZiB3b3JzaGlwIGJ1dCBBbGxhaCIsICJKZSBkZW1hbmRlIHBhcmRvbiDDoCBBbGxhaCI6ICJJIHNlZWsgQWxsYWjigJlzIGZvcmdpdmVuZXNzIiwgIklsIG7igJl5IGEgZGUgcHVpc3NhbmNlIG5pIGRlIGZvcmNlIHF14oCZZW4gQWxsYWgiOiAiVGhlcmUgaXMgbm8gcG93ZXIgYW5kIG5vIHN0cmVuZ3RoIGV4Y2VwdCB3aXRoIEFsbGFoIiwgIkdsb2lyZSBldCBsb3VhbmdlIMOgIEFsbGFoIjogIkdsb3J5IGFuZCBwcmFpc2UgYmUgdG8gQWxsYWgiLCAiw5QgQWxsYWgsIHByaWUgc3VyIG5vdHJlIFByb3Bow6h0ZSBNdWhhbW1hZCBldCBzYWx1ZS1sZSI6ICJPIEFsbGFoLCBzZW5kIHByYXllcnMgYW5kIHBlYWNlIHVwb24gb3VyIFByb3BoZXQgTXVoYW1tYWQiLCAiSWwgbuKAmXkgYSBkZSBkaXZpbml0w6kgZGlnbmUgZOKAmWFkb3JhdGlvbiBxdeKAmUFsbGFoLCBTZXVsLCBzYW5zIGFzc29jacOpLiDDgCBMdWkgbGEgcm95YXV0w6ksIMOgIEx1aSBsYSBsb3VhbmdlLCBldCBJbCBlc3QgY2FwYWJsZSBkZSB0b3V0ZSBjaG9zZSI6ICJUaGVyZSBpcyBubyBnb2Qgd29ydGh5IG9mIHdvcnNoaXAgYnV0IEFsbGFoLCBhbG9uZSwgd2l0aG91dCBwYXJ0bmVyLiBIaXMgaXMgdGhlIGRvbWluaW9uIGFuZCBIaXMgaXMgdGhlIHByYWlzZSwgYW5kIEhlIGhhcyBwb3dlciBvdmVyIGFsbCB0aGluZ3MiLCAiQ2hhcGVsZXQgw6lsZWN0cm9uaXF1ZSI6ICJEaWdpdGFsIHRhc2JpaCIsICJEaGlrciI6ICJEaGlrciIsICJPYmplY3RpZiI6ICJHb2FsIiwgIkFwcsOocyBsYSBwcmnDqHJlIjogIkFmdGVyIHByYXllciIsICJBcHLDqHMgY2hhcXVlIHByacOocmUgOiBTdWLhuKXDom4gQWxsw6JoIMOXIDMzLCBBbC3huKVhbWR1IGxpLWxsw6JoIMOXIDMzLCBBbGzDomh1IGFrYmFyIMOXIDMzLCBwdWlzIHVuZSBmb2lzIGxhIGZvcm11bGUgZOKAmXVuaWNpdMOpIHBvdXIgYXR0ZWluZHJlIDEwMC4gw4l0YXBlIjogIkFmdGVyIGVhY2ggcHJheWVyOiBTdWLhuKXDom4gQWxsw6JoIMOXIDMzLCBBbC3huKVhbWR1IGxpLWxsw6JoIMOXIDMzLCBBbGzDomh1IGFrYmFyIMOXIDMzLCB0aGVuIG9uY2UgdGhlIGZvcm11bGEgb2Ygb25lbmVzcyB0byByZWFjaCAxMDAuIFN0ZXAiLCAiw4l0YXBlIHN1aXZhbnRlIDoiOiAiTmV4dCBzdGVwOiIsICJDaGFwZWxldCB0ZXJtaW7DqS4gUXXigJlBbGxhaCBs4oCZYWNjZXB0ZS4iOiAiVGFzYmloIGNvbXBsZXRlLiBNYXkgQWxsYWggYWNjZXB0IGl0LiIsICJPYmplY3RpZiBhdHRlaW50LiBRdeKAmUFsbGFoIGzigJlhY2NlcHRlLiI6ICJHb2FsIHJlYWNoZWQuIE1heSBBbGxhaCBhY2NlcHQgaXQuIiwgIm9iamVjdGlmIjogImdvYWwiLCAiY29tcHRldXIgbGlicmUiOiAiZnJlZSBjb3VudGVyIiwgIkxlcyBkb3VhcyBkdSBxdW90aWRpZW4sIGR1IEhhamogZXQgZGUgbGEgT21yYSwgYXZlYyBsZSB0ZXh0ZSBhcmFiZSwgbGEgdHJhZHVjdGlvbiwgbGEgc291cmNlLCBs4oCZw6ljb3V0ZSDDoCByw6lww6l0ZXIgZXQgdW4gY29tcHRldXIuIjogIkV2ZXJ5ZGF5IGR1YXMsIEhhamogYW5kIFVtcmFoIGR1YXMsIHdpdGggdGhlIEFyYWJpYyB0ZXh0LCB0cmFuc2xhdGlvbiwgc291cmNlLCByZXBlYXRhYmxlIGxpc3RlbmluZyBhbmQgYSBjb3VudGVyLiIsICJUb3VjaGV6IGzigJnDqWNyYW4gw6AgY2hhcXVlIGRoaWtyIDogMzMsIDk5LCAxMDAgb3Ugc2FucyBsaW1pdGUiOiAiVGFwIHRoZSBzY3JlZW4gYXQgZWFjaCBkaGlrcjogMzMsIDk5LCAxMDAgb3IgdW5saW1pdGVkIiwgIkZhdm9yaSI6ICJGYXZvcml0ZSIsICJUb3V0IjogIkFsbCIsICJWZXJzZXRzIjogIlZlcnNlcyIsICJPdXZyaXIgZGFucyBsYSBzb3VyYXRlIjogIk9wZW4gaW4gdGhlIHN1cmFoIiwgIlJpZW4gZGFucyBjZXR0ZSBjYXTDqWdvcmllLiI6ICJOb3RoaW5nIGluIHRoaXMgY2F0ZWdvcnkuIiwgIlBhcyBlbmNvcmUgZGUgZmF2b3JpLiI6ICJObyBmYXZvcml0ZXMgeWV0LiIsICJUb3VjaGV6IGxlIGPFk3VyIHN1ciB1biB2ZXJzZXQsIHVuZSBpbnZvY2F0aW9uIG91IHVuIHJhcHBlbCA6IGlsIGFwcGFyYcOudCBpY2ksIHByw6p0IMOgIMOqdHJlIHJlbHUgZW4gdW4gZ2VzdGUuIjogIlRhcCB0aGUgaGVhcnQgb24gYSB2ZXJzZSwgYSBkdWEgb3IgYSByZW1pbmRlcjogaXQgYXBwZWFycyBoZXJlLCByZWFkeSB0byByZWFkIGFnYWluIGluIG9uZSB0YXAuIiwgIkhvcnMgY29ubmV4aW9uIDogY2UgdmVyc2V0IHPigJlhZmZpY2hlcmEgZMOocyBxdWUgdm91cyBzZXJleiBlbiBsaWduZS4iOiAiT2ZmbGluZTogdGhpcyB2ZXJzZSB3aWxsIGFwcGVhciBhcyBzb29uIGFzIHlvdSBhcmUgYmFjayBvbmxpbmUuIiwgIk1lcyBmYXZvcmlzIjogIk15IGZhdm9yaXRlcyIsICJWb3MgdmVyc2V0cywgaW52b2NhdGlvbnMgZXQgcmFwcGVscyBwcsOpZsOpcsOpcywgw6AgcmVsaXJlIGVuIHVuIGdlc3RlLiI6ICJZb3VyIGZhdm9yaXRlIHZlcnNlcywgZHVhcyBhbmQgcmVtaW5kZXJzLCB0byByZWFkIGFnYWluIGluIG9uZSB0YXAuIiwgIlR5cGUiOiAiVHlwZSIsICJBam91dMOpIGF1eCBmYXZvcmlzIjogIkFkZGVkIHRvIGZhdm9yaXRlcyIsICJSZXRpcsOpIGRlcyBmYXZvcmlzIjogIlJlbW92ZWQgZnJvbSBmYXZvcml0ZXMifTsKKGZ1bmN0aW9uKCl7Cid1c2Ugc3RyaWN0JzsKdmFyIFJPT1Q9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3ZoJyk7aWYoIVJPT1QpcmV0dXJuOwp2YXIgVVA9Jy93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8xMC8nOwp2YXIgTE9HTz1VUCsnbG9nby1oYWxhbC1jb3RlLWRpdm9pcmUtNDAwLnBuZycsTEFCRUw9VVArJ2hhbGFsLWNpLWxhYmVsLWNlcnRpZmllLWhhbGFsLnBuZyc7CnZhciBXQT0naHR0cHM6Ly93YS5tZS8yMjUwNzA3NDUyNjA2JyxURUw9JysyMjUgMDcgMDcgNDUgMjYgMDYnOwp2YXIgRk9STT17Y2VydGlmOjI3NzEsZm9ybWF0aW9uOjMxODEscXVlc3Rpb246MjY4OCxwcm9kdWl0OjMzNTl9Owp2YXIgREVGPXtsYXQ6NS4zNjAwLGxvbjotNC4wMDgzLG5hbWU6VCgnQWJpZGphbicpfTsKCi8qIC0tLS0tLS0tLS0gdXRpbGl0YWlyZXMgLS0tLS0tLS0tLSAqLwpmdW5jdGlvbiAkKHMscil7cmV0dXJuIChyfHxST09UKS5xdWVyeVNlbGVjdG9yKHMpfQpmdW5jdGlvbiAkJChzLHIpe3JldHVybiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCgocnx8Uk9PVCkucXVlcnlTZWxlY3RvckFsbChzKSl9CmZ1bmN0aW9uIGVzYyhzKXtyZXR1cm4gU3RyaW5nKHM9PW51bGw\/Jyc6cykucmVwbGFjZSgvWyY8PiInXS9nLGZ1bmN0aW9uKGMpe3JldHVybiB7JyYnOicmYW1wOycsJzwnOicmbHQ7JywnPic6JyZndDsnLCciJzonJnF1b3Q7JywiJyI6JyYjMzk7J31bY119KX0KZnVuY3Rpb24gbm9ybShzKXtyZXR1cm4gU3RyaW5nKHN8fCcnKS50b0xvd2VyQ2FzZSgpLm5vcm1hbGl6ZSgnTkZEJykucmVwbGFjZSgvW8yALc2vXS9nLCcnKS5yZXBsYWNlKC9bXmEtejAtOVwvIF0vZywnICcpLnJlcGxhY2UoL1xzKy9nLCcgJykudHJpbSgpfQp2YXIgU1Q9e2dldDpmdW5jdGlvbihrLGQpe3RyeXt2YXIgdj1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndmhfJytrKTtyZXR1cm4gdj09bnVsbD9kOkpTT04ucGFyc2Uodil9Y2F0Y2goZSl7cmV0dXJuIGR9fSxzZXQ6ZnVuY3Rpb24oayx2KXt0cnl7bG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3ZoXycrayxKU09OLnN0cmluZ2lmeSh2KSl9Y2F0Y2goZSl7fX19Owp2YXIgSFNFUD1udWxsOwp2YXIgTEFORz1TVC5nZXQoJ2xhbmcnLC9eZW4vaS50ZXN0KG5hdmlnYXRvci5sYW5ndWFnZXx8JycpPydlbic6J2ZyJyksTE9DPUxBTkc9PT0nZW4nPydlbi1HQic6J2ZyLUZSJztIU0VQPUxBTkc9PT0nZW4nPyc6JzonaCc7CnRyeXtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQubGFuZz1MQU5HfWNhdGNoKGUpe30KdmFyIFBSSVY9Jy9wb2xpdGlxdWUtY29uZmlkZW50aWFsaXRlLycrKExBTkc9PT0nZW4nPycjZW5nbGlzaCc6JycpOwpmdW5jdGlvbiBUKHMpe2lmKExBTkchPT0nZW4nfHx0eXBlb2YgcyE9PSdzdHJpbmcnKXJldHVybiBzO3ZhciBtPXMubWF0Y2goL14oXHMqKShbXHNcU10qPykoXHMqKSQvKSxrPW1bMl07cmV0dXJuICh0eXBlb2YgVkhfRU4hPT0ndW5kZWZpbmVkJyYmVkhfRU5ba10hPW51bGwpP21bMV0rVkhfRU5ba10rbVszXTpzfQppZihMQU5HPT09J2VuJyYmdHlwZW9mIERVQVNfRU4hPT0ndW5kZWZpbmVkJyl7RFVBUy5mb3JFYWNoKGZ1bmN0aW9uKHMpe3ZhciBlPURVQVNfRU5bcy5pZF07aWYoIWUpcmV0dXJuO2lmKGUudClzLnQ9ZS50O2lmKGUuaW50cm8pcy5pbnRybz1lLmludHJvOyhlLml0ZW1zfHxbXSkuZm9yRWFjaChmdW5jdGlvbihpdCxpKXt2YXIgZD1zLml0ZW1zW2ldO2lmKGQmJml0KXtpZihpdC50KWQudD1pdC50O2lmKGl0LmZyKWQuZnI9aXQuZnI7aWYoaXQubilkLm49aXQubjtpZihpdC5yKWQucj1pdC5yO2lmKGl0LmcpZC5nPWl0Lmd9fSl9KX0KdmFyIFNTPXtnZXQ6ZnVuY3Rpb24oayl7dHJ5e3JldHVybiBKU09OLnBhcnNlKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3ZoXycraykpfWNhdGNoKGUpe3JldHVybiBudWxsfX0sc2V0OmZ1bmN0aW9uKGssdil7dHJ5e3Nlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ3ZoXycrayxKU09OLnN0cmluZ2lmeSh2KSl9Y2F0Y2goZSl7fX19OwpmdW5jdGlvbiBpY28obil7dmFyIHA9ewogc2NhbjonPHBhdGggZD0iTTQgOFY1YTEgMSAwIDAgMSAxLTFoM00xNiA0aDNhMSAxIDAgMCAxIDEgMXYzTTIwIDE2djNhMSAxIDAgMCAxLTEgMWgtM004IDIwSDVhMSAxIDAgMCAxLTEtMXYtM003IDEyaDEwIi8+JywKIHBpbjonPHBhdGggZD0iTTEyIDIxczctNi4yIDctMTEuNUE3IDcgMCAwIDAgNSA5LjVDNSAxNC44IDEyIDIxIDEyIDIxeiIvPjxjaXJjbGUgY3g9IjEyIiBjeT0iOS41IiByPSIyLjUiLz4nLAogY2xvY2s6JzxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjkiLz48cGF0aCBkPSJNMTIgN3Y1bDMgMiIvPicsCiBib29rOic8cGF0aCBkPSJNNCA1YTIgMiAwIDAgMSAyLTJoMTN2MTZINmEyIDIgMCAwIDAtMiAyek00IDE5VjVNOSA3aDYiLz4nLAogYmVsbDonPHBhdGggZD0iTTYgMTZWMTFhNiA2IDAgMCAxIDEyIDB2NWwxLjUwMCAyaC0xNXpNMTAgMjFoNCIvPicsCiBtYWlsOic8cmVjdCB4PSIzIiB5PSI1IiB3aWR0aD0iMTgiIGhlaWdodD0iMTQiIHJ4PSIyIi8+PHBhdGggZD0iTTMgN2w5IDYgOS02Ii8+JywKIGNhbTonPHBhdGggZD0iTTQgOGgzbDItM2g2bDIgM2gzdjExSDR6Ii8+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMyIgcj0iMy41Ii8+JywKIHNlYXJjaDonPGNpcmNsZSBjeD0iMTEiIGN5PSIxMSIgcj0iNyIvPjxwYXRoIGQ9Ik0yMCAyMGwtNC00Ii8+JywKIHg6JzxwYXRoIGQ9Ik02IDZsMTIgMTJNMTggNkw2IDE4Ii8+JywKIG9rOic8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIvPjxwYXRoIGQ9Ik04IDEyLjUwMGwzIDMgNS02Ii8+JywKIG5vOic8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIvPjxwYXRoIGQ9Ik0xMiA3djZNMTIgMTYuNTAwdi4wMSIvPicsCiBjZXJ0Oic8cGF0aCBkPSJNNiAzaDEydjE4bC02LTMtNiAzeiIvPjxwYXRoIGQ9Ik05IDhoNk05IDEyaDYiLz4nLAogZWR1Oic8cGF0aCBkPSJNMiA5bDEwLTUgMTAgNS0xMCA1ek02IDExdjVjMCAxLjUwMCAzIDMgNiAzczYtMS41MDAgNi0zdi01Ii8+JywKIHN0YXI6JzxwYXRoIGQ9Ik0xMiAzbDIuMjAwIDYuMjAwIDYuNTAwLjMwMC01LjEwMCA0IDEuODAwIDYuMzAwTDEyIDE2bC01LjQwMCAzLjgwMCAxLjgwMC02LjMwMC01LjEwMC00IDYuNTAwLS4zMDB6Ii8+JywKIGhlbHA6JzxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEwIi8+PHBhdGggZD0iTTkuNTAwIDlhMi41MDAgMi41MDAgMCAxIDEgMy41MDAgMi4zMDBjLS43LjQwMC0xIC45LTEgMS43MDBNMTIgMTd2LjAxIi8+JywKIHdhOic8cGF0aCBkPSJNNCAyMGwxLjMwMC00QTggOCAwIDEgMSA4IDE4LjcwMHoiLz4nLAogcmVzdG86JzxwYXRoIGQ9Ik03IDN2OGEyIDIgMCAwIDAgMiAydjhNNSAzdjZNOSAzdjZNMTcgMjFWM2MtMiAxLTMgNC0zIDhoMyIvPicsCiBtZWF0Oic8cGF0aCBkPSJNNSAxMGMwLTMgMy01IDctNXM3IDIgNyA1LTMgNS03IDVjLTEuNTAwIDAtMy0uMy00LTFsLTMgM3YtNWMtLjYtLjYtMS0xLjIwMC0xLTJ6Ii8+JywKIHNob3A6JzxwYXRoIGQ9Ik00IDlsMS01aDE0bDEgNU00IDl2MTFoMTZWOU00IDlhMi43MDAgMi43MDAgMCAwIDAgNS4zMDAgMCAyLjcwMCAyLjcwMCAwIDAgMCA1LjQwMCAwIDIuNzAwIDIuNzAwIDAgMCAwIDUuMzAwIDBNMTAgMjB2LTVoNHY1Ii8+JywKIG1vc3E6JzxwYXRoIGQ9Ik0xMiAzYy0yIDItMyAzLjUwMC0zIDUuNTAwSDE1QzE1IDYuNTAwIDE0IDUgMTIgM3pNNyAyMVYxMmgxMHY5TTQgMjFoMTZNNCAyMXYtNk0yMCAyMXYtNiIvPicsCiBsb2M6JzxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjMiLz48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI4Ii8+PHBhdGggZD0iTTEyIDJ2Mk0xMiAyMHYyTTIgMTJoMk0yMCAxMmgyIi8+JywKIHBsYXk6JzxwYXRoIGQ9Ik04IDV2MTRsMTEtN3oiIGZpbGw9ImN1cnJlbnRDb2xvciIgc3Ryb2tlPSJub25lIi8+JywKIGhlYXJ0Oic8cGF0aCBkPSJNMTIgMjBzLTcuNTAwLTQuNjAwLTcuNTAwLTEwLjIwMEE0LjMwMCA0LjMwMCAwIDAgMSAxMiA3LjIwMGE0LjMwMCA0LjMwMCAwIDAgMSA3LjUwMCAyLjYwMEMxOS41MDAgMTUuNDAwIDEyIDIwIDEyIDIweiIvPicsCiBkbDonPHBhdGggZD0iTTEyIDR2MTFNNy41MDAgMTFsNC41MDAgNC41MDAgNC41MDAtNC41MDBNNSAyMGgxNCIvPicsCiByZXA6JzxwYXRoIGQ9Ik00IDExVjkuNTAwQTMuNTAwIDMuNTAwIDAgMCAxIDcuNTAwIDZIMTlsLTMtM00yMCAxM3YxLjUwMGEzLjUwMCAzLjUwMCAwIDAgMS0zLjUwMCAzLjUwMEg1bDMgMyIvPicsCiByZXNldDonPHBhdGggZD0iTTQgNHY2aDZNNS42MDAgMTQuNTAwQTcgNyAwIDEgMCA3IDdMNCAxMCIvPicsCiBiZWFkczonPGNpcmNsZSBjeD0iMTIiIGN5PSI1IiByPSIyIi8+PGNpcmNsZSBjeD0iMTgiIGN5PSI5IiByPSIyIi8+PGNpcmNsZSBjeD0iMTciIGN5PSIxNi41MDAiIHI9IjIiLz48Y2lyY2xlIGN4PSI3IiBjeT0iMTYuNTAwIiByPSIyIi8+PGNpcmNsZSBjeD0iNiIgY3k9IjkiIHI9IjIiLz4nLAogc2hhcmU6JzxjaXJjbGUgY3g9IjYiIGN5PSIxMiIgcj0iMi41MDAiLz48Y2lyY2xlIGN4PSIxOCIgY3k9IjYiIHI9IjIuNTAwIi8+PGNpcmNsZSBjeD0iMTgiIGN5PSIxOCIgcj0iMi41MDAiLz48cGF0aCBkPSJNOC4yMDAgMTFsNy42MDAtNE04LjIwMCAxM2w3LjYwMCA0Ii8+Jwp9O3JldHVybiAnPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGFyaWEtaGlkZGVuPSJ0cnVlIj4nKyhwW25dfHwnJykrJzwvc3ZnPid9CmZ1bmN0aW9uIHRvYXN0KG0pe3ZhciB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO3QudGV4dENvbnRlbnQ9bTt0LnNldEF0dHJpYnV0ZSgncm9sZScsJ3N0YXR1cycpO3Quc3R5bGUuY3NzVGV4dD0ncG9zaXRpb246YWJzb2x1dGU7bGVmdDoxNnB4O3JpZ2h0OjE2cHg7Ym90dG9tOjkwcHg7ei1pbmRleDo2MDtiYWNrZ3JvdW5kOiMwYjNhMWQ7Y29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOjE0cHg7cGFkZGluZzoxMnB4IDE2cHg7Zm9udC13ZWlnaHQ6NjAwO3RleHQtYWxpZ246Y2VudGVyO2JveC1zaGFkb3c6MCAxMHB4IDMwcHggcmdiYSgwLDAsMCwuMyknO1JPT1QuYXBwZW5kQ2hpbGQodCk7c2V0VGltZW91dChmdW5jdGlvbigpe3QucmVtb3ZlKCl9LDMyMDApfQpmdW5jdGlvbiBkaXN0KGEsYixjLGQpe3ZhciBSPTYzNzEscj1NYXRoLlBJLzE4MCxkbD0oYy1hKSpyLGRnPShkLWIpKnIseD1NYXRoLnNpbihkbC8yKSpNYXRoLnNpbihkbC8yKStNYXRoLmNvcyhhKnIpKk1hdGguY29zKGMqcikqTWF0aC5zaW4oZGcvMikqTWF0aC5zaW4oZGcvMik7cmV0dXJuIDIqUipNYXRoLmFzaW4oTWF0aC5zcXJ0KHgpKX0KZnVuY3Rpb24gZm10S20oayl7cmV0dXJuIGs8MT9NYXRoLnJvdW5kKGsqMTAwMCkrJyBtJzprLnRvRml4ZWQoMSkucmVwbGFjZSgnLicsJywnKSsnIGttJ30KZnVuY3Rpb24gbG9hZFNjcmlwdChzcmMpe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihvayxrbyl7dmFyIHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7cy5zcmM9c3JjO3Mub25sb2FkPW9rO3Mub25lcnJvcj1rbztkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHMpfSl9CmZ1bmN0aW9uIGxvYWRDc3MoaHJlZil7dmFyIGw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGluaycpO2wucmVsPSdzdHlsZXNoZWV0JztsLmhyZWY9aHJlZjtkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGwpfQoKLyogLS0tLS0tLS0tLSBjb3F1ZSAtLS0tLS0tLS0tICovCnZhciBUQUJTPVtbJ3ZlcmlmJyxUKCdWw6lyaWZpZXInKSwnc2NhbiddLFsnbmVhcicsVCgnQXV0b3VyJyksJ3BpbiddLFsncHJheScsVCgnUHJpw6hyZScpLCdjbG9jayddLFsncXVyYW4nLFQoJ0NvcmFuJyksJ2Jvb2snXSxbJ2RvdWEnLFQoJ0RvdWEnKSwnc3RhciddLFsncmVtJyxUKCdSYXBwZWxzJyksJ2JlbGwnXSxbJ2ZhdicsVCgnRmF2b3JpcycpLCdoZWFydCddXTsKUk9PVC5pbm5lckhUTUw9JzxoZWFkZXIgY2xhc3M9InZoLXRvcCI+PHNwYW4gY2xhc3M9InZoLWxvZ28iPjxceDY5bWcgc3JjPSInK0xPR08rKCJcIiBhbHQ9XCIiK1QoIkhhbGFsIEPDtHRlIGTigJlJdm9pcmUiKSsiXCI+IisiPC9zcGFuPiIrIjxkaXYgY2xhc3M9XCJ2aC1icmFuZFwiPiIrIjxiPiIrVCgiVsOpcmlm4oCZIikrIjxpPiIrVCgiSGFsYWwiKSsiPC9pPiIrVCgiIENJIikrIjwvYj4iKyI8c21hbGw+IitUKCJIYWxhbCBDw7R0ZSBk4oCZSXZvaXJlIMK3IG9yZ2FuaXNtZSBkZSBjZXJ0aWZpY2F0aW9uIikrIjwvc21hbGw+IisiPC9kaXY+IisiPGJ1dHRvbiBjbGFzcz1cInZoLWxhbmdcIiBpZD1cInZoLWxhbmdcIiB0eXBlPVwiYnV0dG9uXCIgYXJpYS1sYWJlbD1cIiIrVCgiTGFuZ3VhZ2UgLyBMYW5ndWUiKSsiXCI+IikrKExBTkc9PT0nZW4nPydGUic6J0VOJykrJzwvYnV0dG9uPjxidXR0b24gY2xhc3M9InZoLWN0YyIgaWQ9InZoLWN0YyIgdHlwZT0iYnV0dG9uIj4nK2ljbygnbWFpbCcpKyhUKCJDb250YWN0IikrIjwvYnV0dG9uPiIrIjwvaGVhZGVyPiIrIjxkaXYgaWQ9XCJ2aC1iblwiPiIrIjwvZGl2PiIpKwonPG1haW4gY2xhc3M9InZoLW1haW4iPicrVEFCUy5tYXAoZnVuY3Rpb24odCl7cmV0dXJuICc8c2VjdGlvbiBjbGFzcz0idmgtdmlldyIgaWQ9InYtJyt0WzBdKyciIGFyaWEtbGFiZWw9IicrdFsxXSsnIicrKHRbMF09PT0ndmVyaWYnPycnOicgaGlkZGVuJykrJz48L3NlY3Rpb24+J30pLmpvaW4oJycpKyc8ZGl2IGlkPSJ2aC1vdmVybGF5Ij48L2Rpdj48L21haW4+JysKKCI8bmF2IGNsYXNzPVwidmgtbmF2XCIgcm9sZT1cInRhYmxpc3RcIiBhcmlhLWxhYmVsPVwiIitUKCJTZWN0aW9ucyIpKyJcIj4iKStUQUJTLm1hcChmdW5jdGlvbih0LGkpe3JldHVybiAnPGJ1dHRvbiBjbGFzcz0idmgtdGFiIiByb2xlPSJ0YWIiIGRhdGEtdGFiPSInK3RbMF0rJyIgYXJpYS1zZWxlY3RlZD0iJysoaT09PTApKyciPicraWNvKHRbMl0pK3RbMV0rJzwvYnV0dG9uPid9KS5qb2luKCcnKSsnPC9uYXY+JzsKCiQoJyN2aC1sYW5nJykub25jbGljaz1mdW5jdGlvbigpe1NULnNldCgnbGFuZycsTEFORz09PSdlbic\/J2ZyJzonZW4nKTtsb2NhdGlvbi5yZWxvYWQoKX07CihmdW5jdGlvbigpe3ZhciBoPWRvY3VtZW50LmhlYWQ7ZnVuY3Rpb24gbShuLGMpe3ZhciBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ21ldGEnKTtlLm5hbWU9bjtlLmNvbnRlbnQ9YztoLmFwcGVuZENoaWxkKGUpfW0oJ3RoZW1lLWNvbG9yJywnIzBiM2ExZCcpO20oJ2FwcGxlLW1vYmlsZS13ZWItYXBwLWNhcGFibGUnLCd5ZXMnKTttKCdtb2JpbGUtd2ViLWFwcC1jYXBhYmxlJywneWVzJyk7bSgnYXBwbGUtbW9iaWxlLXdlYi1hcHAtdGl0bGUnLFQoJ1bDqXJpZuKAmUhhbGFsJykpO20oJ2FwcGxlLW1vYmlsZS13ZWItYXBwLXN0YXR1cy1iYXItc3R5bGUnLCdibGFjay10cmFuc2x1Y2VudCcpOwp2YXIgbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJyk7bC5yZWw9J2FwcGxlLXRvdWNoLWljb24nO2wuaHJlZj1sb2NhdGlvbi5vcmlnaW4rJy93cC1jb250ZW50L3VwbG9hZHMvMjAyNC8wNS9jcm9wcGVkLWxvZ28taGFsYWwtY290ZS1kaXZvaXJlLTAxLTE4MHgxODAucG5nJztoLmFwcGVuZENoaWxkKGwpOwp0cnl7dmFyIG1hbj17bmFtZTpUKCdWw6lyaWbigJlIYWxhbCBDSScpLHNob3J0X25hbWU6VCgnVsOpcmlm4oCZSGFsYWwnKSxkZXNjcmlwdGlvbjpUKCdWw6lyaWZpZXIgdW4gcHJvZHVpdCBoYWxhbCwgdHJvdXZlciBsZXMgw6l0YWJsaXNzZW1lbnRzIGNlcnRpZmnDqXMsIGhvcmFpcmVzIGRlIHByacOocmUgZXQgQ29yYW4uJyksc3RhcnRfdXJsOmxvY2F0aW9uLm9yaWdpbisnL3ZlcmlmLycsc2NvcGU6bG9jYXRpb24ub3JpZ2luKycvJyxkaXNwbGF5OidzdGFuZGFsb25lJyxiYWNrZ3JvdW5kX2NvbG9yOicjMGIzYTFkJyx0aGVtZV9jb2xvcjonIzBiM2ExZCcsbGFuZzonZnInLGljb25zOlt7c3JjOmxvY2F0aW9uLm9yaWdpbisnL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI0LzA1L2Nyb3BwZWQtbG9nby1oYWxhbC1jb3RlLWRpdm9pcmUtMDEtMTkyeDE5Mi5wbmcnLHNpemVzOicxOTJ4MTkyJyx0eXBlOidpbWFnZS9wbmcnLHB1cnBvc2U6J2FueSd9LHtzcmM6bG9jYXRpb24ub3JpZ2luKycvd3AtY29udGVudC91cGxvYWRzLzIwMjQvMDUvY3JvcHBlZC1sb2dvLWhhbGFsLWNvdGUtZGl2b2lyZS0wMS0yNzB4MjcwLnBuZycsc2l6ZXM6JzI3MHgyNzAnLHR5cGU6J2ltYWdlL3BuZycscHVycG9zZTonYW55J31dfTsKdmFyIG1sPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKTttbC5yZWw9J21hbmlmZXN0JzttbC5ocmVmPVVSTC5jcmVhdGVPYmplY3RVUkwobmV3IEJsb2IoW0pTT04uc3RyaW5naWZ5KG1hbildLHt0eXBlOidhcHBsaWNhdGlvbi9tYW5pZmVzdCtqc29uJ30pKTtoLmFwcGVuZENoaWxkKG1sKX1jYXRjaChlKXt9fSkoKTsKLyogLS0tLS0tLS0tLSBpbnN0YWxsYXRpb24gc3VyIGwnw6ljcmFuIGQnYWNjdWVpbCAtLS0tLS0tLS0tICovCnZhciBJTlNUPW51bGw7CndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdiZWZvcmVpbnN0YWxscHJvbXB0JyxmdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCk7SU5TVD1lfSk7CmZ1bmN0aW9uIGlzU3RhbmRhbG9uZSgpe3JldHVybiAod2luZG93Lm1hdGNoTWVkaWEmJm1hdGNoTWVkaWEoJyhkaXNwbGF5LW1vZGU6IHN0YW5kYWxvbmUpJykubWF0Y2hlcyl8fG5hdmlnYXRvci5zdGFuZGFsb25lPT09dHJ1ZX0KZnVuY3Rpb24gaW5zdGFsbFN0ZXBzKCl7CiAgdmFyIHVhPW5hdmlnYXRvci51c2VyQWdlbnQsaW9zPS9pUGhvbmV8aVBhZHxpUG9kLy50ZXN0KHVhKXx8KC9NYWMvLnRlc3QodWEpJiZuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHM+MSksYW5kPS9BbmRyb2lkLy50ZXN0KHVhKTsKICBpZihpb3MpcmV0dXJuICgiPHAgY2xhc3M9XCJzdWJcIj4iK1QoIlN1ciBpUGhvbmUgZXQgaVBhZCwgbOKAmWluc3RhbGxhdGlvbiBzZSBmYWl0IGRlcHVpcyAiKSsiPGI+IitUKCJTYWZhcmkiKSsiPC9iPiIrIi4iKyI8L3A+IisiPG9sIGNsYXNzPVwic3RlcHNcIj4iKyI8bGk+IitUKCJPdXZyZXogY2V0dGUgcGFnZSBkYW5zICIpKyI8Yj4iK1QoIlNhZmFyaSIpKyI8L2I+IitUKCIgKHBhcyBkYW5zIEZhY2Vib29rIG91IFdoYXRzQXBwKS4iKSsiPC9saT4iKyI8bGk+IitUKCJUb3VjaGV6IGxlIGJvdXRvbiAiKSsiPGI+IitUKCJQYXJ0YWdlciIpKyI8L2I+IitUKCIgKGxlIGNhcnLDqSBhdmVjIHVuZSBmbMOoY2hlIHZlcnMgbGUgaGF1dCkgZW4gYmFzIGRlIGzigJnDqWNyYW4uIikrIjwvbGk+IisiPGxpPiIrVCgiRmFpdGVzIGTDqWZpbGVyIGV0IHRvdWNoZXogIikrIjxiPiIrVCgiU3VyIGzigJnDqWNyYW4gZOKAmWFjY3VlaWwiKSsiPC9iPiIrIi4iKyI8L2xpPiIrIjxsaT4iK1QoIlRvdWNoZXogIikrIjxiPiIrVCgiQWpvdXRlciIpKyI8L2I+IitUKCIuIEzigJlpY8O0bmUgVsOpcmlm4oCZSGFsYWwgYXBwYXJhw650IHBhcm1pIHZvcyBhcHBsaWNhdGlvbnMuIikrIjwvbGk+IisiPC9vbD4iKTsKICBpZihhbmQpcmV0dXJuICgiPHAgY2xhc3M9XCJzdWJcIj4iK1QoIlN1ciBBbmRyb2lkLCBs4oCZaW5zdGFsbGF0aW9uIHNlIGZhaXQgZGVwdWlzICIpKyI8Yj4iK1QoIkNocm9tZSIpKyI8L2I+IisiLiIrIjwvcD4iKyI8b2wgY2xhc3M9XCJzdGVwc1wiPiIrIjxsaT4iK1QoIk91dnJleiBjZXR0ZSBwYWdlIGRhbnMgIikrIjxiPiIrVCgiQ2hyb21lIikrIjwvYj4iK1QoIiAocGFzIGRhbnMgRmFjZWJvb2sgb3UgV2hhdHNBcHApLiIpKyI8L2xpPiIrIjxsaT4iK1QoIlRvdWNoZXogbGUgbWVudSAiKSsiPGI+Iisi4ouuIisiPC9iPiIrVCgiIGVuIGhhdXQgw6AgZHJvaXRlLiIpKyI8L2xpPiIrIjxsaT4iK1QoIlRvdWNoZXogIikrIjxiPiIrVCgiSW5zdGFsbGVyIGzigJlhcHBsaWNhdGlvbiIpKyI8L2I+IitUKCIgb3UgIikrIjxiPiIrVCgiQWpvdXRlciDDoCBs4oCZw6ljcmFuIGTigJlhY2N1ZWlsIikrIjwvYj4iKyIuIisiPC9saT4iKyI8bGk+IitUKCJDb25maXJtZXouIEzigJlpY8O0bmUgVsOpcmlm4oCZSGFsYWwgYXBwYXJhw650IHBhcm1pIHZvcyBhcHBsaWNhdGlvbnMuIikrIjwvbGk+IisiPC9vbD4iKTsKICByZXR1cm4gKCI8cCBjbGFzcz1cInN1YlwiPiIrVCgiQXZlYyBDaHJvbWUsIEVkZ2Ugb3UgU2FmYXJpLCBvdXZyZXogbGUgbWVudSBkdSBuYXZpZ2F0ZXVyIGV0IGNob2lzaXNzZXogIikrIjxiPiIrVCgiSW5zdGFsbGVyIGzigJlhcHBsaWNhdGlvbiIpKyI8L2I+IitUKCIgb3UgIikrIjxiPiIrVCgiQWpvdXRlciDDoCBs4oCZw6ljcmFuIGTigJlhY2N1ZWlsIikrIjwvYj4iK1QoIi4gU3VyIHTDqWzDqXBob25lLCBs4oCZYXBwbGkgc+KAmW91dnJlIGVuc3VpdGUgZW4gcGxlaW4gw6ljcmFuLCBjb21tZSB1bmUgYXBwbGljYXRpb24uIikrIjwvcD4iKTsKfQpmdW5jdGlvbiBybUluc3QoKXt2YXIgYj0kKCcjdmgtaW5zdCcpO2lmKGIpYi5yZW1vdmUoKX0KZnVuY3Rpb24gc2hvd0luc3RhbGwoKXsKICBpZihJTlNUKXtJTlNULnByb21wdCgpO0lOU1QudXNlckNob2ljZS50aGVuKGZ1bmN0aW9uKGMpe2lmKGMmJmMub3V0Y29tZT09PSdhY2NlcHRlZCcpU1Quc2V0KCdpbnN0LW9mZicsMSk7SU5TVD1udWxsO2lmKGMmJmMub3V0Y29tZT09PSdhY2NlcHRlZCcpcm1JbnN0KCl9KS5jYXRjaChmdW5jdGlvbigpe30pO3JldHVybn0KICBvcGVuTW9kYWwoVCgnSW5zdGFsbGVyIGzigJlhcHBsaScpLGluc3RhbGxTdGVwcygpKTsKfQooZnVuY3Rpb24oKXsKICBpZihpc1N0YW5kYWxvbmUoKXx8U1QuZ2V0KCdpbnN0LW9mZicsMCkpcmV0dXJuOwogIHZhciBiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO2IuaWQ9J3ZoLWluc3QnO2IuY2xhc3NOYW1lPSd2aC1pbnN0JzsKICBiLmlubmVySFRNTD0oIjxkaXYgY2xhc3M9XCJ0XCI+IisiPGI+IitUKCJJbnN0YWxsZXogVsOpcmlm4oCZSGFsYWwgQ0kiKSsiPC9iPiIrIjxzbWFsbD4iK1QoIkFjY8OocyBkaXJlY3QgZGVwdWlzIHZvdHJlIMOpY3JhbiBk4oCZYWNjdWVpbCIpKyI8L3NtYWxsPiIrIjwvZGl2PiIrIjxidXR0b24gY2xhc3M9XCJnb1wiIHR5cGU9XCJidXR0b25cIj4iK1QoIkluc3RhbGxlciIpKyI8L2J1dHRvbj4iKyI8YnV0dG9uIGNsYXNzPVwieFwiIHR5cGU9XCJidXR0b25cIiBhcmlhLWxhYmVsPVwiIitUKCJNYXNxdWVyIikrIlwiPiIrIsOXIisiPC9idXR0b24+Iik7CiAgYi5xdWVyeVNlbGVjdG9yKCcuZ28nKS5vbmNsaWNrPXNob3dJbnN0YWxsOwogIGIucXVlcnlTZWxlY3RvcignLngnKS5vbmNsaWNrPWZ1bmN0aW9uKCl7U1Quc2V0KCdpbnN0LW9mZicsMSk7cm1JbnN0KCl9OwogICQoJyN2aC1ibicpLmFwcGVuZENoaWxkKGIpOwogIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdhcHBpbnN0YWxsZWQnLGZ1bmN0aW9uKCl7U1Quc2V0KCdpbnN0LW9mZicsMSk7cm1JbnN0KCl9KTsKfSkoKTsKLyogLS0tLS0tLS0tLSBtaXNlIMOgIGpvdXIgOiBwcsOpdmVuaXIgcXVhbmQgdW5lIG5vdXZlbGxlIHZlcnNpb24gZXhpc3RlIC0tLS0tLS0tLS0gKi8KdmFyIExBU1RDSEs9MDsKZnVuY3Rpb24gc2hvd1VwZGF0ZShuYil7CiAgaWYoJCgnI3ZoLXVwZCcpKXJldHVybjsKICB2YXIgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtiLmlkPSd2aC11cGQnO2IuY2xhc3NOYW1lPSd2aC1pbnN0IHZoLXVwZCc7CiAgYi5pbm5lckhUTUw9KCI8ZGl2IGNsYXNzPVwidFwiPiIrIjxiPiIrVCgiTm91dmVsbGUgdmVyc2lvbiBkaXNwb25pYmxlIikrIjwvYj4iKyI8c21hbGw+IitUKCJBY3R1YWxpc2V6IHBvdXIgcHJvZml0ZXIgZGVzIG5vdXZlYXV0w6lzIikrIjwvc21hbGw+IisiPC9kaXY+IisiPGJ1dHRvbiBjbGFzcz1cImdvXCIgdHlwZT1cImJ1dHRvblwiPiIrVCgiQWN0dWFsaXNlciIpKyI8L2J1dHRvbj4iKTsKICBiLnF1ZXJ5U2VsZWN0b3IoJy5nbycpLm9uY2xpY2s9ZnVuY3Rpb24oKXtsb2NhdGlvbi5ocmVmPWxvY2F0aW9uLnBhdGhuYW1lKyc\/dj0nK25iK2xvY2F0aW9uLmhhc2h9OwogICQoJyN2aC1ibicpLmFwcGVuZENoaWxkKGIpOwp9CmZ1bmN0aW9uIGNoZWNrVXBkYXRlKCl7CiAgdmFyIG5vdz1EYXRlLm5vdygpO2lmKG5vdy1MQVNUQ0hLPDYwMDAwMClyZXR1cm47TEFTVENISz1ub3c7CiAgaWYodHlwZW9mIFZIX0JVSUxEPT09J3VuZGVmaW5lZCcpcmV0dXJuOwogIGZldGNoKGxvY2F0aW9uLnBhdGhuYW1lKyc\/Y2hrPScrbm93LHtjYWNoZTonbm8tc3RvcmUnLGNyZWRlbnRpYWxzOidvbWl0J30pLnRoZW4oZnVuY3Rpb24ocil7cmV0dXJuIHIudGV4dCgpfSkudGhlbihmdW5jdGlvbihoKXsKICAgIHZhciBtPS9kYXRhLWJ1aWxkPSIoXGQrKSIvLmV4ZWMoaCk7aWYobSYmK21bMV0+K1ZIX0JVSUxEKXNob3dVcGRhdGUobVsxXSk7CiAgfSkuY2F0Y2goZnVuY3Rpb24oKXt9KTsKfQpkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCd2aXNpYmlsaXR5Y2hhbmdlJyxmdW5jdGlvbigpe2lmKCFkb2N1bWVudC5oaWRkZW4pY2hlY2tVcGRhdGUoKX0pOwpzZXRUaW1lb3V0KGNoZWNrVXBkYXRlLDI1MDApOwp2YXIgaW5pdGVkPXt9OwpmdW5jdGlvbiBnbyhuKXsKICBpZihDVVJNKUNVUk0oKTsKICAkJCgnLnZoLXRhYicpLmZvckVhY2goZnVuY3Rpb24oYil7Yi5zZXRBdHRyaWJ1dGUoJ2FyaWEtc2VsZWN0ZWQnLGIuZGF0YXNldC50YWI9PT1uKX0pOwogICQkKCcudmgtdmlldycpLmZvckVhY2goZnVuY3Rpb24odil7di5oaWRkZW49di5pZCE9PSd2LScrbn0pOwogIHRyeXtoaXN0b3J5LnJlcGxhY2VTdGF0ZShudWxsLCcnLCcjJytuKX1jYXRjaChlKXt9CiAgaWYoIWluaXRlZFtuXSl7aW5pdGVkW25dPTE7KHt2ZXJpZjppbml0VmVyaWYsbmVhcjppbml0TmVhcixwcmF5OmluaXRQcmF5LHF1cmFuOmluaXRRdXJhbixkb3VhOmluaXREb3VhLHJlbTppbml0UmVtLGZhdjppbml0RmF2fSlbbl0oKX0KICBpZihuPT09J2ZhdicpZHJhd0ZhdigpOwogIGlmKG49PT0nbmVhcicmJk1BUClzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7TUFQLmludmFsaWRhdGVTaXplKCl9LDUwKTsKfQpST09ULmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxmdW5jdGlvbihlKXt2YXIgdD1lLnRhcmdldC5jbG9zZXN0KCcudmgtdGFiJyk7aWYodClnbyh0LmRhdGFzZXQudGFiKX0pOwoKLyogLS0tLS0tLS0tLSBwb3NpdGlvbiAtLS0tLS0tLS0tICovCnZhciBQT1M9U1QuZ2V0KCdwb3MnLG51bGwpOwpmdW5jdGlvbiBhc2tQb3MoY2Isc2lsZW50KXsKICBpZighbmF2aWdhdG9yLmdlb2xvY2F0aW9uKXtpZighc2lsZW50KXRvYXN0KFQoJ1Bvc2l0aW9uIGluZGlzcG9uaWJsZSBzdXIgY2V0IGFwcGFyZWlsJykpO2NiJiZjYihudWxsKTtyZXR1cm59CiAgbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihmdW5jdGlvbihwKXtQT1M9e2xhdDpwLmNvb3Jkcy5sYXRpdHVkZSxsb246cC5jb29yZHMubG9uZ2l0dWRlLG5hbWU6VCgnTWEgcG9zaXRpb24nKSxyZWFsOnRydWV9O1NULnNldCgncG9zJyxQT1MpO2NiJiZjYihQT1MpfSxmdW5jdGlvbigpe2lmKCFzaWxlbnQpdG9hc3QoVCgnUG9zaXRpb24gcmVmdXPDqWUgOiBBYmlkamFuIGFmZmljaMOpZSBwYXIgZMOpZmF1dCcpKTtjYiYmY2IobnVsbCl9LHtlbmFibGVIaWdoQWNjdXJhY3k6ZmFsc2UsdGltZW91dDoxMjAwMCxtYXhpbXVtQWdlOjYwMDAwMH0pOwp9CmZ1bmN0aW9uIGN1clBvcygpe3JldHVybiBQT1N8fERFRn0KCi8qIC0tLS0tLS0tLS0gZW52b2kgZGUgZm9ybXVsYWlyZXMgKENvbnRhY3QgRm9ybSA3KSAtLS0tLS0tLS0tICovCnZhciBUU19LRVk9IjB4NEFBQUFBQUZOb2JMTFU5YTNIOHZaSSI7CmZ1bmN0aW9uIHRzVG9rZW4oKXsKICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzLHJlail7CiAgICBmdW5jdGlvbiBnbygpewogICAgICB2YXIgYm94PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO2JveC5zdHlsZS5jc3NUZXh0PSdwb3NpdGlvbjpmaXhlZDtib3R0b206MTJweDtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt6LWluZGV4Ojk5OTk5Jztkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGJveCk7CiAgICAgIHZhciBkb25lPWZhbHNlO2Z1bmN0aW9uIGZpbihmLHYpe2lmKGRvbmUpcmV0dXJuO2RvbmU9dHJ1ZTtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Ym94LnJlbW92ZSgpfSwzMDApO2Yodil9CiAgICAgIHRyeXt3aW5kb3cudHVybnN0aWxlLnJlbmRlcihib3gse3NpdGVrZXk6VFNfS0VZLGNhbGxiYWNrOmZ1bmN0aW9uKHQpe2ZpbihyZXMsdCl9LCdlcnJvci1jYWxsYmFjayc6ZnVuY3Rpb24oKXtmaW4ocmVqLG5ldyBFcnJvcigndHMnKSl9LCd0aW1lb3V0LWNhbGxiYWNrJzpmdW5jdGlvbigpe2ZpbihyZWosbmV3IEVycm9yKCd0cycpKX19KX1jYXRjaChlKXtmaW4ocmVqLGUpfQogICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZmluKHJlaixuZXcgRXJyb3IoJ3RzJykpfSw2MDAwMCk7CiAgICB9CiAgICBpZih3aW5kb3cudHVybnN0aWxlKXJldHVybiBnbygpOwogICAgdmFyIHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7cy5zcmM9J2h0dHBzOi8vY2hhbGxlbmdlcy5jbG91ZGZsYXJlLmNvbS90dXJuc3RpbGUvdjAvYXBpLmpzP3JlbmRlcj1leHBsaWNpdCc7cy5hc3luYz10cnVlO3Mub25sb2FkPWdvO3Mub25lcnJvcj1mdW5jdGlvbigpe3JlaihuZXcgRXJyb3IoJ3RzJykpfTtkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHMpOwogIH0pOwp9CmZ1bmN0aW9uIHNlbmRDRjcoaWQsZmQpewogIGZkLmFwcGVuZCgnX3dwY2Y3JyxpZCk7ZmQuYXBwZW5kKCdfd3BjZjdfdmVyc2lvbicsJzUuOScpO2ZkLmFwcGVuZCgnX3dwY2Y3X2xvY2FsZScsJ2ZyX0ZSJyk7ZmQuYXBwZW5kKCdfd3BjZjdfdW5pdF90YWcnLCd3cGNmNy1mJytpZCsnLXAwLW8xJyk7ZmQuYXBwZW5kKCdfd3BjZjdfY29udGFpbmVyX3Bvc3QnLCcwJyk7CiAgcmV0dXJuIHRzVG9rZW4oKS50aGVuKGZ1bmN0aW9uKHQpewogICAgZmQuYXBwZW5kKCdfd3BjZjdfdHVybnN0aWxlX3Jlc3BvbnNlJyx0KTsKICAgIHJldHVybiBmZXRjaCgnL3dwLWpzb24vY29udGFjdC1mb3JtLTcvdjEvY29udGFjdC1mb3Jtcy8nK2lkKycvZmVlZGJhY2snLHttZXRob2Q6VCgnUE9TVCcpLGJvZHk6ZmR9KS50aGVuKGZ1bmN0aW9uKHIpe3JldHVybiByLmpzb24oKX0pOwogIH0pOwp9CmZ1bmN0aW9uIGZpZWxkSFRNTChmKXsKICB2YXIgcmVxPWYucmVxPycgcmVxdWlyZWQnOicnLGxhYj1lc2MoZi5sYWJlbCkrKGYucmVxPycgKic6JycpLGlkPSdmLScrZi5uLnJlcGxhY2UoL1xXL2csJycpOwogIGlmKGYudHlwZT09PSdyYWRpbyd8fGYudHlwZT09PSdjaGVja2JveCcpewogICAgcmV0dXJuICc8ZmllbGRzZXQgY2xhc3M9ImZsZCI+PGxlZ2VuZD4nK2xhYisnPC9sZWdlbmQ+PGRpdiBjbGFzcz0ib3B0cyI+JytmLm9wdGlvbnMubWFwKGZ1bmN0aW9uKG8saSl7cmV0dXJuICc8bGFiZWwgY2xhc3M9Im9wdCI+PGlucHV0IHR5cGU9IicrZi50eXBlKyciIG5hbWU9IicrZi5uKyhmLnR5cGU9PT0nY2hlY2tib3gnPydbXSc6JycpKyciIHZhbHVlPSInK2VzYyhvKSsnIicrKGYudHlwZT09PSdyYWRpbycmJmk9PT0wPycgY2hlY2tlZCc6JycpKyc+Jytlc2MobykrJzwvbGFiZWw+J30pLmpvaW4oJycpKyc8L2Rpdj48L2ZpZWxkc2V0Pic7CiAgfQogIHZhciBjdGw7CiAgaWYoZi50eXBlPT09J3NlbGVjdCcpY3RsPSc8c2VsZWN0IGlkPSInK2lkKyciIG5hbWU9IicrZi5uKyciJytyZXErJz4nK2Yub3B0aW9ucy5tYXAoZnVuY3Rpb24obyl7cmV0dXJuICc8b3B0aW9uPicrZXNjKG8pKyc8L29wdGlvbj4nfSkuam9pbignJykrJzwvc2VsZWN0Pic7CiAgZWxzZSBpZihmLnR5cGU9PT0ndGV4dGFyZWEnKWN0bD0nPHRleHRhcmVhIGlkPSInK2lkKyciIG5hbWU9IicrZi5uKyciJytyZXErKGYucGg\/JyBwbGFjZWhvbGRlcj0iJytlc2MoZi5waCkrJyInOicnKSsnPjwvdGV4dGFyZWE+JzsKICBlbHNlIGlmKGYudHlwZT09PSdmaWxlJyljdGw9JzxpbnB1dCBpZD0iJytpZCsnIiB0eXBlPSJmaWxlIiBuYW1lPSInK2YubisnIiBhY2NlcHQ9ImltYWdlLyoiIGNhcHR1cmU9ImVudmlyb25tZW50IicrcmVxKyc+JzsKICBlbHNlIGN0bD0nPGlucHV0IGlkPSInK2lkKyciIHR5cGU9IicrKGYudHlwZXx8J3RleHQnKSsnIiBuYW1lPSInK2YubisnIicrcmVxKyhmLnBoPycgcGxhY2Vob2xkZXI9IicrZXNjKGYucGgpKyciJzonJykrKGYuYWM\/JyBhdXRvY29tcGxldGU9IicrZi5hYysnIic6JycpKyc+JzsKICByZXR1cm4gJzxkaXYgY2xhc3M9ImZsZCI+PGxhYmVsIGZvcj0iJytpZCsnIj4nK2xhYisnPC9sYWJlbD4nK2N0bCsnPC9kaXY+JzsKfQp2YXIgUEFZUz1bVCgiQ8O0dGUgZCdJdm9pcmUiKSxUKCJTw6luw6lnYWwiKSxUKCJNYWxpIiksVCgiQnVya2luYSBGYXNvIiksVCgiTmlnZXIiKSxUKCJUb2dvIiksVCgiQsOpbmluIiksVCgiR3VpbsOpZSIpLFQoIkF1dHJlIHBheXMiKV07CnZhciBGT1JNUz17CiBjZXJ0aWY6e2lkOkZPUk0uY2VydGlmLHRpdGxlOlQoJ0RlbWFuZGUgZGUgY2VydGlmaWNhdGlvbicpLGludHJvOlQoJ1VuZSBjb3RhdGlvbiBncmF0dWl0ZSBldCBzYW5zIGVuZ2FnZW1lbnQsIG91IGxhIGNlcnRpZmljYXRpb24gZGUgdm90cmUgZW50cmVwcmlzZS4gUsOpcG9uc2Ugc291cyA0OCBoIG91dnLDqWVzLicpLG9rOlQoJ01lcmNpLiBWb3RyZSBkZW1hbmRlIGVzdCB0cmFuc21pc2Ugw6Agbm9zIGF1ZGl0ZXVycywgaWxzIHZvdXMgcsOpcG9uZGVudCBzb3VzIDQ4IGggb3V2csOpZXMuJyksZmllbGRzOlsKICB7bjondHlwZV9kZW1hbmRlJyx0eXBlOidyYWRpbycsbGFiZWw6VCgnVm90cmUgZGVtYW5kZScpLG9wdGlvbnM6W1QoJ1VuZSBjb3RhdGlvbiBncmF0dWl0ZSBldCBzYW5zIGVuZ2FnZW1lbnQnKSxUKCdMYSBjZXJ0aWZpY2F0aW9uIGRlIG1vbiBlbnRyZXByaXNlJyldfSwKICB7bjonZW50cmVwcmlzZScsbGFiZWw6VCgiUmFpc29uIHNvY2lhbGUgZGUgbCdlbnRyZXByaXNlIikscmVxOjEsYWM6J29yZ2FuaXphdGlvbid9LHtuOidyZXNwb25zYWJsZScsbGFiZWw6VCgnTm9tIGV0IGZvbmN0aW9uIGR1IHJlc3BvbnNhYmxlJykscmVxOjEsYWM6J25hbWUnfSwKICB7bjondGVsZXBob25lJyx0eXBlOid0ZWwnLGxhYmVsOlQoJ1TDqWzDqXBob25lIC8gV2hhdHNBcHAnKSxyZXE6MSxhYzondGVsJ30se246J3lvdXItZW1haWwnLHR5cGU6J2VtYWlsJyxsYWJlbDpUKCdFLW1haWwnKSxyZXE6MSxhYzonZW1haWwnfSwKICB7bjoncGF5cycsdHlwZTonc2VsZWN0JyxsYWJlbDpUKCdQYXlzJykscmVxOjEsb3B0aW9uczpQQVlTfSwKICB7bjonc2VjdGV1cicsdHlwZTonc2VsZWN0JyxsYWJlbDpUKCJTZWN0ZXVyIGQnYWN0aXZpdMOpIikscmVxOjEsb3B0aW9uczpbVCgnQWdyb2FsaW1lbnRhaXJlJyksVCgnQWJhdHRvaXIgLyBib3VjaGVyaWUnKSxUKCdSZXN0YXVyYXRpb24nKSxUKCdDb3Ntw6l0aXF1ZScpLFQoJ1BoYXJtYWNpZScpLFQoJ0xvZ2lzdGlxdWUgLyBjaGHDrm5lIGR1IGZyb2lkJyksVCgnVG91cmlzbWUgLyBow7R0ZWxsZXJpZScpLFQoJ0F1dHJlJyldfSwKICB7bjoncHJvZHVpdHMnLHR5cGU6J3RleHRhcmVhJyxsYWJlbDpUKCdQcm9kdWl0cyBvdSBhY3Rpdml0w6lzIMOgIGNlcnRpZmllcicpLHJlcToxfSx7bjoneW91ci1tZXNzYWdlJyx0eXBlOid0ZXh0YXJlYScsbGFiZWw6VCgnTWVzc2FnZSAoZmFjdWx0YXRpZiknKX1dfSwKIGZvcm1hdGlvbjp7aWQ6Rk9STS5mb3JtYXRpb24sdGl0bGU6VCgnRGVtYW5kZSBkZSBmb3JtYXRpb24nKSxpbnRybzpUKCdGb3JtYXRpb24gaGFsYWwgcG91ciB2b3RyZSBlbnRyZXByaXNlLCBzdXIgc2l0ZSBvdSBkYW5zIG5vcyBsb2NhdXguJyksb2s6VCgnTWVyY2kuIFZvdHJlIGRlbWFuZGUgZGUgZm9ybWF0aW9uIGVzdCB0cmFuc21pc2UsIG5vdXMgdm91cyByZWNvbnRhY3RvbnMgdHLDqHMgdml0ZS4nKSxmaWVsZHM6WwogIHtuOidlbnRyZXByaXNlJyxsYWJlbDpUKCJSYWlzb24gc29jaWFsZSBkZSBsJ2VudHJlcHJpc2UiKSxyZXE6MSxhYzonb3JnYW5pemF0aW9uJ30se246J3Jlc3BvbnNhYmxlJyxsYWJlbDpUKCdOb20gZXQgZm9uY3Rpb24gZHUgcmVzcG9uc2FibGUnKSxyZXE6MSxhYzonbmFtZSd9LAogIHtuOid0ZWxlcGhvbmUnLHR5cGU6J3RlbCcsbGFiZWw6VCgnVMOpbMOpcGhvbmUgLyBXaGF0c0FwcCcpLHJlcToxLGFjOid0ZWwnfSx7bjoneW91ci1lbWFpbCcsdHlwZTonZW1haWwnLGxhYmVsOlQoJ0UtbWFpbCcpLHJlcToxLGFjOidlbWFpbCd9LAogIHtuOidwYXlzJyx0eXBlOidzZWxlY3QnLGxhYmVsOlQoJ1BheXMnKSxyZXE6MSxvcHRpb25zOlBBWVN9LAogIHtuOid0aGVtZScsdHlwZTonc2VsZWN0JyxsYWJlbDpUKCdUaMOobWUgZGUgZm9ybWF0aW9uJykscmVxOjEsb3B0aW9uczpbVCgnVHJvbmMgY29tbXVuIDogZm9uZGFtZW50YXV4IGR1IGhhbGFsIGV0IGNlcnRpZmljYXRpb24nKSxUKCdBZ3JvYWxpbWVudGFpcmUgKGRvbnQgY2Fqb3UpJyksVCgnVmlhbmRlcyBldCBib3VjaGVyaWUnKSxUKCdSZXN0YXVyYXRpb24sIGjDtHRlbGxlcmllIGV0IGNhdGVyaW5nJyksVCgnUHJvZ3JhbW1lIHN1ciBtZXN1cmUgLyDDoCBkw6lmaW5pciBlbnNlbWJsZScpXX0sCiAge246J3B1YmxpY3MnLHR5cGU6J2NoZWNrYm94JyxsYWJlbDpUKCdQdWJsaWMgY29uY2VybsOpJyksb3B0aW9uczpbVCgnRGlyaWdlYW50cycpLFQoJ1Jlc3BvbnNhYmxlcyBxdWFsaXTDqSAvIMOpcXVpcGUgaGFsYWwnKSxUKCdPcMOpcmF0ZXVycyBkZSBwcm9kdWN0aW9uJyksVCgnU2FjcmlmaWNhdGV1cnMnKV19LAogIHtuOidwYXJ0aWNpcGFudHMnLHR5cGU6J251bWJlcicsbGFiZWw6VCgnTm9tYnJlIGRlIHBhcnRpY2lwYW50cycpLHJlcToxfSx7bjoncGVyaW9kZScsbGFiZWw6VCgnUMOpcmlvZGUgc291aGFpdMOpZScpfSx7bjonbGlldScsbGFiZWw6VCgnTGlldScpfSx7bjoneW91ci1tZXNzYWdlJyx0eXBlOid0ZXh0YXJlYScsbGFiZWw6VCgnUHLDqWNpc2lvbnMgKGZhY3VsdGF0aWYpJyl9XX0sCiBxdWVzdGlvbjp7aWQ6Rk9STS5xdWVzdGlvbix0aXRsZTpUKCdQb3NlciB1bmUgcXVlc3Rpb24nKSxpbnRybzpUKCdVbmUgcXVlc3Rpb24gc3VyIGxhIGNlcnRpZmljYXRpb24sIHVuIHByb2R1aXQsIHVuZSBmb3JtYXRpb24gPyDDiWNyaXZlei1ub3VzLicpLG9rOlQoJ01lcmNpLiBWb3RyZSBtZXNzYWdlIGVzdCBiaWVuIHJlw6d1LCBub3VzIHZvdXMgcsOpcG9uZG9ucyByYXBpZGVtZW50LicpLGZpZWxkczpbCiAge246J3lvdXItbmFtZScsbGFiZWw6VCgnVm90cmUgbm9tJykscmVxOjEsYWM6J25hbWUnfSx7bjoneW91ci1lbWFpbCcsdHlwZTonZW1haWwnLGxhYmVsOlQoJ1ZvdHJlIGUtbWFpbCcpLHJlcToxLGFjOidlbWFpbCd9LHtuOid5b3VyLXN1YmplY3QnLGxhYmVsOlQoJ09iamV0JykscmVxOjF9LHtuOid5b3VyLW1lc3NhZ2UnLHR5cGU6J3RleHRhcmVhJyxsYWJlbDpUKCdWb3RyZSBtZXNzYWdlJyl9XX0sCiBwcm9kdWl0OntpZDpGT1JNLnByb2R1aXQsdGl0bGU6VCgnVsOpcmlmaWVyIG91IHNpZ25hbGVyIHVuIHByb2R1aXQnKSxpbnRybzpUKCdFbnZveWV6LW5vdXMgbGEgcGhvdG8gZHUgcHJvZHVpdCA6IG5vdXMgdsOpcmlmaW9ucyBz4oCZaWwgZXN0IGNlcnRpZmnDqSBldCBub3VzIHZvdXMgcsOpcG9uZG9ucy4gU2kgbGUgc2NlYXUgZmlndXJlIHN1ciB1biBwcm9kdWl0IGFic2VudCBkdSByZWdpc3RyZSwgZGl0ZXMtbGUtbm91cy4nKSxvazpUKCdNZXJjaS4gVm90cmUgcGhvdG8gZXQgdm9zIGluZm9ybWF0aW9ucyBzb250IHRyYW5zbWlzZXMgw6Agbm90cmUgw6lxdWlwZSwgcXVpIHZvdXMgcsOpcG9uZCBhcHLDqHMgdsOpcmlmaWNhdGlvbi4nKSxmaWVsZHM6WwogIHtuOidwcm9kdWl0JyxsYWJlbDpUKCdOb20gZHUgcHJvZHVpdCcpLHJlcToxfSx7bjonbWFycXVlJyxsYWJlbDpUKCdNYXJxdWUgb3UgZmFicmljYW50Jyl9LHtuOidsaWV1JyxsYWJlbDpUKCJMaWV1IGQnYWNoYXQiKSxwaDpUKCdFeC4gOiBtYXJjaMOpIGRlIFRyZWljaHZpbGxlJyl9LAogIHtuOidwaG90bycsdHlwZTonZmlsZScsbGFiZWw6VCgnUGhvdG8gZGUgbOKAmWVtYmFsbGFnZSAoZmFjZSArIGluZ3LDqWRpZW50cyknKX0sCiAge246J3lvdXItbmFtZScsbGFiZWw6VCgnVm90cmUgbm9tJykscmVxOjEsYWM6J25hbWUnfSx7bjondGVsZXBob25lJyx0eXBlOid0ZWwnLGxhYmVsOlQoJ1TDqWzDqXBob25lIC8gV2hhdHNBcHAgKHBvdXIgbGEgcsOpcG9uc2UpJyksYWM6J3RlbCd9LHtuOid5b3VyLWVtYWlsJyx0eXBlOidlbWFpbCcsbGFiZWw6VCgnRS1tYWlsJyksYWM6J2VtYWlsJ30sCiAge246J3lvdXItbWVzc2FnZScsdHlwZTondGV4dGFyZWEnLGxhYmVsOlQoJ1Byw6ljaXNpb25zJykscGg6VCgnRXguIDogbGUgc2NlYXUgZmlndXJlIHN1ciBs4oCZZW1iYWxsYWdlLCBtYWlzIGplIG5lIHRyb3V2ZSBwYXMgbOKAmWVudHJlcHJpc2UgZGFucyBsZSByZWdpc3RyZScpfV19Cn07CnZhciBDVVJNPW51bGw7CmZ1bmN0aW9uIG9wZW5Nb2RhbCh0aXRsZSxib2R5LG9uY2xvc2UpewogIHZhciBvPSQoJyN2aC1vdmVybGF5Jyk7by5pbm5lckhUTUw9JzxkaXYgY2xhc3M9InZoLW1vZGFsIiByb2xlPSJkaWFsb2ciIGFyaWEtbW9kYWw9InRydWUiIGFyaWEtbGFiZWw9IicrZXNjKHRpdGxlKSsnIj48ZGl2IGNsYXNzPSJ2aC1taCI+PGgyPicrZXNjKHRpdGxlKSsoIjwvaDI+IisiPGJ1dHRvbiBjbGFzcz1cInZoLXhcIiB0eXBlPVwiYnV0dG9uXCIgYXJpYS1sYWJlbD1cIiIrVCgiRmVybWVyIikrIlwiIGRhdGEtY2xvc2U+IikraWNvKCd4JykrJzwvYnV0dG9uPjwvZGl2PjxkaXYgY2xhc3M9InZoLW1iIj4nK2JvZHkrJzwvZGl2PjwvZGl2Pic7CiAgdmFyIGNsb3NlPWZ1bmN0aW9uKCl7by5pbm5lckhUTUw9Jyc7aWYoQ1VSTT09PWNsb3NlKUNVUk09bnVsbDtzdG9wU3BlYWsoKTtvbmNsb3NlJiZvbmNsb3NlKCl9O0NVUk09Y2xvc2U7CiAgby5xdWVyeVNlbGVjdG9yKCdbZGF0YS1jbG9zZV0nKS5vbmNsaWNrPWNsb3NlO3JldHVybiB7ZWw6by5xdWVyeVNlbGVjdG9yKCcudmgtbWInKSxjbG9zZTpjbG9zZX07Cn0KZnVuY3Rpb24gb3BlbkZvcm0oa2V5LHByZWZpbGwpewogIHZhciBGPUZPUk1TW2tleV0sbT1vcGVuTW9kYWwoRi50aXRsZSwnPHAgY2xhc3M9InN1YiI+Jytlc2MoRi5pbnRybykrJzwvcD48Zm9ybSBpZD0idmgtZm9ybSIgbm92YWxpZGF0ZSBzdHlsZT0iZGlzcGxheTpncmlkO2dhcDoxNHB4Ij4nK0YuZmllbGRzLm1hcChmaWVsZEhUTUwpLmpvaW4oJycpKygiPGJ1dHRvbiBjbGFzcz1cImJ0biBmdWxsXCIgdHlwZT1cInN1Ym1pdFwiPiIrVCgiRW52b3llciIpKyI8L2J1dHRvbj4iKyI8L2Zvcm0+IisiPGRpdiBpZD1cInZoLWZyZXNcIj4iKyI8L2Rpdj4iKSk7CiAgdmFyIGZvcm09JCgnI3ZoLWZvcm0nLG0uZWwpOwogIGlmKHByZWZpbGwpT2JqZWN0LmtleXMocHJlZmlsbCkuZm9yRWFjaChmdW5jdGlvbihrKXt2YXIgZj1mb3JtLmVsZW1lbnRzW2tdO2lmKGYmJmYudHlwZSE9PSdmaWxlJylmLnZhbHVlPXByZWZpbGxba119KTsKICBmb3JtLmFkZEV2ZW50TGlzdGVuZXIoJ3N1Ym1pdCcsZnVuY3Rpb24oZSl7CiAgICBlLnByZXZlbnREZWZhdWx0KCk7JCQoJy5lcnInLGZvcm0pLmZvckVhY2goZnVuY3Rpb24oeCl7eC5yZW1vdmUoKX0pOwogICAgdmFyIGJ0bj1mb3JtLnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvblt0eXBlPXN1Ym1pdF0nKSxyZXM9JCgnI3ZoLWZyZXMnLG0uZWwpOwogICAgaWYoIWZvcm0ucmVwb3J0VmFsaWRpdHkoKSlyZXR1cm47CiAgICBidG4uZGlzYWJsZWQ9dHJ1ZTtidG4udGV4dENvbnRlbnQ9VCgnRW52b2kgZW4gY291cnPigKYnKTtyZXMuaW5uZXJIVE1MPScnOwogICAgdmFyIGZkPW5ldyBGb3JtRGF0YShmb3JtKTsKICAgIHNlbmRDRjcoRi5pZCxmZCkudGhlbihmdW5jdGlvbihqKXsKICAgICAgaWYoai5zdGF0dXM9PT0nbWFpbF9zZW50Jyl7Zm9ybS5oaWRkZW49dHJ1ZTtyZXMuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJtc2cgb2siPicrZXNjKEYub2spKyc8L2Rpdj48ZGl2IHN0eWxlPSJoZWlnaHQ6MTJweCI+PC9kaXY+PGEgY2xhc3M9ImJ0biBhbHQgZnVsbCIgaHJlZj0iJytXQSsnIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciI+JytpY28oJ3dhJykrKFQoIk5vdXMgw6ljcmlyZSBhdXNzaSBzdXIgV2hhdHNBcHAiKSsiPC9hPiIpfQogICAgICBlbHNle2J0bi5kaXNhYmxlZD1mYWxzZTtidG4udGV4dENvbnRlbnQ9VCgnRW52b3llcicpOyhqLmludmFsaWRfZmllbGRzfHxbXSkuZm9yRWFjaChmdW5jdGlvbihmKXt2YXIgZWw9Zm9ybS5lbGVtZW50c1tmLmZpZWxkXTtpZihlbCYmZWwuY2xvc2VzdCl7dmFyIGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7ZC5jbGFzc05hbWU9J2Vycic7ZC50ZXh0Q29udGVudD1mLm1lc3NhZ2U7ZWwuY2xvc2VzdCgnLmZsZCcpLmFwcGVuZENoaWxkKGQpfX0pO3Jlcy5pbm5lckhUTUw9JzxkaXYgY2xhc3M9Im1zZyBubyI+Jytlc2Moai5tZXNzYWdlfHxUKCdM4oCZZW52b2kgYSDDqWNob3XDqS4gUsOpZXNzYXlleiBvdSBhcHBlbGV6IGxlICcpK1RFTCsnLicpKyc8L2Rpdj4nfQogICAgfSkuY2F0Y2goZnVuY3Rpb24oKXtidG4uZGlzYWJsZWQ9ZmFsc2U7YnRuLnRleHRDb250ZW50PVQoJ0Vudm95ZXInKTtyZXMuaW5uZXJIVE1MPSgiPGRpdiBjbGFzcz1cIm1zZyBub1wiPiIrVCgiUGFzIGRlIGNvbm5leGlvbi4gUsOpZXNzYXlleiBvdSBhcHBlbGV6IGxlICIpKStURUwrJy48L2Rpdj4nfSk7CiAgfSk7CiAgcmV0dXJuIG07Cn0KJCgnI3ZoLWN0YycpLm9uY2xpY2s9ZnVuY3Rpb24oKXsKICB2YXIgbT1vcGVuTW9kYWwoVCgnTm91cyBjb250YWN0ZXInKSwoIjxwIGNsYXNzPVwic3ViXCI+IitUKCJIYWxhbCBDw7R0ZSBk4oCZSXZvaXJlLCBkdSBsdW5kaSBhdSB2ZW5kcmVkaSBkZSA4aCDDoCAxOGguIikrIjwvcD4iKyI8ZGl2IGNsYXNzPVwibWVudVwiPiIpKwogICBbWydjZXJ0aWYnLCdjZXJ0JyxUKCdEZW1hbmRlciB1bmUgY2VydGlmaWNhdGlvbicpLFQoJ0NvdGF0aW9uIGdyYXR1aXRlLCBzYW5zIGVuZ2FnZW1lbnQnKV0sWydmb3JtYXRpb24nLCdlZHUnLFQoJ0RlbWFuZGVyIHVuZSBmb3JtYXRpb24nKSxUKCdQb3VyIHZvcyDDqXF1aXBlcyBldCBkaXJpZ2VhbnRzJyldLFsncHJvZHVpdCcsJ2NhbScsVCgnVsOpcmlmaWVyIG91IHNpZ25hbGVyIHVuIHByb2R1aXQnKSxUKCdFbnZveWV6IHVuZSBwaG90bycpXSxbJ3F1ZXN0aW9uJywnaGVscCcsVCgnUG9zZXIgdW5lIHF1ZXN0aW9uJyksVCgnw4ljcml2ZXotbm91cycpXV0ubWFwKGZ1bmN0aW9uKHgpe3JldHVybiAnPGJ1dHRvbiB0eXBlPSJidXR0b24iIGRhdGEtZm9ybT0iJyt4WzBdKyciPjxzcGFuIGNsYXNzPSJpYyI+JytpY28oeFsxXSkrJzwvc3Bhbj48ZGl2PjxiPicreFsyXSsnPC9iPjxzcGFuIGNsYXNzPSJ0Ij4nK3hbM10rJzwvc3Bhbj48L2Rpdj48L2J1dHRvbj4nfSkuam9pbignJykrCiAgICc8YSBocmVmPSInK1dBKyciIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIj48c3BhbiBjbGFzcz0iaWMiPicraWNvKCd3YScpKygiPC9zcGFuPiIrIjxkaXY+IisiPGI+IitUKCJXaGF0c0FwcCIpKyI8L2I+IisiPHNwYW4gY2xhc3M9XCJ0XCI+IikrVEVMKyc8L3NwYW4+PC9kaXY+PC9hPjwvZGl2PjxwIGNsYXNzPSJzdWIiIHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW4tdG9wOjE0cHgiPjxhIGhyZWY9IicrUFJJVisoIlwiIHRhcmdldD1cIl9ibGFua1wiIHJlbD1cIm5vb3BlbmVyXCI+IitUKCJQb2xpdGlxdWUgZGUgY29uZmlkZW50aWFsaXTDqSIpKyI8L2E+IisiPC9wPiIpKTsKICBtLmVsLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxmdW5jdGlvbihlKXt2YXIgYj1lLnRhcmdldC5jbG9zZXN0KCdbZGF0YS1mb3JtXScpO2lmKGIpb3BlbkZvcm0oYi5kYXRhc2V0LmZvcm0pfSk7Cn07CgovKiAtLS0tLS0tLS0tIDEuIFbDqXJpZmllciAtLS0tLS0tLS0tICovCnZhciBSRUc9bnVsbDsKZnVuY3Rpb24gbG9hZFJlZygpewogIGlmKFJFRylyZXR1cm4gUkVHOwogIHZhciBjPVNTLmdldCgncmVnJyk7aWYoYyYmRGF0ZS5ub3coKS1jLnQ8NjAwMDAwKXtSRUc9UHJvbWlzZS5yZXNvbHZlKGMuZCk7cmV0dXJuIFJFR30KICB2YXIgcT0nP3Blcl9wYWdlPTEwMCZfZmllbGRzPWlkLGxpbmssc2x1Zyx0aXRsZSxhY2YnOwogIFJFRz1Qcm9taXNlLmFsbChbZmV0Y2goJy93cC1qc29uL3dwL3YyL2NlcnRpZmljYXQtaGFsYWwnK3EpLnRoZW4oZnVuY3Rpb24ocil7cmV0dXJuIHIuanNvbigpfSksZmV0Y2goJy93cC1qc29uL3dwL3YyL3Byb2R1aXQtaGFsYWwnK3EpLnRoZW4oZnVuY3Rpb24ocil7cmV0dXJuIHIuanNvbigpfSldKS50aGVuKGZ1bmN0aW9uKGEpe3ZhciBkPXtjZXJ0czphWzBdLHByb2RzOmFbMV19O1NTLnNldCgncmVnJyx7dDpEYXRlLm5vdygpLGQ6ZH0pO3JldHVybiBkfSk7CiAgUkVHLmNhdGNoKGZ1bmN0aW9uKCl7UkVHPW51bGx9KTtyZXR1cm4gUkVHOwp9CmZ1bmN0aW9uIHltZChzKXtzPVN0cmluZyhzfHwnJyk7cmV0dXJuIHMubGVuZ3RoPT09OD9uZXcgRGF0ZSgrcy5zbGljZSgwLDQpLCtzLnNsaWNlKDQsNiktMSwrcy5zbGljZSg2LDgpKTpudWxsfQpmdW5jdGlvbiBmZGF0ZShkKXtyZXR1cm4gZD9kLnRvTG9jYWxlRGF0ZVN0cmluZyhMT0Mse2RheTonbnVtZXJpYycsbW9udGg6J2xvbmcnLHllYXI6J251bWVyaWMnfSk6J+KAlCd9CmZ1bmN0aW9uIGNlcnRTdGF0ZShjKXt2YXIgYT1jLmFjZnx8e30sZT15bWQoYVsnY2VydGlmaWNhdC1kYXRlLWV4cGlyYXRpb24nXSksdmFsaWQ9KGFbJ2NlcnRpZmljYXQtc3RhdHV0J118fCcnKS50b0xvd2VyQ2FzZSgpPT09J3ZhbGlkZScmJighZXx8ZT49bmV3IERhdGUobmV3IERhdGUoKS5zZXRIb3VycygwLDAsMCwwKSkpO3JldHVybiB7dmFsaWQ6dmFsaWQsZXhwOmV9fQpmdW5jdGlvbiBjZXJ0SFRNTChjKXsKICB2YXIgYT1jLmFjZixzPWNlcnRTdGF0ZShjKSxjbHM9cy52YWxpZD8nb2snOid3YXJuJzsKICByZXR1cm4gJzxkaXYgY2xhc3M9InJlcyAnK2NscysnIj48ZGl2IGNsYXNzPSJoZWFkIj4nKyhzLnZhbGlkPyc8XHg2OW1nIHNyYz0iJytMQUJFTCsoIlwiIGFsdD1cIiIrVCgiTGFiZWwgSGFsYWwgQ0kiKSsiXCI+Iik6aWNvKCdubycpKSsnPGgzPicrKHMudmFsaWQ\/VCgnQ2VydGlmacOpIHBhciBIYWxhbCBDSScpOlQoJ0NlcnRpZmljYXQgZXhwaXLDqSBvdSBub24gdmFsaWRlJykpKygiPC9oMz4iKyI8L2Rpdj4iKyI8ZGw+IisiPGR0PiIrVCgiRW50cmVwcmlzZSIpKyI8L2R0PiIrIjxkZD4iKStlc2MoYS5iZW5lZmljaWFyZXx8Yy50aXRsZS5yZW5kZXJlZCkrKCI8L2RkPiIrIjxkdD4iK1QoIkNlcnRpZmljYXQgbsKwIikrIjwvZHQ+IisiPGRkPiIpK2VzYyhhWydudW1lcm8tY2VydGlmaWNhdCddKSsoIjwvZGQ+IisiPGR0PiIrVCgiRMOpbGl2csOpIGxlIikrIjwvZHQ+IisiPGRkPiIpK2ZkYXRlKHltZChhLmRhdGVfZGVfZGVsaXZyYW5jZSkpKyc8L2RkPjxkdD4nKyhzLnZhbGlkP1QoJ1ZhbGFibGUganVzcXXigJlhdScpOlQoJ0V4cGlyw6kgbGUnKSkrJzwvZHQ+PGRkPicrZmRhdGUocy5leHApKyc8L2RkPjwvZGw+Jysocy52YWxpZD8nJzooIjxwIGNsYXNzPVwic21hbGxcIj4iK1QoIkNlIGNlcnRpZmljYXQgbuKAmWVzdCBwbHVzIGVuIGNvdXJzIGRlIHZhbGlkaXTDqS4gTGVzIHByb2R1aXRzIGRlIGNldHRlIGVudHJlcHJpc2UgbmUgZG9pdmVudCBwYXMgw6p0cmUgY29uc2lkw6lyw6lzIGNvbW1lIGNlcnRpZmnDqXMgdGFudCBxdeKAmWlsIG7igJllc3QgcGFzIHJlbm91dmVsw6kuIikrIjwvcD4iKSkrJzxhIGNsYXNzPSJsayIgaHJlZj0iJytlc2MoYy5saW5rKSsoIlwiIHRhcmdldD1cIl9ibGFua1wiIHJlbD1cIm5vb3BlbmVyXCI+IitUKCJWb2lyIGxlIGNlcnRpZmljYXQgb2ZmaWNpZWwiKSsiPC9hPiIrIjwvZGl2PiIpOwp9CmZ1bmN0aW9uIHByb2RIVE1MKHApewogIHZhciBhPXAuYWNmfHx7fSxjbD1hWydwcm9kdWl0LWNlcnRpZmljYXQtaGFsYWwnXXx8e307CiAgcmV0dXJuICc8ZGl2IGNsYXNzPSJyZXMgb2siPjxkaXYgY2xhc3M9ImhlYWQiPjxceDY5bWcgc3JjPSInK0xBQkVMKygiXCIgYWx0PVwiIitUKCJMYWJlbCBIYWxhbCBDSSIpKyJcIj4iKyI8aDM+IikrZXNjKHAudGl0bGUucmVuZGVyZWQpKygiPC9oMz4iKyI8L2Rpdj4iKyI8ZGw+IisiPGR0PiIrVCgiTWFycXVlIikrIjwvZHQ+IisiPGRkPiIpK2VzYyhhLm1hcnF1ZXx8J+KAlCcpKygiPC9kZD4iKyI8ZHQ+IitUKCJPcmlnaW5lIikrIjwvZHQ+IisiPGRkPiIpK2VzYyhhWydwcm9kdWl0LXBheXMtZmFicmljYXRpb24nXXx8J+KAlCcpKygiPC9kZD4iKyI8ZHQ+IitUKCJDZXJ0aWZpY2F0IikrIjwvZHQ+IisiPGRkPiIpK2VzYyhjbC50aXRsZXx8J+KAlCcpKyc8L2RkPjwvZGw+JysoY2wudXJsPyc8YSBjbGFzcz0ibGsiIGhyZWY9IicrZXNjKGNsLnVybCkrKCJcIiB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lclwiPiIrVCgiVm9pciBsZSBjZXJ0aWZpY2F0IG9mZmljaWVsIikrIjwvYT4iKTonJykrJzwvZGl2Pic7Cn0KZnVuY3Rpb24gcnVuU2VhcmNoKHEsZXh0cmEpewogIHZhciBib3g9JCgnI3ZmLXJlcycpO3E9KHF8fCcnKS50cmltKCk7aWYoIXEpe2JveC5pbm5lckhUTUw9Jyc7cmV0dXJufQogIGJveC5pbm5lckhUTUw9JzxkaXYgY2xhc3M9InNrZWxldG9uIj48L2Rpdj4nOwogIGxvYWRSZWcoKS50aGVuKGZ1bmN0aW9uKGQpewogICAgdmFyIG49bm9ybShxKSxoaXQ9W107CiAgICBkLmNlcnRzLmZvckVhY2goZnVuY3Rpb24oYyl7dmFyIGE9Yy5hY2Z8fHt9O2lmKG5vcm0oYS5iZW5lZmljaWFyZSsnICcrYy50aXRsZS5yZW5kZXJlZCsnICcrYVsnbnVtZXJvLWNlcnRpZmljYXQnXSkuaW5kZXhPZihuKT4tMSloaXQucHVzaChjZXJ0SFRNTChjKSl9KTsKICAgIGQucHJvZHMuZm9yRWFjaChmdW5jdGlvbihwKXt2YXIgYT1wLmFjZnx8e307aWYobm9ybShwLnRpdGxlLnJlbmRlcmVkKycgJythLm1hcnF1ZSsnICcrYS5ub21fY29tbWVyY2lhbCkuaW5kZXhPZihuKT4tMSloaXQucHVzaChwcm9kSFRNTChwKSl9KTsKICAgIGlmKGV4dHJhJiZleHRyYS5saW5rKXtoaXQ9W107ZC5jZXJ0cy5jb25jYXQoZC5wcm9kcykuZm9yRWFjaChmdW5jdGlvbih4KXtpZih4Lmxpbms9PT1leHRyYS5saW5rKWhpdC5wdXNoKHguYWNmJiZ4LmFjZlsnbnVtZXJvLWNlcnRpZmljYXQnXT9jZXJ0SFRNTCh4KTpwcm9kSFRNTCh4KSl9KX0KICAgIHZhciBhc2s9KCI8ZGl2IGNsYXNzPVwiY2FyZFwiPiIrIjxoMz4iK1QoIlZvdXMgbmUgbGUgdHJvdXZleiBwYXMgPyIpKyI8L2gzPiIrIjxwIGNsYXNzPVwic3ViXCI+IitUKCJFbnZveWV6LW5vdXMgdW5lIHBob3RvIGR1IHByb2R1aXQuIE5vdXMgdsOpcmlmaW9ucyBldCBub3VzIHZvdXMgcsOpcG9uZG9ucy4iKSsiPC9wPiIrIjxidXR0b24gY2xhc3M9XCJidG4gZnVsbFwiIHR5cGU9XCJidXR0b25cIiBkYXRhLWFzaz1cIiIpK2VzYyhxKSsnIj4nK2ljbygnY2FtJykrKFQoIlBob3RvZ3JhcGhpZXIgbGUgcHJvZHVpdCIpKyI8L2J1dHRvbj4iKyI8L2Rpdj4iKTsKICAgIGlmKGhpdC5sZW5ndGgpYm94LmlubmVySFRNTD1oaXQuc2xpY2UoMCw2KS5qb2luKCcnKSsoaGl0Lmxlbmd0aD42Pyc8cCBjbGFzcz0ic3ViIj4nKyhoaXQubGVuZ3RoLTYpKyhUKCIgYXV0cmUocykgcsOpc3VsdGF0KHMpIDogcHLDqWNpc2V6IHZvdHJlIHJlY2hlcmNoZS4iKSsiPC9wPiIpOicnKSthc2s7CiAgICBlbHNlIGJveC5pbm5lckhUTUw9JzxkaXYgY2xhc3M9InJlcyBubyI+PGRpdiBjbGFzcz0iaGVhZCI+JytpY28oJ25vJykrKCI8aDM+IitUKCJBdWN1biByw6lzdWx0YXQgZGFucyBsZSByZWdpc3RyZSIpKyI8L2gzPiIrIjwvZGl2PiIrIjxwIGNsYXNzPVwic21hbGxcIj4iKSsoTEFORz09PSdlbic\/J+KAnCc6J8KrICcpK2VzYyhxKSsoTEFORz09PSdlbic\/Jyc6JyAnKSsoVCgiwrsgbmUgZmlndXJlIHBhcyBwYXJtaSBsZXMgZW50cmVwcmlzZXMgZXQgcHJvZHVpdHMgY2VydGlmacOpcyBwYXIgSGFsYWwgQ0kuIENlbGEgbmUgdmV1dCBwYXMgZGlyZSBxdWUgbGUgcHJvZHVpdCBlc3QgaGFyYW0gOiBpbCBu4oCZZXN0IHNpbXBsZW1lbnQgcGFzIGNlcnRpZmnDqSBwYXIgbm91cy4gVsOpcmlmaWV6IGxlIHNjZWF1IHN1ciBs4oCZZW1iYWxsYWdlIGV0IGxpc2V6IGxhIGxpc3RlIGRlcyBpbmdyw6lkaWVudHMuIikrIjwvcD4iKyI8L2Rpdj4iKSthc2s7CiAgICBib3guc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOidzbW9vdGgnLGJsb2NrOiduZWFyZXN0J30pOwogIH0pLmNhdGNoKGZ1bmN0aW9uKCl7Ym94LmlubmVySFRNTD0oIjxkaXYgY2xhc3M9XCJtc2cgbm9cIj4iK1QoIkxlIHJlZ2lzdHJlIGVzdCBtb21lbnRhbsOpbWVudCBpbmFjY2Vzc2libGUuIFbDqXJpZmlleiB2b3RyZSBjb25uZXhpb24gZXQgcsOpZXNzYXllei4iKSsiPC9kaXY+Iil9KTsKfQpmdW5jdGlvbiBpbml0VmVyaWYoKXsKICB2YXIgdj0kKCcjdi12ZXJpZicpOwogIHYuaW5uZXJIVE1MPSc8c2VjdGlvbiBjbGFzcz0idmgtaGVybyI+PHNwYW4gY2xhc3M9InNlYWwiPjxceDY5bWcgc3JjPSInK0xBQkVMKygiXCIgYWx0PVwiXCI+IisiPC9zcGFuPiIrIjxoMj4iK1QoIkNlIHByb2R1aXQgZXN0LWlsIikrIjxicj4iKyI8ZW0+IitUKCJ2cmFpbWVudCBoYWxhbCA\/IikrIjwvZW0+IisiPC9oMj4iKyI8cD4iK1QoIkxlIHJlZ2lzdHJlIG9mZmljaWVsIGRlIEhhbGFsIEPDtHRlIGTigJlJdm9pcmUsIGRhbnMgdm90cmUgcG9jaGUuIikrIjwvcD4iKyI8Zm9ybSBjbGFzcz1cInZoLXNlYXJjaFwiIGlkPVwidmYtZm9ybVwiIHJvbGU9XCJzZWFyY2hcIj4iKyI8aW5wdXQgaWQ9XCJ2Zi1xXCIgdHlwZT1cInNlYXJjaFwiIHBsYWNlaG9sZGVyPVwiIitUKCJFbnRyZXByaXNlLCBwcm9kdWl0IG91IG7CsCBkZSBjZXJ0aWZpY2F0IikrIlwiIGFyaWEtbGFiZWw9XCIiK1QoIlJlY2hlcmNoZXIgZGFucyBsZSByZWdpc3RyZSIpKyJcIiBhdXRvY29tcGxldGU9XCJvZmZcIiBlbnRlcmtleWhpbnQ9XCJzZWFyY2hcIj4iKyI8YnV0dG9uIGNsYXNzPVwiYnRuIGdvbGRcIiB0eXBlPVwic3VibWl0XCIgYXJpYS1sYWJlbD1cIiIrVCgiUmVjaGVyY2hlciIpKyJcIj4iKStpY28oJ3NlYXJjaCcpKyc8L2J1dHRvbj48L2Zvcm0+PGRpdiBjbGFzcz0idmgtYWN0cyI+PGJ1dHRvbiBjbGFzcz0iYnRuIGdvbGQiIHR5cGU9ImJ1dHRvbiIgaWQ9InZmLXBob3RvIj4nK2ljbygnY2FtJykrKFQoIlBob3RvZ3JhcGhpZXIgdW4gcHJvZHVpdCIpKyI8L2J1dHRvbj4iKyI8YnV0dG9uIGNsYXNzPVwiYnRuIGFsdFwiIHR5cGU9XCJidXR0b25cIiBpZD1cInZmLXNjYW5cIj4iKStpY28oJ3NjYW4nKSsoVCgiU2Nhbm5lciB1biBjb2RlIikrIjwvYnV0dG9uPiIrIjwvZGl2PiIrIjwvc2VjdGlvbj4iKyI8ZGl2IGlkPVwidmYtcmVzXCI+IisiPC9kaXY+IisiPHNlY3Rpb24gaWQ9XCJ2Zi1oaXN0XCI+IisiPC9zZWN0aW9uPiIrIjxzZWN0aW9uPiIrIjxkaXYgY2xhc3M9XCJsYmxcIiBzdHlsZT1cIm1hcmdpbi1ib3R0b206OHB4XCI+IitUKCJSw6ljZW1tZW50IGNlcnRpZmnDqXMiKSsiPC9kaXY+IisiPGRpdiBjbGFzcz1cImh6XCIgaWQ9XCJ2Zi1yZWNlbnRcIj4iKyI8ZGl2IGNsYXNzPVwic2tlbGV0b25cIiBzdHlsZT1cImZsZXg6MCAwIDE1MHB4O2hlaWdodDoxOTBweFwiPiIrIjwvZGl2PiIrIjxkaXYgY2xhc3M9XCJza2VsZXRvblwiIHN0eWxlPVwiZmxleDowIDAgMTUwcHg7aGVpZ2h0OjE5MHB4XCI+IisiPC9kaXY+IisiPC9kaXY+IisiPC9zZWN0aW9uPiIrIjxzZWN0aW9uIGNsYXNzPVwiYml6XCI+IisiPGgzIHN0eWxlPVwiY29sb3I6I2ZmZlwiPiIrVCgiVm91cyBwcm9kdWlzZXosIHRyYW5zZm9ybWV6IG91IHZlbmRleiA\/IikrIjwvaDM+IisiPHA+IitUKCJEZXMgY29uc29tbWF0ZXVycyBzZSBwb3NlbnQgZGVzIHF1ZXN0aW9ucyBzdXIgbGVzIHByb2R1aXRzIGRlIGxldXIgcXVvdGlkaWVuLiBMYSBjZXJ0aWZpY2F0aW9uIEhhbGFsIENJIHLDqXBvbmQgw6AgbGV1ciBwbGFjZS4iKSsiPC9wPiIrIjxidXR0b24gY2xhc3M9XCJidG5cIiB0eXBlPVwiYnV0dG9uXCIgZGF0YS1mb3JtPVwiY2VydGlmXCI+IitUKCJEZW1hbmRlciB1bmUgY290YXRpb24gZ3JhdHVpdGUiKSsiPC9idXR0b24+IisiPC9zZWN0aW9uPiIrIjxwIGNsYXNzPVwic3ViXCIgc3R5bGU9XCJ0ZXh0LWFsaWduOmNlbnRlclwiPiIrVCgiRG9ubsOpZXMgZHUgcmVnaXN0cmUgcHVibGljIGhhbGFsY2kub3JnIMK3ICIpKyI8YSBocmVmPVwiL3ZlcmlmaWVyLXVuLWNlcnRpZmljYXQvXCI+IitUKCJ2ZXJzaW9uIHdlYiIpKyI8L2E+IisiPC9wPiIrIjxwIGNsYXNzPVwic3ViXCIgc3R5bGU9XCJ0ZXh0LWFsaWduOmNlbnRlclwiPiIrIjxhIGhyZWY9XCIiKStQUklWKygiXCIgdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9vcGVuZXJcIj4iK1QoIlBvbGl0aXF1ZSBkZSBjb25maWRlbnRpYWxpdMOpIikrIjwvYT4iKyI8L3A+Iik7CiAgJCgnI3ZmLWZvcm0nKS5hZGRFdmVudExpc3RlbmVyKCdzdWJtaXQnLGZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKTtydW5TZWFyY2goJCgnI3ZmLXEnKS52YWx1ZSl9KTsKICAkKCcjdmYtcGhvdG8nKS5vbmNsaWNrPWZ1bmN0aW9uKCl7c3RhcnRQaG90bygnJyl9OwogICQoJyN2Zi1zY2FuJykub25jbGljaz1vcGVuU2Nhbm5lcjsKICB2LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxmdW5jdGlvbihlKXsKICAgIHZhciBhPWUudGFyZ2V0LmNsb3Nlc3QoJ1tkYXRhLWFza10nKTtpZihhKXN0YXJ0UGhvdG8oYS5kYXRhc2V0LmFzayk7CiAgICB2YXIgZj1lLnRhcmdldC5jbG9zZXN0KCdbZGF0YS1mb3JtXScpO2lmKGYpb3BlbkZvcm0oZi5kYXRhc2V0LmZvcm0pOwogICAgdmFyIHI9ZS50YXJnZXQuY2xvc2VzdCgnW2RhdGEtcV0nKTtpZihyKXskKCcjdmYtcScpLnZhbHVlPXIuZGF0YXNldC5xO3J1blNlYXJjaChyLmRhdGFzZXQucSl9CiAgfSk7CiAgZHJhd0hpc3QoKTsKICBsb2FkUmVnKCkudGhlbihmdW5jdGlvbihkKXsKICAgIHZhciBpdGVtcz1kLnByb2RzLnNsaWNlKDAsMTApOwogICAgJCgnI3ZmLXJlY2VudCcpLmlubmVySFRNTD1pdGVtcy5tYXAoZnVuY3Rpb24ocCl7dmFyIGE9cC5hY2Z8fHt9O3JldHVybiAnPGEgY2xhc3M9InBjYXJkIiBocmVmPSIjIiBkYXRhLXE9IicrZXNjKHAudGl0bGUucmVuZGVyZWQpKyciPjxkaXYgY2xhc3M9InBoIiBkYXRhLWltZz0iJysoYVsncHJvZHVpdC1pbWFnZTEnXXx8JycpKyciPjwvZGl2PjxiPicrZXNjKHAudGl0bGUucmVuZGVyZWQpKyc8L2I+PHNwYW4+Jytlc2MoYS5tYXJxdWV8fCcnKSsoIjwvc3Bhbj4iKyI8aT4iK1QoIkNlcnRpZmnDqSIpKyI8L2k+IisiPC9hPiIpfSkuam9pbignJyl8fCgiPHAgY2xhc3M9XCJzdWJcIj4iK1QoIkF1Y3VuIHByb2R1aXQgcG91ciBsZSBtb21lbnQuIikrIjwvcD4iKTsKICAgICQkKCcjdmYtcmVjZW50IFtkYXRhLWltZ10nKS5mb3JFYWNoKGZ1bmN0aW9uKGVsKXt2YXIgaWQ9ZWwuZGF0YXNldC5pbWc7aWYoIWlkKXJldHVybjtmZXRjaCgnL3dwLWpzb24vd3AvdjIvbWVkaWEvJytpZCsnP19maWVsZHM9c291cmNlX3VybCxtZWRpYV9kZXRhaWxzJykudGhlbihmdW5jdGlvbihyKXtyZXR1cm4gci5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKG0pe3ZhciBzPShtLm1lZGlhX2RldGFpbHMmJm0ubWVkaWFfZGV0YWlscy5zaXplcyYmbS5tZWRpYV9kZXRhaWxzLnNpemVzLm1lZGl1bSYmbS5tZWRpYV9kZXRhaWxzLnNpemVzLm1lZGl1bS5zb3VyY2VfdXJsKXx8bS5zb3VyY2VfdXJsO2lmKHMpe3ZhciBpPW5ldyBJbWFnZSgpO2kuYWx0PScnO2kuc3JjPXM7aS5sb2FkaW5nPSdsYXp5JztlbC5yZXBsYWNlV2l0aChpKX19KS5jYXRjaChmdW5jdGlvbigpe30pfSk7CiAgICB2LnF1ZXJ5U2VsZWN0b3JBbGwoJy5wY2FyZCcpLmZvckVhY2goZnVuY3Rpb24oYSl7YS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsZnVuY3Rpb24oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpfSl9KTsKICB9KS5jYXRjaChmdW5jdGlvbigpeyQoJyN2Zi1yZWNlbnQnKS5pbm5lckhUTUw9KCI8cCBjbGFzcz1cInN1YlwiPiIrVCgiUmVnaXN0cmUgaW5kaXNwb25pYmxlIGhvcnMgY29ubmV4aW9uLiIpKyI8L3A+Iil9KTsKICB2YXIgcXM9bmV3IFVSTFNlYXJjaFBhcmFtcyhsb2NhdGlvbi5zZWFyY2gpLmdldCgncScpO2lmKHFzKXskKCcjdmYtcScpLnZhbHVlPXFzO3J1blNlYXJjaChxcyl9Cn0KCi8qIC0tLS0tLS0tLS0gcGhvdG8gZCdhYm9yZCA6IHVuIGdlc3RlLCB1biBlbnZvaSAtLS0tLS0tLS0tICovCmZ1bmN0aW9uIHByb2ZpbGUoKXtyZXR1cm4gU1QuZ2V0KCdwcm9maWxlJyxudWxsKX0KZnVuY3Rpb24gc2hyaW5rKGZpbGUsbWF4KXsKICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ob2spewogICAgaWYoIWZpbGUudHlwZXx8ZmlsZS50eXBlLmluZGV4T2YoJ2ltYWdlLycpIT09MHx8ZmlsZS5zaXplPDQwMDAwMCl7b2soZmlsZSk7cmV0dXJufQogICAgdmFyIGltPW5ldyBJbWFnZSgpLHU9VVJMLmNyZWF0ZU9iamVjdFVSTChmaWxlKTsKICAgIGltLm9ubG9hZD1mdW5jdGlvbigpe3ZhciBzPU1hdGgubWluKDEsbWF4L01hdGgubWF4KGltLndpZHRoLGltLmhlaWdodCkpLGN2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO2N2LndpZHRoPU1hdGgucm91bmQoaW0ud2lkdGgqcyk7Y3YuaGVpZ2h0PU1hdGgucm91bmQoaW0uaGVpZ2h0KnMpO2N2LmdldENvbnRleHQoJzJkJykuZHJhd0ltYWdlKGltLDAsMCxjdi53aWR0aCxjdi5oZWlnaHQpO1VSTC5yZXZva2VPYmplY3RVUkwodSk7Y3YudG9CbG9iKGZ1bmN0aW9uKGIpe29rKGJ8fGZpbGUpfSwnaW1hZ2UvanBlZycsMC44Mil9OwogICAgaW0ub25lcnJvcj1mdW5jdGlvbigpe29rKGZpbGUpfTtpbS5zcmM9dTsKICB9KTsKfQpmdW5jdGlvbiBzdGFydFBob3RvKG5hbWUpewogIHZhciBpbnA9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtpbnAudHlwZT0nZmlsZSc7aW5wLmFjY2VwdD0naW1hZ2UvKic7aW5wLnNldEF0dHJpYnV0ZSgnY2FwdHVyZScsJ2Vudmlyb25tZW50Jyk7CiAgaW5wLm9uY2hhbmdlPWZ1bmN0aW9uKCl7aWYoaW5wLmZpbGVzJiZpbnAuZmlsZXNbMF0pcGhvdG9TaGVldChpbnAuZmlsZXNbMF0sbmFtZXx8JycpfTsKICBpbnAuY2xpY2soKTsKfQpmdW5jdGlvbiBwaG90b1NoZWV0KGZpbGUsbmFtZSl7CiAgdmFyIHByPXByb2ZpbGUoKSx1cmw9VVJMLmNyZWF0ZU9iamVjdFVSTChmaWxlKTsKICB2YXIgcHJvZj1wcj8oIjxwIGNsYXNzPVwic3ViXCI+IitUKCJFbnZvaSBlbiB0YW50IHF1ZSAiKSsiPGI+IikrZXNjKHByLm5hbWUpKygiPC9iPiIrIiDCtyAiKyI8YSBocmVmPVwiI1wiIGlkPVwicGgtY2hnXCIgc3R5bGU9XCJjb2xvcjp2YXIoLS1ncmVlbik7Zm9udC13ZWlnaHQ6NzAwXCI+IitUKCJtb2RpZmllciIpKyI8L2E+IisiPC9wPiIpOicnOwogIHZhciBmaWVsZHM9KHByPyc8ZGl2IGlkPSJwaC1wcm9mIiBoaWRkZW4gc3R5bGU9ImRpc3BsYXk6Z3JpZDtnYXA6MTJweCI+JzooIjxkaXYgaWQ9XCJwaC1wcm9mXCIgc3R5bGU9XCJkaXNwbGF5OmdyaWQ7Z2FwOjEycHhcIj4iKyI8cCBjbGFzcz1cInN1YlwiPiIrVCgiVW5lIHNldWxlIGZvaXMgOiB2b3MgY29vcmRvbm7DqWVzLCBwb3VyIHF1ZSBub3VzIHB1aXNzaW9ucyB2b3VzIHLDqXBvbmRyZS4iKSsiPC9wPiIpKSsKICAgKCI8ZGl2IGNsYXNzPVwiZmxkXCI+IisiPGxhYmVsIGZvcj1cInBoLW5cIj4iK1QoIlZvdHJlIG5vbSAqIikrIjwvbGFiZWw+IisiPGlucHV0IGlkPVwicGgtblwiIG5hbWU9XCJ5b3VyLW5hbWVcIiBhdXRvY29tcGxldGU9XCJuYW1lXCIgIikrKHByPycnOidyZXF1aXJlZCcpKycgdmFsdWU9IicrZXNjKHByP3ByLm5hbWU6JycpKygiXCI+IisiPC9kaXY+IisiPGRpdiBjbGFzcz1cImZsZFwiPiIrIjxsYWJlbCBmb3I9XCJwaC10XCI+IitUKCJXaGF0c0FwcCBvdSB0w6lsw6lwaG9uZSAqIikrIjwvbGFiZWw+IisiPGlucHV0IGlkPVwicGgtdFwiIG5hbWU9XCJ0ZWxlcGhvbmVcIiB0eXBlPVwidGVsXCIgYXV0b2NvbXBsZXRlPVwidGVsXCIgIikrKHByPycnOidyZXF1aXJlZCcpKycgdmFsdWU9IicrZXNjKHByP3ByLnRlbDonJykrJyI+PC9kaXY+PC9kaXY+JzsKICB2YXIgbT1vcGVuTW9kYWwoVCgnRW52b3llciBjZXR0ZSBwaG90bycpLCc8ZGl2IHN0eWxlPSJib3JkZXItcmFkaXVzOjE4cHg7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6dmFyKC0tbWlzdCk7bWF4LWhlaWdodDo0MnZoO2Rpc3BsYXk6Z3JpZDtwbGFjZS1pdGVtczpjZW50ZXIiPjxceDY5bWcgc3JjPSInK3VybCsoIlwiIGFsdD1cIiIrVCgiUGhvdG8gZHUgcHJvZHVpdCIpKyJcIiBzdHlsZT1cIm1heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6NDJ2aDtvYmplY3QtZml0OmNvbnRhaW5cIj4iKyI8L2Rpdj4iKyI8Zm9ybSBpZD1cInBoLWZvcm1cIiBub3ZhbGlkYXRlIHN0eWxlPVwiZGlzcGxheTpncmlkO2dhcDoxNHB4XCI+IisiPGRpdiBjbGFzcz1cImZsZFwiPiIrIjxsYWJlbCBmb3I9XCJwaC1wXCI+IitUKCJOb20gZHUgcHJvZHVpdCAoZmFjdWx0YXRpZikiKSsiPC9sYWJlbD4iKyI8aW5wdXQgaWQ9XCJwaC1wXCIgbmFtZT1cInByb2R1aXRcIiBwbGFjZWhvbGRlcj1cIiIrVCgiRXguIDoganVzIGRlIGJpc3NhcCBTdW51IikrIlwiIHZhbHVlPVwiIikrZXNjKG5hbWUpKyciPjwvZGl2PicrcHJvZitmaWVsZHMrKCI8YnV0dG9uIGNsYXNzPVwiYnRuIGZ1bGxcIiB0eXBlPVwic3VibWl0XCI+IitUKCJFbnZveWVyIHBvdXIgdsOpcmlmaWNhdGlvbiIpKyI8L2J1dHRvbj4iKyI8L2Zvcm0+IisiPGRpdiBpZD1cInBoLXJlc1wiPiIrIjwvZGl2PiIpLGZ1bmN0aW9uKCl7VVJMLnJldm9rZU9iamVjdFVSTCh1cmwpfSk7CiAgdmFyIGZvcm09JCgnI3BoLWZvcm0nLG0uZWwpOwogIHZhciBjaGc9JCgnI3BoLWNoZycsbS5lbCk7aWYoY2hnKWNoZy5vbmNsaWNrPWZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKTskKCcjcGgtcHJvZicsbS5lbCkuaGlkZGVuPWZhbHNlOyQoJyNwaC1uJyxtLmVsKS5yZXF1aXJlZD10cnVlOyQoJyNwaC10JyxtLmVsKS5yZXF1aXJlZD10cnVlO2NoZy5wYXJlbnROb2RlLmhpZGRlbj10cnVlfTsKICBmb3JtLmFkZEV2ZW50TGlzdGVuZXIoJ3N1Ym1pdCcsZnVuY3Rpb24oZSl7CiAgICBlLnByZXZlbnREZWZhdWx0KCk7dmFyIG49JCgnI3BoLW4nLG0uZWwpLnZhbHVlLnRyaW0oKSx0PSQoJyNwaC10JyxtLmVsKS52YWx1ZS50cmltKCk7CiAgICBpZighbnx8IXQpeyQoJyNwaC1wcm9mJyxtLmVsKS5oaWRkZW49ZmFsc2U7Zm9ybS5yZXBvcnRWYWxpZGl0eSgpO3JldHVybn0KICAgIHZhciBidG49Zm9ybS5xdWVyeVNlbGVjdG9yKCdidXR0b25bdHlwZT1zdWJtaXRdJykscmVzPSQoJyNwaC1yZXMnLG0uZWwpO2J0bi5kaXNhYmxlZD10cnVlO2J0bi50ZXh0Q29udGVudD1UKCdFbnZvaSBlbiBjb3Vyc+KApicpO3Jlcy5pbm5lckhUTUw9Jyc7CiAgICB2YXIgbm09JCgnI3BoLXAnLG0uZWwpLnZhbHVlLnRyaW0oKXx8VCgnUHJvZHVpdCBwaG90b2dyYXBoacOpJyk7CiAgICBzaHJpbmsoZmlsZSwxNjAwKS50aGVuKGZ1bmN0aW9uKGJsb2IpewogICAgICB2YXIgZmQ9bmV3IEZvcm1EYXRhKCk7ZmQuYXBwZW5kKCdwcm9kdWl0JyxubSk7ZmQuYXBwZW5kKCd5b3VyLW5hbWUnLG4pO2ZkLmFwcGVuZCgndGVsZXBob25lJyx0KTtmZC5hcHBlbmQoJ3lvdXItbWVzc2FnZScsVCgnRW52b3nDqSBkZXB1aXMgbOKAmWFwcGxpY2F0aW9uIChwaG90byBzZXVsZSkuJykpOwogICAgICBmZC5hcHBlbmQoJ3Bob3RvJyxibG9iLCdwcm9kdWl0LScrRGF0ZS5ub3coKSsnLmpwZycpO3JldHVybiBzZW5kQ0Y3KEZPUk0ucHJvZHVpdCxmZCk7CiAgICB9KS50aGVuKGZ1bmN0aW9uKGopewogICAgICBpZihqLnN0YXR1cz09PSdtYWlsX3NlbnQnKXsKICAgICAgICBTVC5zZXQoJ3Byb2ZpbGUnLHtuYW1lOm4sdGVsOnR9KTt2YXIgaD1TVC5nZXQoJ2hpc3QnLFtdKTtoLnVuc2hpZnQoe2Q6RGF0ZS5ub3coKSxwOm5tfSk7U1Quc2V0KCdoaXN0JyxoLnNsaWNlKDAsMzApKTsKICAgICAgICBmb3JtLmhpZGRlbj10cnVlO3Jlcy5pbm5lckhUTUw9KCI8ZGl2IGNsYXNzPVwibXNnIG9rXCI+IitUKCJNZXJjaSAiKSkrZXNjKG4pK1QoJy4gVm90cmUgcGhvdG8gZXN0IGVudm95w6llLiBOb3VzIHZvdXMgcsOpcG9uZG9ucyBwYXIgV2hhdHNBcHAgYXUgJykrZXNjKHQpKycuPC9kaXY+JztkcmF3SGlzdCgpOwogICAgICB9ZWxzZXtidG4uZGlzYWJsZWQ9ZmFsc2U7YnRuLnRleHRDb250ZW50PVQoJ0Vudm95ZXIgcG91ciB2w6lyaWZpY2F0aW9uJyk7cmVzLmlubmVySFRNTD0nPGRpdiBjbGFzcz0ibXNnIG5vIj4nK2VzYyhqLm1lc3NhZ2V8fFQoJ0zigJllbnZvaSBhIMOpY2hvdcOpLicpKSsnPC9kaXY+J30KICAgIH0pLmNhdGNoKGZ1bmN0aW9uKCl7YnRuLmRpc2FibGVkPWZhbHNlO2J0bi50ZXh0Q29udGVudD1UKCdFbnZveWVyIHBvdXIgdsOpcmlmaWNhdGlvbicpO3Jlcy5pbm5lckhUTUw9KCI8ZGl2IGNsYXNzPVwibXNnIG5vXCI+IitUKCJQYXMgZGUgY29ubmV4aW9uLiBSw6llc3NheWV6IG91IGFwcGVsZXogbGUgIikpK1RFTCsnLjwvZGl2Pid9KTsKICB9KTsKfQpmdW5jdGlvbiBkcmF3SGlzdCgpewogIHZhciBlbD0kKCcjdmYtaGlzdCcpO2lmKCFlbClyZXR1cm47dmFyIGg9U1QuZ2V0KCdoaXN0JyxbXSk7CiAgZWwuaW5uZXJIVE1MPWgubGVuZ3RoPygiPGRpdiBjbGFzcz1cImxibFwiIHN0eWxlPVwibWFyZ2luLWJvdHRvbTo4cHhcIj4iK1QoIk1lcyBkZW1hbmRlcyIpKyI8L2Rpdj4iKyI8ZGl2IGNsYXNzPVwibGlzdFwiPiIpK2guc2xpY2UoMCw1KS5tYXAoZnVuY3Rpb24oeCl7cmV0dXJuICc8ZGl2IGNsYXNzPSJyb3ciPjxzcGFuIGNsYXNzPSJpYyI+JytpY28oJ2NhbScpKyc8L3NwYW4+PGRpdj48Yj4nK2VzYyh4LnApKyc8L2I+PHNwYW4+JytuZXcgRGF0ZSh4LmQpLnRvTG9jYWxlRGF0ZVN0cmluZyhMT0Mse2RheTonbnVtZXJpYycsbW9udGg6J2xvbmcnfSkrKFQoIiDCtyBlbnZvecOpZSwgcsOpcG9uc2UgcGFyIFdoYXRzQXBwIikrIjwvc3Bhbj4iKyI8L2Rpdj4iKyI8L2Rpdj4iKX0pLmpvaW4oJycpKyc8L2Rpdj4nOicnOwp9Ci8qIHNjYW5uZXIgKi8KZnVuY3Rpb24gb3BlblNjYW5uZXIoKXsKICB2YXIgc3RyZWFtPW51bGwsc3RvcD1mYWxzZSxtPW9wZW5Nb2RhbChUKCdTY2FubmVyIHVuIGNvZGUnKSwoIjxkaXYgY2xhc3M9XCJjYW1cIj4iKyI8dmlkZW8gaWQ9XCJ2Zi12aWRcIiBwbGF5c2lubGluZSBtdXRlZD4iKyI8L3ZpZGVvPiIrIjxkaXYgY2xhc3M9XCJmcmFtZVwiPiIrIjwvZGl2PiIrIjxwIGlkPVwidmYtaGludFwiPiIrVCgiUGxhY2V6IGxlIFFSIGNvZGUgZHUgY2VydGlmaWNhdCBvdSBsZSBjb2RlLWJhcnJlcyBkYW5zIGxlIGNhZHJlLiIpKyI8L3A+IisiPC9kaXY+IisiPHAgY2xhc3M9XCJzdWJcIj4iK1QoIkxlIFFSIGNvZGUgZmlndXJlIHN1ciBjaGFxdWUgY2VydGlmaWNhdCBIYWxhbCBDSS4gVW4gY29kZS1iYXJyZXMgc2V1bCBuZSBzdWZmaXQgcGFzIMOgIHByb3V2ZXIgbGEgY2VydGlmaWNhdGlvbiA6IHBvdXIgdW4gcHJvZHVpdCBhYnNlbnQgZHUgcmVnaXN0cmUsIGVudm95ZXotbm91cyBzYSBwaG90by4iKSsiPC9wPiIrIjxidXR0b24gY2xhc3M9XCJidG4gYWx0IGZ1bGxcIiB0eXBlPVwiYnV0dG9uXCIgaWQ9XCJ2Zi1tYW51YWxcIj4iKStpY28oJ2NhbScpKyhUKCJFbnZveWVyIHVuZSBwaG90byDDoCBsYSBwbGFjZSIpKyI8L2J1dHRvbj4iKSxmdW5jdGlvbigpe3N0b3A9dHJ1ZTtpZihzdHJlYW0pc3RyZWFtLmdldFRyYWNrcygpLmZvckVhY2goZnVuY3Rpb24odCl7dC5zdG9wKCl9KX0pOwogICQoJyN2Zi1tYW51YWwnLG0uZWwpLm9uY2xpY2s9ZnVuY3Rpb24oKXttLmNsb3NlKCk7b3BlbkZvcm0oJ3Byb2R1aXQnKX07CiAgdmFyIGhpbnQ9JCgnI3ZmLWhpbnQnLG0uZWwpLHZpZD0kKCcjdmYtdmlkJyxtLmVsKTsKICBmdW5jdGlvbiBmb3VuZCh0eHQpewogICAgc3RvcD10cnVlO2lmKHN0cmVhbSlzdHJlYW0uZ2V0VHJhY2tzKCkuZm9yRWFjaChmdW5jdGlvbih0KXt0LnN0b3AoKX0pO20uY2xvc2UoKTsKICAgIHZhciBsaW5rPW51bGw7dHJ5e3ZhciB1PW5ldyBVUkwodHh0KTtpZigvaGFsYWxjaVwub3JnJC8udGVzdCh1Lmhvc3RuYW1lKSlsaW5rPXUub3JpZ2luK3UucGF0aG5hbWUucmVwbGFjZSgvXC8\/JC8sJy8nKX1jYXRjaChlKXt9CiAgICAkKCcjdmYtcScpLnZhbHVlPWxpbms\/VCgnQ2VydGlmaWNhdCBzY2FubsOpJyk6dHh0OwogICAgaWYobGluaylydW5TZWFyY2goVCgnQ2VydGlmaWNhdCBzY2FubsOpJykse2xpbms6bGlua30pO2Vsc2UgcnVuU2VhcmNoKHR4dCk7CiAgfQogIGlmKCFuYXZpZ2F0b3IubWVkaWFEZXZpY2VzfHwhbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEpe2hpbnQudGV4dENvbnRlbnQ9VCgnQ2Ftw6lyYSBpbmRpc3BvbmlibGUuIFV0aWxpc2V6IGxhIHJlY2hlcmNoZSBvdSBsYSBwaG90by4nKTtyZXR1cm59CiAgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoe3ZpZGVvOntmYWNpbmdNb2RlOntpZGVhbDonZW52aXJvbm1lbnQnfX0sYXVkaW86ZmFsc2V9KS50aGVuKGZ1bmN0aW9uKHMpewogICAgc3RyZWFtPXM7dmlkLnNyY09iamVjdD1zO3ZpZC5wbGF5KCk7CiAgICB2YXIgZGV0PW51bGw7CiAgICB2YXIgcHJlcD0oVCgnQmFyY29kZURldGVjdG9yJykgaW4gd2luZG93KT9Qcm9taXNlLnJlc29sdmUobmV3IEJhcmNvZGVEZXRlY3Rvcih7Zm9ybWF0czpbJ3FyX2NvZGUnLCdlYW5fMTMnLCdlYW5fOCcsJ2NvZGVfMTI4JywndXBjX2EnXX0pKS50aGVuKGZ1bmN0aW9uKGQpe2RldD1kfSk6bG9hZFNjcmlwdCgnaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvanNRUi8xLjQuMC9qc1FSLm1pbi5qcycpOwogICAgcHJlcC50aGVuKGZ1bmN0aW9uKCl7CiAgICAgIHZhciBjdj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKSxjeD1jdi5nZXRDb250ZXh0KCcyZCcse3dpbGxSZWFkRnJlcXVlbnRseTp0cnVlfSk7CiAgICAgIChmdW5jdGlvbiB0aWNrKCl7CiAgICAgICAgaWYoc3RvcClyZXR1cm47CiAgICAgICAgaWYodmlkLnJlYWR5U3RhdGU+PTIpewogICAgICAgICAgaWYoZGV0KXtkZXQuZGV0ZWN0KHZpZCkudGhlbihmdW5jdGlvbihyKXtpZihyJiZyLmxlbmd0aClmb3VuZChyWzBdLnJhd1ZhbHVlKX0pLmNhdGNoKGZ1bmN0aW9uKCl7fSl9CiAgICAgICAgICBlbHNlIGlmKHdpbmRvdy5qc1FSKXtjdi53aWR0aD12aWQudmlkZW9XaWR0aDtjdi5oZWlnaHQ9dmlkLnZpZGVvSGVpZ2h0O2N4LmRyYXdJbWFnZSh2aWQsMCwwKTt2YXIgaW09Y3guZ2V0SW1hZ2VEYXRhKDAsMCxjdi53aWR0aCxjdi5oZWlnaHQpLGM9d2luZG93LmpzUVIoaW0uZGF0YSxpbS53aWR0aCxpbS5oZWlnaHQpO2lmKGMmJmMuZGF0YSlmb3VuZChjLmRhdGEpfQogICAgICAgIH0KICAgICAgICBzZXRUaW1lb3V0KHRpY2ssZGV0PzIwMDozNTApOwogICAgICB9KSgpOwogICAgfSkuY2F0Y2goZnVuY3Rpb24oKXtoaW50LnRleHRDb250ZW50PVQoJ1NjYW5uZXIgaW5kaXNwb25pYmxlLiBVdGlsaXNleiBsYSByZWNoZXJjaGUgb3UgbGEgcGhvdG8uJyl9KTsKICB9KS5jYXRjaChmdW5jdGlvbigpe2hpbnQudGV4dENvbnRlbnQ9VCgnQWNjw6hzIMOgIGxhIGNhbcOpcmEgcmVmdXPDqS4gQXV0b3Jpc2V6LWxhIGRhbnMgbGVzIHLDqWdsYWdlcywgb3UgdXRpbGlzZXogbGEgcmVjaGVyY2hlLicpfSk7Cn0KCi8qIC0tLS0tLS0tLS0gMi4gQXV0b3VyIGRlIG1vaSAtLS0tLS0tLS0tICovCnZhciBFVEFCPVsKIHtpZDonZTEnLHQ6J2JvdWNoJyxuOlQoJ0JvdWNoZXJpZSBIYWxhbCBIYWRqYSBZZXJpZGEnKSxjOlQoJ0PDtHRlIGTigJlJdm9pcmUnKSxhOicnLGxhdDpudWxsLGxvbjpudWxsLHRlbDonJyxjZXJ0OicwMTUvMDI2TUcnLGV4cDonMDEvMDQvMjAyNyd9Cl07CnZhciBOVD17cmVzdDpbVCgnUmVzdGF1cmFudHMnKSwncmVzdG8nLCdyZXN0J10sYm91Y2g6W1QoJ0JvdWNoZXJpZXMnKSwnbWVhdCcsJ2JvdWNoJ10sYXV0cmU6W1QoJ0F1dHJlcycpLCdzaG9wJywnYXV0cmUnXSxtb3NxOltUKCdNb3NxdcOpZXMnKSwnbW9zcScsJ21vc3EnXX07CnZhciBNQVA9bnVsbCxMQVlFUj1udWxsLENVUlQ9U1QuZ2V0KCdudHlwZScsJ2JvdWNoJyksTU9TUT1bXSxNT1NRTE9BRD1mYWxzZTsKZnVuY3Rpb24gaW5pdE5lYXIoKXsKICB2YXIgdj0kKCcjdi1uZWFyJyk7CiAgdi5pbm5lckhUTUw9KCI8ZGl2PiIrIjxoMj4iK1QoIkF1dG91ciBkZSBtb2kiKSsiPC9oMj4iKyI8cCBjbGFzcz1cInN1YlwiPiIrVCgiw4l0YWJsaXNzZW1lbnRzIGNlcnRpZmnDqXMgcGFyIEhhbGFsIENJLCBldCBtb3NxdcOpZXMgw6AgcHJveGltaXTDqS4iKSsiPC9wPiIrIjwvZGl2PiIrIjxkaXYgY2xhc3M9XCJjaGlwc1wiIGlkPVwibnItY2hpcHNcIiByb2xlPVwiZ3JvdXBcIiBhcmlhLWxhYmVsPVwiIitUKCJDYXTDqWdvcmllIikrIlwiPiIpK09iamVjdC5rZXlzKE5UKS5tYXAoZnVuY3Rpb24oayl7cmV0dXJuICc8YnV0dG9uIGNsYXNzPSJjaGlwIiB0eXBlPSJidXR0b24iIGRhdGEtdD0iJytrKyciIGFyaWEtcHJlc3NlZD0iJysoaz09PUNVUlQpKyciPicrTlRba11bMF0rJzwvYnV0dG9uPid9KS5qb2luKCcnKSsnPC9kaXY+PGJ1dHRvbiBjbGFzcz0iYnRuIGFsdCBmdWxsIiB0eXBlPSJidXR0b24iIGlkPSJuci1sb2MiPicraWNvKCdsb2MnKSsoIjxzcGFuIGlkPVwibnItbG9jdFwiPiIrVCgiVXRpbGlzZXIgbWEgcG9zaXRpb24iKSsiPC9zcGFuPiIrIjwvYnV0dG9uPiIrIjxkaXYgY2xhc3M9XCJtYXBib3hcIiBpZD1cIm5yLW1hcFwiIHJvbGU9XCJyZWdpb25cIiBhcmlhLWxhYmVsPVwiIitUKCJDYXJ0ZSIpKyJcIj4iKyI8L2Rpdj4iKyI8ZGl2IGNsYXNzPVwibGlzdFwiIGlkPVwibnItbGlzdFwiPiIrIjwvZGl2PiIpOwogICQoJyNuci1jaGlwcycpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxmdW5jdGlvbihlKXt2YXIgYj1lLnRhcmdldC5jbG9zZXN0KCcuY2hpcCcpO2lmKCFiKXJldHVybjtDVVJUPWIuZGF0YXNldC50O1NULnNldCgnbnR5cGUnLENVUlQpOyQkKCcjbnItY2hpcHMgLmNoaXAnKS5mb3JFYWNoKGZ1bmN0aW9uKGMpe2Muc2V0QXR0cmlidXRlKCdhcmlhLXByZXNzZWQnLGM9PT1iKX0pO2RyYXdOZWFyKCl9KTsKICAkKCcjbnItbG9jJykub25jbGljaz1mdW5jdGlvbigpe2Fza1BvcyhmdW5jdGlvbihwKXtpZihwKXtNT1NRPVtdO01PU1FMT0FEPWZhbHNlO3JlY2VudGVyKCk7ZHJhd05lYXIoKX19KX07CiAgJCgnI25yLWxpc3QnKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsZnVuY3Rpb24oZSl7dmFyIHI9ZS50YXJnZXQuY2xvc2VzdCgnW2RhdGEtaV0nKTtpZihyJiZNQVApe3ZhciBpdD13aW5kb3cuX25sWytyLmRhdGFzZXQuaV07aWYoaXQmJml0LmxhdCE9bnVsbCl7TUFQLnNldFZpZXcoW2l0LmxhdCxpdC5sb25dLDE3KTskKCcjbnItbWFwJykuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOidzbW9vdGgnLGJsb2NrOidjZW50ZXInfSl9fX0pOwogIGxvYWRDc3MoJ2h0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL2xlYWZsZXQvMS45LjQvbGVhZmxldC5taW4uY3NzJyk7CiAgbG9hZFNjcmlwdCgnaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvbGVhZmxldC8xLjkuNC9sZWFmbGV0Lm1pbi5qcycpLnRoZW4oZnVuY3Rpb24oKXsKICAgIHZhciBwPWN1clBvcygpO01BUD1MLm1hcCgnbnItbWFwJyx7em9vbUNvbnRyb2w6dHJ1ZSxhdHRyaWJ1dGlvbkNvbnRyb2w6dHJ1ZX0pLnNldFZpZXcoW3AubGF0LHAubG9uXSwxNCk7CiAgICBMLnRpbGVMYXllcignaHR0cHM6Ly97c30udGlsZS5vcGVuc3RyZWV0bWFwLm9yZy97en0ve3h9L3t5fS5wbmcnLHttYXhab29tOjE5LGF0dHJpYnV0aW9uOifCqSBPcGVuU3RyZWV0TWFwJ30pLmFkZFRvKE1BUCk7CiAgICBMQVlFUj1MLmxheWVyR3JvdXAoKS5hZGRUbyhNQVApO2RyYXdOZWFyKCk7c2V0VGltZW91dChmdW5jdGlvbigpe01BUC5pbnZhbGlkYXRlU2l6ZSgpfSwxMDApOwogIH0pLmNhdGNoKGZ1bmN0aW9uKCl7JCgnI25yLW1hcCcpLmlubmVySFRNTD0oIjxkaXYgY2xhc3M9XCJlbXB0eVwiPiIrVCgiQ2FydGUgaW5kaXNwb25pYmxlIGhvcnMgY29ubmV4aW9uLiBMYSBsaXN0ZSByZXN0ZSBhZmZpY2jDqWUuIikrIjwvZGl2PiIpO2RyYXdOZWFyKCl9KTsKICBpZighUE9TKWFza1BvcyhmdW5jdGlvbihwKXtpZihwKXtyZWNlbnRlcigpO2RyYXdOZWFyKCl9fSx0cnVlKTtlbHNlICQoJyNuci1sb2N0JykudGV4dENvbnRlbnQ9VCgnUG9zaXRpb24gbWlzZSDDoCBqb3VyJyk7CiAgZHJhd05lYXIoKTsKfQpmdW5jdGlvbiByZWNlbnRlcigpe3ZhciBwPWN1clBvcygpOyQoJyNuci1sb2N0JykudGV4dENvbnRlbnQ9VCgnUG9zaXRpb24gbWlzZSDDoCBqb3VyJyk7aWYoTUFQKU1BUC5zZXRWaWV3KFtwLmxhdCxwLmxvbl0sMTQpfQpmdW5jdGlvbiBmZXRjaE1vc3F1ZXMoKXsKICBpZihNT1NRTE9BRClyZXR1cm47TU9TUUxPQUQ9dHJ1ZTt2YXIgcD1jdXJQb3MoKSxrZXk9J21xXycrcC5sYXQudG9GaXhlZCgyKSsnXycrcC5sb24udG9GaXhlZCgyKSxjPVNULmdldChrZXksbnVsbCk7CiAgaWYoYyYmRGF0ZS5ub3coKS1jLnQ8ODY0MDAwMDApe01PU1E9Yy5kO2RyYXdOZWFyKCk7cmV0dXJufQogIHZhciBxPSdbb3V0Ompzb25dW3RpbWVvdXQ6MjVdO253clsiYW1lbml0eSI9InBsYWNlX29mX3dvcnNoaXAiXVsicmVsaWdpb24iPSJtdXNsaW0iXShhcm91bmQ6MzUwMCwnK3AubGF0KycsJytwLmxvbitUKCcpO291dCBjZW50ZXIgMTIwOycpOwogIGZldGNoKCdodHRwczovL292ZXJwYXNzLWFwaS5kZS9hcGkvaW50ZXJwcmV0ZXInLHttZXRob2Q6VCgnUE9TVCcpLGJvZHk6J2RhdGE9JytlbmNvZGVVUklDb21wb25lbnQocSksaGVhZGVyczp7J0NvbnRlbnQtVHlwZSc6J2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCd9fSkudGhlbihmdW5jdGlvbihyKXtyZXR1cm4gci5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKGopewogICAgTU9TUT0oai5lbGVtZW50c3x8W10pLm1hcChmdW5jdGlvbihlLGkpe3ZhciB0PWUudGFnc3x8e307cmV0dXJuIHtpZDonbScraSx0Oidtb3NxJyxuOnQubmFtZXx8dFsnbmFtZTpmciddfHx0WyduYW1lOmFyJ118fFQoJ01vc3F1w6llJyksYzp0WydhZGRyOnN1YnVyYiddfHx0WydhZGRyOmNpdHknXXx8JycsbGF0OmUubGF0fHwoZS5jZW50ZXImJmUuY2VudGVyLmxhdCksbG9uOmUubG9ufHwoZS5jZW50ZXImJmUuY2VudGVyLmxvbil9fSkuZmlsdGVyKGZ1bmN0aW9uKHgpe3JldHVybiB4LmxhdCE9bnVsbH0pOwogICAgU1Quc2V0KGtleSx7dDpEYXRlLm5vdygpLGQ6TU9TUX0pO2RyYXdOZWFyKCk7CiAgfSkuY2F0Y2goZnVuY3Rpb24oKXtNT1NRTE9BRD1mYWxzZTtNT1NRPW51bGw7ZHJhd05lYXIoKX0pOwp9CmZ1bmN0aW9uIGRyYXdOZWFyKCl7CiAgdmFyIGxpc3Q9JCgnI25yLWxpc3QnKSxwPWN1clBvcygpLGl0ZW1zOwogIGlmKENVUlQ9PT0nbW9zcScpewogICAgaWYoIU1PU1FMT0FEKWZldGNoTW9zcXVlcygpOwogICAgaWYoTU9TUT09PW51bGwpe2xpc3QuaW5uZXJIVE1MPSgiPGRpdiBjbGFzcz1cImVtcHR5XCI+IitUKCJJbXBvc3NpYmxlIGRlIGNoYXJnZXIgbGVzIG1vc3F1w6llcyBwb3VyIGxlIG1vbWVudC4iKSsiPGJ1dHRvbiBjbGFzcz1cImJ0biBhbHRcIiB0eXBlPVwiYnV0dG9uXCIgaWQ9XCJuci1yZXRyeVwiPiIrVCgiUsOpZXNzYXllciIpKyI8L2J1dHRvbj4iKyI8L2Rpdj4iKTt2YXIgcmI9JCgnI25yLXJldHJ5Jyk7aWYocmIpcmIub25jbGljaz1mdW5jdGlvbigpe01PU1E9W107TU9TUUxPQUQ9ZmFsc2U7ZHJhd05lYXIoKX07aWYoTEFZRVIpTEFZRVIuY2xlYXJMYXllcnMoKTtyZXR1cm59CiAgICBpZighTU9TUS5sZW5ndGgmJk1PU1FMT0FEJiYhU1QuZ2V0KCdtcV8nK3AubGF0LnRvRml4ZWQoMikrJ18nK3AubG9uLnRvRml4ZWQoMiksbnVsbCkpe2xpc3QuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJza2VsZXRvbiI+PC9kaXY+PGRpdiBjbGFzcz0ic2tlbGV0b24iPjwvZGl2PjxkaXYgY2xhc3M9InNrZWxldG9uIj48L2Rpdj4nO2lmKExBWUVSKUxBWUVSLmNsZWFyTGF5ZXJzKCk7cmV0dXJufQogICAgaXRlbXM9TU9TUTsKICB9ZWxzZSBpdGVtcz1FVEFCLmZpbHRlcihmdW5jdGlvbih4KXtyZXR1cm4geC50PT09Q1VSVH0pOwogIGl0ZW1zPWl0ZW1zLm1hcChmdW5jdGlvbih4KXtyZXR1cm4gT2JqZWN0LmFzc2lnbih7ZDp4LmxhdCE9bnVsbD9kaXN0KHAubGF0LHAubG9uLHgubGF0LHgubG9uKTpudWxsfSx4KX0pLnNvcnQoZnVuY3Rpb24oYSxiKXtyZXR1cm4gKGEuZD09bnVsbD8xZTk6YS5kKS0oYi5kPT1udWxsPzFlOTpiLmQpfSk7CiAgd2luZG93Ll9ubD1pdGVtczsKICBpZihMQVlFUil7TEFZRVIuY2xlYXJMYXllcnMoKTtpdGVtcy5mb3JFYWNoKGZ1bmN0aW9uKHgpe2lmKHgubGF0PT1udWxsKXJldHVybjtMLm1hcmtlcihbeC5sYXQseC5sb25dLHtpY29uOkwuZGl2SWNvbih7Y2xhc3NOYW1lOicnLGh0bWw6JzxkaXYgY2xhc3M9ImRvdCAnK05UW3gudF1bMl0rJyI+PC9kaXY+JyxpY29uU2l6ZTpbMjYsMjZdLGljb25BbmNob3I6WzEzLDI2XX0pfSkuYWRkVG8oTEFZRVIpLmJpbmRQb3B1cCgnPGI+Jytlc2MoeC5uKSsnPC9iPicrKHguYz8nPGJyPicrZXNjKHguYyk6JycpKyc8YnI+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9tYXBzL2Rpci8\/YXBpPTEmZGVzdGluYXRpb249Jyt4LmxhdCsnLCcreC5sb24rKCJcIiB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lclwiPiIrVCgiSXRpbsOpcmFpcmUiKSsiPC9hPiIpKX0pO0wuY2lyY2xlTWFya2VyKFtwLmxhdCxwLmxvbl0se3JhZGl1czo4LGNvbG9yOicjZmZmJyx3ZWlnaHQ6MyxmaWxsQ29sb3I6JyMyYjZmZTAnLGZpbGxPcGFjaXR5OjF9KS5hZGRUbyhMQVlFUil9CiAgaWYoIWl0ZW1zLmxlbmd0aCl7bGlzdC5pbm5lckhUTUw9KCI8ZGl2IGNsYXNzPVwiZW1wdHlcIj4iKyI8Yj4iK1QoIkxlcyBwcmVtaWVycyDDqXRhYmxpc3NlbWVudHMgYXJyaXZlbnQuIikrIjwvYj4iKyI8c3Bhbj4iKSsoQ1VSVD09PSdtb3NxJz9UKCdBdWN1bmUgbW9zcXXDqWUgdHJvdXbDqWUgZGFucyB1biByYXlvbiBkZSAzLDUga20uJyk6KExBTkc9PT0nZW4nP1QoJ05vIGNlcnRpZmllZCBlc3RhYmxpc2htZW50IGluIHRoaXMgY2F0ZWdvcnkgeWV0LiBXZSBhZGQgdGhlbSBhcyB3ZSBnby4nKTpUKCdBdWN1biAnKStOVFtDVVJUXVswXS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL3MkLywnJykrVCgnIGNlcnRpZmnDqSBu4oCZZXN0IGVuY29yZSByw6lmw6lyZW5jw6kuIE5vdXMgYWpvdXRvbnMgbGVzIMOpdGFibGlzc2VtZW50cyBhdSBmdXIgZXQgw6AgbWVzdXJlLicpKSkrJzwvc3Bhbj4nKyhDVVJUPT09J21vc3EnPycnOigiPGJ1dHRvbiBjbGFzcz1cImJ0blwiIHR5cGU9XCJidXR0b25cIiBkYXRhLWZvcm09XCJjZXJ0aWZcIj4iK1QoIkZhaXJlIGNlcnRpZmllciBtb24gw6l0YWJsaXNzZW1lbnQiKSsiPC9idXR0b24+IikpKyc8L2Rpdj4nO3JldHVybn0KICBsaXN0LmlubmVySFRNTD1pdGVtcy5zbGljZSgwLDYwKS5tYXAoZnVuY3Rpb24oeCxpKXsKICAgIHZhciBzdWI9eC50PT09J21vc3EnPyh4LmN8fFQoJ01vc3F1w6llIHLDqWbDqXJlbmPDqWUgc3VyIE9wZW5TdHJlZXRNYXAnKSk6KCgiPHNwYW4gY2xhc3M9XCJwaWxsXCI+IitUKCJDZXJ0aWZpw6kgSGFsYWwgQ0kiKSsiPC9zcGFuPiIrIiAiKSsoTEFORz09PSdlbic\/J25vLiAnOiduwrAgJykrZXNjKHguY2VydCkrKHguZXhwP1QoJyDCtyB2YWxhYmxlIGp1c3F14oCZYXUgJykrZXNjKHguZXhwKTonJykpOwogICAgcmV0dXJuICc8YnV0dG9uIGNsYXNzPSJyb3ciIHR5cGU9ImJ1dHRvbiIgZGF0YS1pPSInK2krJyI+PHNwYW4gY2xhc3M9ImljIj4nK2ljbyhOVFt4LnRdWzFdKSsnPC9zcGFuPjxkaXY+PGI+Jytlc2MoeC5uKSsnPC9iPjxzcGFuPicrc3ViKyc8L3NwYW4+PC9kaXY+PHNwYW4gY2xhc3M9ImttIj4nKyh4LmQ9PW51bGw\/VCgnYWRyZXNzZSBiaWVudMO0dCcpOmZtdEttKHguZCkpKyc8L3NwYW4+PC9idXR0b24+JzsKICB9KS5qb2luKCcnKTsKfQpST09ULmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxmdW5jdGlvbihlKXt2YXIgZj1lLnRhcmdldC5jbG9zZXN0KCcjdi1uZWFyIFtkYXRhLWZvcm1dJyk7aWYoZilvcGVuRm9ybShmLmRhdGFzZXQuZm9ybSl9KTsKCi8qIC0tLS0tLS0tLS0gMy4gUHJpw6hyZSBldCBjYWxlbmRyaWVyIC0tLS0tLS0tLS0gKi8KdmFyIFBSQVk9W1tUKCdGYWpyJyksVCgnRmFqciAoYXViZSknKV0sW1QoJ0RodWhyJyksVCgnRGhvdWhyJyldLFsnQXNyJywnQXNyJ10sW1QoJ01hZ2hyaWInKSxUKCdNYWdocmliJyldLFtUKCdJc2hhJyksVCgnSWNow6InKV1dOwp2YXIgSE09W1QoJ01vdWhhcnJhbScpLFQoJ1NhZmFyJyksJ1JhYmnKvyBhbC1hd3dhbCcsVCgnUmFiacq\/IGF0aC10aGFuaScpLFQoJ0pvdW1hZGEgYWwtb3VsYScpLFQoJ0pvdW1hZGEgYXRoLXRoYW5pYScpLFQoJ1JhamFiJyksVCgnQ2hhyr9iw6JuJyksVCgnUmFtYWRhbicpLFQoJ0NoYXd3w6JsJyksVCgnRGhvdSBhbC1xacq\/ZGEnKSxUKCdEaG91IGFsLWhpamphJyldOwp2YXIgaGY9bmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoTE9DKyctdS1jYS1pc2xhbWljLXVtYWxxdXJhLW51LWxhdG4nLHtkYXk6J251bWVyaWMnLG1vbnRoOidudW1lcmljJyx5ZWFyOidudW1lcmljJ30pOwpmdW5jdGlvbiBoaWpyaShkLGFkail7dmFyIHg9bmV3IERhdGUoZC5nZXRGdWxsWWVhcigpLGQuZ2V0TW9udGgoKSxkLmdldERhdGUoKSsoYWRqfHwwKSwxMikscD17fTtoZi5mb3JtYXRUb1BhcnRzKHgpLmZvckVhY2goZnVuY3Rpb24ocSl7cFtxLnR5cGVdPXEudmFsdWV9KTtyZXR1cm4ge2Q6K3AuZGF5LG06K3AubW9udGgseTpwYXJzZUludChwLnJlbGF0ZWRZZWFyfHxwLnllYXIsMTApfX0KdmFyIEZFU1Q9W3ttOjksZDoxLG46VCgnRMOpYnV0IGR1IFJhbWFkYW4nKX0se206MTAsZDoxLG46VCgnQcOvZCBlbC1GaXRyLCBmaW4gZHUgUmFtYWRhbicpfSx7bToxMixkOjksbjpUKCdKb3VyIGRlIMq\/QXJhZmF0Jyl9LHttOjEyLGQ6MTAsbjpUKCdBw69kIGVsLUFkaGEgKFRhYmFza2kpJyl9XTsKZnVuY3Rpb24gZmVzdE9mKGRhdGUsYWRqKXt2YXIgaD1oaWpyaShkYXRlLGFkaik7Zm9yKHZhciBpPTA7aTxGRVNULmxlbmd0aDtpKyspaWYoRkVTVFtpXS5tPT09aC5tJiZGRVNUW2ldLmQ9PT1oLmQpcmV0dXJuIEZFU1RbaV07cmV0dXJuIG51bGx9CnZhciBQTk9UPVNULmdldCgncG5vdGlmJyxmYWxzZSksUFRJTUVSUz1bXTsKdmFyIFBUPW51bGwsVElDSz1udWxsLENBTD1uZXcgRGF0ZSgpLEFESj1TVC5nZXQoJ2FkaicsMCk7CgpmdW5jdGlvbiBub3RpZnlQcmF5ZXIobmFtZSxwcmUpe3RyeXtuZXcgTm90aWZpY2F0aW9uKHByZT9UKCfwn5WMIExhIHByacOocmUgYXBwcm9jaGUnKTpUKCfwn5WMIEPigJllc3QgbOKAmWhldXJlIGRlIGxhIHByacOocmUnKSx7Ym9keTpwcmU\/bmFtZSsnIGRhbnMgMTAgbWludXRlcyc6bmFtZSxpY29uOkxPR08sdGFnOidwci0nK25hbWUrKHByZT8nLXByZSc6JycpfSl9Y2F0Y2goZSl7fX0KZnVuY3Rpb24gc2NoZWRQcmF5ZXIoKXsKICBQVElNRVJTLmZvckVhY2goY2xlYXJUaW1lb3V0KTtQVElNRVJTPVtdOwogIGlmKCFQTk9UfHwhUFR8fCEoVCgnTm90aWZpY2F0aW9uJykgaW4gd2luZG93KXx8Tm90aWZpY2F0aW9uLnBlcm1pc3Npb24hPT0nZ3JhbnRlZCcpcmV0dXJuOwogIHZhciBub3c9bmV3IERhdGUoKTsKICBQUkFZLmZvckVhY2goZnVuY3Rpb24ocCl7dmFyIG1zPWhtKFBUW3BbMF1dKS1ub3c7aWYobXM+MClQVElNRVJTLnB1c2goc2V0VGltZW91dChmdW5jdGlvbigpe25vdGlmeVByYXllcihwWzFdKX0sbXMpKTtpZihtcy02MDAwMDA+MClQVElNRVJTLnB1c2goc2V0VGltZW91dChmdW5jdGlvbigpe25vdGlmeVByYXllcihwWzFdLHRydWUpfSxtcy02MDAwMDApKX0pOwp9CmZ1bmN0aW9uIHBhZChuKXtyZXR1cm4gKG48MTA\/JzAnOicnKStufQpmdW5jdGlvbiBwdEtleSgpe3ZhciBkPW5ldyBEYXRlKCkscD1jdXJQb3MoKTtyZXR1cm4gJ3B0XycrZC5nZXRGdWxsWWVhcigpK3BhZChkLmdldE1vbnRoKCkrMSkrcGFkKGQuZ2V0RGF0ZSgpKSsnXycrcC5sYXQudG9GaXhlZCgxKSsnXycrcC5sb24udG9GaXhlZCgxKX0KZnVuY3Rpb24gbG9hZFRpbWVzKCl7CiAgdmFyIGQ9bmV3IERhdGUoKSxwPWN1clBvcygpLGs9cHRLZXkoKSxjPVNULmdldChrLG51bGwpO2lmKGMpcmV0dXJuIFByb21pc2UucmVzb2x2ZShjKTsKICByZXR1cm4gZmV0Y2goJ2h0dHBzOi8vYXBpLmFsYWRoYW4uY29tL3YxL3RpbWluZ3MvJytwYWQoZC5nZXREYXRlKCkpKyctJytwYWQoZC5nZXRNb250aCgpKzEpKyctJytkLmdldEZ1bGxZZWFyKCkrJz9sYXRpdHVkZT0nK3AubGF0KycmbG9uZ2l0dWRlPScrcC5sb24rJyZtZXRob2Q9MycpLnRoZW4oZnVuY3Rpb24ocil7cmV0dXJuIHIuanNvbigpfSkudGhlbihmdW5jdGlvbihqKXt2YXIgdD1qLmRhdGEudGltaW5ncztTVC5zZXQoayx0KTtyZXR1cm4gdH0pOwp9CmZ1bmN0aW9uIHFpYmxhKHApe3ZhciByPU1hdGguUEkvMTgwLGs9e2xhdDoyMS40MjI1LGxvbjozOS44MjYyfSxkbD0oay5sb24tcC5sb24pKnIseT1NYXRoLnNpbihkbCkseD1NYXRoLmNvcyhwLmxhdCpyKSpNYXRoLnRhbihrLmxhdCpyKS1NYXRoLnNpbihwLmxhdCpyKSpNYXRoLmNvcyhkbCk7cmV0dXJuIChNYXRoLmF0YW4yKHkseCkvciszNjApJTM2MH0KZnVuY3Rpb24gaW5pdFByYXkoKXsKICB2YXIgdj0kKCcjdi1wcmF5Jyk7CiAgdi5pbm5lckhUTUw9KCI8ZGl2IGNsYXNzPVwibmV4dFwiIGlkPVwicHItbmV4dFwiPiIrIjxkaXYgY2xhc3M9XCJza2VsZXRvblwiIHN0eWxlPVwiaGVpZ2h0OjEyMHB4O2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMSlcIj4iKyI8L2Rpdj4iKyI8L2Rpdj4iKyI8ZGl2IGNsYXNzPVwidGltZXNcIiBpZD1cInByLXRpbWVzXCI+IisiPC9kaXY+IisiPHAgY2xhc3M9XCJzdWJcIiBpZD1cInByLWxvY1wiPiIrIjwvcD4iKyI8ZGl2IGNsYXNzPVwibm90aWZcIj4iKyI8ZGl2PiIrIjxiPiIrVCgiTm90aWZpY2F0aW9uIMOgIGzigJloZXVyZSBkZSBsYSBwcmnDqHJlIikrIjwvYj4iKyI8c21hbGwgaWQ9XCJwbi1zXCI+IikrKFBOT1Q\/VCgnQWN0aXbDqWUgdGFudCBxdWUgbOKAmWFwcGxpY2F0aW9uIHJlc3RlIG91dmVydGUuJyk6VCgnUmVjZXZleiB1bmUgYWxlcnRlIMOgIGNoYXF1ZSBwcmnDqHJlLCBldCAxMCBtaW51dGVzIGF2YW50LicpKSsnPC9zbWFsbD48L2Rpdj48YnV0dG9uIGNsYXNzPSJzdyIgaWQ9InBuLXN3IiByb2xlPSJzd2l0Y2giIGFyaWEtY2hlY2tlZD0iJytQTk9UKygiXCIgYXJpYS1sYWJlbD1cIiIrVCgiQWN0aXZlciBsZXMgbm90aWZpY2F0aW9ucyBkZSBwcmnDqHJlIikrIlwiPiIrIjwvYnV0dG9uPiIrIjwvZGl2PiIrIjxkaXYgY2xhc3M9XCJjYXJkXCIgaWQ9XCJxYlwiPiIrIjwvZGl2PiIrIjxkaXY+IisiPGgyPiIrVCgiQ2FsZW5kcmllciIpKyI8L2gyPiIrIjwvZGl2PiIrIjxkaXYgY2xhc3M9XCJjYWxcIj4iKyI8ZGl2IGNsYXNzPVwiY2FsLWhcIj4iKyI8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBpZD1cImNhbC1wXCIgYXJpYS1sYWJlbD1cIiIrVCgiTW9pcyBwcsOpY8OpZGVudCIpKyJcIj4iKyLigLkiKyI8L2J1dHRvbj4iKyI8ZGl2PiIrIjxiIGlkPVwiY2FsLXRcIj4iKyI8L2I+IisiPHNtYWxsIGlkPVwiY2FsLWhcIj4iKyI8L3NtYWxsPiIrIjwvZGl2PiIrIjxidXR0b24gdHlwZT1cImJ1dHRvblwiIGlkPVwiY2FsLW5cIiBhcmlhLWxhYmVsPVwiIitUKCJNb2lzIHN1aXZhbnQiKSsiXCI+Iisi4oC6IisiPC9idXR0b24+IisiPC9kaXY+IisiPGRpdiBjbGFzcz1cImdyaWRcIiBpZD1cImNhbC1nXCI+IisiPC9kaXY+IisiPC9kaXY+IisiPGRpdiBjbGFzcz1cImFkalwiPiIrVCgiQWp1c3RlbWVudCBkZSBsYSBkYXRlIGjDqWdpcmllbm5lIDoiKSsiPHNwYW4gY2xhc3M9XCJjaGlwc1wiIGlkPVwiYWRqLWNcIj4iKStbLTEsMCwxXS5tYXAoZnVuY3Rpb24obil7cmV0dXJuICc8YnV0dG9uIGNsYXNzPSJjaGlwIiB0eXBlPSJidXR0b24iIGRhdGEtYT0iJytuKyciIGFyaWEtcHJlc3NlZD0iJysoQURKPT09bikrJyI+Jysobj4wP1QoJysxIGpvdXInKTpuPDA\/VCgn4oiSMSBqb3VyJyk6VChUKCdBdWN1bicpKSkrJzwvYnV0dG9uPid9KS5qb2luKCcnKSsoIjwvc3Bhbj4iKyI8L2Rpdj4iKyI8ZGl2PiIrIjxoMj4iK1QoIkbDqnRlcyBldCBkYXRlcyDDoCB2ZW5pciIpKyI8L2gyPiIrIjxwIGNsYXNzPVwic3ViXCI+IitUKCJBw69kIGVsLUZpdHIsIEHDr2QgZWwtQWRoYSBldCBsZXMgZGF0ZXMgcXVpIGxlcyBlbnRvdXJlbnQuIExlcyBkYXRlcyBzb250IGNhbGN1bMOpZXMgw6AgbOKAmWF2YW5jZSA7IGxhIHZlaWxsZSwgbOKAmWFubm9uY2Ugb2ZmaWNpZWxsZSBkZSBs4oCZb2JzZXJ2YXRpb24gZGUgbGEgbHVuZSBmYWl0IGZvaS4iKSsiPC9wPiIrIjwvZGl2PiIrIjxkaXYgY2xhc3M9XCJmZXN0LWxcIiBpZD1cImZlc3QtbFwiPiIrIjwvZGl2PiIpOwogICQoJyNwbi1zdycpLm9uY2xpY2s9ZnVuY3Rpb24oKXsKICAgIHZhciBzdz10aGlzLG9uPXN3LmdldEF0dHJpYnV0ZSgnYXJpYS1jaGVja2VkJyk9PT0ndHJ1ZSc7CiAgICBpZihvbil7UE5PVD1mYWxzZTtTVC5zZXQoJ3Bub3RpZicsZmFsc2UpO3N3LnNldEF0dHJpYnV0ZSgnYXJpYS1jaGVja2VkJywnZmFsc2UnKTskKCcjcG4tcycpLnRleHRDb250ZW50PVQoJ05vdGlmaWNhdGlvbnMgZGUgcHJpw6hyZSBkw6lzYWN0aXbDqWVzLicpO3NjaGVkUHJheWVyKCk7cmV0dXJufQogICAgaWYoIShUKCdOb3RpZmljYXRpb24nKSBpbiB3aW5kb3cpKXt0b2FzdChUKCdMZXMgbm90aWZpY2F0aW9ucyBuZSBzb250IHBhcyBwcmlzZXMgZW4gY2hhcmdlIGljaScpKTtyZXR1cm59CiAgICBOb3RpZmljYXRpb24ucmVxdWVzdFBlcm1pc3Npb24oKS50aGVuKGZ1bmN0aW9uKHApe2lmKHA9PT0nZ3JhbnRlZCcpe1BOT1Q9dHJ1ZTtTVC5zZXQoJ3Bub3RpZicsdHJ1ZSk7c3cuc2V0QXR0cmlidXRlKCdhcmlhLWNoZWNrZWQnLCd0cnVlJyk7JCgnI3BuLXMnKS50ZXh0Q29udGVudD1UKCdBY3RpdsOpZSB0YW50IHF1ZSBs4oCZYXBwbGljYXRpb24gcmVzdGUgb3V2ZXJ0ZS4gUG91ciB1bmUgYWxlcnRlIMOgIMOpY3JhbiB2ZXJyb3VpbGzDqSwgaWwgZmF1ZHJhIGxhIHZlcnNpb24gaW5zdGFsbMOpZSBkZXB1aXMgbGUgc3RvcmUuJyk7c2NoZWRQcmF5ZXIoKX1lbHNlIHRvYXN0KFQoJ05vdGlmaWNhdGlvbnMgcmVmdXPDqWVzIGRhbnMgbGUgbmF2aWdhdGV1cicpKX0pOwogIH07CiAgJCgnI2NhbC1wJykub25jbGljaz1mdW5jdGlvbigpe0NBTD1uZXcgRGF0ZShDQUwuZ2V0RnVsbFllYXIoKSxDQUwuZ2V0TW9udGgoKS0xLDEpO2RyYXdDYWwoKX07CiAgJCgnI2NhbC1uJykub25jbGljaz1mdW5jdGlvbigpe0NBTD1uZXcgRGF0ZShDQUwuZ2V0RnVsbFllYXIoKSxDQUwuZ2V0TW9udGgoKSsxLDEpO2RyYXdDYWwoKX07CiAgJCgnI2Fkai1jJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLGZ1bmN0aW9uKGUpe3ZhciBiPWUudGFyZ2V0LmNsb3Nlc3QoJy5jaGlwJyk7aWYoIWIpcmV0dXJuO0FESj0rYi5kYXRhc2V0LmE7U1Quc2V0KCdhZGonLEFESik7JCQoJyNhZGotYyAuY2hpcCcpLmZvckVhY2goZnVuY3Rpb24oYyl7Yy5zZXRBdHRyaWJ1dGUoJ2FyaWEtcHJlc3NlZCcsYz09PWIpfSk7ZHJhd0NhbCgpO2RyYXdGZXN0KCk7ZHJhd05leHQoKX0pOwogIGRyYXdDYWwoKTtkcmF3RmVzdCgpOwogIGlmKCFQT1MpYXNrUG9zKGZ1bmN0aW9uKCl7bG9hZFBUKCl9LHRydWUpO2xvYWRQVCgpOwp9CgovKiBRaWJsYSA6IGJvdXNzb2xlICovCnZhciBRSD1udWxsLFFPTj1mYWxzZSxRU0VOUz1udWxsOwpmdW5jdGlvbiBpbml0UWlibGEoKXsKICB2YXIgZWw9JCgnI3FiJyk7aWYoIWVsKXJldHVybjt2YXIgYj1xaWJsYShjdXJQb3MoKSksZGlycz1bVCgnbm9yZCcpLFQoJ25vcmQtZXN0JyksVCgnZXN0JyksVCgnc3VkLWVzdCcpLFQoJ3N1ZCcpLFQoJ3N1ZC1vdWVzdCcpLFQoJ291ZXN0JyksVCgnbm9yZC1vdWVzdCcpXSxkbj1kaXJzW01hdGgucm91bmQoYi80NSklOF07CiAgZWwuaW5uZXJIVE1MPSgiPGRpdiBjbGFzcz1cImxibFwiPiIrVCgiUWlibGEiKSsiPC9kaXY+IisiPGRpdiBjbGFzcz1cImNtcFwiPiIrIjxzdmcgdmlld0JveD1cIjAgMCAyMDAgMjAwXCIgcm9sZT1cImltZ1wiIGFyaWEtbGFiZWw9XCIiK1QoIkJvdXNzb2xlIGRlIGxhIFFpYmxhIikrIlwiPiIrIjxjaXJjbGUgY3g9XCIxMDBcIiBjeT1cIjEwMFwiIHI9XCI5MlwiIGZpbGw9XCJ2YXIoLS1taXN0KVwiIHN0cm9rZT1cInZhcigtLWxpbmUpXCIgc3Ryb2tlLXdpZHRoPVwiM1wiLz4iKyI8ZyBpZD1cInFiLXJvc2VcIj4iKyI8Y2lyY2xlIGN4PVwiMTAwXCIgY3k9XCIxMDBcIiByPVwiNzhcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cInZhcigtLWxpbmUpXCIgc3Ryb2tlLXdpZHRoPVwiMS41MDBcIiBzdHJva2UtZGFzaGFycmF5PVwiMiA2XCIvPiIrIjx0ZXh0IHg9XCIxMDBcIiB5PVwiMjhcIiB0ZXh0LWFuY2hvcj1cIm1pZGRsZVwiIGZvbnQtc2l6ZT1cIjE2XCIgZm9udC13ZWlnaHQ9XCI3MDBcIiBmaWxsPVwidmFyKC0tdGV4dClcIj4iKyJOIisiPC90ZXh0PiIrIjxnIHRyYW5zZm9ybT1cInJvdGF0ZSgiKStiKycgMTAwIDEwMCkiPjxwYXRoIGQ9Ik0xMDAgMjIgTDEwNiA0MCBMOTQgNDBaIiBmaWxsPSJ2YXIoLS1nb2xkKSIvPjxyZWN0IHg9Ijg4IiB5PSI0MCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiByeD0iMyIgZmlsbD0iIzExMSIvPjxyZWN0IHg9Ijg4IiB5PSI0NiIgd2lkdGg9IjI0IiBoZWlnaHQ9IjUiIGZpbGw9InZhcigtLWdvbGQpIi8+PC9nPjwvZz48cGF0aCBkPSJNMTAwIDQgTDExMCAyMCBMOTAgMjBaIiBmaWxsPSJ2YXIoLS1ncmVlbikiLz48L3N2Zz48L2Rpdj48cCBjbGFzcz0icWItdCIgaWQ9InFiLXQiPjxiPicrTWF0aC5yb3VuZChiKSsoIsKwIisiPC9iPiIrVCgiIGRlcHVpcyBsZSBub3JkLCB2ZXJzIGxlICIpKStkbitUKCcuIFBvc2l0aW9uIHV0aWxpc8OpZSA6ICcpK2VzYyhjdXJQb3MoKS5uYW1lKSsnLjwvcD48YnV0dG9uIGNsYXNzPSJidG4gZnVsbCIgdHlwZT0iYnV0dG9uIiBpZD0icWItYiI+JytpY28oJ2xvYycpKyhUKCJBY3RpdmVyIGxhIGJvdXNzb2xlIikrIjwvYnV0dG9uPiIpOwogICQoJyNxYi1iJykub25jbGljaz1zdGFydENvbXBhc3M7UU9OPWZhbHNlOwp9CmZ1bmN0aW9uIHN0YXJ0Q29tcGFzcygpewogIHZhciBiPXFpYmxhKGN1clBvcygpKTsKICBmdW5jdGlvbiB1cGQoaGQpewogICAgUUg9UUg9PW51bGw\/aGQ6KGZ1bmN0aW9uKGEsYyl7dmFyIGQ9KChjLWErNTQwKSUzNjApLTE4MDtyZXR1cm4gKGErZCowLjI1KzM2MCklMzYwfSkoUUgsaGQpOwogICAgJCgnI3FiLXJvc2UnKS5zZXRBdHRyaWJ1dGUoJ3RyYW5zZm9ybScsJ3JvdGF0ZSgnKygtUUgpKycgMTAwIDEwMCknKTsKICAgIHZhciBkaWZmPU1hdGgucm91bmQoKChiLVFIKzU0MCklMzYwKS0xODApLHQ9JCgnI3FiLXQnKTsKICAgIGlmKE1hdGguYWJzKGRpZmYpPD01KXt0LmlubmVySFRNTD0oIjxiIHN0eWxlPVwiY29sb3I6dmFyKC0tZ3JlZW4pXCI+IitUKCJWb3VzIGZhaXRlcyBmYWNlIMOgIGxhIFFpYmxhIikrIjwvYj4iKTtpZighUU9OKXtRT049dHJ1ZTt0cnl7bmF2aWdhdG9yLnZpYnJhdGUmJm5hdmlnYXRvci52aWJyYXRlKDQwKX1jYXRjaChlKXt9fX0KICAgIGVsc2V7UU9OPWZhbHNlO3QuaW5uZXJIVE1MPShUKCJUb3VybmV6LXZvdXMgZGUgIikrIjxiPiIpK01hdGguYWJzKGRpZmYpKygiwrAiKyI8L2I+IitUKCIgdmVycyBsYSAiKSkrKGRpZmY+MD9UKCdkcm9pdGUnKTpUKCdnYXVjaGUnKSkrJy4nfQogIH0KICBmdW5jdGlvbiBoKGUpe3ZhciBoZD1udWxsO2lmKHR5cGVvZiBlLndlYmtpdENvbXBhc3NIZWFkaW5nPT09J251bWJlcicpaGQ9ZS53ZWJraXRDb21wYXNzSGVhZGluZztlbHNlIGlmKChlLmFic29sdXRlfHxlLnR5cGU9PT0nZGV2aWNlb3JpZW50YXRpb25hYnNvbHV0ZScpJiZlLmFscGhhIT1udWxsKWhkPSgzNjAtZS5hbHBoYSklMzYwO2lmKGhkIT1udWxsKXtRU0VOUz0xO3VwZChoZCl9fQogIGZ1bmN0aW9uIGZhaWwoKXskKCcjcWItdCcpLmlubmVySFRNTD0oVCgiQm91c3NvbGUgaW5kaXNwb25pYmxlIHN1ciBjZXQgYXBwYXJlaWwuIE9yaWVudGV6LXZvdXMgw6AgIikrIjxiPiIpK01hdGgucm91bmQoYikrKCLCsCIrIjwvYj4iK1QoIiBkZXB1aXMgbGUgbm9yZC4iKSl9CiAgZnVuY3Rpb24gZ28oKXt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignZGV2aWNlb3JpZW50YXRpb25hYnNvbHV0ZScsaCx0cnVlKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignZGV2aWNlb3JpZW50YXRpb24nLGgsdHJ1ZSk7JCgnI3FiLWInKS5oaWRkZW49dHJ1ZTskKCcjcWItdCcpLnRleHRDb250ZW50PVQoJ1RlbmV6IGxlIHTDqWzDqXBob25lIMOgIHBsYXQgZXQgZmFpdGVzIHVuIGh1aXQgcG91ciBjYWxpYnJlci4nKTtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aWYoIVFTRU5TKWZhaWwoKX0sMzUwMCl9CiAgaWYod2luZG93LkRldmljZU9yaWVudGF0aW9uRXZlbnQmJnR5cGVvZiBEZXZpY2VPcmllbnRhdGlvbkV2ZW50LnJlcXVlc3RQZXJtaXNzaW9uPT09J2Z1bmN0aW9uJyl7RGV2aWNlT3JpZW50YXRpb25FdmVudC5yZXF1ZXN0UGVybWlzc2lvbigpLnRoZW4oZnVuY3Rpb24ocyl7aWYocz09PSdncmFudGVkJylnbygpO2Vsc2UgZmFpbCgpfSkuY2F0Y2goZmFpbCl9CiAgZWxzZSBpZih3aW5kb3cuRGV2aWNlT3JpZW50YXRpb25FdmVudClnbygpO2Vsc2UgZmFpbCgpOwp9CmZ1bmN0aW9uIGxvYWRQVCgpewogIHZhciBwPWN1clBvcygpO2luaXRRaWJsYSgpOyQoJyNwci1sb2MnKS5pbm5lckhUTUw9KFQoIkhvcmFpcmVzIHBvdXIgIikrIjxiPiIpK2VzYyhwLm5hbWUpKygiPC9iPiIrVCgiIMK3IG3DqXRob2RlIExpZ3VlIGlzbGFtaXF1ZSBtb25kaWFsZSDCtyBRaWJsYSA6ICIpKyI8Yj4iKStNYXRoLnJvdW5kKHFpYmxhKHApKSsoIsKwIisiPC9iPiIrVCgiIGRlcHVpcyBsZSBub3JkLiAiKSsiPGEgaHJlZj1cIiNcIiBpZD1cInByLWdlb1wiIHN0eWxlPVwiY29sb3I6dmFyKC0tZ3JlZW4pO2ZvbnQtd2VpZ2h0OjcwMFwiPiIrVCgiVXRpbGlzZXIgbWEgcG9zaXRpb24iKSsiPC9hPiIpOwogICQoJyNwci1nZW8nKS5vbmNsaWNrPWZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKTthc2tQb3MoZnVuY3Rpb24oKXtsb2FkUFQoKX0pfTsKICBsb2FkVGltZXMoKS50aGVuKGZ1bmN0aW9uKHQpe1BUPXQ7ZHJhd1RpbWVzKCk7ZHJhd05leHQoKTtzY2hlZFByYXllcigpO2lmKFRJQ0spY2xlYXJJbnRlcnZhbChUSUNLKTtUSUNLPXNldEludGVydmFsKGRyYXdOZXh0LDEwMDApfSkuY2F0Y2goZnVuY3Rpb24oKXt2YXIgYz0kKCcjcHItbmV4dCcpO2MuaW5uZXJIVE1MPSgiPGRpdiBjbGFzcz1cIm1zZyBub1wiPiIrVCgiSG9yYWlyZXMgaW5kaXNwb25pYmxlcyBzYW5zIGNvbm5leGlvbi4gUsOpZXNzYXlleiBlbiBsaWduZS4iKSsiPC9kaXY+Iil9KTsKfQpmdW5jdGlvbiBobShzKXt2YXIgYT1TdHJpbmcocykuc2xpY2UoMCw1KS5zcGxpdCgnOicpO3JldHVybiBuZXcgRGF0ZShuZXcgRGF0ZSgpLnNldEhvdXJzKCthWzBdLCthWzFdLDAsMCkpfQpmdW5jdGlvbiBkcmF3VGltZXMoKXsKICB2YXIgbm93PW5ldyBEYXRlKCksbng9bmV4dElkeCgpOwogICQoJyNwci10aW1lcycpLmlubmVySFRNTD1QUkFZLm1hcChmdW5jdGlvbihwLGkpe3ZhciB0PVBUW3BbMF1dLHBhc3Q9aG0odCk8bm93JiZpIT09bng7cmV0dXJuICc8ZGl2IGNsYXNzPSJ0JysoaT09PW54Pycgb24nOicnKSsocGFzdD8nIGRpbSc6JycpKyciPjxiPicrcFsxXSsnPC9iPjxzcGFuPicrU3RyaW5nKHQpLnNsaWNlKDAsNSkucmVwbGFjZSgnOicsSFNFUCkrJzwvc3Bhbj48L2Rpdj4nfSkuam9pbignJykrKCI8ZGl2IGNsYXNzPVwidCBkaW1cIiBzdHlsZT1cIm9wYWNpdHk6LjhcIj4iKyI8Yj4iK1QoIkxldmVyIGR1IHNvbGVpbCIpKyI8L2I+IisiPHNwYW4+IikrU3RyaW5nKFBULlN1bnJpc2UpLnNsaWNlKDAsNSkucmVwbGFjZSgnOicsSFNFUCkrJzwvc3Bhbj48L2Rpdj4nOwp9CmZ1bmN0aW9uIG5leHRJZHgoKXt2YXIgbm93PW5ldyBEYXRlKCk7Zm9yKHZhciBpPTA7aTxQUkFZLmxlbmd0aDtpKyspaWYoaG0oUFRbUFJBWVtpXVswXV0pPm5vdylyZXR1cm4gaTtyZXR1cm4gLTF9CmZ1bmN0aW9uIGRyYXdOZXh0KCl7CiAgaWYoIVBUKXJldHVybjt2YXIgbm93PW5ldyBEYXRlKCksaT1uZXh0SWR4KCksZWw9JCgnI3ByLW5leHQnKSx3aGVuLG5hbWU7CiAgaWYoaT49MCl7d2hlbj1obShQVFtQUkFZW2ldWzBdXSk7bmFtZT1QUkFZW2ldWzFdfWVsc2V7d2hlbj1uZXcgRGF0ZShobShQVC5GYWpyKS5nZXRUaW1lKCkrODY0MDAwMDApO25hbWU9VCgnRmFqciAoZGVtYWluKScpfQogIHZhciBzPU1hdGgubWF4KDAsTWF0aC5yb3VuZCgod2hlbi1ub3cpLzEwMDApKSxoPU1hdGguZmxvb3Iocy8zNjAwKSxtPU1hdGguZmxvb3IocyUzNjAwLzYwKSxzZWM9cyU2MDsKICB2YXIgaGo9aGlqcmkobm93LEFESik7CiAgZWwuaW5uZXJIVE1MPSgiPHNwYW4gY2xhc3M9XCJsYmxcIj4iK1QoIlByb2NoYWluZSBwcmnDqHJlIikrIjwvc3Bhbj4iKyI8Yj4iKStlc2MobmFtZSkrJyDCtyAnK1N0cmluZyhQVFtpPj0wP1BSQVlbaV1bMF06VCgnRmFqcicpXSkuc2xpY2UoMCw1KS5yZXBsYWNlKCc6JyxIU0VQKSsoIjwvYj4iKyI8c3BhbiBjbGFzcz1cImNkXCI+IitUKCJkYW5zICIpKSsoaD9oKycgaCAnOicnKStwYWQobSkrJyBtaW4gJytwYWQoc2VjKSsnIHM8L3NwYW4+PGRpdiBjbGFzcz0iZHRzIj48c3Bhbj4nK25vdy50b0xvY2FsZURhdGVTdHJpbmcoTE9DLHt3ZWVrZGF5Oidsb25nJyxkYXk6J251bWVyaWMnLG1vbnRoOidsb25nJyx5ZWFyOidudW1lcmljJ30pKyc8L3NwYW4+PHNwYW4+PHN0cm9uZz4nK2hqLmQrJyAnK0hNW2hqLm0tMV0rJyAnK2hqLnkrKCI8L3N0cm9uZz4iK1QoIiBkZSBs4oCZSMOpZ2lyZSIpKyI8L3NwYW4+IisiPC9kaXY+Iik7CiAgaWYoaSE9PXdpbmRvdy5fbGFzdEkpe3dpbmRvdy5fbGFzdEk9aTtkcmF3VGltZXMoKX0KfQpmdW5jdGlvbiBkcmF3Q2FsKCl7CiAgdmFyIHk9Q0FMLmdldEZ1bGxZZWFyKCksbT1DQUwuZ2V0TW9udGgoKSxmaXJzdD1uZXcgRGF0ZSh5LG0sMSksZGF5cz1uZXcgRGF0ZSh5LG0rMSwwKS5nZXREYXRlKCksb2ZmPShmaXJzdC5nZXREYXkoKSs2KSU3LHRvZGF5PW5ldyBEYXRlKCk7CiAgdmFyIGgxPWhpanJpKGZpcnN0LEFESiksaDI9aGlqcmkobmV3IERhdGUoeSxtLGRheXMpLEFESik7CiAgJCgnI2NhbC10JykudGV4dENvbnRlbnQ9Zmlyc3QudG9Mb2NhbGVEYXRlU3RyaW5nKExPQyx7bW9udGg6J2xvbmcnLHllYXI6J251bWVyaWMnfSk7CiAgJCgnI2NhbC1oJykudGV4dENvbnRlbnQ9KGgxLm09PT1oMi5tP0hNW2gxLm0tMV0rJyAnK2gxLnk6SE1baDEubS0xXSsnIOKAkyAnK0hNW2gyLm0tMV0rJyAnK2gyLnkpOwogIHZhciBnPVsnTCcsJ00nLCdNJywnSicsJ1YnLCdTJywnRCddLm1hcChmdW5jdGlvbihkKXtyZXR1cm4gJzxkaXYgY2xhc3M9ImRuIj4nK2QrJzwvZGl2Pid9KS5qb2luKCcnKTsKICBmb3IodmFyIGk9MDtpPG9mZjtpKyspZys9JzxkaXYgY2xhc3M9ImRjIGJsYW5rIj48L2Rpdj4nOwogIGZvcih2YXIgZD0xO2Q8PWRheXM7ZCsrKXt2YXIgZHQ9bmV3IERhdGUoeSxtLGQpLGhoPWhpanJpKGR0LEFESiksZj1mZXN0T2YoZHQsQURKKSx0PWR0LnRvRGF0ZVN0cmluZygpPT09dG9kYXkudG9EYXRlU3RyaW5nKCk7Zys9JzxkaXYgY2xhc3M9ImRjJysoZj8nIGZlc3QnOicnKSsodD8nIHRvZGF5JzonJykrJyInKyhmPycgdGl0bGU9IicrZXNjKGYubikrJyInOicnKSsnPjxiPicrZCsnPC9iPjxzbWFsbD4nK2hoLmQrJzwvc21hbGw+PC9kaXY+J30KICAkKCcjY2FsLWcnKS5pbm5lckhUTUw9ZzsKfQpmdW5jdGlvbiBkcmF3RmVzdCgpewogIHZhciBvdXQ9W10sc3RhcnQ9bmV3IERhdGUoKTtzdGFydC5zZXRIb3VycygxMiwwLDAsMCk7CiAgZm9yKHZhciBpPTA7aTw1MDAmJm91dC5sZW5ndGg8NjtpKyspe3ZhciBkdD1uZXcgRGF0ZShzdGFydC5nZXRGdWxsWWVhcigpLHN0YXJ0LmdldE1vbnRoKCksc3RhcnQuZ2V0RGF0ZSgpK2ksMTIpLGY9ZmVzdE9mKGR0LEFESik7aWYoZilvdXQucHVzaCh7ZjpmLGQ6ZHQsbjppfSl9CiAgJCgnI2Zlc3QtbCcpLmlubmVySFRNTD1vdXQubWFwKGZ1bmN0aW9uKG8pe3ZhciBoPWhpanJpKG8uZCxBREopO3JldHVybiAnPGRpdiBjbGFzcz0iZmVzdC1pIj48ZGl2PjxiPicrZXNjKG8uZi5uKSsnPC9iPjxzcGFuPicrby5kLnRvTG9jYWxlRGF0ZVN0cmluZyhMT0Mse3dlZWtkYXk6J2xvbmcnLGRheTonbnVtZXJpYycsbW9udGg6J2xvbmcnLHllYXI6J251bWVyaWMnfSkrJyDCtyAnK2guZCsnICcrSE1baC5tLTFdKycgJytoLnkrJzwvc3Bhbj48L2Rpdj48ZW0+Jysoby5uPT09MD9UKCdBdWpvdXJk4oCZaHVpJyk6by5uPT09MT9UKCdEZW1haW4nKTpUKCdkYW5zICcpK28ubisnIGonKSsnPC9lbT48L2Rpdj4nfSkuam9pbignJyk7Cn0KCi8qIC0tLS0tLS0tLS0gbW90ZXVyIGF1ZGlvIDogdW4gc2V1bCBsZWN0ZXVyIHBhcnRhZ8OpLCB1biBzZXVsIMKrIHByb3ByacOpdGFpcmUgwrsgw6AgbGEgZm9pcyAtLS0tLS0tLS0tICovCnZhciBBPW51bGwsT1dOPW51bGwsU1BLPW51bGwsUkFURT1TVC5nZXQoJ3JhdGUnLDEpLFJQPXt2cjpTVC5nZXQoJ3ZyZXAnLDEpLHNyOlNULmdldCgnc3JlcCcsMSl9OwpmdW5jdGlvbiBhRWwoKXtpZighQSl7QT1uZXcgQXVkaW8oKTtBLnByZWxvYWQ9J2F1dG8nfXJldHVybiBBfQpmdW5jdGlvbiBhU3JjKHVybCxkb25lLGZhaWwpewogIHZhciBhPWFFbCgpO2Eub25lbmRlZD1mdW5jdGlvbigpe2RvbmUmJmRvbmUoKX07YS5vbmVycm9yPWZ1bmN0aW9uKCl7ZmFpbCYmZmFpbCgpfTsKICBhLnNyYz11cmw7YS5kZWZhdWx0UGxheWJhY2tSYXRlPVJBVEU7YS5wbGF5YmFja1JhdGU9UkFURTsKICB2YXIgcD1hLnBsYXkoKTtpZihwJiZwLmNhdGNoKXAuY2F0Y2goZnVuY3Rpb24oZSl7aWYoZSYmZS5uYW1lPT09VCgnQWJvcnRFcnJvcicpKXJldHVybjtmYWlsJiZmYWlsKCl9KTsKfQpmdW5jdGlvbiBzdG9wQWxsKCl7CiAgdHJ5e2lmKHdpbmRvdy5zcGVlY2hTeW50aGVzaXMpc3BlZWNoU3ludGhlc2lzLmNhbmNlbCgpfWNhdGNoKGUpe30KICBTUEs9bnVsbDsKICBpZihBKXtBLm9uZW5kZWQ9bnVsbDtBLm9uZXJyb3I9bnVsbDt0cnl7QS5wYXVzZSgpfWNhdGNoKGUpe319CiAgdmFyIG89T1dOO09XTj1udWxsO2lmKG8pbygpOwp9CnZhciBzdG9wQXVkPXN0b3BBbGwsc3RvcFNwZWFrPXN0b3BBbGw7CmZ1bmN0aW9uIG93bihjbGVhcil7c3RvcEFsbCgpO09XTj1jbGVhcn0KZnVuY3Rpb24gcGFkMyhuKXtyZXR1cm4gKCcwMCcrbikuc2xpY2UoLTMpfQpmdW5jdGlvbiBzbHVnKHMpe3JldHVybiBub3JtKHMpLnJlcGxhY2UoLyAvZywnLScpLnJlcGxhY2UoL1teYS16MC05LV0vZywnJyl9CmZ1bmN0aW9uIHJlcExhYmVsKHYpe3JldHVybiB2PT09MD8n4oieJzonw5cgJyt2fQoKLyogLS0tLS0tLS0tLSB0w6lsw6ljaGFyZ2VtZW50IGRlcyBhdWRpb3MgLS0tLS0tLS0tLSAqLwpmdW5jdGlvbiBzYXZlQmxvYihiLG5hbWUpewogIGZ1bmN0aW9uIGFuY2hvcigpe3ZhciBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKSx1PVVSTC5jcmVhdGVPYmplY3RVUkwoYik7YS5ocmVmPXU7YS5kb3dubG9hZD1uYW1lO2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYSk7YS5jbGljaygpO3NldFRpbWVvdXQoZnVuY3Rpb24oKXthLnJlbW92ZSgpO1VSTC5yZXZva2VPYmplY3RVUkwodSl9LDQwMDApO3RvYXN0KFQoJ1TDqWzDqWNoYXJnw6kgOiAnKStuYW1lKX0KICB2YXIgZj1udWxsO3RyeXtmPW5ldyBGaWxlKFtiXSxuYW1lLHt0eXBlOidhdWRpby9tcGVnJ30pfWNhdGNoKGUpe30KICBpZihmJiYvaVBob25lfGlQYWR8aVBvZC8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSYmbmF2aWdhdG9yLmNhblNoYXJlJiZuYXZpZ2F0b3IuY2FuU2hhcmUoe2ZpbGVzOltmXX0pKXtuYXZpZ2F0b3Iuc2hhcmUoe2ZpbGVzOltmXSx0aXRsZTpuYW1lfSkuY2F0Y2goZnVuY3Rpb24oZSl7aWYoIWV8fGUubmFtZSE9PVQoJ0Fib3J0RXJyb3InKSlhbmNob3IoKX0pO3JldHVybn0KICBhbmNob3IoKTsKfQpmdW5jdGlvbiBkbEZpbGUodXJsLG5hbWUpewogIHRvYXN0KFQoJ1TDqWzDqWNoYXJnZW1lbnQgZW4gY291cnPigKYnKSk7CiAgcmV0dXJuIGZldGNoKHVybCkudGhlbihmdW5jdGlvbihyKXtpZighci5vayl0aHJvdyAwO3JldHVybiByLmJsb2IoKX0pLnRoZW4oZnVuY3Rpb24oYil7c2F2ZUJsb2IoYixuYW1lKX0pLmNhdGNoKGZ1bmN0aW9uKCl7d2luZG93Lm9wZW4odXJsLCdfYmxhbmsnKX0pOwp9CmZ1bmN0aW9uIGRsTXVsdGkodXJscyxuYW1lKXsKICBpZih1cmxzLmxlbmd0aD09PTEpcmV0dXJuIGRsRmlsZSh1cmxzWzBdLG5hbWUpOwogIHRvYXN0KFQoJ1TDqWzDqWNoYXJnZW1lbnQgZW4gY291cnPigKYnKSk7CiAgcmV0dXJuIFByb21pc2UuYWxsKHVybHMubWFwKGZ1bmN0aW9uKHUpe3JldHVybiBmZXRjaCh1KS50aGVuKGZ1bmN0aW9uKHIpe2lmKCFyLm9rKXRocm93IDA7cmV0dXJuIHIuYmxvYigpfSl9KSkudGhlbihmdW5jdGlvbihicyl7c2F2ZUJsb2IobmV3IEJsb2IoYnMse3R5cGU6J2F1ZGlvL21wZWcnfSksbmFtZSl9KS5jYXRjaChmdW5jdGlvbigpe3RvYXN0KFQoJ1TDqWzDqWNoYXJnZW1lbnQgaW1wb3NzaWJsZSBwb3VyIGxlIG1vbWVudCcpKX0pOwp9CgovKiAtLS0tLS0tLS0tIDQuIENvcmFuIC0tLS0tLS0tLS0gKi8KdmFyIFNGUj1bVCgiTCdPdXZlcnR1cmUiKSwgVCgnTGEgVmFjaGUnKSwgVCgiTGEgRmFtaWxsZSBkJ0ltcmFuIiksIFQoJ0xlcyBGZW1tZXMnKSwgVCgnTGEgVGFibGUgc2VydmllJyksIFQoJ0xlcyBCZXN0aWF1eCcpLCBUKCdMZXMgTXVyYWlsbGVzJyksIFQoJ0xlIEJ1dGluJyksIFQoJ0xlIFJlcGVudGlyJyksIFQoJ0pvbmFzJyksIFQoJ0hvdWQnKSwgVCgnSm9zZXBoJyksIFQoJ0xlIFRvbm5lcnJlJyksIFQoJ0FicmFoYW0nKSwgVCgnQWwtSGlqcicpLCBUKCdMZXMgQWJlaWxsZXMnKSwgVCgnTGUgVm95YWdlIG5vY3R1cm5lJyksIFQoJ0xhIENhdmVybmUnKSwgVCgnTWFyaWUnKSwgVCgnVGEtSGEnKSwgVCgnTGVzIFByb3Bow6h0ZXMnKSwgVCgnTGUgUMOobGVyaW5hZ2UnKSwgVCgnTGVzIENyb3lhbnRzJyksIFQoJ0xhIEx1bWnDqHJlJyksIFQoJ0xlIERpc2Nlcm5lbWVudCcpLCBUKCdMZXMgUG\/DqHRlcycpLCBUKCdMZXMgRm91cm1pcycpLCBUKCdMZSBSw6ljaXQnKSwgVCgiTCdBcmFpZ27DqWUiKSwgVCgnTGVzIFJvbWFpbnMnKSwgVCgnTHVxbWFuJyksIFQoJ0xhIFByb3N0ZXJuYXRpb24nKSwgVCgnTGVzIENvYWxpc8OpcycpLCBUKCdTYWJhJyksIFQoJ0xlIENyw6lhdGV1cicpLCBUKCdZYS1TaW4nKSwgVCgnTGVzIFJhbmfDqWVzJyksICdTYWQnLCBUKCdMZXMgR3JvdXBlcycpLCBUKCdMZSBQYXJkb25uZXVyJyksIFQoJ0xlcyBWZXJzZXRzIGTDqXRhaWxsw6lzJyksIFQoJ0xhIENvbnN1bHRhdGlvbicpLCBUKCJMJ09ybmVtZW50IiksIFQoJ0xhIEZ1bcOpZScpLCBUKCJMJ0FnZW5vdWlsbMOpZSIpLCBUKCdBbC1BaHFhZicpLCBUKCdNdWhhbW1hZCcpLCBUKCdMYSBWaWN0b2lyZScpLCBUKCdMZXMgQXBwYXJ0ZW1lbnRzJyksICdRYWYnLCBUKCdMZXMgVmVudHMgcXVpIMOpcGFycGlsbGVudCcpLCBUKCdMZSBNb250JyksIFQoIkwnw4l0b2lsZSIpLCBUKCdMYSBMdW5lJyksIFQoJ0xlIFRvdXQgTWlzw6lyaWNvcmRpZXV4JyksIFQoIkwnw4l2w6luZW1lbnQiKSwgVCgnTGUgRmVyJyksIFQoJ0xhIERpc2N1c3Npb24nKSwgVCgiTCdFeG9kZSIpLCBUKCJMJ8OJcHJvdXbDqWUiKSwgVCgnTGUgUmFuZycpLCBUKCdMZSBWZW5kcmVkaScpLCBUKCdMZXMgSHlwb2NyaXRlcycpLCBUKCdMYSBHcmFuZGUgUGVydGUnKSwgVCgnTGUgRGl2b3JjZScpLCBUKCJMJ0ludGVyZGljdGlvbiIpLCBUKCdMYSBSb3lhdXTDqScpLCBUKCdMYSBQbHVtZScpLCBUKCdDZWxsZSBxdWkgbW9udHJlIGxhIHbDqXJpdMOpJyksIFQoIkxlcyBWb2llcyBkJ2FzY2Vuc2lvbiIpLCBUKCdOb8OpJyksIFQoJ0xlcyBEamlubnMnKSwgVCgiTCdFbnZlbG9wcMOpIiksIFQoIkxlIFJldsOqdHUgZCd1biBtYW50ZWF1IiksIFQoJ0xhIFLDqXN1cnJlY3Rpb24nKSwgVCgiTCdIb21tZSIpLCBUKCdMZXMgRW52b3nDqWVzJyksIFQoJ0xhIE5vdXZlbGxlJyksIFQoJ0xlcyBBbmdlcyBxdWkgYXJyYWNoZW50JyksIFQoIklsIHMnZXN0IHJlbmZyb2duw6kiKSwgVCgiTCdPYnNjdXJjaXNzZW1lbnQiKSwgVCgnTGEgUnVwdHVyZScpLCBUKCdMZXMgRnJhdWRldXJzJyksIFQoJ0xhIETDqWNoaXJ1cmUnKSwgVCgnTGVzIENvbnN0ZWxsYXRpb25zJyksIFQoIkwnQXN0cmUgbm9jdHVybmUiKSwgVCgnTGUgVHLDqHMtSGF1dCcpLCBUKCJMJ0VudmVsb3BwYW50ZSIpLCBUKCJMJ0F1YmUiKSwgVCgnTGEgQ2l0w6knKSwgVCgnTGUgU29sZWlsJyksIFQoJ0xhIE51aXQnKSwgVCgnTGUgSm91ciBtb250YW50JyksIFQoIkwnT3V2ZXJ0dXJlIGRlIGxhIHBvaXRyaW5lIiksIFQoJ0xlIEZpZ3VpZXInKSwgVCgiTCdBZGjDqXJlbmNlIiksIFQoJ0xhIERlc3RpbsOpZScpLCBUKCdMYSBQcmV1dmUnKSwgVCgnTGEgU2Vjb3Vzc2UnKSwgVCgnTGVzIENvdXJzaWVycycpLCBUKCdMZSBGcmFjYXMnKSwgVCgnTGEgUml2YWxpdMOpJyksIFQoJ0xlIFRlbXBzJyksIFQoJ0xlIENhbG9tbmlhdGV1cicpLCBUKCJMJ8OJbMOpcGhhbnQiKSwgVCgnUW9yYcOvY2gnKSwgVCgiTCdVc3RlbnNpbGUiKSwgVCgiTCdBYm9uZGFuY2UiKSwgVCgnTGVzIEluZmlkw6hsZXMnKSwgVCgnTGUgU2Vjb3VycycpLCBUKCdMZXMgRmlicmVzJyksIFQoJ0xlIE1vbm90aMOpaXNtZSBwdXInKSwgVCgiTCdBdWJlIG5haXNzYW50ZSIpLCBUKCdMZXMgSG9tbWVzJyldOwp2YXIgQUM9WzcsMjg2LDIwMCwxNzYsMTIwLDE2NSwyMDYsNzUsMTI5LDEwOSwxMjMsMTExLDQzLDUyLDk5LDEyOCwxMTEsMTEwLDk4LDEzNSwxMTIsNzgsMTE4LDY0LDc3LDIyNyw5Myw4OCw2OSw2MCwzNCwzMCw3Myw1NCw0NSw4MywxODIsODgsNzUsODUsNTQsNTMsODksNTksMzcsMzUsMzgsMjksMTgsNDUsNjAsNDksNjIsNTUsNzgsOTYsMjksMjIsMjQsMTMsMTQsMTEsMTEsMTgsMTIsMTIsMzAsNTIsNTIsNDQsMjgsMjgsMjAsNTYsNDAsMzEsNTAsNDAsNDYsNDIsMjksMTksMzYsMjUsMjIsMTcsMTksMjYsMzAsMjAsMTUsMjEsMTEsOCw4LDE5LDUsOCw4LDExLDExLDgsMyw5LDUsNCw3LDMsNiwzLDUsNCw1LDZdOwovKiBsZXMgMzAgSnV6JyA6IGTDqWJ1dCAoc291cmF0ZSwgdmVyc2V0KSBldCBub20gdHJhZGl0aW9ubmVsIChkJ2FwcsOocyBsZSBwcmVtaWVyIG1vdCkgKi8KdmFyIEpaPVtbMSwxXSxbMiwxNDJdLFsyLDI1M10sWzMsOTNdLFs0LDI0XSxbNCwxNDhdLFs1LDgyXSxbNiwxMTFdLFs3LDg4XSxbOCw0MV0sWzksOTNdLFsxMSw2XSxbMTIsNTNdLFsxNSwxXSxbMTcsMV0sWzE4LDc1XSxbMjEsMV0sWzIzLDFdLFsyNSwyMV0sWzI3LDU2XSxbMjksNDZdLFszMywzMV0sWzM2LDI4XSxbMzksMzJdLFs0MSw0N10sWzQ2LDFdLFs1MSwzMV0sWzU4LDFdLFs2NywxXSxbNzgsMV1dOwp2YXIgSk49W1tUKCdBbGlmIEzDom0gTcOubScpLCfYp9mE2YUnXSxbVCgnU2F5YXHDu2wnKSwn2LPZjtmK2Y7ZgtmP2YjZhNmPJ10sW1QoJ1RpbGthIGFyLVJ1c3VsJyksJ9iq2ZDZhNmS2YPZjiDYp9mE2LHZj9mR2LPZj9mE2Y8nXSxbVCgnTGFuIFRhbsOibMO7JyksJ9mE2Y7ZhtmSINiq2Y7ZhtmO2KfZhNmP2YjYpyddLFtUKCdXYWwtTXXhuKXhuaNhbsOidCcpLCfZiNmO2KfZhNmS2YXZj9it2ZLYtdmO2YbZjtin2KrZjyddLFtUKCdMw6IgWXXhuKVpYmJ1IEFsbMOiaCcpLCfZhNmO2Kcg2YrZj9it2ZDYqNmP2ZEg2KfZhNmE2Y7ZkdmH2Y8nXSxbVCgnV2EgaWRow6Igc2Ftacq\/w7snKSwn2YjZjtil2ZDYsNmO2Kcg2LPZjtmF2ZDYudmP2YjYpyddLFtUKCdXYSBsYXcgYW5uYW7DoicpLCfZiNmO2YTZjtmI2ZIg2KPZjtmG2Y7ZkdmG2Y7YpyddLFtUKCdRw6JsYSBhbC1tYWxhyr4nKSwn2YLZjtin2YTZjiDYp9mE2ZLZhdmO2YTZjtij2Y8nXSxbVCgnV2HKv2xhbcO7JyksJ9mI2Y7Yp9i52ZLZhNmO2YXZj9mI2KcnXSxbVCgnWWHKv3RhZGhpcsO7bicpLCfZitmO2LnZktiq2Y7YsNmQ2LHZj9mI2YbZjiddLFtUKCdXYSBtw6IgbWluIGTDomJiYScpLCfZiNmO2YXZjtinINmF2ZDZhtmSINiv2Y7Yp9io2Y7Zkdip2Y0nXSxbVCgnV2EgbcOiIHViYXJyacq+dScpLCfZiNmO2YXZjtinINij2Y\/YqNmO2LHZkNmR2KbZjyddLFtUKCdSdWJhbcOiJyksJ9ix2Y\/YqNmO2YXZjtinJ10sW1QoJ1N1YuG4pcOibmEgYWxsYWRow64nKSwn2LPZj9io2ZLYrdmO2KfZhtmOINin2YTZjtmR2LDZkNmKJ10sW1QoJ1HDomxhIGFsYW0nKSwn2YLZjtin2YTZjiDYo9mO2YTZjtmF2ZInXSxbVCgnSXF0YXJhYmEnKSwn2KfZgtmS2KrZjtix2Y7YqNmOJ10sW1QoJ1FhZCBhZmxh4bilYScpLCfZgtmO2K\/ZkiDYo9mO2YHZktmE2Y7YrdmOJ10sW1QoJ1dhIHHDomxhIGFsbGFkaMOubmEnKSwn2YjZjtmC2Y7Yp9mE2Y4g2KfZhNmO2ZHYsNmQ2YrZhtmOJ10sW1QoJ0FtbWFuIGtoYWxhcWEnKSwn2KPZjtmF2Y7ZkdmG2ZIg2K7ZjtmE2Y7ZgtmOJ10sW1QoJ1V0bHUgbcOiIMO74bilaXlhJyksJ9in2KrZktmE2Y8g2YXZjtinINij2Y\/ZiNit2ZDZitmOJ10sW1QoJ1dhIG1hbiB5YXFudXQnKSwn2YjZjtmF2Y7ZhtmSINmK2Y7ZgtmS2YbZj9iq2ZInXSxbVCgnV2EgbcOiIGxpeWEnKSwn2YjZjtmF2Y7YpyDZhNmQ2YrZjiddLFtUKCdGYSBtYW4gYeG6k2xhbXUnKSwn2YHZjtmF2Y7ZhtmSINij2Y7YuNmS2YTZjtmF2Y8nXSxbVCgnSWxheWhpIHl1cmFkZHUnKSwn2KXZkNmE2Y7ZitmS2YfZkCDZitmP2LHZjtiv2Y\/ZkSddLFtUKCfhuKTDoiBNw65tJyksJ9it2YUnXSxbVCgnUcOibGEgZmFtw6Iga2hh4bmtYnVrdW0nKSwn2YLZjtin2YTZjiDZgdmO2YXZjtinINiu2Y7Yt9mS2KjZj9mD2Y\/ZhdmSJ10sW1QoJ1FhZCBzYW1pyr9hJyksJ9mC2Y7Yr9mSINiz2Y7ZhdmQ2LnZjiddLFtUKCdUYWLDonJha2EnKSwn2KrZjtio2Y7Yp9ix2Y7Zg9mOJ10sWyfKv0FtbWEnLCfYudmO2YXZjtmRJ11dOwpmdW5jdGlvbiBqdXpPZihzLGEpe3ZhciBqPTE7Zm9yKHZhciBpPTA7aTxKWi5sZW5ndGg7aSsrKXtpZihKWltpXVswXTxzfHwoSlpbaV1bMF09PT1zJiZKWltpXVsxXTw9YSkpaj1pKzE7ZWxzZSBicmVha31yZXR1cm4gan0KZnVuY3Rpb24ganV6U2VncyhqKXt2YXIgc3Q9Slpbai0xXSxlbj1qPDMwP0paW2pdOlsxMTUsMV0sb3V0PVtdO2Zvcih2YXIgcz1zdFswXTtzPD1NYXRoLm1pbihlblswXSwxMTQpO3MrKyl7dmFyIGY9cz09PXN0WzBdP3N0WzFdOjEsdD1zPT09ZW5bMF0\/ZW5bMV0tMTpBQ1tzLTFdO2lmKHQ+PWYpb3V0LnB1c2goW3MsZix0XSl9cmV0dXJuIG91dH0KZnVuY3Rpb24ganV6VGFnKHMpe3ZhciBhPWp1ek9mKHMsMSksYj1qdXpPZihzLEFDW3MtMV0pO3JldHVybiBUKCdKdXrigJlcdTAwYTAnKSsoYT09PWI\/YTphKyfigJMnK2IpfQp2YXIgU1VSPW51bGwsUUZTPVNULmdldCgncWZzJywzMCksUU1PREU9J3MnOwp2YXIgUkVDPVtbJ25vcmVlbicsVCgnTm9yZWVuIE1vaGFtZWQgU2lkZGlnIChTb3VkYW4pJyldLFsnQWxhZmFzeV8xMjhrYnBzJyxUKCdNaXNoYXJ5IEFsYWZhc3knKV0sWydBYmR1cnJhaG1hYW5fQXMtU3VkYWlzXzE5MmticHMnLFQoJ0FiZGVycmFobWFuZSBBcy1TdWRhaXMnKV0sWydTYW9vZF9hc2gtU2h1cmF5bV8xMjhrYnBzJyxUKCdTYW91ZCBBc2gtU2h1cmF5bScpXSxbJ0FiZHVsbGFoX01hdHJvdWRfMTI4a2JwcycsVCgnQWJkYWxsYWggQWwtTWF0cm91ZCcpXSxbJ01haGVyQWxNdWFpcWx5MTI4a2JwcycsVCgnTWFoZXIgQWwtTXVhaXFseScpXSxbJ0h1c2FyeV8xMjhrYnBzJyxUKCdNYWhtb3VkIEtoYWxpbCBBbC1IdXNzYXJ5JyldLFsnQWJkdWxfQmFzaXRfTXVyYXR0YWxfMTkya2JwcycsVCgnQWJkZWxiYXNzZXQgQWJkZXNzYW1hZCcpXSxbJ0FsaV9KYWJlcl82NGticHMnLFQoJ0FsaSBKYWJlcicpXSxbJ0h1ZGhhaWZ5XzEyOGticHMnLFQoJ0FsaSBBbC1Ib3VkaGFpZmknKV1dOwovKiBkb3NzaWVycyBkZXMgc291cmF0ZXMgZW50acOocmVzIChtcDNxdXJhbi5uZXQpIDsgbGVzIHZlcnNldHMgaXNvbMOpcyB2aWVubmVudCBkJ2V2ZXJ5YXlhaC5jb20gKi8KdmFyIFJTUlY9eydub3JlZW4nOidub3JlZW4tc2lkZGlxL3IxJywnQWxhZmFzeV8xMjhrYnBzJzonbWlzaGFyeS1hbGFmYXN5L3IxJywnQWJkdXJyYWhtYWFuX0FzLVN1ZGFpc18xOTJrYnBzJzonYWJkdWxyYWhtYW4tc3VkYWlzL3IxJywnU2Fvb2RfYXNoLVNodXJheW1fMTI4a2Jwcyc6J3NhdWQtc2h1cmFpbS9yMScsJ0FiZHVsbGFoX01hdHJvdWRfMTI4a2Jwcyc6J2FiZHVsbGFoLW1hdHJvb2QvcjEnLCdNYWhlckFsTXVhaXFseTEyOGticHMnOidtYWhlci1tdWFpcWx5L3IxJywnSHVzYXJ5XzEyOGticHMnOidtYWhtb3VkLWh1c2FyeS9yMScsJ0FiZHVsX0Jhc2l0X011cmF0dGFsXzE5MmticHMnOidhYmR1bGJhc2l0LWFiZHVsc2FtYWQvcjMnLCdBbGlfSmFiZXJfNjRrYnBzJzonYWxpLWphYmVyL3IxJywnSHVkaGFpZnlfMTI4a2Jwcyc6J2FsaS1odWRoYWlmaS9yMSd9Owp2YXIgRkI9J0FsYWZhc3lfMTI4a2Jwcyc7CmZ1bmN0aW9uIHJlY0ZvbGRlcigpe3ZhciBzPVNULmdldCgncmVjMicsJ25vcmVlbicpO3JldHVybiBSRUMuc29tZShmdW5jdGlvbihyKXtyZXR1cm4gclswXT09PXN9KT9zOlJFQ1swXVswXX0KZnVuY3Rpb24gcmVjTmFtZShmKXtmb3IodmFyIGk9MDtpPFJFQy5sZW5ndGg7aSsrKWlmKFJFQ1tpXVswXT09PWYpcmV0dXJuIFJFQ1tpXVsxXTtyZXR1cm4gZn0KZnVuY3Rpb24gdlJlYygpe3ZhciBmPXJlY0ZvbGRlcigpO3JldHVybiBmPT09J25vcmVlbic\/RkI6Zn0KZnVuY3Rpb24gYXlhaFVybChjb2RlLGYpe3JldHVybiAnaHR0cHM6Ly9ldmVyeWF5YWguY29tL2RhdGEvJysoZnx8dlJlYygpKSsnLycrY29kZSsnLm1wMyd9CmZ1bmN0aW9uIHN1cmFoVXJsKG4sZil7cmV0dXJuICdodHRwczovL2Nkbi5tcDNxdXJhbi5uZXQvYXVkaW8vJytSU1JWW2Z8fHJlY0ZvbGRlcigpXSsnLycrcGFkMyhuKSsnLm1wMyd9CmZ1bmN0aW9uIHJlY09wdGlvbnMoKXtyZXR1cm4gUkVDLm1hcChmdW5jdGlvbihyKXtyZXR1cm4gJzxvcHRpb24gdmFsdWU9IicrclswXSsnIicrKHJbMF09PT1yZWNGb2xkZXIoKT8nIHNlbGVjdGVkJzonJykrJz4nK3JbMV0rJzwvb3B0aW9uPid9KS5qb2luKCcnKX0KZnVuY3Rpb24gcmVjTm90ZSgpe3JldHVybiByZWNGb2xkZXIoKT09PSdub3JlZW4nP1QoJ05vcmVlbiBsaXQgbGEgc291cmF0ZSBlbnRpw6hyZSAobGVjdHVyZSBk4oCZYWQtRMO7csOuIDogZGUgcGV0aXRlcyBkaWZmw6lyZW5jZXMgYXZlYyBsZSB0ZXh0ZSBhZmZpY2jDqSwgZW4gSGFmcywgc29udCBub3JtYWxlcykuIFVuIHZlcnNldCBpc29sw6kgZXN0IGx1IHBhciBNaXNoYXJ5IEFsYWZhc3kuJyk6Jyd9CmZ1bmN0aW9uIHNldFJlYyh2KXtTVC5zZXQoJ3JlYzInLHYpOyQkKCdzZWxlY3RbZGF0YS1yZWNdJykuZm9yRWFjaChmdW5jdGlvbihzKXtzLnZhbHVlPXZ9KTskJCgnW2RhdGEtcmVjbm90ZV0nKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2UudGV4dENvbnRlbnQ9cmVjTm90ZSgpfSl9CmZ1bmN0aW9uIGRsQXlhaChuLGkpe3ZhciBmPXZSZWMoKTtkbEZpbGUoYXlhaFVybChwYWQzKG4pK3BhZDMoaSksZiksc2x1ZyhyZWNOYW1lKGYpKSsnLScrcGFkMyhuKStwYWQzKGkpKycubXAzJyl9CmZ1bmN0aW9uIGRsU3VyYWgobil7dmFyIGY9cmVjRm9sZGVyKCk7ZGxGaWxlKHN1cmFoVXJsKG4sZiksc2x1ZyhyZWNOYW1lKGYpKSsnLXNvdXJhdGUtJytwYWQzKG4pKycubXAzJyl9CnZhciBOV0FSTj1mYWxzZTsKZnVuY3Rpb24gcGxheU9uZVZlcnNlKGJ0bixuLGkpewogIGlmKGJ0bi5jbGFzc0xpc3QuY29udGFpbnMoJ29uJykpe3N0b3BBbGwoKTtyZXR1cm59CiAgaWYocmVjRm9sZGVyKCk9PT0nbm9yZWVuJyYmIU5XQVJOKXtOV0FSTj10cnVlO3RvYXN0KFQoJ05vcmVlbiBsaXQgbGEgc291cmF0ZSBlbnRpw6hyZSA6IGNlIHZlcnNldCBlc3QgbHUgcGFyIE1pc2hhcnkgQWxhZmFzeScpKX0KICBvd24oZnVuY3Rpb24oKXtidG4uY2xhc3NMaXN0LnJlbW92ZSgnb24nKX0pO2J0bi5jbGFzc0xpc3QuYWRkKCdvbicpOwogIHZhciBrPTA7KGZ1bmN0aW9uIGdvKCl7YVNyYyhheWFoVXJsKHBhZDMobikrcGFkMyhpKSksZnVuY3Rpb24oKXtrKys7aWYoUlAudnI9PT0wfHxrPFJQLnZyKWdvKCk7ZWxzZSBzdG9wQWxsKCl9LGZ1bmN0aW9uKCl7c3RvcEFsbCgpO3RvYXN0KFQoJ0F1ZGlvIGluZGlzcG9uaWJsZScpKX0pfSkoKTsKfQpmdW5jdGlvbiBpbml0UXVyYW4oKXsKICB2YXIgdj0kKCcjdi1xdXJhbicpOwogIHYuaW5uZXJIVE1MPSgiPGRpdj4iKyI8aDI+IitUKCJMZSBTYWludCBDb3JhbiIpKyI8L2gyPiIrIjxwIGNsYXNzPVwic3ViXCI+IitUKCJUZXh0ZSBhcmFiZSwgdHJhZHVjdGlvbiwgcsOpY2l0YXRpb24gw6AgcsOpcMOpdGVyIGF1dGFudCBxdWUgdm91cyB2b3VsZXosIGV0IGF1ZGlvcyDDoCB0w6lsw6ljaGFyZ2VyLiIpKyI8L3A+IisiPC9kaXY+IisiPGRpdiBjbGFzcz1cImZsZFwiPiIrIjxsYWJlbCBmb3I9XCJxLXJlY1wiPiIrVCgiUsOpY2l0YXRldXIiKSsiPC9sYWJlbD4iKyI8c2VsZWN0IGlkPVwicS1yZWNcIiBkYXRhLXJlYz4iKStyZWNPcHRpb25zKCkrJzwvc2VsZWN0PjxzbWFsbCBjbGFzcz0iaGludCIgZGF0YS1yZWNub3RlPicrZXNjKHJlY05vdGUoKSkrKCI8L3NtYWxsPiIrIjwvZGl2PiIrIjxkaXYgaWQ9XCJxLWxhc3RcIj4iKyI8L2Rpdj4iKyI8ZGl2IGNsYXNzPVwic2VnXCIgcm9sZT1cImdyb3VwXCIgYXJpYS1sYWJlbD1cIiIrVCgiQWZmaWNoYWdlIikrIlwiPiIrIjxidXR0b24gdHlwZT1cImJ1dHRvblwiIGRhdGEtbT1cInNcIiBhcmlhLXByZXNzZWQ9XCJ0cnVlXCI+IitUKCJTb3VyYXRlcyIpKyI8L2J1dHRvbj4iKyI8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBkYXRhLW09XCJqXCIgYXJpYS1wcmVzc2VkPVwiZmFsc2VcIj4iK1QoIkp1euKAmSAoMzAgcGFydGllcykiKSsiPC9idXR0b24+IisiPC9kaXY+IisiPGlucHV0IGlkPVwicS1zXCIgdHlwZT1cInNlYXJjaFwiIHBsYWNlaG9sZGVyPVwiIitUKCJDaGVyY2hlciB1bmUgc291cmF0ZSAobm9tIG91IG51bcOpcm8pIikrIlwiIGFyaWEtbGFiZWw9XCIiK1QoIkNoZXJjaGVyIHVuZSBzb3VyYXRlIikrIlwiPiIrIjxkaXYgY2xhc3M9XCJsaXN0XCIgaWQ9XCJxLWxpc3RcIj4iKyI8ZGl2IGNsYXNzPVwic2tlbGV0b25cIj4iKyI8L2Rpdj4iKyI8ZGl2IGNsYXNzPVwic2tlbGV0b25cIj4iKyI8L2Rpdj4iKyI8ZGl2IGNsYXNzPVwic2tlbGV0b25cIj4iKyI8L2Rpdj4iKyI8L2Rpdj4iKTsKICB2YXIgbGFzdD1TVC5nZXQoJ3FsYXN0JyxudWxsKTsKICBpZihsYXN0KSQoJyNxLWxhc3QnKS5pbm5lckhUTUw9JzxidXR0b24gY2xhc3M9ImJ0biBmdWxsIiB0eXBlPSJidXR0b24iIGRhdGEtcz0iJytsYXN0LnMrJyIgZGF0YS12PSInK2xhc3QudisoIlwiPiIrVCgiUmVwcmVuZHJlIDogc291cmF0ZSAiKSkrbGFzdC5zKyhsYXN0LnY+MT9UKCcsIHZlcnNldCAnKStsYXN0LnY6JycpKyc8L2J1dHRvbj4nOwogIHYuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLGZ1bmN0aW9uKGUpewogICAgdmFyIGo9ZS50YXJnZXQuY2xvc2VzdCgnW2RhdGEtal0nKTtpZihqKXtvcGVuSnV6KCtqLmRhdGFzZXQuaik7cmV0dXJufQogICAgdmFyIG09ZS50YXJnZXQuY2xvc2VzdCgnW2RhdGEtbV0nKTtpZihtKXtRTU9ERT1tLmRhdGFzZXQubTskJCgnLnNlZyBbZGF0YS1tXScsdikuZm9yRWFjaChmdW5jdGlvbihjKXtjLnNldEF0dHJpYnV0ZSgnYXJpYS1wcmVzc2VkJyxjPT09bSl9KTskKCcjcS1zJykuaGlkZGVuPVFNT0RFPT09J2onO2RyYXdTdXIoKTtyZXR1cm59CiAgICB2YXIgYj1lLnRhcmdldC5jbG9zZXN0KCdbZGF0YS1zXScpO2lmKGImJmIuY2xvc2VzdCgnI3YtcXVyYW4nKSlvcGVuU3VyYWgoK2IuZGF0YXNldC5zLCtiLmRhdGFzZXQudnx8MSl9KTsKICAkKCcjcS1zJykuYWRkRXZlbnRMaXN0ZW5lcignaW5wdXQnLGRyYXdTdXIpOwogICQoJyNxLXJlYycpLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsZnVuY3Rpb24oKXtzdG9wQWxsKCk7c2V0UmVjKHRoaXMudmFsdWUpO3RvYXN0KFQoJ1LDqWNpdGF0ZXVyIDogJykrcmVjTmFtZSh0aGlzLnZhbHVlKSl9KTsKICBmZXRjaCgnaHR0cHM6Ly9hcGkuYWxxdXJhbi5jbG91ZC92MS9zdXJhaCcpLnRoZW4oZnVuY3Rpb24ocil7cmV0dXJuIHIuanNvbigpfSkudGhlbihmdW5jdGlvbihqKXtTVVI9ai5kYXRhO1NULnNldCgnc3VybGlzdCcsU1VSKTtkcmF3U3VyKCl9KS5jYXRjaChmdW5jdGlvbigpe1NVUj1TVC5nZXQoJ3N1cmxpc3QnLG51bGwpO2lmKFNVUilkcmF3U3VyKCk7ZWxzZSAkKCcjcS1saXN0JykuaW5uZXJIVE1MPSgiPGRpdiBjbGFzcz1cImVtcHR5XCI+IitUKCJMaXN0ZSBpbmRpc3BvbmlibGUgc2FucyBjb25uZXhpb24uIikrIjxidXR0b24gY2xhc3M9XCJidG4gYWx0XCIgdHlwZT1cImJ1dHRvblwiIG9uY2xpY2s9XCJsb2NhdGlvbi5yZWxvYWQoKVwiPiIrVCgiUsOpZXNzYXllciIpKyI8L2J1dHRvbj4iKyI8L2Rpdj4iKX0pOwp9CmZ1bmN0aW9uIGRyYXdTdXIoKXsKICBpZighU1VSKXJldHVybjsKICBpZihRTU9ERT09PSdqJyl7CiAgICAkKCcjcS1saXN0JykuaW5uZXJIVE1MPSgiPGRpdiBjbGFzcz1cImpxXCI+IisiPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJqYmlnXCIgZGF0YS1qPVwiMzBcIj4iKyI8Yj4iK1QoIkp1euKAmSDKv0FtbWEiKSsiPC9iPiIrIjxzcGFuIGNsYXNzPVwiYXJcIiBsYW5nPVwiYXJcIj4iKyLYudmO2YXZjtmRIisiPC9zcGFuPiIrIjxzbWFsbD4iK1QoIkp1euKAmSAzMCDCtyBsZXMgc291cmF0ZXMgY291cnRlcyIpKyI8L3NtYWxsPiIrIjwvYnV0dG9uPiIrIjxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiamJpZ1wiIGRhdGEtaj1cIjI5XCI+IisiPGI+IitUKCJKdXrigJkgVGFiw6JyYWthIikrIjwvYj4iKyI8c3BhbiBjbGFzcz1cImFyXCIgbGFuZz1cImFyXCI+Iisi2KrZjtio2Y7Yp9ix2Y7Zg9mOIisiPC9zcGFuPiIrIjxzbWFsbD4iK1QoIkp1euKAmSAyOSDCtyBk4oCZYWwtTXVsayDDoCBhbC1NdXJzYWzDonQiKSsiPC9zbWFsbD4iKyI8L2J1dHRvbj4iKyI8L2Rpdj4iKStKWi5tYXAoZnVuY3Rpb24oeixpKXt2YXIgZj1TVVJbelswXS0xXTtyZXR1cm4gJzxidXR0b24gY2xhc3M9InN1ciIgdHlwZT0iYnV0dG9uIiBkYXRhLWo9IicrKGkrMSkrJyI+PHNwYW4gY2xhc3M9Im4iPicrKGkrMSkrKCI8L3NwYW4+IisiPGRpdj4iKyI8Yj4iK1QoIkp1euKAmSAiKSkrKGkrMSkrJyDCtyAnK0pOW2ldWzBdKyc8L2I+PHNtYWxsPicrVChUKCdDb21tZW5jZSDDoCBsYSBzb3VyYXRlICcpKSt6WzBdKycgwrcgJytlc2MoU05BTUUoelswXSkpK1QoJywgdmVyc2V0ICcpK3pbMV0rJzwvc21hbGw+PC9kaXY+PHNwYW4gY2xhc3M9ImFyIj4nK0pOW2ldWzFdKyc8L3NwYW4+PC9idXR0b24+J30pLmpvaW4oJycpO3JldHVybn0KICB2YXIgcT1ub3JtKCQoJyNxLXMnKS52YWx1ZSk7CiAgJCgnI3EtbGlzdCcpLmlubmVySFRNTD1TVVIuZmlsdGVyKGZ1bmN0aW9uKHMpe3JldHVybiAhcXx8U3RyaW5nKHMubnVtYmVyKT09PXF8fG5vcm0ocy5lbmdsaXNoTmFtZSsnICcrU05BTUUocy5udW1iZXIpKS5pbmRleE9mKHEpPi0xfHxzLm5hbWUuaW5kZXhPZigkKCcjcS1zJykudmFsdWUudHJpbSgpKT4tMX0pLm1hcChmdW5jdGlvbihzKXtyZXR1cm4gJzxidXR0b24gY2xhc3M9InN1ciIgdHlwZT0iYnV0dG9uIiBkYXRhLXM9Iicrcy5udW1iZXIrJyI+PHNwYW4gY2xhc3M9Im4iPicrcy5udW1iZXIrJzwvc3Bhbj48ZGl2PjxiPicrZXNjKHMuZW5nbGlzaE5hbWUpKyc8L2I+PHNtYWxsPicrZXNjKFNOQU1FKHMubnVtYmVyKSkrJyDCtyAnK3MubnVtYmVyT2ZBeWFocytUKFQoJyB2ZXJzZXRzJykpKycgwrcgJysocy5yZXZlbGF0aW9uVHlwZT09PVQoJ01lY2NhbicpP1QoJ21lY3F1b2lzZScpOlQoJ23DqWRpbm9pc2UnKSkrJyDCtyA8aSBjbGFzcz0ianQiPicranV6VGFnKHMubnVtYmVyKSsnPC9pPjwvc21hbGw+PC9kaXY+PHNwYW4gY2xhc3M9ImFyIj4nK2VzYyhzLm5hbWUucmVwbGFjZSgvXtiz2Y\/ZiNix2Y7YqdmPXHMqLywnJykpKyc8L3NwYW4+PC9idXR0b24+J30pLmpvaW4oJycpfHwoIjxkaXYgY2xhc3M9XCJlbXB0eVwiPiIrVCgiQXVjdW5lIHNvdXJhdGUgdHJvdXbDqWUuIikrIjwvZGl2PiIpOwp9CmZ1bmN0aW9uIFNOQU1FKG4pe3JldHVybiBMQU5HPT09J2VuJz8oKFNVUiYmU1VSW24tMV0mJlNVUltuLTFdLmVuZ2xpc2hOYW1lVHJhbnNsYXRpb24pfHwnJyk6U0ZSW24tMV19CmZ1bmN0aW9uIG9wZW5KdXooail7CiAgdmFyIHNlZ3M9anV6U2VncyhqKSx0b3Q9c2Vncy5yZWR1Y2UoZnVuY3Rpb24oYSxzKXtyZXR1cm4gYStzWzJdLXNbMV0rMX0sMCk7CiAgdmFyIG09b3Blbk1vZGFsKFQoJ0p1euKAmSAnKStqKycgwrcgJytKTltqLTFdWzBdLCc8ZGl2IGNsYXNzPSJqaCI+PHNwYW4gY2xhc3M9ImFyIiBsYW5nPSJhciI+JytKTltqLTFdWzFdKyc8L3NwYW4+PHAgY2xhc3M9InN1YiI+JytzZWdzLmxlbmd0aCtUKCcgc291cmF0ZShzKSDCtyAnKSt0b3QrVChUKCcgdmVyc2V0cycpKSsnPC9wPjwvZGl2PjxkaXYgY2xhc3M9Imxpc3QiPicrc2Vncy5tYXAoZnVuY3Rpb24ocyl7dmFyIGZ1bGw9c1sxXT09PTEmJnNbMl09PT1BQ1tzWzBdLTFdO3JldHVybiAnPGJ1dHRvbiBjbGFzcz0ic3VyIiB0eXBlPSJidXR0b24iIGRhdGEtcz0iJytzWzBdKyciIGRhdGEtdj0iJytzWzFdKyciPjxzcGFuIGNsYXNzPSJuIj4nK3NbMF0rJzwvc3Bhbj48ZGl2PjxiPicrZXNjKFNVUiYmU1VSW3NbMF0tMV0\/U1VSW3NbMF0tMV0uZW5nbGlzaE5hbWU6VChUKCdTb3VyYXRlICcpKStzWzBdKSsnPC9iPjxzbWFsbD4nK2VzYyhTTkFNRShzWzBdKSkrJyDCtyAnKyhmdWxsP1QoVCgnc291cmF0ZSBlbnRpw6hyZScpKTpUKFQoJ3ZlcnNldHMgJykpK3NbMV0rJ+KAkycrc1syXSkrJzwvc21hbGw+PC9kaXY+PHNwYW4gY2xhc3M9ImFyIj4nK2VzYyhTVVImJlNVUltzWzBdLTFdP1NVUltzWzBdLTFdLm5hbWUucmVwbGFjZSgvXtiz2Y\/ZiNix2Y7YqdmPXHMqLywnJyk6JycpKyc8L3NwYW4+PC9idXR0b24+J30pLmpvaW4oJycpKyc8L2Rpdj4nKTsKICBtLmVsLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxmdW5jdGlvbihlKXt2YXIgYj1lLnRhcmdldC5jbG9zZXN0KCdbZGF0YS1zXScpO2lmKGIpe20uY2xvc2UoKTtvcGVuU3VyYWgoK2IuZGF0YXNldC5zLCtiLmRhdGFzZXQudnx8MSl9fSk7Cn0KZnVuY3Rpb24gZ2V0U3VyYWgobil7CiAgdmFyIGs9J3NyJysoTEFORz09PSdlbic\/J2UnOicnKStuLGM9U1QuZ2V0KGssbnVsbCk7aWYoYylyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGMpOwogIHJldHVybiBmZXRjaCgnaHR0cHM6Ly9hcGkuYWxxdXJhbi5jbG91ZC92MS9zdXJhaC8nK24rJy9lZGl0aW9ucy9xdXJhbi11dGhtYW5pLCcrKExBTkc9PT0nZW4nPydlbi5zYWhpaCc6J2ZyLmhhbWlkdWxsYWgnKSkudGhlbihmdW5jdGlvbihyKXtyZXR1cm4gci5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKGope3ZhciBkPXthcjpqLmRhdGFbMF0uYXlhaHMubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBhLnRleHR9KSxmcjpqLmRhdGFbMV0uYXlhaHMubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBhLnRleHR9KSxuYW1lOmouZGF0YVswXS5uYW1lLGVuOmouZGF0YVswXS5lbmdsaXNoTmFtZSx0cjpqLmRhdGFbMF0uZW5nbGlzaE5hbWVUcmFuc2xhdGlvbn07U1Quc2V0KGssZCk7cmV0dXJuIGR9KTsKfQpmdW5jdGlvbiBhclRleHQoZCxuLGkpe3ZhciB0PWQuYXJbaV07aWYoaT09PTAmJm4hPT0xJiZuIT09OSl7dD10LnNwbGl0KCcgJykuc2xpY2UoNCkuam9pbignICcpfHx0fXJldHVybiB0fQp2YXIgQlNNPSfYqNmQ2LPZktmF2ZAg2bHZhNmE2Y7ZkdmH2ZAg2bHZhNix2Y7Zkdit2ZLZhdmO2bDZhtmQINmx2YTYsdmO2ZHYrdmQ2YrZhdmQJzsKZnVuY3Rpb24gcmVwU2VsKGlkLHZhbHMsY3VyLGxhYil7cmV0dXJuICc8bGFiZWwgY2xhc3M9Im1pbmkiPjxzcGFuPicrbGFiKyc8L3NwYW4+PHNlbGVjdCBpZD0iJytpZCsnIj4nK3ZhbHMubWFwKGZ1bmN0aW9uKHgpe3JldHVybiAnPG9wdGlvbiB2YWx1ZT0iJyt4KyciJysoeD09PWN1cj8nIHNlbGVjdGVkJzonJykrJz4nK3JlcExhYmVsKHgpKyc8L29wdGlvbj4nfSkuam9pbignJykrJzwvc2VsZWN0PjwvbGFiZWw+J30KZnVuY3Rpb24gb3BlblN1cmFoKG4sZnJvbSl7CiAgdmFyIG09b3Blbk1vZGFsKFQoJ1NvdXJhdGUgJykrbiwnPGRpdiBjbGFzcz0ibGlzdCI+PGRpdiBjbGFzcz0ic2tlbGV0b24iPjwvZGl2PjxkaXYgY2xhc3M9InNrZWxldG9uIj48L2Rpdj48L2Rpdj4nLGZ1bmN0aW9uKCl7c3RvcEFsbCgpfSk7CiAgZ2V0U3VyYWgobikudGhlbihmdW5jdGlvbihkKXsKICAgIHZhciB0b3Q9ZC5hci5sZW5ndGgsY3VyPXtvbjpmYWxzZSxtb2RlOicnLGk6MCx2YzowLHNjOjAsY2hhaW46ZmFsc2Usd2FybmVkOmZhbHNlfTsKICAgIHZhciByb3dzPWQuYXIubWFwKGZ1bmN0aW9uKHQsaSl7CiAgICAgIHZhciBhPWkrMSxmaz0nYTonK24rJzonK2EsamI9Slouc29tZShmdW5jdGlvbih6KXtyZXR1cm4gelswXT09PW4mJnpbMV09PT1hfSk\/KCI8ZGl2IGNsYXNzPVwianpcIj4iK1QoIkp1euKAmSAiKSkranV6T2YobixhKSsnIMK3ICcrSk5banV6T2YobixhKS0xXVswXSsnPC9kaXY+JzonJzsKICAgICAgcmV0dXJuIGpiKyc8YXJ0aWNsZSBjbGFzcz0idnMiIGlkPSJ2YS0nK2ErJyIgZGF0YS1uPSInK2ErJyI+PGRpdiBjbGFzcz0idG9wIj48c3BhbiBjbGFzcz0ibm8iPicrbisnOicrYSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJhY3RzIj48YnV0dG9uIGNsYXNzPSJpYiIgdHlwZT0iYnV0dG9uIiBkYXRhLWRsPSInK2ErKCJcIiBhcmlhLWxhYmVsPVwiIitUKCJUw6lsw6ljaGFyZ2VyIGxlIHZlcnNldCAiKSkrYSsnIj4nK2ljbygnZGwnKSsnPC9idXR0b24+JytoZWFydEJ0bihmaykrJzxidXR0b24gY2xhc3M9InBsIiB0eXBlPSJidXR0b24iIGRhdGEtcGxheT0iJythKygiXCIgYXJpYS1sYWJlbD1cIiIrVCgiw4ljb3V0ZXIgbGUgdmVyc2V0ICIpKSthKyciPjxzdmcgY2xhc3M9InAiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTggNXYxNGwxMS03eiIvPjwvc3ZnPjxzdmcgY2xhc3M9InMiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTcgNmg0djEySDd6TTEzIDZoNHYxMmgtNHoiLz48L3N2Zz48L2J1dHRvbj48L3NwYW4+PC9kaXY+PHAgY2xhc3M9ImEiIGxhbmc9ImFyIiBkaXI9InJ0bCI+Jytlc2MoYXJUZXh0KGQsbixpKSkrJzwvcD48cCBjbGFzcz0iZiI+Jytlc2MoZC5mcltpXSkrJzwvcD48L2FydGljbGU+JzsKICAgIH0pLmpvaW4oJycpOwogICAgbS5lbC5pZD0ncS1yZWFkJzsKICAgIHZhciBwbFN2Zz0nPHN2ZyBjbGFzcz0icCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNOCA1djE0bDExLTd6Ii8+PC9zdmc+PHN2ZyBjbGFzcz0icyIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNyA2aDR2MTJIN3pNMTMgNmg0djEyaC00eiIvPjwvc3ZnPic7CiAgICBtLmVsLmlubmVySFRNTD0nPGRpdiBjbGFzcz0icmQtaCI+PGgyPicrZXNjKGQuZW4pKyc8L2gyPjxzcGFuIGNsYXNzPSJhciI+Jytlc2MoZC5uYW1lLnJlcGxhY2UoL17Ys9mP2YjYsdmO2KnZj1xzKi8sJycpKSsnPC9zcGFuPjwvZGl2PjxwIGNsYXNzPSJzdWIiPicrZXNjKFNOQU1FKG4pKSsnIMK3ICcrdG90K1QoVCgnIHZlcnNldHMnKSkrJyDCtyAnK2p1elRhZyhuKSsnPC9wPicrCiAgICAgKCI8ZGl2IGNsYXNzPVwicmQtYmFyXCIgaWQ9XCJxLWJhclwiPiIrIjxkaXYgY2xhc3M9XCJyYjFcIj4iKyI8YnV0dG9uIGNsYXNzPVwicGJpZ1wiIHR5cGU9XCJidXR0b25cIiBpZD1cInEtYWxsXCIgYXJpYS1sYWJlbD1cIiIrVCgiw4ljb3V0ZXIgbGEgc291cmF0ZSIpKyJcIj4iKStwbFN2ZysoIjwvYnV0dG9uPiIrIjxkaXYgY2xhc3M9XCJyYnNcIj4iKyI8c2VsZWN0IGlkPVwicS1yZWMyXCIgZGF0YS1yZWMgYXJpYS1sYWJlbD1cIiIrVCgiUsOpY2l0YXRldXIiKSsiXCI+IikrcmVjT3B0aW9ucygpKygiPC9zZWxlY3Q+IisiPHNtYWxsIGlkPVwicS1zdFwiIGFyaWEtbGl2ZT1cInBvbGl0ZVwiPiIrIjwvc21hbGw+IisiPC9kaXY+IisiPGJ1dHRvbiBjbGFzcz1cImliXCIgdHlwZT1cImJ1dHRvblwiIGlkPVwicS1kbHNcIiBhcmlhLWxhYmVsPVwiIitUKCJUw6lsw6ljaGFyZ2VyIGxhIHNvdXJhdGUiKSsiXCI+IikraWNvKCdkbCcpKygiPC9idXR0b24+IisiPGJ1dHRvbiBjbGFzcz1cImliXCIgdHlwZT1cImJ1dHRvblwiIGlkPVwicS1vcHRcIiBhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIiBhcmlhLWxhYmVsPVwiIitUKCJSw6lww6l0aXRpb24gZXQgdml0ZXNzZSIpKyJcIj4iKStpY28oJ3JlcCcpKyc8aSBjbGFzcz0iYmRnIiBpZD0icS1iZGciIGhpZGRlbj48L2k+PC9idXR0b24+PC9kaXY+PGRpdiBjbGFzcz0icmIyIiBpZD0icS1vIiBoaWRkZW4+JytyZXBTZWwoJ3EtdnInLFsxLDIsMyw1LDEwLDBdLFJQLnZyLFQoJ1LDqXDDqXRlciBsZSB2ZXJzZXQnKSkrcmVwU2VsKCdxLXNyJyxbMSwyLDMsNSwwXSxSUC5zcixUKCdSw6lww6l0ZXIgbGEgc291cmF0ZScpKSsoIjxsYWJlbCBjbGFzcz1cIm1pbmlcIj4iKyI8c3Bhbj4iK1QoIlZpdGVzc2UiKSsiPC9zcGFuPiIrIjxzZWxlY3QgaWQ9XCJxLXJhdGVcIj4iKStbMC43NSwxLDEuMjVdLm1hcChmdW5jdGlvbih4KXtyZXR1cm4gJzxvcHRpb24gdmFsdWU9IicreCsnIicrKHg9PT1SQVRFPycgc2VsZWN0ZWQnOicnKSsnPicreCsnw5c8L29wdGlvbj4nfSkuam9pbignJykrJzwvc2VsZWN0PjwvbGFiZWw+PC9kaXY+PC9kaXY+JysKICAgICAnPGRpdiBjbGFzcz0idG9vbHMiPjxidXR0b24gY2xhc3M9ImNoaXAiIHR5cGU9ImJ1dHRvbiIgaWQ9InEtZm0iPkHiiJI8L2J1dHRvbj48YnV0dG9uIGNsYXNzPSJjaGlwIiB0eXBlPSJidXR0b24iIGlkPSJxLWZwIj5BKzwvYnV0dG9uPjwvZGl2PicrKChuIT09MSYmbiE9PTkpPyc8ZGl2IGNsYXNzPSJic20iIGxhbmc9ImFyIj4nK0JTTSsnPC9kaXY+JzonJykrJzxkaXYgc3R5bGU9Ii0tZnM6JytRRlMrJ3B4IiBpZD0icS12cyI+Jytyb3dzKyc8L2Rpdj4nOwogICAgdmFyIHZzPSQoJyNxLXZzJyxtLmVsKSxiYXI9JCgnI3EtYmFyJyxtLmVsKTsKICAgIHZhciBtYXJrPWZ1bmN0aW9uKGkpe1NULnNldCgncWxhc3QnLHtzOm4sdjppfSl9OwogICAgZnVuY3Rpb24gYmFkZ2UoKXt2YXIgb249UlAudnIhPT0xfHxSUC5zciE9PTF8fFJBVEUhPT0xLGI9JCgnI3EtYmRnJyxtLmVsKTtpZihiKWIuaGlkZGVuPSFvbn0KICAgIGZ1bmN0aW9uIHN0YXR1cygpewogICAgICB2YXIgZWw9JCgnI3Etc3QnLG0uZWwpO2lmKCFlbClyZXR1cm47CiAgICAgIGlmKCFjdXIub24pe2VsLnRleHRDb250ZW50PXJlY0ZvbGRlcigpPT09J25vcmVlbic\/VChUKCdTb3VyYXRlIGVudGnDqHJlIMK3IHBhcyBkZSByw6lww6l0aXRpb24gcGFyIHZlcnNldCcpKTonJztyZXR1cm59CiAgICAgIHZhciBwPVtdOwogICAgICBpZihjdXIubW9kZT09PSd3JylwLnB1c2goVChUKCdTb3VyYXRlIGVudGnDqHJlJykpKTtlbHNlIHAucHVzaChUKFQoJ1ZlcnNldCAnKSkrY3VyLmkrJy8nK3RvdCk7CiAgICAgIGlmKGN1ci5tb2RlPT09J3YnJiZSUC52ciE9PTEpcC5wdXNoKFQoVCgncsOpcMOpdGl0aW9uICcpKSsoY3VyLnZjKzEpKyhSUC52cj8nLycrUlAudnI6JyAo4oieKScpKTsKICAgICAgaWYoUlAuc3IhPT0xJiYoY3VyLmNoYWlufHxjdXIubW9kZT09PSd3JykpcC5wdXNoKFQoJ3NvdXJhdGUgJykrKGN1ci5zYysxKSsoUlAuc3I\/Jy8nK1JQLnNyOicgKOKIniknKSk7CiAgICAgIGVsLnRleHRDb250ZW50PXAuam9pbignIMK3ICcpOwogICAgfQogICAgZnVuY3Rpb24gc2V0T24oaSl7CiAgICAgICQkKCcudnMub24nLHZzKS5mb3JFYWNoKGZ1bmN0aW9uKHgpe3guY2xhc3NMaXN0LnJlbW92ZSgnb24nKTt2YXIgYj14LnF1ZXJ5U2VsZWN0b3IoJy5wbCcpO2lmKGIpYi5jbGFzc0xpc3QucmVtb3ZlKCdvbicpfSk7CiAgICAgIGlmKGkpe3ZhciBhPSQoJyN2YS0nK2ksdnMpO2lmKGEpe2EuY2xhc3NMaXN0LmFkZCgnb24nKTthLnF1ZXJ5U2VsZWN0b3IoJy5wbCcpLmNsYXNzTGlzdC5hZGQoJ29uJyk7YS5zY3JvbGxJbnRvVmlldyh7YmVoYXZpb3I6J3Ntb290aCcsYmxvY2s6J2NlbnRlcid9KX19CiAgICB9CiAgICBmdW5jdGlvbiBjbGVhcigpe2N1ci5vbj1mYWxzZTtzZXRPbigwKTt2YXIgYj0kKCcjcS1hbGwnLG0uZWwpO2lmKGIpYi5jbGFzc0xpc3QucmVtb3ZlKCdvbicpO3N0YXR1cygpfQogICAgZnVuY3Rpb24gc3RlcChpKXsKICAgICAgY3VyLm1vZGU9J3YnO2N1ci5pPWk7c2V0T24oaSk7bWFyayhpKTtzdGF0dXMoKTsKICAgICAgYVNyYyhheWFoVXJsKHBhZDMobikrcGFkMyhpKSksYWZ0ZXIsZnVuY3Rpb24oKXtzdG9wQWxsKCk7dG9hc3QoVCgnQXVkaW8gaW5kaXNwb25pYmxlJykpfSk7CiAgICB9CiAgICBmdW5jdGlvbiBhZnRlcigpewogICAgICBjdXIudmMrKzsKICAgICAgaWYoUlAudnI9PT0wfHxjdXIudmM8UlAudnIpcmV0dXJuIHN0ZXAoY3VyLmkpOwogICAgICBjdXIudmM9MDsKICAgICAgaWYoIWN1ci5jaGFpbilyZXR1cm4gc3RvcEFsbCgpOwogICAgICBpZihjdXIuaTx0b3QpcmV0dXJuIHN0ZXAoY3VyLmkrMSk7CiAgICAgIGN1ci5zYysrOwogICAgICBpZihSUC5zcj09PTB8fGN1ci5zYzxSUC5zcilyZXR1cm4gc3RlcCgxKTsKICAgICAgc3RvcEFsbCgpOwogICAgfQogICAgZnVuY3Rpb24gcGxheVZlcnNlKGksY2hhaW4pewogICAgICBpZihyZWNGb2xkZXIoKT09PSdub3JlZW4nJiYhY2hhaW4mJiFjdXIud2FybmVkKXtjdXIud2FybmVkPXRydWU7dG9hc3QoVCgnTm9yZWVuIGxpdCBsYSBzb3VyYXRlIGVudGnDqHJlIDogY2UgdmVyc2V0IGVzdCBsdSBwYXIgTWlzaGFyeSBBbGFmYXN5JykpfQogICAgICBvd24oY2xlYXIpO2N1ci5vbj10cnVlO2N1ci5jaGFpbj1jaGFpbjtjdXIudmM9MDtjdXIuc2M9MDskKCcjcS1hbGwnLG0uZWwpLmNsYXNzTGlzdC50b2dnbGUoJ29uJyxjaGFpbik7c3RlcChpKTsKICAgIH0KICAgIGZ1bmN0aW9uIHBsYXlXaG9sZSgpewogICAgICBvd24oY2xlYXIpO2N1ci5vbj10cnVlO2N1ci5tb2RlPSd3JztjdXIuc2M9MDtjdXIudmM9MDtjdXIuaT0wOyQoJyNxLWFsbCcsbS5lbCkuY2xhc3NMaXN0LmFkZCgnb24nKTtzdGF0dXMoKTsKICAgICAgKGZ1bmN0aW9uIGdvKCl7YVNyYyhzdXJhaFVybChuLCdub3JlZW4nKSxmdW5jdGlvbigpe2N1ci5zYysrO2lmKFJQLnNyPT09MHx8Y3VyLnNjPFJQLnNyKXtzdGF0dXMoKTtnbygpfWVsc2Ugc3RvcEFsbCgpfSxmdW5jdGlvbigpe3N0b3BBbGwoKTt0b2FzdChUKCdBdWRpbyBpbmRpc3BvbmlibGUnKSl9KX0pKCk7CiAgICB9CiAgICBmdW5jdGlvbiBwbGF5QWxsKCl7CiAgICAgIGlmKGN1ci5vbiYmKGN1ci5jaGFpbnx8Y3VyLm1vZGU9PT0ndycpKXtzdG9wQWxsKCk7cmV0dXJufQogICAgICBpZihyZWNGb2xkZXIoKT09PSdub3JlZW4nKXBsYXlXaG9sZSgpO2Vsc2UgcGxheVZlcnNlKGZyb20+MT9mcm9tOjEsdHJ1ZSk7CiAgICB9CiAgICBmdW5jdGlvbiByZWNDaGFuZ2VkKHYpewogICAgICBzdG9wQWxsSWZOZWVkZWQodik7CiAgICB9CiAgICBmdW5jdGlvbiBzdG9wQWxsSWZOZWVkZWQodil7CiAgICAgIHNldFJlYyh2KTt0b2FzdChUKCdSw6ljaXRhdGV1ciA6ICcpK3JlY05hbWUodikpOwogICAgICBpZighY3VyLm9uKXtzdGF0dXMoKTtyZXR1cm59CiAgICAgIGlmKHY9PT0nbm9yZWVuJyl7CiAgICAgICAgaWYoY3VyLm1vZGU9PT0ndycpcmV0dXJuIHBsYXlXaG9sZSgpOwogICAgICAgIGlmKGN1ci5jaGFpbil7dG9hc3QoVCgnTm9yZWVuIGxpdCBsYSBzb3VyYXRlIGVudGnDqHJlIDogcmVwcmlzZSBhdSBkw6lidXQnKSk7cmV0dXJuIHBsYXlXaG9sZSgpfQogICAgICAgIHJldHVybiBzdGVwKGN1ci5pKTsKICAgICAgfQogICAgICBpZihjdXIubW9kZT09PSd3Jyl7dG9hc3QoVCgnTGVjdHVyZSByZXByaXNlIGF1IHZlcnNldCAxJykpO3JldHVybiBwbGF5VmVyc2UoMSx0cnVlKX0KICAgICAgc3RlcChjdXIuaSk7CiAgICB9CiAgICBtLmVsLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxmdW5jdGlvbihlKXsKICAgICAgdmFyIHQ9ZS50YXJnZXQscD10LmNsb3Nlc3QoJ1tkYXRhLXBsYXldJyk7CiAgICAgIGlmKHApe3ZhciBpPStwLmRhdGFzZXQucGxheTtpZihjdXIub24mJmN1ci5tb2RlPT09J3YnJiYhY3VyLmNoYWluJiZjdXIuaT09PWkpc3RvcEFsbCgpO2Vsc2UgcGxheVZlcnNlKGksZmFsc2UpO3JldHVybn0KICAgICAgdmFyIGRsPXQuY2xvc2VzdCgnW2RhdGEtZGxdJyk7aWYoZGwpe2RsQXlhaChuLCtkbC5kYXRhc2V0LmRsKTtyZXR1cm59CiAgICAgIGlmKHQuY2xvc2VzdCgnI3EtYWxsJykpe3BsYXlBbGwoKTtyZXR1cm59CiAgICAgIGlmKHQuY2xvc2VzdCgnI3EtZGxzJykpe2RsU3VyYWgobik7cmV0dXJufQogICAgICB2YXIgbz10LmNsb3Nlc3QoJyNxLW9wdCcpO2lmKG8pe3ZhciBwYW5lbD0kKCcjcS1vJyxtLmVsKSxvcGVuPXBhbmVsLmhpZGRlbjtwYW5lbC5oaWRkZW49IW9wZW47by5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLG9wZW4pO3JldHVybn0KICAgICAgaWYodC5pZD09PSdxLWZtJ3x8dC5pZD09PSdxLWZwJyl7UUZTPU1hdGgubWluKDQ4LE1hdGgubWF4KDIyLFFGUysodC5pZD09PSdxLWZwJz80Oi00KSkpO1NULnNldCgncWZzJyxRRlMpO3ZzLnN0eWxlLnNldFByb3BlcnR5KCctLWZzJyxRRlMrJ3B4Jyl9CiAgICB9KTsKICAgIG0uZWwuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJyxmdW5jdGlvbihlKXsKICAgICAgdmFyIHQ9ZS50YXJnZXQ7CiAgICAgIGlmKHQuaWQ9PT0ncS1yZWMyJyl7cmVjQ2hhbmdlZCh0LnZhbHVlKTtyZXR1cm59CiAgICAgIGlmKHQuaWQ9PT0ncS12cicpe1JQLnZyPSt0LnZhbHVlO1NULnNldCgndnJlcCcsUlAudnIpfQogICAgICBpZih0LmlkPT09J3Etc3InKXtSUC5zcj0rdC52YWx1ZTtTVC5zZXQoJ3NyZXAnLFJQLnNyKX0KICAgICAgaWYodC5pZD09PSdxLXJhdGUnKXtSQVRFPSt0LnZhbHVlO1NULnNldCgncmF0ZScsUkFURSk7aWYoQSl7QS5wbGF5YmFja1JhdGU9UkFURTtBLmRlZmF1bHRQbGF5YmFja1JhdGU9UkFURX19CiAgICAgIGJhZGdlKCk7c3RhdHVzKCk7CiAgICB9KTsKICAgIG0uZWwuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJyxmdW5jdGlvbigpe2NsZWFyVGltZW91dCh3aW5kb3cuX3FzKTt3aW5kb3cuX3FzPXNldFRpbWVvdXQoZnVuY3Rpb24oKXt2YXIgdG9wPW0uZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wKzE0MCxjPTE7dnMucXVlcnlTZWxlY3RvckFsbCgnLnZzJykuZm9yRWFjaChmdW5jdGlvbihhKXtpZihhLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcDx0b3ApYz0rYS5kYXRhc2V0Lm59KTtpZighY3VyLm9uKW1hcmsoYyl9LDQwMCl9LHtwYXNzaXZlOnRydWV9KTsKICAgIHN0YXR1cygpO2JhZGdlKCk7CiAgICBpZihmcm9tPjEpe3ZhciB0PSQoJyN2YS0nK2Zyb20sbS5lbCk7aWYodClzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dC5zY3JvbGxJbnRvVmlldyh7YmxvY2s6J3N0YXJ0J30pfSw2MCl9CiAgfSkuY2F0Y2goZnVuY3Rpb24oKXttLmVsLmlubmVySFRNTD0oIjxkaXYgY2xhc3M9XCJlbXB0eVwiPiIrVCgiQ2V0dGUgc291cmF0ZSBu4oCZYSBwYXMgcHUgw6p0cmUgY2hhcmfDqWUuIFbDqXJpZmlleiB2b3RyZSBjb25uZXhpb24uIikrIjwvZGl2PiIpfSk7Cn0KCi8qIC0tLS0tLS0tLS0gRG91YSA6IGludm9jYXRpb25zIC0tLS0tLS0tLS0gKi8KZnVuY3Rpb24gYXJWb2ljZSgpe3ZhciBzcz13aW5kb3cuc3BlZWNoU3ludGhlc2lzO2lmKCFzc3x8IXdpbmRvdy5TcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UpcmV0dXJuIGZhbHNlO3ZhciB2cz1zcy5nZXRWb2ljZXM\/c3MuZ2V0Vm9pY2VzKCk6W107cmV0dXJuICF2cy5sZW5ndGh8fHZzLnNvbWUoZnVuY3Rpb24oeCl7cmV0dXJuIC9eYXIvaS50ZXN0KHgubGFuZyl9KX0KZnVuY3Rpb24gc2V0TGFiKGJ0bixvbil7YnRuLnNldEF0dHJpYnV0ZSgnYXJpYS1wcmVzc2VkJyxvbj8ndHJ1ZSc6J2ZhbHNlJyk7dmFyIGw9YnRuLnF1ZXJ5U2VsZWN0b3IoJ3NwYW4nKTtpZihsKWwudGV4dENvbnRlbnQ9b24\/VChUKCdBcnLDqnRlcicpKTpidG4uZGF0YXNldC5sYWJ9CmZ1bmN0aW9uIGR1YVVybChjKXtyZXR1cm4gL14oaHR0cHM\/Oik\/XC8vLnRlc3QoYyk\/YzpheWFoVXJsKGMpfQpmdW5jdGlvbiBkSW5mbyhjYXJkLHQpe3ZhciBlPWNhcmQmJmNhcmQucXVlcnlTZWxlY3RvcignLmR1LXJwJyk7aWYoZSllLnRleHRDb250ZW50PXR8fCcnfQpmdW5jdGlvbiBwbGF5RHVhKGJ0bixjb2RlcyxyZXApewogIGlmKGJ0bi5nZXRBdHRyaWJ1dGUoJ2FyaWEtcHJlc3NlZCcpPT09J3RydWUnKXtzdG9wQWxsKCk7cmV0dXJufQogIHZhciBjYXJkPWJ0bi5jbG9zZXN0KCcuZHUnKSx1cmxzPWNvZGVzLm1hcChkdWFVcmwpLGk9MCxrPTA7CiAgb3duKGZ1bmN0aW9uKCl7c2V0TGFiKGJ0bixmYWxzZSk7ZEluZm8oY2FyZCwnJyl9KTtzZXRMYWIoYnRuLHRydWUpOwogIGZ1bmN0aW9uIHNob3drKCl7ZEluZm8oY2FyZCxyZXA9PT0xPycnOlQoVCgnUsOpcMOpdGl0aW9uICcpKSsoaysxKSsocmVwPycvJytyZXA6JyAo4oieKScpKX0KICBmdW5jdGlvbiBuZXh0KCl7CiAgICBpZihpPj11cmxzLmxlbmd0aCl7aysrO2lmKHJlcD09PTB8fGs8cmVwKXtpPTA7c2hvd2soKX1lbHNle3N0b3BBbGwoKTtyZXR1cm59fQogICAgYVNyYyh1cmxzW2krK10sbmV4dCxmdW5jdGlvbigpe3N0b3BBbGwoKTt0b2FzdChUKCdBdWRpbyBpbmRpc3BvbmlibGUnKSl9KTsKICB9CiAgc2hvd2soKTtuZXh0KCk7Cn0KZnVuY3Rpb24gc3BlYWtBcihidG4scmVwKXsKICB2YXIgc3M9d2luZG93LnNwZWVjaFN5bnRoZXNpczsKICBpZighc3N8fCF3aW5kb3cuU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlKXt0b2FzdChUKCdMYSBsZWN0dXJlIGF1ZGlvIG7igJllc3QgcGFzIGRpc3BvbmlibGUgc3VyIGNldCBhcHBhcmVpbCcpKTtyZXR1cm59CiAgaWYoYnRuLmdldEF0dHJpYnV0ZSgnYXJpYS1wcmVzc2VkJyk9PT0ndHJ1ZScpe3N0b3BBbGwoKTtyZXR1cm59CiAgdmFyIHZzPXNzLmdldFZvaWNlcz9zcy5nZXRWb2ljZXMoKTpbXSx2PXZzLmZpbHRlcihmdW5jdGlvbih4KXtyZXR1cm4gL15hci9pLnRlc3QoeC5sYW5nKX0pWzBdOwogIGlmKHZzLmxlbmd0aCYmIXYpe3RvYXN0KFQoJ0F1Y3VuZSB2b2l4IGFyYWJlIHN1ciBjZXQgYXBwYXJlaWwuIEFqb3V0ZXotZW4gdW5lIGRhbnMgbGVzIHLDqWdsYWdlcyBkZSBzeW50aMOoc2Ugdm9jYWxlLicpKTtyZXR1cm59CiAgdmFyIGNhcmQ9YnRuLmNsb3Nlc3QoJy5kdScpLHR4dD1jYXJkLnF1ZXJ5U2VsZWN0b3IoJy5kdS1hcicpLnRleHRDb250ZW50LnJlcGxhY2UoL1vvtL\/vtL5dL2csJyAnKS5yZXBsYWNlKC8oWy4q2IzYnyFdKVxzKi9nLCckMXwnKTsKICB2YXIgcGFydHM9W10sY3VyPScnO3R4dC5zcGxpdCgnfCcpLmZvckVhY2goZnVuY3Rpb24odCl7dD10LnRyaW0oKTtpZighdClyZXR1cm47aWYoKGN1cisnICcrdCkubGVuZ3RoPjE2MCYmY3VyKXtwYXJ0cy5wdXNoKGN1cik7Y3VyPXR9ZWxzZSBjdXI9Y3VyP2N1cisnICcrdDp0fSk7aWYoY3VyKXBhcnRzLnB1c2goY3VyKTsKICBvd24oZnVuY3Rpb24oKXtzZXRMYWIoYnRuLGZhbHNlKTtkSW5mbyhjYXJkLCcnKX0pO1NQSz1idG47c2V0TGFiKGJ0bix0cnVlKTsKICB2YXIgaT0wLGs9MDsKICAoZnVuY3Rpb24gbmV4dCgpewogICAgaWYoU1BLIT09YnRuKXJldHVybjsKICAgIGlmKGk+PXBhcnRzLmxlbmd0aCl7aysrO2lmKHJlcD09PTB8fGs8cmVwKXtpPTB9ZWxzZXtzdG9wQWxsKCk7cmV0dXJufX0KICAgIGRJbmZvKGNhcmQscmVwPT09MT8nJzpUKFQoJ1LDqXDDqXRpdGlvbiAnKSkrKGsrMSkrKHJlcD8nLycrcmVwOicgKOKIniknKSk7CiAgICB2YXIgdT1uZXcgU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlKHBhcnRzW2krK10pO3UubGFuZz0nYXItU0EnO3UucmF0ZT0uODU7aWYodil1LnZvaWNlPXY7CiAgICB1Lm9uZW5kPW5leHQ7dS5vbmVycm9yPWZ1bmN0aW9uKGUpe2lmKFNQSz09PWJ0bil7c3RvcEFsbCgpO2lmKCFlfHxlLmVycm9yIT09J2ludGVycnVwdGVkJyYmZS5lcnJvciE9PSdjYW5jZWxlZCcpdG9hc3QoVCgnTGVjdHVyZSBhdWRpbyBpbXBvc3NpYmxlIHN1ciBjZXQgYXBwYXJlaWwnKSl9fTsKICAgIHNzLnNwZWFrKHUpOwogIH0pKCk7Cn0KLyogY29tcHRldXIgZGUgZGhpa3IgOiBkw6ljb21wdGUgw6AgY2hhcXVlIHRvdWNoZSwgcmVtaXMgw6AgesOpcm8gY2hhcXVlIGpvdXIgKi8KZnVuY3Rpb24gemtUYXJnZXQoZCl7dmFyIG09LyhcZCspLy5leGVjKGQubnx8JycpO3JldHVybiBtPyttWzFdOjB9CmZ1bmN0aW9uIHprU3RhdGUoKXt2YXIgej1TVC5nZXQoJ3prJyxudWxsKSxkYXk9bmV3IERhdGUoKS50b0RhdGVTdHJpbmcoKTtpZighenx8ei5kIT09ZGF5KXt6PXtkOmRheSxjOnt9fTtTVC5zZXQoJ3prJyx6KX1yZXR1cm4gen0KZnVuY3Rpb24gemtQYWludCh3KXsKICB2YXIga2V5PXcuZGF0YXNldC56a3csdD0rdy5kYXRhc2V0LnQsYz16a1N0YXRlKCkuY1trZXldfHwwLGI9dy5xdWVyeVNlbGVjdG9yKCcuemsnKSxkb25lPXQ+MCYmYz49dDsKICBiLmNsYXNzTGlzdC50b2dnbGUoJ2RvbmUnLGRvbmUpOwogIHcucXVlcnlTZWxlY3RvcignLnprLW4nKS50ZXh0Q29udGVudD10Pyhkb25lPyfinJMnOnQtYyk6YzsKICB3LnF1ZXJ5U2VsZWN0b3IoJy56ay1sJykudGV4dENvbnRlbnQ9dD8oZG9uZT9UKFQoJ1Rlcm1pbsOpLCB0b3VjaGV6IHBvdXIgcmVjb21tZW5jZXInKSk6VChUKCdUb3VjaGV6IMOgIGNoYXF1ZSByw6ljaXRhdGlvbiDCtyAnKSkrYysnLycrdCk6VChUKCdUb3VjaGV6IHBvdXIgY29tcHRlcicpKTsKICB3LnF1ZXJ5U2VsZWN0b3IoJy56ay1maWxsJykuc3R5bGUud2lkdGg9KHQ\/TWF0aC5taW4oMTAwLGMvdCoxMDApOjApKyclJzsKfQpmdW5jdGlvbiB6a0hUTUwoa2V5LHQsaGlkKXtyZXR1cm4gJzxkaXYgY2xhc3M9InprdyIgZGF0YS16a3c9Iicra2V5KyciIGRhdGEtdD0iJyt0KyciJysoaGlkPycgaGlkZGVuJzonJykrJz48YnV0dG9uIGNsYXNzPSJ6ayIgdHlwZT0iYnV0dG9uIiBkYXRhLXprPSInK2tleSsoIlwiIGFyaWEtbGFiZWw9XCIiK1QoIkNvbXB0ZXVyIikrIlwiPiIrIjxzcGFuIGNsYXNzPVwiemstZmlsbFwiPiIrIjwvc3Bhbj4iKyI8c3BhbiBjbGFzcz1cInprLW5cIj4iKyI8L3NwYW4+IisiPHNwYW4gY2xhc3M9XCJ6ay1sXCI+IisiPC9zcGFuPiIrIjwvYnV0dG9uPiIrIjxidXR0b24gY2xhc3M9XCJpYlwiIHR5cGU9XCJidXR0b25cIiBkYXRhLXprcj1cIiIpK2tleSsoIlwiIGFyaWEtbGFiZWw9XCIiK1QoIlJlbWV0dHJlIMOgIHrDqXJvIikrIlwiPiIpK2ljbygncmVzZXQnKSsnPC9idXR0b24+PC9kaXY+J30KZnVuY3Rpb24gemtUYXAodyl7CiAgdmFyIGtleT13LmRhdGFzZXQuemt3LHQ9K3cuZGF0YXNldC50LHo9emtTdGF0ZSgpLGM9ei5jW2tleV18fDA7CiAgYz0odCYmYz49dCk\/MDpjKzE7ei5jW2tleV09YztTVC5zZXQoJ3prJyx6KTt6a1BhaW50KHcpOwogIHRyeXtpZihuYXZpZ2F0b3IudmlicmF0ZSluYXZpZ2F0b3IudmlicmF0ZSh0JiZjPT09dD9bNzAsNTAsNzBdOjEyKX1jYXRjaChlKXt9CiAgaWYodCYmYz09PXQpdG9hc3QoVCgnVGVybWluw6kuIFF14oCZQWxsYWggbOKAmWFjY2VwdGUuJykpOwp9CnZhciBEUkVQPVNULmdldCgnZHJlcCcsMSk7CmZ1bmN0aW9uIGR1YUhUTUwoZCxrLHNpZCl7CiAgdmFyIGZrPSdkOicrc2lkKyc6JytrLGc9ZC5nPyc8c3BhbiBjbGFzcz0icGlsbCcrKC9kaXNjdXR8ZGlzcHV0ZWQvaS50ZXN0KGQuZyk\/JyB3JzonJykrJyI+Jytlc2MoZC5nKSsnPC9zcGFuPiAnOicnOwogIHZhciByZWY9cmVmRW4oZC5yKSxodW09ZC5hdWQmJmQuYXVkLmxlbmd0aCxhY3RzPScnOwogIGlmKGQuYXImJihodW18fGFyVm9pY2UoKSkpewogICAgdmFyIGxhYj1kLmFpP1QoJ8OJY291dGVyJyk6aHVtP1QoJ8OJY291dGVyIGxhIHLDqWNpdGF0aW9uJyk6VCgnw4ljb3V0ZXIgKHZvaXggZGUgbOKAmWFwcGFyZWlsKScpOwogICAgYWN0cz0nPGRpdiBjbGFzcz0iZHUtYmFyIj48YnV0dG9uIGNsYXNzPSJkdS1wbGF5IiB0eXBlPSJidXR0b24iIGFyaWEtcHJlc3NlZD0iZmFsc2UiIGRhdGEtbGFiPSInK2VzYyhsYWIpKyciJysoaHVtPycgZGF0YS1oPSIxIic6JycpKyc+JytpY28oJ3BsYXknKSsnPHNwYW4+JytsYWIrKCI8L3NwYW4+IisiPC9idXR0b24+IisiPGxhYmVsIGNsYXNzPVwibWluaSBycFwiPiIrIjxzcGFuPiIrVCgiUsOpcMOpdGVyIikrIjwvc3Bhbj4iKyI8c2VsZWN0IGNsYXNzPVwiZHUtcmVwXCIgYXJpYS1sYWJlbD1cIiIrVCgiUsOpcMOpdGVyIikrIlwiPiIpK1sxLDIsMyw1LDEwLDBdLm1hcChmdW5jdGlvbih4KXtyZXR1cm4gJzxvcHRpb24gdmFsdWU9IicreCsnIicrKHg9PT1EUkVQPycgc2VsZWN0ZWQnOicnKSsnPicrcmVwTGFiZWwoeCkrJzwvb3B0aW9uPid9KS5qb2luKCcnKSsnPC9zZWxlY3Q+PC9sYWJlbD4nKyhodW0\/KCI8YnV0dG9uIGNsYXNzPVwiaWJcIiB0eXBlPVwiYnV0dG9uXCIgZGF0YS1kbGQgYXJpYS1sYWJlbD1cIiIrVCgiVMOpbMOpY2hhcmdlciBs4oCZYXVkaW8iKSsiXCI+IikraWNvKCdkbCcpKyc8L2J1dHRvbj4nOicnKSsnPC9kaXY+PHAgY2xhc3M9ImR1LXJwIiBhcmlhLWxpdmU9InBvbGl0ZSI+PC9wPic7CiAgfQogIHZhciB0PXprVGFyZ2V0KGQpLHprPWQubj96a0hUTUwoc2lkKyc6JytrLHQsZmFsc2UpOic8YnV0dG9uIGNsYXNzPSJ6ay1vcGVuIiB0eXBlPSJidXR0b24iIGRhdGEtemtvPSInK3NpZCsnOicraysnIj4nK2ljbygnYmVhZHMnKSsoVCgiQ29tcHRlciIpKyI8L2J1dHRvbj4iKSt6a0hUTUwoc2lkKyc6JytrLDAsdHJ1ZSk7CiAgcmV0dXJuICc8YXJ0aWNsZSBjbGFzcz0iZHUiIGRhdGEtc2lkPSInK3NpZCsnIiBkYXRhLWs9IicraysnIj48ZGl2IGNsYXNzPSJkdS1oIj48c3BhbiBjbGFzcz0iZHUtZSI+JytkLmUrJzwvc3Bhbj48aDM+Jytlc2MoZC50KSsnPC9oMz4nKyhkLm4\/JzxzcGFuIGNsYXNzPSJwaWxsIGciPicrZXNjKGQubikrJzwvc3Bhbj4nOicnKStoZWFydEJ0bihmaykrJzwvZGl2PicrKGQuYXI\/JzxwIGNsYXNzPSJkdS1hciIgbGFuZz0iYXIiIGRpcj0icnRsIj4nK2VzYyhkLmFyKSsnPC9wPicrYWN0czonJykrJzxwIGNsYXNzPSJkdS1mciI+Jytlc2MoZC5mcikrJzwvcD48cCBjbGFzcz0iZHUtciI+JytnKydTb3VyY2UgOiAnKyhkLnU\/JzxhIGhyZWY9IicrZXNjKGQudSkrJyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPicrZXNjKHJlZikrJzwvYT4nOmVzYyhyZWYpKSsnPC9wPicremsrJzwvYXJ0aWNsZT4nOwp9Ci8qIHLDqWNpdGF0aW9ucyBodW1haW5lcyA6IGxlcyBpbnZvY2F0aW9ucyBxdWkgc29udCBkZXMgdmVyc2V0cyBkdSBDb3JhbiAqLwpmdW5jdGlvbiBheShuLGEsYil7dmFyIG89W107Zm9yKHZhciBpPWE7aTw9YjtpKyspby5wdXNoKHBhZDMobikrcGFkMyhpKSk7cmV0dXJuIG99CihmdW5jdGlvbigpewogIHZhciBic209YXkoMSwxLDEpLE09ewogICAgbWF0aW46ezA6W10uY29uY2F0KGJzbSxheSgxMTIsMSw0KSxic20sYXkoMTEzLDEsNSksYnNtLGF5KDExNCwxLDYpKX0sCiAgICBudWl0OnsxOmF5KDIsMjU1LDI1NSksMjpheSgyLDI4NSwyODYpfSwKICAgIGhhamo6ezM6YXkoMiwyMDEsMjAxKX0KICB9OwogIERVQVMuZm9yRWFjaChmdW5jdGlvbihzKXsKICAgIHZhciBtPU1bcy5pZF18fHt9O09iamVjdC5rZXlzKG0pLmZvckVhY2goZnVuY3Rpb24oaSl7aWYocy5pdGVtc1tpXSlzLml0ZW1zW2ldLmF1ZD1tW2ldfSk7CiAgICBpZihzLmlkPT09J3JhYmJhbmEnKXMuaXRlbXMuZm9yRWFjaChmdW5jdGlvbihkKXt2YXIgcT0vQ29yYW4gKFxkKyk6KFxkKykvLmV4ZWMoZC5yfHwnJyk7aWYocSlkLmF1ZD1heSgrcVsxXSwrcVsyXSwrcVsyXSl9KTsKICB9KTsKfSkoKTsKLyogaW52b2NhdGlvbnMgbm9uIGNvcmFuaXF1ZXMgOiBmaWNoaWVycyBhdWRpbyBnw6luw6lyw6lzICh2b2l4IE9ydXMpLCBsaXN0w6lzIGRhbnMgRFVBX0FJIChkdWFzX2F1ZGlvLmpzKSAqLwppZih0eXBlb2YgRFVBX0FJIT09J3VuZGVmaW5lZCcpRFVBUy5mb3JFYWNoKGZ1bmN0aW9uKHMpe3MuaXRlbXMuZm9yRWFjaChmdW5jdGlvbihkLGkpe3ZhciBrPXMuaWQrJy0nKygnMCcrKGkrMSkpLnNsaWNlKC0yKTtpZihEVUFfQUlba10pe2QuYXVkPVtEVUFfQUlba11dO2QuYWk9MX19KX0pOwpmdW5jdGlvbiBkdWFTZWMoaWQpe2Zvcih2YXIgaT0wO2k8RFVBUy5sZW5ndGg7aSsrKWlmKERVQVNbaV0uaWQ9PT1pZClyZXR1cm4gRFVBU1tpXTtyZXR1cm4gbnVsbH0KZnVuY3Rpb24gcmFiYmFuYUVuKHMpewogIGlmKHMuX2VuKXJldHVybiBQcm9taXNlLnJlc29sdmUoKTsKICB2YXIgYnk9e307cy5pdGVtcy5mb3JFYWNoKGZ1bmN0aW9uKGQpe3ZhciBtPS9Db3JhbiAoXGQrKTooXGQrKS8uZXhlYyhkLnJ8fCcnKTtpZihtKShieVttWzFdXT1ieVttWzFdXXx8W10pLnB1c2goW2QsK21bMl1dKX0pOwogIHJldHVybiBQcm9taXNlLmFsbChPYmplY3Qua2V5cyhieSkubWFwKGZ1bmN0aW9uKG4pewogICAgdmFyIGs9J3JiZW4nK24sYz1TVC5nZXQoayxudWxsKTsKICAgIHJldHVybiAoYz9Qcm9taXNlLnJlc29sdmUoYyk6ZmV0Y2goJ2h0dHBzOi8vYXBpLmFscXVyYW4uY2xvdWQvdjEvc3VyYWgvJytuKycvZW4uc2FoaWgnKS50aGVuKGZ1bmN0aW9uKHIpe3JldHVybiByLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24oail7dmFyIGE9ai5kYXRhLmF5YWhzLm1hcChmdW5jdGlvbih4KXtyZXR1cm4geC50ZXh0fSk7U1Quc2V0KGssYSk7cmV0dXJuIGF9KSkudGhlbihmdW5jdGlvbihhKXtieVtuXS5mb3JFYWNoKGZ1bmN0aW9uKHEpe3FbMF0uZnI9YVtxWzFdLTFdfSl9KTsKICB9KSkudGhlbihmdW5jdGlvbigpe3MuX2VuPTF9KS5jYXRjaChmdW5jdGlvbigpe30pOwp9CmZ1bmN0aW9uIG9wZW5EdWEoaSl7CiAgdmFyIHM9RFVBU1tpXSxtPW9wZW5Nb2RhbChzLmUrJyAnK3MudCwnPGRpdiBjbGFzcz0ibGlzdCI+PGRpdiBjbGFzcz0ic2tlbGV0b24iPjwvZGl2PjxkaXYgY2xhc3M9InNrZWxldG9uIj48L2Rpdj48L2Rpdj4nKTsKICB2YXIgZHJhdz1mdW5jdGlvbigpe20uZWwuaW5uZXJIVE1MPSc8cCBjbGFzcz0ic3ViIj4nK2VzYyhzLmludHJvKSsnPC9wPjxkaXYgY2xhc3M9Imxpc3QiIHN0eWxlPSJnYXA6MTRweCI+JytzLml0ZW1zLm1hcChmdW5jdGlvbihkLGspe3JldHVybiBkdWFIVE1MKGQsayxzLmlkKX0pLmpvaW4oJycpKyc8L2Rpdj4nOyQkKCcuemt3Om5vdChbaGlkZGVuXSknLG0uZWwpLmZvckVhY2goemtQYWludCl9OwogIGlmKExBTkc9PT0nZW4nJiZzLmlkPT09J3JhYmJhbmEnKXJhYmJhbmFFbihzKS50aGVuKGRyYXcpO2Vsc2UgZHJhdygpOwp9Ci8qIGdlc3RlcyBjb21tdW5zIMOgIHRvdXRlcyBsZXMgY2FydGVzIGQnaW52b2NhdGlvbiAob25nbGV0IERvdWEsIGZhdm9yaXMpICovClJPT1QuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLGZ1bmN0aW9uKGUpewogIHZhciB0PWUudGFyZ2V0LGNhcmQ9dC5jbG9zZXN0KCcuZHUnKTtpZighY2FyZClyZXR1cm47CiAgdmFyIGl0PShkdWFTZWMoY2FyZC5kYXRhc2V0LnNpZCl8fHtpdGVtczpbXX0pLml0ZW1zWytjYXJkLmRhdGFzZXQua107aWYoIWl0KXJldHVybjsKICB2YXIgcGI9dC5jbG9zZXN0KCcuZHUtcGxheScpOwogIGlmKHBiKXt2YXIgcmVwPStjYXJkLnF1ZXJ5U2VsZWN0b3IoJy5kdS1yZXAnKS52YWx1ZTtpZihwYi5kYXRhc2V0LmgmJml0LmF1ZClwbGF5RHVhKHBiLGl0LmF1ZCxyZXApO2Vsc2Ugc3BlYWtBcihwYixyZXApO3JldHVybn0KICBpZih0LmNsb3Nlc3QoJ1tkYXRhLWRsZF0nKSl7ZGxNdWx0aShpdC5hdWQubWFwKGR1YVVybCksJ2RvdWEtJytjYXJkLmRhdGFzZXQuc2lkKyctJysoJzAnKygrY2FyZC5kYXRhc2V0LmsrMSkpLnNsaWNlKC0yKSsnLm1wMycpO3JldHVybn0KICB2YXIgej10LmNsb3Nlc3QoJ1tkYXRhLXprXScpO2lmKHope3prVGFwKHouY2xvc2VzdCgnLnprdycpKTtyZXR1cm59CiAgdmFyIHI9dC5jbG9zZXN0KCdbZGF0YS16a3JdJyk7aWYocil7dmFyIHc9ci5jbG9zZXN0KCcuemt3Jykscz16a1N0YXRlKCk7cy5jW3cuZGF0YXNldC56a3ddPTA7U1Quc2V0KCd6aycscyk7emtQYWludCh3KTtyZXR1cm59CiAgdmFyIG89dC5jbG9zZXN0KCdbZGF0YS16a29dJyk7aWYobyl7dmFyIHcyPW8ubmV4dEVsZW1lbnRTaWJsaW5nO28uaGlkZGVuPXRydWU7dzIuaGlkZGVuPWZhbHNlO3prUGFpbnQodzIpfQp9KTsKUk9PVC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLGZ1bmN0aW9uKGUpe3ZhciBzPWUudGFyZ2V0LmNsb3Nlc3QoJy5kdS1yZXAnKTtpZihzKXtEUkVQPStzLnZhbHVlO1NULnNldCgnZHJlcCcsRFJFUCk7aWYoT1dOJiZzLmNsb3Nlc3QoJy5kdScpLnF1ZXJ5U2VsZWN0b3IoJy5kdS1wbGF5W2FyaWEtcHJlc3NlZD10cnVlXScpKXRvYXN0KFQoJ0xlIG5vdXZlYXUgbm9tYnJlIGRlIHLDqXDDqXRpdGlvbnMgc+KAmWFwcGxpcXVlIMOgIGxhIHByb2NoYWluZSBsZWN0dXJlJykpfX0pOwovKiBjaGFwZWxldCDDqWxlY3Ryb25pcXVlICovCnZhciBESEs9W1sn2LPZj9io2ZLYrdmO2KfZhtmOINin2YTZhNmO2ZHZh9mQJyxUKCdTdWLhuKXDom4gQWxsw6JoJyksVCgnR2xvaXJlIMOgIEFsbGFoJyldLFsn2KfZhNmS2K3ZjtmF2ZLYr9mPINmE2ZDZhNmO2ZHZh9mQJyxUKCdBbC3huKVhbWR1IGxpLWxsw6JoJyksVCgnTG91YW5nZSDDoCBBbGxhaCcpXSxbJ9in2YTZhNmO2ZHZh9mPINij2Y7Zg9mS2KjZjtix2Y8nLFQoJ0FsbMOiaHUgYWtiYXInKSxUKCdBbGxhaCBlc3QgbGUgUGx1cyBHcmFuZCcpXSxbJ9mE2Y7YpyDYpdmQ2YTZjtmH2Y4g2KXZkNmE2Y7ZkdinINin2YTZhNmO2ZHZh9mPJyxUKCdMw6IgaWzDomhhIGlsbMOiIEFsbMOiaCcpLFQoJ0lsIG7igJl5IGEgZGUgZGl2aW5pdMOpIGRpZ25lIGTigJlhZG9yYXRpb24gcXXigJlBbGxhaCcpXSxbJ9ij2Y7Ys9mS2KrZjti62ZLZgdmQ2LHZjyDYp9mE2YTZjtmR2YfZjicsVCgnQXN0YWdoZmlydSBBbGzDomgnKSxUKCdKZSBkZW1hbmRlIHBhcmRvbiDDoCBBbGxhaCcpXSxbJ9mE2Y7YpyDYrdmO2YjZktmE2Y4g2YjZjtmE2Y7YpyDZgtmP2YjZjtmR2KnZjiDYpdmQ2YTZjtmR2Kcg2KjZkNin2YTZhNmO2ZHZh9mQJyxUKCdMw6Ig4bilYXdsYSB3YSBsw6IgcXV3d2F0YSBpbGzDoiBiaS1sbMOiaCcpLFQoJ0lsIG7igJl5IGEgZGUgcHVpc3NhbmNlIG5pIGRlIGZvcmNlIHF14oCZZW4gQWxsYWgnKV0sWyfYs9mP2KjZktit2Y7Yp9mG2Y4g2KfZhNmE2Y7ZkdmH2ZAg2YjZjtio2ZDYrdmO2YXZktiv2ZDZh9mQJyxUKCdTdWLhuKXDom4gQWxsw6JoaSB3YSBiaS3huKVhbWRpaCcpLFQoJ0dsb2lyZSBldCBsb3VhbmdlIMOgIEFsbGFoJyldLFsn2KfZhNmE2Y7ZkdmH2Y\/ZhdmO2ZEg2LXZjtmE2ZDZkSDZiNmO2LPZjtmE2ZDZkdmF2ZIg2LnZjtmE2Y7ZiSDZhtmO2KjZkNmK2ZDZkdmG2Y7YpyDZhdmP2K3ZjtmF2Y7Zkdiv2Y0nLFQoJ0FsbMOiaHVtbWEg4bmjYWxsaSB3YSBzYWxsaW0gyr9hbMOiIG5hYml5eWluw6IgTXXhuKVhbW1hZCcpLFQoJ8OUIEFsbGFoLCBwcmllIHN1ciBub3RyZSBQcm9waMOodGUgTXVoYW1tYWQgZXQgc2FsdWUtbGUnKV0sWyfZhNmO2Kcg2KXZkNmE2Y7Zh9mOINil2ZDZhNmO2ZHYpyDYp9mE2YTZjtmR2YfZjyDZiNmO2K3Zktiv2Y7Zh9mPINmE2Y7YpyDYtNmO2LHZkNmK2YPZjiDZhNmO2YfZjyDZhNmO2YfZjyDYp9mE2ZLZhdmP2YTZktmD2Y8g2YjZjtmE2Y7Zh9mPINin2YTZktit2Y7ZhdmS2K\/ZjyDZiNmO2YfZj9mI2Y4g2LnZjtmE2Y7ZiSDZg9mP2YTZkNmRINi02Y7ZitmS2KHZjSDZgtmO2K\/ZkNmK2LHZjCcsVCgnTMOiIGlsw6JoYSBpbGzDoiBBbGzDomh1IHdh4bilZGFodSBsw6Igc2hhcsOua2EgbGFoLCBsYWh1LWwtbXVsa3Ugd2EgbGFodS1sLeG4pWFtZCwgd2EgaHV3YSDKv2Fsw6Iga3VsbGkgc2hheeKAmWluIHFhZMOucicpLFQoJ0lsIG7igJl5IGEgZGUgZGl2aW5pdMOpIGRpZ25lIGTigJlhZG9yYXRpb24gcXXigJlBbGxhaCwgU2V1bCwgc2FucyBhc3NvY2nDqS4gw4AgTHVpIGxhIHJveWF1dMOpLCDDoCBMdWkgbGEgbG91YW5nZSwgZXQgSWwgZXN0IGNhcGFibGUgZGUgdG91dGUgY2hvc2UnKV1dOwp2YXIgU0VRUD1bWzAsMzNdLFsxLDMzXSxbMiwzM10sWzgsMV1dOwpmdW5jdGlvbiBvcGVuVGFzYmloKCl7CiAgdmFyIFM9U1QuZ2V0KCd0c2InLHtpOjAsdDozMyxjOjAsc2VxOjB9KTsKICB2YXIgbT1vcGVuTW9kYWwoVCgnQ2hhcGVsZXQgw6lsZWN0cm9uaXF1ZScpLCgiPGRpdiBjbGFzcz1cImZsZFwiPiIrIjxsYWJlbCBmb3I9XCJ0cy1kXCI+IitUKCJEaGlrciIpKyI8L2xhYmVsPiIrIjxzZWxlY3QgaWQ9XCJ0cy1kXCI+IikrREhLLm1hcChmdW5jdGlvbih4LGkpe3JldHVybiAnPG9wdGlvbiB2YWx1ZT0iJytpKyciPicreFsxXSsnIMK3ICcreFsyXSsnPC9vcHRpb24+J30pLmpvaW4oJycpKygiPC9zZWxlY3Q+IisiPC9kaXY+IisiPGRpdiBjbGFzcz1cImNoaXBzXCIgaWQ9XCJ0cy10XCIgcm9sZT1cImdyb3VwXCIgYXJpYS1sYWJlbD1cIiIrVCgiT2JqZWN0aWYiKSsiXCI+IikrWzMzLDk5LDEwMCwwXS5tYXAoZnVuY3Rpb24oeCl7cmV0dXJuICc8YnV0dG9uIGNsYXNzPSJjaGlwIiB0eXBlPSJidXR0b24iIGRhdGEtdD0iJyt4KyciPicrKHh8fCfiiJ4nKSsnPC9idXR0b24+J30pLmpvaW4oJycpKygiPGJ1dHRvbiBjbGFzcz1cImNoaXBcIiB0eXBlPVwiYnV0dG9uXCIgZGF0YS1zZXE9XCIxXCI+IitUKCJBcHLDqHMgbGEgcHJpw6hyZSIpKyI8L2J1dHRvbj4iKyI8L2Rpdj4iKyI8ZGl2IGNsYXNzPVwidHMtYm94XCI+IisiPHAgY2xhc3M9XCJ0cy1hclwiIGlkPVwidHMtYXJcIiBsYW5nPVwiYXJcIiBkaXI9XCJydGxcIj4iKyI8L3A+IisiPHAgY2xhc3M9XCJ0cy10clwiIGlkPVwidHMtdHJcIj4iKyI8L3A+IisiPGJ1dHRvbiBjbGFzcz1cInRzLWJ0blwiIHR5cGU9XCJidXR0b25cIiBpZD1cInRzLWdvXCIgYXJpYS1sYWJlbD1cIiIrVCgiQ29tcHRlciIpKyJcIj4iKyI8c3ZnIHZpZXdCb3g9XCIwIDAgMjAwIDIwMFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiIrIjxjaXJjbGUgY3g9XCIxMDBcIiBjeT1cIjEwMFwiIHI9XCI5MFwiIGNsYXNzPVwiYmdcIi8+IisiPGNpcmNsZSBjeD1cIjEwMFwiIGN5PVwiMTAwXCIgcj1cIjkwXCIgY2xhc3M9XCJmZ1wiIGlkPVwidHMtcmluZ1wiLz4iKyI8L3N2Zz4iKyI8YiBpZD1cInRzLW5cIj4iKyIwIisiPC9iPiIrIjxzbWFsbCBpZD1cInRzLW9cIj4iKyI8L3NtYWxsPiIrIjwvYnV0dG9uPiIrIjxidXR0b24gY2xhc3M9XCJidG4gYWx0XCIgdHlwZT1cImJ1dHRvblwiIGlkPVwidHMtclwiPiIpK2ljbygncmVzZXQnKSsoVCgiUmVtZXR0cmUgw6AgesOpcm8iKSsiPC9idXR0b24+IisiPC9kaXY+IisiPHAgY2xhc3M9XCJzdWJcIiBpZD1cInRzLXNlcVwiPiIrIjwvcD4iKSk7CiAgdmFyIGVsPW0uZWw7CiAgZnVuY3Rpb24gc2F2ZSgpe1NULnNldCgndHNiJyxTKX0KICBmdW5jdGlvbiBwYWludCgpewogICAgdmFyIGQ9REhLW1MuaV07JCgnI3RzLWQnLGVsKS52YWx1ZT1TLmk7JCgnI3RzLWFyJyxlbCkudGV4dENvbnRlbnQ9ZFswXTskKCcjdHMtdHInLGVsKS50ZXh0Q29udGVudD1kWzFdKycgwrcgJytkWzJdOwogICAgJCQoJyN0cy10IC5jaGlwJyxlbCkuZm9yRWFjaChmdW5jdGlvbihjKXtjLnNldEF0dHJpYnV0ZSgnYXJpYS1wcmVzc2VkJyxjLmRhdGFzZXQuc2VxPyEhUy5zZXE6KCFTLnNlcSYmK2MuZGF0YXNldC50PT09Uy50KSl9KTsKICAgICQoJyN0cy1uJyxlbCkudGV4dENvbnRlbnQ9Uy5jOwogICAgdmFyIHI9JCgnI3RzLXJpbmcnLGVsKSxMPTIqTWF0aC5QSSo5MDtyLnN0eWxlLnN0cm9rZURhc2hhcnJheT1MO3Iuc3R5bGUuc3Ryb2tlRGFzaG9mZnNldD1TLnQ\/TCooMS1NYXRoLm1pbigxLFMuYy9TLnQpKTpMOwogICAgJCgnI3RzLW8nLGVsKS50ZXh0Q29udGVudD1TLnQ\/VCgnb2JqZWN0aWYgJykrUy50OlQoJ2NvbXB0ZXVyIGxpYnJlJyk7CiAgICAkKCcjdHMtc2VxJyxlbCkuaW5uZXJIVE1MPVMuc2VxP1QoVCgnQXByw6hzIGNoYXF1ZSBwcmnDqHJlIDogU3Vi4bilw6JuIEFsbMOiaCDDlyAzMywgQWwt4bilYW1kdSBsaS1sbMOiaCDDlyAzMywgQWxsw6JodSBha2JhciDDlyAzMywgcHVpcyB1bmUgZm9pcyBsYSBmb3JtdWxlIGTigJl1bmljaXTDqSBwb3VyIGF0dGVpbmRyZSAxMDAuIMOJdGFwZSAnKSkrKFMuc3ArMSkrKCIvNC4gIisiPGEgaHJlZj1cImh0dHBzOi8vc3VubmFoLmNvbS9tdXNsaW06NTk3XCIgdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9vcGVuZXJcIj4iK1QoIk11c2xpbSBuwrAgNTk3IikrIjwvYT4iKTonJzsKICB9CiAgZnVuY3Rpb24gc2VxU2V0KHApe1Muc3A9cDtTLmk9U0VRUFtwXVswXTtTLnQ9U0VRUFtwXVsxXTtTLmM9MH0KICBlbC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsZnVuY3Rpb24oZSl7CiAgICB2YXIgdD1lLnRhcmdldDsKICAgIGlmKHQuY2xvc2VzdCgnI3RzLWdvJykpewogICAgICBTLmMrKzt0cnl7aWYobmF2aWdhdG9yLnZpYnJhdGUpbmF2aWdhdG9yLnZpYnJhdGUoMTApfWNhdGNoKHgpe30KICAgICAgaWYoUy50JiZTLmM+PVMudCl7CiAgICAgICAgdHJ5e2lmKG5hdmlnYXRvci52aWJyYXRlKW5hdmlnYXRvci52aWJyYXRlKFs4MCw1MCw4MF0pfWNhdGNoKHgpe30KICAgICAgICBpZihTLnNlcSYmUy5zcDwzKXtzZXFTZXQoUy5zcCsxKTt0b2FzdChUKCfDiXRhcGUgc3VpdmFudGUgOiAnKStESEtbUy5pXVsxXSl9CiAgICAgICAgZWxzZSBpZihTLnNlcSl7dG9hc3QoVCgnQ2hhcGVsZXQgdGVybWluw6kuIFF14oCZQWxsYWggbOKAmWFjY2VwdGUuJykpO3NlcVNldCgwKX0KICAgICAgICBlbHNle3RvYXN0KFQoJ09iamVjdGlmIGF0dGVpbnQuIFF14oCZQWxsYWggbOKAmWFjY2VwdGUuJykpO1MuYz0wfQogICAgICB9CiAgICAgIHNhdmUoKTtwYWludCgpO3JldHVybn0KICAgIGlmKHQuY2xvc2VzdCgnI3RzLXInKSl7Uy5jPTA7aWYoUy5zZXEpc2VxU2V0KDApO3NhdmUoKTtwYWludCgpO3JldHVybn0KICAgIHZhciBjPXQuY2xvc2VzdCgnI3RzLXQgLmNoaXAnKTtpZihjKXtpZihjLmRhdGFzZXQuc2VxKXtTLnNlcT0xO3NlcVNldCgwKX1lbHNle1Muc2VxPTA7Uy50PStjLmRhdGFzZXQudDtTLmM9MH1zYXZlKCk7cGFpbnQoKX0KICB9KTsKICAkKCcjdHMtZCcsZWwpLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsZnVuY3Rpb24oKXtTLmk9K3RoaXMudmFsdWU7Uy5zZXE9MDtTLmM9MDtzYXZlKCk7cGFpbnQoKX0pOwogIGlmKFMuc2VxJiZTLnNwPT1udWxsKXNlcVNldCgwKTsKICBwYWludCgpOwp9CmZ1bmN0aW9uIGluaXREb3VhKCl7CiAgdmFyIHY9JCgnI3YtZG91YScpOwogIHYuaW5uZXJIVE1MPSgiPGRpdj4iKyI8aDI+IitUKCJJbnZvY2F0aW9ucyIpKyI8L2gyPiIrIjxwIGNsYXNzPVwic3ViXCI+IitUKCJMZXMgZG91YXMgZHUgcXVvdGlkaWVuLCBkdSBIYWpqIGV0IGRlIGxhIE9tcmEsIGF2ZWMgbGUgdGV4dGUgYXJhYmUsIGxhIHRyYWR1Y3Rpb24sIGxhIHNvdXJjZSwgbOKAmcOpY291dGUgw6AgcsOpcMOpdGVyIGV0IHVuIGNvbXB0ZXVyLiIpKyI8L3A+IisiPC9kaXY+IisiPGJ1dHRvbiBjbGFzcz1cInRzYi10aWxlXCIgdHlwZT1cImJ1dHRvblwiIGlkPVwiZG8tdHNiXCI+IisiPHNwYW4gY2xhc3M9XCJkZVwiPiIpK2ljbygnYmVhZHMnKSsoIjwvc3Bhbj4iKyI8ZGl2PiIrIjxiPiIrVCgiQ2hhcGVsZXQgw6lsZWN0cm9uaXF1ZSIpKyI8L2I+IisiPHNtYWxsPiIrVCgiVG91Y2hleiBs4oCZw6ljcmFuIMOgIGNoYXF1ZSBkaGlrciA6IDMzLCA5OSwgMTAwIG91IHNhbnMgbGltaXRlIikrIjwvc21hbGw+IisiPC9kaXY+IisiPC9idXR0b24+IisiPGRpdiBjbGFzcz1cImRncmlkXCI+IikrRFVBUy5tYXAoZnVuY3Rpb24ocyxpKXtyZXR1cm4gJzxidXR0b24gY2xhc3M9ImR0aWxlIiB0eXBlPSJidXR0b24iIGRhdGEtaT0iJytpKyciPjxzcGFuIGNsYXNzPSJkZSI+JytzLmUrJzwvc3Bhbj48Yj4nK2VzYyhzLnQpKyc8L2I+PHNtYWxsPicrcy5pdGVtcy5sZW5ndGgrJyAnKyhzLmlkPT09J2hhamonP1QoJ8OpdGFwZXMnKTpzLmlkPT09J3JhYmJhbmEnP1QoJ3ZlcnNldHMnKTpUKCd0ZXh0ZXMnKSkrJzwvc21hbGw+PC9idXR0b24+J30pLmpvaW4oJycpKygiPC9kaXY+IisiPHAgY2xhc3M9XCJzdWJcIj4iK1QoIkxlcyBoYWRpdGhzIGp1Z8OpcyBmYWlibGVzIHBhciBsZXMgc3DDqWNpYWxpc3RlcyBzb250IMOpY2FydMOpcywgZXQgbGVzIGNoYcOubmVzIGRpc2N1dMOpZXMgc29udCBzaWduYWzDqWVzLiBQb3VyIHVuIGNhcyBwcsOpY2lzLCBjb25zdWx0ZXogdW4gc2F2YW50LiIpKyI8L3A+Iik7CiAgJCgnI2RvLXRzYicpLm9uY2xpY2s9b3BlblRhc2JpaDsKICB2LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxmdW5jdGlvbihlKXt2YXIgYj1lLnRhcmdldC5jbG9zZXN0KCcuZHRpbGUnKTtpZihiKW9wZW5EdWEoK2IuZGF0YXNldC5pKX0pOwp9Ci8qIC0tLS0tLS0tLS0gNS4gUmFwcGVscyAtLS0tLS0tLS0tICovCnZhciBSQT0nIChyYWRpeWFsbGFodSDKv2FuaHUpJyxSTT0nIChyYWRpeWFsbGFodSDKv2FuaHVtYSknOwp2YXIgSEFEPVsKIHtjOidoYWxhbCcsdDpUKCfCqyDDlCBnZW5zICEgQWxsYWggZXN0IFB1ciBldCBu4oCZYWNjZXB0ZSBxdWUgY2UgcXVpIGVzdCBwdXIuIMK7JyksdzpUKCdBYm91IEhvdXJheXJhJykrUkEscjonTXVzbGltIG7CsCAxMDE1Jyx1OidtdXNsaW06MTAxNSd9LAoge2M6J2hhbGFsJyx0OlQoJ8KrIExlIGxpY2l0ZSBlc3Qgw6l2aWRlbnQgZXQgbOKAmWlsbGljaXRlIGVzdCDDqXZpZGVudCwgZXQgZW50cmUgbGVzIGRldXggc2UgdHJvdXZlbnQgZGVzIGNob3NlcyBkb3V0ZXVzZXMgcXVlIGJlYXVjb3VwIGRlIGdlbnMgbmUgY29ubmFpc3NlbnQgcGFzLiBDZWx1aSBxdWkgc2UgZ2FyZGUgZGVzIGNob3NlcyBkb3V0ZXVzZXMgcHLDqXNlcnZlIHNhIHJlbGlnaW9uIGV0IHNvbiBob25uZXVyLiDCuycpLHc6VCgnYW4tTnXKv23Dom4gaWJuIEJhY2jDrnInKStSTSxyOlQoJ2FsLUJ1a2jDonLDriBuwrAgNTIgZXQgTXVzbGltIG7CsCAxNTk5JyksdTonYnVraGFyaTo1Mid9LAoge2M6J2hhbGFsJyx0OlQoJ8KrIExhaXNzZSBjZSBxdWkgdGUgbWV0IGRhbnMgbGUgZG91dGUgcG91ciBjZSBxdWkgbmUgdGUgbWV0IHBhcyBkYW5zIGxlIGRvdXRlLiBMYSB2w6lyaXTDqSBhcHBvcnRlIGxhIHPDqXLDqW5pdMOpLCBldCBsZSBtZW5zb25nZSBzw6htZSBsZSBkb3V0ZS4gwrsnKSx3OlQoJ2FsLUhhc2FuIGlibiDKv0Fsw64nKStSTSxyOlQoJ2F0LVRpcm1pZGjDriBuwrAgMjUxOCcpLHU6J3Rpcm1pZGhpOjI1MTgnfSwKIHtjOidoYWxhbCcsdDpUKCfCqyBDZWx1aSBxdWkgZG9ubmUgZW4gYXVtw7RuZSBs4oCZw6lxdWl2YWxlbnQgZOKAmXVuZSBkYXR0ZSBwcm92ZW5hbnQgZOKAmXVuIGdhaW4gbGljaXRlIOKAlCBldCBBbGxhaCBu4oCZYWNjZXB0ZSBxdWUgbGUgbGljaXRlIOKAlCBBbGxhaCBsYSByZcOnb2l0IGRhbnMgU2EgbWFpbiBkcm9pdGUsIHB1aXMgbGEgZmFpdCBjcm\/DrnRyZSBwb3VyIGx1aS4gwrsnKSx3OlQoJ0Fib3UgSG91cmF5cmEnKStSQSxyOlQoJ2FsLUJ1a2jDonLDriBuwrAgMTQxMCcpLHU6J2J1a2hhcmk6MTQxMCd9LAoge2M6J2hhbGFsJyx0OlQoJ8KrIFRvdXQgZW5pdnJhbnQgZXN0IGR1IGtoYW1yICh2aW4pLCBldCB0b3V0IGVuaXZyYW50IGVzdCBpbnRlcmRpdC4gwrsnKSx3OidJYm4gyr9VbWFyJytSTSxyOidNdXNsaW0gbsKwIDIwMDMnLHU6J211c2xpbToyMDAzJ30sCiB7YzonZmluYW5jZScsdDpUKCdMZSBNZXNzYWdlciBk4oCZQWxsYWgg77e6IGEgbWF1ZGl0IGNlbHVpIHF1aSBwZXLDp29pdCBsZSByaWJhLCBjZWx1aSBxdWkgbGUgdmVyc2UsIGNlbHVpIHF1aSBs4oCZZW5yZWdpc3RyZSBldCBsZXMgZGV1eCB0w6ltb2lucy4gRXQgaWwgYSBkaXQgOiDCqyBJbHMgc29udCB0b3VzIMOpZ2F1eC4gwrsnKSx3OlQoJ0rDomJpciBpYm4gyr9BYmRpbGxhaCcpK1JNLHI6J011c2xpbSBuwrAgMTU5OCcsdTonbXVzbGltOjE1OTgnfSwKIHtjOidmaW5hbmNlJyx0OlQoJ0xlIFByb3Bow6h0ZSDvt7ogYSBpbnRlcmRpdCBsZSBwcml4IGR1IGNoaWVuLCBsZSBwcml4IGR1IHNhbmcsIGxlIHRhdG91YWdlLCBhaW5zaSBxdWUgbGUgZmFpdCBkZSByZWNldm9pciBvdSBkZSBkb25uZXIgZHUgcmliYS4nKSx3OlQoJ0Fib3UgSnVoYXlmYScpK1JBLHI6VCgnYWwtQnVraMOicsOuIG7CsCAyMDg2JyksdTonYnVraGFyaToyMDg2J30sCiB7YzonZmluYW5jZScsdDpUKCfCqyBOZSB2ZW5kZXogcGFzIGzigJlvciBjb250cmUgbOKAmW9yLCBzYXVmIMOgIHF1YW50aXTDqSDDqWdhbGUsIGV0IG7igJllbiBhdWdtZW50ZXogcGFzIGzigJl1biBwYXIgcmFwcG9ydCDDoCBs4oCZYXV0cmUuIE5lIHZlbmRleiBwYXMgbOKAmWFyZ2VudCBjb250cmUgbOKAmWFyZ2VudCwgc2F1ZiDDoCBxdWFudGl0w6kgw6lnYWxlLiBFdCBuZSB2ZW5kZXogcGFzIGR1IGNvbXB0YW50IGNvbnRyZSBkdSBkaWZmw6lyw6kuIMK7JyksdzpUKCdBYm91IFNhyr\/DrmQgYWwtS2h1ZHLDricpK1JBLHI6J011c2xpbSBuwrAgMTU4NCcsdTonbXVzbGltOjE1ODQnfSwKIHtjOidmaW5hbmNlJyx0OlQoJ8KrIFVuIHRlbXBzIHZpZW5kcmEgb8O5IGxlcyBnZW5zIG5lIHNlIHNvdWNpZXJvbnQgcGx1cyBkZSBzYXZvaXIgZOKAmW\/DuSBpbHMgdGlyZW50IGxldXIgYXJnZW50LCBkdSBsaWNpdGUgb3UgZGUgbOKAmWlsbGljaXRlLiDCuycpLHc6VCgnQWJvdSBIb3VyYXlyYScpK1JBLHI6VCgnYWwtQnVraMOicsOuIG7CsCAyMDgzJyksdTonYnVraGFyaToyMDgzJ30sCiB7YzonaG9ubmV0ZXRlJyx0OlQoJ0xlIHZlbmRldXIgZXQgbOKAmWFjaGV0ZXVyIG9udCBsZSBjaG9peCB0YW50IHF14oCZaWxzIG5lIHNlIHNvbnQgcGFzIHPDqXBhcsOpcy4gU+KAmWlscyBkaXNlbnQgdnJhaSBldCBleHBvc2VudCBsZXMgZMOpZmF1dHMsIGxldXIgdHJhbnNhY3Rpb24gc2VyYSBiw6luaWUgOyBz4oCZaWxzIG1lbnRlbnQgZXQgZGlzc2ltdWxlbnQsIGxhIGLDqW7DqWRpY3Rpb24gZGUgbGV1ciB0cmFuc2FjdGlvbiBkaXNwYXJhw650cmEuJyksdzpUKCdIYWvDrm0gaWJuIEhpesOibScpK1JBLHI6VCgnYWwtQnVraMOicsOuIG7CsCAyMDc5JyksdTonYnVraGFyaToyMDc5J30sCiB7YzonaG9ubmV0ZXRlJyx0OlQoJ8KrIENlbHVpIHF1aSBub3VzIHRyb21wZSBu4oCZZXN0IHBhcyBkZXMgbsO0dHJlcy4gwrsnKSx3OlQoJ0Fib3UgSG91cmF5cmEnKStSQSxyOidNdXNsaW0gbsKwIDEwMScsdTonbXVzbGltOjEwMSd9Cl07CnZhciBIQURfQVI9WwogJ9ij2Y7ZitmP2ZHZh9mO2Kcg2KfZhNmG2Y7Zkdin2LPZjyDYpdmQ2YbZjtmRINin2YTZhNmO2ZHZh9mOINi32Y7ZitmQ2ZHYqNmMINmE2Y7YpyDZitmO2YLZktio2Y7ZhNmPINil2ZDZhNmO2ZHYpyDYt9mO2YrZkNmR2KjZi9inJywKICfYp9mE2ZLYrdmO2YTZjtin2YTZjyDYqNmO2YrZkNmR2YbZjCDZiNmO2KfZhNmS2K3Zjtix2Y7Yp9mF2Y8g2KjZjtmK2ZDZkdmG2YzYjCDZiNmO2KjZjtmK2ZLZhtmO2YfZj9mF2Y7YpyDZhdmP2LTZjtio2Y7ZkdmH2Y7Yp9iq2Ywg2YTZjtinINmK2Y7YudmS2YTZjtmF2Y\/Zh9mO2Kcg2YPZjtir2ZDZitix2Ywg2YXZkNmG2Y4g2KfZhNmG2Y7Zkdin2LPZkNiMINmB2Y7ZhdmO2YbZkCDYp9iq2Y7ZkdmC2Y7ZiSDYp9mE2ZLZhdmP2LTZjtio2Y7ZkdmH2Y7Yp9iq2ZAg2KfYs9mS2KrZjtio2ZLYsdmO2KPZjiDZhNmQ2K\/ZkNmK2YbZkNmH2ZAg2YjZjti52ZDYsdmS2LbZkNmH2ZAnLAogJ9iv2Y7YudmSINmF2Y7YpyDZitmO2LHZkNmK2KjZj9mD2Y4g2KXZkNmE2Y7ZiSDZhdmO2Kcg2YTZjtinINmK2Y7YsdmQ2YrYqNmP2YPZjtiMINmB2Y7YpdmQ2YbZjtmRINin2YTYtdmQ2ZHYr9mS2YLZjiDYt9mP2YXZjtij2ZLZhtmQ2YrZhtmO2KnZjCDZiNmO2KXZkNmG2Y7ZkSDYp9mE2ZLZg9mO2LDZkNio2Y4g2LHZkNmK2KjZjtip2YwnLAogJ9mF2Y7ZhtmSINiq2Y7YtdmO2K\/ZjtmR2YLZjiDYqNmQ2LnZjtiv2ZLZhNmQINiq2Y7ZhdmS2LHZjtip2Y0g2YXZkNmG2ZIg2YPZjtiz2ZLYqNmNINi32Y7ZitmQ2ZHYqNmN2Iwg2YjZjtmE2Y7YpyDZitmO2YLZktio2Y7ZhNmPINin2YTZhNmO2ZHZh9mPINil2ZDZhNmO2ZHYpyDYp9mE2LfZjtmR2YrZkNmR2KjZjtiMINmI2Y7YpdmQ2YbZjtmRINin2YTZhNmO2ZHZh9mOINmK2Y7YqtmO2YLZjtio2Y7ZkdmE2Y\/Zh9mO2Kcg2KjZkNmK2Y7ZhdmQ2YrZhtmQ2YfZkNiMINir2Y\/ZhdmO2ZEg2YrZj9ix2Y7YqNmQ2ZHZitmH2Y7YpyDZhNmQ2LXZjtin2K3ZkNio2ZDZh9mQIOKApicsCiAn2YPZj9mE2Y\/ZkSDZhdmP2LPZktmD2ZDYsdmNINiu2Y7ZhdmS2LHZjCDZiNmO2YPZj9mE2Y\/ZkSDZhdmP2LPZktmD2ZDYsdmNINit2Y7YsdmO2KfZhdmMJywKICfZhNmO2LnZjtmG2Y4g2LHZjtiz2Y\/ZiNmE2Y8g2KfZhNmE2Y7ZkdmH2ZAg77e6INii2YPZkNmE2Y4g2KfZhNix2ZDZkdio2Y7YpyDZiNmO2YXZj9mI2YPZkNmE2Y7Zh9mPINmI2Y7Zg9mO2KfYqtmQ2KjZjtmH2Y8g2YjZjti02Y7Yp9mH2ZDYr9mO2YrZktmH2ZDYjCDZiNmO2YLZjtin2YTZjjog2YfZj9mF2ZIg2LPZjtmI2Y7Yp9ih2YwnLAogJ9mG2Y7Zh9mO2Ykg2KfZhNmG2Y7Zkdio2ZDZitmP2ZEg77e6INi52Y7ZhtmSINir2Y7ZhdmO2YbZkCDYp9mE2ZLZg9mO2YTZktio2ZDYjCDZiNmO2KvZjtmF2Y7ZhtmQINin2YTYr9mO2ZHZhdmQ2Iwg2YjZjtmG2Y7Zh9mO2Ykg2LnZjtmG2ZAg2KfZhNmS2YjZjtin2LTZkNmF2Y7YqdmQINmI2Y7Yp9mE2ZLZhdmO2YjZkti02Y\/ZiNmF2Y7YqdmQ2Iwg2YjZjtii2YPZkNmE2ZAg2KfZhNix2ZDZkdio2Y7Yp9iMINmI2Y7ZhdmP2YjZg9mQ2YTZkNmH2ZAnLAogJ9mE2Y7YpyDYqtmO2KjZkNmK2LnZj9mI2Kcg2KfZhNiw2Y7ZkdmH2Y7YqNmOINio2ZDYp9mE2LDZjtmR2YfZjtio2ZAg2KXZkNmE2Y7ZkdinINmF2ZDYq9mS2YTZi9inINio2ZDZhdmQ2KvZktmE2Y3YjCDZiNmO2YTZjtinINiq2Y\/YtNmQ2YHZj9mR2YjYpyDYqNmO2LnZkti22Y7Zh9mO2Kcg2LnZjtmE2Y7ZiSDYqNmO2LnZkti22Y3YjCDZiNmO2YTZjtinINiq2Y7YqNmQ2YrYudmP2YjYpyDYp9mE2ZLZiNmO2LHZkNmC2Y4g2KjZkNin2YTZktmI2Y7YsdmQ2YLZkCDYpdmQ2YTZjtmR2Kcg2YXZkNir2ZLZhNmL2Kcg2KjZkNmF2ZDYq9mS2YTZjdiMINmI2Y7ZhNmO2Kcg2KrZj9i02ZDZgdmP2ZHZiNinINio2Y7YudmS2LbZjtmH2Y7YpyDYudmO2YTZjtmJINio2Y7YudmS2LbZjdiMINmI2Y7ZhNmO2Kcg2KrZjtio2ZDZiti52Y\/ZiNinINmF2ZDZhtmS2YfZjtinINi62Y7Yp9im2ZDYqNmL2Kcg2KjZkNmG2Y7Yp9is2ZDYstmNJywKICfZhNmO2YrZjtij2ZLYqtmQ2YrZjtmG2Y7ZkSDYudmO2YTZjtmJINin2YTZhtmO2ZHYp9iz2ZAg2LLZjtmF2Y7Yp9mG2Ywg2YTZjtinINmK2Y\/YqNmO2KfZhNmQ2Yog2KfZhNmS2YXZjtix2ZLYodmPINio2ZDZhdmO2Kcg2KPZjtiu2Y7YsNmOINin2YTZktmF2Y7Yp9mE2Y7YjCDYo9mO2YXZkNmG2ZIg2K3ZjtmE2Y7Yp9mE2Y0g2KPZjtmF2ZIg2YXZkNmG2ZIg2K3Zjtix2Y7Yp9mF2Y0nLAogJ9in2YTZktio2Y7ZitmQ2ZHYudmO2KfZhtmQINio2ZDYp9mE2ZLYrtmQ2YrZjtin2LHZkCDZhdmO2Kcg2YTZjtmF2ZIg2YrZjtiq2Y7ZgdmO2LHZjtmR2YLZjtin2Iwg2YHZjtil2ZDZhtmSINi12Y7Yr9mO2YLZjtinINmI2Y7YqNmO2YrZjtmR2YbZjtinINio2Y\/ZiNix2ZDZg9mOINmE2Y7Zh9mP2YXZjtinINmB2ZDZiiDYqNmO2YrZkti52ZDZh9mQ2YXZjtin2Iwg2YjZjtil2ZDZhtmSINmD2Y7YqtmO2YXZjtinINmI2Y7Zg9mO2LDZjtio2Y7YpyDZhdmP2K3ZkNmC2Y7YqtmSINio2Y7YsdmO2YPZjtip2Y8g2KjZjtmK2ZLYudmQ2YfZkNmF2Y7YpycsCiAn2YXZjtmG2ZIg2LrZjti02Y7ZkdmG2Y7YpyDZgdmO2YTZjtmK2ZLYs9mOINmF2ZDZhtmO2ZHYpycKXTsKSEFELmZvckVhY2goZnVuY3Rpb24oaCxpKXtoLmE9SEFEX0FSW2ldfSk7CnZhciBDQVRTPXthbGw6VCgnVG91cycpLGhhbGFsOlQoJ1BvdXJxdW9pIGNvbnNvbW1lciBoYWxhbCcpLGZpbmFuY2U6VCgnUmliYSBldCBmaW5hbmNlIGlzbGFtaXF1ZScpLGhvbm5ldGV0ZTpUKCdIb25uw6p0ZXTDqSBlbiBhZmZhaXJlcycpfTsKdmFyIFJDQVQ9J2FsbCc7CmZ1bmN0aW9uIGRheUlkeCgpe3ZhciBkPW5ldyBEYXRlKCk7cmV0dXJuIE1hdGguZmxvb3IobmV3IERhdGUoZC5nZXRGdWxsWWVhcigpLGQuZ2V0TW9udGgoKSxkLmdldERhdGUoKSkuZ2V0VGltZSgpLzg2NDAwMDAwKSVIQUQubGVuZ3RofQp2YXIgUkVGRU49W1svbsKwL2csJ25vLiddLFsvIGV0IC9nLCcgYW5kICddLFsvQnVraMOicsOuL2csVCgnQnVraGFyaScpXSxbL1Rpcm1pZGjDri9nLFQoJ1Rpcm1pZGhpJyldLFsvQWLDuyBEw6J3dWQvZyxUKCdBYnUgRGF3dWQnKV0sWy9JYm4gTcOiamEvZyxUKCdJYm4gTWFqYWgnKV0sWy9k4oCZYXByw6hzL2csJ2Zyb20nXSxbL2NoYcOubmUgSGFzYW4vZyxUKCdIYXNhbiBjaGFpbicpXSxbL2NoYcOubmUgZGlzY3V0w6llL2csJ2Rpc3B1dGVkIGNoYWluJ10sWy9BYm91IEhvdXJheXJhL2csVCgnQWJ1IEh1cmF5cmEnKV0sWy9BYm91IE1hc8q\/b3VkL2csVCgnQWJ1IE1hc8q\/dWQnKV0sWy\/Kv8OCw69jaGEvZywnyr9BaXNoYSddLFsvTXXKv8OiZGgvZywnTXXKv2FkaCddLFsvQWJvdSBVbcOibWEvZyxUKCdBYnUgVW1hbWEnKV0sWy9JYm4gyr9BYmLDonMvZywnSWJuIMq\/QWJiYXMnXSxbL2FzLVPDouKAmWliL2csJ2FzLVNhyr5pYiddLFsvSsOiYmlyL2csVCgnSmFiaXInKV0sWy9hbC1CYXLDouKAmSBpYm4gyr\/DgnppYi9nLFQoJ2FsLUJhcmHigJkgaWJuIMq\/QXppYicpXSxbL2FsLUJhcsOi4oCZL2csVCgnYWwtQmFyYeKAmScpXSxbL0NoYWRkw6JkL2csVCgnU2hhZGRhZCcpXSxbL8q\/QWzDri9nLCfKv0FsaSddLFsvXkNvcmFuIC8sVCgnUXVyYW4gJyldLFsvIDsgQ29yYW4gL2csJyA7IFF1cmFuICddXTsKZnVuY3Rpb24gcmVmRW4ocil7aWYoTEFORyE9PSdlbicpcmV0dXJuIHI7dmFyIHg9U3RyaW5nKHI9PW51bGw\/Jyc6cik7UkVGRU4uZm9yRWFjaChmdW5jdGlvbihwKXt4PXgucmVwbGFjZShwWzBdLHBbMV0pfSk7cmV0dXJuIHh9CmZ1bmN0aW9uIGhjYXJkKGgsYmlnKXt2YXIgaT1IQUQuaW5kZXhPZihoKTtyZXR1cm4gJzxhcnRpY2xlIGNsYXNzPSJoZCcrKGJpZz8nIGJpZyc6JycpKyciPjxkaXYgY2xhc3M9ImhkLXRvcCI+PHNwYW4gY2xhc3M9InBpbGwgZyBjYXQiPicrQ0FUU1toLmNdKyc8L3NwYW4+JytoZWFydEJ0bignaDonK2kpKyc8L2Rpdj4nKyhoLmE\/JzxwIGNsYXNzPSJoZC1hciIgbGFuZz0iYXIiIGRpcj0icnRsIj4nK2VzYyhoLmEpKyc8L3A+JzonJykrJzxwIGNsYXNzPSJ0eCI+Jytlc2MoaC50KSsoIjwvcD4iKyI8cCBjbGFzcz1cInNyY1wiPiIrVCgiUmFwcG9ydMOpIHBhciAiKSkrZXNjKGgudykrJyDCtyA8YSBocmVmPSJodHRwczovL3N1bm5haC5jb20vJytoLnUrJyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPicrZXNjKHJlZkVuKGgucikpKyc8L2E+PC9wPjwvYXJ0aWNsZT4nfQpmdW5jdGlvbiBpbml0UmVtKCl7CiAgdmFyIHY9JCgnI3YtcmVtJyksb249U1QuZ2V0KCdub3RpZicsZmFsc2UpJiYoVCgnTm90aWZpY2F0aW9uJykgaW4gd2luZG93KSYmTm90aWZpY2F0aW9uLnBlcm1pc3Npb249PT0nZ3JhbnRlZCc7CiAgdi5pbm5lckhUTUw9KCI8ZGl2PiIrIjxoMj4iK1QoIlJhcHBlbHMiKSsiPC9oMj4iKyI8cCBjbGFzcz1cInN1YlwiPiIrVCgiTGUgaGFsYWwsIGxlIHJpYmEgZXQgbOKAmWhvbm7DqnRldMOpIGVuIGFmZmFpcmVzLCBkYW5zIGxlcyBwYXJvbGVzIGF1dGhlbnRpcXVlcyBkdSBQcm9waMOodGUg77e6LiIpKyI8L3A+IisiPC9kaXY+IisiPGRpdj4iKyI8ZGl2IGNsYXNzPVwibGJsXCIgc3R5bGU9XCJtYXJnaW4tYm90dG9tOjhweFwiPiIrVCgiUmFwcGVsIGR1IGpvdXIiKSsiPC9kaXY+IikraGNhcmQoSEFEW2RheUlkeCgpXSx0cnVlKSsoIjwvZGl2PiIrIjxkaXYgY2xhc3M9XCJub3RpZlwiPiIrIjxkaXY+IisiPGI+IitUKCJVbiByYXBwZWwgY2hhcXVlIGpvdXIiKSsiPC9iPiIrIjxzbWFsbCBpZD1cIm50LXNcIj4iKSsob24\/VCgnQWN0aXbDqSA6IHZvdXMgcmVjZXZleiBsZSByYXBwZWwgZHUgam91ciDDoCBs4oCZb3V2ZXJ0dXJlIGRlIGzigJlhcHBsaWNhdGlvbi4nKTpUKCdSZWNldmV6IGxlIGhhZGl0aCBkdSBqb3VyIGVuIG5vdGlmaWNhdGlvbi4nKSkrJzwvc21hbGw+PC9kaXY+PGJ1dHRvbiBjbGFzcz0ic3ciIGlkPSJudC1zdyIgcm9sZT0ic3dpdGNoIiBhcmlhLWNoZWNrZWQ9Iicrb24rKCJcIiBhcmlhLWxhYmVsPVwiIitUKCJBY3RpdmVyIGxlcyByYXBwZWxzIikrIlwiPiIrIjwvYnV0dG9uPiIrIjwvZGl2PiIrIjxkaXYgY2xhc3M9XCJjaGlwc1wiIGlkPVwicm0tY1wiIHJvbGU9XCJncm91cFwiIGFyaWEtbGFiZWw9XCIiK1QoIlRow6htZSIpKyJcIj4iKStPYmplY3Qua2V5cyhDQVRTKS5tYXAoZnVuY3Rpb24oayl7cmV0dXJuICc8YnV0dG9uIGNsYXNzPSJjaGlwIiB0eXBlPSJidXR0b24iIGRhdGEtYz0iJytrKyciIGFyaWEtcHJlc3NlZD0iJysoaz09PVJDQVQpKyciPicrQ0FUU1trXSsnPC9idXR0b24+J30pLmpvaW4oJycpKygiPC9kaXY+IisiPGRpdiBjbGFzcz1cImxpc3RcIiBpZD1cInJtLWxcIiBzdHlsZT1cImdhcDoxNHB4XCI+IisiPC9kaXY+IisiPHAgY2xhc3M9XCJzdWJcIj4iK1QoIkNoYXF1ZSBoYWRpdGggZXN0IHLDqWbDqXJlbmPDqSBldCB2w6lyaWZpYWJsZSBzdXIgc3VubmFoLmNvbS4gUG91ciB1biBhdmlzIGRlIGp1cmlzY29uc3VsdGUgc3VyIHVuZSBzaXR1YXRpb24gcHLDqWNpc2UsIGNvbnN1bHRleiB1bmUgYXV0b3JpdMOpIHJlbGlnaWV1c2UgY29tcMOpdGVudGUuIikrIjwvcD4iKTsKICBmdW5jdGlvbiBkcmF3KCl7JCgnI3JtLWwnKS5pbm5lckhUTUw9SEFELmZpbHRlcihmdW5jdGlvbihoKXtyZXR1cm4gUkNBVD09PSdhbGwnfHxoLmM9PT1SQ0FUfSkubWFwKGZ1bmN0aW9uKGgpe3JldHVybiBoY2FyZChoKX0pLmpvaW4oJycpfQogIGRyYXcoKTsKICAkKCcjcm0tYycpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxmdW5jdGlvbihlKXt2YXIgYj1lLnRhcmdldC5jbG9zZXN0KCcuY2hpcCcpO2lmKCFiKXJldHVybjtSQ0FUPWIuZGF0YXNldC5jOyQkKCcjcm0tYyAuY2hpcCcpLmZvckVhY2goZnVuY3Rpb24oYyl7Yy5zZXRBdHRyaWJ1dGUoJ2FyaWEtcHJlc3NlZCcsYz09PWIpfSk7ZHJhdygpfSk7CiAgJCgnI250LXN3Jykub25jbGljaz1mdW5jdGlvbigpewogICAgdmFyIHN3PXRoaXMsbm93PXN3LmdldEF0dHJpYnV0ZSgnYXJpYS1jaGVja2VkJyk9PT0ndHJ1ZSc7CiAgICBpZihub3cpe1NULnNldCgnbm90aWYnLGZhbHNlKTtzdy5zZXRBdHRyaWJ1dGUoJ2FyaWEtY2hlY2tlZCcsJ2ZhbHNlJyk7JCgnI250LXMnKS50ZXh0Q29udGVudD1UKCdSYXBwZWxzIGTDqXNhY3RpdsOpcy4nKTtyZXR1cm59CiAgICBpZighKFQoJ05vdGlmaWNhdGlvbicpIGluIHdpbmRvdykpe3RvYXN0KFQoJ0xlcyBub3RpZmljYXRpb25zIG5lIHNvbnQgcGFzIHByaXNlcyBlbiBjaGFyZ2UgaWNpJykpO3JldHVybn0KICAgIE5vdGlmaWNhdGlvbi5yZXF1ZXN0UGVybWlzc2lvbigpLnRoZW4oZnVuY3Rpb24ocCl7aWYocD09PSdncmFudGVkJyl7U1Quc2V0KCdub3RpZicsdHJ1ZSk7c3cuc2V0QXR0cmlidXRlKCdhcmlhLWNoZWNrZWQnLCd0cnVlJyk7JCgnI250LXMnKS50ZXh0Q29udGVudD1UKCdBY3RpdsOpIDogdm91cyByZWNldmV6IGxlIHJhcHBlbCBkdSBqb3VyIMOgIGzigJlvdXZlcnR1cmUgZGUgbOKAmWFwcGxpY2F0aW9uLicpO2RhaWx5Tm90aWYodHJ1ZSl9ZWxzZSB0b2FzdChUKCdOb3RpZmljYXRpb25zIHJlZnVzw6llcyBkYW5zIGxlIG5hdmlnYXRldXInKSl9KTsKICB9Owp9CmZ1bmN0aW9uIGRhaWx5Tm90aWYoZm9yY2UpewogIGlmKCFTVC5nZXQoJ25vdGlmJyxmYWxzZSl8fCEoVCgnTm90aWZpY2F0aW9uJykgaW4gd2luZG93KXx8Tm90aWZpY2F0aW9uLnBlcm1pc3Npb24hPT0nZ3JhbnRlZCcpcmV0dXJuOwogIHZhciBrZXk9bmV3IERhdGUoKS50b0RhdGVTdHJpbmcoKTtpZighZm9yY2UmJlNULmdldCgnbGFzdG4nLCcnKT09PWtleSlyZXR1cm47U1Quc2V0KCdsYXN0bicsa2V5KTsKICB2YXIgaD1IQURbZGF5SWR4KCldO3RyeXtuZXcgTm90aWZpY2F0aW9uKFQoJ1JhcHBlbCBkdSBqb3VyIMK3IFbDqXJpZuKAmUhhbGFsIENJJykse2JvZHk6aC50LnJlcGxhY2UoL1vCq8K7XS9nLCcnKS5zbGljZSgwLDE2MCkrJyAoJytoLnIrJyknLGljb246TE9HT30pfWNhdGNoKGUpe30KfQoKLyogLS0tLS0tLS0tLSA2LiBGYXZvcmlzIC0tLS0tLS0tLS0gKi8KZnVuY3Rpb24gZmF2cygpe3JldHVybiBTVC5nZXQoJ2ZhdicsW10pfQpmdW5jdGlvbiBpc0ZhdihrKXtyZXR1cm4gZmF2cygpLmluZGV4T2Yoayk+LTF9CmZ1bmN0aW9uIGhlYXJ0QnRuKGspe3JldHVybiAnPGJ1dHRvbiBjbGFzcz0iaWIgaHJ0IiB0eXBlPSJidXR0b24iIGRhdGEtZmF2PSInK2srJyIgYXJpYS1wcmVzc2VkPSInK2lzRmF2KGspKygiXCIgYXJpYS1sYWJlbD1cIiIrVCgiRmF2b3JpIikrIlwiPiIpK2ljbygnaGVhcnQnKSsnPC9idXR0b24+J30KdmFyIEZDQVQ9J2FsbCc7CmZ1bmN0aW9uIGZhdkl0ZW0oayl7dmFyIHA9ay5zcGxpdCgnOicpO3JldHVybiB7dDpwWzBdLGE6cFsxXSxiOnBbMl19fQpmdW5jdGlvbiBmYXZDb3VudHMoKXt2YXIgYz17YWxsOjAsYTowLGQ6MCxoOjB9O2ZhdnMoKS5mb3JFYWNoKGZ1bmN0aW9uKGspe2MuYWxsKys7Y1trLmNoYXJBdCgwKV0rK30pO3JldHVybiBjfQpmdW5jdGlvbiBmYXZDaGlwcygpe3ZhciBjPWZhdkNvdW50cygpLEw9e2FsbDpUKCdUb3V0JyksYTpUKCdWZXJzZXRzJyksZDpUKCdJbnZvY2F0aW9ucycpLGg6VCgnUmFwcGVscycpfTskKCcjZnYtYycpLmlubmVySFRNTD1PYmplY3Qua2V5cyhMKS5tYXAoZnVuY3Rpb24oayl7cmV0dXJuICc8YnV0dG9uIGNsYXNzPSJjaGlwIiB0eXBlPSJidXR0b24iIGRhdGEtZj0iJytrKyciIGFyaWEtcHJlc3NlZD0iJysoaz09PUZDQVQpKyciPicrTFtrXSsnIMK3ICcrY1trXSsnPC9idXR0b24+J30pLmpvaW4oJycpfQpmdW5jdGlvbiBmYXZBeWFoSFRNTChuLGEsZCl7CiAgdmFyIGk9YS0xOwogIHJldHVybiAnPGFydGljbGUgY2xhc3M9InZzIGZ2IiBkYXRhLWZhPSInK24rJzonK2ErJyI+PGRpdiBjbGFzcz0idG9wIj48c3BhbiBjbGFzcz0ibm8iPicrKFNVUiYmU1VSW24tMV0\/ZXNjKFNVUltuLTFdLmVuZ2xpc2hOYW1lKSsnIMK3ICc6JycpK24rJzonK2ErJzwvc3Bhbj48c3BhbiBjbGFzcz0iYWN0cyI+PGJ1dHRvbiBjbGFzcz0iaWIiIHR5cGU9ImJ1dHRvbiIgZGF0YS1vcGVuPSInK24rJzonK2ErKCJcIiBhcmlhLWxhYmVsPVwiIitUKCJPdXZyaXIgZGFucyBsYSBzb3VyYXRlIikrIlwiPiIpK2ljbygnYm9vaycpKyc8L2J1dHRvbj48YnV0dG9uIGNsYXNzPSJpYiIgdHlwZT0iYnV0dG9uIiBkYXRhLWZkbD0iJytuKyc6JythKygiXCIgYXJpYS1sYWJlbD1cIiIrVCgiVMOpbMOpY2hhcmdlciBsZSB2ZXJzZXQiKSsiXCI+IikraWNvKCdkbCcpKyc8L2J1dHRvbj4nK2hlYXJ0QnRuKCdhOicrbisnOicrYSkrJzxidXR0b24gY2xhc3M9InBsIiB0eXBlPSJidXR0b24iIGRhdGEtZnBsYXk9IicrbisnOicrYSsoIlwiIGFyaWEtbGFiZWw9XCIiK1QoIsOJY291dGVyIGxlIHZlcnNldCIpKyJcIj4iKyI8c3ZnIGNsYXNzPVwicFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj4iKyI8cGF0aCBkPVwiTTggNXYxNGwxMS03elwiLz4iKyI8L3N2Zz4iKyI8c3ZnIGNsYXNzPVwic1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj4iKyI8cGF0aCBkPVwiTTcgNmg0djEySDd6TTEzIDZoNHYxMmgtNHpcIi8+IisiPC9zdmc+IisiPC9idXR0b24+IisiPC9zcGFuPiIrIjwvZGl2PiIrIjxwIGNsYXNzPVwiYVwiIGxhbmc9XCJhclwiIGRpcj1cInJ0bFwiPiIpK2VzYyhhclRleHQoZCxuLGkpKSsnPC9wPjxwIGNsYXNzPSJmIj4nK2VzYyhkLmZyW2ldKSsnPC9wPjwvYXJ0aWNsZT4nOwp9CmZ1bmN0aW9uIGRyYXdGYXYoKXsKICB2YXIgYm94PSQoJyNmdi1sJyk7aWYoIWJveClyZXR1cm47ZmF2Q2hpcHMoKTsKICB2YXIgbGlzdD1mYXZzKCkuZmlsdGVyKGZ1bmN0aW9uKGspe3JldHVybiBGQ0FUPT09J2FsbCd8fGsuY2hhckF0KDApPT09RkNBVH0pOwogIGlmKCFsaXN0Lmxlbmd0aCl7Ym94LmlubmVySFRNTD0nPGRpdiBjbGFzcz0iZW1wdHkiPjxzcGFuIGNsYXNzPSJiaWctaCI+JytpY28oJ2hlYXJ0JykrJzwvc3Bhbj48Yj4nKyhmYXZzKCkubGVuZ3RoP1QoJ1JpZW4gZGFucyBjZXR0ZSBjYXTDqWdvcmllLicpOlQoJ1BhcyBlbmNvcmUgZGUgZmF2b3JpLicpKSsoIjwvYj4iKyI8c3Bhbj4iK1QoIlRvdWNoZXogbGUgY8WTdXIgc3VyIHVuIHZlcnNldCwgdW5lIGludm9jYXRpb24gb3UgdW4gcmFwcGVsIDogaWwgYXBwYXJhw650IGljaSwgcHLDqnQgw6Agw6p0cmUgcmVsdSBlbiB1biBnZXN0ZS4iKSsiPC9zcGFuPiIrIjwvZGl2PiIpO3JldHVybn0KICBib3guaW5uZXJIVE1MPWxpc3QubWFwKGZ1bmN0aW9uKGspe3JldHVybiAnPGRpdiBjbGFzcz0iZnZpIiBkYXRhLWs9IicraysnIj48ZGl2IGNsYXNzPSJza2VsZXRvbiI+PC9kaXY+PC9kaXY+J30pLmpvaW4oJycpOwogIGxpc3QuZm9yRWFjaChmdW5jdGlvbihrKXsKICAgIHZhciBpdD1mYXZJdGVtKGspLHNsb3Q9JCgnLmZ2aVtkYXRhLWs9IicraysnIl0nLGJveCk7aWYoIXNsb3QpcmV0dXJuOwogICAgaWYoaXQudD09PSdhJylnZXRTdXJhaCgraXQuYSkudGhlbihmdW5jdGlvbihkKXtzbG90LmlubmVySFRNTD1mYXZBeWFoSFRNTCgraXQuYSwraXQuYixkKX0pLmNhdGNoKGZ1bmN0aW9uKCl7c2xvdC5pbm5lckhUTUw9KCI8ZGl2IGNsYXNzPVwiZW1wdHlcIj4iK1QoIkhvcnMgY29ubmV4aW9uIDogY2UgdmVyc2V0IHPigJlhZmZpY2hlcmEgZMOocyBxdWUgdm91cyBzZXJleiBlbiBsaWduZS4iKSsiPC9kaXY+Iil9KTsKICAgIGVsc2UgaWYoaXQudD09PSdkJyl7dmFyIHM9ZHVhU2VjKGl0LmEpLGQ9cyYmcy5pdGVtc1sraXQuYl07aWYoZCl7c2xvdC5pbm5lckhUTUw9ZHVhSFRNTChkLCtpdC5iLGl0LmEpOyQkKCcuemt3Om5vdChbaGlkZGVuXSknLHNsb3QpLmZvckVhY2goemtQYWludCl9ZWxzZSBzbG90LnJlbW92ZSgpfQogICAgZWxzZSBpZihpdC50PT09J2gnJiZIQURbK2l0LmFdKXNsb3QuaW5uZXJIVE1MPWhjYXJkKEhBRFsraXQuYV0sZmFsc2UpOwogICAgZWxzZSBzbG90LnJlbW92ZSgpOwogIH0pOwp9CmZ1bmN0aW9uIGluaXRGYXYoKXsKICB2YXIgdj0kKCcjdi1mYXYnKTsKICB2LmlubmVySFRNTD0oIjxkaXY+IisiPGgyPiIrVCgiTWVzIGZhdm9yaXMiKSsiPC9oMj4iKyI8cCBjbGFzcz1cInN1YlwiPiIrVCgiVm9zIHZlcnNldHMsIGludm9jYXRpb25zIGV0IHJhcHBlbHMgcHLDqWbDqXLDqXMsIMOgIHJlbGlyZSBlbiB1biBnZXN0ZS4iKSsiPC9wPiIrIjwvZGl2PiIrIjxkaXYgY2xhc3M9XCJjaGlwc1wiIGlkPVwiZnYtY1wiIHJvbGU9XCJncm91cFwiIGFyaWEtbGFiZWw9XCIiK1QoIlR5cGUiKSsiXCI+IisiPC9kaXY+IisiPGRpdiBjbGFzcz1cImxpc3RcIiBpZD1cImZ2LWxcIiBzdHlsZT1cImdhcDoxNHB4XCI+IisiPC9kaXY+Iik7CiAgdi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsZnVuY3Rpb24oZSl7CiAgICB2YXIgYz1lLnRhcmdldC5jbG9zZXN0KCdbZGF0YS1mXScpO2lmKGMpe0ZDQVQ9Yy5kYXRhc2V0LmY7ZHJhd0ZhdigpO3JldHVybn0KICAgIHZhciBwPWUudGFyZ2V0LmNsb3Nlc3QoJ1tkYXRhLWZwbGF5XScpO2lmKHApe3ZhciBxPXAuZGF0YXNldC5mcGxheS5zcGxpdCgnOicpO3BsYXlPbmVWZXJzZShwLCtxWzBdLCtxWzFdKTtyZXR1cm59CiAgICB2YXIgZD1lLnRhcmdldC5jbG9zZXN0KCdbZGF0YS1mZGxdJyk7aWYoZCl7dmFyIHI9ZC5kYXRhc2V0LmZkbC5zcGxpdCgnOicpO2RsQXlhaCgrclswXSwrclsxXSk7cmV0dXJufQogICAgdmFyIG89ZS50YXJnZXQuY2xvc2VzdCgnW2RhdGEtb3Blbl0nKTtpZihvKXt2YXIgdz1vLmRhdGFzZXQub3Blbi5zcGxpdCgnOicpO29wZW5TdXJhaCgrd1swXSwrd1sxXSl9CiAgfSk7Cn0KLyogY8WTdXIgOiBham91dGUgb3UgcmV0aXJlIGRlcyBmYXZvcmlzLCBwYXJ0b3V0ICovClJPT1QuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLGZ1bmN0aW9uKGUpewogIHZhciBiPWUudGFyZ2V0LmNsb3Nlc3QoJ1tkYXRhLWZhdl0nKTtpZighYilyZXR1cm47CiAgdmFyIGs9Yi5kYXRhc2V0LmZhdixmPWZhdnMoKSxpPWYuaW5kZXhPZihrKSxvbj1pPT09LTE7CiAgaWYob24pZi51bnNoaWZ0KGspO2Vsc2UgZi5zcGxpY2UoaSwxKTsKICBTVC5zZXQoJ2ZhdicsZik7CiAgJCQoJ1tkYXRhLWZhdj0iJytrKyciXScpLmZvckVhY2goZnVuY3Rpb24oeCl7eC5zZXRBdHRyaWJ1dGUoJ2FyaWEtcHJlc3NlZCcsb24pO3guY2xhc3NMaXN0LnJlbW92ZSgncG9wJyk7dm9pZCB4Lm9mZnNldFdpZHRoO2lmKG9uKXguY2xhc3NMaXN0LmFkZCgncG9wJyl9KTsKICB0cnl7aWYob24mJm5hdmlnYXRvci52aWJyYXRlKW5hdmlnYXRvci52aWJyYXRlKDE1KX1jYXRjaCh4KXt9CiAgdG9hc3Qob24\/VCgnQWpvdXTDqSBhdXggZmF2b3JpcycpOlQoJ1JldGlyw6kgZGVzIGZhdm9yaXMnKSk7CiAgdmFyIHNsb3Q9Yi5jbG9zZXN0KCcuZnZpJyk7aWYoc2xvdCYmIW9uKXtzbG90LmNsYXNzTGlzdC5hZGQoJ291dCcpO3NldFRpbWVvdXQoZnVuY3Rpb24oKXtzbG90LnJlbW92ZSgpO2lmKCQoJyN2LWZhdicpKWRyYXdGYXYoKX0sMjYwKX0KfSk7CgovKiAtLS0tLS0tLS0tIGTDqW1hcnJhZ2UgLS0tLS0tLS0tLSAqLwp2YXIgc3RhcnQ9KGxvY2F0aW9uLmhhc2h8fCcnKS5zbGljZSgxKTtpZighVEFCUy5zb21lKGZ1bmN0aW9uKHQpe3JldHVybiB0WzBdPT09c3RhcnR9KSlzdGFydD0ndmVyaWYnOwpnbyhzdGFydCk7ZGFpbHlOb3RpZihmYWxzZSk7Cn0pKCk7Cg==\";var s=new TextDecoder().decode(Uint8Array.from(atob(b),function(c){return c.charCodeAt(0)}));(0,Function)(s)()})();<\/script>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-3360","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.5 (Yoast SEO v28.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>V\u00e9rif\u2019Halal CI - Halal C\u00f4te d\u2019Ivoire<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/halalci.org\/en\/verif\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"V\u00e9rif\u2019Halal CI\" \/>\n<meta property=\"og:url\" content=\"https:\/\/halalci.org\/en\/verif\/\" \/>\n<meta property=\"og:site_name\" content=\"Halal C\u00f4te d\u2019Ivoire\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/halalci\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-05T10:58:05+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/halalci.org\/wp-content\/uploads\/2026\/10\/halal-ci-accueil-produits-certifies.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2400\" \/>\n\t<meta property=\"og:image:height\" content=\"1200\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@halalci\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/halalci.org\\\/verif\\\/\",\"url\":\"https:\\\/\\\/halalci.org\\\/verif\\\/\",\"name\":\"V\u00e9rif\u2019Halal CI - Halal C\u00f4te d\u2019Ivoire\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/halalci.org\\\/#website\"},\"datePublished\":\"2026-10-04T14:26:57+00:00\",\"dateModified\":\"2026-10-05T10:58:05+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/halalci.org\\\/verif\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/halalci.org\\\/verif\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/halalci.org\\\/verif\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/halalci.org\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"V\u00e9rif\u2019Halal CI\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/halalci.org\\\/#website\",\"url\":\"https:\\\/\\\/halalci.org\\\/\",\"name\":\"Halal C\u00f4te d\u2019Ivoire\",\"description\":\"Le plaisir de consommer licite\",\"publisher\":{\"@id\":\"https:\\\/\\\/halalci.org\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/halalci.org\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/halalci.org\\\/#organization\",\"name\":\"Halal C\u00f4te d\u2019Ivoire\",\"alternateName\":\"HALAL-CI\",\"url\":\"https:\\\/\\\/halalci.org\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/halalci.org\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/halalci.org\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/logo-halal-cote-divoire-pied-de-page.png\",\"contentUrl\":\"https:\\\/\\\/halalci.org\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/logo-halal-cote-divoire-pied-de-page.png\",\"width\":292,\"height\":320,\"caption\":\"Halal C\u00f4te d\u2019Ivoire\"},\"image\":{\"@id\":\"https:\\\/\\\/halalci.org\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/halalci\",\"https:\\\/\\\/x.com\\\/halalci\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/halal-cote-d-ivoire\\\/\",\"https:\\\/\\\/www.instagram.com\\\/halalci\\\/\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCK0HIjcaXzEW-s77yl7yGog\",\"https:\\\/\\\/www.tiktok.com\\\/@halalci\"]}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"V\u00e9rif\u2019Halal CI - Halal C\u00f4te d\u2019Ivoire","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/halalci.org\/en\/verif\/","og_locale":"en_US","og_type":"article","og_title":"V\u00e9rif\u2019Halal CI","og_url":"https:\/\/halalci.org\/en\/verif\/","og_site_name":"Halal C\u00f4te d\u2019Ivoire","article_publisher":"https:\/\/www.facebook.com\/halalci","article_modified_time":"2026-10-05T10:58:05+00:00","og_image":[{"width":2400,"height":1200,"url":"https:\/\/halalci.org\/wp-content\/uploads\/2026\/10\/halal-ci-accueil-produits-certifies.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_site":"@halalci","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/halalci.org\/verif\/","url":"https:\/\/halalci.org\/verif\/","name":"V\u00e9rif\u2019Halal CI - Halal C\u00f4te d\u2019Ivoire","isPartOf":{"@id":"https:\/\/halalci.org\/#website"},"datePublished":"2026-10-04T14:26:57+00:00","dateModified":"2026-10-05T10:58:05+00:00","breadcrumb":{"@id":"https:\/\/halalci.org\/verif\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/halalci.org\/verif\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/halalci.org\/verif\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/halalci.org\/"},{"@type":"ListItem","position":2,"name":"V\u00e9rif\u2019Halal CI"}]},{"@type":"WebSite","@id":"https:\/\/halalci.org\/#website","url":"https:\/\/halalci.org\/","name":"Halal C\u00f4te d\u2019Ivoire","description":"The pleasure of lawful consumption","publisher":{"@id":"https:\/\/halalci.org\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/halalci.org\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/halalci.org\/#organization","name":"Halal C\u00f4te d\u2019Ivoire","alternateName":"HALAL-CI","url":"https:\/\/halalci.org\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/halalci.org\/#\/schema\/logo\/image\/","url":"https:\/\/halalci.org\/wp-content\/uploads\/2026\/10\/logo-halal-cote-divoire-pied-de-page.png","contentUrl":"https:\/\/halalci.org\/wp-content\/uploads\/2026\/10\/logo-halal-cote-divoire-pied-de-page.png","width":292,"height":320,"caption":"Halal C\u00f4te d\u2019Ivoire"},"image":{"@id":"https:\/\/halalci.org\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/halalci","https:\/\/x.com\/halalci","https:\/\/www.linkedin.com\/company\/halal-cote-d-ivoire\/","https:\/\/www.instagram.com\/halalci\/","https:\/\/www.youtube.com\/channel\/UCK0HIjcaXzEW-s77yl7yGog","https:\/\/www.tiktok.com\/@halalci"]}]}},"_links":{"self":[{"href":"https:\/\/halalci.org\/en\/wp-json\/wp\/v2\/pages\/3360","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/halalci.org\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/halalci.org\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/halalci.org\/en\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/halalci.org\/en\/wp-json\/wp\/v2\/comments?post=3360"}],"version-history":[{"count":16,"href":"https:\/\/halalci.org\/en\/wp-json\/wp\/v2\/pages\/3360\/revisions"}],"predecessor-version":[{"id":3437,"href":"https:\/\/halalci.org\/en\/wp-json\/wp\/v2\/pages\/3360\/revisions\/3437"}],"wp:attachment":[{"href":"https:\/\/halalci.org\/en\/wp-json\/wp\/v2\/media?parent=3360"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}