Files
react-website/standalone.html
Mehboob Khan 63a36e0dca Initial commit: BlackDice site rebuild with integrated CMS
Rebuilds content management around a single admin route (/admin —
"BlackDice Studio"), replacing blackdice-studio.html. Publishing writes
one JSON content document instead of regenerating HTML files, so it can
no longer overwrite hand-made site changes the way the old tool did.

- /admin: click-to-edit copy/images, article CRUD with a Word-safe rich
  text editor, demo clip management, per-page SEO, enquiry log, publish
  history with rollback
- Real per-page URLs for all pages and articles, each with its own
  meta/canonical/OG/JSON-LD
- Newsroom + article pages driven by the CMS post library, seeded from
  the old studio's export (17 articles) plus a drafted GSMA Open Gateway
  press release awaiting approval
- Demo sections on Mobile SDK and Halo CPE, interactive by default and
  upgradable to an uploaded clip per slot
- Dependency-free Node API server (auth, publish, uploads, snapshots,
  leads, live sitemap)
- Deployment configs for Node/nginx/IIS, Vercel and Netlify

See docs/ARCHITECTURE.md, docs/PROJECT-STRUCTURE.md, docs/CMS-GUIDE.md
and docs/DEPLOYMENT.md.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-12 23:52:44 +05:00

29 lines
1012 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>BlackDice Cyber — Network Security at Scale</title>
<meta name="description" content="Carrier-grade cyber defence for telecoms operators and financial services. Three deployment tiers, one AI engine.">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Ubuntu:wght@300;400;500;700&family=Ubuntu+Mono:wght@400;500;700&display=swap">
<style>
html,body{margin:0}.bd-demo-root,.bd-demo-root *,.bd-demo-root *:before,.bd-demo-root *:after{box-sizing:border-box}.bd-demo-root{text-align:left;line-height:normal;margin:0;font-family:Ubuntu,-apple-system,system-ui,sans-serif}.bd-demo-root button{font-family:inherit}
:root{--bg: #013b49;--s1: #054b5b;--ax: #3bb586;--ax2: #f37d1e;--axd: rgba(59, 181, 134, .08);--axb: rgba(59, 181, 134, .2);--txt: #e8f4f3;--t2: rgba(232, 244, 243, .65);--t3: rgba(232, 244, 243, .35);--bdr: rgba(255, 255, 255, .08);--bdr2: rgba(255, 255, 255, .15);--ff: "Ubuntu", system-ui, sans-serif;--fm: "Ubuntu Mono", ui-monospace, monospace;--hex-stroke: rgba(59, 181, 134, .38);--hex-dot: rgba(59, 181, 134, .9);--bg-grad: radial-gradient( 140% 90% at 50% 0%, #075466 0%, #013b49 55%, #01303b 100% )}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{overflow-x:hidden;scroll-behavior:smooth}body{font-family:var(--ff);background:var(--bg);background-image:var(--bg-grad);color:var(--txt);-webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden}a{text-decoration:none;color:inherit}button{cursor:pointer;border:none;background:none;font-family:var(--ff)}input,textarea{font-family:var(--ff)}.pg{padding-top:64px}@keyframes bd-pulse{0%,to{opacity:1}50%{opacity:.2}}@keyframes bd-slide{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}@keyframes bd-grid{0%{background-position:0 0}to{background-position:48px 48px}}@keyframes bd-scan{0%{transform:translateY(-300%)}to{transform:translateY(500%)}}.bd-nav{position:fixed;top:0;left:0;right:0;z-index:1000;height:64px;display:flex;align-items:center;padding:0 40px;justify-content:space-between;transition:background .3s,border-color .3s;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid transparent}.bd-nav-links{display:flex;align-items:center;gap:2px}.bd-nl{font-size:13px;font-weight:500;color:var(--t2);padding:8px 11px;border-bottom:2px solid transparent;transition:all .15s;white-space:nowrap}.bd-nl:hover{color:var(--txt)}.bd-nl.on{color:var(--ax);border-bottom-color:var(--ax)}.bd-nav-cta{background:var(--ax)!important;color:#013b49!important;font-weight:700!important;font-size:13px!important;padding:8px 20px!important;border-bottom:none!important;letter-spacing:.02em}.bd-nav-cta:hover{background:#2f9a71!important}.bd-drop{position:relative}.bd-drop-menu{position:absolute;top:calc(100% + 2px);right:0;background:#02303b;border:1px solid var(--bdr2);padding:6px;min-width:185px;z-index:20;display:none}.bd-drop:hover .bd-drop-menu{display:block}.bd-di{display:block;width:100%;text-align:left;padding:9px 14px;font-size:13px;color:var(--t2);border:none;background:none;font-family:var(--ff);cursor:pointer;transition:all .15s}.bd-di:hover{color:var(--txt);background:#ffffff0d}.bd-di.on{color:var(--ax)}.bd-ham{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px}.bd-ham span{display:block;width:22px;height:2px;background:var(--txt);border-radius:2px;transition:all .2s}.bd-mob{position:fixed;top:64px;left:0;right:0;background:#013b49fa;border-top:1px solid var(--bdr);z-index:999;padding:8px 0 16px;max-height:calc(100vh - 64px);overflow-y:auto;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.bd-mob-sl{font-family:var(--fm);font-size:10px;letter-spacing:.18em;color:var(--t3);padding:14px 24px 4px;display:block;pointer-events:none}.bd-mob button{display:block;width:100%;text-align:left;padding:13px 24px;color:var(--t2);font-size:15px;font-weight:500;border:none;background:none;cursor:pointer;font-family:var(--ff)}.bd-mob button:hover{color:var(--txt)}.bd-mob-cta{text-align:center!important;padding:13px 24px!important;background:var(--ax)!important;color:#013b49!important;font-weight:700!important;font-size:14px!important;margin-top:8px!important}.bd-hero{position:relative;min-height:100vh;display:flex;align-items:center;background:var(--bg);overflow:hidden}.bd-hero-sh{position:relative;background:var(--bg);overflow:hidden;padding:80px 0 64px}.bd-hex-motif{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;opacity:.72}.bd-hero-gl{position:absolute;top:-30%;left:15%;width:800px;height:800px;background:radial-gradient(circle,rgba(59,181,134,.1) 0%,transparent 65%);pointer-events:none}.bd-hero-gr{position:absolute;bottom:-20%;right:-5%;width:500px;height:500px;background:radial-gradient(circle,rgba(243,125,30,.07) 0%,transparent 70%);pointer-events:none}.bd-hero-in{margin:0 auto;padding:64px 48px;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;position:relative;z-index:1}.bd-hero-sh .bd-hero-in{min-height:auto;padding:64px 48px 32px}.ey{font-family:var(--fm);font-size:11px;letter-spacing:.18em;color:var(--t3);text-transform:uppercase;display:block;margin-bottom:16px}.ey.ax{color:var(--ax)}.ey.lt{color:#ffffff59}.h1{font-size:clamp(44px,5vw,70px);font-weight:800;line-height:1.04;letter-spacing:-.025em;color:var(--txt)}.h1 em{color:var(--ax);font-style:italic}.h2{font-size:clamp(28px,3vw,42px);font-weight:700;line-height:1.1;letter-spacing:-.02em;color:var(--txt)}.h2 em{color:var(--ax);font-style:italic}.hero-sub{font-size:18px;color:var(--t2);line-height:1.75;margin:24px 0 40px;max-width:500px}.hero-sub strong{color:var(--txt);font-weight:500}.btn-p{display:inline-flex;align-items:center;justify-content:center;background:var(--ax);color:#013b49;font-weight:700;font-size:14px;letter-spacing:.02em;padding:0 28px;height:48px;min-width:180px;transition:background .15s;white-space:nowrap;cursor:pointer;border:none;font-family:var(--ff)}.btn-p:hover{background:#2f9a71}.btn-g{display:inline-flex;align-items:center;justify-content:center;border:1.5px solid rgba(255,255,255,.2);color:var(--t2);font-weight:600;font-size:14px;padding:0 26px;height:48px;min-width:180px;transition:all .15s;white-space:nowrap;cursor:pointer;background:none;font-family:var(--ff)}.btn-g:hover{border-color:#ffffff80;color:var(--txt)}.btn-sm{height:40px;min-width:auto;font-size:12px;padding:0 18px}.btn-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.bd-sect{padding:96px 0}.bd-sect.t{padding:72px 0}.bd-si{margin:0 auto;padding:0 48px}.sect-hd{max-width:640px;margin-bottom:52px}.sect-hd .h2{margin-bottom:14px}.sect-hd p{font-size:16px;color:var(--t2);line-height:1.75}.bd-feed{background:#ffffff08;border:1px solid var(--bdr2);overflow:hidden;position:relative}.bd-feed:after{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,transparent,var(--ax),transparent);animation:bd-scan 5s linear infinite;pointer-events:none}.feed-hd{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--bdr)}.feed-title{font-family:var(--fm);font-size:10px;letter-spacing:.16em;color:var(--t3)}.live-badge{display:flex;align-items:center;gap:6px;font-family:var(--fm);font-size:10px;color:var(--ax);letter-spacing:.1em}.live-dot{width:6px;height:6px;border-radius:50%;background:var(--ax);animation:bd-pulse 2s infinite}.feed-body .feed-row{display:flex;align-items:center;gap:12px;padding:13px 20px;border-bottom:1px solid rgba(255,255,255,.04)}.feed-body .feed-row:last-child{border-bottom:none}.feed-lbl{flex:1;font-size:13px;color:var(--t2);line-height:1.4}.feed-risk{font-family:var(--fm);font-size:11px;font-weight:600;min-width:36px;text-align:right}.feed-risk.h{color:#f87171}.feed-risk.m{color:#fbbf24}.feed-risk.l{color:var(--ax)}.feed-bdg{font-family:var(--fm);font-size:10px;letter-spacing:.06em;padding:3px 8px;border:1px solid;white-space:nowrap}.feed-bdg.blocked{color:#f87171;border-color:#f871714d;background:#f8717112}.feed-bdg.flag{color:#fbbf24;border-color:#fbbf244d;background:#fbbf2412}.feed-bdg.clear{color:var(--ax);border-color:var(--axb);background:var(--axd)}.feed-bdg.mon{color:#fbbf24;border-color:#fbbf244d;background:#fbbf2412}.bd-card{background:#ffffff08;border:1px solid var(--bdr);padding:32px;transition:border-color .2s,background .2s}.bd-card:hover{border-color:var(--axb);background:#3bb58606}.g3{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--bdr)}.g3 .bd-card{border:none;border-right:1px solid var(--bdr)}.g3 .bd-card:last-child{border-right:none}.g3 .bd-card:nth-child(n+4){border-top:1px solid var(--bdr)}.g2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.c-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:16px}.c-tag{font-family:var(--fm);font-size:10px;letter-spacing:.06em;padding:3px 8px;background:var(--axd);color:var(--ax);border:1px solid var(--axb)}.c-tag.mu{background:#ffffff0a;color:var(--t3);border-color:var(--bdr2)}.tier-list{display:flex;flex-direction:column;border:1px solid var(--bdr)}.tier-row{display:grid;grid-template-columns:196px 1fr 160px;border-bottom:1px solid var(--bdr)}.tier-row:last-child{border-bottom:none}.tier-badge{padding:32px 24px;border-right:1px solid var(--bdr)}.tier-n{font-family:var(--fm);font-size:10px;letter-spacing:.2em;color:var(--ax);margin-bottom:8px}.tier-nm{font-size:16px;font-weight:700;color:var(--txt);margin-bottom:2px}.tier-tg{font-family:var(--fm);font-size:10px;letter-spacing:.1em;color:var(--t3);margin-top:4px}.tier-body{padding:32px 36px}.tier-body h3{font-size:15px;font-weight:600;margin-bottom:8px;color:var(--txt)}.tier-body p{font-size:14px;color:var(--t2);line-height:1.7}.tier-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}.tier-tagi{font-family:var(--fm);font-size:10px;letter-spacing:.06em;padding:3px 8px;background:#ffffff0a;color:var(--t3);border:1px solid var(--bdr2)}.tier-cta{padding:32px 20px;border-left:1px solid var(--bdr);display:flex;flex-direction:column;justify-content:center;gap:10px}.stats-bar{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--bdr);background:#ffffff05}.stat-cell{padding:32px 28px;border-right:1px solid var(--bdr);position:relative;overflow:hidden}.stat-cell:after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--ax);opacity:.5}.stat-cell:last-child{border-right:none}.stat-val{font-size:48px;font-weight:800;color:var(--ax);line-height:1;letter-spacing:-.03em}.stat-val.am{color:var(--ax2)}.stat-lbl{font-size:14px;font-weight:600;color:var(--txt);margin-top:10px}.stat-desc{font-size:12px;color:var(--t3);margin-top:4px;line-height:1.5}.ctbl{width:100%;border-collapse:collapse}.ctbl th{padding:14px 18px;text-align:left;font-family:var(--fm);font-size:10px;letter-spacing:.14em;color:var(--t3);border-bottom:2px solid var(--bdr2)}.ctbl th.hl{border-bottom-color:var(--ax);color:var(--ax)}.ctbl td{padding:12px 18px;font-size:14px;border-bottom:1px solid var(--bdr);color:var(--t2);vertical-align:middle}.ctbl td.lbl{color:var(--txt);font-weight:500}.ctbl td.yes{color:var(--ax);font-weight:500}.ctbl td.no{color:#fff3}.ctbl tr:last-child td{border-bottom:none}.cta-cards{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--bdr)}.cta-card{padding:36px 28px;border-right:1px solid var(--bdr);display:flex;flex-direction:column}.cta-card:last-child{border-right:none}.cta-card h3{font-size:17px;font-weight:700;color:var(--txt);margin-bottom:10px;margin-top:8px}.cta-card>p{flex:1;font-size:14px;color:var(--t2);line-height:1.7;margin-bottom:24px}.dash-frame{background:#022938;border:1px solid var(--bdr2)}.dash-bar{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#ffffff0a;border-bottom:1px solid var(--bdr)}.dash-dots{display:flex;gap:6px}.d-dot{width:10px;height:10px;border-radius:50%}.dash-title{font-family:var(--fm);font-size:11px;letter-spacing:.1em;color:var(--t3);margin-left:6px}.dash-body{display:grid;grid-template-columns:200px 1fr 220px}.dash-side{border-right:1px solid var(--bdr);padding:16px}.dash-main{padding:16px}.dash-right{border-left:1px solid var(--bdr);padding:16px}.dash-metric{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.05)}.dash-metric:last-child{border-bottom:none}.dm-val{font-size:22px;font-weight:800;line-height:1}.dm-lbl{font-family:var(--fm);font-size:9px;letter-spacing:.12em;color:var(--t3);margin-top:2px}.dm-trend{font-family:var(--fm);font-size:10px;margin-top:2px}.ds-lbl{font-family:var(--fm);font-size:9px;letter-spacing:.14em;color:var(--t3);margin-bottom:10px}.dr-row{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.04)}.dr-row:last-child{border-bottom:none}.dr-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.dr-txt{font-size:11px;color:var(--t2);flex:1;line-height:1.3}.dr-bdg{font-family:var(--fm);font-size:9px;padding:2px 5px;border:1px solid}.trust-bar{border-top:1px solid var(--bdr);border-bottom:1px solid var(--bdr);padding:16px 48px;background:#ffffff04}.trust-in{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:40px}.trust-lbl{font-family:var(--fm);font-size:10px;letter-spacing:.16em;color:var(--t3);white-space:nowrap}.trust-items{display:flex;gap:32px;align-items:center;flex-wrap:wrap}.trust-item{font-family:var(--fm);font-size:11px;color:var(--t3);letter-spacing:.06em}.trust-item.hi{font-family:var(--ff);font-size:12px;font-weight:500;color:var(--t2);letter-spacing:.02em}.pm-strip{border-bottom:1px solid var(--bdr);padding:28px 48px;background:#ffffff05}.pm-in{max-width:1200px;margin:0 auto}.pm-row{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:14px}.pm-cell{display:flex;gap:10px}.pm-dot{width:6px;height:6px;border-radius:50%;background:var(--ax);flex-shrink:0;margin-top:7px}.pm-cell strong{display:block;font-size:14px;font-weight:600;color:var(--txt);margin-bottom:2px}.pm-cell span{font-size:13px;color:var(--t2);line-height:1.55}.aud-strip{border-bottom:1px solid var(--bdr);padding:14px 48px;display:flex;align-items:center;gap:16px;background:#ffffff05}.aud-lbl{font-family:var(--fm);font-size:10px;letter-spacing:.16em;color:var(--t3);white-space:nowrap}.aud-tags{display:flex;gap:6px;flex-wrap:wrap}.aud-tag{font-size:12px;font-weight:500;padding:4px 12px;border:1px solid var(--bdr2);color:var(--t2)}.arch-layers{border:1px solid var(--bdr)}.arch-layer{display:flex;border-bottom:1px solid var(--bdr)}.arch-layer:last-child{border-bottom:none}.arch-lbl{font-family:var(--fm);font-size:10px;letter-spacing:.18em;color:var(--ax);writing-mode:vertical-rl;transform:rotate(180deg);padding:28px 18px;border-right:1px solid var(--bdr);white-space:nowrap;flex-shrink:0}.arch-body{padding:28px 36px}.arch-body h3{font-size:16px;font-weight:600;color:var(--txt);margin-bottom:8px}.arch-body p{font-size:14px;color:var(--t2);line-height:1.7;max-width:700px}.arch-caps{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.arch-cap{font-family:var(--fm);font-size:10px;letter-spacing:.06em;padding:3px 8px;background:#ffffff0a;color:var(--t3)}.pillars{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--bdr)}.pillar{padding:40px 32px;border-right:1px solid var(--bdr)}.pillar:last-child{border-right:none}.pillar-role{font-family:var(--fm);font-size:10px;letter-spacing:.12em;color:var(--t3);margin-top:4px;margin-bottom:18px}.pillar .h2{font-size:22px;margin-bottom:10px}.feat-list{display:flex;flex-direction:column;gap:8px;margin-top:14px}.feat-it{display:flex;gap:10px;font-size:14px;color:var(--t2);line-height:1.6}.feat-dot{width:4px;height:4px;border-radius:50%;background:var(--ax);flex-shrink:0;margin-top:10px}.vs-box{background:#ffffff05;border:1px solid var(--bdr2)}.vs-hd{padding:12px 18px;border-bottom:1px solid var(--bdr);font-family:var(--fm);font-size:10px;letter-spacing:.14em;color:var(--t3)}.vs-row{display:flex;gap:10px;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.03);align-items:flex-start}.vs-row:last-child{border-bottom:none}.vs-mrk{font-family:var(--fm);font-size:10px;padding:2px 6px;font-weight:600;white-space:nowrap;margin-top:2px;flex-shrink:0}.vs-mrk.bd{background:var(--axd);color:var(--ax)}.vs-mrk.dns{background:#ffffff0d;color:var(--t3)}.vs-row p{font-size:13px;color:var(--t2);line-height:1.5}.diff-list{display:flex;flex-direction:column}.diff-it{display:flex;gap:14px;padding:20px 0;border-bottom:1px solid var(--bdr)}.diff-it:last-child{border-bottom:none}.diff-ck{width:18px;height:18px;background:var(--axd);border:1px solid var(--axb);flex-shrink:0;margin-top:2px;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--ax)}.diff-it p{font-size:14px;color:var(--t2);line-height:1.7}.diff-it strong{color:var(--txt);font-weight:600;display:block;margin-bottom:3px}.spec-tbl{display:flex;flex-direction:column}.spec-r{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--bdr)}.spec-r:last-child{border-bottom:none}.spec-r label{font-size:14px;color:var(--t3)}.spec-r span{font-size:14px;font-weight:500;color:var(--txt);text-align:right}.dep-steps{display:flex;flex-direction:column}.dep-step{display:flex;gap:18px;padding:20px 0;border-bottom:1px solid var(--bdr)}.dep-step:last-child{border-bottom:none}.dep-n{font-family:var(--fm);font-size:12px;color:var(--ax);min-width:24px;margin-top:2px;font-weight:600}.dep-step h4{font-size:15px;font-weight:600;color:var(--txt);margin-bottom:4px}.dep-step p{font-size:14px;color:var(--t2);line-height:1.6}.bd-bq{border-left:3px solid var(--ax);padding:16px 20px;background:var(--axd);font-size:15px;font-style:italic;color:var(--t2);line-height:1.7;margin-top:20px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}.two-col.c{align-items:center}.metrics-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--bdr2)}.mc{background:#ffffff0a;padding:28px;text-align:center}.mc-val{font-size:40px;font-weight:800;color:var(--txt);line-height:1;margin-bottom:6px;letter-spacing:-.02em}.mc-val.ax{color:var(--ax)}.mc-lbl{font-family:var(--fm);font-size:10px;letter-spacing:.14em;color:var(--t3)}.ops-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--bdr)}.ops-card{padding:36px 28px;border-right:1px solid var(--bdr)}.ops-card:last-child{border-right:none}.ops-ov{font-size:22px;font-weight:800;color:var(--ax);margin-top:20px}.ops-ol{font-size:12px;color:var(--t3);margin-top:2px}.sig-detail{display:flex;flex-direction:column}.sig-item{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid var(--bdr)}.sig-item:last-child{border-bottom:none}.sig-n{font-family:var(--fm);font-size:13px;color:var(--ax);min-width:24px;font-weight:600;margin-top:2px;flex-shrink:0}.sig-item h4{font-size:15px;font-weight:600;color:var(--txt);margin-bottom:4px}.sig-item p{font-size:14px;color:var(--t2);line-height:1.7}.ex-box{background:var(--axd);border-left:3px solid var(--ax);padding:20px;margin-top:20px}.ex-box label{font-family:var(--fm);font-size:10px;letter-spacing:.14em;color:var(--ax);display:block;margin-bottom:8px}.ex-box p{font-size:14px;color:var(--txt);line-height:1.7}.stat-stack{display:flex;flex-direction:column}.stat-row-v{display:flex;gap:24px;padding:24px 0;border-bottom:1px solid var(--bdr)}.stat-row-v:last-child{border-bottom:none}.sn-lg{font-size:40px;font-weight:800;color:var(--ax);line-height:1;min-width:80px}.sb h4{font-size:15px;font-weight:600;color:var(--txt);margin-bottom:4px}.sb p{font-size:14px;color:var(--t2)}.band-q{background:var(--ax);padding:32px 0}.band-q-in{max-width:1200px;margin:0 auto;padding:0 48px;display:flex;justify-content:space-between;align-items:center;gap:40px}.band-q p{font-size:15px;font-style:italic;color:#013b49;line-height:1.7;max-width:640px;font-weight:500}.band-q cite{font-family:var(--fm);font-size:10px;letter-spacing:.1em;color:#013b4999;white-space:nowrap}.cta-band{border-top:1px solid var(--bdr);border-bottom:1px solid var(--bdr);padding:80px 0;background:linear-gradient(160deg,#013b49f2,#02323ff2)}.cta-band-in{max-width:1200px;margin:0 auto;padding:0 48px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.cta-band-in p{font-size:17px;color:var(--t2);line-height:1.75;margin-bottom:28px}.bd-footer{background:#012f3bcc;border-top:1px solid var(--bdr);padding:28px 48px;display:flex;justify-content:space-between;align-items:center}.ftr-links{display:flex;gap:20px}.ftr-link{font-size:13px;color:var(--t3);transition:color .15s;border:none;background:none;cursor:pointer;font-family:var(--ff)}.ftr-link:hover{color:var(--t2)}.ftr-copy{font-family:var(--fm);font-size:11px;color:var(--t3);letter-spacing:.06em}.modal-ov{position:fixed;top:0;right:0;bottom:0;left:0;background:#0d1b24b8;z-index:2000;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.modal-box{background:#fff;padding:48px;width:calc(100% - 40px);max-width:520px;position:relative;max-height:90vh;overflow-y:auto}.modal-x{position:absolute;top:20px;right:20px;color:#5e6c75;font-size:20px;cursor:pointer;background:none;border:none;font-family:var(--ff);line-height:1}.modal-x:hover{color:#0d1b24}.modal-inp{width:100%;padding:10px 14px;border:1.5px solid #e2e0dc;background:#f6f5f2;font-family:var(--ff);font-size:14px;color:#0d1b24;outline:none;transition:border-color .15s}.modal-inp:focus{border-color:var(--ax)}.form-grp{margin-bottom:18px}.form-lbl{display:block;font-size:11px;font-weight:600;letter-spacing:.07em;color:var(--t3);margin-bottom:6px;text-transform:uppercase}.form-inp{width:100%;background:#ffffff0d;border:1px solid var(--bdr2);color:var(--txt);font-size:14px;padding:11px 14px;transition:border-color .15s;outline:none;font-family:var(--ff)}.form-inp:focus{border-color:var(--ax)}.form-row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-err{background:#f871711a;border:1px solid rgba(248,113,113,.3);color:#f87171;padding:10px 14px;font-size:13px;margin-bottom:16px}.form-sent{text-align:center;padding:20px 0}.form-sent h3{font-size:22px;color:var(--ax);margin-bottom:8px}.form-sent p{font-size:14px;color:var(--t2)}.contact-card{background:#ffffff08;border:1px solid var(--bdr);padding:40px}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.news-card{background:#ffffff08;border:1px solid var(--bdr);padding:28px}.news-card h3{font-size:17px;font-weight:600;color:var(--txt);margin:8px 0 10px}.news-card p{font-size:14px;color:var(--t2);line-height:1.7}.news-tag{font-family:var(--fm);font-size:10px;letter-spacing:.1em;padding:3px 8px}.news-tag.ins{background:var(--axd);color:var(--ax)}.news-tag.pr{background:#f37d1e1a;color:var(--ax2)}.news-tag.ev{background:#6474f31f;color:#818cf8}.inv-stat{background:var(--s1);padding:32px 24px;text-align:center;border:1px solid var(--bdr)}.inv-val{font-size:42px;font-weight:800;color:var(--ax);line-height:1;margin-bottom:8px}.inv-lbl{font-size:13px;font-weight:600;color:var(--txt);margin-bottom:6px}.inv-note{font-size:12px;color:var(--t3)}.policy-body h2{font-size:22px;font-weight:700;margin:36px 0 10px;color:var(--txt)}.policy-body h3{font-size:16px;font-weight:600;margin:24px 0 6px;color:var(--txt)}.policy-body p{font-size:15px;line-height:1.8;margin-bottom:12px;color:var(--t2)}.policy-body ul{padding-left:24px;margin-bottom:12px}.policy-body li{font-size:15px;line-height:1.8;margin-bottom:6px;color:var(--t2)}.scroll-hint{position:fixed;bottom:28px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:5px;opacity:0;pointer-events:none;transition:opacity .4s;z-index:90}.scroll-hint.vis{opacity:.6;pointer-events:auto;cursor:pointer}.scroll-hint.vis:hover{opacity:1}.sh-lbl{font-family:var(--fm);font-size:9px;letter-spacing:.18em;color:var(--txt)}@media (max-width: 960px){.bd-nav-links{display:none}.bd-ham{display:flex}.bd-nav{padding:0 20px}.bd-hero-in{grid-template-columns:1fr;gap:40px;padding:60px 20px 48px}.bd-hero{min-height:auto}.hero-sub{max-width:100%}.bd-sect{padding:64px 0}.bd-sect.t{padding:48px 0}.bd-si{padding:0 20px}.two-col,.two-col.c{grid-template-columns:1fr;gap:40px}.g3{grid-template-columns:1fr}.g3 .bd-card{border-right:none;border-bottom:1px solid var(--bdr)}.g3 .bd-card:last-child{border-bottom:none}.g2{grid-template-columns:1fr}.cta-band-in{grid-template-columns:1fr;gap:36px;padding:48px 20px}.cta-band{padding:64px 0}.stats-bar{grid-template-columns:1fr 1fr}.stat-cell:nth-child(2n){border-right:none}.stat-cell:nth-child(n+3){border-top:1px solid var(--bdr)}.pillars{grid-template-columns:1fr}.pillar{border-right:none;border-bottom:1px solid var(--bdr)}.pillar:last-child{border-bottom:none}.tier-row{grid-template-columns:1fr}.tier-badge{border-right:none;border-bottom:1px solid var(--bdr)}.tier-cta{border-left:none;border-top:1px solid var(--bdr)}.ops-grid{grid-template-columns:1fr}.ops-card{border-right:none;border-bottom:1px solid var(--bdr)}.ops-card:last-child{border-bottom:none}.cta-cards{grid-template-columns:1fr}.cta-card{border-right:none;border-bottom:1px solid var(--bdr)}.cta-card:last-child{border-bottom:none}.dash-body{grid-template-columns:1fr}.dash-side,.dash-right{display:none}.bd-footer{flex-direction:column;gap:16px;text-align:center;padding:24px 20px}.ftr-links{flex-wrap:wrap;justify-content:center}.band-q{padding:28px 0}.band-q-in{flex-direction:column;gap:16px;padding:0 20px}.pm-strip{padding:24px 20px}.pm-row{grid-template-columns:1fr;gap:12px}.aud-strip{padding:14px 20px;flex-direction:column;align-items:flex-start;gap:10px}.metrics-grid{grid-template-columns:1fr 1fr}.trust-bar{padding:16px 20px}.trust-in{flex-direction:column;align-items:flex-start;gap:14px}.trust-items{gap:16px}.news-grid{grid-template-columns:1fr}.contact-card{padding:28px 20px}.arch-layer{flex-direction:column}.arch-lbl{writing-mode:horizontal-tb;transform:none;padding:14px 20px 0;border-right:none;border-bottom:1px solid var(--bdr)}.modal-box{margin:20px;padding:28px 20px}}@media (max-width: 600px){.stats-bar{grid-template-columns:1fr}.stat-cell{border-right:none;border-bottom:1px solid var(--bdr)}.stat-cell:after{display:none}.metrics-grid,.form-row2{grid-template-columns:1fr}}.pg>section:nth-of-type(2),.pg>section:nth-of-type(4){background:#fff!important;--txt: #013b49;--t2: rgba(1, 59, 73, .65);--t3: rgba(1, 59, 73, .42);--bdr: rgba(0, 0, 0, .09);--bdr2: rgba(0, 0, 0, .14);--axd: rgba(59, 181, 134, .1);--axb: rgba(59, 181, 134, .25)}:is(.pg>section:nth-of-type(2),.pg>section:nth-of-type(4)) .bd-card{background:#f5f7ff}:is(.pg>section:nth-of-type(2),.pg>section:nth-of-type(4)) .bd-card:hover{background:#3bb58612}:is(.pg>section:nth-of-type(2),.pg>section:nth-of-type(4)) .mc{background:#f5f7ff}:is(.pg>section:nth-of-type(2),.pg>section:nth-of-type(4)) .mc-val{color:#013b49}:is(.pg>section:nth-of-type(2),.pg>section:nth-of-type(4)) .mc-val.ax{color:var(--ax)}:is(.pg>section:nth-of-type(2),.pg>section:nth-of-type(4)) .stats-bar{background:#f5f7ff}:is(.pg>section:nth-of-type(2),.pg>section:nth-of-type(4)) .stat-lbl{color:#013b49}:is(.pg>section:nth-of-type(2),.pg>section:nth-of-type(4)) .stat-desc{color:#013b4973}:is(.pg>section:nth-of-type(2),.pg>section:nth-of-type(4)) .bd-feed{background:#f5f7ff;border-color:#0000001a}:is(.pg>section:nth-of-type(2),.pg>section:nth-of-type(4)) .feed-hd{border-color:#00000014}:is(.pg>section:nth-of-type(2),.pg>section:nth-of-type(4)) .feed-row{border-color:#0000000d}:is(.pg>section:nth-of-type(2),.pg>section:nth-of-type(4)) .dash-frame{background:#ecf0ff;border-color:#0000001a}:is(.pg>section:nth-of-type(2),.pg>section:nth-of-type(4)) .dash-bar{background:#0000000a;border-color:#00000014}:is(.pg>section:nth-of-type(2),.pg>section:nth-of-type(4)) .arch-cap{background:#0000000d;color:#013b4973}:is(.pg>section:nth-of-type(2),.pg>section:nth-of-type(4)) .tier-tagi{background:#0000000d;color:#013b4973;border-color:#0000001f}:is(.pg>section:nth-of-type(2),.pg>section:nth-of-type(4)) .c-tag.mu{background:#0000000d;color:#013b4973;border-color:#0000001f}:is(.pg>section:nth-of-type(2),.pg>section:nth-of-type(4)) .vs-box{background:#f5f7ff;border-color:#0000001a}:is(.pg>section:nth-of-type(2),.pg>section:nth-of-type(4)) .vs-mrk.dns{background:#0000000f}:is(.pg>section:nth-of-type(2),.pg>section:nth-of-type(4)) .diff-ck{background:#3bb5861a;border-color:#3bb58640}:is(.pg>section:nth-of-type(2),.pg>section:nth-of-type(4)) .inv-stat{background:#f5f7ff;border-color:#00000017}:is(.pg>section:nth-of-type(2),.pg>section:nth-of-type(4)) .inv-lbl{color:#013b49}:is(.pg>section:nth-of-type(2),.pg>section:nth-of-type(4)) .news-card{background:#f5f7ff}:is(.pg>section:nth-of-type(2),.pg>section:nth-of-type(4)) .contact-card{background:#f5f7ff;border-color:#00000017}:is(.pg>section:nth-of-type(2),.pg>section:nth-of-type(4)) .form-inp{background:#0000000d;color:#013b49;border-color:#00000024}:is(.pg>section:nth-of-type(2),.pg>section:nth-of-type(4)) .form-lbl{color:#013b4980}:is(.pg>section:nth-of-type(2),.pg>section:nth-of-type(4)) .form-inp:focus{border-color:var(--ax)}:is(.pg>section:nth-of-type(2),.pg>section:nth-of-type(4)) .btn-g{border-color:#0003;color:#013b49a6}:is(.pg>section:nth-of-type(2),.pg>section:nth-of-type(4)) .btn-g:hover{border-color:#00000080;color:#013b49}:is(.pg>section:nth-of-type(2),.pg>section:nth-of-type(4)) .bd-bq{background:#3bb58614}:is(.pg>section:nth-of-type(2),.pg>section:nth-of-type(4)) .ex-box{background:#3bb58614}:is(.pg>section:nth-of-type(2),.pg>section:nth-of-type(4)) .pillar-role{color:#013b4959}:is(.pg>section:nth-of-type(2),.pg>section:nth-of-type(4)) .ops-ov{color:var(--ax)}:is(.pg>section:nth-of-type(2),.pg>section:nth-of-type(4)) .spec-r label{color:#013b4966}:is(.pg>section:nth-of-type(2),.pg>section:nth-of-type(4)) .spec-r span{color:#013b49}:is(.pg>section:nth-of-type(2),.pg>section:nth-of-type(4)) .tier-nm{color:#013b49}:is(.pg>section:nth-of-type(2),.pg>section:nth-of-type(4)) .dep-step h4{color:#013b49}:is(.pg>section:nth-of-type(2),.pg>section:nth-of-type(4)) .sig-item h4{color:#013b49}:is(.pg>section:nth-of-type(2),.pg>section:nth-of-type(4)) .sb h4{color:#013b49}:is(.pg>section:nth-of-type(2),.pg>section:nth-of-type(4)) .diff-it strong{color:#013b49}:is(.pg>section:nth-of-type(2),.pg>section:nth-of-type(4)) .arch-body h3{color:#013b49}:is(.pg>section:nth-of-type(2),.pg>section:nth-of-type(4)) .news-card h3{color:#013b49}:is(.pg>section:nth-of-type(2),.pg>section:nth-of-type(4)) .ops-card h3{color:#013b49}:is(.pg>section:nth-of-type(2),.pg>section:nth-of-type(4)) .cta-card h3{color:#013b49}
</style>
<script type="importmap">
{"imports":{"virtual:DemoScreen-DDiarcNH.js":"data:text/javascript;base64,aW1wb3J0e3IgYXMgeCxqIGFzIHMsYiBhcyBUcixSIGFzIFByfWZyb20idmlydHVhbDppbmRleC1xbjBGY0JDdy5qcyI7Y29uc3QgdWk9eC5jcmVhdGVDb250ZXh0KHt9KTtmdW5jdGlvbiBoaShlKXtjb25zdCB0PXgudXNlUmVmKG51bGwpO3JldHVybiB0LmN1cnJlbnQ9PT1udWxsJiYodC5jdXJyZW50PWUoKSksdC5jdXJyZW50fWNvbnN0IEF0PXguY3JlYXRlQ29udGV4dChudWxsKSxmaT14LmNyZWF0ZUNvbnRleHQoe3RyYW5zZm9ybVBhZ2VQb2ludDplPT5lLGlzU3RhdGljOiExLHJlZHVjZWRNb3Rpb246Im5ldmVyIn0pO2NsYXNzIEFyIGV4dGVuZHMgeC5Db21wb25lbnR7Z2V0U25hcHNob3RCZWZvcmVVcGRhdGUodCl7Y29uc3QgaT10aGlzLnByb3BzLmNoaWxkUmVmLmN1cnJlbnQ7aWYoaSYmdC5pc1ByZXNlbnQmJiF0aGlzLnByb3BzLmlzUHJlc2VudCl7Y29uc3Qgbj10aGlzLnByb3BzLnNpemVSZWYuY3VycmVudDtuLmhlaWdodD1pLm9mZnNldEhlaWdodHx8MCxuLndpZHRoPWkub2Zmc2V0V2lkdGh8fDAsbi50b3A9aS5vZmZzZXRUb3Asbi5sZWZ0PWkub2Zmc2V0TGVmdH1yZXR1cm4gbnVsbH1jb21wb25lbnREaWRVcGRhdGUoKXt9cmVuZGVyKCl7cmV0dXJuIHRoaXMucHJvcHMuY2hpbGRyZW59fWZ1bmN0aW9uIGtyKHtjaGlsZHJlbjplLGlzUHJlc2VudDp0fSl7Y29uc3QgaT14LnVzZUlkKCksbj14LnVzZVJlZihudWxsKSxvPXgudXNlUmVmKHt3aWR0aDowLGhlaWdodDowLHRvcDowLGxlZnQ6MH0pLHtub25jZTpsfT14LnVzZUNvbnRleHQoZmkpO3JldHVybiB4LnVzZUluc2VydGlvbkVmZmVjdCgoKT0+e2NvbnN0e3dpZHRoOnIsaGVpZ2h0OmMsdG9wOmQsbGVmdDp1fT1vLmN1cnJlbnQ7aWYodHx8IW4uY3VycmVudHx8IXJ8fCFjKXJldHVybjtuLmN1cnJlbnQuZGF0YXNldC5tb3Rpb25Qb3BJZD1pO2NvbnN0IGg9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTtyZXR1cm4gbCYmKGgubm9uY2U9bCksZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChoKSxoLnNoZWV0JiZoLnNoZWV0Lmluc2VydFJ1bGUoYAogICAgICAgICAgW2RhdGEtbW90aW9uLXBvcC1pZD0iJHtpfSJdIHsKICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7CiAgICAgICAgICAgIHdpZHRoOiAke3J9cHggIWltcG9ydGFudDsKICAgICAgICAgICAgaGVpZ2h0OiAke2N9cHggIWltcG9ydGFudDsKICAgICAgICAgICAgdG9wOiAke2R9cHggIWltcG9ydGFudDsKICAgICAgICAgICAgbGVmdDogJHt1fXB4ICFpbXBvcnRhbnQ7CiAgICAgICAgICB9CiAgICAgICAgYCksKCk9Pntkb2N1bWVudC5oZWFkLnJlbW92ZUNoaWxkKGgpfX0sW3RdKSxzLmpzeChBcix7aXNQcmVzZW50OnQsY2hpbGRSZWY6bixzaXplUmVmOm8sY2hpbGRyZW46eC5jbG9uZUVsZW1lbnQoZSx7cmVmOm59KX0pfWNvbnN0IENyPSh7Y2hpbGRyZW46ZSxpbml0aWFsOnQsaXNQcmVzZW50Omksb25FeGl0Q29tcGxldGU6bixjdXN0b206byxwcmVzZW5jZUFmZmVjdHNMYXlvdXQ6bCxtb2RlOnJ9KT0+e2NvbnN0IGM9aGkoTXIpLGQ9eC51c2VJZCgpLHU9eC51c2VDYWxsYmFjayhmPT57Yy5zZXQoZiwhMCk7Zm9yKGNvbnN0IHAgb2YgYy52YWx1ZXMoKSlpZighcClyZXR1cm47biYmbigpfSxbYyxuXSksaD14LnVzZU1lbW8oKCk9Pih7aWQ6ZCxpbml0aWFsOnQsaXNQcmVzZW50OmksY3VzdG9tOm8sb25FeGl0Q29tcGxldGU6dSxyZWdpc3RlcjpmPT4oYy5zZXQoZiwhMSksKCk9PmMuZGVsZXRlKGYpKX0pLGw/W01hdGgucmFuZG9tKCksdV06W2ksdV0pO3JldHVybiB4LnVzZU1lbW8oKCk9PntjLmZvckVhY2goKGYscCk9PmMuc2V0KHAsITEpKX0sW2ldKSx4LnVzZUVmZmVjdCgoKT0+eyFpJiYhYy5zaXplJiZuJiZuKCl9LFtpXSkscj09PSJwb3BMYXlvdXQiJiYoZT1zLmpzeChrcix7aXNQcmVzZW50OmksY2hpbGRyZW46ZX0pKSxzLmpzeChBdC5Qcm92aWRlcix7dmFsdWU6aCxjaGlsZHJlbjplfSl9O2Z1bmN0aW9uIE1yKCl7cmV0dXJuIG5ldyBNYXB9ZnVuY3Rpb24gVHMoZT0hMCl7Y29uc3QgdD14LnVzZUNvbnRleHQoQXQpO2lmKHQ9PT1udWxsKXJldHVyblshMCxudWxsXTtjb25zdHtpc1ByZXNlbnQ6aSxvbkV4aXRDb21wbGV0ZTpuLHJlZ2lzdGVyOm99PXQsbD14LnVzZUlkKCk7eC51c2VFZmZlY3QoKCk9PntlJiZvKGwpfSxbZV0pO2NvbnN0IHI9eC51c2VDYWxsYmFjaygoKT0+ZSYmbiYmbihsKSxbbCxuLGVdKTtyZXR1cm4haSYmbj9bITEscl06WyEwXX1jb25zdCB1dD1lPT5lLmtleXx8IiI7ZnVuY3Rpb24gcm4oZSl7Y29uc3QgdD1bXTtyZXR1cm4geC5DaGlsZHJlbi5mb3JFYWNoKGUsaT0+e3guaXNWYWxpZEVsZW1lbnQoaSkmJnQucHVzaChpKX0pLHR9Y29uc3QgcGk9dHlwZW9mIHdpbmRvdzwidSIsUHM9cGk/eC51c2VMYXlvdXRFZmZlY3Q6eC51c2VFZmZlY3QsYmU9KHtjaGlsZHJlbjplLGN1c3RvbTp0LGluaXRpYWw6aT0hMCxvbkV4aXRDb21wbGV0ZTpuLHByZXNlbmNlQWZmZWN0c0xheW91dDpvPSEwLG1vZGU6bD0ic3luYyIscHJvcGFnYXRlOnI9ITF9KT0+e2NvbnN0W2MsZF09VHMociksdT14LnVzZU1lbW8oKCk9PnJuKGUpLFtlXSksaD1yJiYhYz9bXTp1Lm1hcCh1dCksZj14LnVzZVJlZighMCkscD14LnVzZVJlZih1KSxtPWhpKCgpPT5uZXcgTWFwKSxbZyx2XT14LnVzZVN0YXRlKHUpLFtTLGJdPXgudXNlU3RhdGUodSk7UHMoKCk9PntmLmN1cnJlbnQ9ITEscC5jdXJyZW50PXU7Zm9yKGxldCBQPTA7UDxTLmxlbmd0aDtQKyspe2NvbnN0IGo9dXQoU1tQXSk7aC5pbmNsdWRlcyhqKT9tLmRlbGV0ZShqKTptLmdldChqKSE9PSEwJiZtLnNldChqLCExKX19LFtTLGgubGVuZ3RoLGguam9pbigiLSIpXSk7Y29uc3Qgdz1bXTtpZih1IT09Zyl7bGV0IFA9Wy4uLnVdO2ZvcihsZXQgaj0wO2o8Uy5sZW5ndGg7aisrKXtjb25zdCBBPVNbal0sRT11dChBKTtoLmluY2x1ZGVzKEUpfHwoUC5zcGxpY2UoaiwwLEEpLHcucHVzaChBKSl9bD09PSJ3YWl0IiYmdy5sZW5ndGgmJihQPXcpLGIocm4oUCkpLHYodSk7cmV0dXJufWNvbnN0e2ZvcmNlUmVuZGVyOlR9PXgudXNlQ29udGV4dCh1aSk7cmV0dXJuIHMuanN4KHMuRnJhZ21lbnQse2NoaWxkcmVuOlMubWFwKFA9Pntjb25zdCBqPXV0KFApLEE9ciYmIWM/ITE6dT09PVN8fGguaW5jbHVkZXMoaiksRT0oKT0+e2lmKG0uaGFzKGopKW0uc2V0KGosITApO2Vsc2UgcmV0dXJuO2xldCBrPSEwO20uZm9yRWFjaChEPT57RHx8KGs9ITEpfSksayYmKFQ9PW51bGx8fFQoKSxiKHAuY3VycmVudCksciYmKGQ9PW51bGx8fGQoKSksbiYmbigpKX07cmV0dXJuIHMuanN4KENyLHtpc1ByZXNlbnQ6QSxpbml0aWFsOiFmLmN1cnJlbnR8fGk/dm9pZCAwOiExLGN1c3RvbTpBP3ZvaWQgMDp0LHByZXNlbmNlQWZmZWN0c0xheW91dDpvLG1vZGU6bCxvbkV4aXRDb21wbGV0ZTpBP3ZvaWQgMDpFLGNoaWxkcmVuOlB9LGopfSl9KX0sWD1lPT5lO2xldCBBcz1YO2Z1bmN0aW9uIG1pKGUpe2xldCB0O3JldHVybigpPT4odD09PXZvaWQgMCYmKHQ9ZSgpKSx0KX1jb25zdCBqZT0oZSx0LGkpPT57Y29uc3Qgbj10LWU7cmV0dXJuIG49PT0wPzE6KGktZSkvbn0sbmU9ZT0+ZSoxZTMsc2U9ZT0+ZS8xZTMsRHI9e3VzZU1hbnVhbFRpbWluZzohMX07ZnVuY3Rpb24gSXIoZSl7bGV0IHQ9bmV3IFNldCxpPW5ldyBTZXQsbj0hMSxvPSExO2NvbnN0IGw9bmV3IFdlYWtTZXQ7bGV0IHI9e2RlbHRhOjAsdGltZXN0YW1wOjAsaXNQcm9jZXNzaW5nOiExfTtmdW5jdGlvbiBjKHUpe2wuaGFzKHUpJiYoZC5zY2hlZHVsZSh1KSxlKCkpLHUocil9Y29uc3QgZD17c2NoZWR1bGU6KHUsaD0hMSxmPSExKT0+e2NvbnN0IG09ZiYmbj90Omk7cmV0dXJuIGgmJmwuYWRkKHUpLG0uaGFzKHUpfHxtLmFkZCh1KSx1fSxjYW5jZWw6dT0+e2kuZGVsZXRlKHUpLGwuZGVsZXRlKHUpfSxwcm9jZXNzOnU9PntpZihyPXUsbil7bz0hMDtyZXR1cm59bj0hMCxbdCxpXT1baSx0XSx0LmZvckVhY2goYyksdC5jbGVhcigpLG49ITEsbyYmKG89ITEsZC5wcm9jZXNzKHUpKX19O3JldHVybiBkfWNvbnN0IGh0PVsicmVhZCIsInJlc29sdmVLZXlmcmFtZXMiLCJ1cGRhdGUiLCJwcmVSZW5kZXIiLCJyZW5kZXIiLCJwb3N0UmVuZGVyIl0sUnI9NDA7ZnVuY3Rpb24ga3MoZSx0KXtsZXQgaT0hMSxuPSEwO2NvbnN0IG89e2RlbHRhOjAsdGltZXN0YW1wOjAsaXNQcm9jZXNzaW5nOiExfSxsPSgpPT5pPSEwLHI9aHQucmVkdWNlKChiLHcpPT4oYlt3XT1JcihsKSxiKSx7fSkse3JlYWQ6YyxyZXNvbHZlS2V5ZnJhbWVzOmQsdXBkYXRlOnUscHJlUmVuZGVyOmgscmVuZGVyOmYscG9zdFJlbmRlcjpwfT1yLG09KCk9Pntjb25zdCBiPXBlcmZvcm1hbmNlLm5vdygpO2k9ITEsby5kZWx0YT1uPzFlMy82MDpNYXRoLm1heChNYXRoLm1pbihiLW8udGltZXN0YW1wLFJyKSwxKSxvLnRpbWVzdGFtcD1iLG8uaXNQcm9jZXNzaW5nPSEwLGMucHJvY2VzcyhvKSxkLnByb2Nlc3MobyksdS5wcm9jZXNzKG8pLGgucHJvY2VzcyhvKSxmLnByb2Nlc3MobykscC5wcm9jZXNzKG8pLG8uaXNQcm9jZXNzaW5nPSExLGkmJnQmJihuPSExLGUobSkpfSxnPSgpPT57aT0hMCxuPSEwLG8uaXNQcm9jZXNzaW5nfHxlKG0pfTtyZXR1cm57c2NoZWR1bGU6aHQucmVkdWNlKChiLHcpPT57Y29uc3QgVD1yW3ddO3JldHVybiBiW3ddPShQLGo9ITEsQT0hMSk9PihpfHxnKCksVC5zY2hlZHVsZShQLGosQSkpLGJ9LHt9KSxjYW5jZWw6Yj0+e2ZvcihsZXQgdz0wO3c8aHQubGVuZ3RoO3crKylyW2h0W3ddXS5jYW5jZWwoYil9LHN0YXRlOm8sc3RlcHM6cn19Y29uc3R7c2NoZWR1bGU6eixjYW5jZWw6dWUsc3RhdGU6JCxzdGVwczp6dH09a3ModHlwZW9mIHJlcXVlc3RBbmltYXRpb25GcmFtZTwidSI/cmVxdWVzdEFuaW1hdGlvbkZyYW1lOlgsITApLENzPXguY3JlYXRlQ29udGV4dCh7c3RyaWN0OiExfSksYW49e2FuaW1hdGlvbjpbImFuaW1hdGUiLCJ2YXJpYW50cyIsIndoaWxlSG92ZXIiLCJ3aGlsZVRhcCIsImV4aXQiLCJ3aGlsZUluVmlldyIsIndoaWxlRm9jdXMiLCJ3aGlsZURyYWciXSxleGl0OlsiZXhpdCJdLGRyYWc6WyJkcmFnIiwiZHJhZ0NvbnRyb2xzIl0sZm9jdXM6WyJ3aGlsZUZvY3VzIl0saG92ZXI6WyJ3aGlsZUhvdmVyIiwib25Ib3ZlclN0YXJ0Iiwib25Ib3ZlckVuZCJdLHRhcDpbIndoaWxlVGFwIiwib25UYXAiLCJvblRhcFN0YXJ0Iiwib25UYXBDYW5jZWwiXSxwYW46WyJvblBhbiIsIm9uUGFuU3RhcnQiLCJvblBhblNlc3Npb25TdGFydCIsIm9uUGFuRW5kIl0saW5WaWV3Olsid2hpbGVJblZpZXciLCJvblZpZXdwb3J0RW50ZXIiLCJvblZpZXdwb3J0TGVhdmUiXSxsYXlvdXQ6WyJsYXlvdXQiLCJsYXlvdXRJZCJdfSxSZT17fTtmb3IoY29uc3QgZSBpbiBhbilSZVtlXT17aXNFbmFibGVkOnQ9PmFuW2VdLnNvbWUoaT0+ISF0W2ldKX07ZnVuY3Rpb24gVnIoZSl7Zm9yKGNvbnN0IHQgaW4gZSlSZVt0XT17Li4uUmVbdF0sLi4uZVt0XX19Y29uc3QgRXI9bmV3IFNldChbImFuaW1hdGUiLCJleGl0IiwidmFyaWFudHMiLCJpbml0aWFsIiwic3R5bGUiLCJ2YWx1ZXMiLCJ2YXJpYW50cyIsInRyYW5zaXRpb24iLCJ0cmFuc2Zvcm1UZW1wbGF0ZSIsImN1c3RvbSIsImluaGVyaXQiLCJvbkJlZm9yZUxheW91dE1lYXN1cmUiLCJvbkFuaW1hdGlvblN0YXJ0Iiwib25BbmltYXRpb25Db21wbGV0ZSIsIm9uVXBkYXRlIiwib25EcmFnU3RhcnQiLCJvbkRyYWciLCJvbkRyYWdFbmQiLCJvbk1lYXN1cmVEcmFnQ29uc3RyYWludHMiLCJvbkRpcmVjdGlvbkxvY2siLCJvbkRyYWdUcmFuc2l0aW9uRW5kIiwiX2RyYWdYIiwiX2RyYWdZIiwib25Ib3ZlclN0YXJ0Iiwib25Ib3ZlckVuZCIsIm9uVmlld3BvcnRFbnRlciIsIm9uVmlld3BvcnRMZWF2ZSIsImdsb2JhbFRhcFRhcmdldCIsImlnbm9yZVN0cmljdCIsInZpZXdwb3J0Il0pO2Z1bmN0aW9uIHh0KGUpe3JldHVybiBlLnN0YXJ0c1dpdGgoIndoaWxlIil8fGUuc3RhcnRzV2l0aCgiZHJhZyIpJiZlIT09ImRyYWdnYWJsZSJ8fGUuc3RhcnRzV2l0aCgibGF5b3V0Iil8fGUuc3RhcnRzV2l0aCgib25UYXAiKXx8ZS5zdGFydHNXaXRoKCJvblBhbiIpfHxlLnN0YXJ0c1dpdGgoIm9uTGF5b3V0Iil8fEVyLmhhcyhlKX1sZXQgTXM9ZT0+IXh0KGUpO2Z1bmN0aW9uIHpyKGUpe2UmJihNcz10PT50LnN0YXJ0c1dpdGgoIm9uIik/IXh0KHQpOmUodCkpfXRyeXt6cihyZXF1aXJlKCJAZW1vdGlvbi9pcy1wcm9wLXZhbGlkIikuZGVmYXVsdCl9Y2F0Y2h7fWZ1bmN0aW9uIExyKGUsdCxpKXtjb25zdCBuPXt9O2Zvcihjb25zdCBvIGluIGUpbz09PSJ2YWx1ZXMiJiZ0eXBlb2YgZS52YWx1ZXM9PSJvYmplY3QifHwoTXMobyl8fGk9PT0hMCYmeHQobyl8fCF0JiYheHQobyl8fGUuZHJhZ2dhYmxlJiZvLnN0YXJ0c1dpdGgoIm9uRHJhZyIpKSYmKG5bb109ZVtvXSk7cmV0dXJuIG59ZnVuY3Rpb24gQnIoZSl7aWYodHlwZW9mIFByb3h5PiJ1IilyZXR1cm4gZTtjb25zdCB0PW5ldyBNYXAsaT0oLi4ubik9PmUoLi4ubik7cmV0dXJuIG5ldyBQcm94eShpLHtnZXQ6KG4sbyk9Pm89PT0iY3JlYXRlIj9lOih0LmhhcyhvKXx8dC5zZXQobyxlKG8pKSx0LmdldChvKSl9KX1jb25zdCBrdD14LmNyZWF0ZUNvbnRleHQoe30pO2Z1bmN0aW9uIEplKGUpe3JldHVybiB0eXBlb2YgZT09InN0cmluZyJ8fEFycmF5LmlzQXJyYXkoZSl9ZnVuY3Rpb24gQ3QoZSl7cmV0dXJuIGUhPT1udWxsJiZ0eXBlb2YgZT09Im9iamVjdCImJnR5cGVvZiBlLnN0YXJ0PT0iZnVuY3Rpb24ifWNvbnN0IGdpPVsiYW5pbWF0ZSIsIndoaWxlSW5WaWV3Iiwid2hpbGVGb2N1cyIsIndoaWxlSG92ZXIiLCJ3aGlsZVRhcCIsIndoaWxlRHJhZyIsImV4aXQiXSx5aT1bImluaXRpYWwiLC4uLmdpXTtmdW5jdGlvbiBNdChlKXtyZXR1cm4gQ3QoZS5hbmltYXRlKXx8eWkuc29tZSh0PT5KZShlW3RdKSl9ZnVuY3Rpb24gRHMoZSl7cmV0dXJuISEoTXQoZSl8fGUudmFyaWFudHMpfWZ1bmN0aW9uIEZyKGUsdCl7aWYoTXQoZSkpe2NvbnN0e2luaXRpYWw6aSxhbmltYXRlOm59PWU7cmV0dXJue2luaXRpYWw6aT09PSExfHxKZShpKT9pOnZvaWQgMCxhbmltYXRlOkplKG4pP246dm9pZCAwfX1yZXR1cm4gZS5pbmhlcml0IT09ITE/dDp7fX1mdW5jdGlvbiBXcihlKXtjb25zdHtpbml0aWFsOnQsYW5pbWF0ZTppfT1GcihlLHgudXNlQ29udGV4dChrdCkpO3JldHVybiB4LnVzZU1lbW8oKCk9Pih7aW5pdGlhbDp0LGFuaW1hdGU6aX0pLFtsbih0KSxsbihpKV0pfWZ1bmN0aW9uIGxuKGUpe3JldHVybiBBcnJheS5pc0FycmF5KGUpP2Uuam9pbigiICIpOmV9Y29uc3QgT3I9U3ltYm9sLmZvcigibW90aW9uQ29tcG9uZW50U3ltYm9sIik7ZnVuY3Rpb24ga2UoZSl7cmV0dXJuIGUmJnR5cGVvZiBlPT0ib2JqZWN0IiYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsImN1cnJlbnQiKX1mdW5jdGlvbiBOcihlLHQsaSl7cmV0dXJuIHgudXNlQ2FsbGJhY2sobj0+e24mJmUub25Nb3VudCYmZS5vbk1vdW50KG4pLHQmJihuP3QubW91bnQobik6dC51bm1vdW50KCkpLGkmJih0eXBlb2YgaT09ImZ1bmN0aW9uIj9pKG4pOmtlKGkpJiYoaS5jdXJyZW50PW4pKX0sW3RdKX1jb25zdCB4aT1lPT5lLnJlcGxhY2UoLyhbYS16XSkoW0EtWl0pL2d1LCIkMS0kMiIpLnRvTG93ZXJDYXNlKCksVXI9ImZyYW1lckFwcGVhcklkIixJcz0iZGF0YS0iK3hpKFVyKSx7c2NoZWR1bGU6dml9PWtzKHF1ZXVlTWljcm90YXNrLCExKSxScz14LmNyZWF0ZUNvbnRleHQoe30pO2Z1bmN0aW9uICRyKGUsdCxpLG4sbyl7dmFyIGwscjtjb25zdHt2aXN1YWxFbGVtZW50OmN9PXgudXNlQ29udGV4dChrdCksZD14LnVzZUNvbnRleHQoQ3MpLHU9eC51c2VDb250ZXh0KEF0KSxoPXgudXNlQ29udGV4dChmaSkucmVkdWNlZE1vdGlvbixmPXgudXNlUmVmKG51bGwpO249bnx8ZC5yZW5kZXJlciwhZi5jdXJyZW50JiZuJiYoZi5jdXJyZW50PW4oZSx7dmlzdWFsU3RhdGU6dCxwYXJlbnQ6Yyxwcm9wczppLHByZXNlbmNlQ29udGV4dDp1LGJsb2NrSW5pdGlhbEFuaW1hdGlvbjp1P3UuaW5pdGlhbD09PSExOiExLHJlZHVjZWRNb3Rpb25Db25maWc6aH0pKTtjb25zdCBwPWYuY3VycmVudCxtPXgudXNlQ29udGV4dChScyk7cCYmIXAucHJvamVjdGlvbiYmbyYmKHAudHlwZT09PSJodG1sInx8cC50eXBlPT09InN2ZyIpJiZfcihmLmN1cnJlbnQsaSxvLG0pO2NvbnN0IGc9eC51c2VSZWYoITEpO3gudXNlSW5zZXJ0aW9uRWZmZWN0KCgpPT57cCYmZy5jdXJyZW50JiZwLnVwZGF0ZShpLHUpfSk7Y29uc3Qgdj1pW0lzXSxTPXgudXNlUmVmKCEhdiYmISghKChsPXdpbmRvdy5Nb3Rpb25IYW5kb2ZmSXNDb21wbGV0ZSk9PT1udWxsfHxsPT09dm9pZCAwKSYmbC5jYWxsKHdpbmRvdyx2KSkmJigocj13aW5kb3cuTW90aW9uSGFzT3B0aW1pc2VkQW5pbWF0aW9uKT09PW51bGx8fHI9PT12b2lkIDA/dm9pZCAwOnIuY2FsbCh3aW5kb3csdikpKTtyZXR1cm4gUHMoKCk9PntwJiYoZy5jdXJyZW50PSEwLHdpbmRvdy5Nb3Rpb25Jc01vdW50ZWQ9ITAscC51cGRhdGVGZWF0dXJlcygpLHZpLnJlbmRlcihwLnJlbmRlciksUy5jdXJyZW50JiZwLmFuaW1hdGlvblN0YXRlJiZwLmFuaW1hdGlvblN0YXRlLmFuaW1hdGVDaGFuZ2VzKCkpfSkseC51c2VFZmZlY3QoKCk9PntwJiYoIVMuY3VycmVudCYmcC5hbmltYXRpb25TdGF0ZSYmcC5hbmltYXRpb25TdGF0ZS5hbmltYXRlQ2hhbmdlcygpLFMuY3VycmVudCYmKHF1ZXVlTWljcm90YXNrKCgpPT57dmFyIGI7KGI9d2luZG93Lk1vdGlvbkhhbmRvZmZNYXJrQXNDb21wbGV0ZSk9PT1udWxsfHxiPT09dm9pZCAwfHxiLmNhbGwod2luZG93LHYpfSksUy5jdXJyZW50PSExKSl9KSxwfWZ1bmN0aW9uIF9yKGUsdCxpLG4pe2NvbnN0e2xheW91dElkOm8sbGF5b3V0OmwsZHJhZzpyLGRyYWdDb25zdHJhaW50czpjLGxheW91dFNjcm9sbDpkLGxheW91dFJvb3Q6dX09dDtlLnByb2plY3Rpb249bmV3IGkoZS5sYXRlc3RWYWx1ZXMsdFsiZGF0YS1mcmFtZXItcG9ydGFsLWlkIl0/dm9pZCAwOlZzKGUucGFyZW50KSksZS5wcm9qZWN0aW9uLnNldE9wdGlvbnMoe2xheW91dElkOm8sbGF5b3V0OmwsYWx3YXlzTWVhc3VyZUxheW91dDohIXJ8fGMmJmtlKGMpLHZpc3VhbEVsZW1lbnQ6ZSxhbmltYXRpb25UeXBlOnR5cGVvZiBsPT0ic3RyaW5nIj9sOiJib3RoIixpbml0aWFsUHJvbW90aW9uQ29uZmlnOm4sbGF5b3V0U2Nyb2xsOmQsbGF5b3V0Um9vdDp1fSl9ZnVuY3Rpb24gVnMoZSl7aWYoZSlyZXR1cm4gZS5vcHRpb25zLmFsbG93UHJvamVjdGlvbiE9PSExP2UucHJvamVjdGlvbjpWcyhlLnBhcmVudCl9ZnVuY3Rpb24gSHIoe3ByZWxvYWRlZEZlYXR1cmVzOmUsY3JlYXRlVmlzdWFsRWxlbWVudDp0LHVzZVJlbmRlcjppLHVzZVZpc3VhbFN0YXRlOm4sQ29tcG9uZW50Om99KXt2YXIgbCxyO2UmJlZyKGUpO2Z1bmN0aW9uIGModSxoKXtsZXQgZjtjb25zdCBwPXsuLi54LnVzZUNvbnRleHQoZmkpLC4uLnUsbGF5b3V0SWQ6S3IodSl9LHtpc1N0YXRpYzptfT1wLGc9V3IodSksdj1uKHUsbSk7aWYoIW0mJnBpKXtHcigpO2NvbnN0IFM9WXIocCk7Zj1TLk1lYXN1cmVMYXlvdXQsZy52aXN1YWxFbGVtZW50PSRyKG8sdixwLHQsUy5Qcm9qZWN0aW9uTm9kZSl9cmV0dXJuIHMuanN4cyhrdC5Qcm92aWRlcix7dmFsdWU6ZyxjaGlsZHJlbjpbZiYmZy52aXN1YWxFbGVtZW50P3MuanN4KGYse3Zpc3VhbEVsZW1lbnQ6Zy52aXN1YWxFbGVtZW50LC4uLnB9KTpudWxsLGkobyx1LE5yKHYsZy52aXN1YWxFbGVtZW50LGgpLHYsbSxnLnZpc3VhbEVsZW1lbnQpXX0pfWMuZGlzcGxheU5hbWU9YG1vdGlvbi4ke3R5cGVvZiBvPT0ic3RyaW5nIj9vOmBjcmVhdGUoJHsocj0obD1vLmRpc3BsYXlOYW1lKSE9PW51bGwmJmwhPT12b2lkIDA/bDpvLm5hbWUpIT09bnVsbCYmciE9PXZvaWQgMD9yOiIifSlgfWA7Y29uc3QgZD14LmZvcndhcmRSZWYoYyk7cmV0dXJuIGRbT3JdPW8sZH1mdW5jdGlvbiBLcih7bGF5b3V0SWQ6ZX0pe2NvbnN0IHQ9eC51c2VDb250ZXh0KHVpKS5pZDtyZXR1cm4gdCYmZSE9PXZvaWQgMD90KyItIitlOmV9ZnVuY3Rpb24gR3IoZSx0KXt4LnVzZUNvbnRleHQoQ3MpLnN0cmljdH1mdW5jdGlvbiBZcihlKXtjb25zdHtkcmFnOnQsbGF5b3V0Oml9PVJlO2lmKCF0JiYhaSlyZXR1cm57fTtjb25zdCBuPXsuLi50LC4uLml9O3JldHVybntNZWFzdXJlTGF5b3V0OnQhPW51bGwmJnQuaXNFbmFibGVkKGUpfHxpIT1udWxsJiZpLmlzRW5hYmxlZChlKT9uLk1lYXN1cmVMYXlvdXQ6dm9pZCAwLFByb2plY3Rpb25Ob2RlOm4uUHJvamVjdGlvbk5vZGV9fWNvbnN0IFhyPVsiYW5pbWF0ZSIsImNpcmNsZSIsImRlZnMiLCJkZXNjIiwiZWxsaXBzZSIsImciLCJpbWFnZSIsImxpbmUiLCJmaWx0ZXIiLCJtYXJrZXIiLCJtYXNrIiwibWV0YWRhdGEiLCJwYXRoIiwicGF0dGVybiIsInBvbHlnb24iLCJwb2x5bGluZSIsInJlY3QiLCJzdG9wIiwic3dpdGNoIiwic3ltYm9sIiwic3ZnIiwidGV4dCIsInRzcGFuIiwidXNlIiwidmlldyJdO2Z1bmN0aW9uIGJpKGUpe3JldHVybiB0eXBlb2YgZSE9InN0cmluZyJ8fGUuaW5jbHVkZXMoIi0iKT8hMTohIShYci5pbmRleE9mKGUpPi0xfHwvW0EtWl0vdS50ZXN0KGUpKX1mdW5jdGlvbiBjbihlKXtjb25zdCB0PVt7fSx7fV07cmV0dXJuIGU9PW51bGx8fGUudmFsdWVzLmZvckVhY2goKGksbik9Pnt0WzBdW25dPWkuZ2V0KCksdFsxXVtuXT1pLmdldFZlbG9jaXR5KCl9KSx0fWZ1bmN0aW9uIFNpKGUsdCxpLG4pe2lmKHR5cGVvZiB0PT0iZnVuY3Rpb24iKXtjb25zdFtvLGxdPWNuKG4pO3Q9dChpIT09dm9pZCAwP2k6ZS5jdXN0b20sbyxsKX1pZih0eXBlb2YgdD09InN0cmluZyImJih0PWUudmFyaWFudHMmJmUudmFyaWFudHNbdF0pLHR5cGVvZiB0PT0iZnVuY3Rpb24iKXtjb25zdFtvLGxdPWNuKG4pO3Q9dChpIT09dm9pZCAwP2k6ZS5jdXN0b20sbyxsKX1yZXR1cm4gdH1jb25zdCBYdD1lPT5BcnJheS5pc0FycmF5KGUpLHFyPWU9PiEhKGUmJnR5cGVvZiBlPT0ib2JqZWN0IiYmZS5taXgmJmUudG9WYWx1ZSksWnI9ZT0+WHQoZSk/ZVtlLmxlbmd0aC0xXXx8MDplLFU9ZT0+ISEoZSYmZS5nZXRWZWxvY2l0eSk7ZnVuY3Rpb24gbXQoZSl7Y29uc3QgdD1VKGUpP2UuZ2V0KCk6ZTtyZXR1cm4gcXIodCk/dC50b1ZhbHVlKCk6dH1mdW5jdGlvbiBKcih7c2NyYXBlTW90aW9uVmFsdWVzRnJvbVByb3BzOmUsY3JlYXRlUmVuZGVyU3RhdGU6dCxvblVwZGF0ZTppfSxuLG8sbCl7Y29uc3Qgcj17bGF0ZXN0VmFsdWVzOlFyKG4sbyxsLGUpLHJlbmRlclN0YXRlOnQoKX07cmV0dXJuIGkmJihyLm9uTW91bnQ9Yz0+aSh7cHJvcHM6bixjdXJyZW50OmMsLi4ucn0pLHIub25VcGRhdGU9Yz0+aShjKSkscn1jb25zdCBFcz1lPT4odCxpKT0+e2NvbnN0IG49eC51c2VDb250ZXh0KGt0KSxvPXgudXNlQ29udGV4dChBdCksbD0oKT0+SnIoZSx0LG4sbyk7cmV0dXJuIGk/bCgpOmhpKGwpfTtmdW5jdGlvbiBRcihlLHQsaSxuKXtjb25zdCBvPXt9LGw9bihlLHt9KTtmb3IoY29uc3QgcCBpbiBsKW9bcF09bXQobFtwXSk7bGV0e2luaXRpYWw6cixhbmltYXRlOmN9PWU7Y29uc3QgZD1NdChlKSx1PURzKGUpO3QmJnUmJiFkJiZlLmluaGVyaXQhPT0hMSYmKHI9PT12b2lkIDAmJihyPXQuaW5pdGlhbCksYz09PXZvaWQgMCYmKGM9dC5hbmltYXRlKSk7bGV0IGg9aT9pLmluaXRpYWw9PT0hMTohMTtoPWh8fHI9PT0hMTtjb25zdCBmPWg/YzpyO2lmKGYmJnR5cGVvZiBmIT0iYm9vbGVhbiImJiFDdChmKSl7Y29uc3QgcD1BcnJheS5pc0FycmF5KGYpP2Y6W2ZdO2ZvcihsZXQgbT0wO208cC5sZW5ndGg7bSsrKXtjb25zdCBnPVNpKGUscFttXSk7aWYoZyl7Y29uc3R7dHJhbnNpdGlvbkVuZDp2LHRyYW5zaXRpb246UywuLi5ifT1nO2Zvcihjb25zdCB3IGluIGIpe2xldCBUPWJbd107aWYoQXJyYXkuaXNBcnJheShUKSl7Y29uc3QgUD1oP1QubGVuZ3RoLTE6MDtUPVRbUF19VCE9PW51bGwmJihvW3ddPVQpfWZvcihjb25zdCB3IGluIHYpb1t3XT12W3ddfX19cmV0dXJuIG99Y29uc3QgQmU9WyJ0cmFuc2Zvcm1QZXJzcGVjdGl2ZSIsIngiLCJ5IiwieiIsInRyYW5zbGF0ZVgiLCJ0cmFuc2xhdGVZIiwidHJhbnNsYXRlWiIsInNjYWxlIiwic2NhbGVYIiwic2NhbGVZIiwicm90YXRlIiwicm90YXRlWCIsInJvdGF0ZVkiLCJyb3RhdGVaIiwic2tldyIsInNrZXdYIiwic2tld1kiXSxUZT1uZXcgU2V0KEJlKSx6cz1lPT50PT50eXBlb2YgdD09InN0cmluZyImJnQuc3RhcnRzV2l0aChlKSxMcz16cygiLS0iKSxlYT16cygidmFyKC0tIiksamk9ZT0+ZWEoZSk/dGEudGVzdChlLnNwbGl0KCIvKiIpWzBdLnRyaW0oKSk6ITEsdGE9L3ZhclwoLS0oPzpbXHctXStccyp8W1x3LV0rXHMqLCg/OlxzKlteKShcc118XHMqXCgoPzpbXikoXXxcKFteKShdKlwpKSpcKSkrXHMqKVwpJC9pdSxCcz0oZSx0KT0+dCYmdHlwZW9mIGU9PSJudW1iZXIiP3QudHJhbnNmb3JtKGUpOmUsbGU9KGUsdCxpKT0+aT50P3Q6aTxlP2U6aSxGZT17dGVzdDplPT50eXBlb2YgZT09Im51bWJlciIscGFyc2U6cGFyc2VGbG9hdCx0cmFuc2Zvcm06ZT0+ZX0sUWU9ey4uLkZlLHRyYW5zZm9ybTplPT5sZSgwLDEsZSl9LGZ0PXsuLi5GZSxkZWZhdWx0OjF9LG50PWU9Pih7dGVzdDp0PT50eXBlb2YgdD09InN0cmluZyImJnQuZW5kc1dpdGgoZSkmJnQuc3BsaXQoIiAiKS5sZW5ndGg9PT0xLHBhcnNlOnBhcnNlRmxvYXQsdHJhbnNmb3JtOnQ9PmAke3R9JHtlfWB9KSxjZT1udCgiZGVnIiksb2U9bnQoIiUiKSxDPW50KCJweCIpLGlhPW50KCJ2aCIpLG5hPW50KCJ2dyIpLGRuPXsuLi5vZSxwYXJzZTplPT5vZS5wYXJzZShlKS8xMDAsdHJhbnNmb3JtOmU9Pm9lLnRyYW5zZm9ybShlKjEwMCl9LHNhPXtib3JkZXJXaWR0aDpDLGJvcmRlclRvcFdpZHRoOkMsYm9yZGVyUmlnaHRXaWR0aDpDLGJvcmRlckJvdHRvbVdpZHRoOkMsYm9yZGVyTGVmdFdpZHRoOkMsYm9yZGVyUmFkaXVzOkMscmFkaXVzOkMsYm9yZGVyVG9wTGVmdFJhZGl1czpDLGJvcmRlclRvcFJpZ2h0UmFkaXVzOkMsYm9yZGVyQm90dG9tUmlnaHRSYWRpdXM6Qyxib3JkZXJCb3R0b21MZWZ0UmFkaXVzOkMsd2lkdGg6QyxtYXhXaWR0aDpDLGhlaWdodDpDLG1heEhlaWdodDpDLHRvcDpDLHJpZ2h0OkMsYm90dG9tOkMsbGVmdDpDLHBhZGRpbmc6QyxwYWRkaW5nVG9wOkMscGFkZGluZ1JpZ2h0OkMscGFkZGluZ0JvdHRvbTpDLHBhZGRpbmdMZWZ0OkMsbWFyZ2luOkMsbWFyZ2luVG9wOkMsbWFyZ2luUmlnaHQ6QyxtYXJnaW5Cb3R0b206QyxtYXJnaW5MZWZ0OkMsYmFja2dyb3VuZFBvc2l0aW9uWDpDLGJhY2tncm91bmRQb3NpdGlvblk6Q30sb2E9e3JvdGF0ZTpjZSxyb3RhdGVYOmNlLHJvdGF0ZVk6Y2Uscm90YXRlWjpjZSxzY2FsZTpmdCxzY2FsZVg6ZnQsc2NhbGVZOmZ0LHNjYWxlWjpmdCxza2V3OmNlLHNrZXdYOmNlLHNrZXdZOmNlLGRpc3RhbmNlOkMsdHJhbnNsYXRlWDpDLHRyYW5zbGF0ZVk6Qyx0cmFuc2xhdGVaOkMseDpDLHk6Qyx6OkMscGVyc3BlY3RpdmU6Qyx0cmFuc2Zvcm1QZXJzcGVjdGl2ZTpDLG9wYWNpdHk6UWUsb3JpZ2luWDpkbixvcmlnaW5ZOmRuLG9yaWdpblo6Q30sdW49ey4uLkZlLHRyYW5zZm9ybTpNYXRoLnJvdW5kfSx3aT17Li4uc2EsLi4ub2EsekluZGV4OnVuLHNpemU6QyxmaWxsT3BhY2l0eTpRZSxzdHJva2VPcGFjaXR5OlFlLG51bU9jdGF2ZXM6dW59LHJhPXt4OiJ0cmFuc2xhdGVYIix5OiJ0cmFuc2xhdGVZIix6OiJ0cmFuc2xhdGVaIix0cmFuc2Zvcm1QZXJzcGVjdGl2ZToicGVyc3BlY3RpdmUifSxhYT1CZS5sZW5ndGg7ZnVuY3Rpb24gbGEoZSx0LGkpe2xldCBuPSIiLG89ITA7Zm9yKGxldCBsPTA7bDxhYTtsKyspe2NvbnN0IHI9QmVbbF0sYz1lW3JdO2lmKGM9PT12b2lkIDApY29udGludWU7bGV0IGQ9ITA7aWYodHlwZW9mIGM9PSJudW1iZXIiP2Q9Yz09PShyLnN0YXJ0c1dpdGgoInNjYWxlIik/MTowKTpkPXBhcnNlRmxvYXQoYyk9PT0wLCFkfHxpKXtjb25zdCB1PUJzKGMsd2lbcl0pO2lmKCFkKXtvPSExO2NvbnN0IGg9cmFbcl18fHI7bis9YCR7aH0oJHt1fSkgYH1pJiYodFtyXT11KX19cmV0dXJuIG49bi50cmltKCksaT9uPWkodCxvPyIiOm4pOm8mJihuPSJub25lIiksbn1mdW5jdGlvbiBUaShlLHQsaSl7Y29uc3R7c3R5bGU6bix2YXJzOm8sdHJhbnNmb3JtT3JpZ2luOmx9PWU7bGV0IHI9ITEsYz0hMTtmb3IoY29uc3QgZCBpbiB0KXtjb25zdCB1PXRbZF07aWYoVGUuaGFzKGQpKXtyPSEwO2NvbnRpbnVlfWVsc2UgaWYoTHMoZCkpe29bZF09dTtjb250aW51ZX1lbHNle2NvbnN0IGg9QnModSx3aVtkXSk7ZC5zdGFydHNXaXRoKCJvcmlnaW4iKT8oYz0hMCxsW2RdPWgpOm5bZF09aH19aWYodC50cmFuc2Zvcm18fChyfHxpP24udHJhbnNmb3JtPWxhKHQsZS50cmFuc2Zvcm0saSk6bi50cmFuc2Zvcm0mJihuLnRyYW5zZm9ybT0ibm9uZSIpKSxjKXtjb25zdHtvcmlnaW5YOmQ9IjUwJSIsb3JpZ2luWTp1PSI1MCUiLG9yaWdpblo6aD0wfT1sO24udHJhbnNmb3JtT3JpZ2luPWAke2R9ICR7dX0gJHtofWB9fWNvbnN0IGNhPXtvZmZzZXQ6InN0cm9rZS1kYXNob2Zmc2V0IixhcnJheToic3Ryb2tlLWRhc2hhcnJheSJ9LGRhPXtvZmZzZXQ6InN0cm9rZURhc2hvZmZzZXQiLGFycmF5OiJzdHJva2VEYXNoYXJyYXkifTtmdW5jdGlvbiB1YShlLHQsaT0xLG49MCxvPSEwKXtlLnBhdGhMZW5ndGg9MTtjb25zdCBsPW8/Y2E6ZGE7ZVtsLm9mZnNldF09Qy50cmFuc2Zvcm0oLW4pO2NvbnN0IHI9Qy50cmFuc2Zvcm0odCksYz1DLnRyYW5zZm9ybShpKTtlW2wuYXJyYXldPWAke3J9ICR7Y31gfWZ1bmN0aW9uIGhuKGUsdCxpKXtyZXR1cm4gdHlwZW9mIGU9PSJzdHJpbmciP2U6Qy50cmFuc2Zvcm0odCtpKmUpfWZ1bmN0aW9uIGhhKGUsdCxpKXtjb25zdCBuPWhuKHQsZS54LGUud2lkdGgpLG89aG4oaSxlLnksZS5oZWlnaHQpO3JldHVybmAke259ICR7b31gfWZ1bmN0aW9uIFBpKGUse2F0dHJYOnQsYXR0clk6aSxhdHRyU2NhbGU6bixvcmlnaW5YOm8sb3JpZ2luWTpsLHBhdGhMZW5ndGg6cixwYXRoU3BhY2luZzpjPTEscGF0aE9mZnNldDpkPTAsLi4udX0saCxmKXtpZihUaShlLHUsZiksaCl7ZS5zdHlsZS52aWV3Qm94JiYoZS5hdHRycy52aWV3Qm94PWUuc3R5bGUudmlld0JveCk7cmV0dXJufWUuYXR0cnM9ZS5zdHlsZSxlLnN0eWxlPXt9O2NvbnN0e2F0dHJzOnAsc3R5bGU6bSxkaW1lbnNpb25zOmd9PWU7cC50cmFuc2Zvcm0mJihnJiYobS50cmFuc2Zvcm09cC50cmFuc2Zvcm0pLGRlbGV0ZSBwLnRyYW5zZm9ybSksZyYmKG8hPT12b2lkIDB8fGwhPT12b2lkIDB8fG0udHJhbnNmb3JtKSYmKG0udHJhbnNmb3JtT3JpZ2luPWhhKGcsbyE9PXZvaWQgMD9vOi41LGwhPT12b2lkIDA/bDouNSkpLHQhPT12b2lkIDAmJihwLng9dCksaSE9PXZvaWQgMCYmKHAueT1pKSxuIT09dm9pZCAwJiYocC5zY2FsZT1uKSxyIT09dm9pZCAwJiZ1YShwLHIsYyxkLCExKX1jb25zdCBBaT0oKT0+KHtzdHlsZTp7fSx0cmFuc2Zvcm06e30sdHJhbnNmb3JtT3JpZ2luOnt9LHZhcnM6e319KSxGcz0oKT0+KHsuLi5BaSgpLGF0dHJzOnt9fSksa2k9ZT0+dHlwZW9mIGU9PSJzdHJpbmciJiZlLnRvTG93ZXJDYXNlKCk9PT0ic3ZnIjtmdW5jdGlvbiBXcyhlLHtzdHlsZTp0LHZhcnM6aX0sbixvKXtPYmplY3QuYXNzaWduKGUuc3R5bGUsdCxvJiZvLmdldFByb2plY3Rpb25TdHlsZXMobikpO2Zvcihjb25zdCBsIGluIGkpZS5zdHlsZS5zZXRQcm9wZXJ0eShsLGlbbF0pfWNvbnN0IE9zPW5ldyBTZXQoWyJiYXNlRnJlcXVlbmN5IiwiZGlmZnVzZUNvbnN0YW50Iiwia2VybmVsTWF0cml4Iiwia2VybmVsVW5pdExlbmd0aCIsImtleVNwbGluZXMiLCJrZXlUaW1lcyIsImxpbWl0aW5nQ29uZUFuZ2xlIiwibWFya2VySGVpZ2h0IiwibWFya2VyV2lkdGgiLCJudW1PY3RhdmVzIiwidGFyZ2V0WCIsInRhcmdldFkiLCJzdXJmYWNlU2NhbGUiLCJzcGVjdWxhckNvbnN0YW50Iiwic3BlY3VsYXJFeHBvbmVudCIsInN0ZERldmlhdGlvbiIsInRhYmxlVmFsdWVzIiwidmlld0JveCIsImdyYWRpZW50VHJhbnNmb3JtIiwicGF0aExlbmd0aCIsInN0YXJ0T2Zmc2V0IiwidGV4dExlbmd0aCIsImxlbmd0aEFkanVzdCJdKTtmdW5jdGlvbiBOcyhlLHQsaSxuKXtXcyhlLHQsdm9pZCAwLG4pO2Zvcihjb25zdCBvIGluIHQuYXR0cnMpZS5zZXRBdHRyaWJ1dGUoT3MuaGFzKG8pP286eGkobyksdC5hdHRyc1tvXSl9Y29uc3QgdnQ9e307ZnVuY3Rpb24gZmEoZSl7T2JqZWN0LmFzc2lnbih2dCxlKX1mdW5jdGlvbiBVcyhlLHtsYXlvdXQ6dCxsYXlvdXRJZDppfSl7cmV0dXJuIFRlLmhhcyhlKXx8ZS5zdGFydHNXaXRoKCJvcmlnaW4iKXx8KHR8fGkhPT12b2lkIDApJiYoISF2dFtlXXx8ZT09PSJvcGFjaXR5Iil9ZnVuY3Rpb24gQ2koZSx0LGkpe3ZhciBuO2NvbnN0e3N0eWxlOm99PWUsbD17fTtmb3IoY29uc3QgciBpbiBvKShVKG9bcl0pfHx0LnN0eWxlJiZVKHQuc3R5bGVbcl0pfHxVcyhyLGUpfHwoKG49aT09bnVsbD92b2lkIDA6aS5nZXRWYWx1ZShyKSk9PT1udWxsfHxuPT09dm9pZCAwP3ZvaWQgMDpuLmxpdmVTdHlsZSkhPT12b2lkIDApJiYobFtyXT1vW3JdKTtyZXR1cm4gbH1mdW5jdGlvbiAkcyhlLHQsaSl7Y29uc3Qgbj1DaShlLHQsaSk7Zm9yKGNvbnN0IG8gaW4gZSlpZihVKGVbb10pfHxVKHRbb10pKXtjb25zdCBsPUJlLmluZGV4T2YobykhPT0tMT8iYXR0ciIrby5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStvLnN1YnN0cmluZygxKTpvO25bbF09ZVtvXX1yZXR1cm4gbn1mdW5jdGlvbiBwYShlLHQpe3RyeXt0LmRpbWVuc2lvbnM9dHlwZW9mIGUuZ2V0QkJveD09ImZ1bmN0aW9uIj9lLmdldEJCb3goKTplLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpfWNhdGNoe3QuZGltZW5zaW9ucz17eDowLHk6MCx3aWR0aDowLGhlaWdodDowfX19Y29uc3QgZm49WyJ4IiwieSIsIndpZHRoIiwiaGVpZ2h0IiwiY3giLCJjeSIsInIiXSxtYT17dXNlVmlzdWFsU3RhdGU6RXMoe3NjcmFwZU1vdGlvblZhbHVlc0Zyb21Qcm9wczokcyxjcmVhdGVSZW5kZXJTdGF0ZTpGcyxvblVwZGF0ZTooe3Byb3BzOmUscHJldlByb3BzOnQsY3VycmVudDppLHJlbmRlclN0YXRlOm4sbGF0ZXN0VmFsdWVzOm99KT0+e2lmKCFpKXJldHVybjtsZXQgbD0hIWUuZHJhZztpZighbCl7Zm9yKGNvbnN0IGMgaW4gbylpZihUZS5oYXMoYykpe2w9ITA7YnJlYWt9fWlmKCFsKXJldHVybjtsZXQgcj0hdDtpZih0KWZvcihsZXQgYz0wO2M8Zm4ubGVuZ3RoO2MrKyl7Y29uc3QgZD1mbltjXTtlW2RdIT09dFtkXSYmKHI9ITApfXImJnoucmVhZCgoKT0+e3BhKGksbiksei5yZW5kZXIoKCk9PntQaShuLG8sa2koaS50YWdOYW1lKSxlLnRyYW5zZm9ybVRlbXBsYXRlKSxOcyhpLG4pfSl9KX19KX0sZ2E9e3VzZVZpc3VhbFN0YXRlOkVzKHtzY3JhcGVNb3Rpb25WYWx1ZXNGcm9tUHJvcHM6Q2ksY3JlYXRlUmVuZGVyU3RhdGU6QWl9KX07ZnVuY3Rpb24gX3MoZSx0LGkpe2Zvcihjb25zdCBuIGluIHQpIVUodFtuXSkmJiFVcyhuLGkpJiYoZVtuXT10W25dKX1mdW5jdGlvbiB5YSh7dHJhbnNmb3JtVGVtcGxhdGU6ZX0sdCl7cmV0dXJuIHgudXNlTWVtbygoKT0+e2NvbnN0IGk9QWkoKTtyZXR1cm4gVGkoaSx0LGUpLE9iamVjdC5hc3NpZ24oe30saS52YXJzLGkuc3R5bGUpfSxbdF0pfWZ1bmN0aW9uIHhhKGUsdCl7Y29uc3QgaT1lLnN0eWxlfHx7fSxuPXt9O3JldHVybiBfcyhuLGksZSksT2JqZWN0LmFzc2lnbihuLHlhKGUsdCkpLG59ZnVuY3Rpb24gdmEoZSx0KXtjb25zdCBpPXt9LG49eGEoZSx0KTtyZXR1cm4gZS5kcmFnJiZlLmRyYWdMaXN0ZW5lciE9PSExJiYoaS5kcmFnZ2FibGU9ITEsbi51c2VyU2VsZWN0PW4uV2Via2l0VXNlclNlbGVjdD1uLldlYmtpdFRvdWNoQ2FsbG91dD0ibm9uZSIsbi50b3VjaEFjdGlvbj1lLmRyYWc9PT0hMD8ibm9uZSI6YHBhbi0ke2UuZHJhZz09PSJ4Ij8ieSI6IngifWApLGUudGFiSW5kZXg9PT12b2lkIDAmJihlLm9uVGFwfHxlLm9uVGFwU3RhcnR8fGUud2hpbGVUYXApJiYoaS50YWJJbmRleD0wKSxpLnN0eWxlPW4saX1mdW5jdGlvbiBiYShlLHQsaSxuKXtjb25zdCBvPXgudXNlTWVtbygoKT0+e2NvbnN0IGw9RnMoKTtyZXR1cm4gUGkobCx0LGtpKG4pLGUudHJhbnNmb3JtVGVtcGxhdGUpLHsuLi5sLmF0dHJzLHN0eWxlOnsuLi5sLnN0eWxlfX19LFt0XSk7aWYoZS5zdHlsZSl7Y29uc3QgbD17fTtfcyhsLGUuc3R5bGUsZSksby5zdHlsZT17Li4ubCwuLi5vLnN0eWxlfX1yZXR1cm4gb31mdW5jdGlvbiBTYShlPSExKXtyZXR1cm4oaSxuLG8se2xhdGVzdFZhbHVlczpsfSxyKT0+e2NvbnN0IGQ9KGJpKGkpP2JhOnZhKShuLGwscixpKSx1PUxyKG4sdHlwZW9mIGk9PSJzdHJpbmciLGUpLGg9aSE9PXguRnJhZ21lbnQ/ey4uLnUsLi4uZCxyZWY6b306e30se2NoaWxkcmVuOmZ9PW4scD14LnVzZU1lbW8oKCk9PlUoZik/Zi5nZXQoKTpmLFtmXSk7cmV0dXJuIHguY3JlYXRlRWxlbWVudChpLHsuLi5oLGNoaWxkcmVuOnB9KX19ZnVuY3Rpb24gamEoZSx0KXtyZXR1cm4gZnVuY3Rpb24obix7Zm9yd2FyZE1vdGlvblByb3BzOm99PXtmb3J3YXJkTW90aW9uUHJvcHM6ITF9KXtjb25zdCByPXsuLi5iaShuKT9tYTpnYSxwcmVsb2FkZWRGZWF0dXJlczplLHVzZVJlbmRlcjpTYShvKSxjcmVhdGVWaXN1YWxFbGVtZW50OnQsQ29tcG9uZW50Om59O3JldHVybiBIcihyKX19ZnVuY3Rpb24gSHMoZSx0KXtpZighQXJyYXkuaXNBcnJheSh0KSlyZXR1cm4hMTtjb25zdCBpPXQubGVuZ3RoO2lmKGkhPT1lLmxlbmd0aClyZXR1cm4hMTtmb3IobGV0IG49MDtuPGk7bisrKWlmKHRbbl0hPT1lW25dKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIER0KGUsdCxpKXtjb25zdCBuPWUuZ2V0UHJvcHMoKTtyZXR1cm4gU2kobix0LGkhPT12b2lkIDA/aTpuLmN1c3RvbSxlKX1jb25zdCB3YT1taSgoKT0+d2luZG93LlNjcm9sbFRpbWVsaW5lIT09dm9pZCAwKTtjbGFzcyBUYXtjb25zdHJ1Y3Rvcih0KXt0aGlzLnN0b3A9KCk9PnRoaXMucnVuQWxsKCJzdG9wIiksdGhpcy5hbmltYXRpb25zPXQuZmlsdGVyKEJvb2xlYW4pfWdldCBmaW5pc2hlZCgpe3JldHVybiBQcm9taXNlLmFsbCh0aGlzLmFuaW1hdGlvbnMubWFwKHQ9PiJmaW5pc2hlZCJpbiB0P3QuZmluaXNoZWQ6dCkpfWdldEFsbCh0KXtyZXR1cm4gdGhpcy5hbmltYXRpb25zWzBdW3RdfXNldEFsbCh0LGkpe2ZvcihsZXQgbj0wO248dGhpcy5hbmltYXRpb25zLmxlbmd0aDtuKyspdGhpcy5hbmltYXRpb25zW25dW3RdPWl9YXR0YWNoVGltZWxpbmUodCxpKXtjb25zdCBuPXRoaXMuYW5pbWF0aW9ucy5tYXAobz0+e2lmKHdhKCkmJm8uYXR0YWNoVGltZWxpbmUpcmV0dXJuIG8uYXR0YWNoVGltZWxpbmUodCk7aWYodHlwZW9mIGk9PSJmdW5jdGlvbiIpcmV0dXJuIGkobyl9KTtyZXR1cm4oKT0+e24uZm9yRWFjaCgobyxsKT0+e28mJm8oKSx0aGlzLmFuaW1hdGlvbnNbbF0uc3RvcCgpfSl9fWdldCB0aW1lKCl7cmV0dXJuIHRoaXMuZ2V0QWxsKCJ0aW1lIil9c2V0IHRpbWUodCl7dGhpcy5zZXRBbGwoInRpbWUiLHQpfWdldCBzcGVlZCgpe3JldHVybiB0aGlzLmdldEFsbCgic3BlZWQiKX1zZXQgc3BlZWQodCl7dGhpcy5zZXRBbGwoInNwZWVkIix0KX1nZXQgc3RhcnRUaW1lKCl7cmV0dXJuIHRoaXMuZ2V0QWxsKCJzdGFydFRpbWUiKX1nZXQgZHVyYXRpb24oKXtsZXQgdD0wO2ZvcihsZXQgaT0wO2k8dGhpcy5hbmltYXRpb25zLmxlbmd0aDtpKyspdD1NYXRoLm1heCh0LHRoaXMuYW5pbWF0aW9uc1tpXS5kdXJhdGlvbik7cmV0dXJuIHR9cnVuQWxsKHQpe3RoaXMuYW5pbWF0aW9ucy5mb3JFYWNoKGk9PmlbdF0oKSl9ZmxhdHRlbigpe3RoaXMucnVuQWxsKCJmbGF0dGVuIil9cGxheSgpe3RoaXMucnVuQWxsKCJwbGF5Iil9cGF1c2UoKXt0aGlzLnJ1bkFsbCgicGF1c2UiKX1jYW5jZWwoKXt0aGlzLnJ1bkFsbCgiY2FuY2VsIil9Y29tcGxldGUoKXt0aGlzLnJ1bkFsbCgiY29tcGxldGUiKX19Y2xhc3MgS3MgZXh0ZW5kcyBUYXt0aGVuKHQsaSl7cmV0dXJuIFByb21pc2UuYWxsKHRoaXMuYW5pbWF0aW9ucykudGhlbih0KS5jYXRjaChpKX19ZnVuY3Rpb24gTWkoZSx0KXtyZXR1cm4gZT9lW3RdfHxlLmRlZmF1bHR8fGU6dm9pZCAwfWNvbnN0IGJ0PTJlNDtmdW5jdGlvbiBEaShlKXtsZXQgdD0wO2NvbnN0IGk9NTA7bGV0IG49ZS5uZXh0KHQpO2Zvcig7IW4uZG9uZSYmdDxidDspdCs9aSxuPWUubmV4dCh0KTtyZXR1cm4gdD49YnQ/MS8wOnR9ZnVuY3Rpb24gUGEoZSx0PTEwMCxpKXtjb25zdCBuPWkoey4uLmUsa2V5ZnJhbWVzOlswLHRdfSksbz1NYXRoLm1pbihEaShuKSxidCk7cmV0dXJue3R5cGU6ImtleWZyYW1lcyIsZWFzZTpsPT5uLm5leHQobypsKS52YWx1ZS90LGR1cmF0aW9uOnNlKG8pfX1mdW5jdGlvbiBJdChlKXtyZXR1cm4gdHlwZW9mIGU9PSJmdW5jdGlvbiJ9ZnVuY3Rpb24gcG4oZSx0KXtlLnRpbWVsaW5lPXQsZS5vbmZpbmlzaD1udWxsfWNvbnN0IElpPWU9PkFycmF5LmlzQXJyYXkoZSkmJnR5cGVvZiBlWzBdPT0ibnVtYmVyIixBYT17bGluZWFyRWFzaW5nOnZvaWQgMH07ZnVuY3Rpb24ga2EoZSx0KXtjb25zdCBpPW1pKGUpO3JldHVybigpPT57dmFyIG47cmV0dXJuKG49QWFbdF0pIT09bnVsbCYmbiE9PXZvaWQgMD9uOmkoKX19Y29uc3QgU3Q9a2EoKCk9Pnt0cnl7ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikuYW5pbWF0ZSh7b3BhY2l0eTowfSx7ZWFzaW5nOiJsaW5lYXIoMCwgMSkifSl9Y2F0Y2h7cmV0dXJuITF9cmV0dXJuITB9LCJsaW5lYXJFYXNpbmciKSxHcz0oZSx0LGk9MTApPT57bGV0IG49IiI7Y29uc3Qgbz1NYXRoLm1heChNYXRoLnJvdW5kKHQvaSksMik7Zm9yKGxldCBsPTA7bDxvO2wrKyluKz1lKGplKDAsby0xLGwpKSsiLCAiO3JldHVybmBsaW5lYXIoJHtuLnN1YnN0cmluZygwLG4ubGVuZ3RoLTIpfSlgfTtmdW5jdGlvbiBZcyhlKXtyZXR1cm4hISh0eXBlb2YgZT09ImZ1bmN0aW9uIiYmU3QoKXx8IWV8fHR5cGVvZiBlPT0ic3RyaW5nIiYmKGUgaW4gcXR8fFN0KCkpfHxJaShlKXx8QXJyYXkuaXNBcnJheShlKSYmZS5ldmVyeShZcykpfWNvbnN0IF9lPShbZSx0LGksbl0pPT5gY3ViaWMtYmV6aWVyKCR7ZX0sICR7dH0sICR7aX0sICR7bn0pYCxxdD17bGluZWFyOiJsaW5lYXIiLGVhc2U6ImVhc2UiLGVhc2VJbjoiZWFzZS1pbiIsZWFzZU91dDoiZWFzZS1vdXQiLGVhc2VJbk91dDoiZWFzZS1pbi1vdXQiLGNpcmNJbjpfZShbMCwuNjUsLjU1LDFdKSxjaXJjT3V0Ol9lKFsuNTUsMCwxLC40NV0pLGJhY2tJbjpfZShbLjMxLC4wMSwuNjYsLS41OV0pLGJhY2tPdXQ6X2UoWy4zMywxLjUzLC42OSwuOTldKX07ZnVuY3Rpb24gWHMoZSx0KXtpZihlKXJldHVybiB0eXBlb2YgZT09ImZ1bmN0aW9uIiYmU3QoKT9HcyhlLHQpOklpKGUpP19lKGUpOkFycmF5LmlzQXJyYXkoZSk/ZS5tYXAoaT0+WHMoaSx0KXx8cXQuZWFzZU91dCk6cXRbZV19Y29uc3QgZWU9e3g6ITEseTohMX07ZnVuY3Rpb24gcXMoKXtyZXR1cm4gZWUueHx8ZWUueX1mdW5jdGlvbiBacyhlLHQsaSl7dmFyIG47aWYoZSBpbnN0YW5jZW9mIEVsZW1lbnQpcmV0dXJuW2VdO2lmKHR5cGVvZiBlPT0ic3RyaW5nIil7bGV0IG89ZG9jdW1lbnQ7Y29uc3QgbD0obj1pPT1udWxsP3ZvaWQgMDppW2VdKSE9PW51bGwmJm4hPT12b2lkIDA/bjpvLnF1ZXJ5U2VsZWN0b3JBbGwoZSk7cmV0dXJuIGw/QXJyYXkuZnJvbShsKTpbXX1yZXR1cm4gQXJyYXkuZnJvbShlKX1mdW5jdGlvbiBKcyhlLHQpe2NvbnN0IGk9WnMoZSksbj1uZXcgQWJvcnRDb250cm9sbGVyLG89e3Bhc3NpdmU6ITAsLi4udCxzaWduYWw6bi5zaWduYWx9O3JldHVybltpLG8sKCk9Pm4uYWJvcnQoKV19ZnVuY3Rpb24gbW4oZSl7cmV0dXJuIHQ9Pnt0LnBvaW50ZXJUeXBlPT09InRvdWNoInx8cXMoKXx8ZSh0KX19ZnVuY3Rpb24gQ2EoZSx0LGk9e30pe2NvbnN0W24sbyxsXT1KcyhlLGkpLHI9bW4oYz0+e2NvbnN0e3RhcmdldDpkfT1jLHU9dChjKTtpZih0eXBlb2YgdSE9ImZ1bmN0aW9uInx8IWQpcmV0dXJuO2NvbnN0IGg9bW4oZj0+e3UoZiksZC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVybGVhdmUiLGgpfSk7ZC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVybGVhdmUiLGgsbyl9KTtyZXR1cm4gbi5mb3JFYWNoKGM9PntjLmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJlbnRlciIscixvKX0pLGx9Y29uc3QgUXM9KGUsdCk9PnQ/ZT09PXQ/ITA6UXMoZSx0LnBhcmVudEVsZW1lbnQpOiExLFJpPWU9PmUucG9pbnRlclR5cGU9PT0ibW91c2UiP3R5cGVvZiBlLmJ1dHRvbiE9Im51bWJlciJ8fGUuYnV0dG9uPD0wOmUuaXNQcmltYXJ5IT09ITEsTWE9bmV3IFNldChbIkJVVFRPTiIsIklOUFVUIiwiU0VMRUNUIiwiVEVYVEFSRUEiLCJBIl0pO2Z1bmN0aW9uIERhKGUpe3JldHVybiBNYS5oYXMoZS50YWdOYW1lKXx8ZS50YWJJbmRleCE9PS0xfWNvbnN0IEhlPW5ldyBXZWFrU2V0O2Z1bmN0aW9uIGduKGUpe3JldHVybiB0PT57dC5rZXk9PT0iRW50ZXIiJiZlKHQpfX1mdW5jdGlvbiBMdChlLHQpe2UuZGlzcGF0Y2hFdmVudChuZXcgUG9pbnRlckV2ZW50KCJwb2ludGVyIit0LHtpc1ByaW1hcnk6ITAsYnViYmxlczohMH0pKX1jb25zdCBJYT0oZSx0KT0+e2NvbnN0IGk9ZS5jdXJyZW50VGFyZ2V0O2lmKCFpKXJldHVybjtjb25zdCBuPWduKCgpPT57aWYoSGUuaGFzKGkpKXJldHVybjtMdChpLCJkb3duIik7Y29uc3Qgbz1nbigoKT0+e0x0KGksInVwIil9KSxsPSgpPT5MdChpLCJjYW5jZWwiKTtpLmFkZEV2ZW50TGlzdGVuZXIoImtleXVwIixvLHQpLGkuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsbCx0KX0pO2kuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsbix0KSxpLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLCgpPT5pLnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLG4pLHQpfTtmdW5jdGlvbiB5bihlKXtyZXR1cm4gUmkoZSkmJiFxcygpfWZ1bmN0aW9uIFJhKGUsdCxpPXt9KXtjb25zdFtuLG8sbF09SnMoZSxpKSxyPWM9Pntjb25zdCBkPWMuY3VycmVudFRhcmdldDtpZigheW4oYyl8fEhlLmhhcyhkKSlyZXR1cm47SGUuYWRkKGQpO2NvbnN0IHU9dChjKSxoPShtLGcpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJ1cCIsZiksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJjYW5jZWwiLHApLCEoIXluKG0pfHwhSGUuaGFzKGQpKSYmKEhlLmRlbGV0ZShkKSx0eXBlb2YgdT09ImZ1bmN0aW9uIiYmdShtLHtzdWNjZXNzOmd9KSl9LGY9bT0+e2gobSxpLnVzZUdsb2JhbFRhcmdldHx8UXMoZCxtLnRhcmdldCkpfSxwPW09PntoKG0sITEpfTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcnVwIixmLG8pLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVyY2FuY2VsIixwLG8pfTtyZXR1cm4gbi5mb3JFYWNoKGM9PnshRGEoYykmJmMuZ2V0QXR0cmlidXRlKCJ0YWJpbmRleCIpPT09bnVsbCYmKGMudGFiSW5kZXg9MCksKGkudXNlR2xvYmFsVGFyZ2V0P3dpbmRvdzpjKS5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVyZG93biIscixvKSxjLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIix1PT5JYSh1LG8pLG8pfSksbH1mdW5jdGlvbiBWYShlKXtyZXR1cm4gZT09PSJ4Inx8ZT09PSJ5Ij9lZVtlXT9udWxsOihlZVtlXT0hMCwoKT0+e2VlW2VdPSExfSk6ZWUueHx8ZWUueT9udWxsOihlZS54PWVlLnk9ITAsKCk9PntlZS54PWVlLnk9ITF9KX1jb25zdCBlbz1uZXcgU2V0KFsid2lkdGgiLCJoZWlnaHQiLCJ0b3AiLCJsZWZ0IiwicmlnaHQiLCJib3R0b20iLC4uLkJlXSk7bGV0IGd0O2Z1bmN0aW9uIEVhKCl7Z3Q9dm9pZCAwfWNvbnN0IHJlPXtub3c6KCk9PihndD09PXZvaWQgMCYmcmUuc2V0KCQuaXNQcm9jZXNzaW5nfHxEci51c2VNYW51YWxUaW1pbmc/JC50aW1lc3RhbXA6cGVyZm9ybWFuY2Uubm93KCkpLGd0KSxzZXQ6ZT0+e2d0PWUscXVldWVNaWNyb3Rhc2soRWEpfX07ZnVuY3Rpb24gVmkoZSx0KXtlLmluZGV4T2YodCk9PT0tMSYmZS5wdXNoKHQpfWZ1bmN0aW9uIFJ0KGUsdCl7Y29uc3QgaT1lLmluZGV4T2YodCk7aT4tMSYmZS5zcGxpY2UoaSwxKX1jbGFzcyBFaXtjb25zdHJ1Y3Rvcigpe3RoaXMuc3Vic2NyaXB0aW9ucz1bXX1hZGQodCl7cmV0dXJuIFZpKHRoaXMuc3Vic2NyaXB0aW9ucyx0KSwoKT0+UnQodGhpcy5zdWJzY3JpcHRpb25zLHQpfW5vdGlmeSh0LGksbil7Y29uc3Qgbz10aGlzLnN1YnNjcmlwdGlvbnMubGVuZ3RoO2lmKG8paWYobz09PTEpdGhpcy5zdWJzY3JpcHRpb25zWzBdKHQsaSxuKTtlbHNlIGZvcihsZXQgbD0wO2w8bztsKyspe2NvbnN0IHI9dGhpcy5zdWJzY3JpcHRpb25zW2xdO3ImJnIodCxpLG4pfX1nZXRTaXplKCl7cmV0dXJuIHRoaXMuc3Vic2NyaXB0aW9ucy5sZW5ndGh9Y2xlYXIoKXt0aGlzLnN1YnNjcmlwdGlvbnMubGVuZ3RoPTB9fWZ1bmN0aW9uIHRvKGUsdCl7cmV0dXJuIHQ/ZSooMWUzL3QpOjB9Y29uc3QgeG49MzAsemE9ZT0+IWlzTmFOKHBhcnNlRmxvYXQoZSkpO2NsYXNzIExhe2NvbnN0cnVjdG9yKHQsaT17fSl7dGhpcy52ZXJzaW9uPSIxMS4xOC4yIix0aGlzLmNhblRyYWNrVmVsb2NpdHk9bnVsbCx0aGlzLmV2ZW50cz17fSx0aGlzLnVwZGF0ZUFuZE5vdGlmeT0obixvPSEwKT0+e2NvbnN0IGw9cmUubm93KCk7dGhpcy51cGRhdGVkQXQhPT1sJiZ0aGlzLnNldFByZXZGcmFtZVZhbHVlKCksdGhpcy5wcmV2PXRoaXMuY3VycmVudCx0aGlzLnNldEN1cnJlbnQobiksdGhpcy5jdXJyZW50IT09dGhpcy5wcmV2JiZ0aGlzLmV2ZW50cy5jaGFuZ2UmJnRoaXMuZXZlbnRzLmNoYW5nZS5ub3RpZnkodGhpcy5jdXJyZW50KSxvJiZ0aGlzLmV2ZW50cy5yZW5kZXJSZXF1ZXN0JiZ0aGlzLmV2ZW50cy5yZW5kZXJSZXF1ZXN0Lm5vdGlmeSh0aGlzLmN1cnJlbnQpfSx0aGlzLmhhc0FuaW1hdGVkPSExLHRoaXMuc2V0Q3VycmVudCh0KSx0aGlzLm93bmVyPWkub3duZXJ9c2V0Q3VycmVudCh0KXt0aGlzLmN1cnJlbnQ9dCx0aGlzLnVwZGF0ZWRBdD1yZS5ub3coKSx0aGlzLmNhblRyYWNrVmVsb2NpdHk9PT1udWxsJiZ0IT09dm9pZCAwJiYodGhpcy5jYW5UcmFja1ZlbG9jaXR5PXphKHRoaXMuY3VycmVudCkpfXNldFByZXZGcmFtZVZhbHVlKHQ9dGhpcy5jdXJyZW50KXt0aGlzLnByZXZGcmFtZVZhbHVlPXQsdGhpcy5wcmV2VXBkYXRlZEF0PXRoaXMudXBkYXRlZEF0fW9uQ2hhbmdlKHQpe3JldHVybiB0aGlzLm9uKCJjaGFuZ2UiLHQpfW9uKHQsaSl7dGhpcy5ldmVudHNbdF18fCh0aGlzLmV2ZW50c1t0XT1uZXcgRWkpO2NvbnN0IG49dGhpcy5ldmVudHNbdF0uYWRkKGkpO3JldHVybiB0PT09ImNoYW5nZSI/KCk9PntuKCksei5yZWFkKCgpPT57dGhpcy5ldmVudHMuY2hhbmdlLmdldFNpemUoKXx8dGhpcy5zdG9wKCl9KX06bn1jbGVhckxpc3RlbmVycygpe2Zvcihjb25zdCB0IGluIHRoaXMuZXZlbnRzKXRoaXMuZXZlbnRzW3RdLmNsZWFyKCl9YXR0YWNoKHQsaSl7dGhpcy5wYXNzaXZlRWZmZWN0PXQsdGhpcy5zdG9wUGFzc2l2ZUVmZmVjdD1pfXNldCh0LGk9ITApeyFpfHwhdGhpcy5wYXNzaXZlRWZmZWN0P3RoaXMudXBkYXRlQW5kTm90aWZ5KHQsaSk6dGhpcy5wYXNzaXZlRWZmZWN0KHQsdGhpcy51cGRhdGVBbmROb3RpZnkpfXNldFdpdGhWZWxvY2l0eSh0LGksbil7dGhpcy5zZXQoaSksdGhpcy5wcmV2PXZvaWQgMCx0aGlzLnByZXZGcmFtZVZhbHVlPXQsdGhpcy5wcmV2VXBkYXRlZEF0PXRoaXMudXBkYXRlZEF0LW59anVtcCh0LGk9ITApe3RoaXMudXBkYXRlQW5kTm90aWZ5KHQpLHRoaXMucHJldj10LHRoaXMucHJldlVwZGF0ZWRBdD10aGlzLnByZXZGcmFtZVZhbHVlPXZvaWQgMCxpJiZ0aGlzLnN0b3AoKSx0aGlzLnN0b3BQYXNzaXZlRWZmZWN0JiZ0aGlzLnN0b3BQYXNzaXZlRWZmZWN0KCl9Z2V0KCl7cmV0dXJuIHRoaXMuY3VycmVudH1nZXRQcmV2aW91cygpe3JldHVybiB0aGlzLnByZXZ9Z2V0VmVsb2NpdHkoKXtjb25zdCB0PXJlLm5vdygpO2lmKCF0aGlzLmNhblRyYWNrVmVsb2NpdHl8fHRoaXMucHJldkZyYW1lVmFsdWU9PT12b2lkIDB8fHQtdGhpcy51cGRhdGVkQXQ+eG4pcmV0dXJuIDA7Y29uc3QgaT1NYXRoLm1pbih0aGlzLnVwZGF0ZWRBdC10aGlzLnByZXZVcGRhdGVkQXQseG4pO3JldHVybiB0byhwYXJzZUZsb2F0KHRoaXMuY3VycmVudCktcGFyc2VGbG9hdCh0aGlzLnByZXZGcmFtZVZhbHVlKSxpKX1zdGFydCh0KXtyZXR1cm4gdGhpcy5zdG9wKCksbmV3IFByb21pc2UoaT0+e3RoaXMuaGFzQW5pbWF0ZWQ9ITAsdGhpcy5hbmltYXRpb249dChpKSx0aGlzLmV2ZW50cy5hbmltYXRpb25TdGFydCYmdGhpcy5ldmVudHMuYW5pbWF0aW9uU3RhcnQubm90aWZ5KCl9KS50aGVuKCgpPT57dGhpcy5ldmVudHMuYW5pbWF0aW9uQ29tcGxldGUmJnRoaXMuZXZlbnRzLmFuaW1hdGlvbkNvbXBsZXRlLm5vdGlmeSgpLHRoaXMuY2xlYXJBbmltYXRpb24oKX0pfXN0b3AoKXt0aGlzLmFuaW1hdGlvbiYmKHRoaXMuYW5pbWF0aW9uLnN0b3AoKSx0aGlzLmV2ZW50cy5hbmltYXRpb25DYW5jZWwmJnRoaXMuZXZlbnRzLmFuaW1hdGlvbkNhbmNlbC5ub3RpZnkoKSksdGhpcy5jbGVhckFuaW1hdGlvbigpfWlzQW5pbWF0aW5nKCl7cmV0dXJuISF0aGlzLmFuaW1hdGlvbn1jbGVhckFuaW1hdGlvbigpe2RlbGV0ZSB0aGlzLmFuaW1hdGlvbn1kZXN0cm95KCl7dGhpcy5jbGVhckxpc3RlbmVycygpLHRoaXMuc3RvcCgpLHRoaXMuc3RvcFBhc3NpdmVFZmZlY3QmJnRoaXMuc3RvcFBhc3NpdmVFZmZlY3QoKX19ZnVuY3Rpb24gZXQoZSx0KXtyZXR1cm4gbmV3IExhKGUsdCl9ZnVuY3Rpb24gQmEoZSx0LGkpe2UuaGFzVmFsdWUodCk/ZS5nZXRWYWx1ZSh0KS5zZXQoaSk6ZS5hZGRWYWx1ZSh0LGV0KGkpKX1mdW5jdGlvbiBGYShlLHQpe2NvbnN0IGk9RHQoZSx0KTtsZXR7dHJhbnNpdGlvbkVuZDpuPXt9LHRyYW5zaXRpb246bz17fSwuLi5sfT1pfHx7fTtsPXsuLi5sLC4uLm59O2Zvcihjb25zdCByIGluIGwpe2NvbnN0IGM9WnIobFtyXSk7QmEoZSxyLGMpfX1mdW5jdGlvbiBXYShlKXtyZXR1cm4hIShVKGUpJiZlLmFkZCl9ZnVuY3Rpb24gWnQoZSx0KXtjb25zdCBpPWUuZ2V0VmFsdWUoIndpbGxDaGFuZ2UiKTtpZihXYShpKSlyZXR1cm4gaS5hZGQodCl9ZnVuY3Rpb24gaW8oZSl7cmV0dXJuIGUucHJvcHNbSXNdfWNvbnN0IG5vPShlLHQsaSk9PigoKDEtMyppKzMqdCkqZSsoMyppLTYqdCkpKmUrMyp0KSplLE9hPTFlLTcsTmE9MTI7ZnVuY3Rpb24gVWEoZSx0LGksbixvKXtsZXQgbCxyLGM9MDtkbyByPXQrKGktdCkvMixsPW5vKHIsbixvKS1lLGw+MD9pPXI6dD1yO3doaWxlKE1hdGguYWJzKGwpPk9hJiYrK2M8TmEpO3JldHVybiByfWZ1bmN0aW9uIHN0KGUsdCxpLG4pe2lmKGU9PT10JiZpPT09bilyZXR1cm4gWDtjb25zdCBvPWw9PlVhKGwsMCwxLGUsaSk7cmV0dXJuIGw9Pmw9PT0wfHxsPT09MT9sOm5vKG8obCksdCxuKX1jb25zdCBzbz1lPT50PT50PD0uNT9lKDIqdCkvMjooMi1lKDIqKDEtdCkpKS8yLG9vPWU9PnQ9PjEtZSgxLXQpLHJvPXN0KC4zMywxLjUzLC42OSwuOTkpLHppPW9vKHJvKSxhbz1zbyh6aSksbG89ZT0+KGUqPTIpPDE/LjUqemkoZSk6LjUqKDItTWF0aC5wb3coMiwtMTAqKGUtMSkpKSxMaT1lPT4xLU1hdGguc2luKE1hdGguYWNvcyhlKSksY289b28oTGkpLHVvPXNvKExpKSxobz1lPT4vXjBbXi5cc10rJC91LnRlc3QoZSk7ZnVuY3Rpb24gJGEoZSl7cmV0dXJuIHR5cGVvZiBlPT0ibnVtYmVyIj9lPT09MDplIT09bnVsbD9lPT09Im5vbmUifHxlPT09IjAifHxobyhlKTohMH1jb25zdCBZZT1lPT5NYXRoLnJvdW5kKGUqMWU1KS8xZTUsQmk9Ly0/KD86XGQrKD86XC5cZCspP3xcLlxkKykvZ3U7ZnVuY3Rpb24gX2EoZSl7cmV0dXJuIGU9PW51bGx9Y29uc3QgSGE9L14oPzojW1xkYS1mXXszLDh9fCg/OnJnYnxoc2wpYT9cKCg/Oi0/W1xkLl0rJT9bLFxzXSspezJ9LT9bXGQuXSslP1xzKig/OlssL11ccyopPyg/OlxiXGQrKD86XC5cZCspP3xcLlxkKyk/JT9cKSkkL2l1LEZpPShlLHQpPT5pPT4hISh0eXBlb2YgaT09InN0cmluZyImJkhhLnRlc3QoaSkmJmkuc3RhcnRzV2l0aChlKXx8dCYmIV9hKGkpJiZPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoaSx0KSksZm89KGUsdCxpKT0+bj0+e2lmKHR5cGVvZiBuIT0ic3RyaW5nIilyZXR1cm4gbjtjb25zdFtvLGwscixjXT1uLm1hdGNoKEJpKTtyZXR1cm57W2VdOnBhcnNlRmxvYXQobyksW3RdOnBhcnNlRmxvYXQobCksW2ldOnBhcnNlRmxvYXQociksYWxwaGE6YyE9PXZvaWQgMD9wYXJzZUZsb2F0KGMpOjF9fSxLYT1lPT5sZSgwLDI1NSxlKSxCdD17Li4uRmUsdHJhbnNmb3JtOmU9Pk1hdGgucm91bmQoS2EoZSkpfSx2ZT17dGVzdDpGaSgicmdiIiwicmVkIikscGFyc2U6Zm8oInJlZCIsImdyZWVuIiwiYmx1ZSIpLHRyYW5zZm9ybTooe3JlZDplLGdyZWVuOnQsYmx1ZTppLGFscGhhOm49MX0pPT4icmdiYSgiK0J0LnRyYW5zZm9ybShlKSsiLCAiK0J0LnRyYW5zZm9ybSh0KSsiLCAiK0J0LnRyYW5zZm9ybShpKSsiLCAiK1llKFFlLnRyYW5zZm9ybShuKSkrIikifTtmdW5jdGlvbiBHYShlKXtsZXQgdD0iIixpPSIiLG49IiIsbz0iIjtyZXR1cm4gZS5sZW5ndGg+NT8odD1lLnN1YnN0cmluZygxLDMpLGk9ZS5zdWJzdHJpbmcoMyw1KSxuPWUuc3Vic3RyaW5nKDUsNyksbz1lLnN1YnN0cmluZyg3LDkpKToodD1lLnN1YnN0cmluZygxLDIpLGk9ZS5zdWJzdHJpbmcoMiwzKSxuPWUuc3Vic3RyaW5nKDMsNCksbz1lLnN1YnN0cmluZyg0LDUpLHQrPXQsaSs9aSxuKz1uLG8rPW8pLHtyZWQ6cGFyc2VJbnQodCwxNiksZ3JlZW46cGFyc2VJbnQoaSwxNiksYmx1ZTpwYXJzZUludChuLDE2KSxhbHBoYTpvP3BhcnNlSW50KG8sMTYpLzI1NToxfX1jb25zdCBKdD17dGVzdDpGaSgiIyIpLHBhcnNlOkdhLHRyYW5zZm9ybTp2ZS50cmFuc2Zvcm19LENlPXt0ZXN0OkZpKCJoc2wiLCJodWUiKSxwYXJzZTpmbygiaHVlIiwic2F0dXJhdGlvbiIsImxpZ2h0bmVzcyIpLHRyYW5zZm9ybTooe2h1ZTplLHNhdHVyYXRpb246dCxsaWdodG5lc3M6aSxhbHBoYTpuPTF9KT0+ImhzbGEoIitNYXRoLnJvdW5kKGUpKyIsICIrb2UudHJhbnNmb3JtKFllKHQpKSsiLCAiK29lLnRyYW5zZm9ybShZZShpKSkrIiwgIitZZShRZS50cmFuc2Zvcm0obikpKyIpIn0sXz17dGVzdDplPT52ZS50ZXN0KGUpfHxKdC50ZXN0KGUpfHxDZS50ZXN0KGUpLHBhcnNlOmU9PnZlLnRlc3QoZSk/dmUucGFyc2UoZSk6Q2UudGVzdChlKT9DZS5wYXJzZShlKTpKdC5wYXJzZShlKSx0cmFuc2Zvcm06ZT0+dHlwZW9mIGU9PSJzdHJpbmciP2U6ZS5oYXNPd25Qcm9wZXJ0eSgicmVkIik/dmUudHJhbnNmb3JtKGUpOkNlLnRyYW5zZm9ybShlKX0sWWE9Lyg/OiNbXGRhLWZdezMsOH18KD86cmdifGhzbClhP1woKD86LT9bXGQuXSslP1ssXHNdKyl7Mn0tP1tcZC5dKyU/XHMqKD86WywvXVxzKik/KD86XGJcZCsoPzpcLlxkKyk/fFwuXGQrKT8lP1wpKS9naXU7ZnVuY3Rpb24gWGEoZSl7dmFyIHQsaTtyZXR1cm4gaXNOYU4oZSkmJnR5cGVvZiBlPT0ic3RyaW5nIiYmKCgodD1lLm1hdGNoKEJpKSk9PT1udWxsfHx0PT09dm9pZCAwP3ZvaWQgMDp0Lmxlbmd0aCl8fDApKygoKGk9ZS5tYXRjaChZYSkpPT09bnVsbHx8aT09PXZvaWQgMD92b2lkIDA6aS5sZW5ndGgpfHwwKT4wfWNvbnN0IHBvPSJudW1iZXIiLG1vPSJjb2xvciIscWE9InZhciIsWmE9InZhcigiLHZuPSIke30iLEphPS92YXJccypcKFxzKi0tKD86W1x3LV0rXHMqfFtcdy1dK1xzKiwoPzpccypbXikoXHNdfFxzKlwoKD86W14pKF18XChbXikoXSpcKSkqXCkpK1xzKilcKXwjW1xkYS1mXXszLDh9fCg/OnJnYnxoc2wpYT9cKCg/Oi0/W1xkLl0rJT9bLFxzXSspezJ9LT9bXGQuXSslP1xzKig/OlssL11ccyopPyg/OlxiXGQrKD86XC5cZCspP3xcLlxkKyk/JT9cKXwtPyg/OlxkKyg/OlwuXGQrKT98XC5cZCspL2dpdTtmdW5jdGlvbiB0dChlKXtjb25zdCB0PWUudG9TdHJpbmcoKSxpPVtdLG49e2NvbG9yOltdLG51bWJlcjpbXSx2YXI6W119LG89W107bGV0IGw9MDtjb25zdCBjPXQucmVwbGFjZShKYSxkPT4oXy50ZXN0KGQpPyhuLmNvbG9yLnB1c2gobCksby5wdXNoKG1vKSxpLnB1c2goXy5wYXJzZShkKSkpOmQuc3RhcnRzV2l0aChaYSk/KG4udmFyLnB1c2gobCksby5wdXNoKHFhKSxpLnB1c2goZCkpOihuLm51bWJlci5wdXNoKGwpLG8ucHVzaChwbyksaS5wdXNoKHBhcnNlRmxvYXQoZCkpKSwrK2wsdm4pKS5zcGxpdCh2bik7cmV0dXJue3ZhbHVlczppLHNwbGl0OmMsaW5kZXhlczpuLHR5cGVzOm99fWZ1bmN0aW9uIGdvKGUpe3JldHVybiB0dChlKS52YWx1ZXN9ZnVuY3Rpb24geW8oZSl7Y29uc3R7c3BsaXQ6dCx0eXBlczppfT10dChlKSxuPXQubGVuZ3RoO3JldHVybiBvPT57bGV0IGw9IiI7Zm9yKGxldCByPTA7cjxuO3IrKylpZihsKz10W3JdLG9bcl0hPT12b2lkIDApe2NvbnN0IGM9aVtyXTtjPT09cG8/bCs9WWUob1tyXSk6Yz09PW1vP2wrPV8udHJhbnNmb3JtKG9bcl0pOmwrPW9bcl19cmV0dXJuIGx9fWNvbnN0IFFhPWU9PnR5cGVvZiBlPT0ibnVtYmVyIj8wOmU7ZnVuY3Rpb24gZWwoZSl7Y29uc3QgdD1nbyhlKTtyZXR1cm4geW8oZSkodC5tYXAoUWEpKX1jb25zdCBoZT17dGVzdDpYYSxwYXJzZTpnbyxjcmVhdGVUcmFuc2Zvcm1lcjp5byxnZXRBbmltYXRhYmxlTm9uZTplbH0sdGw9bmV3IFNldChbImJyaWdodG5lc3MiLCJjb250cmFzdCIsInNhdHVyYXRlIiwib3BhY2l0eSJdKTtmdW5jdGlvbiBpbChlKXtjb25zdFt0LGldPWUuc2xpY2UoMCwtMSkuc3BsaXQoIigiKTtpZih0PT09ImRyb3Atc2hhZG93IilyZXR1cm4gZTtjb25zdFtuXT1pLm1hdGNoKEJpKXx8W107aWYoIW4pcmV0dXJuIGU7Y29uc3Qgbz1pLnJlcGxhY2UobiwiIik7bGV0IGw9dGwuaGFzKHQpPzE6MDtyZXR1cm4gbiE9PWkmJihsKj0xMDApLHQrIigiK2wrbysiKSJ9Y29uc3Qgbmw9L1xiKFthLXotXSopXCguKj9cKS9ndSxRdD17Li4uaGUsZ2V0QW5pbWF0YWJsZU5vbmU6ZT0+e2NvbnN0IHQ9ZS5tYXRjaChubCk7cmV0dXJuIHQ/dC5tYXAoaWwpLmpvaW4oIiAiKTplfX0sc2w9ey4uLndpLGNvbG9yOl8sYmFja2dyb3VuZENvbG9yOl8sb3V0bGluZUNvbG9yOl8sZmlsbDpfLHN0cm9rZTpfLGJvcmRlckNvbG9yOl8sYm9yZGVyVG9wQ29sb3I6Xyxib3JkZXJSaWdodENvbG9yOl8sYm9yZGVyQm90dG9tQ29sb3I6Xyxib3JkZXJMZWZ0Q29sb3I6XyxmaWx0ZXI6UXQsV2Via2l0RmlsdGVyOlF0fSxXaT1lPT5zbFtlXTtmdW5jdGlvbiB4byhlLHQpe2xldCBpPVdpKGUpO3JldHVybiBpIT09UXQmJihpPWhlKSxpLmdldEFuaW1hdGFibGVOb25lP2kuZ2V0QW5pbWF0YWJsZU5vbmUodCk6dm9pZCAwfWNvbnN0IG9sPW5ldyBTZXQoWyJhdXRvIiwibm9uZSIsIjAiXSk7ZnVuY3Rpb24gcmwoZSx0LGkpe2xldCBuPTAsbztmb3IoO248ZS5sZW5ndGgmJiFvOyl7Y29uc3QgbD1lW25dO3R5cGVvZiBsPT0ic3RyaW5nIiYmIW9sLmhhcyhsKSYmdHQobCkudmFsdWVzLmxlbmd0aCYmKG89ZVtuXSksbisrfWlmKG8mJmkpZm9yKGNvbnN0IGwgb2YgdCllW2xdPXhvKGksbyl9Y29uc3QgYm49ZT0+ZT09PUZlfHxlPT09QyxTbj0oZSx0KT0+cGFyc2VGbG9hdChlLnNwbGl0KCIsICIpW3RdKSxqbj0oZSx0KT0+KGkse3RyYW5zZm9ybTpufSk9PntpZihuPT09Im5vbmUifHwhbilyZXR1cm4gMDtjb25zdCBvPW4ubWF0Y2goL15tYXRyaXgzZFwoKC4rKVwpJC91KTtpZihvKXJldHVybiBTbihvWzFdLHQpO3tjb25zdCBsPW4ubWF0Y2goL15tYXRyaXhcKCguKylcKSQvdSk7cmV0dXJuIGw/U24obFsxXSxlKTowfX0sYWw9bmV3IFNldChbIngiLCJ5IiwieiJdKSxsbD1CZS5maWx0ZXIoZT0+IWFsLmhhcyhlKSk7ZnVuY3Rpb24gY2woZSl7Y29uc3QgdD1bXTtyZXR1cm4gbGwuZm9yRWFjaChpPT57Y29uc3Qgbj1lLmdldFZhbHVlKGkpO24hPT12b2lkIDAmJih0LnB1c2goW2ksbi5nZXQoKV0pLG4uc2V0KGkuc3RhcnRzV2l0aCgic2NhbGUiKT8xOjApKX0pLHR9Y29uc3QgVmU9e3dpZHRoOih7eDplfSx7cGFkZGluZ0xlZnQ6dD0iMCIscGFkZGluZ1JpZ2h0Omk9IjAifSk9PmUubWF4LWUubWluLXBhcnNlRmxvYXQodCktcGFyc2VGbG9hdChpKSxoZWlnaHQ6KHt5OmV9LHtwYWRkaW5nVG9wOnQ9IjAiLHBhZGRpbmdCb3R0b206aT0iMCJ9KT0+ZS5tYXgtZS5taW4tcGFyc2VGbG9hdCh0KS1wYXJzZUZsb2F0KGkpLHRvcDooZSx7dG9wOnR9KT0+cGFyc2VGbG9hdCh0KSxsZWZ0OihlLHtsZWZ0OnR9KT0+cGFyc2VGbG9hdCh0KSxib3R0b206KHt5OmV9LHt0b3A6dH0pPT5wYXJzZUZsb2F0KHQpKyhlLm1heC1lLm1pbikscmlnaHQ6KHt4OmV9LHtsZWZ0OnR9KT0+cGFyc2VGbG9hdCh0KSsoZS5tYXgtZS5taW4pLHg6am4oNCwxMykseTpqbig1LDE0KX07VmUudHJhbnNsYXRlWD1WZS54O1ZlLnRyYW5zbGF0ZVk9VmUueTtjb25zdCBTZT1uZXcgU2V0O2xldCBlaT0hMSx0aT0hMTtmdW5jdGlvbiB2bygpe2lmKHRpKXtjb25zdCBlPUFycmF5LmZyb20oU2UpLmZpbHRlcihuPT5uLm5lZWRzTWVhc3VyZW1lbnQpLHQ9bmV3IFNldChlLm1hcChuPT5uLmVsZW1lbnQpKSxpPW5ldyBNYXA7dC5mb3JFYWNoKG49Pntjb25zdCBvPWNsKG4pO28ubGVuZ3RoJiYoaS5zZXQobixvKSxuLnJlbmRlcigpKX0pLGUuZm9yRWFjaChuPT5uLm1lYXN1cmVJbml0aWFsU3RhdGUoKSksdC5mb3JFYWNoKG49PntuLnJlbmRlcigpO2NvbnN0IG89aS5nZXQobik7byYmby5mb3JFYWNoKChbbCxyXSk9Pnt2YXIgYzsoYz1uLmdldFZhbHVlKGwpKT09PW51bGx8fGM9PT12b2lkIDB8fGMuc2V0KHIpfSl9KSxlLmZvckVhY2gobj0+bi5tZWFzdXJlRW5kU3RhdGUoKSksZS5mb3JFYWNoKG49PntuLnN1c3BlbmRlZFNjcm9sbFkhPT12b2lkIDAmJndpbmRvdy5zY3JvbGxUbygwLG4uc3VzcGVuZGVkU2Nyb2xsWSl9KX10aT0hMSxlaT0hMSxTZS5mb3JFYWNoKGU9PmUuY29tcGxldGUoKSksU2UuY2xlYXIoKX1mdW5jdGlvbiBibygpe1NlLmZvckVhY2goZT0+e2UucmVhZEtleWZyYW1lcygpLGUubmVlZHNNZWFzdXJlbWVudCYmKHRpPSEwKX0pfWZ1bmN0aW9uIGRsKCl7Ym8oKSx2bygpfWNsYXNzIE9pe2NvbnN0cnVjdG9yKHQsaSxuLG8sbCxyPSExKXt0aGlzLmlzQ29tcGxldGU9ITEsdGhpcy5pc0FzeW5jPSExLHRoaXMubmVlZHNNZWFzdXJlbWVudD0hMSx0aGlzLmlzU2NoZWR1bGVkPSExLHRoaXMudW5yZXNvbHZlZEtleWZyYW1lcz1bLi4udF0sdGhpcy5vbkNvbXBsZXRlPWksdGhpcy5uYW1lPW4sdGhpcy5tb3Rpb25WYWx1ZT1vLHRoaXMuZWxlbWVudD1sLHRoaXMuaXNBc3luYz1yfXNjaGVkdWxlUmVzb2x2ZSgpe3RoaXMuaXNTY2hlZHVsZWQ9ITAsdGhpcy5pc0FzeW5jPyhTZS5hZGQodGhpcyksZWl8fChlaT0hMCx6LnJlYWQoYm8pLHoucmVzb2x2ZUtleWZyYW1lcyh2bykpKToodGhpcy5yZWFkS2V5ZnJhbWVzKCksdGhpcy5jb21wbGV0ZSgpKX1yZWFkS2V5ZnJhbWVzKCl7Y29uc3R7dW5yZXNvbHZlZEtleWZyYW1lczp0LG5hbWU6aSxlbGVtZW50Om4sbW90aW9uVmFsdWU6b309dGhpcztmb3IobGV0IGw9MDtsPHQubGVuZ3RoO2wrKylpZih0W2xdPT09bnVsbClpZihsPT09MCl7Y29uc3Qgcj1vPT1udWxsP3ZvaWQgMDpvLmdldCgpLGM9dFt0Lmxlbmd0aC0xXTtpZihyIT09dm9pZCAwKXRbMF09cjtlbHNlIGlmKG4mJmkpe2NvbnN0IGQ9bi5yZWFkVmFsdWUoaSxjKTtkIT1udWxsJiYodFswXT1kKX10WzBdPT09dm9pZCAwJiYodFswXT1jKSxvJiZyPT09dm9pZCAwJiZvLnNldCh0WzBdKX1lbHNlIHRbbF09dFtsLTFdfXNldEZpbmFsS2V5ZnJhbWUoKXt9bWVhc3VyZUluaXRpYWxTdGF0ZSgpe31yZW5kZXJFbmRTdHlsZXMoKXt9bWVhc3VyZUVuZFN0YXRlKCl7fWNvbXBsZXRlKCl7dGhpcy5pc0NvbXBsZXRlPSEwLHRoaXMub25Db21wbGV0ZSh0aGlzLnVucmVzb2x2ZWRLZXlmcmFtZXMsdGhpcy5maW5hbEtleWZyYW1lKSxTZS5kZWxldGUodGhpcyl9Y2FuY2VsKCl7dGhpcy5pc0NvbXBsZXRlfHwodGhpcy5pc1NjaGVkdWxlZD0hMSxTZS5kZWxldGUodGhpcykpfXJlc3VtZSgpe3RoaXMuaXNDb21wbGV0ZXx8dGhpcy5zY2hlZHVsZVJlc29sdmUoKX19Y29uc3QgU289ZT0+L14tPyg/OlxkKyg/OlwuXGQrKT98XC5cZCspJC91LnRlc3QoZSksdWw9L152YXJcKC0tKD86KFtcdy1dKyl8KFtcdy1dKyksID8oW2EtekEtWlxkICgpJSMuLC1dKykpXCkvdTtmdW5jdGlvbiBobChlKXtjb25zdCB0PXVsLmV4ZWMoZSk7aWYoIXQpcmV0dXJuWyxdO2NvbnN0WyxpLG4sb109dDtyZXR1cm5bYC0tJHtpPz9ufWAsb119ZnVuY3Rpb24gam8oZSx0LGk9MSl7Y29uc3RbbixvXT1obChlKTtpZighbilyZXR1cm47Y29uc3QgbD13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0KS5nZXRQcm9wZXJ0eVZhbHVlKG4pO2lmKGwpe2NvbnN0IHI9bC50cmltKCk7cmV0dXJuIFNvKHIpP3BhcnNlRmxvYXQocik6cn1yZXR1cm4gamkobyk/am8obyx0LGkrMSk6b31jb25zdCB3bz1lPT50PT50LnRlc3QoZSksZmw9e3Rlc3Q6ZT0+ZT09PSJhdXRvIixwYXJzZTplPT5lfSxUbz1bRmUsQyxvZSxjZSxuYSxpYSxmbF0sd249ZT0+VG8uZmluZCh3byhlKSk7Y2xhc3MgUG8gZXh0ZW5kcyBPaXtjb25zdHJ1Y3Rvcih0LGksbixvLGwpe3N1cGVyKHQsaSxuLG8sbCwhMCl9cmVhZEtleWZyYW1lcygpe2NvbnN0e3VucmVzb2x2ZWRLZXlmcmFtZXM6dCxlbGVtZW50OmksbmFtZTpufT10aGlzO2lmKCFpfHwhaS5jdXJyZW50KXJldHVybjtzdXBlci5yZWFkS2V5ZnJhbWVzKCk7Zm9yKGxldCBkPTA7ZDx0Lmxlbmd0aDtkKyspe2xldCB1PXRbZF07aWYodHlwZW9mIHU9PSJzdHJpbmciJiYodT11LnRyaW0oKSxqaSh1KSkpe2NvbnN0IGg9am8odSxpLmN1cnJlbnQpO2ghPT12b2lkIDAmJih0W2RdPWgpLGQ9PT10Lmxlbmd0aC0xJiYodGhpcy5maW5hbEtleWZyYW1lPXUpfX1pZih0aGlzLnJlc29sdmVOb25lS2V5ZnJhbWVzKCksIWVvLmhhcyhuKXx8dC5sZW5ndGghPT0yKXJldHVybjtjb25zdFtvLGxdPXQscj13bihvKSxjPXduKGwpO2lmKHIhPT1jKWlmKGJuKHIpJiZibihjKSlmb3IobGV0IGQ9MDtkPHQubGVuZ3RoO2QrKyl7Y29uc3QgdT10W2RdO3R5cGVvZiB1PT0ic3RyaW5nIiYmKHRbZF09cGFyc2VGbG9hdCh1KSl9ZWxzZSB0aGlzLm5lZWRzTWVhc3VyZW1lbnQ9ITB9cmVzb2x2ZU5vbmVLZXlmcmFtZXMoKXtjb25zdHt1bnJlc29sdmVkS2V5ZnJhbWVzOnQsbmFtZTppfT10aGlzLG49W107Zm9yKGxldCBvPTA7bzx0Lmxlbmd0aDtvKyspJGEodFtvXSkmJm4ucHVzaChvKTtuLmxlbmd0aCYmcmwodCxuLGkpfW1lYXN1cmVJbml0aWFsU3RhdGUoKXtjb25zdHtlbGVtZW50OnQsdW5yZXNvbHZlZEtleWZyYW1lczppLG5hbWU6bn09dGhpcztpZighdHx8IXQuY3VycmVudClyZXR1cm47bj09PSJoZWlnaHQiJiYodGhpcy5zdXNwZW5kZWRTY3JvbGxZPXdpbmRvdy5wYWdlWU9mZnNldCksdGhpcy5tZWFzdXJlZE9yaWdpbj1WZVtuXSh0Lm1lYXN1cmVWaWV3cG9ydEJveCgpLHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHQuY3VycmVudCkpLGlbMF09dGhpcy5tZWFzdXJlZE9yaWdpbjtjb25zdCBvPWlbaS5sZW5ndGgtMV07byE9PXZvaWQgMCYmdC5nZXRWYWx1ZShuLG8pLmp1bXAobywhMSl9bWVhc3VyZUVuZFN0YXRlKCl7dmFyIHQ7Y29uc3R7ZWxlbWVudDppLG5hbWU6bix1bnJlc29sdmVkS2V5ZnJhbWVzOm99PXRoaXM7aWYoIWl8fCFpLmN1cnJlbnQpcmV0dXJuO2NvbnN0IGw9aS5nZXRWYWx1ZShuKTtsJiZsLmp1bXAodGhpcy5tZWFzdXJlZE9yaWdpbiwhMSk7Y29uc3Qgcj1vLmxlbmd0aC0xLGM9b1tyXTtvW3JdPVZlW25dKGkubWVhc3VyZVZpZXdwb3J0Qm94KCksd2luZG93LmdldENvbXB1dGVkU3R5bGUoaS5jdXJyZW50KSksYyE9PW51bGwmJnRoaXMuZmluYWxLZXlmcmFtZT09PXZvaWQgMCYmKHRoaXMuZmluYWxLZXlmcmFtZT1jKSwhKCh0PXRoaXMucmVtb3ZlZFRyYW5zZm9ybXMpPT09bnVsbHx8dD09PXZvaWQgMCkmJnQubGVuZ3RoJiZ0aGlzLnJlbW92ZWRUcmFuc2Zvcm1zLmZvckVhY2goKFtkLHVdKT0+e2kuZ2V0VmFsdWUoZCkuc2V0KHUpfSksdGhpcy5yZXNvbHZlTm9uZUtleWZyYW1lcygpfX1jb25zdCBUbj0oZSx0KT0+dD09PSJ6SW5kZXgiPyExOiEhKHR5cGVvZiBlPT0ibnVtYmVyInx8QXJyYXkuaXNBcnJheShlKXx8dHlwZW9mIGU9PSJzdHJpbmciJiYoaGUudGVzdChlKXx8ZT09PSIwIikmJiFlLnN0YXJ0c1dpdGgoInVybCgiKSk7ZnVuY3Rpb24gcGwoZSl7Y29uc3QgdD1lWzBdO2lmKGUubGVuZ3RoPT09MSlyZXR1cm4hMDtmb3IobGV0IGk9MDtpPGUubGVuZ3RoO2krKylpZihlW2ldIT09dClyZXR1cm4hMH1mdW5jdGlvbiBtbChlLHQsaSxuKXtjb25zdCBvPWVbMF07aWYobz09PW51bGwpcmV0dXJuITE7aWYodD09PSJkaXNwbGF5Inx8dD09PSJ2aXNpYmlsaXR5IilyZXR1cm4hMDtjb25zdCBsPWVbZS5sZW5ndGgtMV0scj1UbihvLHQpLGM9VG4obCx0KTtyZXR1cm4hcnx8IWM/ITE6cGwoZSl8fChpPT09InNwcmluZyJ8fEl0KGkpKSYmbn1jb25zdCBnbD1lPT5lIT09bnVsbDtmdW5jdGlvbiBWdChlLHtyZXBlYXQ6dCxyZXBlYXRUeXBlOmk9Imxvb3AifSxuKXtjb25zdCBvPWUuZmlsdGVyKGdsKSxsPXQmJmkhPT0ibG9vcCImJnQlMj09PTE/MDpvLmxlbmd0aC0xO3JldHVybiFsfHxuPT09dm9pZCAwP29bbF06bn1jb25zdCB5bD00MDtjbGFzcyBBb3tjb25zdHJ1Y3Rvcih7YXV0b3BsYXk6dD0hMCxkZWxheTppPTAsdHlwZTpuPSJrZXlmcmFtZXMiLHJlcGVhdDpvPTAscmVwZWF0RGVsYXk6bD0wLHJlcGVhdFR5cGU6cj0ibG9vcCIsLi4uY30pe3RoaXMuaXNTdG9wcGVkPSExLHRoaXMuaGFzQXR0ZW1wdGVkUmVzb2x2ZT0hMSx0aGlzLmNyZWF0ZWRBdD1yZS5ub3coKSx0aGlzLm9wdGlvbnM9e2F1dG9wbGF5OnQsZGVsYXk6aSx0eXBlOm4scmVwZWF0Om8scmVwZWF0RGVsYXk6bCxyZXBlYXRUeXBlOnIsLi4uY30sdGhpcy51cGRhdGVGaW5pc2hlZFByb21pc2UoKX1jYWxjU3RhcnRUaW1lKCl7cmV0dXJuIHRoaXMucmVzb2x2ZWRBdD90aGlzLnJlc29sdmVkQXQtdGhpcy5jcmVhdGVkQXQ+eWw/dGhpcy5yZXNvbHZlZEF0OnRoaXMuY3JlYXRlZEF0OnRoaXMuY3JlYXRlZEF0fWdldCByZXNvbHZlZCgpe3JldHVybiF0aGlzLl9yZXNvbHZlZCYmIXRoaXMuaGFzQXR0ZW1wdGVkUmVzb2x2ZSYmZGwoKSx0aGlzLl9yZXNvbHZlZH1vbktleWZyYW1lc1Jlc29sdmVkKHQsaSl7dGhpcy5yZXNvbHZlZEF0PXJlLm5vdygpLHRoaXMuaGFzQXR0ZW1wdGVkUmVzb2x2ZT0hMDtjb25zdHtuYW1lOm4sdHlwZTpvLHZlbG9jaXR5OmwsZGVsYXk6cixvbkNvbXBsZXRlOmMsb25VcGRhdGU6ZCxpc0dlbmVyYXRvcjp1fT10aGlzLm9wdGlvbnM7aWYoIXUmJiFtbCh0LG4sbyxsKSlpZihyKXRoaXMub3B0aW9ucy5kdXJhdGlvbj0wO2Vsc2V7ZCYmZChWdCh0LHRoaXMub3B0aW9ucyxpKSksYyYmYygpLHRoaXMucmVzb2x2ZUZpbmlzaGVkUHJvbWlzZSgpO3JldHVybn1jb25zdCBoPXRoaXMuaW5pdFBsYXliYWNrKHQsaSk7aCE9PSExJiYodGhpcy5fcmVzb2x2ZWQ9e2tleWZyYW1lczp0LGZpbmFsS2V5ZnJhbWU6aSwuLi5ofSx0aGlzLm9uUG9zdFJlc29sdmVkKCkpfW9uUG9zdFJlc29sdmVkKCl7fXRoZW4odCxpKXtyZXR1cm4gdGhpcy5jdXJyZW50RmluaXNoZWRQcm9taXNlLnRoZW4odCxpKX1mbGF0dGVuKCl7dGhpcy5vcHRpb25zLnR5cGU9ImtleWZyYW1lcyIsdGhpcy5vcHRpb25zLmVhc2U9ImxpbmVhciJ9dXBkYXRlRmluaXNoZWRQcm9taXNlKCl7dGhpcy5jdXJyZW50RmluaXNoZWRQcm9taXNlPW5ldyBQcm9taXNlKHQ9Pnt0aGlzLnJlc29sdmVGaW5pc2hlZFByb21pc2U9dH0pfX1jb25zdCBCPShlLHQsaSk9PmUrKHQtZSkqaTtmdW5jdGlvbiBGdChlLHQsaSl7cmV0dXJuIGk8MCYmKGkrPTEpLGk+MSYmKGktPTEpLGk8MS82P2UrKHQtZSkqNippOmk8MS8yP3Q6aTwyLzM/ZSsodC1lKSooMi8zLWkpKjY6ZX1mdW5jdGlvbiB4bCh7aHVlOmUsc2F0dXJhdGlvbjp0LGxpZ2h0bmVzczppLGFscGhhOm59KXtlLz0zNjAsdC89MTAwLGkvPTEwMDtsZXQgbz0wLGw9MCxyPTA7aWYoIXQpbz1sPXI9aTtlbHNle2NvbnN0IGM9aTwuNT9pKigxK3QpOmkrdC1pKnQsZD0yKmktYztvPUZ0KGQsYyxlKzEvMyksbD1GdChkLGMsZSkscj1GdChkLGMsZS0xLzMpfXJldHVybntyZWQ6TWF0aC5yb3VuZChvKjI1NSksZ3JlZW46TWF0aC5yb3VuZChsKjI1NSksYmx1ZTpNYXRoLnJvdW5kKHIqMjU1KSxhbHBoYTpufX1mdW5jdGlvbiBqdChlLHQpe3JldHVybiBpPT5pPjA/dDplfWNvbnN0IFd0PShlLHQsaSk9Pntjb25zdCBuPWUqZSxvPWkqKHQqdC1uKStuO3JldHVybiBvPDA/MDpNYXRoLnNxcnQobyl9LHZsPVtKdCx2ZSxDZV0sYmw9ZT0+dmwuZmluZCh0PT50LnRlc3QoZSkpO2Z1bmN0aW9uIFBuKGUpe2NvbnN0IHQ9YmwoZSk7aWYoIXQpcmV0dXJuITE7bGV0IGk9dC5wYXJzZShlKTtyZXR1cm4gdD09PUNlJiYoaT14bChpKSksaX1jb25zdCBBbj0oZSx0KT0+e2NvbnN0IGk9UG4oZSksbj1Qbih0KTtpZighaXx8IW4pcmV0dXJuIGp0KGUsdCk7Y29uc3Qgbz17Li4uaX07cmV0dXJuIGw9PihvLnJlZD1XdChpLnJlZCxuLnJlZCxsKSxvLmdyZWVuPVd0KGkuZ3JlZW4sbi5ncmVlbixsKSxvLmJsdWU9V3QoaS5ibHVlLG4uYmx1ZSxsKSxvLmFscGhhPUIoaS5hbHBoYSxuLmFscGhhLGwpLHZlLnRyYW5zZm9ybShvKSl9LFNsPShlLHQpPT5pPT50KGUoaSkpLG90PSguLi5lKT0+ZS5yZWR1Y2UoU2wpLGlpPW5ldyBTZXQoWyJub25lIiwiaGlkZGVuIl0pO2Z1bmN0aW9uIGpsKGUsdCl7cmV0dXJuIGlpLmhhcyhlKT9pPT5pPD0wP2U6dDppPT5pPj0xP3Q6ZX1mdW5jdGlvbiB3bChlLHQpe3JldHVybiBpPT5CKGUsdCxpKX1mdW5jdGlvbiBOaShlKXtyZXR1cm4gdHlwZW9mIGU9PSJudW1iZXIiP3dsOnR5cGVvZiBlPT0ic3RyaW5nIj9qaShlKT9qdDpfLnRlc3QoZSk/QW46QWw6QXJyYXkuaXNBcnJheShlKT9rbzp0eXBlb2YgZT09Im9iamVjdCI/Xy50ZXN0KGUpP0FuOlRsOmp0fWZ1bmN0aW9uIGtvKGUsdCl7Y29uc3QgaT1bLi4uZV0sbj1pLmxlbmd0aCxvPWUubWFwKChsLHIpPT5OaShsKShsLHRbcl0pKTtyZXR1cm4gbD0+e2ZvcihsZXQgcj0wO3I8bjtyKyspaVtyXT1vW3JdKGwpO3JldHVybiBpfX1mdW5jdGlvbiBUbChlLHQpe2NvbnN0IGk9ey4uLmUsLi4udH0sbj17fTtmb3IoY29uc3QgbyBpbiBpKWVbb10hPT12b2lkIDAmJnRbb10hPT12b2lkIDAmJihuW29dPU5pKGVbb10pKGVbb10sdFtvXSkpO3JldHVybiBvPT57Zm9yKGNvbnN0IGwgaW4gbilpW2xdPW5bbF0obyk7cmV0dXJuIGl9fWZ1bmN0aW9uIFBsKGUsdCl7dmFyIGk7Y29uc3Qgbj1bXSxvPXtjb2xvcjowLHZhcjowLG51bWJlcjowfTtmb3IobGV0IGw9MDtsPHQudmFsdWVzLmxlbmd0aDtsKyspe2NvbnN0IHI9dC50eXBlc1tsXSxjPWUuaW5kZXhlc1tyXVtvW3JdXSxkPShpPWUudmFsdWVzW2NdKSE9PW51bGwmJmkhPT12b2lkIDA/aTowO25bbF09ZCxvW3JdKyt9cmV0dXJuIG59Y29uc3QgQWw9KGUsdCk9Pntjb25zdCBpPWhlLmNyZWF0ZVRyYW5zZm9ybWVyKHQpLG49dHQoZSksbz10dCh0KTtyZXR1cm4gbi5pbmRleGVzLnZhci5sZW5ndGg9PT1vLmluZGV4ZXMudmFyLmxlbmd0aCYmbi5pbmRleGVzLmNvbG9yLmxlbmd0aD09PW8uaW5kZXhlcy5jb2xvci5sZW5ndGgmJm4uaW5kZXhlcy5udW1iZXIubGVuZ3RoPj1vLmluZGV4ZXMubnVtYmVyLmxlbmd0aD9paS5oYXMoZSkmJiFvLnZhbHVlcy5sZW5ndGh8fGlpLmhhcyh0KSYmIW4udmFsdWVzLmxlbmd0aD9qbChlLHQpOm90KGtvKFBsKG4sbyksby52YWx1ZXMpLGkpOmp0KGUsdCl9O2Z1bmN0aW9uIENvKGUsdCxpKXtyZXR1cm4gdHlwZW9mIGU9PSJudW1iZXIiJiZ0eXBlb2YgdD09Im51bWJlciImJnR5cGVvZiBpPT0ibnVtYmVyIj9CKGUsdCxpKTpOaShlKShlLHQpfWNvbnN0IGtsPTU7ZnVuY3Rpb24gTW8oZSx0LGkpe2NvbnN0IG49TWF0aC5tYXgodC1rbCwwKTtyZXR1cm4gdG8oaS1lKG4pLHQtbil9Y29uc3QgTz17c3RpZmZuZXNzOjEwMCxkYW1waW5nOjEwLG1hc3M6MSx2ZWxvY2l0eTowLGR1cmF0aW9uOjgwMCxib3VuY2U6LjMsdmlzdWFsRHVyYXRpb246LjMscmVzdFNwZWVkOntncmFudWxhcjouMDEsZGVmYXVsdDoyfSxyZXN0RGVsdGE6e2dyYW51bGFyOi4wMDUsZGVmYXVsdDouNX0sbWluRHVyYXRpb246LjAxLG1heER1cmF0aW9uOjEwLG1pbkRhbXBpbmc6LjA1LG1heERhbXBpbmc6MX0sT3Q9LjAwMTtmdW5jdGlvbiBDbCh7ZHVyYXRpb246ZT1PLmR1cmF0aW9uLGJvdW5jZTp0PU8uYm91bmNlLHZlbG9jaXR5Omk9Ty52ZWxvY2l0eSxtYXNzOm49Ty5tYXNzfSl7bGV0IG8sbCxyPTEtdDtyPWxlKE8ubWluRGFtcGluZyxPLm1heERhbXBpbmcsciksZT1sZShPLm1pbkR1cmF0aW9uLE8ubWF4RHVyYXRpb24sc2UoZSkpLHI8MT8obz11PT57Y29uc3QgaD11KnIsZj1oKmUscD1oLWksbT1uaSh1LHIpLGc9TWF0aC5leHAoLWYpO3JldHVybiBPdC1wL20qZ30sbD11PT57Y29uc3QgZj11KnIqZSxwPWYqaStpLG09TWF0aC5wb3cociwyKSpNYXRoLnBvdyh1LDIpKmUsZz1NYXRoLmV4cCgtZiksdj1uaShNYXRoLnBvdyh1LDIpLHIpO3JldHVybigtbyh1KStPdD4wPy0xOjEpKigocC1tKSpnKS92fSk6KG89dT0+e2NvbnN0IGg9TWF0aC5leHAoLXUqZSksZj0odS1pKSplKzE7cmV0dXJuLU90K2gqZn0sbD11PT57Y29uc3QgaD1NYXRoLmV4cCgtdSplKSxmPShpLXUpKihlKmUpO3JldHVybiBoKmZ9KTtjb25zdCBjPTUvZSxkPURsKG8sbCxjKTtpZihlPW5lKGUpLGlzTmFOKGQpKXJldHVybntzdGlmZm5lc3M6Ty5zdGlmZm5lc3MsZGFtcGluZzpPLmRhbXBpbmcsZHVyYXRpb246ZX07e2NvbnN0IHU9TWF0aC5wb3coZCwyKSpuO3JldHVybntzdGlmZm5lc3M6dSxkYW1waW5nOnIqMipNYXRoLnNxcnQobip1KSxkdXJhdGlvbjplfX19Y29uc3QgTWw9MTI7ZnVuY3Rpb24gRGwoZSx0LGkpe2xldCBuPWk7Zm9yKGxldCBvPTE7bzxNbDtvKyspbj1uLWUobikvdChuKTtyZXR1cm4gbn1mdW5jdGlvbiBuaShlLHQpe3JldHVybiBlKk1hdGguc3FydCgxLXQqdCl9Y29uc3QgSWw9WyJkdXJhdGlvbiIsImJvdW5jZSJdLFJsPVsic3RpZmZuZXNzIiwiZGFtcGluZyIsIm1hc3MiXTtmdW5jdGlvbiBrbihlLHQpe3JldHVybiB0LnNvbWUoaT0+ZVtpXSE9PXZvaWQgMCl9ZnVuY3Rpb24gVmwoZSl7bGV0IHQ9e3ZlbG9jaXR5Ok8udmVsb2NpdHksc3RpZmZuZXNzOk8uc3RpZmZuZXNzLGRhbXBpbmc6Ty5kYW1waW5nLG1hc3M6Ty5tYXNzLGlzUmVzb2x2ZWRGcm9tRHVyYXRpb246ITEsLi4uZX07aWYoIWtuKGUsUmwpJiZrbihlLElsKSlpZihlLnZpc3VhbER1cmF0aW9uKXtjb25zdCBpPWUudmlzdWFsRHVyYXRpb24sbj0yKk1hdGguUEkvKGkqMS4yKSxvPW4qbixsPTIqbGUoLjA1LDEsMS0oZS5ib3VuY2V8fDApKSpNYXRoLnNxcnQobyk7dD17Li4udCxtYXNzOk8ubWFzcyxzdGlmZm5lc3M6byxkYW1waW5nOmx9fWVsc2V7Y29uc3QgaT1DbChlKTt0PXsuLi50LC4uLmksbWFzczpPLm1hc3N9LHQuaXNSZXNvbHZlZEZyb21EdXJhdGlvbj0hMH1yZXR1cm4gdH1mdW5jdGlvbiBVaShlPU8udmlzdWFsRHVyYXRpb24sdD1PLmJvdW5jZSl7Y29uc3QgaT10eXBlb2YgZSE9Im9iamVjdCI/e3Zpc3VhbER1cmF0aW9uOmUsa2V5ZnJhbWVzOlswLDFdLGJvdW5jZTp0fTplO2xldHtyZXN0U3BlZWQ6bixyZXN0RGVsdGE6b309aTtjb25zdCBsPWkua2V5ZnJhbWVzWzBdLHI9aS5rZXlmcmFtZXNbaS5rZXlmcmFtZXMubGVuZ3RoLTFdLGM9e2RvbmU6ITEsdmFsdWU6bH0se3N0aWZmbmVzczpkLGRhbXBpbmc6dSxtYXNzOmgsZHVyYXRpb246Zix2ZWxvY2l0eTpwLGlzUmVzb2x2ZWRGcm9tRHVyYXRpb246bX09Vmwoey4uLmksdmVsb2NpdHk6LXNlKGkudmVsb2NpdHl8fDApfSksZz1wfHwwLHY9dS8oMipNYXRoLnNxcnQoZCpoKSksUz1yLWwsYj1zZShNYXRoLnNxcnQoZC9oKSksdz1NYXRoLmFicyhTKTw1O258fChuPXc/Ty5yZXN0U3BlZWQuZ3JhbnVsYXI6Ty5yZXN0U3BlZWQuZGVmYXVsdCksb3x8KG89dz9PLnJlc3REZWx0YS5ncmFudWxhcjpPLnJlc3REZWx0YS5kZWZhdWx0KTtsZXQgVDtpZih2PDEpe2NvbnN0IGo9bmkoYix2KTtUPUE9Pntjb25zdCBFPU1hdGguZXhwKC12KmIqQSk7cmV0dXJuIHItRSooKGcrdipiKlMpL2oqTWF0aC5zaW4oaipBKStTKk1hdGguY29zKGoqQSkpfX1lbHNlIGlmKHY9PT0xKVQ9aj0+ci1NYXRoLmV4cCgtYipqKSooUysoZytiKlMpKmopO2Vsc2V7Y29uc3Qgaj1iKk1hdGguc3FydCh2KnYtMSk7VD1BPT57Y29uc3QgRT1NYXRoLmV4cCgtdipiKkEpLGs9TWF0aC5taW4oaipBLDMwMCk7cmV0dXJuIHItRSooKGcrdipiKlMpKk1hdGguc2luaChrKStqKlMqTWF0aC5jb3NoKGspKS9qfX1jb25zdCBQPXtjYWxjdWxhdGVkRHVyYXRpb246bSYmZnx8bnVsbCxuZXh0Omo9Pntjb25zdCBBPVQoaik7aWYobSljLmRvbmU9aj49ZjtlbHNle2xldCBFPTA7djwxJiYoRT1qPT09MD9uZShnKTpNbyhULGosQSkpO2NvbnN0IGs9TWF0aC5hYnMoRSk8PW4sRD1NYXRoLmFicyhyLUEpPD1vO2MuZG9uZT1rJiZEfXJldHVybiBjLnZhbHVlPWMuZG9uZT9yOkEsY30sdG9TdHJpbmc6KCk9Pntjb25zdCBqPU1hdGgubWluKERpKFApLGJ0KSxBPUdzKEU9PlAubmV4dChqKkUpLnZhbHVlLGosMzApO3JldHVybiBqKyJtcyAiK0F9fTtyZXR1cm4gUH1mdW5jdGlvbiBDbih7a2V5ZnJhbWVzOmUsdmVsb2NpdHk6dD0wLHBvd2VyOmk9LjgsdGltZUNvbnN0YW50Om49MzI1LGJvdW5jZURhbXBpbmc6bz0xMCxib3VuY2VTdGlmZm5lc3M6bD01MDAsbW9kaWZ5VGFyZ2V0OnIsbWluOmMsbWF4OmQscmVzdERlbHRhOnU9LjUscmVzdFNwZWVkOmh9KXtjb25zdCBmPWVbMF0scD17ZG9uZTohMSx2YWx1ZTpmfSxtPWs9PmMhPT12b2lkIDAmJms8Y3x8ZCE9PXZvaWQgMCYmaz5kLGc9az0+Yz09PXZvaWQgMD9kOmQ9PT12b2lkIDB8fE1hdGguYWJzKGMtayk8TWF0aC5hYnMoZC1rKT9jOmQ7bGV0IHY9aSp0O2NvbnN0IFM9Zit2LGI9cj09PXZvaWQgMD9TOnIoUyk7YiE9PVMmJih2PWItZik7Y29uc3Qgdz1rPT4tdipNYXRoLmV4cCgtay9uKSxUPWs9PmIrdyhrKSxQPWs9Pntjb25zdCBEPXcoayksVj1UKGspO3AuZG9uZT1NYXRoLmFicyhEKTw9dSxwLnZhbHVlPXAuZG9uZT9iOlZ9O2xldCBqLEE7Y29uc3QgRT1rPT57bShwLnZhbHVlKSYmKGo9ayxBPVVpKHtrZXlmcmFtZXM6W3AudmFsdWUsZyhwLnZhbHVlKV0sdmVsb2NpdHk6TW8oVCxrLHAudmFsdWUpLGRhbXBpbmc6byxzdGlmZm5lc3M6bCxyZXN0RGVsdGE6dSxyZXN0U3BlZWQ6aH0pKX07cmV0dXJuIEUoMCkse2NhbGN1bGF0ZWREdXJhdGlvbjpudWxsLG5leHQ6az0+e2xldCBEPSExO3JldHVybiFBJiZqPT09dm9pZCAwJiYoRD0hMCxQKGspLEUoaykpLGohPT12b2lkIDAmJms+PWo/QS5uZXh0KGstaik6KCFEJiZQKGspLHApfX19Y29uc3QgRWw9c3QoLjQyLDAsMSwxKSx6bD1zdCgwLDAsLjU4LDEpLERvPXN0KC40MiwwLC41OCwxKSxJbz1lPT5BcnJheS5pc0FycmF5KGUpJiZ0eXBlb2YgZVswXSE9Im51bWJlciIsTGw9e2xpbmVhcjpYLGVhc2VJbjpFbCxlYXNlSW5PdXQ6RG8sZWFzZU91dDp6bCxjaXJjSW46TGksY2lyY0luT3V0OnVvLGNpcmNPdXQ6Y28sYmFja0luOnppLGJhY2tJbk91dDphbyxiYWNrT3V0OnJvLGFudGljaXBhdGU6bG99LE1uPWU9PntpZihJaShlKSl7QXMoZS5sZW5ndGg9PT00KTtjb25zdFt0LGksbixvXT1lO3JldHVybiBzdCh0LGksbixvKX1lbHNlIGlmKHR5cGVvZiBlPT0ic3RyaW5nIilyZXR1cm4gTGxbZV07cmV0dXJuIGV9O2Z1bmN0aW9uIEJsKGUsdCxpKXtjb25zdCBuPVtdLG89aXx8Q28sbD1lLmxlbmd0aC0xO2ZvcihsZXQgcj0wO3I8bDtyKyspe2xldCBjPW8oZVtyXSxlW3IrMV0pO2lmKHQpe2NvbnN0IGQ9QXJyYXkuaXNBcnJheSh0KT90W3JdfHxYOnQ7Yz1vdChkLGMpfW4ucHVzaChjKX1yZXR1cm4gbn1mdW5jdGlvbiBGbChlLHQse2NsYW1wOmk9ITAsZWFzZTpuLG1peGVyOm99PXt9KXtjb25zdCBsPWUubGVuZ3RoO2lmKEFzKGw9PT10Lmxlbmd0aCksbD09PTEpcmV0dXJuKCk9PnRbMF07aWYobD09PTImJnRbMF09PT10WzFdKXJldHVybigpPT50WzFdO2NvbnN0IHI9ZVswXT09PWVbMV07ZVswXT5lW2wtMV0mJihlPVsuLi5lXS5yZXZlcnNlKCksdD1bLi4udF0ucmV2ZXJzZSgpKTtjb25zdCBjPUJsKHQsbixvKSxkPWMubGVuZ3RoLHU9aD0+e2lmKHImJmg8ZVswXSlyZXR1cm4gdFswXTtsZXQgZj0wO2lmKGQ+MSlmb3IoO2Y8ZS5sZW5ndGgtMiYmIShoPGVbZisxXSk7ZisrKTtjb25zdCBwPWplKGVbZl0sZVtmKzFdLGgpO3JldHVybiBjW2ZdKHApfTtyZXR1cm4gaT9oPT51KGxlKGVbMF0sZVtsLTFdLGgpKTp1fWZ1bmN0aW9uIFJvKGUsdCl7Y29uc3QgaT1lW2UubGVuZ3RoLTFdO2ZvcihsZXQgbj0xO248PXQ7bisrKXtjb25zdCBvPWplKDAsdCxuKTtlLnB1c2goQihpLDEsbykpfX1mdW5jdGlvbiBWbyhlKXtjb25zdCB0PVswXTtyZXR1cm4gUm8odCxlLmxlbmd0aC0xKSx0fWZ1bmN0aW9uIFdsKGUsdCl7cmV0dXJuIGUubWFwKGk9PmkqdCl9ZnVuY3Rpb24gT2woZSx0KXtyZXR1cm4gZS5tYXAoKCk9PnR8fERvKS5zcGxpY2UoMCxlLmxlbmd0aC0xKX1mdW5jdGlvbiB3dCh7ZHVyYXRpb246ZT0zMDAsa2V5ZnJhbWVzOnQsdGltZXM6aSxlYXNlOm49ImVhc2VJbk91dCJ9KXtjb25zdCBvPUlvKG4pP24ubWFwKE1uKTpNbihuKSxsPXtkb25lOiExLHZhbHVlOnRbMF19LHI9V2woaSYmaS5sZW5ndGg9PT10Lmxlbmd0aD9pOlZvKHQpLGUpLGM9Rmwocix0LHtlYXNlOkFycmF5LmlzQXJyYXkobyk/bzpPbCh0LG8pfSk7cmV0dXJue2NhbGN1bGF0ZWREdXJhdGlvbjplLG5leHQ6ZD0+KGwudmFsdWU9YyhkKSxsLmRvbmU9ZD49ZSxsKX19Y29uc3QgTmw9ZT0+e2NvbnN0IHQ9KHt0aW1lc3RhbXA6aX0pPT5lKGkpO3JldHVybntzdGFydDooKT0+ei51cGRhdGUodCwhMCksc3RvcDooKT0+dWUodCksbm93OigpPT4kLmlzUHJvY2Vzc2luZz8kLnRpbWVzdGFtcDpyZS5ub3coKX19LFVsPXtkZWNheTpDbixpbmVydGlhOkNuLHR3ZWVuOnd0LGtleWZyYW1lczp3dCxzcHJpbmc6VWl9LCRsPWU9PmUvMTAwO2NsYXNzICRpIGV4dGVuZHMgQW97Y29uc3RydWN0b3IodCl7c3VwZXIodCksdGhpcy5ob2xkVGltZT1udWxsLHRoaXMuY2FuY2VsVGltZT1udWxsLHRoaXMuY3VycmVudFRpbWU9MCx0aGlzLnBsYXliYWNrU3BlZWQ9MSx0aGlzLnBlbmRpbmdQbGF5U3RhdGU9InJ1bm5pbmciLHRoaXMuc3RhcnRUaW1lPW51bGwsdGhpcy5zdGF0ZT0iaWRsZSIsdGhpcy5zdG9wPSgpPT57aWYodGhpcy5yZXNvbHZlci5jYW5jZWwoKSx0aGlzLmlzU3RvcHBlZD0hMCx0aGlzLnN0YXRlPT09ImlkbGUiKXJldHVybjt0aGlzLnRlYXJkb3duKCk7Y29uc3R7b25TdG9wOmR9PXRoaXMub3B0aW9ucztkJiZkKCl9O2NvbnN0e25hbWU6aSxtb3Rpb25WYWx1ZTpuLGVsZW1lbnQ6byxrZXlmcmFtZXM6bH09dGhpcy5vcHRpb25zLHI9KG89PW51bGw/dm9pZCAwOm8uS2V5ZnJhbWVSZXNvbHZlcil8fE9pLGM9KGQsdSk9PnRoaXMub25LZXlmcmFtZXNSZXNvbHZlZChkLHUpO3RoaXMucmVzb2x2ZXI9bmV3IHIobCxjLGksbixvKSx0aGlzLnJlc29sdmVyLnNjaGVkdWxlUmVzb2x2ZSgpfWZsYXR0ZW4oKXtzdXBlci5mbGF0dGVuKCksdGhpcy5fcmVzb2x2ZWQmJk9iamVjdC5hc3NpZ24odGhpcy5fcmVzb2x2ZWQsdGhpcy5pbml0UGxheWJhY2sodGhpcy5fcmVzb2x2ZWQua2V5ZnJhbWVzKSl9aW5pdFBsYXliYWNrKHQpe2NvbnN0e3R5cGU6aT0ia2V5ZnJhbWVzIixyZXBlYXQ6bj0wLHJlcGVhdERlbGF5Om89MCxyZXBlYXRUeXBlOmwsdmVsb2NpdHk6cj0wfT10aGlzLm9wdGlvbnMsYz1JdChpKT9pOlVsW2ldfHx3dDtsZXQgZCx1O2MhPT13dCYmdHlwZW9mIHRbMF0hPSJudW1iZXIiJiYoZD1vdCgkbCxDbyh0WzBdLHRbMV0pKSx0PVswLDEwMF0pO2NvbnN0IGg9Yyh7Li4udGhpcy5vcHRpb25zLGtleWZyYW1lczp0fSk7bD09PSJtaXJyb3IiJiYodT1jKHsuLi50aGlzLm9wdGlvbnMsa2V5ZnJhbWVzOlsuLi50XS5yZXZlcnNlKCksdmVsb2NpdHk6LXJ9KSksaC5jYWxjdWxhdGVkRHVyYXRpb249PT1udWxsJiYoaC5jYWxjdWxhdGVkRHVyYXRpb249RGkoaCkpO2NvbnN0e2NhbGN1bGF0ZWREdXJhdGlvbjpmfT1oLHA9ZitvLG09cCoobisxKS1vO3JldHVybntnZW5lcmF0b3I6aCxtaXJyb3JlZEdlbmVyYXRvcjp1LG1hcFBlcmNlbnRUb0tleWZyYW1lczpkLGNhbGN1bGF0ZWREdXJhdGlvbjpmLHJlc29sdmVkRHVyYXRpb246cCx0b3RhbER1cmF0aW9uOm19fW9uUG9zdFJlc29sdmVkKCl7Y29uc3R7YXV0b3BsYXk6dD0hMH09dGhpcy5vcHRpb25zO3RoaXMucGxheSgpLHRoaXMucGVuZGluZ1BsYXlTdGF0ZT09PSJwYXVzZWQifHwhdD90aGlzLnBhdXNlKCk6dGhpcy5zdGF0ZT10aGlzLnBlbmRpbmdQbGF5U3RhdGV9dGljayh0LGk9ITEpe2NvbnN0e3Jlc29sdmVkOm59PXRoaXM7aWYoIW4pe2NvbnN0e2tleWZyYW1lczprfT10aGlzLm9wdGlvbnM7cmV0dXJue2RvbmU6ITAsdmFsdWU6a1trLmxlbmd0aC0xXX19Y29uc3R7ZmluYWxLZXlmcmFtZTpvLGdlbmVyYXRvcjpsLG1pcnJvcmVkR2VuZXJhdG9yOnIsbWFwUGVyY2VudFRvS2V5ZnJhbWVzOmMsa2V5ZnJhbWVzOmQsY2FsY3VsYXRlZER1cmF0aW9uOnUsdG90YWxEdXJhdGlvbjpoLHJlc29sdmVkRHVyYXRpb246Zn09bjtpZih0aGlzLnN0YXJ0VGltZT09PW51bGwpcmV0dXJuIGwubmV4dCgwKTtjb25zdHtkZWxheTpwLHJlcGVhdDptLHJlcGVhdFR5cGU6ZyxyZXBlYXREZWxheTp2LG9uVXBkYXRlOlN9PXRoaXMub3B0aW9uczt0aGlzLnNwZWVkPjA/dGhpcy5zdGFydFRpbWU9TWF0aC5taW4odGhpcy5zdGFydFRpbWUsdCk6dGhpcy5zcGVlZDwwJiYodGhpcy5zdGFydFRpbWU9TWF0aC5taW4odC1oL3RoaXMuc3BlZWQsdGhpcy5zdGFydFRpbWUpKSxpP3RoaXMuY3VycmVudFRpbWU9dDp0aGlzLmhvbGRUaW1lIT09bnVsbD90aGlzLmN1cnJlbnRUaW1lPXRoaXMuaG9sZFRpbWU6dGhpcy5jdXJyZW50VGltZT1NYXRoLnJvdW5kKHQtdGhpcy5zdGFydFRpbWUpKnRoaXMuc3BlZWQ7Y29uc3QgYj10aGlzLmN1cnJlbnRUaW1lLXAqKHRoaXMuc3BlZWQ+PTA/MTotMSksdz10aGlzLnNwZWVkPj0wP2I8MDpiPmg7dGhpcy5jdXJyZW50VGltZT1NYXRoLm1heChiLDApLHRoaXMuc3RhdGU9PT0iZmluaXNoZWQiJiZ0aGlzLmhvbGRUaW1lPT09bnVsbCYmKHRoaXMuY3VycmVudFRpbWU9aCk7bGV0IFQ9dGhpcy5jdXJyZW50VGltZSxQPWw7aWYobSl7Y29uc3Qgaz1NYXRoLm1pbih0aGlzLmN1cnJlbnRUaW1lLGgpL2Y7bGV0IEQ9TWF0aC5mbG9vcihrKSxWPWslMTshViYmaz49MSYmKFY9MSksVj09PTEmJkQtLSxEPU1hdGgubWluKEQsbSsxKSwhIShEJTIpJiYoZz09PSJyZXZlcnNlIj8oVj0xLVYsdiYmKFYtPXYvZikpOmc9PT0ibWlycm9yIiYmKFA9cikpLFQ9bGUoMCwxLFYpKmZ9Y29uc3Qgaj13P3tkb25lOiExLHZhbHVlOmRbMF19OlAubmV4dChUKTtjJiYoai52YWx1ZT1jKGoudmFsdWUpKTtsZXR7ZG9uZTpBfT1qOyF3JiZ1IT09bnVsbCYmKEE9dGhpcy5zcGVlZD49MD90aGlzLmN1cnJlbnRUaW1lPj1oOnRoaXMuY3VycmVudFRpbWU8PTApO2NvbnN0IEU9dGhpcy5ob2xkVGltZT09PW51bGwmJih0aGlzLnN0YXRlPT09ImZpbmlzaGVkInx8dGhpcy5zdGF0ZT09PSJydW5uaW5nIiYmQSk7cmV0dXJuIEUmJm8hPT12b2lkIDAmJihqLnZhbHVlPVZ0KGQsdGhpcy5vcHRpb25zLG8pKSxTJiZTKGoudmFsdWUpLEUmJnRoaXMuZmluaXNoKCksan1nZXQgZHVyYXRpb24oKXtjb25zdHtyZXNvbHZlZDp0fT10aGlzO3JldHVybiB0P3NlKHQuY2FsY3VsYXRlZER1cmF0aW9uKTowfWdldCB0aW1lKCl7cmV0dXJuIHNlKHRoaXMuY3VycmVudFRpbWUpfXNldCB0aW1lKHQpe3Q9bmUodCksdGhpcy5jdXJyZW50VGltZT10LHRoaXMuaG9sZFRpbWUhPT1udWxsfHx0aGlzLnNwZWVkPT09MD90aGlzLmhvbGRUaW1lPXQ6dGhpcy5kcml2ZXImJih0aGlzLnN0YXJ0VGltZT10aGlzLmRyaXZlci5ub3coKS10L3RoaXMuc3BlZWQpfWdldCBzcGVlZCgpe3JldHVybiB0aGlzLnBsYXliYWNrU3BlZWR9c2V0IHNwZWVkKHQpe2NvbnN0IGk9dGhpcy5wbGF5YmFja1NwZWVkIT09dDt0aGlzLnBsYXliYWNrU3BlZWQ9dCxpJiYodGhpcy50aW1lPXNlKHRoaXMuY3VycmVudFRpbWUpKX1wbGF5KCl7aWYodGhpcy5yZXNvbHZlci5pc1NjaGVkdWxlZHx8dGhpcy5yZXNvbHZlci5yZXN1bWUoKSwhdGhpcy5fcmVzb2x2ZWQpe3RoaXMucGVuZGluZ1BsYXlTdGF0ZT0icnVubmluZyI7cmV0dXJufWlmKHRoaXMuaXNTdG9wcGVkKXJldHVybjtjb25zdHtkcml2ZXI6dD1ObCxvblBsYXk6aSxzdGFydFRpbWU6bn09dGhpcy5vcHRpb25zO3RoaXMuZHJpdmVyfHwodGhpcy5kcml2ZXI9dChsPT50aGlzLnRpY2sobCkpKSxpJiZpKCk7Y29uc3Qgbz10aGlzLmRyaXZlci5ub3coKTt0aGlzLmhvbGRUaW1lIT09bnVsbD90aGlzLnN0YXJ0VGltZT1vLXRoaXMuaG9sZFRpbWU6dGhpcy5zdGFydFRpbWU/dGhpcy5zdGF0ZT09PSJmaW5pc2hlZCImJih0aGlzLnN0YXJ0VGltZT1vKTp0aGlzLnN0YXJ0VGltZT1uPz90aGlzLmNhbGNTdGFydFRpbWUoKSx0aGlzLnN0YXRlPT09ImZpbmlzaGVkIiYmdGhpcy51cGRhdGVGaW5pc2hlZFByb21pc2UoKSx0aGlzLmNhbmNlbFRpbWU9dGhpcy5zdGFydFRpbWUsdGhpcy5ob2xkVGltZT1udWxsLHRoaXMuc3RhdGU9InJ1bm5pbmciLHRoaXMuZHJpdmVyLnN0YXJ0KCl9cGF1c2UoKXt2YXIgdDtpZighdGhpcy5fcmVzb2x2ZWQpe3RoaXMucGVuZGluZ1BsYXlTdGF0ZT0icGF1c2VkIjtyZXR1cm59dGhpcy5zdGF0ZT0icGF1c2VkIix0aGlzLmhvbGRUaW1lPSh0PXRoaXMuY3VycmVudFRpbWUpIT09bnVsbCYmdCE9PXZvaWQgMD90OjB9Y29tcGxldGUoKXt0aGlzLnN0YXRlIT09InJ1bm5pbmciJiZ0aGlzLnBsYXkoKSx0aGlzLnBlbmRpbmdQbGF5U3RhdGU9dGhpcy5zdGF0ZT0iZmluaXNoZWQiLHRoaXMuaG9sZFRpbWU9bnVsbH1maW5pc2goKXt0aGlzLnRlYXJkb3duKCksdGhpcy5zdGF0ZT0iZmluaXNoZWQiO2NvbnN0e29uQ29tcGxldGU6dH09dGhpcy5vcHRpb25zO3QmJnQoKX1jYW5jZWwoKXt0aGlzLmNhbmNlbFRpbWUhPT1udWxsJiZ0aGlzLnRpY2sodGhpcy5jYW5jZWxUaW1lKSx0aGlzLnRlYXJkb3duKCksdGhpcy51cGRhdGVGaW5pc2hlZFByb21pc2UoKX10ZWFyZG93bigpe3RoaXMuc3RhdGU9ImlkbGUiLHRoaXMuc3RvcERyaXZlcigpLHRoaXMucmVzb2x2ZUZpbmlzaGVkUHJvbWlzZSgpLHRoaXMudXBkYXRlRmluaXNoZWRQcm9taXNlKCksdGhpcy5zdGFydFRpbWU9dGhpcy5jYW5jZWxUaW1lPW51bGwsdGhpcy5yZXNvbHZlci5jYW5jZWwoKX1zdG9wRHJpdmVyKCl7dGhpcy5kcml2ZXImJih0aGlzLmRyaXZlci5zdG9wKCksdGhpcy5kcml2ZXI9dm9pZCAwKX1zYW1wbGUodCl7cmV0dXJuIHRoaXMuc3RhcnRUaW1lPTAsdGhpcy50aWNrKHQsITApfX1jb25zdCBfbD1uZXcgU2V0KFsib3BhY2l0eSIsImNsaXBQYXRoIiwiZmlsdGVyIiwidHJhbnNmb3JtIl0pO2Z1bmN0aW9uIEhsKGUsdCxpLHtkZWxheTpuPTAsZHVyYXRpb246bz0zMDAscmVwZWF0Omw9MCxyZXBlYXRUeXBlOnI9Imxvb3AiLGVhc2U6Yz0iZWFzZUluT3V0Iix0aW1lczpkfT17fSl7Y29uc3QgdT17W3RdOml9O2QmJih1Lm9mZnNldD1kKTtjb25zdCBoPVhzKGMsbyk7cmV0dXJuIEFycmF5LmlzQXJyYXkoaCkmJih1LmVhc2luZz1oKSxlLmFuaW1hdGUodSx7ZGVsYXk6bixkdXJhdGlvbjpvLGVhc2luZzpBcnJheS5pc0FycmF5KGgpPyJsaW5lYXIiOmgsZmlsbDoiYm90aCIsaXRlcmF0aW9uczpsKzEsZGlyZWN0aW9uOnI9PT0icmV2ZXJzZSI/ImFsdGVybmF0ZSI6Im5vcm1hbCJ9KX1jb25zdCBLbD1taSgoKT0+T2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwoRWxlbWVudC5wcm90b3R5cGUsImFuaW1hdGUiKSksVHQ9MTAsR2w9MmU0O2Z1bmN0aW9uIFlsKGUpe3JldHVybiBJdChlLnR5cGUpfHxlLnR5cGU9PT0ic3ByaW5nInx8IVlzKGUuZWFzZSl9ZnVuY3Rpb24gWGwoZSx0KXtjb25zdCBpPW5ldyAkaSh7Li4udCxrZXlmcmFtZXM6ZSxyZXBlYXQ6MCxkZWxheTowLGlzR2VuZXJhdG9yOiEwfSk7bGV0IG49e2RvbmU6ITEsdmFsdWU6ZVswXX07Y29uc3Qgbz1bXTtsZXQgbD0wO2Zvcig7IW4uZG9uZSYmbDxHbDspbj1pLnNhbXBsZShsKSxvLnB1c2gobi52YWx1ZSksbCs9VHQ7cmV0dXJue3RpbWVzOnZvaWQgMCxrZXlmcmFtZXM6byxkdXJhdGlvbjpsLVR0LGVhc2U6ImxpbmVhciJ9fWNvbnN0IEVvPXthbnRpY2lwYXRlOmxvLGJhY2tJbk91dDphbyxjaXJjSW5PdXQ6dW99O2Z1bmN0aW9uIHFsKGUpe3JldHVybiBlIGluIEVvfWNsYXNzIERuIGV4dGVuZHMgQW97Y29uc3RydWN0b3IodCl7c3VwZXIodCk7Y29uc3R7bmFtZTppLG1vdGlvblZhbHVlOm4sZWxlbWVudDpvLGtleWZyYW1lczpsfT10aGlzLm9wdGlvbnM7dGhpcy5yZXNvbHZlcj1uZXcgUG8obCwocixjKT0+dGhpcy5vbktleWZyYW1lc1Jlc29sdmVkKHIsYyksaSxuLG8pLHRoaXMucmVzb2x2ZXIuc2NoZWR1bGVSZXNvbHZlKCl9aW5pdFBsYXliYWNrKHQsaSl7bGV0e2R1cmF0aW9uOm49MzAwLHRpbWVzOm8sZWFzZTpsLHR5cGU6cixtb3Rpb25WYWx1ZTpjLG5hbWU6ZCxzdGFydFRpbWU6dX09dGhpcy5vcHRpb25zO2lmKCFjLm93bmVyfHwhYy5vd25lci5jdXJyZW50KXJldHVybiExO2lmKHR5cGVvZiBsPT0ic3RyaW5nIiYmU3QoKSYmcWwobCkmJihsPUVvW2xdKSxZbCh0aGlzLm9wdGlvbnMpKXtjb25zdHtvbkNvbXBsZXRlOmYsb25VcGRhdGU6cCxtb3Rpb25WYWx1ZTptLGVsZW1lbnQ6ZywuLi52fT10aGlzLm9wdGlvbnMsUz1YbCh0LHYpO3Q9Uy5rZXlmcmFtZXMsdC5sZW5ndGg9PT0xJiYodFsxXT10WzBdKSxuPVMuZHVyYXRpb24sbz1TLnRpbWVzLGw9Uy5lYXNlLHI9ImtleWZyYW1lcyJ9Y29uc3QgaD1IbChjLm93bmVyLmN1cnJlbnQsZCx0LHsuLi50aGlzLm9wdGlvbnMsZHVyYXRpb246bix0aW1lczpvLGVhc2U6bH0pO3JldHVybiBoLnN0YXJ0VGltZT11Pz90aGlzLmNhbGNTdGFydFRpbWUoKSx0aGlzLnBlbmRpbmdUaW1lbGluZT8ocG4oaCx0aGlzLnBlbmRpbmdUaW1lbGluZSksdGhpcy5wZW5kaW5nVGltZWxpbmU9dm9pZCAwKTpoLm9uZmluaXNoPSgpPT57Y29uc3R7b25Db21wbGV0ZTpmfT10aGlzLm9wdGlvbnM7Yy5zZXQoVnQodCx0aGlzLm9wdGlvbnMsaSkpLGYmJmYoKSx0aGlzLmNhbmNlbCgpLHRoaXMucmVzb2x2ZUZpbmlzaGVkUHJvbWlzZSgpfSx7YW5pbWF0aW9uOmgsZHVyYXRpb246bix0aW1lczpvLHR5cGU6cixlYXNlOmwsa2V5ZnJhbWVzOnR9fWdldCBkdXJhdGlvbigpe2NvbnN0e3Jlc29sdmVkOnR9PXRoaXM7aWYoIXQpcmV0dXJuIDA7Y29uc3R7ZHVyYXRpb246aX09dDtyZXR1cm4gc2UoaSl9Z2V0IHRpbWUoKXtjb25zdHtyZXNvbHZlZDp0fT10aGlzO2lmKCF0KXJldHVybiAwO2NvbnN0e2FuaW1hdGlvbjppfT10O3JldHVybiBzZShpLmN1cnJlbnRUaW1lfHwwKX1zZXQgdGltZSh0KXtjb25zdHtyZXNvbHZlZDppfT10aGlzO2lmKCFpKXJldHVybjtjb25zdHthbmltYXRpb246bn09aTtuLmN1cnJlbnRUaW1lPW5lKHQpfWdldCBzcGVlZCgpe2NvbnN0e3Jlc29sdmVkOnR9PXRoaXM7aWYoIXQpcmV0dXJuIDE7Y29uc3R7YW5pbWF0aW9uOml9PXQ7cmV0dXJuIGkucGxheWJhY2tSYXRlfXNldCBzcGVlZCh0KXtjb25zdHtyZXNvbHZlZDppfT10aGlzO2lmKCFpKXJldHVybjtjb25zdHthbmltYXRpb246bn09aTtuLnBsYXliYWNrUmF0ZT10fWdldCBzdGF0ZSgpe2NvbnN0e3Jlc29sdmVkOnR9PXRoaXM7aWYoIXQpcmV0dXJuImlkbGUiO2NvbnN0e2FuaW1hdGlvbjppfT10O3JldHVybiBpLnBsYXlTdGF0ZX1nZXQgc3RhcnRUaW1lKCl7Y29uc3R7cmVzb2x2ZWQ6dH09dGhpcztpZighdClyZXR1cm4gbnVsbDtjb25zdHthbmltYXRpb246aX09dDtyZXR1cm4gaS5zdGFydFRpbWV9YXR0YWNoVGltZWxpbmUodCl7aWYoIXRoaXMuX3Jlc29sdmVkKXRoaXMucGVuZGluZ1RpbWVsaW5lPXQ7ZWxzZXtjb25zdHtyZXNvbHZlZDppfT10aGlzO2lmKCFpKXJldHVybiBYO2NvbnN0e2FuaW1hdGlvbjpufT1pO3BuKG4sdCl9cmV0dXJuIFh9cGxheSgpe2lmKHRoaXMuaXNTdG9wcGVkKXJldHVybjtjb25zdHtyZXNvbHZlZDp0fT10aGlzO2lmKCF0KXJldHVybjtjb25zdHthbmltYXRpb246aX09dDtpLnBsYXlTdGF0ZT09PSJmaW5pc2hlZCImJnRoaXMudXBkYXRlRmluaXNoZWRQcm9taXNlKCksaS5wbGF5KCl9cGF1c2UoKXtjb25zdHtyZXNvbHZlZDp0fT10aGlzO2lmKCF0KXJldHVybjtjb25zdHthbmltYXRpb246aX09dDtpLnBhdXNlKCl9c3RvcCgpe2lmKHRoaXMucmVzb2x2ZXIuY2FuY2VsKCksdGhpcy5pc1N0b3BwZWQ9ITAsdGhpcy5zdGF0ZT09PSJpZGxlIilyZXR1cm47dGhpcy5yZXNvbHZlRmluaXNoZWRQcm9taXNlKCksdGhpcy51cGRhdGVGaW5pc2hlZFByb21pc2UoKTtjb25zdHtyZXNvbHZlZDp0fT10aGlzO2lmKCF0KXJldHVybjtjb25zdHthbmltYXRpb246aSxrZXlmcmFtZXM6bixkdXJhdGlvbjpvLHR5cGU6bCxlYXNlOnIsdGltZXM6Y309dDtpZihpLnBsYXlTdGF0ZT09PSJpZGxlInx8aS5wbGF5U3RhdGU9PT0iZmluaXNoZWQiKXJldHVybjtpZih0aGlzLnRpbWUpe2NvbnN0e21vdGlvblZhbHVlOnUsb25VcGRhdGU6aCxvbkNvbXBsZXRlOmYsZWxlbWVudDpwLC4uLm19PXRoaXMub3B0aW9ucyxnPW5ldyAkaSh7Li4ubSxrZXlmcmFtZXM6bixkdXJhdGlvbjpvLHR5cGU6bCxlYXNlOnIsdGltZXM6Yyxpc0dlbmVyYXRvcjohMH0pLHY9bmUodGhpcy50aW1lKTt1LnNldFdpdGhWZWxvY2l0eShnLnNhbXBsZSh2LVR0KS52YWx1ZSxnLnNhbXBsZSh2KS52YWx1ZSxUdCl9Y29uc3R7b25TdG9wOmR9PXRoaXMub3B0aW9ucztkJiZkKCksdGhpcy5jYW5jZWwoKX1jb21wbGV0ZSgpe2NvbnN0e3Jlc29sdmVkOnR9PXRoaXM7dCYmdC5hbmltYXRpb24uZmluaXNoKCl9Y2FuY2VsKCl7Y29uc3R7cmVzb2x2ZWQ6dH09dGhpczt0JiZ0LmFuaW1hdGlvbi5jYW5jZWwoKX1zdGF0aWMgc3VwcG9ydHModCl7Y29uc3R7bW90aW9uVmFsdWU6aSxuYW1lOm4scmVwZWF0RGVsYXk6byxyZXBlYXRUeXBlOmwsZGFtcGluZzpyLHR5cGU6Y309dDtpZighaXx8IWkub3duZXJ8fCEoaS5vd25lci5jdXJyZW50IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKXJldHVybiExO2NvbnN0e29uVXBkYXRlOmQsdHJhbnNmb3JtVGVtcGxhdGU6dX09aS5vd25lci5nZXRQcm9wcygpO3JldHVybiBLbCgpJiZuJiZfbC5oYXMobikmJiFkJiYhdSYmIW8mJmwhPT0ibWlycm9yIiYmciE9PTAmJmMhPT0iaW5lcnRpYSJ9fWNvbnN0IFpsPXt0eXBlOiJzcHJpbmciLHN0aWZmbmVzczo1MDAsZGFtcGluZzoyNSxyZXN0U3BlZWQ6MTB9LEpsPWU9Pih7dHlwZToic3ByaW5nIixzdGlmZm5lc3M6NTUwLGRhbXBpbmc6ZT09PTA/MipNYXRoLnNxcnQoNTUwKTozMCxyZXN0U3BlZWQ6MTB9KSxRbD17dHlwZToia2V5ZnJhbWVzIixkdXJhdGlvbjouOH0sZWM9e3R5cGU6ImtleWZyYW1lcyIsZWFzZTpbLjI1LC4xLC4zNSwxXSxkdXJhdGlvbjouM30sdGM9KGUse2tleWZyYW1lczp0fSk9PnQubGVuZ3RoPjI/UWw6VGUuaGFzKGUpP2Uuc3RhcnRzV2l0aCgic2NhbGUiKT9KbCh0WzFdKTpabDplYztmdW5jdGlvbiBpYyh7d2hlbjplLGRlbGF5OnQsZGVsYXlDaGlsZHJlbjppLHN0YWdnZXJDaGlsZHJlbjpuLHN0YWdnZXJEaXJlY3Rpb246byxyZXBlYXQ6bCxyZXBlYXRUeXBlOnIscmVwZWF0RGVsYXk6Yyxmcm9tOmQsZWxhcHNlZDp1LC4uLmh9KXtyZXR1cm4hIU9iamVjdC5rZXlzKGgpLmxlbmd0aH1jb25zdCBfaT0oZSx0LGksbj17fSxvLGwpPT5yPT57Y29uc3QgYz1NaShuLGUpfHx7fSxkPWMuZGVsYXl8fG4uZGVsYXl8fDA7bGV0e2VsYXBzZWQ6dT0wfT1uO3U9dS1uZShkKTtsZXQgaD17a2V5ZnJhbWVzOkFycmF5LmlzQXJyYXkoaSk/aTpbbnVsbCxpXSxlYXNlOiJlYXNlT3V0Iix2ZWxvY2l0eTp0LmdldFZlbG9jaXR5KCksLi4uYyxkZWxheTotdSxvblVwZGF0ZTpwPT57dC5zZXQocCksYy5vblVwZGF0ZSYmYy5vblVwZGF0ZShwKX0sb25Db21wbGV0ZTooKT0+e3IoKSxjLm9uQ29tcGxldGUmJmMub25Db21wbGV0ZSgpfSxuYW1lOmUsbW90aW9uVmFsdWU6dCxlbGVtZW50Omw/dm9pZCAwOm99O2ljKGMpfHwoaD17Li4uaCwuLi50YyhlLGgpfSksaC5kdXJhdGlvbiYmKGguZHVyYXRpb249bmUoaC5kdXJhdGlvbikpLGgucmVwZWF0RGVsYXkmJihoLnJlcGVhdERlbGF5PW5lKGgucmVwZWF0RGVsYXkpKSxoLmZyb20hPT12b2lkIDAmJihoLmtleWZyYW1lc1swXT1oLmZyb20pO2xldCBmPSExO2lmKChoLnR5cGU9PT0hMXx8aC5kdXJhdGlvbj09PTAmJiFoLnJlcGVhdERlbGF5KSYmKGguZHVyYXRpb249MCxoLmRlbGF5PT09MCYmKGY9ITApKSxmJiYhbCYmdC5nZXQoKSE9PXZvaWQgMCl7Y29uc3QgcD1WdChoLmtleWZyYW1lcyxjKTtpZihwIT09dm9pZCAwKXJldHVybiB6LnVwZGF0ZSgoKT0+e2gub25VcGRhdGUocCksaC5vbkNvbXBsZXRlKCl9KSxuZXcgS3MoW10pfXJldHVybiFsJiZEbi5zdXBwb3J0cyhoKT9uZXcgRG4oaCk6bmV3ICRpKGgpfTtmdW5jdGlvbiBuYyh7cHJvdGVjdGVkS2V5czplLG5lZWRzQW5pbWF0aW5nOnR9LGkpe2NvbnN0IG49ZS5oYXNPd25Qcm9wZXJ0eShpKSYmdFtpXSE9PSEwO3JldHVybiB0W2ldPSExLG59ZnVuY3Rpb24gSGkoZSx0LHtkZWxheTppPTAsdHJhbnNpdGlvbk92ZXJyaWRlOm4sdHlwZTpvfT17fSl7dmFyIGw7bGV0e3RyYW5zaXRpb246cj1lLmdldERlZmF1bHRUcmFuc2l0aW9uKCksdHJhbnNpdGlvbkVuZDpjLC4uLmR9PXQ7biYmKHI9bik7Y29uc3QgdT1bXSxoPW8mJmUuYW5pbWF0aW9uU3RhdGUmJmUuYW5pbWF0aW9uU3RhdGUuZ2V0U3RhdGUoKVtvXTtmb3IoY29uc3QgZiBpbiBkKXtjb25zdCBwPWUuZ2V0VmFsdWUoZiwobD1lLmxhdGVzdFZhbHVlc1tmXSkhPT1udWxsJiZsIT09dm9pZCAwP2w6bnVsbCksbT1kW2ZdO2lmKG09PT12b2lkIDB8fGgmJm5jKGgsZikpY29udGludWU7Y29uc3QgZz17ZGVsYXk6aSwuLi5NaShyfHx7fSxmKX07bGV0IHY9ITE7aWYod2luZG93Lk1vdGlvbkhhbmRvZmZBbmltYXRpb24pe2NvbnN0IGI9aW8oZSk7aWYoYil7Y29uc3Qgdz13aW5kb3cuTW90aW9uSGFuZG9mZkFuaW1hdGlvbihiLGYseik7dyE9PW51bGwmJihnLnN0YXJ0VGltZT13LHY9ITApfX1adChlLGYpLHAuc3RhcnQoX2koZixwLG0sZS5zaG91bGRSZWR1Y2VNb3Rpb24mJmVvLmhhcyhmKT97dHlwZTohMX06ZyxlLHYpKTtjb25zdCBTPXAuYW5pbWF0aW9uO1MmJnUucHVzaChTKX1yZXR1cm4gYyYmUHJvbWlzZS5hbGwodSkudGhlbigoKT0+e3oudXBkYXRlKCgpPT57YyYmRmEoZSxjKX0pfSksdX1mdW5jdGlvbiBzaShlLHQsaT17fSl7dmFyIG47Y29uc3Qgbz1EdChlLHQsaS50eXBlPT09ImV4aXQiPyhuPWUucHJlc2VuY2VDb250ZXh0KT09PW51bGx8fG49PT12b2lkIDA/dm9pZCAwOm4uY3VzdG9tOnZvaWQgMCk7bGV0e3RyYW5zaXRpb246bD1lLmdldERlZmF1bHRUcmFuc2l0aW9uKCl8fHt9fT1vfHx7fTtpLnRyYW5zaXRpb25PdmVycmlkZSYmKGw9aS50cmFuc2l0aW9uT3ZlcnJpZGUpO2NvbnN0IHI9bz8oKT0+UHJvbWlzZS5hbGwoSGkoZSxvLGkpKTooKT0+UHJvbWlzZS5yZXNvbHZlKCksYz1lLnZhcmlhbnRDaGlsZHJlbiYmZS52YXJpYW50Q2hpbGRyZW4uc2l6ZT8odT0wKT0+e2NvbnN0e2RlbGF5Q2hpbGRyZW46aD0wLHN0YWdnZXJDaGlsZHJlbjpmLHN0YWdnZXJEaXJlY3Rpb246cH09bDtyZXR1cm4gc2MoZSx0LGgrdSxmLHAsaSl9OigpPT5Qcm9taXNlLnJlc29sdmUoKSx7d2hlbjpkfT1sO2lmKGQpe2NvbnN0W3UsaF09ZD09PSJiZWZvcmVDaGlsZHJlbiI/W3IsY106W2Mscl07cmV0dXJuIHUoKS50aGVuKCgpPT5oKCkpfWVsc2UgcmV0dXJuIFByb21pc2UuYWxsKFtyKCksYyhpLmRlbGF5KV0pfWZ1bmN0aW9uIHNjKGUsdCxpPTAsbj0wLG89MSxsKXtjb25zdCByPVtdLGM9KGUudmFyaWFudENoaWxkcmVuLnNpemUtMSkqbixkPW89PT0xPyh1PTApPT51Km46KHU9MCk9PmMtdSpuO3JldHVybiBBcnJheS5mcm9tKGUudmFyaWFudENoaWxkcmVuKS5zb3J0KG9jKS5mb3JFYWNoKCh1LGgpPT57dS5ub3RpZnkoIkFuaW1hdGlvblN0YXJ0Iix0KSxyLnB1c2goc2kodSx0LHsuLi5sLGRlbGF5OmkrZChoKX0pLnRoZW4oKCk9PnUubm90aWZ5KCJBbmltYXRpb25Db21wbGV0ZSIsdCkpKX0pLFByb21pc2UuYWxsKHIpfWZ1bmN0aW9uIG9jKGUsdCl7cmV0dXJuIGUuc29ydE5vZGVQb3NpdGlvbih0KX1mdW5jdGlvbiByYyhlLHQsaT17fSl7ZS5ub3RpZnkoIkFuaW1hdGlvblN0YXJ0Iix0KTtsZXQgbjtpZihBcnJheS5pc0FycmF5KHQpKXtjb25zdCBvPXQubWFwKGw9PnNpKGUsbCxpKSk7bj1Qcm9taXNlLmFsbChvKX1lbHNlIGlmKHR5cGVvZiB0PT0ic3RyaW5nIiluPXNpKGUsdCxpKTtlbHNle2NvbnN0IG89dHlwZW9mIHQ9PSJmdW5jdGlvbiI/RHQoZSx0LGkuY3VzdG9tKTp0O249UHJvbWlzZS5hbGwoSGkoZSxvLGkpKX1yZXR1cm4gbi50aGVuKCgpPT57ZS5ub3RpZnkoIkFuaW1hdGlvbkNvbXBsZXRlIix0KX0pfWNvbnN0IGFjPXlpLmxlbmd0aDtmdW5jdGlvbiB6byhlKXtpZighZSlyZXR1cm47aWYoIWUuaXNDb250cm9sbGluZ1ZhcmlhbnRzKXtjb25zdCBpPWUucGFyZW50P3pvKGUucGFyZW50KXx8e306e307cmV0dXJuIGUucHJvcHMuaW5pdGlhbCE9PXZvaWQgMCYmKGkuaW5pdGlhbD1lLnByb3BzLmluaXRpYWwpLGl9Y29uc3QgdD17fTtmb3IobGV0IGk9MDtpPGFjO2krKyl7Y29uc3Qgbj15aVtpXSxvPWUucHJvcHNbbl07KEplKG8pfHxvPT09ITEpJiYodFtuXT1vKX1yZXR1cm4gdH1jb25zdCBsYz1bLi4uZ2ldLnJldmVyc2UoKSxjYz1naS5sZW5ndGg7ZnVuY3Rpb24gZGMoZSl7cmV0dXJuIHQ9PlByb21pc2UuYWxsKHQubWFwKCh7YW5pbWF0aW9uOmksb3B0aW9uczpufSk9PnJjKGUsaSxuKSkpfWZ1bmN0aW9uIHVjKGUpe2xldCB0PWRjKGUpLGk9SW4oKSxuPSEwO2NvbnN0IG89ZD0+KHUsaCk9Pnt2YXIgZjtjb25zdCBwPUR0KGUsaCxkPT09ImV4aXQiPyhmPWUucHJlc2VuY2VDb250ZXh0KT09PW51bGx8fGY9PT12b2lkIDA/dm9pZCAwOmYuY3VzdG9tOnZvaWQgMCk7aWYocCl7Y29uc3R7dHJhbnNpdGlvbjptLHRyYW5zaXRpb25FbmQ6ZywuLi52fT1wO3U9ey4uLnUsLi4udiwuLi5nfX1yZXR1cm4gdX07ZnVuY3Rpb24gbChkKXt0PWQoZSl9ZnVuY3Rpb24gcihkKXtjb25zdHtwcm9wczp1fT1lLGg9em8oZS5wYXJlbnQpfHx7fSxmPVtdLHA9bmV3IFNldDtsZXQgbT17fSxnPTEvMDtmb3IobGV0IFM9MDtTPGNjO1MrKyl7Y29uc3QgYj1sY1tTXSx3PWlbYl0sVD11W2JdIT09dm9pZCAwP3VbYl06aFtiXSxQPUplKFQpLGo9Yj09PWQ/dy5pc0FjdGl2ZTpudWxsO2o9PT0hMSYmKGc9Uyk7bGV0IEE9VD09PWhbYl0mJlQhPT11W2JdJiZQO2lmKEEmJm4mJmUubWFudWFsbHlBbmltYXRlT25Nb3VudCYmKEE9ITEpLHcucHJvdGVjdGVkS2V5cz17Li4ubX0sIXcuaXNBY3RpdmUmJmo9PT1udWxsfHwhVCYmIXcucHJldlByb3B8fEN0KFQpfHx0eXBlb2YgVD09ImJvb2xlYW4iKWNvbnRpbnVlO2NvbnN0IEU9aGMody5wcmV2UHJvcCxUKTtsZXQgaz1FfHxiPT09ZCYmdy5pc0FjdGl2ZSYmIUEmJlB8fFM+ZyYmUCxEPSExO2NvbnN0IFY9QXJyYXkuaXNBcnJheShUKT9UOltUXTtsZXQgST1WLnJlZHVjZShvKGIpLHt9KTtqPT09ITEmJihJPXt9KTtjb25zdHtwcmV2UmVzb2x2ZWRWYWx1ZXM6dGU9e319PXcsRz17Li4udGUsLi4uSX0sSD1MPT57az0hMCxwLmhhcyhMKSYmKEQ9ITAscC5kZWxldGUoTCkpLHcubmVlZHNBbmltYXRpbmdbTF09ITA7Y29uc3QgTj1lLmdldFZhbHVlKEwpO04mJihOLmxpdmVTdHlsZT0hMSl9O2Zvcihjb25zdCBMIGluIEcpe2NvbnN0IE49SVtMXSxQZT10ZVtMXTtpZihtLmhhc093blByb3BlcnR5KEwpKWNvbnRpbnVlO2xldCBBZT0hMTtYdChOKSYmWHQoUGUpP0FlPSFIcyhOLFBlKTpBZT1OIT09UGUsQWU/TiE9bnVsbD9IKEwpOnAuYWRkKEwpOk4hPT12b2lkIDAmJnAuaGFzKEwpP0goTCk6dy5wcm90ZWN0ZWRLZXlzW0xdPSEwfXcucHJldlByb3A9VCx3LnByZXZSZXNvbHZlZFZhbHVlcz1JLHcuaXNBY3RpdmUmJihtPXsuLi5tLC4uLkl9KSxuJiZlLmJsb2NrSW5pdGlhbEFuaW1hdGlvbiYmKGs9ITEpLGsmJighKEEmJkUpfHxEKSYmZi5wdXNoKC4uLlYubWFwKEw9Pih7YW5pbWF0aW9uOkwsb3B0aW9uczp7dHlwZTpifX0pKSl9aWYocC5zaXplKXtjb25zdCBTPXt9O3AuZm9yRWFjaChiPT57Y29uc3Qgdz1lLmdldEJhc2VUYXJnZXQoYiksVD1lLmdldFZhbHVlKGIpO1QmJihULmxpdmVTdHlsZT0hMCksU1tiXT13Pz9udWxsfSksZi5wdXNoKHthbmltYXRpb246U30pfWxldCB2PSEhZi5sZW5ndGg7cmV0dXJuIG4mJih1LmluaXRpYWw9PT0hMXx8dS5pbml0aWFsPT09dS5hbmltYXRlKSYmIWUubWFudWFsbHlBbmltYXRlT25Nb3VudCYmKHY9ITEpLG49ITEsdj90KGYpOlByb21pc2UucmVzb2x2ZSgpfWZ1bmN0aW9uIGMoZCx1KXt2YXIgaDtpZihpW2RdLmlzQWN0aXZlPT09dSlyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7KGg9ZS52YXJpYW50Q2hpbGRyZW4pPT09bnVsbHx8aD09PXZvaWQgMHx8aC5mb3JFYWNoKHA9Pnt2YXIgbTtyZXR1cm4obT1wLmFuaW1hdGlvblN0YXRlKT09PW51bGx8fG09PT12b2lkIDA/dm9pZCAwOm0uc2V0QWN0aXZlKGQsdSl9KSxpW2RdLmlzQWN0aXZlPXU7Y29uc3QgZj1yKGQpO2Zvcihjb25zdCBwIGluIGkpaVtwXS5wcm90ZWN0ZWRLZXlzPXt9O3JldHVybiBmfXJldHVybnthbmltYXRlQ2hhbmdlczpyLHNldEFjdGl2ZTpjLHNldEFuaW1hdGVGdW5jdGlvbjpsLGdldFN0YXRlOigpPT5pLHJlc2V0OigpPT57aT1JbigpLG49ITB9fX1mdW5jdGlvbiBoYyhlLHQpe3JldHVybiB0eXBlb2YgdD09InN0cmluZyI/dCE9PWU6QXJyYXkuaXNBcnJheSh0KT8hSHModCxlKTohMX1mdW5jdGlvbiBnZShlPSExKXtyZXR1cm57aXNBY3RpdmU6ZSxwcm90ZWN0ZWRLZXlzOnt9LG5lZWRzQW5pbWF0aW5nOnt9LHByZXZSZXNvbHZlZFZhbHVlczp7fX19ZnVuY3Rpb24gSW4oKXtyZXR1cm57YW5pbWF0ZTpnZSghMCksd2hpbGVJblZpZXc6Z2UoKSx3aGlsZUhvdmVyOmdlKCksd2hpbGVUYXA6Z2UoKSx3aGlsZURyYWc6Z2UoKSx3aGlsZUZvY3VzOmdlKCksZXhpdDpnZSgpfX1jbGFzcyBtZXtjb25zdHJ1Y3Rvcih0KXt0aGlzLmlzTW91bnRlZD0hMSx0aGlzLm5vZGU9dH11cGRhdGUoKXt9fWNsYXNzIGZjIGV4dGVuZHMgbWV7Y29uc3RydWN0b3IodCl7c3VwZXIodCksdC5hbmltYXRpb25TdGF0ZXx8KHQuYW5pbWF0aW9uU3RhdGU9dWModCkpfXVwZGF0ZUFuaW1hdGlvbkNvbnRyb2xzU3Vic2NyaXB0aW9uKCl7Y29uc3R7YW5pbWF0ZTp0fT10aGlzLm5vZGUuZ2V0UHJvcHMoKTtDdCh0KSYmKHRoaXMudW5tb3VudENvbnRyb2xzPXQuc3Vic2NyaWJlKHRoaXMubm9kZSkpfW1vdW50KCl7dGhpcy51cGRhdGVBbmltYXRpb25Db250cm9sc1N1YnNjcmlwdGlvbigpfXVwZGF0ZSgpe2NvbnN0e2FuaW1hdGU6dH09dGhpcy5ub2RlLmdldFByb3BzKCkse2FuaW1hdGU6aX09dGhpcy5ub2RlLnByZXZQcm9wc3x8e307dCE9PWkmJnRoaXMudXBkYXRlQW5pbWF0aW9uQ29udHJvbHNTdWJzY3JpcHRpb24oKX11bm1vdW50KCl7dmFyIHQ7dGhpcy5ub2RlLmFuaW1hdGlvblN0YXRlLnJlc2V0KCksKHQ9dGhpcy51bm1vdW50Q29udHJvbHMpPT09bnVsbHx8dD09PXZvaWQgMHx8dC5jYWxsKHRoaXMpfX1sZXQgcGM9MDtjbGFzcyBtYyBleHRlbmRzIG1le2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLmlkPXBjKyt9dXBkYXRlKCl7aWYoIXRoaXMubm9kZS5wcmVzZW5jZUNvbnRleHQpcmV0dXJuO2NvbnN0e2lzUHJlc2VudDp0LG9uRXhpdENvbXBsZXRlOml9PXRoaXMubm9kZS5wcmVzZW5jZUNvbnRleHQse2lzUHJlc2VudDpufT10aGlzLm5vZGUucHJldlByZXNlbmNlQ29udGV4dHx8e307aWYoIXRoaXMubm9kZS5hbmltYXRpb25TdGF0ZXx8dD09PW4pcmV0dXJuO2NvbnN0IG89dGhpcy5ub2RlLmFuaW1hdGlvblN0YXRlLnNldEFjdGl2ZSgiZXhpdCIsIXQpO2kmJiF0JiZvLnRoZW4oKCk9PmkodGhpcy5pZCkpfW1vdW50KCl7Y29uc3R7cmVnaXN0ZXI6dH09dGhpcy5ub2RlLnByZXNlbmNlQ29udGV4dHx8e307dCYmKHRoaXMudW5tb3VudD10KHRoaXMuaWQpKX11bm1vdW50KCl7fX1jb25zdCBnYz17YW5pbWF0aW9uOntGZWF0dXJlOmZjfSxleGl0OntGZWF0dXJlOm1jfX07ZnVuY3Rpb24gaXQoZSx0LGksbj17cGFzc2l2ZTohMH0pe3JldHVybiBlLmFkZEV2ZW50TGlzdGVuZXIodCxpLG4pLCgpPT5lLnJlbW92ZUV2ZW50TGlzdGVuZXIodCxpKX1mdW5jdGlvbiBydChlKXtyZXR1cm57cG9pbnQ6e3g6ZS5wYWdlWCx5OmUucGFnZVl9fX1jb25zdCB5Yz1lPT50PT5SaSh0KSYmZSh0LHJ0KHQpKTtmdW5jdGlvbiBYZShlLHQsaSxuKXtyZXR1cm4gaXQoZSx0LHljKGkpLG4pfWNvbnN0IFJuPShlLHQpPT5NYXRoLmFicyhlLXQpO2Z1bmN0aW9uIHhjKGUsdCl7Y29uc3QgaT1SbihlLngsdC54KSxuPVJuKGUueSx0LnkpO3JldHVybiBNYXRoLnNxcnQoaSoqMituKioyKX1jbGFzcyBMb3tjb25zdHJ1Y3Rvcih0LGkse3RyYW5zZm9ybVBhZ2VQb2ludDpuLGNvbnRleHRXaW5kb3c6byxkcmFnU25hcFRvT3JpZ2luOmw9ITF9PXt9KXtpZih0aGlzLnN0YXJ0RXZlbnQ9bnVsbCx0aGlzLmxhc3RNb3ZlRXZlbnQ9bnVsbCx0aGlzLmxhc3RNb3ZlRXZlbnRJbmZvPW51bGwsdGhpcy5oYW5kbGVycz17fSx0aGlzLmNvbnRleHRXaW5kb3c9d2luZG93LHRoaXMudXBkYXRlUG9pbnQ9KCk9PntpZighKHRoaXMubGFzdE1vdmVFdmVudCYmdGhpcy5sYXN0TW92ZUV2ZW50SW5mbykpcmV0dXJuO2NvbnN0IGY9VXQodGhpcy5sYXN0TW92ZUV2ZW50SW5mbyx0aGlzLmhpc3RvcnkpLHA9dGhpcy5zdGFydEV2ZW50IT09bnVsbCxtPXhjKGYub2Zmc2V0LHt4OjAseTowfSk+PTM7aWYoIXAmJiFtKXJldHVybjtjb25zdHtwb2ludDpnfT1mLHt0aW1lc3RhbXA6dn09JDt0aGlzLmhpc3RvcnkucHVzaCh7Li4uZyx0aW1lc3RhbXA6dn0pO2NvbnN0e29uU3RhcnQ6Uyxvbk1vdmU6Yn09dGhpcy5oYW5kbGVycztwfHwoUyYmUyh0aGlzLmxhc3RNb3ZlRXZlbnQsZiksdGhpcy5zdGFydEV2ZW50PXRoaXMubGFzdE1vdmVFdmVudCksYiYmYih0aGlzLmxhc3RNb3ZlRXZlbnQsZil9LHRoaXMuaGFuZGxlUG9pbnRlck1vdmU9KGYscCk9Pnt0aGlzLmxhc3RNb3ZlRXZlbnQ9Zix0aGlzLmxhc3RNb3ZlRXZlbnRJbmZvPU50KHAsdGhpcy50cmFuc2Zvcm1QYWdlUG9pbnQpLHoudXBkYXRlKHRoaXMudXBkYXRlUG9pbnQsITApfSx0aGlzLmhhbmRsZVBvaW50ZXJVcD0oZixwKT0+e3RoaXMuZW5kKCk7Y29uc3R7b25FbmQ6bSxvblNlc3Npb25FbmQ6ZyxyZXN1bWVBbmltYXRpb246dn09dGhpcy5oYW5kbGVycztpZih0aGlzLmRyYWdTbmFwVG9PcmlnaW4mJnYmJnYoKSwhKHRoaXMubGFzdE1vdmVFdmVudCYmdGhpcy5sYXN0TW92ZUV2ZW50SW5mbykpcmV0dXJuO2NvbnN0IFM9VXQoZi50eXBlPT09InBvaW50ZXJjYW5jZWwiP3RoaXMubGFzdE1vdmVFdmVudEluZm86TnQocCx0aGlzLnRyYW5zZm9ybVBhZ2VQb2ludCksdGhpcy5oaXN0b3J5KTt0aGlzLnN0YXJ0RXZlbnQmJm0mJm0oZixTKSxnJiZnKGYsUyl9LCFSaSh0KSlyZXR1cm47dGhpcy5kcmFnU25hcFRvT3JpZ2luPWwsdGhpcy5oYW5kbGVycz1pLHRoaXMudHJhbnNmb3JtUGFnZVBvaW50PW4sdGhpcy5jb250ZXh0V2luZG93PW98fHdpbmRvdztjb25zdCByPXJ0KHQpLGM9TnQocix0aGlzLnRyYW5zZm9ybVBhZ2VQb2ludCkse3BvaW50OmR9PWMse3RpbWVzdGFtcDp1fT0kO3RoaXMuaGlzdG9yeT1bey4uLmQsdGltZXN0YW1wOnV9XTtjb25zdHtvblNlc3Npb25TdGFydDpofT1pO2gmJmgodCxVdChjLHRoaXMuaGlzdG9yeSkpLHRoaXMucmVtb3ZlTGlzdGVuZXJzPW90KFhlKHRoaXMuY29udGV4dFdpbmRvdywicG9pbnRlcm1vdmUiLHRoaXMuaGFuZGxlUG9pbnRlck1vdmUpLFhlKHRoaXMuY29udGV4dFdpbmRvdywicG9pbnRlcnVwIix0aGlzLmhhbmRsZVBvaW50ZXJVcCksWGUodGhpcy5jb250ZXh0V2luZG93LCJwb2ludGVyY2FuY2VsIix0aGlzLmhhbmRsZVBvaW50ZXJVcCkpfXVwZGF0ZUhhbmRsZXJzKHQpe3RoaXMuaGFuZGxlcnM9dH1lbmQoKXt0aGlzLnJlbW92ZUxpc3RlbmVycyYmdGhpcy5yZW1vdmVMaXN0ZW5lcnMoKSx1ZSh0aGlzLnVwZGF0ZVBvaW50KX19ZnVuY3Rpb24gTnQoZSx0KXtyZXR1cm4gdD97cG9pbnQ6dChlLnBvaW50KX06ZX1mdW5jdGlvbiBWbihlLHQpe3JldHVybnt4OmUueC10LngseTplLnktdC55fX1mdW5jdGlvbiBVdCh7cG9pbnQ6ZX0sdCl7cmV0dXJue3BvaW50OmUsZGVsdGE6Vm4oZSxCbyh0KSksb2Zmc2V0OlZuKGUsdmModCkpLHZlbG9jaXR5OmJjKHQsLjEpfX1mdW5jdGlvbiB2YyhlKXtyZXR1cm4gZVswXX1mdW5jdGlvbiBCbyhlKXtyZXR1cm4gZVtlLmxlbmd0aC0xXX1mdW5jdGlvbiBiYyhlLHQpe2lmKGUubGVuZ3RoPDIpcmV0dXJue3g6MCx5OjB9O2xldCBpPWUubGVuZ3RoLTEsbj1udWxsO2NvbnN0IG89Qm8oZSk7Zm9yKDtpPj0wJiYobj1lW2ldLCEoby50aW1lc3RhbXAtbi50aW1lc3RhbXA+bmUodCkpKTspaS0tO2lmKCFuKXJldHVybnt4OjAseTowfTtjb25zdCBsPXNlKG8udGltZXN0YW1wLW4udGltZXN0YW1wKTtpZihsPT09MClyZXR1cm57eDowLHk6MH07Y29uc3Qgcj17eDooby54LW4ueCkvbCx5OihvLnktbi55KS9sfTtyZXR1cm4gci54PT09MS8wJiYoci54PTApLHIueT09PTEvMCYmKHIueT0wKSxyfWNvbnN0IEZvPTFlLTQsU2M9MS1GbyxqYz0xK0ZvLFdvPS4wMSx3Yz0wLVdvLFRjPTArV287ZnVuY3Rpb24gcShlKXtyZXR1cm4gZS5tYXgtZS5taW59ZnVuY3Rpb24gUGMoZSx0LGkpe3JldHVybiBNYXRoLmFicyhlLXQpPD1pfWZ1bmN0aW9uIEVuKGUsdCxpLG49LjUpe2Uub3JpZ2luPW4sZS5vcmlnaW5Qb2ludD1CKHQubWluLHQubWF4LGUub3JpZ2luKSxlLnNjYWxlPXEoaSkvcSh0KSxlLnRyYW5zbGF0ZT1CKGkubWluLGkubWF4LGUub3JpZ2luKS1lLm9yaWdpblBvaW50LChlLnNjYWxlPj1TYyYmZS5zY2FsZTw9amN8fGlzTmFOKGUuc2NhbGUpKSYmKGUuc2NhbGU9MSksKGUudHJhbnNsYXRlPj13YyYmZS50cmFuc2xhdGU8PVRjfHxpc05hTihlLnRyYW5zbGF0ZSkpJiYoZS50cmFuc2xhdGU9MCl9ZnVuY3Rpb24gcWUoZSx0LGksbil7RW4oZS54LHQueCxpLngsbj9uLm9yaWdpblg6dm9pZCAwKSxFbihlLnksdC55LGkueSxuP24ub3JpZ2luWTp2b2lkIDApfWZ1bmN0aW9uIHpuKGUsdCxpKXtlLm1pbj1pLm1pbit0Lm1pbixlLm1heD1lLm1pbitxKHQpfWZ1bmN0aW9uIEFjKGUsdCxpKXt6bihlLngsdC54LGkueCksem4oZS55LHQueSxpLnkpfWZ1bmN0aW9uIExuKGUsdCxpKXtlLm1pbj10Lm1pbi1pLm1pbixlLm1heD1lLm1pbitxKHQpfWZ1bmN0aW9uIFplKGUsdCxpKXtMbihlLngsdC54LGkueCksTG4oZS55LHQueSxpLnkpfWZ1bmN0aW9uIGtjKGUse21pbjp0LG1heDppfSxuKXtyZXR1cm4gdCE9PXZvaWQgMCYmZTx0P2U9bj9CKHQsZSxuLm1pbik6TWF0aC5tYXgoZSx0KTppIT09dm9pZCAwJiZlPmkmJihlPW4/QihpLGUsbi5tYXgpOk1hdGgubWluKGUsaSkpLGV9ZnVuY3Rpb24gQm4oZSx0LGkpe3JldHVybnttaW46dCE9PXZvaWQgMD9lLm1pbit0OnZvaWQgMCxtYXg6aSE9PXZvaWQgMD9lLm1heCtpLShlLm1heC1lLm1pbik6dm9pZCAwfX1mdW5jdGlvbiBDYyhlLHt0b3A6dCxsZWZ0OmksYm90dG9tOm4scmlnaHQ6b30pe3JldHVybnt4OkJuKGUueCxpLG8pLHk6Qm4oZS55LHQsbil9fWZ1bmN0aW9uIEZuKGUsdCl7bGV0IGk9dC5taW4tZS5taW4sbj10Lm1heC1lLm1heDtyZXR1cm4gdC5tYXgtdC5taW48ZS5tYXgtZS5taW4mJihbaSxuXT1bbixpXSkse21pbjppLG1heDpufX1mdW5jdGlvbiBNYyhlLHQpe3JldHVybnt4OkZuKGUueCx0LngpLHk6Rm4oZS55LHQueSl9fWZ1bmN0aW9uIERjKGUsdCl7bGV0IGk9LjU7Y29uc3Qgbj1xKGUpLG89cSh0KTtyZXR1cm4gbz5uP2k9amUodC5taW4sdC5tYXgtbixlLm1pbik6bj5vJiYoaT1qZShlLm1pbixlLm1heC1vLHQubWluKSksbGUoMCwxLGkpfWZ1bmN0aW9uIEljKGUsdCl7Y29uc3QgaT17fTtyZXR1cm4gdC5taW4hPT12b2lkIDAmJihpLm1pbj10Lm1pbi1lLm1pbiksdC5tYXghPT12b2lkIDAmJihpLm1heD10Lm1heC1lLm1pbiksaX1jb25zdCBvaT0uMzU7ZnVuY3Rpb24gUmMoZT1vaSl7cmV0dXJuIGU9PT0hMT9lPTA6ZT09PSEwJiYoZT1vaSkse3g6V24oZSwibGVmdCIsInJpZ2h0IikseTpXbihlLCJ0b3AiLCJib3R0b20iKX19ZnVuY3Rpb24gV24oZSx0LGkpe3JldHVybnttaW46T24oZSx0KSxtYXg6T24oZSxpKX19ZnVuY3Rpb24gT24oZSx0KXtyZXR1cm4gdHlwZW9mIGU9PSJudW1iZXIiP2U6ZVt0XXx8MH1jb25zdCBObj0oKT0+KHt0cmFuc2xhdGU6MCxzY2FsZToxLG9yaWdpbjowLG9yaWdpblBvaW50OjB9KSxNZT0oKT0+KHt4Ok5uKCkseTpObigpfSksVW49KCk9Pih7bWluOjAsbWF4OjB9KSxXPSgpPT4oe3g6VW4oKSx5OlVuKCl9KTtmdW5jdGlvbiBKKGUpe3JldHVybltlKCJ4IiksZSgieSIpXX1mdW5jdGlvbiBPbyh7dG9wOmUsbGVmdDp0LHJpZ2h0OmksYm90dG9tOm59KXtyZXR1cm57eDp7bWluOnQsbWF4Oml9LHk6e21pbjplLG1heDpufX19ZnVuY3Rpb24gVmMoe3g6ZSx5OnR9KXtyZXR1cm57dG9wOnQubWluLHJpZ2h0OmUubWF4LGJvdHRvbTp0Lm1heCxsZWZ0OmUubWlufX1mdW5jdGlvbiBFYyhlLHQpe2lmKCF0KXJldHVybiBlO2NvbnN0IGk9dCh7eDplLmxlZnQseTplLnRvcH0pLG49dCh7eDplLnJpZ2h0LHk6ZS5ib3R0b219KTtyZXR1cm57dG9wOmkueSxsZWZ0OmkueCxib3R0b206bi55LHJpZ2h0Om4ueH19ZnVuY3Rpb24gJHQoZSl7cmV0dXJuIGU9PT12b2lkIDB8fGU9PT0xfWZ1bmN0aW9uIHJpKHtzY2FsZTplLHNjYWxlWDp0LHNjYWxlWTppfSl7cmV0dXJuISR0KGUpfHwhJHQodCl8fCEkdChpKX1mdW5jdGlvbiB5ZShlKXtyZXR1cm4gcmkoZSl8fE5vKGUpfHxlLnp8fGUucm90YXRlfHxlLnJvdGF0ZVh8fGUucm90YXRlWXx8ZS5za2V3WHx8ZS5za2V3WX1mdW5jdGlvbiBObyhlKXtyZXR1cm4gJG4oZS54KXx8JG4oZS55KX1mdW5jdGlvbiAkbihlKXtyZXR1cm4gZSYmZSE9PSIwJSJ9ZnVuY3Rpb24gUHQoZSx0LGkpe2NvbnN0IG49ZS1pLG89dCpuO3JldHVybiBpK299ZnVuY3Rpb24gX24oZSx0LGksbixvKXtyZXR1cm4gbyE9PXZvaWQgMCYmKGU9UHQoZSxvLG4pKSxQdChlLGksbikrdH1mdW5jdGlvbiBhaShlLHQ9MCxpPTEsbixvKXtlLm1pbj1fbihlLm1pbix0LGksbixvKSxlLm1heD1fbihlLm1heCx0LGksbixvKX1mdW5jdGlvbiBVbyhlLHt4OnQseTppfSl7YWkoZS54LHQudHJhbnNsYXRlLHQuc2NhbGUsdC5vcmlnaW5Qb2ludCksYWkoZS55LGkudHJhbnNsYXRlLGkuc2NhbGUsaS5vcmlnaW5Qb2ludCl9Y29uc3QgSG49Ljk5OTk5OTk5OTk5OSxLbj0xLjAwMDAwMDAwMDAwMDE7ZnVuY3Rpb24gemMoZSx0LGksbj0hMSl7Y29uc3Qgbz1pLmxlbmd0aDtpZighbylyZXR1cm47dC54PXQueT0xO2xldCBsLHI7Zm9yKGxldCBjPTA7YzxvO2MrKyl7bD1pW2NdLHI9bC5wcm9qZWN0aW9uRGVsdGE7Y29uc3R7dmlzdWFsRWxlbWVudDpkfT1sLm9wdGlvbnM7ZCYmZC5wcm9wcy5zdHlsZSYmZC5wcm9wcy5zdHlsZS5kaXNwbGF5PT09ImNvbnRlbnRzInx8KG4mJmwub3B0aW9ucy5sYXlvdXRTY3JvbGwmJmwuc2Nyb2xsJiZsIT09bC5yb290JiZJZShlLHt4Oi1sLnNjcm9sbC5vZmZzZXQueCx5Oi1sLnNjcm9sbC5vZmZzZXQueX0pLHImJih0LngqPXIueC5zY2FsZSx0LnkqPXIueS5zY2FsZSxVbyhlLHIpKSxuJiZ5ZShsLmxhdGVzdFZhbHVlcykmJkllKGUsbC5sYXRlc3RWYWx1ZXMpKX10Lng8S24mJnQueD5IbiYmKHQueD0xKSx0Lnk8S24mJnQueT5IbiYmKHQueT0xKX1mdW5jdGlvbiBEZShlLHQpe2UubWluPWUubWluK3QsZS5tYXg9ZS5tYXgrdH1mdW5jdGlvbiBHbihlLHQsaSxuLG89LjUpe2NvbnN0IGw9QihlLm1pbixlLm1heCxvKTthaShlLHQsaSxsLG4pfWZ1bmN0aW9uIEllKGUsdCl7R24oZS54LHQueCx0LnNjYWxlWCx0LnNjYWxlLHQub3JpZ2luWCksR24oZS55LHQueSx0LnNjYWxlWSx0LnNjYWxlLHQub3JpZ2luWSl9ZnVuY3Rpb24gJG8oZSx0KXtyZXR1cm4gT28oRWMoZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx0KSl9ZnVuY3Rpb24gTGMoZSx0LGkpe2NvbnN0IG49JG8oZSxpKSx7c2Nyb2xsOm99PXQ7cmV0dXJuIG8mJihEZShuLngsby5vZmZzZXQueCksRGUobi55LG8ub2Zmc2V0LnkpKSxufWNvbnN0IF9vPSh7Y3VycmVudDplfSk9PmU/ZS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3Om51bGwsQmM9bmV3IFdlYWtNYXA7Y2xhc3MgRmN7Y29uc3RydWN0b3IodCl7dGhpcy5vcGVuRHJhZ0xvY2s9bnVsbCx0aGlzLmlzRHJhZ2dpbmc9ITEsdGhpcy5jdXJyZW50RGlyZWN0aW9uPW51bGwsdGhpcy5vcmlnaW5Qb2ludD17eDowLHk6MH0sdGhpcy5jb25zdHJhaW50cz0hMSx0aGlzLmhhc011dGF0ZWRDb25zdHJhaW50cz0hMSx0aGlzLmVsYXN0aWM9VygpLHRoaXMudmlzdWFsRWxlbWVudD10fXN0YXJ0KHQse3NuYXBUb0N1cnNvcjppPSExfT17fSl7Y29uc3R7cHJlc2VuY2VDb250ZXh0Om59PXRoaXMudmlzdWFsRWxlbWVudDtpZihuJiZuLmlzUHJlc2VudD09PSExKXJldHVybjtjb25zdCBvPWg9Pntjb25zdHtkcmFnU25hcFRvT3JpZ2luOmZ9PXRoaXMuZ2V0UHJvcHMoKTtmP3RoaXMucGF1c2VBbmltYXRpb24oKTp0aGlzLnN0b3BBbmltYXRpb24oKSxpJiZ0aGlzLnNuYXBUb0N1cnNvcihydChoKS5wb2ludCl9LGw9KGgsZik9Pntjb25zdHtkcmFnOnAsZHJhZ1Byb3BhZ2F0aW9uOm0sb25EcmFnU3RhcnQ6Z309dGhpcy5nZXRQcm9wcygpO2lmKHAmJiFtJiYodGhpcy5vcGVuRHJhZ0xvY2smJnRoaXMub3BlbkRyYWdMb2NrKCksdGhpcy5vcGVuRHJhZ0xvY2s9VmEocCksIXRoaXMub3BlbkRyYWdMb2NrKSlyZXR1cm47dGhpcy5pc0RyYWdnaW5nPSEwLHRoaXMuY3VycmVudERpcmVjdGlvbj1udWxsLHRoaXMucmVzb2x2ZUNvbnN0cmFpbnRzKCksdGhpcy52aXN1YWxFbGVtZW50LnByb2plY3Rpb24mJih0aGlzLnZpc3VhbEVsZW1lbnQucHJvamVjdGlvbi5pc0FuaW1hdGlvbkJsb2NrZWQ9ITAsdGhpcy52aXN1YWxFbGVtZW50LnByb2plY3Rpb24udGFyZ2V0PXZvaWQgMCksSihTPT57bGV0IGI9dGhpcy5nZXRBeGlzTW90aW9uVmFsdWUoUykuZ2V0KCl8fDA7aWYob2UudGVzdChiKSl7Y29uc3R7cHJvamVjdGlvbjp3fT10aGlzLnZpc3VhbEVsZW1lbnQ7aWYodyYmdy5sYXlvdXQpe2NvbnN0IFQ9dy5sYXlvdXQubGF5b3V0Qm94W1NdO1QmJihiPXEoVCkqKHBhcnNlRmxvYXQoYikvMTAwKSl9fXRoaXMub3JpZ2luUG9pbnRbU109Yn0pLGcmJnoucG9zdFJlbmRlcigoKT0+ZyhoLGYpKSxadCh0aGlzLnZpc3VhbEVsZW1lbnQsInRyYW5zZm9ybSIpO2NvbnN0e2FuaW1hdGlvblN0YXRlOnZ9PXRoaXMudmlzdWFsRWxlbWVudDt2JiZ2LnNldEFjdGl2ZSgid2hpbGVEcmFnIiwhMCl9LHI9KGgsZik9Pntjb25zdHtkcmFnUHJvcGFnYXRpb246cCxkcmFnRGlyZWN0aW9uTG9jazptLG9uRGlyZWN0aW9uTG9jazpnLG9uRHJhZzp2fT10aGlzLmdldFByb3BzKCk7aWYoIXAmJiF0aGlzLm9wZW5EcmFnTG9jaylyZXR1cm47Y29uc3R7b2Zmc2V0OlN9PWY7aWYobSYmdGhpcy5jdXJyZW50RGlyZWN0aW9uPT09bnVsbCl7dGhpcy5jdXJyZW50RGlyZWN0aW9uPVdjKFMpLHRoaXMuY3VycmVudERpcmVjdGlvbiE9PW51bGwmJmcmJmcodGhpcy5jdXJyZW50RGlyZWN0aW9uKTtyZXR1cm59dGhpcy51cGRhdGVBeGlzKCJ4IixmLnBvaW50LFMpLHRoaXMudXBkYXRlQXhpcygieSIsZi5wb2ludCxTKSx0aGlzLnZpc3VhbEVsZW1lbnQucmVuZGVyKCksdiYmdihoLGYpfSxjPShoLGYpPT50aGlzLnN0b3AoaCxmKSxkPSgpPT5KKGg9Pnt2YXIgZjtyZXR1cm4gdGhpcy5nZXRBbmltYXRpb25TdGF0ZShoKT09PSJwYXVzZWQiJiYoKGY9dGhpcy5nZXRBeGlzTW90aW9uVmFsdWUoaCkuYW5pbWF0aW9uKT09PW51bGx8fGY9PT12b2lkIDA/dm9pZCAwOmYucGxheSgpKX0pLHtkcmFnU25hcFRvT3JpZ2luOnV9PXRoaXMuZ2V0UHJvcHMoKTt0aGlzLnBhblNlc3Npb249bmV3IExvKHQse29uU2Vzc2lvblN0YXJ0Om8sb25TdGFydDpsLG9uTW92ZTpyLG9uU2Vzc2lvbkVuZDpjLHJlc3VtZUFuaW1hdGlvbjpkfSx7dHJhbnNmb3JtUGFnZVBvaW50OnRoaXMudmlzdWFsRWxlbWVudC5nZXRUcmFuc2Zvcm1QYWdlUG9pbnQoKSxkcmFnU25hcFRvT3JpZ2luOnUsY29udGV4dFdpbmRvdzpfbyh0aGlzLnZpc3VhbEVsZW1lbnQpfSl9c3RvcCh0LGkpe2NvbnN0IG49dGhpcy5pc0RyYWdnaW5nO2lmKHRoaXMuY2FuY2VsKCksIW4pcmV0dXJuO2NvbnN0e3ZlbG9jaXR5Om99PWk7dGhpcy5zdGFydEFuaW1hdGlvbihvKTtjb25zdHtvbkRyYWdFbmQ6bH09dGhpcy5nZXRQcm9wcygpO2wmJnoucG9zdFJlbmRlcigoKT0+bCh0LGkpKX1jYW5jZWwoKXt0aGlzLmlzRHJhZ2dpbmc9ITE7Y29uc3R7cHJvamVjdGlvbjp0LGFuaW1hdGlvblN0YXRlOml9PXRoaXMudmlzdWFsRWxlbWVudDt0JiYodC5pc0FuaW1hdGlvbkJsb2NrZWQ9ITEpLHRoaXMucGFuU2Vzc2lvbiYmdGhpcy5wYW5TZXNzaW9uLmVuZCgpLHRoaXMucGFuU2Vzc2lvbj12b2lkIDA7Y29uc3R7ZHJhZ1Byb3BhZ2F0aW9uOm59PXRoaXMuZ2V0UHJvcHMoKTshbiYmdGhpcy5vcGVuRHJhZ0xvY2smJih0aGlzLm9wZW5EcmFnTG9jaygpLHRoaXMub3BlbkRyYWdMb2NrPW51bGwpLGkmJmkuc2V0QWN0aXZlKCJ3aGlsZURyYWciLCExKX11cGRhdGVBeGlzKHQsaSxuKXtjb25zdHtkcmFnOm99PXRoaXMuZ2V0UHJvcHMoKTtpZighbnx8IXB0KHQsbyx0aGlzLmN1cnJlbnREaXJlY3Rpb24pKXJldHVybjtjb25zdCBsPXRoaXMuZ2V0QXhpc01vdGlvblZhbHVlKHQpO2xldCByPXRoaXMub3JpZ2luUG9pbnRbdF0rblt0XTt0aGlzLmNvbnN0cmFpbnRzJiZ0aGlzLmNvbnN0cmFpbnRzW3RdJiYocj1rYyhyLHRoaXMuY29uc3RyYWludHNbdF0sdGhpcy5lbGFzdGljW3RdKSksbC5zZXQocil9cmVzb2x2ZUNvbnN0cmFpbnRzKCl7dmFyIHQ7Y29uc3R7ZHJhZ0NvbnN0cmFpbnRzOmksZHJhZ0VsYXN0aWM6bn09dGhpcy5nZXRQcm9wcygpLG89dGhpcy52aXN1YWxFbGVtZW50LnByb2plY3Rpb24mJiF0aGlzLnZpc3VhbEVsZW1lbnQucHJvamVjdGlvbi5sYXlvdXQ/dGhpcy52aXN1YWxFbGVtZW50LnByb2plY3Rpb24ubWVhc3VyZSghMSk6KHQ9dGhpcy52aXN1YWxFbGVtZW50LnByb2plY3Rpb24pPT09bnVsbHx8dD09PXZvaWQgMD92b2lkIDA6dC5sYXlvdXQsbD10aGlzLmNvbnN0cmFpbnRzO2kmJmtlKGkpP3RoaXMuY29uc3RyYWludHN8fCh0aGlzLmNvbnN0cmFpbnRzPXRoaXMucmVzb2x2ZVJlZkNvbnN0cmFpbnRzKCkpOmkmJm8/dGhpcy5jb25zdHJhaW50cz1DYyhvLmxheW91dEJveCxpKTp0aGlzLmNvbnN0cmFpbnRzPSExLHRoaXMuZWxhc3RpYz1SYyhuKSxsIT09dGhpcy5jb25zdHJhaW50cyYmbyYmdGhpcy5jb25zdHJhaW50cyYmIXRoaXMuaGFzTXV0YXRlZENvbnN0cmFpbnRzJiZKKHI9Pnt0aGlzLmNvbnN0cmFpbnRzIT09ITEmJnRoaXMuZ2V0QXhpc01vdGlvblZhbHVlKHIpJiYodGhpcy5jb25zdHJhaW50c1tyXT1JYyhvLmxheW91dEJveFtyXSx0aGlzLmNvbnN0cmFpbnRzW3JdKSl9KX1yZXNvbHZlUmVmQ29uc3RyYWludHMoKXtjb25zdHtkcmFnQ29uc3RyYWludHM6dCxvbk1lYXN1cmVEcmFnQ29uc3RyYWludHM6aX09dGhpcy5nZXRQcm9wcygpO2lmKCF0fHwha2UodCkpcmV0dXJuITE7Y29uc3Qgbj10LmN1cnJlbnQse3Byb2plY3Rpb246b309dGhpcy52aXN1YWxFbGVtZW50O2lmKCFvfHwhby5sYXlvdXQpcmV0dXJuITE7Y29uc3QgbD1MYyhuLG8ucm9vdCx0aGlzLnZpc3VhbEVsZW1lbnQuZ2V0VHJhbnNmb3JtUGFnZVBvaW50KCkpO2xldCByPU1jKG8ubGF5b3V0LmxheW91dEJveCxsKTtpZihpKXtjb25zdCBjPWkoVmMocikpO3RoaXMuaGFzTXV0YXRlZENvbnN0cmFpbnRzPSEhYyxjJiYocj1PbyhjKSl9cmV0dXJuIHJ9c3RhcnRBbmltYXRpb24odCl7Y29uc3R7ZHJhZzppLGRyYWdNb21lbnR1bTpuLGRyYWdFbGFzdGljOm8sZHJhZ1RyYW5zaXRpb246bCxkcmFnU25hcFRvT3JpZ2luOnIsb25EcmFnVHJhbnNpdGlvbkVuZDpjfT10aGlzLmdldFByb3BzKCksZD10aGlzLmNvbnN0cmFpbnRzfHx7fSx1PUooaD0+e2lmKCFwdChoLGksdGhpcy5jdXJyZW50RGlyZWN0aW9uKSlyZXR1cm47bGV0IGY9ZCYmZFtoXXx8e307ciYmKGY9e21pbjowLG1heDowfSk7Y29uc3QgcD1vPzIwMDoxZTYsbT1vPzQwOjFlNyxnPXt0eXBlOiJpbmVydGlhIix2ZWxvY2l0eTpuP3RbaF06MCxib3VuY2VTdGlmZm5lc3M6cCxib3VuY2VEYW1waW5nOm0sdGltZUNvbnN0YW50Ojc1MCxyZXN0RGVsdGE6MSxyZXN0U3BlZWQ6MTAsLi4ubCwuLi5mfTtyZXR1cm4gdGhpcy5zdGFydEF4aXNWYWx1ZUFuaW1hdGlvbihoLGcpfSk7cmV0dXJuIFByb21pc2UuYWxsKHUpLnRoZW4oYyl9c3RhcnRBeGlzVmFsdWVBbmltYXRpb24odCxpKXtjb25zdCBuPXRoaXMuZ2V0QXhpc01vdGlvblZhbHVlKHQpO3JldHVybiBadCh0aGlzLnZpc3VhbEVsZW1lbnQsdCksbi5zdGFydChfaSh0LG4sMCxpLHRoaXMudmlzdWFsRWxlbWVudCwhMSkpfXN0b3BBbmltYXRpb24oKXtKKHQ9PnRoaXMuZ2V0QXhpc01vdGlvblZhbHVlKHQpLnN0b3AoKSl9cGF1c2VBbmltYXRpb24oKXtKKHQ9Pnt2YXIgaTtyZXR1cm4oaT10aGlzLmdldEF4aXNNb3Rpb25WYWx1ZSh0KS5hbmltYXRpb24pPT09bnVsbHx8aT09PXZvaWQgMD92b2lkIDA6aS5wYXVzZSgpfSl9Z2V0QW5pbWF0aW9uU3RhdGUodCl7dmFyIGk7cmV0dXJuKGk9dGhpcy5nZXRBeGlzTW90aW9uVmFsdWUodCkuYW5pbWF0aW9uKT09PW51bGx8fGk9PT12b2lkIDA/dm9pZCAwOmkuc3RhdGV9Z2V0QXhpc01vdGlvblZhbHVlKHQpe2NvbnN0IGk9YF9kcmFnJHt0LnRvVXBwZXJDYXNlKCl9YCxuPXRoaXMudmlzdWFsRWxlbWVudC5nZXRQcm9wcygpLG89bltpXTtyZXR1cm4gb3x8dGhpcy52aXN1YWxFbGVtZW50LmdldFZhbHVlKHQsKG4uaW5pdGlhbD9uLmluaXRpYWxbdF06dm9pZCAwKXx8MCl9c25hcFRvQ3Vyc29yKHQpe0ooaT0+e2NvbnN0e2RyYWc6bn09dGhpcy5nZXRQcm9wcygpO2lmKCFwdChpLG4sdGhpcy5jdXJyZW50RGlyZWN0aW9uKSlyZXR1cm47Y29uc3R7cHJvamVjdGlvbjpvfT10aGlzLnZpc3VhbEVsZW1lbnQsbD10aGlzLmdldEF4aXNNb3Rpb25WYWx1ZShpKTtpZihvJiZvLmxheW91dCl7Y29uc3R7bWluOnIsbWF4OmN9PW8ubGF5b3V0LmxheW91dEJveFtpXTtsLnNldCh0W2ldLUIocixjLC41KSl9fSl9c2NhbGVQb3NpdGlvbldpdGhpbkNvbnN0cmFpbnRzKCl7aWYoIXRoaXMudmlzdWFsRWxlbWVudC5jdXJyZW50KXJldHVybjtjb25zdHtkcmFnOnQsZHJhZ0NvbnN0cmFpbnRzOml9PXRoaXMuZ2V0UHJvcHMoKSx7cHJvamVjdGlvbjpufT10aGlzLnZpc3VhbEVsZW1lbnQ7aWYoIWtlKGkpfHwhbnx8IXRoaXMuY29uc3RyYWludHMpcmV0dXJuO3RoaXMuc3RvcEFuaW1hdGlvbigpO2NvbnN0IG89e3g6MCx5OjB9O0oocj0+e2NvbnN0IGM9dGhpcy5nZXRBeGlzTW90aW9uVmFsdWUocik7aWYoYyYmdGhpcy5jb25zdHJhaW50cyE9PSExKXtjb25zdCBkPWMuZ2V0KCk7b1tyXT1EYyh7bWluOmQsbWF4OmR9LHRoaXMuY29uc3RyYWludHNbcl0pfX0pO2NvbnN0e3RyYW5zZm9ybVRlbXBsYXRlOmx9PXRoaXMudmlzdWFsRWxlbWVudC5nZXRQcm9wcygpO3RoaXMudmlzdWFsRWxlbWVudC5jdXJyZW50LnN0eWxlLnRyYW5zZm9ybT1sP2woe30sIiIpOiJub25lIixuLnJvb3QmJm4ucm9vdC51cGRhdGVTY3JvbGwoKSxuLnVwZGF0ZUxheW91dCgpLHRoaXMucmVzb2x2ZUNvbnN0cmFpbnRzKCksSihyPT57aWYoIXB0KHIsdCxudWxsKSlyZXR1cm47Y29uc3QgYz10aGlzLmdldEF4aXNNb3Rpb25WYWx1ZShyKSx7bWluOmQsbWF4OnV9PXRoaXMuY29uc3RyYWludHNbcl07Yy5zZXQoQihkLHUsb1tyXSkpfSl9YWRkTGlzdGVuZXJzKCl7aWYoIXRoaXMudmlzdWFsRWxlbWVudC5jdXJyZW50KXJldHVybjtCYy5zZXQodGhpcy52aXN1YWxFbGVtZW50LHRoaXMpO2NvbnN0IHQ9dGhpcy52aXN1YWxFbGVtZW50LmN1cnJlbnQsaT1YZSh0LCJwb2ludGVyZG93biIsZD0+e2NvbnN0e2RyYWc6dSxkcmFnTGlzdGVuZXI6aD0hMH09dGhpcy5nZXRQcm9wcygpO3UmJmgmJnRoaXMuc3RhcnQoZCl9KSxuPSgpPT57Y29uc3R7ZHJhZ0NvbnN0cmFpbnRzOmR9PXRoaXMuZ2V0UHJvcHMoKTtrZShkKSYmZC5jdXJyZW50JiYodGhpcy5jb25zdHJhaW50cz10aGlzLnJlc29sdmVSZWZDb25zdHJhaW50cygpKX0se3Byb2plY3Rpb246b309dGhpcy52aXN1YWxFbGVtZW50LGw9by5hZGRFdmVudExpc3RlbmVyKCJtZWFzdXJlIixuKTtvJiYhby5sYXlvdXQmJihvLnJvb3QmJm8ucm9vdC51cGRhdGVTY3JvbGwoKSxvLnVwZGF0ZUxheW91dCgpKSx6LnJlYWQobik7Y29uc3Qgcj1pdCh3aW5kb3csInJlc2l6ZSIsKCk9PnRoaXMuc2NhbGVQb3NpdGlvbldpdGhpbkNvbnN0cmFpbnRzKCkpLGM9by5hZGRFdmVudExpc3RlbmVyKCJkaWRVcGRhdGUiLCh7ZGVsdGE6ZCxoYXNMYXlvdXRDaGFuZ2VkOnV9KT0+e3RoaXMuaXNEcmFnZ2luZyYmdSYmKEooaD0+e2NvbnN0IGY9dGhpcy5nZXRBeGlzTW90aW9uVmFsdWUoaCk7ZiYmKHRoaXMub3JpZ2luUG9pbnRbaF0rPWRbaF0udHJhbnNsYXRlLGYuc2V0KGYuZ2V0KCkrZFtoXS50cmFuc2xhdGUpKX0pLHRoaXMudmlzdWFsRWxlbWVudC5yZW5kZXIoKSl9KTtyZXR1cm4oKT0+e3IoKSxpKCksbCgpLGMmJmMoKX19Z2V0UHJvcHMoKXtjb25zdCB0PXRoaXMudmlzdWFsRWxlbWVudC5nZXRQcm9wcygpLHtkcmFnOmk9ITEsZHJhZ0RpcmVjdGlvbkxvY2s6bj0hMSxkcmFnUHJvcGFnYXRpb246bz0hMSxkcmFnQ29uc3RyYWludHM6bD0hMSxkcmFnRWxhc3RpYzpyPW9pLGRyYWdNb21lbnR1bTpjPSEwfT10O3JldHVybnsuLi50LGRyYWc6aSxkcmFnRGlyZWN0aW9uTG9jazpuLGRyYWdQcm9wYWdhdGlvbjpvLGRyYWdDb25zdHJhaW50czpsLGRyYWdFbGFzdGljOnIsZHJhZ01vbWVudHVtOmN9fX1mdW5jdGlvbiBwdChlLHQsaSl7cmV0dXJuKHQ9PT0hMHx8dD09PWUpJiYoaT09PW51bGx8fGk9PT1lKX1mdW5jdGlvbiBXYyhlLHQ9MTApe2xldCBpPW51bGw7cmV0dXJuIE1hdGguYWJzKGUueSk+dD9pPSJ5IjpNYXRoLmFicyhlLngpPnQmJihpPSJ4IiksaX1jbGFzcyBPYyBleHRlbmRzIG1le2NvbnN0cnVjdG9yKHQpe3N1cGVyKHQpLHRoaXMucmVtb3ZlR3JvdXBDb250cm9scz1YLHRoaXMucmVtb3ZlTGlzdGVuZXJzPVgsdGhpcy5jb250cm9scz1uZXcgRmModCl9bW91bnQoKXtjb25zdHtkcmFnQ29udHJvbHM6dH09dGhpcy5ub2RlLmdldFByb3BzKCk7dCYmKHRoaXMucmVtb3ZlR3JvdXBDb250cm9scz10LnN1YnNjcmliZSh0aGlzLmNvbnRyb2xzKSksdGhpcy5yZW1vdmVMaXN0ZW5lcnM9dGhpcy5jb250cm9scy5hZGRMaXN0ZW5lcnMoKXx8WH11bm1vdW50KCl7dGhpcy5yZW1vdmVHcm91cENvbnRyb2xzKCksdGhpcy5yZW1vdmVMaXN0ZW5lcnMoKX19Y29uc3QgWW49ZT0+KHQsaSk9PntlJiZ6LnBvc3RSZW5kZXIoKCk9PmUodCxpKSl9O2NsYXNzIE5jIGV4dGVuZHMgbWV7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMucmVtb3ZlUG9pbnRlckRvd25MaXN0ZW5lcj1YfW9uUG9pbnRlckRvd24odCl7dGhpcy5zZXNzaW9uPW5ldyBMbyh0LHRoaXMuY3JlYXRlUGFuSGFuZGxlcnMoKSx7dHJhbnNmb3JtUGFnZVBvaW50OnRoaXMubm9kZS5nZXRUcmFuc2Zvcm1QYWdlUG9pbnQoKSxjb250ZXh0V2luZG93Ol9vKHRoaXMubm9kZSl9KX1jcmVhdGVQYW5IYW5kbGVycygpe2NvbnN0e29uUGFuU2Vzc2lvblN0YXJ0OnQsb25QYW5TdGFydDppLG9uUGFuOm4sb25QYW5FbmQ6b309dGhpcy5ub2RlLmdldFByb3BzKCk7cmV0dXJue29uU2Vzc2lvblN0YXJ0OlluKHQpLG9uU3RhcnQ6WW4oaSksb25Nb3ZlOm4sb25FbmQ6KGwscik9PntkZWxldGUgdGhpcy5zZXNzaW9uLG8mJnoucG9zdFJlbmRlcigoKT0+byhsLHIpKX19fW1vdW50KCl7dGhpcy5yZW1vdmVQb2ludGVyRG93bkxpc3RlbmVyPVhlKHRoaXMubm9kZS5jdXJyZW50LCJwb2ludGVyZG93biIsdD0+dGhpcy5vblBvaW50ZXJEb3duKHQpKX11cGRhdGUoKXt0aGlzLnNlc3Npb24mJnRoaXMuc2Vzc2lvbi51cGRhdGVIYW5kbGVycyh0aGlzLmNyZWF0ZVBhbkhhbmRsZXJzKCkpfXVubW91bnQoKXt0aGlzLnJlbW92ZVBvaW50ZXJEb3duTGlzdGVuZXIoKSx0aGlzLnNlc3Npb24mJnRoaXMuc2Vzc2lvbi5lbmQoKX19Y29uc3QgeXQ9e2hhc0FuaW1hdGVkU2luY2VSZXNpemU6ITAsaGFzRXZlclVwZGF0ZWQ6ITF9O2Z1bmN0aW9uIFhuKGUsdCl7cmV0dXJuIHQubWF4PT09dC5taW4/MDplLyh0Lm1heC10Lm1pbikqMTAwfWNvbnN0ICRlPXtjb3JyZWN0OihlLHQpPT57aWYoIXQudGFyZ2V0KXJldHVybiBlO2lmKHR5cGVvZiBlPT0ic3RyaW5nIilpZihDLnRlc3QoZSkpZT1wYXJzZUZsb2F0KGUpO2Vsc2UgcmV0dXJuIGU7Y29uc3QgaT1YbihlLHQudGFyZ2V0LngpLG49WG4oZSx0LnRhcmdldC55KTtyZXR1cm5gJHtpfSUgJHtufSVgfX0sVWM9e2NvcnJlY3Q6KGUse3RyZWVTY2FsZTp0LHByb2plY3Rpb25EZWx0YTppfSk9Pntjb25zdCBuPWUsbz1oZS5wYXJzZShlKTtpZihvLmxlbmd0aD41KXJldHVybiBuO2NvbnN0IGw9aGUuY3JlYXRlVHJhbnNmb3JtZXIoZSkscj10eXBlb2Ygb1swXSE9Im51bWJlciI/MTowLGM9aS54LnNjYWxlKnQueCxkPWkueS5zY2FsZSp0Lnk7b1swK3JdLz1jLG9bMStyXS89ZDtjb25zdCB1PUIoYyxkLC41KTtyZXR1cm4gdHlwZW9mIG9bMityXT09Im51bWJlciImJihvWzIrcl0vPXUpLHR5cGVvZiBvWzMrcl09PSJudW1iZXIiJiYob1szK3JdLz11KSxsKG8pfX07Y2xhc3MgJGMgZXh0ZW5kcyB4LkNvbXBvbmVudHtjb21wb25lbnREaWRNb3VudCgpe2NvbnN0e3Zpc3VhbEVsZW1lbnQ6dCxsYXlvdXRHcm91cDppLHN3aXRjaExheW91dEdyb3VwOm4sbGF5b3V0SWQ6b309dGhpcy5wcm9wcyx7cHJvamVjdGlvbjpsfT10O2ZhKF9jKSxsJiYoaS5ncm91cCYmaS5ncm91cC5hZGQobCksbiYmbi5yZWdpc3RlciYmbyYmbi5yZWdpc3RlcihsKSxsLnJvb3QuZGlkVXBkYXRlKCksbC5hZGRFdmVudExpc3RlbmVyKCJhbmltYXRpb25Db21wbGV0ZSIsKCk9Pnt0aGlzLnNhZmVUb1JlbW92ZSgpfSksbC5zZXRPcHRpb25zKHsuLi5sLm9wdGlvbnMsb25FeGl0Q29tcGxldGU6KCk9PnRoaXMuc2FmZVRvUmVtb3ZlKCl9KSkseXQuaGFzRXZlclVwZGF0ZWQ9ITB9Z2V0U25hcHNob3RCZWZvcmVVcGRhdGUodCl7Y29uc3R7bGF5b3V0RGVwZW5kZW5jeTppLHZpc3VhbEVsZW1lbnQ6bixkcmFnOm8saXNQcmVzZW50Omx9PXRoaXMucHJvcHMscj1uLnByb2plY3Rpb247cmV0dXJuIHImJihyLmlzUHJlc2VudD1sLG98fHQubGF5b3V0RGVwZW5kZW5jeSE9PWl8fGk9PT12b2lkIDA/ci53aWxsVXBkYXRlKCk6dGhpcy5zYWZlVG9SZW1vdmUoKSx0LmlzUHJlc2VudCE9PWwmJihsP3IucHJvbW90ZSgpOnIucmVsZWdhdGUoKXx8ei5wb3N0UmVuZGVyKCgpPT57Y29uc3QgYz1yLmdldFN0YWNrKCk7KCFjfHwhYy5tZW1iZXJzLmxlbmd0aCkmJnRoaXMuc2FmZVRvUmVtb3ZlKCl9KSkpLG51bGx9Y29tcG9uZW50RGlkVXBkYXRlKCl7Y29uc3R7cHJvamVjdGlvbjp0fT10aGlzLnByb3BzLnZpc3VhbEVsZW1lbnQ7dCYmKHQucm9vdC5kaWRVcGRhdGUoKSx2aS5wb3N0UmVuZGVyKCgpPT57IXQuY3VycmVudEFuaW1hdGlvbiYmdC5pc0xlYWQoKSYmdGhpcy5zYWZlVG9SZW1vdmUoKX0pKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe2NvbnN0e3Zpc3VhbEVsZW1lbnQ6dCxsYXlvdXRHcm91cDppLHN3aXRjaExheW91dEdyb3VwOm59PXRoaXMucHJvcHMse3Byb2plY3Rpb246b309dDtvJiYoby5zY2hlZHVsZUNoZWNrQWZ0ZXJVbm1vdW50KCksaSYmaS5ncm91cCYmaS5ncm91cC5yZW1vdmUobyksbiYmbi5kZXJlZ2lzdGVyJiZuLmRlcmVnaXN0ZXIobykpfXNhZmVUb1JlbW92ZSgpe2NvbnN0e3NhZmVUb1JlbW92ZTp0fT10aGlzLnByb3BzO3QmJnQoKX1yZW5kZXIoKXtyZXR1cm4gbnVsbH19ZnVuY3Rpb24gSG8oZSl7Y29uc3RbdCxpXT1UcygpLG49eC51c2VDb250ZXh0KHVpKTtyZXR1cm4gcy5qc3goJGMsey4uLmUsbGF5b3V0R3JvdXA6bixzd2l0Y2hMYXlvdXRHcm91cDp4LnVzZUNvbnRleHQoUnMpLGlzUHJlc2VudDp0LHNhZmVUb1JlbW92ZTppfSl9Y29uc3QgX2M9e2JvcmRlclJhZGl1czp7Li4uJGUsYXBwbHlUbzpbImJvcmRlclRvcExlZnRSYWRpdXMiLCJib3JkZXJUb3BSaWdodFJhZGl1cyIsImJvcmRlckJvdHRvbUxlZnRSYWRpdXMiLCJib3JkZXJCb3R0b21SaWdodFJhZGl1cyJdfSxib3JkZXJUb3BMZWZ0UmFkaXVzOiRlLGJvcmRlclRvcFJpZ2h0UmFkaXVzOiRlLGJvcmRlckJvdHRvbUxlZnRSYWRpdXM6JGUsYm9yZGVyQm90dG9tUmlnaHRSYWRpdXM6JGUsYm94U2hhZG93OlVjfTtmdW5jdGlvbiBLbyhlLHQsaSl7Y29uc3Qgbj1VKGUpP2U6ZXQoZSk7cmV0dXJuIG4uc3RhcnQoX2koIiIsbix0LGkpKSxuLmFuaW1hdGlvbn1mdW5jdGlvbiBHbyhlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIFNWR0VsZW1lbnQmJmUudGFnTmFtZSE9PSJzdmcifWNvbnN0IEhjPShlLHQpPT5lLmRlcHRoLXQuZGVwdGg7Y2xhc3MgS2N7Y29uc3RydWN0b3IoKXt0aGlzLmNoaWxkcmVuPVtdLHRoaXMuaXNEaXJ0eT0hMX1hZGQodCl7VmkodGhpcy5jaGlsZHJlbix0KSx0aGlzLmlzRGlydHk9ITB9cmVtb3ZlKHQpe1J0KHRoaXMuY2hpbGRyZW4sdCksdGhpcy5pc0RpcnR5PSEwfWZvckVhY2godCl7dGhpcy5pc0RpcnR5JiZ0aGlzLmNoaWxkcmVuLnNvcnQoSGMpLHRoaXMuaXNEaXJ0eT0hMSx0aGlzLmNoaWxkcmVuLmZvckVhY2godCl9fWZ1bmN0aW9uIEdjKGUsdCl7Y29uc3QgaT1yZS5ub3coKSxuPSh7dGltZXN0YW1wOm99KT0+e2NvbnN0IGw9by1pO2w+PXQmJih1ZShuKSxlKGwtdCkpfTtyZXR1cm4gei5yZWFkKG4sITApLCgpPT51ZShuKX1jb25zdCBZbz1bIlRvcExlZnQiLCJUb3BSaWdodCIsIkJvdHRvbUxlZnQiLCJCb3R0b21SaWdodCJdLFljPVlvLmxlbmd0aCxxbj1lPT50eXBlb2YgZT09InN0cmluZyI/cGFyc2VGbG9hdChlKTplLFpuPWU9PnR5cGVvZiBlPT0ibnVtYmVyInx8Qy50ZXN0KGUpO2Z1bmN0aW9uIFhjKGUsdCxpLG4sbyxsKXtvPyhlLm9wYWNpdHk9QigwLGkub3BhY2l0eSE9PXZvaWQgMD9pLm9wYWNpdHk6MSxxYyhuKSksZS5vcGFjaXR5RXhpdD1CKHQub3BhY2l0eSE9PXZvaWQgMD90Lm9wYWNpdHk6MSwwLFpjKG4pKSk6bCYmKGUub3BhY2l0eT1CKHQub3BhY2l0eSE9PXZvaWQgMD90Lm9wYWNpdHk6MSxpLm9wYWNpdHkhPT12b2lkIDA/aS5vcGFjaXR5OjEsbikpO2ZvcihsZXQgcj0wO3I8WWM7cisrKXtjb25zdCBjPWBib3JkZXIke1lvW3JdfVJhZGl1c2A7bGV0IGQ9Sm4odCxjKSx1PUpuKGksYyk7aWYoZD09PXZvaWQgMCYmdT09PXZvaWQgMCljb250aW51ZTtkfHwoZD0wKSx1fHwodT0wKSxkPT09MHx8dT09PTB8fFpuKGQpPT09Wm4odSk/KGVbY109TWF0aC5tYXgoQihxbihkKSxxbih1KSxuKSwwKSwob2UudGVzdCh1KXx8b2UudGVzdChkKSkmJihlW2NdKz0iJSIpKTplW2NdPXV9KHQucm90YXRlfHxpLnJvdGF0ZSkmJihlLnJvdGF0ZT1CKHQucm90YXRlfHwwLGkucm90YXRlfHwwLG4pKX1mdW5jdGlvbiBKbihlLHQpe3JldHVybiBlW3RdIT09dm9pZCAwP2VbdF06ZS5ib3JkZXJSYWRpdXN9Y29uc3QgcWM9WG8oMCwuNSxjbyksWmM9WG8oLjUsLjk1LFgpO2Z1bmN0aW9uIFhvKGUsdCxpKXtyZXR1cm4gbj0+bjxlPzA6bj50PzE6aShqZShlLHQsbikpfWZ1bmN0aW9uIFFuKGUsdCl7ZS5taW49dC5taW4sZS5tYXg9dC5tYXh9ZnVuY3Rpb24gWihlLHQpe1FuKGUueCx0LngpLFFuKGUueSx0LnkpfWZ1bmN0aW9uIGVzKGUsdCl7ZS50cmFuc2xhdGU9dC50cmFuc2xhdGUsZS5zY2FsZT10LnNjYWxlLGUub3JpZ2luUG9pbnQ9dC5vcmlnaW5Qb2ludCxlLm9yaWdpbj10Lm9yaWdpbn1mdW5jdGlvbiB0cyhlLHQsaSxuLG8pe3JldHVybiBlLT10LGU9UHQoZSwxL2ksbiksbyE9PXZvaWQgMCYmKGU9UHQoZSwxL28sbikpLGV9ZnVuY3Rpb24gSmMoZSx0PTAsaT0xLG49LjUsbyxsPWUscj1lKXtpZihvZS50ZXN0KHQpJiYodD1wYXJzZUZsb2F0KHQpLHQ9QihyLm1pbixyLm1heCx0LzEwMCktci5taW4pLHR5cGVvZiB0IT0ibnVtYmVyIilyZXR1cm47bGV0IGM9QihsLm1pbixsLm1heCxuKTtlPT09bCYmKGMtPXQpLGUubWluPXRzKGUubWluLHQsaSxjLG8pLGUubWF4PXRzKGUubWF4LHQsaSxjLG8pfWZ1bmN0aW9uIGlzKGUsdCxbaSxuLG9dLGwscil7SmMoZSx0W2ldLHRbbl0sdFtvXSx0LnNjYWxlLGwscil9Y29uc3QgUWM9WyJ4Iiwic2NhbGVYIiwib3JpZ2luWCJdLGVkPVsieSIsInNjYWxlWSIsIm9yaWdpblkiXTtmdW5jdGlvbiBucyhlLHQsaSxuKXtpcyhlLngsdCxRYyxpP2kueDp2b2lkIDAsbj9uLng6dm9pZCAwKSxpcyhlLnksdCxlZCxpP2kueTp2b2lkIDAsbj9uLnk6dm9pZCAwKX1mdW5jdGlvbiBzcyhlKXtyZXR1cm4gZS50cmFuc2xhdGU9PT0wJiZlLnNjYWxlPT09MX1mdW5jdGlvbiBxbyhlKXtyZXR1cm4gc3MoZS54KSYmc3MoZS55KX1mdW5jdGlvbiBvcyhlLHQpe3JldHVybiBlLm1pbj09PXQubWluJiZlLm1heD09PXQubWF4fWZ1bmN0aW9uIHRkKGUsdCl7cmV0dXJuIG9zKGUueCx0LngpJiZvcyhlLnksdC55KX1mdW5jdGlvbiBycyhlLHQpe3JldHVybiBNYXRoLnJvdW5kKGUubWluKT09PU1hdGgucm91bmQodC5taW4pJiZNYXRoLnJvdW5kKGUubWF4KT09PU1hdGgucm91bmQodC5tYXgpfWZ1bmN0aW9uIFpvKGUsdCl7cmV0dXJuIHJzKGUueCx0LngpJiZycyhlLnksdC55KX1mdW5jdGlvbiBhcyhlKXtyZXR1cm4gcShlLngpL3EoZS55KX1mdW5jdGlvbiBscyhlLHQpe3JldHVybiBlLnRyYW5zbGF0ZT09PXQudHJhbnNsYXRlJiZlLnNjYWxlPT09dC5zY2FsZSYmZS5vcmlnaW5Qb2ludD09PXQub3JpZ2luUG9pbnR9Y2xhc3MgaWR7Y29uc3RydWN0b3IoKXt0aGlzLm1lbWJlcnM9W119YWRkKHQpe1ZpKHRoaXMubWVtYmVycyx0KSx0LnNjaGVkdWxlUmVuZGVyKCl9cmVtb3ZlKHQpe2lmKFJ0KHRoaXMubWVtYmVycyx0KSx0PT09dGhpcy5wcmV2TGVhZCYmKHRoaXMucHJldkxlYWQ9dm9pZCAwKSx0PT09dGhpcy5sZWFkKXtjb25zdCBpPXRoaXMubWVtYmVyc1t0aGlzLm1lbWJlcnMubGVuZ3RoLTFdO2kmJnRoaXMucHJvbW90ZShpKX19cmVsZWdhdGUodCl7Y29uc3QgaT10aGlzLm1lbWJlcnMuZmluZEluZGV4KG89PnQ9PT1vKTtpZihpPT09MClyZXR1cm4hMTtsZXQgbjtmb3IobGV0IG89aTtvPj0wO28tLSl7Y29uc3QgbD10aGlzLm1lbWJlcnNbb107aWYobC5pc1ByZXNlbnQhPT0hMSl7bj1sO2JyZWFrfX1yZXR1cm4gbj8odGhpcy5wcm9tb3RlKG4pLCEwKTohMX1wcm9tb3RlKHQsaSl7Y29uc3Qgbj10aGlzLmxlYWQ7aWYodCE9PW4mJih0aGlzLnByZXZMZWFkPW4sdGhpcy5sZWFkPXQsdC5zaG93KCksbikpe24uaW5zdGFuY2UmJm4uc2NoZWR1bGVSZW5kZXIoKSx0LnNjaGVkdWxlUmVuZGVyKCksdC5yZXN1bWVGcm9tPW4saSYmKHQucmVzdW1lRnJvbS5wcmVzZXJ2ZU9wYWNpdHk9ITApLG4uc25hcHNob3QmJih0LnNuYXBzaG90PW4uc25hcHNob3QsdC5zbmFwc2hvdC5sYXRlc3RWYWx1ZXM9bi5hbmltYXRpb25WYWx1ZXN8fG4ubGF0ZXN0VmFsdWVzKSx0LnJvb3QmJnQucm9vdC5pc1VwZGF0aW5nJiYodC5pc0xheW91dERpcnR5PSEwKTtjb25zdHtjcm9zc2ZhZGU6b309dC5vcHRpb25zO289PT0hMSYmbi5oaWRlKCl9fWV4aXRBbmltYXRpb25Db21wbGV0ZSgpe3RoaXMubWVtYmVycy5mb3JFYWNoKHQ9Pntjb25zdHtvcHRpb25zOmkscmVzdW1pbmdGcm9tOm59PXQ7aS5vbkV4aXRDb21wbGV0ZSYmaS5vbkV4aXRDb21wbGV0ZSgpLG4mJm4ub3B0aW9ucy5vbkV4aXRDb21wbGV0ZSYmbi5vcHRpb25zLm9uRXhpdENvbXBsZXRlKCl9KX1zY2hlZHVsZVJlbmRlcigpe3RoaXMubWVtYmVycy5mb3JFYWNoKHQ9Pnt0Lmluc3RhbmNlJiZ0LnNjaGVkdWxlUmVuZGVyKCExKX0pfXJlbW92ZUxlYWRTbmFwc2hvdCgpe3RoaXMubGVhZCYmdGhpcy5sZWFkLnNuYXBzaG90JiYodGhpcy5sZWFkLnNuYXBzaG90PXZvaWQgMCl9fWZ1bmN0aW9uIG5kKGUsdCxpKXtsZXQgbj0iIjtjb25zdCBvPWUueC50cmFuc2xhdGUvdC54LGw9ZS55LnRyYW5zbGF0ZS90Lnkscj0oaT09bnVsbD92b2lkIDA6aS56KXx8MDtpZigob3x8bHx8cikmJihuPWB0cmFuc2xhdGUzZCgke299cHgsICR7bH1weCwgJHtyfXB4KSBgKSwodC54IT09MXx8dC55IT09MSkmJihuKz1gc2NhbGUoJHsxL3QueH0sICR7MS90Lnl9KSBgKSxpKXtjb25zdHt0cmFuc2Zvcm1QZXJzcGVjdGl2ZTp1LHJvdGF0ZTpoLHJvdGF0ZVg6Zixyb3RhdGVZOnAsc2tld1g6bSxza2V3WTpnfT1pO3UmJihuPWBwZXJzcGVjdGl2ZSgke3V9cHgpICR7bn1gKSxoJiYobis9YHJvdGF0ZSgke2h9ZGVnKSBgKSxmJiYobis9YHJvdGF0ZVgoJHtmfWRlZykgYCkscCYmKG4rPWByb3RhdGVZKCR7cH1kZWcpIGApLG0mJihuKz1gc2tld1goJHttfWRlZykgYCksZyYmKG4rPWBza2V3WSgke2d9ZGVnKSBgKX1jb25zdCBjPWUueC5zY2FsZSp0LngsZD1lLnkuc2NhbGUqdC55O3JldHVybihjIT09MXx8ZCE9PTEpJiYobis9YHNjYWxlKCR7Y30sICR7ZH0pYCksbnx8Im5vbmUifWNvbnN0IHhlPXt0eXBlOiJwcm9qZWN0aW9uRnJhbWUiLHRvdGFsTm9kZXM6MCxyZXNvbHZlZFRhcmdldERlbHRhczowLHJlY2FsY3VsYXRlZFByb2plY3Rpb246MH0sS2U9dHlwZW9mIHdpbmRvdzwidSImJndpbmRvdy5Nb3Rpb25EZWJ1ZyE9PXZvaWQgMCxfdD1bIiIsIlgiLCJZIiwiWiJdLHNkPXt2aXNpYmlsaXR5OiJoaWRkZW4ifSxjcz0xZTM7bGV0IG9kPTA7ZnVuY3Rpb24gSHQoZSx0LGksbil7Y29uc3R7bGF0ZXN0VmFsdWVzOm99PXQ7b1tlXSYmKGlbZV09b1tlXSx0LnNldFN0YXRpY1ZhbHVlKGUsMCksbiYmKG5bZV09MCkpfWZ1bmN0aW9uIEpvKGUpe2lmKGUuaGFzQ2hlY2tlZE9wdGltaXNlZEFwcGVhcj0hMCxlLnJvb3Q9PT1lKXJldHVybjtjb25zdHt2aXN1YWxFbGVtZW50OnR9PWUub3B0aW9ucztpZighdClyZXR1cm47Y29uc3QgaT1pbyh0KTtpZih3aW5kb3cuTW90aW9uSGFzT3B0aW1pc2VkQW5pbWF0aW9uKGksInRyYW5zZm9ybSIpKXtjb25zdHtsYXlvdXQ6byxsYXlvdXRJZDpsfT1lLm9wdGlvbnM7d2luZG93Lk1vdGlvbkNhbmNlbE9wdGltaXNlZEFuaW1hdGlvbihpLCJ0cmFuc2Zvcm0iLHosIShvfHxsKSl9Y29uc3R7cGFyZW50Om59PWU7biYmIW4uaGFzQ2hlY2tlZE9wdGltaXNlZEFwcGVhciYmSm8obil9ZnVuY3Rpb24gUW8oe2F0dGFjaFJlc2l6ZUxpc3RlbmVyOmUsZGVmYXVsdFBhcmVudDp0LG1lYXN1cmVTY3JvbGw6aSxjaGVja0lzU2Nyb2xsUm9vdDpuLHJlc2V0VHJhbnNmb3JtOm99KXtyZXR1cm4gY2xhc3N7Y29uc3RydWN0b3Iocj17fSxjPXQ9PW51bGw/dm9pZCAwOnQoKSl7dGhpcy5pZD1vZCsrLHRoaXMuYW5pbWF0aW9uSWQ9MCx0aGlzLmNoaWxkcmVuPW5ldyBTZXQsdGhpcy5vcHRpb25zPXt9LHRoaXMuaXNUcmVlQW5pbWF0aW5nPSExLHRoaXMuaXNBbmltYXRpb25CbG9ja2VkPSExLHRoaXMuaXNMYXlvdXREaXJ0eT0hMSx0aGlzLmlzUHJvamVjdGlvbkRpcnR5PSExLHRoaXMuaXNTaGFyZWRQcm9qZWN0aW9uRGlydHk9ITEsdGhpcy5pc1RyYW5zZm9ybURpcnR5PSExLHRoaXMudXBkYXRlTWFudWFsbHlCbG9ja2VkPSExLHRoaXMudXBkYXRlQmxvY2tlZEJ5UmVzaXplPSExLHRoaXMuaXNVcGRhdGluZz0hMSx0aGlzLmlzU1ZHPSExLHRoaXMubmVlZHNSZXNldD0hMSx0aGlzLnNob3VsZFJlc2V0VHJhbnNmb3JtPSExLHRoaXMuaGFzQ2hlY2tlZE9wdGltaXNlZEFwcGVhcj0hMSx0aGlzLnRyZWVTY2FsZT17eDoxLHk6MX0sdGhpcy5ldmVudEhhbmRsZXJzPW5ldyBNYXAsdGhpcy5oYXNUcmVlQW5pbWF0ZWQ9ITEsdGhpcy51cGRhdGVTY2hlZHVsZWQ9ITEsdGhpcy5zY2hlZHVsZVVwZGF0ZT0oKT0+dGhpcy51cGRhdGUoKSx0aGlzLnByb2plY3Rpb25VcGRhdGVTY2hlZHVsZWQ9ITEsdGhpcy5jaGVja1VwZGF0ZUZhaWxlZD0oKT0+e3RoaXMuaXNVcGRhdGluZyYmKHRoaXMuaXNVcGRhdGluZz0hMSx0aGlzLmNsZWFyQWxsU25hcHNob3RzKCkpfSx0aGlzLnVwZGF0ZVByb2plY3Rpb249KCk9Pnt0aGlzLnByb2plY3Rpb25VcGRhdGVTY2hlZHVsZWQ9ITEsS2UmJih4ZS50b3RhbE5vZGVzPXhlLnJlc29sdmVkVGFyZ2V0RGVsdGFzPXhlLnJlY2FsY3VsYXRlZFByb2plY3Rpb249MCksdGhpcy5ub2Rlcy5mb3JFYWNoKGxkKSx0aGlzLm5vZGVzLmZvckVhY2goZmQpLHRoaXMubm9kZXMuZm9yRWFjaChwZCksdGhpcy5ub2Rlcy5mb3JFYWNoKGNkKSxLZSYmd2luZG93Lk1vdGlvbkRlYnVnLnJlY29yZCh4ZSl9LHRoaXMucmVzb2x2ZWRSZWxhdGl2ZVRhcmdldEF0PTAsdGhpcy5oYXNQcm9qZWN0ZWQ9ITEsdGhpcy5pc1Zpc2libGU9ITAsdGhpcy5hbmltYXRpb25Qcm9ncmVzcz0wLHRoaXMuc2hhcmVkTm9kZXM9bmV3IE1hcCx0aGlzLmxhdGVzdFZhbHVlcz1yLHRoaXMucm9vdD1jP2Mucm9vdHx8Yzp0aGlzLHRoaXMucGF0aD1jP1suLi5jLnBhdGgsY106W10sdGhpcy5wYXJlbnQ9Yyx0aGlzLmRlcHRoPWM/Yy5kZXB0aCsxOjA7Zm9yKGxldCBkPTA7ZDx0aGlzLnBhdGgubGVuZ3RoO2QrKyl0aGlzLnBhdGhbZF0uc2hvdWxkUmVzZXRUcmFuc2Zvcm09ITA7dGhpcy5yb290PT09dGhpcyYmKHRoaXMubm9kZXM9bmV3IEtjKX1hZGRFdmVudExpc3RlbmVyKHIsYyl7cmV0dXJuIHRoaXMuZXZlbnRIYW5kbGVycy5oYXMocil8fHRoaXMuZXZlbnRIYW5kbGVycy5zZXQocixuZXcgRWkpLHRoaXMuZXZlbnRIYW5kbGVycy5nZXQocikuYWRkKGMpfW5vdGlmeUxpc3RlbmVycyhyLC4uLmMpe2NvbnN0IGQ9dGhpcy5ldmVudEhhbmRsZXJzLmdldChyKTtkJiZkLm5vdGlmeSguLi5jKX1oYXNMaXN0ZW5lcnMocil7cmV0dXJuIHRoaXMuZXZlbnRIYW5kbGVycy5oYXMocil9bW91bnQocixjPXRoaXMucm9vdC5oYXNUcmVlQW5pbWF0ZWQpe2lmKHRoaXMuaW5zdGFuY2UpcmV0dXJuO3RoaXMuaXNTVkc9R28ociksdGhpcy5pbnN0YW5jZT1yO2NvbnN0e2xheW91dElkOmQsbGF5b3V0OnUsdmlzdWFsRWxlbWVudDpofT10aGlzLm9wdGlvbnM7aWYoaCYmIWguY3VycmVudCYmaC5tb3VudChyKSx0aGlzLnJvb3Qubm9kZXMuYWRkKHRoaXMpLHRoaXMucGFyZW50JiZ0aGlzLnBhcmVudC5jaGlsZHJlbi5hZGQodGhpcyksYyYmKHV8fGQpJiYodGhpcy5pc0xheW91dERpcnR5PSEwKSxlKXtsZXQgZjtjb25zdCBwPSgpPT50aGlzLnJvb3QudXBkYXRlQmxvY2tlZEJ5UmVzaXplPSExO2UociwoKT0+e3RoaXMucm9vdC51cGRhdGVCbG9ja2VkQnlSZXNpemU9ITAsZiYmZigpLGY9R2MocCwyNTApLHl0Lmhhc0FuaW1hdGVkU2luY2VSZXNpemUmJih5dC5oYXNBbmltYXRlZFNpbmNlUmVzaXplPSExLHRoaXMubm9kZXMuZm9yRWFjaCh1cykpfSl9ZCYmdGhpcy5yb290LnJlZ2lzdGVyU2hhcmVkTm9kZShkLHRoaXMpLHRoaXMub3B0aW9ucy5hbmltYXRlIT09ITEmJmgmJihkfHx1KSYmdGhpcy5hZGRFdmVudExpc3RlbmVyKCJkaWRVcGRhdGUiLCh7ZGVsdGE6ZixoYXNMYXlvdXRDaGFuZ2VkOnAsaGFzUmVsYXRpdmVUYXJnZXRDaGFuZ2VkOm0sbGF5b3V0Omd9KT0+e2lmKHRoaXMuaXNUcmVlQW5pbWF0aW9uQmxvY2tlZCgpKXt0aGlzLnRhcmdldD12b2lkIDAsdGhpcy5yZWxhdGl2ZVRhcmdldD12b2lkIDA7cmV0dXJufWNvbnN0IHY9dGhpcy5vcHRpb25zLnRyYW5zaXRpb258fGguZ2V0RGVmYXVsdFRyYW5zaXRpb24oKXx8dmQse29uTGF5b3V0QW5pbWF0aW9uU3RhcnQ6UyxvbkxheW91dEFuaW1hdGlvbkNvbXBsZXRlOmJ9PWguZ2V0UHJvcHMoKSx3PSF0aGlzLnRhcmdldExheW91dHx8IVpvKHRoaXMudGFyZ2V0TGF5b3V0LGcpfHxtLFQ9IXAmJm07aWYodGhpcy5vcHRpb25zLmxheW91dFJvb3R8fHRoaXMucmVzdW1lRnJvbSYmdGhpcy5yZXN1bWVGcm9tLmluc3RhbmNlfHxUfHxwJiYod3x8IXRoaXMuY3VycmVudEFuaW1hdGlvbikpe3RoaXMucmVzdW1lRnJvbSYmKHRoaXMucmVzdW1pbmdGcm9tPXRoaXMucmVzdW1lRnJvbSx0aGlzLnJlc3VtaW5nRnJvbS5yZXN1bWluZ0Zyb209dm9pZCAwKSx0aGlzLnNldEFuaW1hdGlvbk9yaWdpbihmLFQpO2NvbnN0IFA9ey4uLk1pKHYsImxheW91dCIpLG9uUGxheTpTLG9uQ29tcGxldGU6Yn07KGguc2hvdWxkUmVkdWNlTW90aW9ufHx0aGlzLm9wdGlvbnMubGF5b3V0Um9vdCkmJihQLmRlbGF5PTAsUC50eXBlPSExKSx0aGlzLnN0YXJ0QW5pbWF0aW9uKFApfWVsc2UgcHx8dXModGhpcyksdGhpcy5pc0xlYWQoKSYmdGhpcy5vcHRpb25zLm9uRXhpdENvbXBsZXRlJiZ0aGlzLm9wdGlvbnMub25FeGl0Q29tcGxldGUoKTt0aGlzLnRhcmdldExheW91dD1nfSl9dW5tb3VudCgpe3RoaXMub3B0aW9ucy5sYXlvdXRJZCYmdGhpcy53aWxsVXBkYXRlKCksdGhpcy5yb290Lm5vZGVzLnJlbW92ZSh0aGlzKTtjb25zdCByPXRoaXMuZ2V0U3RhY2soKTtyJiZyLnJlbW92ZSh0aGlzKSx0aGlzLnBhcmVudCYmdGhpcy5wYXJlbnQuY2hpbGRyZW4uZGVsZXRlKHRoaXMpLHRoaXMuaW5zdGFuY2U9dm9pZCAwLHVlKHRoaXMudXBkYXRlUHJvamVjdGlvbil9YmxvY2tVcGRhdGUoKXt0aGlzLnVwZGF0ZU1hbnVhbGx5QmxvY2tlZD0hMH11bmJsb2NrVXBkYXRlKCl7dGhpcy51cGRhdGVNYW51YWxseUJsb2NrZWQ9ITF9aXNVcGRhdGVCbG9ja2VkKCl7cmV0dXJuIHRoaXMudXBkYXRlTWFudWFsbHlCbG9ja2VkfHx0aGlzLnVwZGF0ZUJsb2NrZWRCeVJlc2l6ZX1pc1RyZWVBbmltYXRpb25CbG9ja2VkKCl7cmV0dXJuIHRoaXMuaXNBbmltYXRpb25CbG9ja2VkfHx0aGlzLnBhcmVudCYmdGhpcy5wYXJlbnQuaXNUcmVlQW5pbWF0aW9uQmxvY2tlZCgpfHwhMX1zdGFydFVwZGF0ZSgpe3RoaXMuaXNVcGRhdGVCbG9ja2VkKCl8fCh0aGlzLmlzVXBkYXRpbmc9ITAsdGhpcy5ub2RlcyYmdGhpcy5ub2Rlcy5mb3JFYWNoKG1kKSx0aGlzLmFuaW1hdGlvbklkKyspfWdldFRyYW5zZm9ybVRlbXBsYXRlKCl7Y29uc3R7dmlzdWFsRWxlbWVudDpyfT10aGlzLm9wdGlvbnM7cmV0dXJuIHImJnIuZ2V0UHJvcHMoKS50cmFuc2Zvcm1UZW1wbGF0ZX13aWxsVXBkYXRlKHI9ITApe2lmKHRoaXMucm9vdC5oYXNUcmVlQW5pbWF0ZWQ9ITAsdGhpcy5yb290LmlzVXBkYXRlQmxvY2tlZCgpKXt0aGlzLm9wdGlvbnMub25FeGl0Q29tcGxldGUmJnRoaXMub3B0aW9ucy5vbkV4aXRDb21wbGV0ZSgpO3JldHVybn1pZih3aW5kb3cuTW90aW9uQ2FuY2VsT3B0aW1pc2VkQW5pbWF0aW9uJiYhdGhpcy5oYXNDaGVja2VkT3B0aW1pc2VkQXBwZWFyJiZKbyh0aGlzKSwhdGhpcy5yb290LmlzVXBkYXRpbmcmJnRoaXMucm9vdC5zdGFydFVwZGF0ZSgpLHRoaXMuaXNMYXlvdXREaXJ0eSlyZXR1cm47dGhpcy5pc0xheW91dERpcnR5PSEwO2ZvcihsZXQgaD0wO2g8dGhpcy5wYXRoLmxlbmd0aDtoKyspe2NvbnN0IGY9dGhpcy5wYXRoW2hdO2Yuc2hvdWxkUmVzZXRUcmFuc2Zvcm09ITAsZi51cGRhdGVTY3JvbGwoInNuYXBzaG90IiksZi5vcHRpb25zLmxheW91dFJvb3QmJmYud2lsbFVwZGF0ZSghMSl9Y29uc3R7bGF5b3V0SWQ6YyxsYXlvdXQ6ZH09dGhpcy5vcHRpb25zO2lmKGM9PT12b2lkIDAmJiFkKXJldHVybjtjb25zdCB1PXRoaXMuZ2V0VHJhbnNmb3JtVGVtcGxhdGUoKTt0aGlzLnByZXZUcmFuc2Zvcm1UZW1wbGF0ZVZhbHVlPXU/dSh0aGlzLmxhdGVzdFZhbHVlcywiIik6dm9pZCAwLHRoaXMudXBkYXRlU25hcHNob3QoKSxyJiZ0aGlzLm5vdGlmeUxpc3RlbmVycygid2lsbFVwZGF0ZSIpfXVwZGF0ZSgpe2lmKHRoaXMudXBkYXRlU2NoZWR1bGVkPSExLHRoaXMuaXNVcGRhdGVCbG9ja2VkKCkpe3RoaXMudW5ibG9ja1VwZGF0ZSgpLHRoaXMuY2xlYXJBbGxTbmFwc2hvdHMoKSx0aGlzLm5vZGVzLmZvckVhY2goZHMpO3JldHVybn10aGlzLmlzVXBkYXRpbmd8fHRoaXMubm9kZXMuZm9yRWFjaCh1ZCksdGhpcy5pc1VwZGF0aW5nPSExLHRoaXMubm9kZXMuZm9yRWFjaChoZCksdGhpcy5ub2Rlcy5mb3JFYWNoKHJkKSx0aGlzLm5vZGVzLmZvckVhY2goYWQpLHRoaXMuY2xlYXJBbGxTbmFwc2hvdHMoKTtjb25zdCBjPXJlLm5vdygpOyQuZGVsdGE9bGUoMCwxZTMvNjAsYy0kLnRpbWVzdGFtcCksJC50aW1lc3RhbXA9YywkLmlzUHJvY2Vzc2luZz0hMCx6dC51cGRhdGUucHJvY2VzcygkKSx6dC5wcmVSZW5kZXIucHJvY2VzcygkKSx6dC5yZW5kZXIucHJvY2VzcygkKSwkLmlzUHJvY2Vzc2luZz0hMX1kaWRVcGRhdGUoKXt0aGlzLnVwZGF0ZVNjaGVkdWxlZHx8KHRoaXMudXBkYXRlU2NoZWR1bGVkPSEwLHZpLnJlYWQodGhpcy5zY2hlZHVsZVVwZGF0ZSkpfWNsZWFyQWxsU25hcHNob3RzKCl7dGhpcy5ub2Rlcy5mb3JFYWNoKGRkKSx0aGlzLnNoYXJlZE5vZGVzLmZvckVhY2goZ2QpfXNjaGVkdWxlVXBkYXRlUHJvamVjdGlvbigpe3RoaXMucHJvamVjdGlvblVwZGF0ZVNjaGVkdWxlZHx8KHRoaXMucHJvamVjdGlvblVwZGF0ZVNjaGVkdWxlZD0hMCx6LnByZVJlbmRlcih0aGlzLnVwZGF0ZVByb2plY3Rpb24sITEsITApKX1zY2hlZHVsZUNoZWNrQWZ0ZXJVbm1vdW50KCl7ei5wb3N0UmVuZGVyKCgpPT57dGhpcy5pc0xheW91dERpcnR5P3RoaXMucm9vdC5kaWRVcGRhdGUoKTp0aGlzLnJvb3QuY2hlY2tVcGRhdGVGYWlsZWQoKX0pfXVwZGF0ZVNuYXBzaG90KCl7dGhpcy5zbmFwc2hvdHx8IXRoaXMuaW5zdGFuY2V8fCh0aGlzLnNuYXBzaG90PXRoaXMubWVhc3VyZSgpKX11cGRhdGVMYXlvdXQoKXtpZighdGhpcy5pbnN0YW5jZXx8KHRoaXMudXBkYXRlU2Nyb2xsKCksISh0aGlzLm9wdGlvbnMuYWx3YXlzTWVhc3VyZUxheW91dCYmdGhpcy5pc0xlYWQoKSkmJiF0aGlzLmlzTGF5b3V0RGlydHkpKXJldHVybjtpZih0aGlzLnJlc3VtZUZyb20mJiF0aGlzLnJlc3VtZUZyb20uaW5zdGFuY2UpZm9yKGxldCBkPTA7ZDx0aGlzLnBhdGgubGVuZ3RoO2QrKyl0aGlzLnBhdGhbZF0udXBkYXRlU2Nyb2xsKCk7Y29uc3Qgcj10aGlzLmxheW91dDt0aGlzLmxheW91dD10aGlzLm1lYXN1cmUoITEpLHRoaXMubGF5b3V0Q29ycmVjdGVkPVcoKSx0aGlzLmlzTGF5b3V0RGlydHk9ITEsdGhpcy5wcm9qZWN0aW9uRGVsdGE9dm9pZCAwLHRoaXMubm90aWZ5TGlzdGVuZXJzKCJtZWFzdXJlIix0aGlzLmxheW91dC5sYXlvdXRCb3gpO2NvbnN0e3Zpc3VhbEVsZW1lbnQ6Y309dGhpcy5vcHRpb25zO2MmJmMubm90aWZ5KCJMYXlvdXRNZWFzdXJlIix0aGlzLmxheW91dC5sYXlvdXRCb3gscj9yLmxheW91dEJveDp2b2lkIDApfXVwZGF0ZVNjcm9sbChyPSJtZWFzdXJlIil7bGV0IGM9ISEodGhpcy5vcHRpb25zLmxheW91dFNjcm9sbCYmdGhpcy5pbnN0YW5jZSk7aWYodGhpcy5zY3JvbGwmJnRoaXMuc2Nyb2xsLmFuaW1hdGlvbklkPT09dGhpcy5yb290LmFuaW1hdGlvbklkJiZ0aGlzLnNjcm9sbC5waGFzZT09PXImJihjPSExKSxjKXtjb25zdCBkPW4odGhpcy5pbnN0YW5jZSk7dGhpcy5zY3JvbGw9e2FuaW1hdGlvbklkOnRoaXMucm9vdC5hbmltYXRpb25JZCxwaGFzZTpyLGlzUm9vdDpkLG9mZnNldDppKHRoaXMuaW5zdGFuY2UpLHdhc1Jvb3Q6dGhpcy5zY3JvbGw/dGhpcy5zY3JvbGwuaXNSb290OmR9fX1yZXNldFRyYW5zZm9ybSgpe2lmKCFvKXJldHVybjtjb25zdCByPXRoaXMuaXNMYXlvdXREaXJ0eXx8dGhpcy5zaG91bGRSZXNldFRyYW5zZm9ybXx8dGhpcy5vcHRpb25zLmFsd2F5c01lYXN1cmVMYXlvdXQsYz10aGlzLnByb2plY3Rpb25EZWx0YSYmIXFvKHRoaXMucHJvamVjdGlvbkRlbHRhKSxkPXRoaXMuZ2V0VHJhbnNmb3JtVGVtcGxhdGUoKSx1PWQ/ZCh0aGlzLmxhdGVzdFZhbHVlcywiIik6dm9pZCAwLGg9dSE9PXRoaXMucHJldlRyYW5zZm9ybVRlbXBsYXRlVmFsdWU7ciYmKGN8fHllKHRoaXMubGF0ZXN0VmFsdWVzKXx8aCkmJihvKHRoaXMuaW5zdGFuY2UsdSksdGhpcy5zaG91bGRSZXNldFRyYW5zZm9ybT0hMSx0aGlzLnNjaGVkdWxlUmVuZGVyKCkpfW1lYXN1cmUocj0hMCl7Y29uc3QgYz10aGlzLm1lYXN1cmVQYWdlQm94KCk7bGV0IGQ9dGhpcy5yZW1vdmVFbGVtZW50U2Nyb2xsKGMpO3JldHVybiByJiYoZD10aGlzLnJlbW92ZVRyYW5zZm9ybShkKSksYmQoZCkse2FuaW1hdGlvbklkOnRoaXMucm9vdC5hbmltYXRpb25JZCxtZWFzdXJlZEJveDpjLGxheW91dEJveDpkLGxhdGVzdFZhbHVlczp7fSxzb3VyY2U6dGhpcy5pZH19bWVhc3VyZVBhZ2VCb3goKXt2YXIgcjtjb25zdHt2aXN1YWxFbGVtZW50OmN9PXRoaXMub3B0aW9ucztpZighYylyZXR1cm4gVygpO2NvbnN0IGQ9Yy5tZWFzdXJlVmlld3BvcnRCb3goKTtpZighKCgocj10aGlzLnNjcm9sbCk9PT1udWxsfHxyPT09dm9pZCAwP3ZvaWQgMDpyLndhc1Jvb3QpfHx0aGlzLnBhdGguc29tZShTZCkpKXtjb25zdHtzY3JvbGw6aH09dGhpcy5yb290O2gmJihEZShkLngsaC5vZmZzZXQueCksRGUoZC55LGgub2Zmc2V0LnkpKX1yZXR1cm4gZH1yZW1vdmVFbGVtZW50U2Nyb2xsKHIpe3ZhciBjO2NvbnN0IGQ9VygpO2lmKFooZCxyKSwhKChjPXRoaXMuc2Nyb2xsKT09PW51bGx8fGM9PT12b2lkIDApJiZjLndhc1Jvb3QpcmV0dXJuIGQ7Zm9yKGxldCB1PTA7dTx0aGlzLnBhdGgubGVuZ3RoO3UrKyl7Y29uc3QgaD10aGlzLnBhdGhbdV0se3Njcm9sbDpmLG9wdGlvbnM6cH09aDtoIT09dGhpcy5yb290JiZmJiZwLmxheW91dFNjcm9sbCYmKGYud2FzUm9vdCYmWihkLHIpLERlKGQueCxmLm9mZnNldC54KSxEZShkLnksZi5vZmZzZXQueSkpfXJldHVybiBkfWFwcGx5VHJhbnNmb3JtKHIsYz0hMSl7Y29uc3QgZD1XKCk7WihkLHIpO2ZvcihsZXQgdT0wO3U8dGhpcy5wYXRoLmxlbmd0aDt1Kyspe2NvbnN0IGg9dGhpcy5wYXRoW3VdOyFjJiZoLm9wdGlvbnMubGF5b3V0U2Nyb2xsJiZoLnNjcm9sbCYmaCE9PWgucm9vdCYmSWUoZCx7eDotaC5zY3JvbGwub2Zmc2V0LngseTotaC5zY3JvbGwub2Zmc2V0Lnl9KSx5ZShoLmxhdGVzdFZhbHVlcykmJkllKGQsaC5sYXRlc3RWYWx1ZXMpfXJldHVybiB5ZSh0aGlzLmxhdGVzdFZhbHVlcykmJkllKGQsdGhpcy5sYXRlc3RWYWx1ZXMpLGR9cmVtb3ZlVHJhbnNmb3JtKHIpe2NvbnN0IGM9VygpO1ooYyxyKTtmb3IobGV0IGQ9MDtkPHRoaXMucGF0aC5sZW5ndGg7ZCsrKXtjb25zdCB1PXRoaXMucGF0aFtkXTtpZighdS5pbnN0YW5jZXx8IXllKHUubGF0ZXN0VmFsdWVzKSljb250aW51ZTtyaSh1LmxhdGVzdFZhbHVlcykmJnUudXBkYXRlU25hcHNob3QoKTtjb25zdCBoPVcoKSxmPXUubWVhc3VyZVBhZ2VCb3goKTtaKGgsZiksbnMoYyx1LmxhdGVzdFZhbHVlcyx1LnNuYXBzaG90P3Uuc25hcHNob3QubGF5b3V0Qm94OnZvaWQgMCxoKX1yZXR1cm4geWUodGhpcy5sYXRlc3RWYWx1ZXMpJiZucyhjLHRoaXMubGF0ZXN0VmFsdWVzKSxjfXNldFRhcmdldERlbHRhKHIpe3RoaXMudGFyZ2V0RGVsdGE9cix0aGlzLnJvb3Quc2NoZWR1bGVVcGRhdGVQcm9qZWN0aW9uKCksdGhpcy5pc1Byb2plY3Rpb25EaXJ0eT0hMH1zZXRPcHRpb25zKHIpe3RoaXMub3B0aW9ucz17Li4udGhpcy5vcHRpb25zLC4uLnIsY3Jvc3NmYWRlOnIuY3Jvc3NmYWRlIT09dm9pZCAwP3IuY3Jvc3NmYWRlOiEwfX1jbGVhck1lYXN1cmVtZW50cygpe3RoaXMuc2Nyb2xsPXZvaWQgMCx0aGlzLmxheW91dD12b2lkIDAsdGhpcy5zbmFwc2hvdD12b2lkIDAsdGhpcy5wcmV2VHJhbnNmb3JtVGVtcGxhdGVWYWx1ZT12b2lkIDAsdGhpcy50YXJnZXREZWx0YT12b2lkIDAsdGhpcy50YXJnZXQ9dm9pZCAwLHRoaXMuaXNMYXlvdXREaXJ0eT0hMX1mb3JjZVJlbGF0aXZlUGFyZW50VG9SZXNvbHZlVGFyZ2V0KCl7dGhpcy5yZWxhdGl2ZVBhcmVudCYmdGhpcy5yZWxhdGl2ZVBhcmVudC5yZXNvbHZlZFJlbGF0aXZlVGFyZ2V0QXQhPT0kLnRpbWVzdGFtcCYmdGhpcy5yZWxhdGl2ZVBhcmVudC5yZXNvbHZlVGFyZ2V0RGVsdGEoITApfXJlc29sdmVUYXJnZXREZWx0YShyPSExKXt2YXIgYztjb25zdCBkPXRoaXMuZ2V0TGVhZCgpO3RoaXMuaXNQcm9qZWN0aW9uRGlydHl8fCh0aGlzLmlzUHJvamVjdGlvbkRpcnR5PWQuaXNQcm9qZWN0aW9uRGlydHkpLHRoaXMuaXNUcmFuc2Zvcm1EaXJ0eXx8KHRoaXMuaXNUcmFuc2Zvcm1EaXJ0eT1kLmlzVHJhbnNmb3JtRGlydHkpLHRoaXMuaXNTaGFyZWRQcm9qZWN0aW9uRGlydHl8fCh0aGlzLmlzU2hhcmVkUHJvamVjdGlvbkRpcnR5PWQuaXNTaGFyZWRQcm9qZWN0aW9uRGlydHkpO2NvbnN0IHU9ISF0aGlzLnJlc3VtaW5nRnJvbXx8dGhpcyE9PWQ7aWYoIShyfHx1JiZ0aGlzLmlzU2hhcmVkUHJvamVjdGlvbkRpcnR5fHx0aGlzLmlzUHJvamVjdGlvbkRpcnR5fHwhKChjPXRoaXMucGFyZW50KT09PW51bGx8fGM9PT12b2lkIDApJiZjLmlzUHJvamVjdGlvbkRpcnR5fHx0aGlzLmF0dGVtcHRUb1Jlc29sdmVSZWxhdGl2ZVRhcmdldHx8dGhpcy5yb290LnVwZGF0ZUJsb2NrZWRCeVJlc2l6ZSkpcmV0dXJuO2NvbnN0e2xheW91dDpmLGxheW91dElkOnB9PXRoaXMub3B0aW9ucztpZighKCF0aGlzLmxheW91dHx8IShmfHxwKSkpe2lmKHRoaXMucmVzb2x2ZWRSZWxhdGl2ZVRhcmdldEF0PSQudGltZXN0YW1wLCF0aGlzLnRhcmdldERlbHRhJiYhdGhpcy5yZWxhdGl2ZVRhcmdldCl7Y29uc3QgbT10aGlzLmdldENsb3Nlc3RQcm9qZWN0aW5nUGFyZW50KCk7bSYmbS5sYXlvdXQmJnRoaXMuYW5pbWF0aW9uUHJvZ3Jlc3MhPT0xPyh0aGlzLnJlbGF0aXZlUGFyZW50PW0sdGhpcy5mb3JjZVJlbGF0aXZlUGFyZW50VG9SZXNvbHZlVGFyZ2V0KCksdGhpcy5yZWxhdGl2ZVRhcmdldD1XKCksdGhpcy5yZWxhdGl2ZVRhcmdldE9yaWdpbj1XKCksWmUodGhpcy5yZWxhdGl2ZVRhcmdldE9yaWdpbix0aGlzLmxheW91dC5sYXlvdXRCb3gsbS5sYXlvdXQubGF5b3V0Qm94KSxaKHRoaXMucmVsYXRpdmVUYXJnZXQsdGhpcy5yZWxhdGl2ZVRhcmdldE9yaWdpbikpOnRoaXMucmVsYXRpdmVQYXJlbnQ9dGhpcy5yZWxhdGl2ZVRhcmdldD12b2lkIDB9aWYoISghdGhpcy5yZWxhdGl2ZVRhcmdldCYmIXRoaXMudGFyZ2V0RGVsdGEpKXtpZih0aGlzLnRhcmdldHx8KHRoaXMudGFyZ2V0PVcoKSx0aGlzLnRhcmdldFdpdGhUcmFuc2Zvcm1zPVcoKSksdGhpcy5yZWxhdGl2ZVRhcmdldCYmdGhpcy5yZWxhdGl2ZVRhcmdldE9yaWdpbiYmdGhpcy5yZWxhdGl2ZVBhcmVudCYmdGhpcy5yZWxhdGl2ZVBhcmVudC50YXJnZXQ/KHRoaXMuZm9yY2VSZWxhdGl2ZVBhcmVudFRvUmVzb2x2ZVRhcmdldCgpLEFjKHRoaXMudGFyZ2V0LHRoaXMucmVsYXRpdmVUYXJnZXQsdGhpcy5yZWxhdGl2ZVBhcmVudC50YXJnZXQpKTp0aGlzLnRhcmdldERlbHRhPyh0aGlzLnJlc3VtaW5nRnJvbT90aGlzLnRhcmdldD10aGlzLmFwcGx5VHJhbnNmb3JtKHRoaXMubGF5b3V0LmxheW91dEJveCk6Wih0aGlzLnRhcmdldCx0aGlzLmxheW91dC5sYXlvdXRCb3gpLFVvKHRoaXMudGFyZ2V0LHRoaXMudGFyZ2V0RGVsdGEpKTpaKHRoaXMudGFyZ2V0LHRoaXMubGF5b3V0LmxheW91dEJveCksdGhpcy5hdHRlbXB0VG9SZXNvbHZlUmVsYXRpdmVUYXJnZXQpe3RoaXMuYXR0ZW1wdFRvUmVzb2x2ZVJlbGF0aXZlVGFyZ2V0PSExO2NvbnN0IG09dGhpcy5nZXRDbG9zZXN0UHJvamVjdGluZ1BhcmVudCgpO20mJiEhbS5yZXN1bWluZ0Zyb209PSEhdGhpcy5yZXN1bWluZ0Zyb20mJiFtLm9wdGlvbnMubGF5b3V0U2Nyb2xsJiZtLnRhcmdldCYmdGhpcy5hbmltYXRpb25Qcm9ncmVzcyE9PTE/KHRoaXMucmVsYXRpdmVQYXJlbnQ9bSx0aGlzLmZvcmNlUmVsYXRpdmVQYXJlbnRUb1Jlc29sdmVUYXJnZXQoKSx0aGlzLnJlbGF0aXZlVGFyZ2V0PVcoKSx0aGlzLnJlbGF0aXZlVGFyZ2V0T3JpZ2luPVcoKSxaZSh0aGlzLnJlbGF0aXZlVGFyZ2V0T3JpZ2luLHRoaXMudGFyZ2V0LG0udGFyZ2V0KSxaKHRoaXMucmVsYXRpdmVUYXJnZXQsdGhpcy5yZWxhdGl2ZVRhcmdldE9yaWdpbikpOnRoaXMucmVsYXRpdmVQYXJlbnQ9dGhpcy5yZWxhdGl2ZVRhcmdldD12b2lkIDB9S2UmJnhlLnJlc29sdmVkVGFyZ2V0RGVsdGFzKyt9fX1nZXRDbG9zZXN0UHJvamVjdGluZ1BhcmVudCgpe2lmKCEoIXRoaXMucGFyZW50fHxyaSh0aGlzLnBhcmVudC5sYXRlc3RWYWx1ZXMpfHxObyh0aGlzLnBhcmVudC5sYXRlc3RWYWx1ZXMpKSlyZXR1cm4gdGhpcy5wYXJlbnQuaXNQcm9qZWN0aW5nKCk/dGhpcy5wYXJlbnQ6dGhpcy5wYXJlbnQuZ2V0Q2xvc2VzdFByb2plY3RpbmdQYXJlbnQoKX1pc1Byb2plY3RpbmcoKXtyZXR1cm4hISgodGhpcy5yZWxhdGl2ZVRhcmdldHx8dGhpcy50YXJnZXREZWx0YXx8dGhpcy5vcHRpb25zLmxheW91dFJvb3QpJiZ0aGlzLmxheW91dCl9Y2FsY1Byb2plY3Rpb24oKXt2YXIgcjtjb25zdCBjPXRoaXMuZ2V0TGVhZCgpLGQ9ISF0aGlzLnJlc3VtaW5nRnJvbXx8dGhpcyE9PWM7bGV0IHU9ITA7aWYoKHRoaXMuaXNQcm9qZWN0aW9uRGlydHl8fCEoKHI9dGhpcy5wYXJlbnQpPT09bnVsbHx8cj09PXZvaWQgMCkmJnIuaXNQcm9qZWN0aW9uRGlydHkpJiYodT0hMSksZCYmKHRoaXMuaXNTaGFyZWRQcm9qZWN0aW9uRGlydHl8fHRoaXMuaXNUcmFuc2Zvcm1EaXJ0eSkmJih1PSExKSx0aGlzLnJlc29sdmVkUmVsYXRpdmVUYXJnZXRBdD09PSQudGltZXN0YW1wJiYodT0hMSksdSlyZXR1cm47Y29uc3R7bGF5b3V0OmgsbGF5b3V0SWQ6Zn09dGhpcy5vcHRpb25zO2lmKHRoaXMuaXNUcmVlQW5pbWF0aW5nPSEhKHRoaXMucGFyZW50JiZ0aGlzLnBhcmVudC5pc1RyZWVBbmltYXRpbmd8fHRoaXMuY3VycmVudEFuaW1hdGlvbnx8dGhpcy5wZW5kaW5nQW5pbWF0aW9uKSx0aGlzLmlzVHJlZUFuaW1hdGluZ3x8KHRoaXMudGFyZ2V0RGVsdGE9dGhpcy5yZWxhdGl2ZVRhcmdldD12b2lkIDApLCF0aGlzLmxheW91dHx8IShofHxmKSlyZXR1cm47Wih0aGlzLmxheW91dENvcnJlY3RlZCx0aGlzLmxheW91dC5sYXlvdXRCb3gpO2NvbnN0IHA9dGhpcy50cmVlU2NhbGUueCxtPXRoaXMudHJlZVNjYWxlLnk7emModGhpcy5sYXlvdXRDb3JyZWN0ZWQsdGhpcy50cmVlU2NhbGUsdGhpcy5wYXRoLGQpLGMubGF5b3V0JiYhYy50YXJnZXQmJih0aGlzLnRyZWVTY2FsZS54IT09MXx8dGhpcy50cmVlU2NhbGUueSE9PTEpJiYoYy50YXJnZXQ9Yy5sYXlvdXQubGF5b3V0Qm94LGMudGFyZ2V0V2l0aFRyYW5zZm9ybXM9VygpKTtjb25zdHt0YXJnZXQ6Z309YztpZighZyl7dGhpcy5wcmV2UHJvamVjdGlvbkRlbHRhJiYodGhpcy5jcmVhdGVQcm9qZWN0aW9uRGVsdGFzKCksdGhpcy5zY2hlZHVsZVJlbmRlcigpKTtyZXR1cm59IXRoaXMucHJvamVjdGlvbkRlbHRhfHwhdGhpcy5wcmV2UHJvamVjdGlvbkRlbHRhP3RoaXMuY3JlYXRlUHJvamVjdGlvbkRlbHRhcygpOihlcyh0aGlzLnByZXZQcm9qZWN0aW9uRGVsdGEueCx0aGlzLnByb2plY3Rpb25EZWx0YS54KSxlcyh0aGlzLnByZXZQcm9qZWN0aW9uRGVsdGEueSx0aGlzLnByb2plY3Rpb25EZWx0YS55KSkscWUodGhpcy5wcm9qZWN0aW9uRGVsdGEsdGhpcy5sYXlvdXRDb3JyZWN0ZWQsZyx0aGlzLmxhdGVzdFZhbHVlcyksKHRoaXMudHJlZVNjYWxlLnghPT1wfHx0aGlzLnRyZWVTY2FsZS55IT09bXx8IWxzKHRoaXMucHJvamVjdGlvbkRlbHRhLngsdGhpcy5wcmV2UHJvamVjdGlvbkRlbHRhLngpfHwhbHModGhpcy5wcm9qZWN0aW9uRGVsdGEueSx0aGlzLnByZXZQcm9qZWN0aW9uRGVsdGEueSkpJiYodGhpcy5oYXNQcm9qZWN0ZWQ9ITAsdGhpcy5zY2hlZHVsZVJlbmRlcigpLHRoaXMubm90aWZ5TGlzdGVuZXJzKCJwcm9qZWN0aW9uVXBkYXRlIixnKSksS2UmJnhlLnJlY2FsY3VsYXRlZFByb2plY3Rpb24rK31oaWRlKCl7dGhpcy5pc1Zpc2libGU9ITF9c2hvdygpe3RoaXMuaXNWaXNpYmxlPSEwfXNjaGVkdWxlUmVuZGVyKHI9ITApe3ZhciBjO2lmKChjPXRoaXMub3B0aW9ucy52aXN1YWxFbGVtZW50KT09PW51bGx8fGM9PT12b2lkIDB8fGMuc2NoZWR1bGVSZW5kZXIoKSxyKXtjb25zdCBkPXRoaXMuZ2V0U3RhY2soKTtkJiZkLnNjaGVkdWxlUmVuZGVyKCl9dGhpcy5yZXN1bWluZ0Zyb20mJiF0aGlzLnJlc3VtaW5nRnJvbS5pbnN0YW5jZSYmKHRoaXMucmVzdW1pbmdGcm9tPXZvaWQgMCl9Y3JlYXRlUHJvamVjdGlvbkRlbHRhcygpe3RoaXMucHJldlByb2plY3Rpb25EZWx0YT1NZSgpLHRoaXMucHJvamVjdGlvbkRlbHRhPU1lKCksdGhpcy5wcm9qZWN0aW9uRGVsdGFXaXRoVHJhbnNmb3JtPU1lKCl9c2V0QW5pbWF0aW9uT3JpZ2luKHIsYz0hMSl7Y29uc3QgZD10aGlzLnNuYXBzaG90LHU9ZD9kLmxhdGVzdFZhbHVlczp7fSxoPXsuLi50aGlzLmxhdGVzdFZhbHVlc30sZj1NZSgpOyghdGhpcy5yZWxhdGl2ZVBhcmVudHx8IXRoaXMucmVsYXRpdmVQYXJlbnQub3B0aW9ucy5sYXlvdXRSb290KSYmKHRoaXMucmVsYXRpdmVUYXJnZXQ9dGhpcy5yZWxhdGl2ZVRhcmdldE9yaWdpbj12b2lkIDApLHRoaXMuYXR0ZW1wdFRvUmVzb2x2ZVJlbGF0aXZlVGFyZ2V0PSFjO2NvbnN0IHA9VygpLG09ZD9kLnNvdXJjZTp2b2lkIDAsZz10aGlzLmxheW91dD90aGlzLmxheW91dC5zb3VyY2U6dm9pZCAwLHY9bSE9PWcsUz10aGlzLmdldFN0YWNrKCksYj0hU3x8Uy5tZW1iZXJzLmxlbmd0aDw9MSx3PSEhKHYmJiFiJiZ0aGlzLm9wdGlvbnMuY3Jvc3NmYWRlPT09ITAmJiF0aGlzLnBhdGguc29tZSh4ZCkpO3RoaXMuYW5pbWF0aW9uUHJvZ3Jlc3M9MDtsZXQgVDt0aGlzLm1peFRhcmdldERlbHRhPVA9Pntjb25zdCBqPVAvMWUzO2hzKGYueCxyLngsaiksaHMoZi55LHIueSxqKSx0aGlzLnNldFRhcmdldERlbHRhKGYpLHRoaXMucmVsYXRpdmVUYXJnZXQmJnRoaXMucmVsYXRpdmVUYXJnZXRPcmlnaW4mJnRoaXMubGF5b3V0JiZ0aGlzLnJlbGF0aXZlUGFyZW50JiZ0aGlzLnJlbGF0aXZlUGFyZW50LmxheW91dCYmKFplKHAsdGhpcy5sYXlvdXQubGF5b3V0Qm94LHRoaXMucmVsYXRpdmVQYXJlbnQubGF5b3V0LmxheW91dEJveCkseWQodGhpcy5yZWxhdGl2ZVRhcmdldCx0aGlzLnJlbGF0aXZlVGFyZ2V0T3JpZ2luLHAsaiksVCYmdGQodGhpcy5yZWxhdGl2ZVRhcmdldCxUKSYmKHRoaXMuaXNQcm9qZWN0aW9uRGlydHk9ITEpLFR8fChUPVcoKSksWihULHRoaXMucmVsYXRpdmVUYXJnZXQpKSx2JiYodGhpcy5hbmltYXRpb25WYWx1ZXM9aCxYYyhoLHUsdGhpcy5sYXRlc3RWYWx1ZXMsaix3LGIpKSx0aGlzLnJvb3Quc2NoZWR1bGVVcGRhdGVQcm9qZWN0aW9uKCksdGhpcy5zY2hlZHVsZVJlbmRlcigpLHRoaXMuYW5pbWF0aW9uUHJvZ3Jlc3M9an0sdGhpcy5taXhUYXJnZXREZWx0YSh0aGlzLm9wdGlvbnMubGF5b3V0Um9vdD8xZTM6MCl9c3RhcnRBbmltYXRpb24ocil7dGhpcy5ub3RpZnlMaXN0ZW5lcnMoImFuaW1hdGlvblN0YXJ0IiksdGhpcy5jdXJyZW50QW5pbWF0aW9uJiZ0aGlzLmN1cnJlbnRBbmltYXRpb24uc3RvcCgpLHRoaXMucmVzdW1pbmdGcm9tJiZ0aGlzLnJlc3VtaW5nRnJvbS5jdXJyZW50QW5pbWF0aW9uJiZ0aGlzLnJlc3VtaW5nRnJvbS5jdXJyZW50QW5pbWF0aW9uLnN0b3AoKSx0aGlzLnBlbmRpbmdBbmltYXRpb24mJih1ZSh0aGlzLnBlbmRpbmdBbmltYXRpb24pLHRoaXMucGVuZGluZ0FuaW1hdGlvbj12b2lkIDApLHRoaXMucGVuZGluZ0FuaW1hdGlvbj16LnVwZGF0ZSgoKT0+e3l0Lmhhc0FuaW1hdGVkU2luY2VSZXNpemU9ITAsdGhpcy5jdXJyZW50QW5pbWF0aW9uPUtvKDAsY3Msey4uLnIsb25VcGRhdGU6Yz0+e3RoaXMubWl4VGFyZ2V0RGVsdGEoYyksci5vblVwZGF0ZSYmci5vblVwZGF0ZShjKX0sb25Db21wbGV0ZTooKT0+e3Iub25Db21wbGV0ZSYmci5vbkNvbXBsZXRlKCksdGhpcy5jb21wbGV0ZUFuaW1hdGlvbigpfX0pLHRoaXMucmVzdW1pbmdGcm9tJiYodGhpcy5yZXN1bWluZ0Zyb20uY3VycmVudEFuaW1hdGlvbj10aGlzLmN1cnJlbnRBbmltYXRpb24pLHRoaXMucGVuZGluZ0FuaW1hdGlvbj12b2lkIDB9KX1jb21wbGV0ZUFuaW1hdGlvbigpe3RoaXMucmVzdW1pbmdGcm9tJiYodGhpcy5yZXN1bWluZ0Zyb20uY3VycmVudEFuaW1hdGlvbj12b2lkIDAsdGhpcy5yZXN1bWluZ0Zyb20ucHJlc2VydmVPcGFjaXR5PXZvaWQgMCk7Y29uc3Qgcj10aGlzLmdldFN0YWNrKCk7ciYmci5leGl0QW5pbWF0aW9uQ29tcGxldGUoKSx0aGlzLnJlc3VtaW5nRnJvbT10aGlzLmN1cnJlbnRBbmltYXRpb249dGhpcy5hbmltYXRpb25WYWx1ZXM9dm9pZCAwLHRoaXMubm90aWZ5TGlzdGVuZXJzKCJhbmltYXRpb25Db21wbGV0ZSIpfWZpbmlzaEFuaW1hdGlvbigpe3RoaXMuY3VycmVudEFuaW1hdGlvbiYmKHRoaXMubWl4VGFyZ2V0RGVsdGEmJnRoaXMubWl4VGFyZ2V0RGVsdGEoY3MpLHRoaXMuY3VycmVudEFuaW1hdGlvbi5zdG9wKCkpLHRoaXMuY29tcGxldGVBbmltYXRpb24oKX1hcHBseVRyYW5zZm9ybXNUb1RhcmdldCgpe2NvbnN0IHI9dGhpcy5nZXRMZWFkKCk7bGV0e3RhcmdldFdpdGhUcmFuc2Zvcm1zOmMsdGFyZ2V0OmQsbGF5b3V0OnUsbGF0ZXN0VmFsdWVzOmh9PXI7aWYoISghY3x8IWR8fCF1KSl7aWYodGhpcyE9PXImJnRoaXMubGF5b3V0JiZ1JiZlcih0aGlzLm9wdGlvbnMuYW5pbWF0aW9uVHlwZSx0aGlzLmxheW91dC5sYXlvdXRCb3gsdS5sYXlvdXRCb3gpKXtkPXRoaXMudGFyZ2V0fHxXKCk7Y29uc3QgZj1xKHRoaXMubGF5b3V0LmxheW91dEJveC54KTtkLngubWluPXIudGFyZ2V0LngubWluLGQueC5tYXg9ZC54Lm1pbitmO2NvbnN0IHA9cSh0aGlzLmxheW91dC5sYXlvdXRCb3gueSk7ZC55Lm1pbj1yLnRhcmdldC55Lm1pbixkLnkubWF4PWQueS5taW4rcH1aKGMsZCksSWUoYyxoKSxxZSh0aGlzLnByb2plY3Rpb25EZWx0YVdpdGhUcmFuc2Zvcm0sdGhpcy5sYXlvdXRDb3JyZWN0ZWQsYyxoKX19cmVnaXN0ZXJTaGFyZWROb2RlKHIsYyl7dGhpcy5zaGFyZWROb2Rlcy5oYXMocil8fHRoaXMuc2hhcmVkTm9kZXMuc2V0KHIsbmV3IGlkKSx0aGlzLnNoYXJlZE5vZGVzLmdldChyKS5hZGQoYyk7Y29uc3QgdT1jLm9wdGlvbnMuaW5pdGlhbFByb21vdGlvbkNvbmZpZztjLnByb21vdGUoe3RyYW5zaXRpb246dT91LnRyYW5zaXRpb246dm9pZCAwLHByZXNlcnZlRm9sbG93T3BhY2l0eTp1JiZ1LnNob3VsZFByZXNlcnZlRm9sbG93T3BhY2l0eT91LnNob3VsZFByZXNlcnZlRm9sbG93T3BhY2l0eShjKTp2b2lkIDB9KX1pc0xlYWQoKXtjb25zdCByPXRoaXMuZ2V0U3RhY2soKTtyZXR1cm4gcj9yLmxlYWQ9PT10aGlzOiEwfWdldExlYWQoKXt2YXIgcjtjb25zdHtsYXlvdXRJZDpjfT10aGlzLm9wdGlvbnM7cmV0dXJuIGM/KChyPXRoaXMuZ2V0U3RhY2soKSk9PT1udWxsfHxyPT09dm9pZCAwP3ZvaWQgMDpyLmxlYWQpfHx0aGlzOnRoaXN9Z2V0UHJldkxlYWQoKXt2YXIgcjtjb25zdHtsYXlvdXRJZDpjfT10aGlzLm9wdGlvbnM7cmV0dXJuIGM/KHI9dGhpcy5nZXRTdGFjaygpKT09PW51bGx8fHI9PT12b2lkIDA/dm9pZCAwOnIucHJldkxlYWQ6dm9pZCAwfWdldFN0YWNrKCl7Y29uc3R7bGF5b3V0SWQ6cn09dGhpcy5vcHRpb25zO2lmKHIpcmV0dXJuIHRoaXMucm9vdC5zaGFyZWROb2Rlcy5nZXQocil9cHJvbW90ZSh7bmVlZHNSZXNldDpyLHRyYW5zaXRpb246YyxwcmVzZXJ2ZUZvbGxvd09wYWNpdHk6ZH09e30pe2NvbnN0IHU9dGhpcy5nZXRTdGFjaygpO3UmJnUucHJvbW90ZSh0aGlzLGQpLHImJih0aGlzLnByb2plY3Rpb25EZWx0YT12b2lkIDAsdGhpcy5uZWVkc1Jlc2V0PSEwKSxjJiZ0aGlzLnNldE9wdGlvbnMoe3RyYW5zaXRpb246Y30pfXJlbGVnYXRlKCl7Y29uc3Qgcj10aGlzLmdldFN0YWNrKCk7cmV0dXJuIHI/ci5yZWxlZ2F0ZSh0aGlzKTohMX1yZXNldFNrZXdBbmRSb3RhdGlvbigpe2NvbnN0e3Zpc3VhbEVsZW1lbnQ6cn09dGhpcy5vcHRpb25zO2lmKCFyKXJldHVybjtsZXQgYz0hMTtjb25zdHtsYXRlc3RWYWx1ZXM6ZH09cjtpZigoZC56fHxkLnJvdGF0ZXx8ZC5yb3RhdGVYfHxkLnJvdGF0ZVl8fGQucm90YXRlWnx8ZC5za2V3WHx8ZC5za2V3WSkmJihjPSEwKSwhYylyZXR1cm47Y29uc3QgdT17fTtkLnomJkh0KCJ6IixyLHUsdGhpcy5hbmltYXRpb25WYWx1ZXMpO2ZvcihsZXQgaD0wO2g8X3QubGVuZ3RoO2grKylIdChgcm90YXRlJHtfdFtoXX1gLHIsdSx0aGlzLmFuaW1hdGlvblZhbHVlcyksSHQoYHNrZXcke190W2hdfWAscix1LHRoaXMuYW5pbWF0aW9uVmFsdWVzKTtyLnJlbmRlcigpO2Zvcihjb25zdCBoIGluIHUpci5zZXRTdGF0aWNWYWx1ZShoLHVbaF0pLHRoaXMuYW5pbWF0aW9uVmFsdWVzJiYodGhpcy5hbmltYXRpb25WYWx1ZXNbaF09dVtoXSk7ci5zY2hlZHVsZVJlbmRlcigpfWdldFByb2plY3Rpb25TdHlsZXMocil7dmFyIGMsZDtpZighdGhpcy5pbnN0YW5jZXx8dGhpcy5pc1NWRylyZXR1cm47aWYoIXRoaXMuaXNWaXNpYmxlKXJldHVybiBzZDtjb25zdCB1PXt2aXNpYmlsaXR5OiIifSxoPXRoaXMuZ2V0VHJhbnNmb3JtVGVtcGxhdGUoKTtpZih0aGlzLm5lZWRzUmVzZXQpcmV0dXJuIHRoaXMubmVlZHNSZXNldD0hMSx1Lm9wYWNpdHk9IiIsdS5wb2ludGVyRXZlbnRzPW10KHI9PW51bGw/dm9pZCAwOnIucG9pbnRlckV2ZW50cyl8fCIiLHUudHJhbnNmb3JtPWg/aCh0aGlzLmxhdGVzdFZhbHVlcywiIik6Im5vbmUiLHU7Y29uc3QgZj10aGlzLmdldExlYWQoKTtpZighdGhpcy5wcm9qZWN0aW9uRGVsdGF8fCF0aGlzLmxheW91dHx8IWYudGFyZ2V0KXtjb25zdCB2PXt9O3JldHVybiB0aGlzLm9wdGlvbnMubGF5b3V0SWQmJih2Lm9wYWNpdHk9dGhpcy5sYXRlc3RWYWx1ZXMub3BhY2l0eSE9PXZvaWQgMD90aGlzLmxhdGVzdFZhbHVlcy5vcGFjaXR5OjEsdi5wb2ludGVyRXZlbnRzPW10KHI9PW51bGw/dm9pZCAwOnIucG9pbnRlckV2ZW50cyl8fCIiKSx0aGlzLmhhc1Byb2plY3RlZCYmIXllKHRoaXMubGF0ZXN0VmFsdWVzKSYmKHYudHJhbnNmb3JtPWg/aCh7fSwiIik6Im5vbmUiLHRoaXMuaGFzUHJvamVjdGVkPSExKSx2fWNvbnN0IHA9Zi5hbmltYXRpb25WYWx1ZXN8fGYubGF0ZXN0VmFsdWVzO3RoaXMuYXBwbHlUcmFuc2Zvcm1zVG9UYXJnZXQoKSx1LnRyYW5zZm9ybT1uZCh0aGlzLnByb2plY3Rpb25EZWx0YVdpdGhUcmFuc2Zvcm0sdGhpcy50cmVlU2NhbGUscCksaCYmKHUudHJhbnNmb3JtPWgocCx1LnRyYW5zZm9ybSkpO2NvbnN0e3g6bSx5Omd9PXRoaXMucHJvamVjdGlvbkRlbHRhO3UudHJhbnNmb3JtT3JpZ2luPWAke20ub3JpZ2luKjEwMH0lICR7Zy5vcmlnaW4qMTAwfSUgMGAsZi5hbmltYXRpb25WYWx1ZXM/dS5vcGFjaXR5PWY9PT10aGlzPyhkPShjPXAub3BhY2l0eSkhPT1udWxsJiZjIT09dm9pZCAwP2M6dGhpcy5sYXRlc3RWYWx1ZXMub3BhY2l0eSkhPT1udWxsJiZkIT09dm9pZCAwP2Q6MTp0aGlzLnByZXNlcnZlT3BhY2l0eT90aGlzLmxhdGVzdFZhbHVlcy5vcGFjaXR5OnAub3BhY2l0eUV4aXQ6dS5vcGFjaXR5PWY9PT10aGlzP3Aub3BhY2l0eSE9PXZvaWQgMD9wLm9wYWNpdHk6IiI6cC5vcGFjaXR5RXhpdCE9PXZvaWQgMD9wLm9wYWNpdHlFeGl0OjA7Zm9yKGNvbnN0IHYgaW4gdnQpe2lmKHBbdl09PT12b2lkIDApY29udGludWU7Y29uc3R7Y29ycmVjdDpTLGFwcGx5VG86Yn09dnRbdl0sdz11LnRyYW5zZm9ybT09PSJub25lIj9wW3ZdOlMocFt2XSxmKTtpZihiKXtjb25zdCBUPWIubGVuZ3RoO2ZvcihsZXQgUD0wO1A8VDtQKyspdVtiW1BdXT13fWVsc2UgdVt2XT13fXJldHVybiB0aGlzLm9wdGlvbnMubGF5b3V0SWQmJih1LnBvaW50ZXJFdmVudHM9Zj09PXRoaXM/bXQocj09bnVsbD92b2lkIDA6ci5wb2ludGVyRXZlbnRzKXx8IiI6Im5vbmUiKSx1fWNsZWFyU25hcHNob3QoKXt0aGlzLnJlc3VtZUZyb209dGhpcy5zbmFwc2hvdD12b2lkIDB9cmVzZXRUcmVlKCl7dGhpcy5yb290Lm5vZGVzLmZvckVhY2gocj0+e3ZhciBjO3JldHVybihjPXIuY3VycmVudEFuaW1hdGlvbik9PT1udWxsfHxjPT09dm9pZCAwP3ZvaWQgMDpjLnN0b3AoKX0pLHRoaXMucm9vdC5ub2Rlcy5mb3JFYWNoKGRzKSx0aGlzLnJvb3Quc2hhcmVkTm9kZXMuY2xlYXIoKX19fWZ1bmN0aW9uIHJkKGUpe2UudXBkYXRlTGF5b3V0KCl9ZnVuY3Rpb24gYWQoZSl7dmFyIHQ7Y29uc3QgaT0oKHQ9ZS5yZXN1bWVGcm9tKT09PW51bGx8fHQ9PT12b2lkIDA/dm9pZCAwOnQuc25hcHNob3QpfHxlLnNuYXBzaG90O2lmKGUuaXNMZWFkKCkmJmUubGF5b3V0JiZpJiZlLmhhc0xpc3RlbmVycygiZGlkVXBkYXRlIikpe2NvbnN0e2xheW91dEJveDpuLG1lYXN1cmVkQm94Om99PWUubGF5b3V0LHthbmltYXRpb25UeXBlOmx9PWUub3B0aW9ucyxyPWkuc291cmNlIT09ZS5sYXlvdXQuc291cmNlO2w9PT0ic2l6ZSI/SihmPT57Y29uc3QgcD1yP2kubWVhc3VyZWRCb3hbZl06aS5sYXlvdXRCb3hbZl0sbT1xKHApO3AubWluPW5bZl0ubWluLHAubWF4PXAubWluK219KTplcihsLGkubGF5b3V0Qm94LG4pJiZKKGY9Pntjb25zdCBwPXI/aS5tZWFzdXJlZEJveFtmXTppLmxheW91dEJveFtmXSxtPXEobltmXSk7cC5tYXg9cC5taW4rbSxlLnJlbGF0aXZlVGFyZ2V0JiYhZS5jdXJyZW50QW5pbWF0aW9uJiYoZS5pc1Byb2plY3Rpb25EaXJ0eT0hMCxlLnJlbGF0aXZlVGFyZ2V0W2ZdLm1heD1lLnJlbGF0aXZlVGFyZ2V0W2ZdLm1pbittKX0pO2NvbnN0IGM9TWUoKTtxZShjLG4saS5sYXlvdXRCb3gpO2NvbnN0IGQ9TWUoKTtyP3FlKGQsZS5hcHBseVRyYW5zZm9ybShvLCEwKSxpLm1lYXN1cmVkQm94KTpxZShkLG4saS5sYXlvdXRCb3gpO2NvbnN0IHU9IXFvKGMpO2xldCBoPSExO2lmKCFlLnJlc3VtZUZyb20pe2NvbnN0IGY9ZS5nZXRDbG9zZXN0UHJvamVjdGluZ1BhcmVudCgpO2lmKGYmJiFmLnJlc3VtZUZyb20pe2NvbnN0e3NuYXBzaG90OnAsbGF5b3V0Om19PWY7aWYocCYmbSl7Y29uc3QgZz1XKCk7WmUoZyxpLmxheW91dEJveCxwLmxheW91dEJveCk7Y29uc3Qgdj1XKCk7WmUodixuLG0ubGF5b3V0Qm94KSxabyhnLHYpfHwoaD0hMCksZi5vcHRpb25zLmxheW91dFJvb3QmJihlLnJlbGF0aXZlVGFyZ2V0PXYsZS5yZWxhdGl2ZVRhcmdldE9yaWdpbj1nLGUucmVsYXRpdmVQYXJlbnQ9Zil9fX1lLm5vdGlmeUxpc3RlbmVycygiZGlkVXBkYXRlIix7bGF5b3V0Om4sc25hcHNob3Q6aSxkZWx0YTpkLGxheW91dERlbHRhOmMsaGFzTGF5b3V0Q2hhbmdlZDp1LGhhc1JlbGF0aXZlVGFyZ2V0Q2hhbmdlZDpofSl9ZWxzZSBpZihlLmlzTGVhZCgpKXtjb25zdHtvbkV4aXRDb21wbGV0ZTpufT1lLm9wdGlvbnM7biYmbigpfWUub3B0aW9ucy50cmFuc2l0aW9uPXZvaWQgMH1mdW5jdGlvbiBsZChlKXtLZSYmeGUudG90YWxOb2RlcysrLGUucGFyZW50JiYoZS5pc1Byb2plY3RpbmcoKXx8KGUuaXNQcm9qZWN0aW9uRGlydHk9ZS5wYXJlbnQuaXNQcm9qZWN0aW9uRGlydHkpLGUuaXNTaGFyZWRQcm9qZWN0aW9uRGlydHl8fChlLmlzU2hhcmVkUHJvamVjdGlvbkRpcnR5PSEhKGUuaXNQcm9qZWN0aW9uRGlydHl8fGUucGFyZW50LmlzUHJvamVjdGlvbkRpcnR5fHxlLnBhcmVudC5pc1NoYXJlZFByb2plY3Rpb25EaXJ0eSkpLGUuaXNUcmFuc2Zvcm1EaXJ0eXx8KGUuaXNUcmFuc2Zvcm1EaXJ0eT1lLnBhcmVudC5pc1RyYW5zZm9ybURpcnR5KSl9ZnVuY3Rpb24gY2QoZSl7ZS5pc1Byb2plY3Rpb25EaXJ0eT1lLmlzU2hhcmVkUHJvamVjdGlvbkRpcnR5PWUuaXNUcmFuc2Zvcm1EaXJ0eT0hMX1mdW5jdGlvbiBkZChlKXtlLmNsZWFyU25hcHNob3QoKX1mdW5jdGlvbiBkcyhlKXtlLmNsZWFyTWVhc3VyZW1lbnRzKCl9ZnVuY3Rpb24gdWQoZSl7ZS5pc0xheW91dERpcnR5PSExfWZ1bmN0aW9uIGhkKGUpe2NvbnN0e3Zpc3VhbEVsZW1lbnQ6dH09ZS5vcHRpb25zO3QmJnQuZ2V0UHJvcHMoKS5vbkJlZm9yZUxheW91dE1lYXN1cmUmJnQubm90aWZ5KCJCZWZvcmVMYXlvdXRNZWFzdXJlIiksZS5yZXNldFRyYW5zZm9ybSgpfWZ1bmN0aW9uIHVzKGUpe2UuZmluaXNoQW5pbWF0aW9uKCksZS50YXJnZXREZWx0YT1lLnJlbGF0aXZlVGFyZ2V0PWUudGFyZ2V0PXZvaWQgMCxlLmlzUHJvamVjdGlvbkRpcnR5PSEwfWZ1bmN0aW9uIGZkKGUpe2UucmVzb2x2ZVRhcmdldERlbHRhKCl9ZnVuY3Rpb24gcGQoZSl7ZS5jYWxjUHJvamVjdGlvbigpfWZ1bmN0aW9uIG1kKGUpe2UucmVzZXRTa2V3QW5kUm90YXRpb24oKX1mdW5jdGlvbiBnZChlKXtlLnJlbW92ZUxlYWRTbmFwc2hvdCgpfWZ1bmN0aW9uIGhzKGUsdCxpKXtlLnRyYW5zbGF0ZT1CKHQudHJhbnNsYXRlLDAsaSksZS5zY2FsZT1CKHQuc2NhbGUsMSxpKSxlLm9yaWdpbj10Lm9yaWdpbixlLm9yaWdpblBvaW50PXQub3JpZ2luUG9pbnR9ZnVuY3Rpb24gZnMoZSx0LGksbil7ZS5taW49Qih0Lm1pbixpLm1pbixuKSxlLm1heD1CKHQubWF4LGkubWF4LG4pfWZ1bmN0aW9uIHlkKGUsdCxpLG4pe2ZzKGUueCx0LngsaS54LG4pLGZzKGUueSx0LnksaS55LG4pfWZ1bmN0aW9uIHhkKGUpe3JldHVybiBlLmFuaW1hdGlvblZhbHVlcyYmZS5hbmltYXRpb25WYWx1ZXMub3BhY2l0eUV4aXQhPT12b2lkIDB9Y29uc3QgdmQ9e2R1cmF0aW9uOi40NSxlYXNlOlsuNCwwLC4xLDFdfSxwcz1lPT50eXBlb2YgbmF2aWdhdG9yPCJ1IiYmbmF2aWdhdG9yLnVzZXJBZ2VudCYmbmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGUpLG1zPXBzKCJhcHBsZXdlYmtpdC8iKSYmIXBzKCJjaHJvbWUvIik/TWF0aC5yb3VuZDpYO2Z1bmN0aW9uIGdzKGUpe2UubWluPW1zKGUubWluKSxlLm1heD1tcyhlLm1heCl9ZnVuY3Rpb24gYmQoZSl7Z3MoZS54KSxncyhlLnkpfWZ1bmN0aW9uIGVyKGUsdCxpKXtyZXR1cm4gZT09PSJwb3NpdGlvbiJ8fGU9PT0icHJlc2VydmUtYXNwZWN0IiYmIVBjKGFzKHQpLGFzKGkpLC4yKX1mdW5jdGlvbiBTZChlKXt2YXIgdDtyZXR1cm4gZSE9PWUucm9vdCYmKCh0PWUuc2Nyb2xsKT09PW51bGx8fHQ9PT12b2lkIDA/dm9pZCAwOnQud2FzUm9vdCl9Y29uc3QgamQ9UW8oe2F0dGFjaFJlc2l6ZUxpc3RlbmVyOihlLHQpPT5pdChlLCJyZXNpemUiLHQpLG1lYXN1cmVTY3JvbGw6KCk9Pih7eDpkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdHx8ZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0LHk6ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcHx8ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3B9KSxjaGVja0lzU2Nyb2xsUm9vdDooKT0+ITB9KSxLdD17Y3VycmVudDp2b2lkIDB9LHRyPVFvKHttZWFzdXJlU2Nyb2xsOmU9Pih7eDplLnNjcm9sbExlZnQseTplLnNjcm9sbFRvcH0pLGRlZmF1bHRQYXJlbnQ6KCk9PntpZighS3QuY3VycmVudCl7Y29uc3QgZT1uZXcgamQoe30pO2UubW91bnQod2luZG93KSxlLnNldE9wdGlvbnMoe2xheW91dFNjcm9sbDohMH0pLEt0LmN1cnJlbnQ9ZX1yZXR1cm4gS3QuY3VycmVudH0scmVzZXRUcmFuc2Zvcm06KGUsdCk9PntlLnN0eWxlLnRyYW5zZm9ybT10IT09dm9pZCAwP3Q6Im5vbmUifSxjaGVja0lzU2Nyb2xsUm9vdDplPT53aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlKS5wb3NpdGlvbj09PSJmaXhlZCJ9KSx3ZD17cGFuOntGZWF0dXJlOk5jfSxkcmFnOntGZWF0dXJlOk9jLFByb2plY3Rpb25Ob2RlOnRyLE1lYXN1cmVMYXlvdXQ6SG99fTtmdW5jdGlvbiB5cyhlLHQsaSl7Y29uc3R7cHJvcHM6bn09ZTtlLmFuaW1hdGlvblN0YXRlJiZuLndoaWxlSG92ZXImJmUuYW5pbWF0aW9uU3RhdGUuc2V0QWN0aXZlKCJ3aGlsZUhvdmVyIixpPT09IlN0YXJ0Iik7Y29uc3Qgbz0ib25Ib3ZlciIraSxsPW5bb107bCYmei5wb3N0UmVuZGVyKCgpPT5sKHQscnQodCkpKX1jbGFzcyBUZCBleHRlbmRzIG1le21vdW50KCl7Y29uc3R7Y3VycmVudDp0fT10aGlzLm5vZGU7dCYmKHRoaXMudW5tb3VudD1DYSh0LGk9Pih5cyh0aGlzLm5vZGUsaSwiU3RhcnQiKSxuPT55cyh0aGlzLm5vZGUsbiwiRW5kIikpKSl9dW5tb3VudCgpe319Y2xhc3MgUGQgZXh0ZW5kcyBtZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5pc0FjdGl2ZT0hMX1vbkZvY3VzKCl7bGV0IHQ9ITE7dHJ5e3Q9dGhpcy5ub2RlLmN1cnJlbnQubWF0Y2hlcygiOmZvY3VzLXZpc2libGUiKX1jYXRjaHt0PSEwfSF0fHwhdGhpcy5ub2RlLmFuaW1hdGlvblN0YXRlfHwodGhpcy5ub2RlLmFuaW1hdGlvblN0YXRlLnNldEFjdGl2ZSgid2hpbGVGb2N1cyIsITApLHRoaXMuaXNBY3RpdmU9ITApfW9uQmx1cigpeyF0aGlzLmlzQWN0aXZlfHwhdGhpcy5ub2RlLmFuaW1hdGlvblN0YXRlfHwodGhpcy5ub2RlLmFuaW1hdGlvblN0YXRlLnNldEFjdGl2ZSgid2hpbGVGb2N1cyIsITEpLHRoaXMuaXNBY3RpdmU9ITEpfW1vdW50KCl7dGhpcy51bm1vdW50PW90KGl0KHRoaXMubm9kZS5jdXJyZW50LCJmb2N1cyIsKCk9PnRoaXMub25Gb2N1cygpKSxpdCh0aGlzLm5vZGUuY3VycmVudCwiYmx1ciIsKCk9PnRoaXMub25CbHVyKCkpKX11bm1vdW50KCl7fX1mdW5jdGlvbiB4cyhlLHQsaSl7Y29uc3R7cHJvcHM6bn09ZTtlLmFuaW1hdGlvblN0YXRlJiZuLndoaWxlVGFwJiZlLmFuaW1hdGlvblN0YXRlLnNldEFjdGl2ZSgid2hpbGVUYXAiLGk9PT0iU3RhcnQiKTtjb25zdCBvPSJvblRhcCIrKGk9PT0iRW5kIj8iIjppKSxsPW5bb107bCYmei5wb3N0UmVuZGVyKCgpPT5sKHQscnQodCkpKX1jbGFzcyBBZCBleHRlbmRzIG1le21vdW50KCl7Y29uc3R7Y3VycmVudDp0fT10aGlzLm5vZGU7dCYmKHRoaXMudW5tb3VudD1SYSh0LGk9Pih4cyh0aGlzLm5vZGUsaSwiU3RhcnQiKSwobix7c3VjY2VzczpvfSk9PnhzKHRoaXMubm9kZSxuLG8/IkVuZCI6IkNhbmNlbCIpKSx7dXNlR2xvYmFsVGFyZ2V0OnRoaXMubm9kZS5wcm9wcy5nbG9iYWxUYXBUYXJnZXR9KSl9dW5tb3VudCgpe319Y29uc3QgbGk9bmV3IFdlYWtNYXAsR3Q9bmV3IFdlYWtNYXAsa2Q9ZT0+e2NvbnN0IHQ9bGkuZ2V0KGUudGFyZ2V0KTt0JiZ0KGUpfSxDZD1lPT57ZS5mb3JFYWNoKGtkKX07ZnVuY3Rpb24gTWQoe3Jvb3Q6ZSwuLi50fSl7Y29uc3QgaT1lfHxkb2N1bWVudDtHdC5oYXMoaSl8fEd0LnNldChpLHt9KTtjb25zdCBuPUd0LmdldChpKSxvPUpTT04uc3RyaW5naWZ5KHQpO3JldHVybiBuW29dfHwobltvXT1uZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoQ2Qse3Jvb3Q6ZSwuLi50fSkpLG5bb119ZnVuY3Rpb24gRGQoZSx0LGkpe2NvbnN0IG49TWQodCk7cmV0dXJuIGxpLnNldChlLGkpLG4ub2JzZXJ2ZShlKSwoKT0+e2xpLmRlbGV0ZShlKSxuLnVub2JzZXJ2ZShlKX19Y29uc3QgSWQ9e3NvbWU6MCxhbGw6MX07Y2xhc3MgUmQgZXh0ZW5kcyBtZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5oYXNFbnRlcmVkVmlldz0hMSx0aGlzLmlzSW5WaWV3PSExfXN0YXJ0T2JzZXJ2ZXIoKXt0aGlzLnVubW91bnQoKTtjb25zdHt2aWV3cG9ydDp0PXt9fT10aGlzLm5vZGUuZ2V0UHJvcHMoKSx7cm9vdDppLG1hcmdpbjpuLGFtb3VudDpvPSJzb21lIixvbmNlOmx9PXQscj17cm9vdDppP2kuY3VycmVudDp2b2lkIDAscm9vdE1hcmdpbjpuLHRocmVzaG9sZDp0eXBlb2Ygbz09Im51bWJlciI/bzpJZFtvXX0sYz1kPT57Y29uc3R7aXNJbnRlcnNlY3Rpbmc6dX09ZDtpZih0aGlzLmlzSW5WaWV3PT09dXx8KHRoaXMuaXNJblZpZXc9dSxsJiYhdSYmdGhpcy5oYXNFbnRlcmVkVmlldykpcmV0dXJuO3UmJih0aGlzLmhhc0VudGVyZWRWaWV3PSEwKSx0aGlzLm5vZGUuYW5pbWF0aW9uU3RhdGUmJnRoaXMubm9kZS5hbmltYXRpb25TdGF0ZS5zZXRBY3RpdmUoIndoaWxlSW5WaWV3Iix1KTtjb25zdHtvblZpZXdwb3J0RW50ZXI6aCxvblZpZXdwb3J0TGVhdmU6Zn09dGhpcy5ub2RlLmdldFByb3BzKCkscD11P2g6ZjtwJiZwKGQpfTtyZXR1cm4gRGQodGhpcy5ub2RlLmN1cnJlbnQscixjKX1tb3VudCgpe3RoaXMuc3RhcnRPYnNlcnZlcigpfXVwZGF0ZSgpe2lmKHR5cGVvZiBJbnRlcnNlY3Rpb25PYnNlcnZlcj4idSIpcmV0dXJuO2NvbnN0e3Byb3BzOnQscHJldlByb3BzOml9PXRoaXMubm9kZTtbImFtb3VudCIsIm1hcmdpbiIsInJvb3QiXS5zb21lKFZkKHQsaSkpJiZ0aGlzLnN0YXJ0T2JzZXJ2ZXIoKX11bm1vdW50KCl7fX1mdW5jdGlvbiBWZCh7dmlld3BvcnQ6ZT17fX0se3ZpZXdwb3J0OnQ9e319PXt9KXtyZXR1cm4gaT0+ZVtpXSE9PXRbaV19Y29uc3QgRWQ9e2luVmlldzp7RmVhdHVyZTpSZH0sdGFwOntGZWF0dXJlOkFkfSxmb2N1czp7RmVhdHVyZTpQZH0saG92ZXI6e0ZlYXR1cmU6VGR9fSx6ZD17bGF5b3V0OntQcm9qZWN0aW9uTm9kZTp0cixNZWFzdXJlTGF5b3V0OkhvfX0sY2k9e2N1cnJlbnQ6bnVsbH0saXI9e2N1cnJlbnQ6ITF9O2Z1bmN0aW9uIExkKCl7aWYoaXIuY3VycmVudD0hMCwhIXBpKWlmKHdpbmRvdy5tYXRjaE1lZGlhKXtjb25zdCBlPXdpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1yZWR1Y2VkLW1vdGlvbikiKSx0PSgpPT5jaS5jdXJyZW50PWUubWF0Y2hlcztlLmFkZExpc3RlbmVyKHQpLHQoKX1lbHNlIGNpLmN1cnJlbnQ9ITF9Y29uc3QgQmQ9Wy4uLlRvLF8saGVdLEZkPWU9PkJkLmZpbmQod28oZSkpLEVlPW5ldyBXZWFrTWFwO2Z1bmN0aW9uIFdkKGUsdCxpKXtmb3IoY29uc3QgbiBpbiB0KXtjb25zdCBvPXRbbl0sbD1pW25dO2lmKFUobykpZS5hZGRWYWx1ZShuLG8pO2Vsc2UgaWYoVShsKSllLmFkZFZhbHVlKG4sZXQobyx7b3duZXI6ZX0pKTtlbHNlIGlmKGwhPT1vKWlmKGUuaGFzVmFsdWUobikpe2NvbnN0IHI9ZS5nZXRWYWx1ZShuKTtyLmxpdmVTdHlsZT09PSEwP3IuanVtcChvKTpyLmhhc0FuaW1hdGVkfHxyLnNldChvKX1lbHNle2NvbnN0IHI9ZS5nZXRTdGF0aWNWYWx1ZShuKTtlLmFkZFZhbHVlKG4sZXQociE9PXZvaWQgMD9yOm8se293bmVyOmV9KSl9fWZvcihjb25zdCBuIGluIGkpdFtuXT09PXZvaWQgMCYmZS5yZW1vdmVWYWx1ZShuKTtyZXR1cm4gdH1jb25zdCB2cz1bIkFuaW1hdGlvblN0YXJ0IiwiQW5pbWF0aW9uQ29tcGxldGUiLCJVcGRhdGUiLCJCZWZvcmVMYXlvdXRNZWFzdXJlIiwiTGF5b3V0TWVhc3VyZSIsIkxheW91dEFuaW1hdGlvblN0YXJ0IiwiTGF5b3V0QW5pbWF0aW9uQ29tcGxldGUiXTtjbGFzcyBucntzY3JhcGVNb3Rpb25WYWx1ZXNGcm9tUHJvcHModCxpLG4pe3JldHVybnt9fWNvbnN0cnVjdG9yKHtwYXJlbnQ6dCxwcm9wczppLHByZXNlbmNlQ29udGV4dDpuLHJlZHVjZWRNb3Rpb25Db25maWc6byxibG9ja0luaXRpYWxBbmltYXRpb246bCx2aXN1YWxTdGF0ZTpyfSxjPXt9KXt0aGlzLmN1cnJlbnQ9bnVsbCx0aGlzLmNoaWxkcmVuPW5ldyBTZXQsdGhpcy5pc1ZhcmlhbnROb2RlPSExLHRoaXMuaXNDb250cm9sbGluZ1ZhcmlhbnRzPSExLHRoaXMuc2hvdWxkUmVkdWNlTW90aW9uPW51bGwsdGhpcy52YWx1ZXM9bmV3IE1hcCx0aGlzLktleWZyYW1lUmVzb2x2ZXI9T2ksdGhpcy5mZWF0dXJlcz17fSx0aGlzLnZhbHVlU3Vic2NyaXB0aW9ucz1uZXcgTWFwLHRoaXMucHJldk1vdGlvblZhbHVlcz17fSx0aGlzLmV2ZW50cz17fSx0aGlzLnByb3BFdmVudFN1YnNjcmlwdGlvbnM9e30sdGhpcy5ub3RpZnlVcGRhdGU9KCk9PnRoaXMubm90aWZ5KCJVcGRhdGUiLHRoaXMubGF0ZXN0VmFsdWVzKSx0aGlzLnJlbmRlcj0oKT0+e3RoaXMuY3VycmVudCYmKHRoaXMudHJpZ2dlckJ1aWxkKCksdGhpcy5yZW5kZXJJbnN0YW5jZSh0aGlzLmN1cnJlbnQsdGhpcy5yZW5kZXJTdGF0ZSx0aGlzLnByb3BzLnN0eWxlLHRoaXMucHJvamVjdGlvbikpfSx0aGlzLnJlbmRlclNjaGVkdWxlZEF0PTAsdGhpcy5zY2hlZHVsZVJlbmRlcj0oKT0+e2NvbnN0IG09cmUubm93KCk7dGhpcy5yZW5kZXJTY2hlZHVsZWRBdDxtJiYodGhpcy5yZW5kZXJTY2hlZHVsZWRBdD1tLHoucmVuZGVyKHRoaXMucmVuZGVyLCExLCEwKSl9O2NvbnN0e2xhdGVzdFZhbHVlczpkLHJlbmRlclN0YXRlOnUsb25VcGRhdGU6aH09cjt0aGlzLm9uVXBkYXRlPWgsdGhpcy5sYXRlc3RWYWx1ZXM9ZCx0aGlzLmJhc2VUYXJnZXQ9ey4uLmR9LHRoaXMuaW5pdGlhbFZhbHVlcz1pLmluaXRpYWw/ey4uLmR9Ont9LHRoaXMucmVuZGVyU3RhdGU9dSx0aGlzLnBhcmVudD10LHRoaXMucHJvcHM9aSx0aGlzLnByZXNlbmNlQ29udGV4dD1uLHRoaXMuZGVwdGg9dD90LmRlcHRoKzE6MCx0aGlzLnJlZHVjZWRNb3Rpb25Db25maWc9byx0aGlzLm9wdGlvbnM9Yyx0aGlzLmJsb2NrSW5pdGlhbEFuaW1hdGlvbj0hIWwsdGhpcy5pc0NvbnRyb2xsaW5nVmFyaWFudHM9TXQoaSksdGhpcy5pc1ZhcmlhbnROb2RlPURzKGkpLHRoaXMuaXNWYXJpYW50Tm9kZSYmKHRoaXMudmFyaWFudENoaWxkcmVuPW5ldyBTZXQpLHRoaXMubWFudWFsbHlBbmltYXRlT25Nb3VudD0hISh0JiZ0LmN1cnJlbnQpO2NvbnN0e3dpbGxDaGFuZ2U6ZiwuLi5wfT10aGlzLnNjcmFwZU1vdGlvblZhbHVlc0Zyb21Qcm9wcyhpLHt9LHRoaXMpO2Zvcihjb25zdCBtIGluIHApe2NvbnN0IGc9cFttXTtkW21dIT09dm9pZCAwJiZVKGcpJiZnLnNldChkW21dLCExKX19bW91bnQodCl7dGhpcy5jdXJyZW50PXQsRWUuc2V0KHQsdGhpcyksdGhpcy5wcm9qZWN0aW9uJiYhdGhpcy5wcm9qZWN0aW9uLmluc3RhbmNlJiZ0aGlzLnByb2plY3Rpb24ubW91bnQodCksdGhpcy5wYXJlbnQmJnRoaXMuaXNWYXJpYW50Tm9kZSYmIXRoaXMuaXNDb250cm9sbGluZ1ZhcmlhbnRzJiYodGhpcy5yZW1vdmVGcm9tVmFyaWFudFRyZWU9dGhpcy5wYXJlbnQuYWRkVmFyaWFudENoaWxkKHRoaXMpKSx0aGlzLnZhbHVlcy5mb3JFYWNoKChpLG4pPT50aGlzLmJpbmRUb01vdGlvblZhbHVlKG4saSkpLGlyLmN1cnJlbnR8fExkKCksdGhpcy5zaG91bGRSZWR1Y2VNb3Rpb249dGhpcy5yZWR1Y2VkTW90aW9uQ29uZmlnPT09Im5ldmVyIj8hMTp0aGlzLnJlZHVjZWRNb3Rpb25Db25maWc9PT0iYWx3YXlzIj8hMDpjaS5jdXJyZW50LHRoaXMucGFyZW50JiZ0aGlzLnBhcmVudC5jaGlsZHJlbi5hZGQodGhpcyksdGhpcy51cGRhdGUodGhpcy5wcm9wcyx0aGlzLnByZXNlbmNlQ29udGV4dCl9dW5tb3VudCgpe0VlLmRlbGV0ZSh0aGlzLmN1cnJlbnQpLHRoaXMucHJvamVjdGlvbiYmdGhpcy5wcm9qZWN0aW9uLnVubW91bnQoKSx1ZSh0aGlzLm5vdGlmeVVwZGF0ZSksdWUodGhpcy5yZW5kZXIpLHRoaXMudmFsdWVTdWJzY3JpcHRpb25zLmZvckVhY2godD0+dCgpKSx0aGlzLnZhbHVlU3Vic2NyaXB0aW9ucy5jbGVhcigpLHRoaXMucmVtb3ZlRnJvbVZhcmlhbnRUcmVlJiZ0aGlzLnJlbW92ZUZyb21WYXJpYW50VHJlZSgpLHRoaXMucGFyZW50JiZ0aGlzLnBhcmVudC5jaGlsZHJlbi5kZWxldGUodGhpcyk7Zm9yKGNvbnN0IHQgaW4gdGhpcy5ldmVudHMpdGhpcy5ldmVudHNbdF0uY2xlYXIoKTtmb3IoY29uc3QgdCBpbiB0aGlzLmZlYXR1cmVzKXtjb25zdCBpPXRoaXMuZmVhdHVyZXNbdF07aSYmKGkudW5tb3VudCgpLGkuaXNNb3VudGVkPSExKX10aGlzLmN1cnJlbnQ9bnVsbH1iaW5kVG9Nb3Rpb25WYWx1ZSh0LGkpe3RoaXMudmFsdWVTdWJzY3JpcHRpb25zLmhhcyh0KSYmdGhpcy52YWx1ZVN1YnNjcmlwdGlvbnMuZ2V0KHQpKCk7Y29uc3Qgbj1UZS5oYXModCksbz1pLm9uKCJjaGFuZ2UiLGM9Pnt0aGlzLmxhdGVzdFZhbHVlc1t0XT1jLHRoaXMucHJvcHMub25VcGRhdGUmJnoucHJlUmVuZGVyKHRoaXMubm90aWZ5VXBkYXRlKSxuJiZ0aGlzLnByb2plY3Rpb24mJih0aGlzLnByb2plY3Rpb24uaXNUcmFuc2Zvcm1EaXJ0eT0hMCl9KSxsPWkub24oInJlbmRlclJlcXVlc3QiLHRoaXMuc2NoZWR1bGVSZW5kZXIpO2xldCByO3dpbmRvdy5Nb3Rpb25DaGVja0FwcGVhclN5bmMmJihyPXdpbmRvdy5Nb3Rpb25DaGVja0FwcGVhclN5bmModGhpcyx0LGkpKSx0aGlzLnZhbHVlU3Vic2NyaXB0aW9ucy5zZXQodCwoKT0+e28oKSxsKCksciYmcigpLGkub3duZXImJmkuc3RvcCgpfSl9c29ydE5vZGVQb3NpdGlvbih0KXtyZXR1cm4hdGhpcy5jdXJyZW50fHwhdGhpcy5zb3J0SW5zdGFuY2VOb2RlUG9zaXRpb258fHRoaXMudHlwZSE9PXQudHlwZT8wOnRoaXMuc29ydEluc3RhbmNlTm9kZVBvc2l0aW9uKHRoaXMuY3VycmVudCx0LmN1cnJlbnQpfXVwZGF0ZUZlYXR1cmVzKCl7bGV0IHQ9ImFuaW1hdGlvbiI7Zm9yKHQgaW4gUmUpe2NvbnN0IGk9UmVbdF07aWYoIWkpY29udGludWU7Y29uc3R7aXNFbmFibGVkOm4sRmVhdHVyZTpvfT1pO2lmKCF0aGlzLmZlYXR1cmVzW3RdJiZvJiZuKHRoaXMucHJvcHMpJiYodGhpcy5mZWF0dXJlc1t0XT1uZXcgbyh0aGlzKSksdGhpcy5mZWF0dXJlc1t0XSl7Y29uc3QgbD10aGlzLmZlYXR1cmVzW3RdO2wuaXNNb3VudGVkP2wudXBkYXRlKCk6KGwubW91bnQoKSxsLmlzTW91bnRlZD0hMCl9fX10cmlnZ2VyQnVpbGQoKXt0aGlzLmJ1aWxkKHRoaXMucmVuZGVyU3RhdGUsdGhpcy5sYXRlc3RWYWx1ZXMsdGhpcy5wcm9wcyl9bWVhc3VyZVZpZXdwb3J0Qm94KCl7cmV0dXJuIHRoaXMuY3VycmVudD90aGlzLm1lYXN1cmVJbnN0YW5jZVZpZXdwb3J0Qm94KHRoaXMuY3VycmVudCx0aGlzLnByb3BzKTpXKCl9Z2V0U3RhdGljVmFsdWUodCl7cmV0dXJuIHRoaXMubGF0ZXN0VmFsdWVzW3RdfXNldFN0YXRpY1ZhbHVlKHQsaSl7dGhpcy5sYXRlc3RWYWx1ZXNbdF09aX11cGRhdGUodCxpKXsodC50cmFuc2Zvcm1UZW1wbGF0ZXx8dGhpcy5wcm9wcy50cmFuc2Zvcm1UZW1wbGF0ZSkmJnRoaXMuc2NoZWR1bGVSZW5kZXIoKSx0aGlzLnByZXZQcm9wcz10aGlzLnByb3BzLHRoaXMucHJvcHM9dCx0aGlzLnByZXZQcmVzZW5jZUNvbnRleHQ9dGhpcy5wcmVzZW5jZUNvbnRleHQsdGhpcy5wcmVzZW5jZUNvbnRleHQ9aTtmb3IobGV0IG49MDtuPHZzLmxlbmd0aDtuKyspe2NvbnN0IG89dnNbbl07dGhpcy5wcm9wRXZlbnRTdWJzY3JpcHRpb25zW29dJiYodGhpcy5wcm9wRXZlbnRTdWJzY3JpcHRpb25zW29dKCksZGVsZXRlIHRoaXMucHJvcEV2ZW50U3Vic2NyaXB0aW9uc1tvXSk7Y29uc3QgbD0ib24iK28scj10W2xdO3ImJih0aGlzLnByb3BFdmVudFN1YnNjcmlwdGlvbnNbb109dGhpcy5vbihvLHIpKX10aGlzLnByZXZNb3Rpb25WYWx1ZXM9V2QodGhpcyx0aGlzLnNjcmFwZU1vdGlvblZhbHVlc0Zyb21Qcm9wcyh0LHRoaXMucHJldlByb3BzLHRoaXMpLHRoaXMucHJldk1vdGlvblZhbHVlcyksdGhpcy5oYW5kbGVDaGlsZE1vdGlvblZhbHVlJiZ0aGlzLmhhbmRsZUNoaWxkTW90aW9uVmFsdWUoKSx0aGlzLm9uVXBkYXRlJiZ0aGlzLm9uVXBkYXRlKHRoaXMpfWdldFByb3BzKCl7cmV0dXJuIHRoaXMucHJvcHN9Z2V0VmFyaWFudCh0KXtyZXR1cm4gdGhpcy5wcm9wcy52YXJpYW50cz90aGlzLnByb3BzLnZhcmlhbnRzW3RdOnZvaWQgMH1nZXREZWZhdWx0VHJhbnNpdGlvbigpe3JldHVybiB0aGlzLnByb3BzLnRyYW5zaXRpb259Z2V0VHJhbnNmb3JtUGFnZVBvaW50KCl7cmV0dXJuIHRoaXMucHJvcHMudHJhbnNmb3JtUGFnZVBvaW50fWdldENsb3Nlc3RWYXJpYW50Tm9kZSgpe3JldHVybiB0aGlzLmlzVmFyaWFudE5vZGU/dGhpczp0aGlzLnBhcmVudD90aGlzLnBhcmVudC5nZXRDbG9zZXN0VmFyaWFudE5vZGUoKTp2b2lkIDB9YWRkVmFyaWFudENoaWxkKHQpe2NvbnN0IGk9dGhpcy5nZXRDbG9zZXN0VmFyaWFudE5vZGUoKTtpZihpKXJldHVybiBpLnZhcmlhbnRDaGlsZHJlbiYmaS52YXJpYW50Q2hpbGRyZW4uYWRkKHQpLCgpPT5pLnZhcmlhbnRDaGlsZHJlbi5kZWxldGUodCl9YWRkVmFsdWUodCxpKXtjb25zdCBuPXRoaXMudmFsdWVzLmdldCh0KTtpIT09biYmKG4mJnRoaXMucmVtb3ZlVmFsdWUodCksdGhpcy5iaW5kVG9Nb3Rpb25WYWx1ZSh0LGkpLHRoaXMudmFsdWVzLnNldCh0LGkpLHRoaXMubGF0ZXN0VmFsdWVzW3RdPWkuZ2V0KCkpfXJlbW92ZVZhbHVlKHQpe3RoaXMudmFsdWVzLmRlbGV0ZSh0KTtjb25zdCBpPXRoaXMudmFsdWVTdWJzY3JpcHRpb25zLmdldCh0KTtpJiYoaSgpLHRoaXMudmFsdWVTdWJzY3JpcHRpb25zLmRlbGV0ZSh0KSksZGVsZXRlIHRoaXMubGF0ZXN0VmFsdWVzW3RdLHRoaXMucmVtb3ZlVmFsdWVGcm9tUmVuZGVyU3RhdGUodCx0aGlzLnJlbmRlclN0YXRlKX1oYXNWYWx1ZSh0KXtyZXR1cm4gdGhpcy52YWx1ZXMuaGFzKHQpfWdldFZhbHVlKHQsaSl7aWYodGhpcy5wcm9wcy52YWx1ZXMmJnRoaXMucHJvcHMudmFsdWVzW3RdKXJldHVybiB0aGlzLnByb3BzLnZhbHVlc1t0XTtsZXQgbj10aGlzLnZhbHVlcy5nZXQodCk7cmV0dXJuIG49PT12b2lkIDAmJmkhPT12b2lkIDAmJihuPWV0KGk9PT1udWxsP3ZvaWQgMDppLHtvd25lcjp0aGlzfSksdGhpcy5hZGRWYWx1ZSh0LG4pKSxufXJlYWRWYWx1ZSh0LGkpe3ZhciBuO2xldCBvPXRoaXMubGF0ZXN0VmFsdWVzW3RdIT09dm9pZCAwfHwhdGhpcy5jdXJyZW50P3RoaXMubGF0ZXN0VmFsdWVzW3RdOihuPXRoaXMuZ2V0QmFzZVRhcmdldEZyb21Qcm9wcyh0aGlzLnByb3BzLHQpKSE9PW51bGwmJm4hPT12b2lkIDA/bjp0aGlzLnJlYWRWYWx1ZUZyb21JbnN0YW5jZSh0aGlzLmN1cnJlbnQsdCx0aGlzLm9wdGlvbnMpO3JldHVybiBvIT1udWxsJiYodHlwZW9mIG89PSJzdHJpbmciJiYoU28obyl8fGhvKG8pKT9vPXBhcnNlRmxvYXQobyk6IUZkKG8pJiZoZS50ZXN0KGkpJiYobz14byh0LGkpKSx0aGlzLnNldEJhc2VUYXJnZXQodCxVKG8pP28uZ2V0KCk6bykpLFUobyk/by5nZXQoKTpvfXNldEJhc2VUYXJnZXQodCxpKXt0aGlzLmJhc2VUYXJnZXRbdF09aX1nZXRCYXNlVGFyZ2V0KHQpe3ZhciBpO2NvbnN0e2luaXRpYWw6bn09dGhpcy5wcm9wcztsZXQgbztpZih0eXBlb2Ygbj09InN0cmluZyJ8fHR5cGVvZiBuPT0ib2JqZWN0Iil7Y29uc3Qgcj1TaSh0aGlzLnByb3BzLG4sKGk9dGhpcy5wcmVzZW5jZUNvbnRleHQpPT09bnVsbHx8aT09PXZvaWQgMD92b2lkIDA6aS5jdXN0b20pO3ImJihvPXJbdF0pfWlmKG4mJm8hPT12b2lkIDApcmV0dXJuIG87Y29uc3QgbD10aGlzLmdldEJhc2VUYXJnZXRGcm9tUHJvcHModGhpcy5wcm9wcyx0KTtyZXR1cm4gbCE9PXZvaWQgMCYmIVUobCk/bDp0aGlzLmluaXRpYWxWYWx1ZXNbdF0hPT12b2lkIDAmJm89PT12b2lkIDA/dm9pZCAwOnRoaXMuYmFzZVRhcmdldFt0XX1vbih0LGkpe3JldHVybiB0aGlzLmV2ZW50c1t0XXx8KHRoaXMuZXZlbnRzW3RdPW5ldyBFaSksdGhpcy5ldmVudHNbdF0uYWRkKGkpfW5vdGlmeSh0LC4uLmkpe3RoaXMuZXZlbnRzW3RdJiZ0aGlzLmV2ZW50c1t0XS5ub3RpZnkoLi4uaSl9fWNsYXNzIHNyIGV4dGVuZHMgbnJ7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuS2V5ZnJhbWVSZXNvbHZlcj1Qb31zb3J0SW5zdGFuY2VOb2RlUG9zaXRpb24odCxpKXtyZXR1cm4gdC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihpKSYyPzE6LTF9Z2V0QmFzZVRhcmdldEZyb21Qcm9wcyh0LGkpe3JldHVybiB0LnN0eWxlP3Quc3R5bGVbaV06dm9pZCAwfXJlbW92ZVZhbHVlRnJvbVJlbmRlclN0YXRlKHQse3ZhcnM6aSxzdHlsZTpufSl7ZGVsZXRlIGlbdF0sZGVsZXRlIG5bdF19aGFuZGxlQ2hpbGRNb3Rpb25WYWx1ZSgpe3RoaXMuY2hpbGRTdWJzY3JpcHRpb24mJih0aGlzLmNoaWxkU3Vic2NyaXB0aW9uKCksZGVsZXRlIHRoaXMuY2hpbGRTdWJzY3JpcHRpb24pO2NvbnN0e2NoaWxkcmVuOnR9PXRoaXMucHJvcHM7VSh0KSYmKHRoaXMuY2hpbGRTdWJzY3JpcHRpb249dC5vbigiY2hhbmdlIixpPT57dGhpcy5jdXJyZW50JiYodGhpcy5jdXJyZW50LnRleHRDb250ZW50PWAke2l9YCl9KSl9fWZ1bmN0aW9uIE9kKGUpe3JldHVybiB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlKX1jbGFzcyBvciBleHRlbmRzIHNye2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnR5cGU9Imh0bWwiLHRoaXMucmVuZGVySW5zdGFuY2U9V3N9cmVhZFZhbHVlRnJvbUluc3RhbmNlKHQsaSl7aWYoVGUuaGFzKGkpKXtjb25zdCBuPVdpKGkpO3JldHVybiBuJiZuLmRlZmF1bHR8fDB9ZWxzZXtjb25zdCBuPU9kKHQpLG89KExzKGkpP24uZ2V0UHJvcGVydHlWYWx1ZShpKTpuW2ldKXx8MDtyZXR1cm4gdHlwZW9mIG89PSJzdHJpbmciP28udHJpbSgpOm99fW1lYXN1cmVJbnN0YW5jZVZpZXdwb3J0Qm94KHQse3RyYW5zZm9ybVBhZ2VQb2ludDppfSl7cmV0dXJuICRvKHQsaSl9YnVpbGQodCxpLG4pe1RpKHQsaSxuLnRyYW5zZm9ybVRlbXBsYXRlKX1zY3JhcGVNb3Rpb25WYWx1ZXNGcm9tUHJvcHModCxpLG4pe3JldHVybiBDaSh0LGksbil9fWNsYXNzIHJyIGV4dGVuZHMgc3J7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMudHlwZT0ic3ZnIix0aGlzLmlzU1ZHVGFnPSExLHRoaXMubWVhc3VyZUluc3RhbmNlVmlld3BvcnRCb3g9V31nZXRCYXNlVGFyZ2V0RnJvbVByb3BzKHQsaSl7cmV0dXJuIHRbaV19cmVhZFZhbHVlRnJvbUluc3RhbmNlKHQsaSl7aWYoVGUuaGFzKGkpKXtjb25zdCBuPVdpKGkpO3JldHVybiBuJiZuLmRlZmF1bHR8fDB9cmV0dXJuIGk9T3MuaGFzKGkpP2k6eGkoaSksdC5nZXRBdHRyaWJ1dGUoaSl9c2NyYXBlTW90aW9uVmFsdWVzRnJvbVByb3BzKHQsaSxuKXtyZXR1cm4gJHModCxpLG4pfWJ1aWxkKHQsaSxuKXtQaSh0LGksdGhpcy5pc1NWR1RhZyxuLnRyYW5zZm9ybVRlbXBsYXRlKX1yZW5kZXJJbnN0YW5jZSh0LGksbixvKXtOcyh0LGksbixvKX1tb3VudCh0KXt0aGlzLmlzU1ZHVGFnPWtpKHQudGFnTmFtZSksc3VwZXIubW91bnQodCl9fWNvbnN0IE5kPShlLHQpPT5iaShlKT9uZXcgcnIodCk6bmV3IG9yKHQse2FsbG93UHJvamVjdGlvbjplIT09eC5GcmFnbWVudH0pLFVkPWphKHsuLi5nYywuLi5FZCwuLi53ZCwuLi56ZH0sTmQpLHk9QnIoVWQpLCRkPShlLHQsaSk9Pntjb25zdCBuPXQtZTtyZXR1cm4oKGktZSklbituKSVuK2V9O2Z1bmN0aW9uIGFyKGUsdCl7cmV0dXJuIElvKGUpP2VbJGQoMCxlLmxlbmd0aCx0KV06ZX1mdW5jdGlvbiBLaShlKXtyZXR1cm4gdHlwZW9mIGU9PSJvYmplY3QiJiYhQXJyYXkuaXNBcnJheShlKX1mdW5jdGlvbiBscihlLHQsaSxuKXtyZXR1cm4gdHlwZW9mIGU9PSJzdHJpbmciJiZLaSh0KT9acyhlLGksbik6ZSBpbnN0YW5jZW9mIE5vZGVMaXN0P0FycmF5LmZyb20oZSk6QXJyYXkuaXNBcnJheShlKT9lOltlXX1mdW5jdGlvbiBfZChlLHQsaSl7cmV0dXJuIGUqKHQrMSl9ZnVuY3Rpb24gYnMoZSx0LGksbil7dmFyIG87cmV0dXJuIHR5cGVvZiB0PT0ibnVtYmVyIj90OnQuc3RhcnRzV2l0aCgiLSIpfHx0LnN0YXJ0c1dpdGgoIisiKT9NYXRoLm1heCgwLGUrcGFyc2VGbG9hdCh0KSk6dD09PSI8Ij9pOihvPW4uZ2V0KHQpKSE9PW51bGwmJm8hPT12b2lkIDA/bzplfWZ1bmN0aW9uIEhkKGUsdCxpKXtmb3IobGV0IG49MDtuPGUubGVuZ3RoO24rKyl7Y29uc3Qgbz1lW25dO28uYXQ+dCYmby5hdDxpJiYoUnQoZSxvKSxuLS0pfX1mdW5jdGlvbiBLZChlLHQsaSxuLG8sbCl7SGQoZSxvLGwpO2ZvcihsZXQgcj0wO3I8dC5sZW5ndGg7cisrKWUucHVzaCh7dmFsdWU6dFtyXSxhdDpCKG8sbCxuW3JdKSxlYXNpbmc6YXIoaSxyKX0pfWZ1bmN0aW9uIEdkKGUsdCl7Zm9yKGxldCBpPTA7aTxlLmxlbmd0aDtpKyspZVtpXT1lW2ldLyh0KzEpfWZ1bmN0aW9uIFlkKGUsdCl7cmV0dXJuIGUuYXQ9PT10LmF0P2UudmFsdWU9PT1udWxsPzE6dC52YWx1ZT09PW51bGw/LTE6MDplLmF0LXQuYXR9Y29uc3QgWGQ9ImVhc2VJbk91dCI7ZnVuY3Rpb24gcWQoZSx7ZGVmYXVsdFRyYW5zaXRpb246dD17fSwuLi5pfT17fSxuLG8pe2NvbnN0IGw9dC5kdXJhdGlvbnx8LjMscj1uZXcgTWFwLGM9bmV3IE1hcCxkPXt9LHU9bmV3IE1hcDtsZXQgaD0wLGY9MCxwPTA7Zm9yKGxldCBtPTA7bTxlLmxlbmd0aDttKyspe2NvbnN0IGc9ZVttXTtpZih0eXBlb2YgZz09InN0cmluZyIpe3Uuc2V0KGcsZik7Y29udGludWV9ZWxzZSBpZighQXJyYXkuaXNBcnJheShnKSl7dS5zZXQoZy5uYW1lLGJzKGYsZy5hdCxoLHUpKTtjb250aW51ZX1sZXRbdixTLGI9e31dPWc7Yi5hdCE9PXZvaWQgMCYmKGY9YnMoZixiLmF0LGgsdSkpO2xldCB3PTA7Y29uc3QgVD0oUCxqLEEsRT0wLGs9MCk9Pntjb25zdCBEPVpkKFApLHtkZWxheTpWPTAsdGltZXM6ST1WbyhEKSx0eXBlOnRlPSJrZXlmcmFtZXMiLHJlcGVhdDpHLHJlcGVhdFR5cGU6SCxyZXBlYXREZWxheTppZT0wLC4uLmVufT1qO2xldHtlYXNlOkw9dC5lYXNlfHwiZWFzZU91dCIsZHVyYXRpb246Tn09ajtjb25zdCBQZT10eXBlb2YgVj09ImZ1bmN0aW9uIj9WKEUsayk6VixBZT1ELmxlbmd0aCx0bj1JdCh0ZSk/dGU6bz09bnVsbD92b2lkIDA6b1t0ZV07aWYoQWU8PTImJnRuKXtsZXQgT2U9MTAwO2lmKEFlPT09MiYmZXUoRCkpe2NvbnN0IE5lPURbMV0tRFswXTtPZT1NYXRoLmFicyhOZSl9Y29uc3QgY3Q9ey4uLmVufTtOIT09dm9pZCAwJiYoY3QuZHVyYXRpb249bmUoTikpO2NvbnN0IGR0PVBhKGN0LE9lLHRuKTtMPWR0LmVhc2UsTj1kdC5kdXJhdGlvbn1OPz8oTj1sKTtjb25zdCBubj1mK1BlO0kubGVuZ3RoPT09MSYmSVswXT09PTAmJihJWzFdPTEpO2NvbnN0IHNuPUkubGVuZ3RoLUQubGVuZ3RoO2lmKHNuPjAmJlJvKEksc24pLEQubGVuZ3RoPT09MSYmRC51bnNoaWZ0KG51bGwpLEcpe049X2QoTixHKTtjb25zdCBPZT1bLi4uRF0sY3Q9Wy4uLkldO0w9QXJyYXkuaXNBcnJheShMKT9bLi4uTF06W0xdO2NvbnN0IGR0PVsuLi5MXTtmb3IobGV0IE5lPTA7TmU8RztOZSsrKXtELnB1c2goLi4uT2UpO2ZvcihsZXQgVWU9MDtVZTxPZS5sZW5ndGg7VWUrKylJLnB1c2goY3RbVWVdKyhOZSsxKSksTC5wdXNoKFVlPT09MD8ibGluZWFyIjphcihkdCxVZS0xKSl9R2QoSSxHKX1jb25zdCBvbj1ubitOO0tkKEEsRCxMLEksbm4sb24pLHc9TWF0aC5tYXgoUGUrTix3KSxwPU1hdGgubWF4KG9uLHApfTtpZihVKHYpKXtjb25zdCBQPVNzKHYsYyk7VChTLGIsanMoImRlZmF1bHQiLFApKX1lbHNle2NvbnN0IFA9bHIodixTLG4sZCksaj1QLmxlbmd0aDtmb3IobGV0IEE9MDtBPGo7QSsrKXtTPVMsYj1iO2NvbnN0IEU9UFtBXSxrPVNzKEUsYyk7Zm9yKGNvbnN0IEQgaW4gUylUKFNbRF0sSmQoYixEKSxqcyhELGspLEEsail9fWg9ZixmKz13fXJldHVybiBjLmZvckVhY2goKG0sZyk9Pntmb3IoY29uc3QgdiBpbiBtKXtjb25zdCBTPW1bdl07Uy5zb3J0KFlkKTtjb25zdCBiPVtdLHc9W10sVD1bXTtmb3IobGV0IGo9MDtqPFMubGVuZ3RoO2orKyl7Y29uc3R7YXQ6QSx2YWx1ZTpFLGVhc2luZzprfT1TW2pdO2IucHVzaChFKSx3LnB1c2goamUoMCxwLEEpKSxULnB1c2goa3x8ImVhc2VPdXQiKX13WzBdIT09MCYmKHcudW5zaGlmdCgwKSxiLnVuc2hpZnQoYlswXSksVC51bnNoaWZ0KFhkKSksd1t3Lmxlbmd0aC0xXSE9PTEmJih3LnB1c2goMSksYi5wdXNoKG51bGwpKSxyLmhhcyhnKXx8ci5zZXQoZyx7a2V5ZnJhbWVzOnt9LHRyYW5zaXRpb246e319KTtjb25zdCBQPXIuZ2V0KGcpO1Aua2V5ZnJhbWVzW3ZdPWIsUC50cmFuc2l0aW9uW3ZdPXsuLi50LGR1cmF0aW9uOnAsZWFzZTpULHRpbWVzOncsLi4uaX19fSkscn1mdW5jdGlvbiBTcyhlLHQpe3JldHVybiF0LmhhcyhlKSYmdC5zZXQoZSx7fSksdC5nZXQoZSl9ZnVuY3Rpb24ganMoZSx0KXtyZXR1cm4gdFtlXXx8KHRbZV09W10pLHRbZV19ZnVuY3Rpb24gWmQoZSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoZSk/ZTpbZV19ZnVuY3Rpb24gSmQoZSx0KXtyZXR1cm4gZSYmZVt0XT97Li4uZSwuLi5lW3RdfTp7Li4uZX19Y29uc3QgUWQ9ZT0+dHlwZW9mIGU9PSJudW1iZXIiLGV1PWU9PmUuZXZlcnkoUWQpO2Z1bmN0aW9uIHR1KGUsdCl7cmV0dXJuIGUgaW4gdH1jbGFzcyBpdSBleHRlbmRzIG5ye2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnR5cGU9Im9iamVjdCJ9cmVhZFZhbHVlRnJvbUluc3RhbmNlKHQsaSl7aWYodHUoaSx0KSl7Y29uc3Qgbj10W2ldO2lmKHR5cGVvZiBuPT0ic3RyaW5nInx8dHlwZW9mIG49PSJudW1iZXIiKXJldHVybiBufX1nZXRCYXNlVGFyZ2V0RnJvbVByb3BzKCl7fXJlbW92ZVZhbHVlRnJvbVJlbmRlclN0YXRlKHQsaSl7ZGVsZXRlIGkub3V0cHV0W3RdfW1lYXN1cmVJbnN0YW5jZVZpZXdwb3J0Qm94KCl7cmV0dXJuIFcoKX1idWlsZCh0LGkpe09iamVjdC5hc3NpZ24odC5vdXRwdXQsaSl9cmVuZGVySW5zdGFuY2UodCx7b3V0cHV0Oml9KXtPYmplY3QuYXNzaWduKHQsaSl9c29ydEluc3RhbmNlTm9kZVBvc2l0aW9uKCl7cmV0dXJuIDB9fWZ1bmN0aW9uIG51KGUpe2NvbnN0IHQ9e3ByZXNlbmNlQ29udGV4dDpudWxsLHByb3BzOnt9LHZpc3VhbFN0YXRlOntyZW5kZXJTdGF0ZTp7dHJhbnNmb3JtOnt9LHRyYW5zZm9ybU9yaWdpbjp7fSxzdHlsZTp7fSx2YXJzOnt9LGF0dHJzOnt9fSxsYXRlc3RWYWx1ZXM6e319fSxpPUdvKGUpP25ldyBycih0KTpuZXcgb3IodCk7aS5tb3VudChlKSxFZS5zZXQoZSxpKX1mdW5jdGlvbiBzdShlKXtjb25zdCB0PXtwcmVzZW5jZUNvbnRleHQ6bnVsbCxwcm9wczp7fSx2aXN1YWxTdGF0ZTp7cmVuZGVyU3RhdGU6e291dHB1dDp7fX0sbGF0ZXN0VmFsdWVzOnt9fX0saT1uZXcgaXUodCk7aS5tb3VudChlKSxFZS5zZXQoZSxpKX1mdW5jdGlvbiBvdShlLHQpe3JldHVybiBVKGUpfHx0eXBlb2YgZT09Im51bWJlciJ8fHR5cGVvZiBlPT0ic3RyaW5nIiYmIUtpKHQpfWZ1bmN0aW9uIGNyKGUsdCxpLG4pe2NvbnN0IG89W107aWYob3UoZSx0KSlvLnB1c2goS28oZSxLaSh0KSYmdC5kZWZhdWx0fHx0LGkmJihpLmRlZmF1bHR8fGkpKSk7ZWxzZXtjb25zdCBsPWxyKGUsdCxuKSxyPWwubGVuZ3RoO2ZvcihsZXQgYz0wO2M8cjtjKyspe2NvbnN0IGQ9bFtjXSx1PWQgaW5zdGFuY2VvZiBFbGVtZW50P251OnN1O0VlLmhhcyhkKXx8dShkKTtjb25zdCBoPUVlLmdldChkKSxmPXsuLi5pfTsiZGVsYXkiaW4gZiYmdHlwZW9mIGYuZGVsYXk9PSJmdW5jdGlvbiImJihmLmRlbGF5PWYuZGVsYXkoYyxyKSksby5wdXNoKC4uLkhpKGgsey4uLnQsdHJhbnNpdGlvbjpmfSx7fSkpfX1yZXR1cm4gb31mdW5jdGlvbiBydShlLHQsaSl7Y29uc3Qgbj1bXTtyZXR1cm4gcWQoZSx0LGkse3NwcmluZzpVaX0pLmZvckVhY2goKHtrZXlmcmFtZXM6bCx0cmFuc2l0aW9uOnJ9LGMpPT57bi5wdXNoKC4uLmNyKGMsbCxyKSl9KSxufWZ1bmN0aW9uIGF1KGUpe3JldHVybiBBcnJheS5pc0FycmF5KGUpJiZlLnNvbWUoQXJyYXkuaXNBcnJheSl9ZnVuY3Rpb24gbHUoZSl7ZnVuY3Rpb24gdChpLG4sbyl7bGV0IGw9W107cmV0dXJuIGF1KGkpP2w9cnUoaSxuLGUpOmw9Y3IoaSxuLG8sZSksbmV3IEtzKGwpfXJldHVybiB0fWNvbnN0IGRpPWx1KCksZHI9e0E6e2lkOiJBIix0aXRsZToiQ3JpdGljYWwgQWxlcnQg4oaSIFJlc29sdXRpb24iLHN1YnRpdGxlOiJNYWx3YXJlIGRldGVjdGVkIOKAlCBQUzUgaXNvbGF0ZWQgaW4gb25lIHRhcCIsZHVyYXRpb25TZWM6NjAsY29sb3I6IiNlZjQ0NDQiLHN0ZXBzOlt7aWQ6IkExIixsYWJlbDoiSG9tZSBEYXNoYm9hcmQiLHNjcmVlbjoiaG9tZSIsY2FwdGlvbjoiSHVnaGVzIEZhbWlseSDCtyAxMiBEZXZpY2VzIFByb3RlY3RlZCDCtyBTY29yZSA5MiIsY2FtZXJhOiJTdGF0aWMgd2lkZS4gQWxsIGdyZWVuLiIsZHVyYXRpb25Nczo0ZTN9LHtpZDoiQTIiLGxhYmVsOiJBbGVydCBUb2FzdCIsc2NyZWVuOiJhbGVydC10b2FzdCIsY2FwdGlvbjoi8J+aqCBDUklUSUNBTCDCtyBNYWx3YXJlIGRldGVjdGVkIMK3IFBsYXlTdGF0aW9uIDUgwrcgVGFwIHRvIHZpZXciLGNhbWVyYToiU2xvdyB6b29tIHRvd2FyZCB0b2FzdC4gSG9sZCAycy4iLGR1cmF0aW9uTXM6NmUzfSx7aWQ6IkEzIixsYWJlbDoiQWxlcnQgRGV0YWlsIixzY3JlZW46ImFsZXJ0LWRldGFpbCIsY2FwdGlvbjoiVHJvamFuLkdlbmVyaWNLRC43MTIzNCDCtyBDJkM6IDE4NS4yMjAuMTAxLjQ3IChBbXN0ZXJkYW0g8J+Hs/Cfh7EpIixjYW1lcmE6IkZhZGUgaW4uIFNjcm9sbCBkb3duIHNsb3dseS4iLGR1cmF0aW9uTXM6MTJlM30se2lkOiJBNCIsbGFiZWw6IkRldmljZSBEZXRhaWwg4oCUIFBTNSIsc2NyZWVuOiJkZXZpY2UtcHM1IixjYXB0aW9uOiJQbGF5U3RhdGlvbiA1IMK3IFRIUkVBVCBERVRFQ1RFRCDCtyBVbnVzdWFsIHRyYWZmaWMgc3Bpa2UiLGNhbWVyYToiU2xpZGUgcmlnaHQuIFpvb20gb24gdGhyZWF0IGJhZGdlLiIsZHVyYXRpb25NczoxMmUzfSx7aWQ6IkE1IixsYWJlbDoiSXNvbGF0aW9uIE1vZGFsIixzY3JlZW46Imlzb2xhdGUtbW9kYWwiLGNhcHRpb246Iklzb2xhdGUgRGV2aWNlIGZyb20gTmV0d29yaz8gwrcgW0lzb2xhdGUgTm93XSIsY2FtZXJhOiJNb2RhbCBzY2FsZXMgdXAuIFRhcCBhbmltYXRpb24uIixkdXJhdGlvbk1zOjhlM30se2lkOiJBNiIsbGFiZWw6Iklzb2xhdGlvbiBQcm9ncmVzcyIsc2NyZWVuOiJpc29sYXRlLXByb2dyZXNzIixjYXB0aW9uOiJCbG9ja2luZyBuZXR3b3JrIMK3IFRlcm1pbmF0aW5nIEMmQyDCtyBMb2dnaW5nIGluY2lkZW504oCmIixjYW1lcmE6IlRpZ2h0IHpvb20gb24gcHJvZ3Jlc3MgcmluZy4iLGR1cmF0aW9uTXM6OGUzfSx7aWQ6IkE3IixsYWJlbDoiUmVzb2x2ZWQiLHNjcmVlbjoicmVzb2x2ZWQiLGNhcHRpb246IuKchSBUaHJlYXQgTmV1dHJhbGlzZWQgwrcgRmFtaWx5IFNjb3JlOiA5NCDilrIiLGNhbWVyYToiWm9vbSBvdXQgdG8gZnVsbCBkYXNoYm9hcmQuIixkdXJhdGlvbk1zOjFlNH1dfSxCOntpZDoiQiIsdGl0bGU6IkluY2lkZW50IEludmVzdGlnYXRpb24iLHN1YnRpdGxlOiJTdXNwaWNpb3VzIGxvZ2luIGZyb20gTW9zY293IOKAlCB0cmFjZWQgYW5kIGJsb2NrZWQiLGR1cmF0aW9uU2VjOjQ1LGNvbG9yOiIjZjU5ZTBiIixzdGVwczpbe2lkOiJCMSIsbGFiZWw6Ik5vdGlmaWNhdGlvbiBQYW5lbCIsc2NyZWVuOiJub3RpZi1wYW5lbCIsY2FwdGlvbjoiQ1JJVElDQUwgwrcgU3VzcGljaW91cyBsb2dpbiBvbiBFbW1hJ3MgSW5zdGFncmFtIMK3IDAyOjMxIMK3IPCfh7fwn4e6IixjYW1lcmE6Ik5vdGlmaWNhdGlvbiBkcmF3ZXIgc2xpZGVzIG9wZW4uIixkdXJhdGlvbk1zOjZlM30se2lkOiJCMiIsbGFiZWw6IkVtbWEncyBQcm9maWxlIixzY3JlZW46ImVtbWEtcHJvZmlsZSIsY2FwdGlvbjoiRW1tYSBIdWdoZXMgwrcgQWdlIDE0IMK3IOKaoO+4jyBBY2NvdW50IEFsZXJ0IMK3IEludmVzdGlnYXRlIOKGkiIsY2FtZXJhOiJUYXAgaW50byBwcm9maWxlLiBCYW5uZXIgc2xpZGVzIGluLiIsZHVyYXRpb25Nczo4ZTN9LHtpZDoiQjMiLGxhYmVsOiJFdmVudCBUaW1lbGluZSIsc2NyZWVuOiJ0aW1lbGluZSIsY2FwdGlvbjoiMDI6MzEg4oCUIExvZ2luIGZyb20gTW9zY293IPCfh7fwn4e6IMK3IDAyOjMyIOKAlCBQYXNzd29yZCBjaGFuZ2UgYmxvY2tlZCIsY2FtZXJhOiJTY3JvbGwgdGltZWxpbmUgdG9wLXRvLWJvdHRvbS4iLGR1cmF0aW9uTXM6MTJlM30se2lkOiJCNCIsbGFiZWw6IklQIEludmVzdGlnYXRpb24iLHNjcmVlbjoiaXAtZGV0YWlsIixjYXB0aW9uOiI3Ny44OC41NS4yNDQgwrcgTW9zY293IMK3IDk0IGFidXNlIHJlcG9ydHMgwrcgQ3JlZGVudGlhbCBzdHVmZmluZyIsY2FtZXJhOiJDYXJkIGV4cGFuZHMgd2l0aCBnZW8gKyByaXNrLiIsZHVyYXRpb25NczoxZTR9LHtpZDoiQjUiLGxhYmVsOiJBZmZlY3RlZCBTY29wZSIsc2NyZWVuOiJzY29wZSIsY2FwdGlvbjoiMSBhY2NvdW50IGNvbXByb21pc2VkIMK3IDAgb3RoZXIgZGV2aWNlcyDCtyBGb3JjZSBwYXNzd29yZCByZXNldCDihpIiLGNhbWVyYToiWm9vbSBvdXQuIERldmljZXMgc2Nhbi4iLGR1cmF0aW9uTXM6OWUzfV19LEM6e2lkOiJDIix0aXRsZToiVGhyZWF0IFJlbWVkaWF0aW9uIixzdWJ0aXRsZToiSFAgcHJpbnRlciBDVkUgcGF0Y2hlZCBhdXRvbWF0aWNhbGx5IixkdXJhdGlvblNlYzo0NSxjb2xvcjoiIzhiNWNmNiIsc3RlcHM6W3tpZDoiQzEiLGxhYmVsOiJEZXZpY2VzIExpc3QiLHNjcmVlbjoiZGV2aWNlcy1saXN0IixjYXB0aW9uOiJIUCBMYXNlckpldCBQcm8gwrcg4pqg77iPIE91dGRhdGVkIEZpcm13YXJlIMK3IENWRS0yMDI0LTg0NzEiLGNhbWVyYToiUGFuIGRvd24gbGlzdCwgc2V0dGxlIG9uIHByaW50ZXIuIixkdXJhdGlvbk1zOjdlM30se2lkOiJDMiIsbGFiZWw6IlZ1bG5lcmFiaWxpdHkgRGV0YWlsIixzY3JlZW46InZ1bG4tZGV0YWlsIixjYXB0aW9uOiJDVkUtMjAyNC04NDcxIMK3IENWU1MgNy44IMK3IFJDRSB2aWEgcG9ydCA5MTAwIMK3IEZpeDogdjIyLjYuMSIsY2FtZXJhOiJGYWRlIHRvIGRldGFpbC4gR2F1Z2UgZmlsbHMgdG8gNy44LiIsZHVyYXRpb25Nczo5ZTN9LHtpZDoiQzMiLGxhYmVsOiJGdWxsIE5ldHdvcmsgU2NhbiIsc2NyZWVuOiJzY2FuLXJ1bm5pbmciLGNhcHRpb246IlNjYW5uaW5nIDEyIGRldmljZXPigKYg4pyFIMOXIDExIMK3IOKaoO+4jyBQcmludGVyIOKAlCAxIGlzc3VlIixjYW1lcmE6IlN0YXRpYy4gRGV2aWNlcyBjaGVjayBvbmUgYnkgb25lLiIsZHVyYXRpb25NczoxZTR9LHtpZDoiQzQiLGxhYmVsOiJSZW1lZGlhdGlvbiBBY3Rpb24iLHNjcmVlbjoicmVtZWRpYXRpb24iLGNhcHRpb246IkF1dG8tdXBkYXRlIGZpcm13YXJlIHRvIHYyMi42LjEgwrcgTm8gZG93bnRpbWUgwrcgW1VwZGF0ZSBOb3ddIixjYW1lcmE6Ilpvb20gb24gQ1RBLiBQcm9ncmVzcyBiYXIgZmlsbHMuIixkdXJhdGlvbk1zOjFlNH0se2lkOiJDNSIsbGFiZWw6IlZlcmlmaWVkIOKAlCBBbGwgQ2xlYXIiLHNjcmVlbjoidmVyaWZpZWQiLGNhcHRpb246IuKchSBIUCBQcmludGVyIMK3IFBhdGNoZWQgwrcgQWxsIDEyIGRldmljZXMgc2VjdXJlIMK3IFNjb3JlIDk1IOKWsiIsY2FtZXJhOiJab29tIG91dC4gR3JlZW4gc3dlZXAuIixkdXJhdGlvbk1zOjllM31dfSxEOntpZDoiRCIsdGl0bGU6IlNlY3VyaXR5IFBvc3R1cmUgUmVwb3J0aW5nIixzdWJ0aXRsZToiU2NvcmUsIHRyZW5kcywgZGV2aWNlcywgUERGIGV4cG9ydCIsZHVyYXRpb25TZWM6MzAsY29sb3I6IiMxMGI5ODEiLHN0ZXBzOlt7aWQ6IkQxIixsYWJlbDoiU2VjdXJpdHkgU2NvcmUiLHNjcmVlbjoic2NvcmUtcmluZyIsY2FwdGlvbjoiRmFtaWx5IFNlY3VyaXR5IFNjb3JlIMK3IDkyLzEwMCDCtyBFeGNlbGxlbnQgwrcg4payICs0IHRoaXMgd2VlayIsY2FtZXJhOiJTbG93IHpvb20gaW4uIFJpbmcgZmlsbHMgMOKGkjkyLiIsZHVyYXRpb25Nczo3ZTN9LHtpZDoiRDIiLGxhYmVsOiJUaHJlYXQgVHJlbmRzIixzY3JlZW46InRyZW5kcy1jaGFydCIsY2FwdGlvbjoiMjQ3IHRocmVhdHMgYmxvY2tlZCDCtyDihpMxMiUgdnMgbGFzdCB3ZWVrIMK3IE1vbuKAk1N1biBiYXJzIixjYW1lcmE6IlNsaWdodCB6b29tLiBCYXJzIGdyb3cgdXAuIixkdXJhdGlvbk1zOjllM30se2lkOiJEMyIsbGFiZWw6IkRldmljZSBHcmlkIixzY3JlZW46ImRldmljZS1ncmlkIixjYXB0aW9uOiIxMiBEZXZpY2VzIFByb3RlY3RlZCDCtyAwIENyaXRpY2FsIMK3IExhc3Qgc2NhbjogTm93IixjYW1lcmE6IkNhcmRzIHN0YWdnZXIgaW4uIFNoaWVsZCBib3VuY2UuIixkdXJhdGlvbk1zOjdlM30se2lkOiJENCIsbGFiZWw6IkV4cG9ydCBQREYiLHNjcmVlbjoiZXhwb3J0IixjYXB0aW9uOiJXZWVrbHkgU2VjdXJpdHkgUmVwb3J0IMK3IEh1Z2hlcyBGYW1pbHkgwrcgSnVuIDIz4oCTMjkgwrcgW0Rvd25sb2FkXSIsY2FtZXJhOiJTaGVldCBzbGlkZXMgdXAgZnJvbSBib3R0b20uIixkdXJhdGlvbk1zOjdlM31dfX0sY3U9T2JqZWN0LnZhbHVlcyhkcik7ZnVuY3Rpb24gZHUoZSl7Y29uc3QgdD1kcltlXSxbaSxuXT14LnVzZVN0YXRlKDApLFtvLGxdPXgudXNlU3RhdGUoITEpLFtyLGNdPXgudXNlU3RhdGUoMCksZD14LnVzZVJlZigwKSx1PXgudXNlUmVmKDApLGg9eC51c2VSZWYoaSk7aC5jdXJyZW50PWk7Y29uc3QgZj14LnVzZUNhbGxiYWNrKCgpPT57Y29uc3Qgaj1EYXRlLm5vdygpLWQuY3VycmVudCxBPXQuc3RlcHNbaC5jdXJyZW50XS5kdXJhdGlvbk1zLEU9TWF0aC5taW4oai9BLDEpO2lmKGMoRSksRTwxKXUuY3VycmVudD1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZik7ZWxzZXtjb25zdCBrPWguY3VycmVudCsxO2s8dC5zdGVwcy5sZW5ndGg/KG4oayksZC5jdXJyZW50PURhdGUubm93KCksYygwKSx1LmN1cnJlbnQ9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKGYpKToobCghMSksYygxKSl9fSxbdF0pO3gudXNlRWZmZWN0KCgpPT4obz8oZC5jdXJyZW50PURhdGUubm93KCksdS5jdXJyZW50PXJlcXVlc3RBbmltYXRpb25GcmFtZShmKSk6Y2FuY2VsQW5pbWF0aW9uRnJhbWUodS5jdXJyZW50KSwoKT0+Y2FuY2VsQW5pbWF0aW9uRnJhbWUodS5jdXJyZW50KSksW28saSxmXSk7Y29uc3QgcD14LnVzZUNhbGxiYWNrKCgpPT57YygwKSxsKCEwKX0sW10pLG09eC51c2VDYWxsYmFjaygoKT0+bCghMSksW10pLGc9eC51c2VDYWxsYmFjaygoKT0+e2woITEpLG4oMCksYygwKX0sW10pLHY9eC51c2VDYWxsYmFjayhqPT57bCghMSksbihNYXRoLm1heCgwLE1hdGgubWluKGosdC5zdGVwcy5sZW5ndGgtMSkpKSxjKDApfSxbdC5zdGVwcy5sZW5ndGhdKSxTPXgudXNlQ2FsbGJhY2soKCk9PnYoaC5jdXJyZW50KzEpLFt2XSksYj14LnVzZUNhbGxiYWNrKCgpPT52KGguY3VycmVudC0xKSxbdl0pLHc9dC5zdGVwcy5yZWR1Y2UoKGosQSk9PmorQS5kdXJhdGlvbk1zLDApLFA9KHQuc3RlcHMuc2xpY2UoMCxpKS5yZWR1Y2UoKGosQSk9PmorQS5kdXJhdGlvbk1zLDApK3IqdC5zdGVwc1tpXS5kdXJhdGlvbk1zKS93O3JldHVybntmbG93OnQsc3RlcEluZGV4Omksc3RlcDp0LnN0ZXBzW2ldLGlzUGxheWluZzpvLHByb2dyZXNzOnIsdG90YWxQcm9ncmVzczpQLHBsYXk6cCxwYXVzZTptLHJlc2V0OmcsZ29Ubzp2LG5leHQ6UyxwcmV2OmJ9fXguY3JlYXRlQ29udGV4dCh7YWN0aXZlRmxvdzpudWxsLHNldEFjdGl2ZUZsb3c6KCk9Pnt9fSk7ZnVuY3Rpb24gR2koe3Njb3JlOmUsc2l6ZTp0PTk2LHN0cm9rZVdpZHRoOmk9OCxkZWxheTpuPTIwMCxzaG93TGFiZWw6bz0hMH0pe2NvbnN0IGw9KHQtaSkvMixyPTIqTWF0aC5QSSpsLGM9eC51c2VSZWYobnVsbCksZD14LnVzZVJlZihudWxsKSx1PWU+PTgwPyIjMTBiOTgxIjplPj02MD8iI2Y1OWUwYiI6IiNlZjQ0NDQiO3JldHVybiB4LnVzZUVmZmVjdCgoKT0+e2NvbnN0IGg9Yy5jdXJyZW50LGY9ZC5jdXJyZW50O2lmKCFofHwhZilyZXR1cm47Y29uc3QgcD1zZXRUaW1lb3V0KCgpPT57ZGkocixyLXIqZS8xMDAse2R1cmF0aW9uOjEuNCxlYXNlOlsuMjIsMSwuMzYsMV0sb25VcGRhdGU6bT0+e2guc3R5bGUuc3Ryb2tlRGFzaG9mZnNldD1TdHJpbmcobSl9fSksZGkoMCxlLHtkdXJhdGlvbjoxLjQsZWFzZTpbLjIyLDEsLjM2LDFdLG9uVXBkYXRlOm09PntmLnRleHRDb250ZW50PU1hdGgucm91bmQobSkudG9TdHJpbmcoKX19KX0sbik7cmV0dXJuKCk9PmNsZWFyVGltZW91dChwKX0sW2UscixuXSkscy5qc3hzKCJkaXYiLHtzdHlsZTp7cG9zaXRpb246InJlbGF0aXZlIix3aWR0aDp0LGhlaWdodDp0LGZsZXhTaHJpbms6MH0sY2hpbGRyZW46W3MuanN4cygic3ZnIix7d2lkdGg6dCxoZWlnaHQ6dCx2aWV3Qm94OmAwIDAgJHt0fSAke3R9YCxzdHlsZTp7dHJhbnNmb3JtOiJyb3RhdGUoLTkwZGVnKSJ9LGNoaWxkcmVuOltzLmpzeCgiY2lyY2xlIix7Y3g6dC8yLGN5OnQvMixyOmwsZmlsbDoibm9uZSIsc3Ryb2tlOiJ2YXIoLS1zdXJmYWNlLTMsICMxYTIyMzYpIixzdHJva2VXaWR0aDppfSkscy5qc3goImNpcmNsZSIse3JlZjpjLGN4OnQvMixjeTp0LzIscjpsLGZpbGw6Im5vbmUiLHN0cm9rZTp1LHN0cm9rZVdpZHRoOmksc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZURhc2hhcnJheTpyLHN0cm9rZURhc2hvZmZzZXQ6cixzdHlsZTp7dHJhbnNpdGlvbjoic3Ryb2tlIDAuNHMifX0pXX0pLG8mJnMuanN4cygiZGl2Iix7c3R5bGU6e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsaW5zZXQ6MCxkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4iLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciJ9LGNoaWxkcmVuOltzLmpzeCgic3BhbiIse3JlZjpkLHN0eWxlOntmb250U2l6ZTp0Ki4yMixmb250V2VpZ2h0OjgwMCxsaW5lSGVpZ2h0OjEsY29sb3I6dSxmb250VmFyaWFudE51bWVyaWM6InRhYnVsYXItbnVtcyJ9LGNoaWxkcmVuOiIwIn0pLHMuanN4KCJzcGFuIix7c3R5bGU6e2ZvbnRTaXplOnQqLjExNSxjb2xvcjoidmFyKC0tdGV4dC1tdXRlLCAjNjQ3NDhiKSIsbWFyZ2luVG9wOjF9LGNoaWxkcmVuOiIvMTAwIn0pXX0pXX0pfWZ1bmN0aW9uIEYoe3NpemU6ZT0xOCxzdHlsZTp0LGNsYXNzTmFtZTppLGNoaWxkcmVuOm59KXtyZXR1cm4gcy5qc3goInN2ZyIse3ZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6ZSxoZWlnaHQ6ZSxzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6MS43LHN0cm9rZUxpbmVjYXA6InJvdW5kIixzdHJva2VMaW5lam9pbjoicm91bmQiLGZpbGw6Im5vbmUiLHN0eWxlOnQsY2xhc3NOYW1lOmksY2hpbGRyZW46bn0pfWZ1bmN0aW9uIHV1KGUpe3JldHVybiBzLmpzeChGLHsuLi5lLGNoaWxkcmVuOnMuanN4KCJwYXRoIix7ZDoiTTEyIDNsNyAzdjVjMCA0LjUtMyA3LjUtNyA5LTQtMS41LTctNC41LTctOVY2eiJ9KX0pfWZ1bmN0aW9uIGZlKGUpe3JldHVybiBzLmpzeChGLHsuLi5lLGNoaWxkcmVuOnMuanN4KCJwYXRoIix7ZDoiTTUgMTJsNSA1IDktMTAifSl9KX1mdW5jdGlvbiB1cihlKXtyZXR1cm4gcy5qc3hzKEYsey4uLmUsY2hpbGRyZW46W3MuanN4KCJwYXRoIix7ZDoiTTEyIDNsNyAzdjVjMCA0LjUtMyA3LjUtNyA5LTQtMS41LTctNC41LTctOVY2eiJ9KSxzLmpzeCgicGF0aCIse2Q6Ik05IDEybDIuMiAyLjJMMTUuNSAxMCJ9KV19KX1mdW5jdGlvbiBZaShlKXtyZXR1cm4gcy5qc3hzKEYsey4uLmUsY2hpbGRyZW46W3MuanN4KCJwYXRoIix7ZDoiTTEyIDIxczctNi41IDctMTFhNyA3IDAgMTAtMTQgMGMwIDQuNSA3IDExIDcgMTF6In0pLHMuanN4KCJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMCIscjoiMi40In0pXX0pfWZ1bmN0aW9uIGhyKGUpe3JldHVybiBzLmpzeHMoRix7Li4uZSxjaGlsZHJlbjpbcy5qc3goInBhdGgiLHtkOiJNNiA5YTYgNiAwIDExMTIgMGMwIDUgMiA2IDIgNkg0czItMSAyLTZ6In0pLHMuanN4KCJwYXRoIix7ZDoiTTEwIDIwYTIgMiAwIDAwNCAwIn0pXX0pfWZ1bmN0aW9uIGZyKGUpe3JldHVybiBzLmpzeHMoRix7Li4uZSxjaGlsZHJlbjpbcy5qc3goInBhdGgiLHtkOiJNNCAxMWw4LTcgOCA3In0pLHMuanN4KCJwYXRoIix7ZDoiTTYgMTB2OWgxMnYtOSJ9KV19KX1mdW5jdGlvbiBwcihlKXtyZXR1cm4gcy5qc3hzKEYsey4uLmUsY2hpbGRyZW46W3MuanN4KCJjaXJjbGUiLHtjeDoiOSIsY3k6IjgiLHI6IjMifSkscy5qc3goInBhdGgiLHtkOiJNMyAyMGE2IDYgMCAwMTEyIDAifSkscy5qc3goInBhdGgiLHtkOiJNMTYgNmEzIDMgMCAwMTAgNk0yMSAyMGE2IDYgMCAwMC01LTUuOSJ9KV19KX1mdW5jdGlvbiB6ZShlKXtyZXR1cm4gcy5qc3hzKEYsey4uLmUsY2hpbGRyZW46W3MuanN4KCJyZWN0Iix7eDoiNyIseToiMyIsd2lkdGg6IjEwIixoZWlnaHQ6IjE4IixyeDoiMiJ9KSxzLmpzeCgiY2lyY2xlIix7Y3g6IjEyIixjeToiMTgiLHI6IjEiLGZpbGw6ImN1cnJlbnRDb2xvciIsc3Ryb2tlOiJub25lIn0pXX0pfWZ1bmN0aW9uIGRlKGUpe3JldHVybiBzLmpzeHMoRix7Li4uZSxjaGlsZHJlbjpbcy5qc3goInJlY3QiLHt4OiI0Iix5OiI1Iix3aWR0aDoiMTYiLGhlaWdodDoiMTEiLHJ4OiIxLjUifSkscy5qc3goInBhdGgiLHtkOiJNMiAyMGgyMCJ9KV19KX1mdW5jdGlvbiBYaShlKXtyZXR1cm4gcy5qc3hzKEYsey4uLmUsY2hpbGRyZW46W3MuanN4KCJyZWN0Iix7eDoiMyIseToiNSIsd2lkdGg6IjE4IixoZWlnaHQ6IjEyIixyeDoiMiJ9KSxzLmpzeCgicGF0aCIse2Q6Ik04IDIxaDgifSldfSl9ZnVuY3Rpb24gV2UoZSl7cmV0dXJuIHMuanN4cyhGLHsuLi5lLGNoaWxkcmVuOltzLmpzeCgicGF0aCIse2Q6Ik0xMiA0bDkgMTZIM3oifSkscy5qc3goInBhdGgiLHtkOiJNMTIgMTB2NCJ9KSxzLmpzeCgiY2lyY2xlIix7Y3g6IjEyIixjeToiMTciLHI6Ii42IixmaWxsOiJjdXJyZW50Q29sb3IiLHN0cm9rZToibm9uZSJ9KV19KX1mdW5jdGlvbiBodShlKXtyZXR1cm4gcy5qc3goRix7Li4uZSxjaGlsZHJlbjpzLmpzeCgicGF0aCIse2Q6Ik05IDZsNiA2LTYgNiJ9KX0pfWZ1bmN0aW9uIHdlKGUpe3JldHVybiBzLmpzeHMoRix7Li4uZSxjaGlsZHJlbjpbcy5qc3goInJlY3QiLHt4OiIzIix5OiIxMyIsd2lkdGg6IjE4IixoZWlnaHQ6IjYiLHJ4OiIyIn0pLHMuanN4KCJwYXRoIix7ZDoiTTcgMTZoLjAxTTExIDE2aC4wMSJ9KSxzLmpzeCgicGF0aCIse2Q6Ik0xMiA5VjVNOC41IDhhNSA1IDAgMDE3IDAifSldfSl9ZnVuY3Rpb24gcWkoZSl7cmV0dXJuIHMuanN4cyhGLHsuLi5lLGNoaWxkcmVuOltzLmpzeCgicmVjdCIse3g6IjUiLHk6IjExIix3aWR0aDoiMTQiLGhlaWdodDoiOSIscng6IjIifSkscy5qc3goInBhdGgiLHtkOiJNOCAxMVY4YTQgNCAwIDAxOCAwdjMifSldfSl9ZnVuY3Rpb24gJHUoZSl7cmV0dXJuIHMuanN4cyhGLHsuLi5lLGNoaWxkcmVuOltzLmpzeCgicGF0aCIse2Q6Ik0yIDEyczQtNyAxMC03IDEwIDcgMTAgNy00IDctMTAgNy0xMC03LTEwLTd6In0pLHMuanN4KCJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMi42In0pXX0pfWZ1bmN0aW9uIF91KGUpe3JldHVybiBzLmpzeHMoRix7Li4uZSxjaGlsZHJlbjpbcy5qc3goImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiI5In0pLHMuanN4KCJwYXRoIix7ZDoiTTMgMTJoMThNMTIgM2ExNCAxNCAwIDAxMCAxOE0xMiAzYTE0IDE0IDAgMDAwIDE4In0pXX0pfWZ1bmN0aW9uIG1yKGUpe3JldHVybiBzLmpzeHMoRix7Li4uZSxjaGlsZHJlbjpbcy5qc3goInBhdGgiLHtkOiJNNCA4aDEwTTE4IDhoMk00IDE2aDJNMTAgMTZoMTAifSkscy5qc3goImNpcmNsZSIse2N4OiIxNiIsY3k6IjgiLHI6IjIiLGZpbGw6InZhcigtLWJnKSJ9KSxzLmpzeCgiY2lyY2xlIix7Y3g6IjgiLGN5OiIxNiIscjoiMiIsZmlsbDoidmFyKC0tYmcpIn0pXX0pfWZ1bmN0aW9uIGdyKGUpe3JldHVybiBzLmpzeHMoRix7Li4uZSxjaGlsZHJlbjpbcy5qc3goInJlY3QiLHt4OiI0Iix5OiI0Iix3aWR0aDoiNiIsaGVpZ2h0OiI2IixyeDoiMS41In0pLHMuanN4KCJyZWN0Iix7eDoiMTQiLHk6IjQiLHdpZHRoOiI2IixoZWlnaHQ6IjYiLHJ4OiIxLjUifSkscy5qc3goInJlY3QiLHt4OiI0Iix5OiIxNCIsd2lkdGg6IjYiLGhlaWdodDoiNiIscng6IjEuNSJ9KSxzLmpzeCgicmVjdCIse3g6IjE0Iix5OiIxNCIsd2lkdGg6IjYiLGhlaWdodDoiNiIscng6IjEuNSJ9KV19KX1mdW5jdGlvbiBmdShlKXtyZXR1cm4gcy5qc3goRix7Li4uZSxjaGlsZHJlbjpzLmpzeCgicGF0aCIse2Q6Ik0xMiA0djExTTcgMTFsNSA1IDUtNU01IDIwaDE0In0pfSl9ZnVuY3Rpb24gSHUoZSl7cmV0dXJuIHMuanN4cyhGLHsuLi5lLGNoaWxkcmVuOltzLmpzeCgicGF0aCIse2Q6Ik0yIDguNWExNSAxNSAwIDAxMTkgME01IDEyYTEwIDEwIDAgMDExMiAwTTMgM2wxOCAxOCJ9KSxzLmpzeCgiY2lyY2xlIix7Y3g6IjEyIixjeToiMTkiLHI6IjEiLGZpbGw6ImN1cnJlbnRDb2xvciIsc3Ryb2tlOiJub25lIn0pXX0pfWZ1bmN0aW9uIFppKGUpe3JldHVybiBzLmpzeHMoRix7Li4uZSxjaGlsZHJlbjpbcy5qc3goInJlY3QiLHt4OiIzIix5OiI3Iix3aWR0aDoiMTgiLGhlaWdodDoiMTMiLHJ4OiIyIn0pLHMuanN4KCJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMy41IixyOiIzLjIifSkscy5qc3goInBhdGgiLHtkOiJNOCA3bDEuNS0yaDVMMTYgNyJ9KV19KX1mdW5jdGlvbiB5cihlKXtyZXR1cm4gcy5qc3hzKEYsey4uLmUsY2hpbGRyZW46W3MuanN4KCJyZWN0Iix7eDoiNiIseToiMyIsd2lkdGg6IjEyIixoZWlnaHQ6IjE4IixyeDoiMiJ9KSxzLmpzeCgiY2lyY2xlIix7Y3g6IjEyIixjeToiMTQiLHI6IjMuMiJ9KSxzLmpzeCgiY2lyY2xlIix7Y3g6IjEyIixjeToiNi41IixyOiIxIn0pXX0pfWZ1bmN0aW9uIExlKGUpe3JldHVybiBzLmpzeHMoRix7Li4uZSxjaGlsZHJlbjpbcy5qc3goInJlY3QiLHt4OiIzIix5OiI4Iix3aWR0aDoiMTgiLGhlaWdodDoiOSIscng6IjQifSkscy5qc3goInBhdGgiLHtkOiJNNyAxMmgzTTguNSAxMC41djMifSkscy5qc3goImNpcmNsZSIse2N4OiIxNiIsY3k6IjExLjUiLHI6IjEifSkscy5qc3goImNpcmNsZSIse2N4OiIxNy41IixjeToiMTMuNSIscjoiMSJ9KV19KX1jb25zdCBwdT1be2lkOiJhbGVydC0wMDEiLHNldmVyaXR5OiJjcml0aWNhbCIsdHlwZToibWFsd2FyZSIsdGl0bGU6Ik1hbHdhcmUgRGV0ZWN0ZWQiLGJvZHk6IlRyb2phbi5HZW5lcmljS0QuNzEyMzQgZGV0ZWN0ZWQgb24gUGxheVN0YXRpb24gNS4gQWN0aXZlIEMmQyBjYWxsYmFja3MgaW50ZXJjZXB0ZWQuIixkZXZpY2VJZDoiZDYiLGRldmljZU5hbWU6IlBsYXlTdGF0aW9uIDUiLG1lbWJlcklkOiJKIixtZW1iZXJOYW1lOiJKYWNrIixnZW86e2NpdHk6IkFtc3RlcmRhbSIsY291bnRyeToiTkwiLGZsYWc6IvCfh7Pwn4exIixpcDoiMTg1LjIyMC4xMDEuNDcifSx0aW1lc3RhbXA6IjIwMjYtMDYtMjlUMDk6MTQ6MDBaIix0aW1lQWdvOiI5IG1pbiBhZ28iLHN0YXR1czoib3BlbiJ9LHtpZDoiYWxlcnQtMDAyIixzZXZlcml0eToiY3JpdGljYWwiLHR5cGU6InN1c3BpY2lvdXNfbG9naW4iLHRpdGxlOiJTdXNwaWNpb3VzIExvZ2luIOKAlCBFbW1hJ3MgQWNjb3VudCIsYm9keToiTG9naW4gYXR0ZW1wdCBvbiBFbW1hJ3MgSW5zdGFncmFtIGZyb20gYW4gdW5yZWNvZ25pc2VkIGRldmljZSBpbiBNb3Njb3cuIFBhc3N3b3JkIGNoYW5nZSB3YXMgYmxvY2tlZC4iLGRldmljZUlkOiJkMyIsZGV2aWNlTmFtZToiRW1tYSdzIGlQaG9uZSAxNCIsbWVtYmVySWQ6IkUiLG1lbWJlck5hbWU6IkVtbWEiLGdlbzp7Y2l0eToiTW9zY293Iixjb3VudHJ5OiJSVSIsZmxhZzoi8J+Ht/Cfh7oiLGlwOiI3Ny44OC41NS4yNDQifSx0aW1lc3RhbXA6IjIwMjYtMDYtMjlUMDI6MzE6MDBaIix0aW1lQWdvOiI3IGhyIGFnbyIsc3RhdHVzOiJvcGVuIn0se2lkOiJhbGVydC0wMDMiLHNldmVyaXR5OiJtZWRpdW0iLHR5cGU6InVuc2FmZV93aWZpIix0aXRsZToiVW5zYWZlIFdpRmkgTmV0d29yayBKb2luZWQiLGJvZHk6J0VtbWEgY29ubmVjdGVkIHRvICJTdGFyYnVja3NfRnJlZV9XaUZpIiAob3BlbiwgdW5lbmNyeXB0ZWQpLiBWUE4gYWN0aXZhdGVkIGF1dG9tYXRpY2FsbHkuJyxtZW1iZXJJZDoiRSIsbWVtYmVyTmFtZToiRW1tYSIsdGltZXN0YW1wOiIyMDI2LTA2LTI4VDE1OjQyOjAwWiIsdGltZUFnbzoiWWVzdGVyZGF5IDE1OjQyIixzdGF0dXM6InJlc29sdmVkIn0se2lkOiJhbGVydC0wMDQiLHNldmVyaXR5OiJtZWRpdW0iLHR5cGU6ImNvbnRlbnRfYmxvY2tlZCIsdGl0bGU6IkFkdWx0IENvbnRlbnQgQmxvY2tlZCIsYm9keToiRW1tYeKAmXMgaVBob25lIGF0dGVtcHRlZCB0byBhY2Nlc3MgYSBzaXRlIGJsb2NrZWQgYnkgdGhlIFRlZW4gY29udGVudCBmaWx0ZXIuIixkZXZpY2VJZDoiZDMiLGRldmljZU5hbWU6IkVtbWEncyBpUGhvbmUgMTQiLG1lbWJlcklkOiJFIixtZW1iZXJOYW1lOiJFbW1hIix0aW1lc3RhbXA6IjIwMjYtMDYtMjhUMjI6MDc6MDBaIix0aW1lQWdvOiJZZXN0ZXJkYXkgMjI6MDciLHN0YXR1czoiZGlzbWlzc2VkIn0se2lkOiJhbGVydC0wMDUiLHNldmVyaXR5OiJsb3ciLHR5cGU6InNjYW1fY2FsbCIsdGl0bGU6IlNjYW0gQ2FsbCBJbnRlcmNlcHRlZCIsYm9keToiKzQ0IDc0NTkgMTEyMjMzIGZsYWdnZWQgYXMgSE1SQyBpbXBlcnNvbmF0aW9uIHNjYW0uIENhbGwgc2lsZW5jZWQgb24gU2FyYWgncyBpUGhvbmUuIixkZXZpY2VJZDoiZDEiLGRldmljZU5hbWU6IlNhcmFoJ3MgaVBob25lIDE1IFBybyIsbWVtYmVySWQ6IlMiLG1lbWJlck5hbWU6IlNhcmFoIix0aW1lc3RhbXA6IjIwMjYtMDYtMjdUMTE6MjA6MDBaIix0aW1lQWdvOiIyIGRheXMgYWdvIixzdGF0dXM6InJlc29sdmVkIn0se2lkOiJhbGVydC0wMDYiLHNldmVyaXR5OiJoaWdoIix0eXBlOiJ2dWxuZXJhYmlsaXR5Iix0aXRsZToiRmlybXdhcmUgVnVsbmVyYWJpbGl0eSDigJQgSFAgUHJpbnRlciIsYm9keToiQ1ZFLTIwMjQtODQ3MSAoQ1ZTUyA3LjgpOiBSZW1vdGUgY29kZSBleGVjdXRpb24gdmlhIHBvcnQgOTEwMC4gRmlybXdhcmUgdXBkYXRlIGF2YWlsYWJsZS4iLGRldmljZUlkOiJkMTAiLGRldmljZU5hbWU6IkhQIExhc2VySmV0IFBybyIsY3ZlOiJDVkUtMjAyNC04NDcxIixjdnNzOjcuOCx0aW1lc3RhbXA6IjIwMjYtMDYtMjZUMDg6MDA6MDBaIix0aW1lQWdvOiIzIGRheXMgYWdvIixzdGF0dXM6Im9wZW4ifV0sbXU9W3tpZDoidDEiLHRpbWU6IjIxOjA0IixsYWJlbDoiTm9ybWFsIGxvZ2luIOKAlCBJbnN0YWdyYW0iLGRldGFpbDoiRW1tYSBzaWduZWQgaW4gZnJvbSBoZXIgaVBob25lIDE0IMK3IExvbmRvbiDwn4es8J+HpyDCtyBrbm93biBkZXZpY2UiLGtpbmQ6Im5vcm1hbCJ9LHtpZDoidDIiLHRpbWU6IjIxOjA5IixsYWJlbDoiQnJvd3NlZCBJbnN0YWdyYW0gZmVlZCIsZGV0YWlsOiJTdGFuZGFyZCBzZXNzaW9uIGFjdGl2aXR5IMK3IDI4IG1pbiDCtyBubyBhbm9tYWxpZXMiLGtpbmQ6ImluZm8ifSx7aWQ6InQzIix0aW1lOiIyMTozNyIsbGFiZWw6IlNlc3Npb24gZW5kZWQiLGRldGFpbDoiRW1tYSBjbG9zZWQgdGhlIGFwcCDCtyBkZXZpY2Ugd2VudCB0byBzbGVlcCIsa2luZDoiaW5mbyJ9LHtpZDoidDQiLHRpbWU6IjAyOjMxIixsYWJlbDoi4pqg77iPIExvZ2luIGZyb20gdW5rbm93biBkZXZpY2UiLGRldGFpbDoiSVAgNzcuODguNTUuMjQ0IMK3IE1vc2NvdywgUlUg8J+Ht/Cfh7ogwrcgWWFuZGV4IExMQyDCtyA5NCBwcmlvciBhYnVzZSByZXBvcnRzIixraW5kOiJhbm9tYWx5In0se2lkOiJ0NSIsdGltZToiMDI6MzIiLGxhYmVsOiLimqDvuI8gUGFzc3dvcmQgY2hhbmdlIGF0dGVtcHRlZCIsZGV0YWlsOiJSZXF1ZXN0IHRvIHJlc2V0IGFjY291bnQgcGFzc3dvcmQgZnJvbSB0aGUgTW9zY293IHNlc3Npb24iLGtpbmQ6ImFub21hbHkifSx7aWQ6InQ2Iix0aW1lOiIwMjozMiIsbGFiZWw6IuKchSBBbmdlbCBibG9ja2VkIHRoZSBjaGFuZ2UiLGRldGFpbDoiU3VzcGljaW91cyBhY3Rpdml0eSBmbGFnIHJhaXNlZCDCtyBjaGFuZ2UgcmVxdWVzdCBkZW5pZWQgwrcgc2Vzc2lvbiB0ZXJtaW5hdGVkIixraW5kOiJibG9ja2VkIn0se2lkOiJ0NyIsdGltZToiMDI6MzMiLGxhYmVsOiJTYXJhaCBub3RpZmllZCIsZGV0YWlsOiJQdXNoIG5vdGlmaWNhdGlvbiBzZW50IHRvIFNhcmFoJ3MgaVBob25lIDE1IFBybyIsa2luZDoiaW5mbyJ9XSxZPXtwZXJpb2Q6Ikp1biAyM+KAkzI5LCAyMDI2Iix0aHJlYXRzQmxvY2tlZDoyNDcsdGhyZWF0c1ZzTGFzdFdlZWs6LTEyLGRldmljZXNQcm90ZWN0ZWQ6MTIsb3Blbklzc3VlczozLHRvcFRocmVhdHM6W3tsYWJlbDoiUGhpc2hpbmciLHBjdDo0MX0se2xhYmVsOiJNYWx3YXJlIixwY3Q6Mjh9LHtsYWJlbDoiQWR3YXJlIixwY3Q6MjF9LHtsYWJlbDoiT3RoZXIiLHBjdDoxMH1dLGRhaWx5OlsyOCw0MSwxOSw1MiwzNywzMSwzOV19LEdlPXtzY29yZTo5MixwcmV2aW91czo4OCxjaGFuZ2U6NCxsYWJlbDoiRXhjZWxsZW50In0sYT17Ymc6IiMwMTNCNDkiLGJnR3JhZDoicmFkaWFsLWdyYWRpZW50KDE0MCUgOTAlIGF0IDUwJSAwJSwgIzA3NTQ2NiAwJSwgIzAxM0I0OSA1NSUsICMwMTMwM2IgMTAwJSkiLHN1cmZhY2UyOiJyZ2JhKDI1NSwyNTUsMjU1LDAuMDcpIixzdXJmYWNlMzoicmdiYSgyNTUsMjU1LDI1NSwwLjEwKSIsc3VyZmFjZVN0cjoiIzBhNDg1NiIsYm9yZGVyOiJyZ2JhKDI1NSwyNTUsMjU1LDAuMDkpIixib3JkZXJTdHI6InJnYmEoMjU1LDI1NSwyNTUsMC4xNikiLHRleHQ6IiNlOGY0ZjMiLHRleHQyOiIjYjljZGQxIixtdXRlZDoiIzhhYTVhYiIsZGltOiIjNWE3YTgyIixhY2NlbnQ6IiMzQkI1ODYiLGFjY2VudFNvZnQ6InJnYmEoNTksMTgxLDEzNCwwLjE2KSIsYWNjZW50R2xvdzoicmdiYSg1OSwxODEsMTM0LDAuMzApIixkYW5nZXI6IiNmZjZiNmIiLGRhbmdlclNvZnQ6InJnYmEoMjU1LDEwNywxMDcsMC4xNCkiLHdhcm46IiNmZmI1NmIiLHdhcm5Tb2Z0OiJyZ2JhKDI1NSwxODEsMTA3LDAuMTQpIixzdWNjZXNzOiIjNGVjOTlhIixzdWNjZXNzU29mdDoicmdiYSg3OCwyMDEsMTU0LDAuMTQpIixhdjp7UzoiIzI1NjNFQiIsRToiI2VhNTgwYyIsTToiIzkzMzNFQSIsSjoiIzE2QTM0QSJ9LGNocm9tZTI6IiMwMTJlM2EiLGNocm9tZUJkcjoicmdiYSg1OSwxODEsMTM0LDAuMTgpIix0b2FzdEJnOiIjMGEzZDRhIn0sUj1bLjIzLDEsLjMyLDFdLEs9e3R5cGU6InNwcmluZyIsc3RpZmZuZXNzOjM0MCxkYW1waW5nOjI4fSxNPXtiYWNrZ3JvdW5kOmEuc3VyZmFjZTIsYm9yZGVyOmAxcHggc29saWQgJHthLmJvcmRlcn1gLGJvcmRlclJhZGl1czoxNixwYWRkaW5nOiIxMnB4IDE0cHgifTtmdW5jdGlvbiB4cih7azplLHNpemU6dD0zMn0pe2NvbnN0IGk9YS5hdltlXT8/YS5hY2NlbnQsbj17UzoiUyIsRToiRSIsTToiTSIsSjoiSiJ9O3JldHVybiBzLmpzeCgiZGl2Iix7c3R5bGU6e3dpZHRoOnQsaGVpZ2h0OnQsYm9yZGVyUmFkaXVzOiI1MCUiLGJhY2tncm91bmQ6aSxjb2xvcjoiI2ZmZiIsZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoiY2VudGVyIixmb250V2VpZ2h0OjYwMCxmb250U2l6ZTp0Ki4zOCxmbGV4U2hyaW5rOjB9LGNoaWxkcmVuOm5bZV0/P2V9KX1mdW5jdGlvbiBwZSh7bGFiZWw6ZSx2YXJpYW50OnR9KXtjb25zdCBuPXtvazp7Ymc6YS5zdWNjZXNzU29mdCxjb2xvcjphLnN1Y2Nlc3N9LHdhcm46e2JnOmEud2FyblNvZnQsY29sb3I6YS53YXJufSxvZmY6e2JnOmEuc3VyZmFjZTMsY29sb3I6YS5tdXRlZH0sZGFuZ2VyOntiZzphLmRhbmdlclNvZnQsY29sb3I6YS5kYW5nZXJ9LGluZm86e2JnOmEuYWNjZW50U29mdCxjb2xvcjphLmFjY2VudH19W3RdO3JldHVybiBzLmpzeCgic3BhbiIse3N0eWxlOntmb250U2l6ZToxMCxwYWRkaW5nOiIycHggOHB4Iixib3JkZXJSYWRpdXM6MTAwLHdoaXRlU3BhY2U6Im5vd3JhcCIsZm9udFdlaWdodDo1MDAsYmFja2dyb3VuZDpuLmJnLGNvbG9yOm4uY29sb3J9LGNoaWxkcmVuOmV9KX1mdW5jdGlvbiBhZSh7Y2hpbGRyZW46ZSxjb2xvcjp0PWEudGV4dDIsYmc6aT1hLnN1cmZhY2UzLHNpemU6bj0zMn0pe3JldHVybiBzLmpzeCgiZGl2Iix7c3R5bGU6e3dpZHRoOm4saGVpZ2h0Om4sYm9yZGVyUmFkaXVzOjksYmFja2dyb3VuZDppLGNvbG9yOnQsZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoiY2VudGVyIixmbGV4U2hyaW5rOjB9LGNoaWxkcmVuOmV9KX1mdW5jdGlvbiBndSgpe3JldHVybiBzLmpzeChodSx7c2l6ZToxNCxzdHlsZTp7Y29sb3I6YS5tdXRlZH19KX1mdW5jdGlvbiBFdCh7c2l6ZTplPTIwLGNvbG9yOnQ9YS5zdWNjZXNzfSl7cmV0dXJuIHMuanN4KHVyLHtzaXplOmUsc3R5bGU6e2NvbG9yOnR9fSl9ZnVuY3Rpb24gYXQoe2NoaWxkcmVuOmUsY29sb3I6dD1hLmFjY2VudCxvbkNsaWNrOml9KXtyZXR1cm4gcy5qc3goeS5idXR0b24se3doaWxlVGFwOntzY2FsZTouOTd9LG9uQ2xpY2s6aSxzdHlsZTp7Zm9udEZhbWlseToiaW5oZXJpdCIsZm9udFNpemU6MTIsZm9udFdlaWdodDo2MDAsYm9yZGVyUmFkaXVzOjEyLHBhZGRpbmc6IjlweCAxNHB4Iixib3JkZXI6Im5vbmUiLGJhY2tncm91bmQ6dCxjb2xvcjoiI2ZmZiIsY3Vyc29yOiJwb2ludGVyIix3aWR0aDoiMTAwJSIsZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoiY2VudGVyIixnYXA6NixsZXR0ZXJTcGFjaW5nOiIuMXB4In0sY2hpbGRyZW46ZX0pfWZ1bmN0aW9uIEppKHtjb2xvcjplPWEuc3VjY2Vzc30pe3JldHVybiBzLmpzeHMoInNwYW4iLHtzdHlsZTp7cG9zaXRpb246InJlbGF0aXZlIixkaXNwbGF5OiJpbmxpbmUtZmxleCIsd2lkdGg6NyxoZWlnaHQ6NyxmbGV4U2hyaW5rOjB9LGNoaWxkcmVuOltzLmpzeCh5LnNwYW4se2FuaW1hdGU6e3NjYWxlOlsxLDIuNCwxXSxvcGFjaXR5OlsuOCwwLC44XX0sdHJhbnNpdGlvbjp7ZHVyYXRpb246Mi4yLHJlcGVhdDoxLzAsZWFzZToiZWFzZU91dCJ9LHN0eWxlOntwb3NpdGlvbjoiYWJzb2x1dGUiLGluc2V0OjAsYm9yZGVyUmFkaXVzOiI1MCUiLGJhY2tncm91bmQ6ZX19KSxzLmpzeCgic3BhbiIse3N0eWxlOntwb3NpdGlvbjoicmVsYXRpdmUiLHdpZHRoOjcsaGVpZ2h0OjcsYm9yZGVyUmFkaXVzOiI1MCUiLGJhY2tncm91bmQ6ZX19KV19KX1mdW5jdGlvbiBsdCh7dG86ZSxmcm9tOnQ9MCxkZWxheTppPTB9KXtjb25zdCBuPXgudXNlUmVmKG51bGwpO3JldHVybiB4LnVzZUVmZmVjdCgoKT0+e2NvbnN0IG89c2V0VGltZW91dCgoKT0+e2RpKHQsZSx7ZHVyYXRpb246MS40LGVhc2U6Wy4yMiwxLC4zNiwxXSxvblVwZGF0ZTpsPT57bi5jdXJyZW50JiYobi5jdXJyZW50LnRleHRDb250ZW50PU1hdGgucm91bmQobCkudG9TdHJpbmcoKSl9fSl9LGkpO3JldHVybigpPT5jbGVhclRpbWVvdXQobyl9LFtlLHQsaV0pLHMuanN4KCJzcGFuIix7cmVmOm4sY2hpbGRyZW46dH0pfWZ1bmN0aW9uIFl0KHtsYWJlbDplLG9rOnR9KXtyZXR1cm4gcy5qc3hzKCJkaXYiLHtzdHlsZTp7ZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixnYXA6NSxwYWRkaW5nOiI2cHggMTBweCIsYmFja2dyb3VuZDp0P2Euc3VjY2Vzc1NvZnQ6YS5kYW5nZXJTb2Z0LGJvcmRlclJhZGl1czo4fSxjaGlsZHJlbjpbcy5qc3goImRpdiIse3N0eWxlOnt3aWR0aDo2LGhlaWdodDo2LGJvcmRlclJhZGl1czoiNTAlIixiYWNrZ3JvdW5kOnQ/YS5zdWNjZXNzOmEuZGFuZ2VyfX0pLHMuanN4KCJzcGFuIix7c3R5bGU6e2ZvbnRTaXplOjEwLGZvbnRXZWlnaHQ6NTAwLGNvbG9yOnQ/YS5zdWNjZXNzOmEuZGFuZ2VyfSxjaGlsZHJlbjplfSldfSl9Y29uc3QgeXU9YApAa2V5ZnJhbWVzIGJkUHVsc2UgewogIDAlLDEwMCUgeyBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMjU1LDEwNywxMDcsLjQ1KSB9CiAgNTAlICAgICAgeyBib3gtc2hhZG93OiAwIDAgMCAxMHB4IHJnYmEoMjU1LDEwNywxMDcsMCkgfQp9CkBrZXlmcmFtZXMgYmRHbG93IHsKICAwJSwxMDAlIHsgb3BhY2l0eTogLjcgfQogIDUwJSAgICAgIHsgb3BhY2l0eTogMSB9Cn0KYDtmdW5jdGlvbiBRaSgpe2NvbnN0W2UsdF09eC51c2VTdGF0ZSg0Nyk7cmV0dXJuIHgudXNlRWZmZWN0KCgpPT57Y29uc3QgaT1zZXRUaW1lb3V0KCgpPT50KDQ4KSwyODAwKTtyZXR1cm4oKT0+Y2xlYXJUaW1lb3V0KGkpfSxbXSkscy5qc3hzKCJkaXYiLHtzdHlsZTp7ZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixnYXA6MTB9LGNoaWxkcmVuOltzLmpzeHMoeS5kaXYse3N0eWxlOntkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJzcGFjZS1iZXR3ZWVuIn0saW5pdGlhbDp7b3BhY2l0eTowfSxhbmltYXRlOntvcGFjaXR5OjF9LHRyYW5zaXRpb246e2R1cmF0aW9uOi4zfSxjaGlsZHJlbjpbcy5qc3goImRpdiIse3N0eWxlOntmb250U2l6ZToxMyxmb250V2VpZ2h0OjYwMCxjb2xvcjphLnRleHR9LGNoaWxkcmVuOiJHb29kIG1vcm5pbmcsIFNhcmFoIn0pLHMuanN4cygiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsZ2FwOjV9LGNoaWxkcmVuOltzLmpzeChKaSx7Y29sb3I6YS5zdWNjZXNzfSkscy5qc3goInNwYW4iLHtzdHlsZTp7Zm9udFNpemU6OSxmb250V2VpZ2h0OjYwMCxjb2xvcjphLnN1Y2Nlc3MsbGV0dGVyU3BhY2luZzoiLjVweCJ9LGNoaWxkcmVuOiJMSVZFIn0pXX0pXX0pLHMuanN4KCJkaXYiLHtzdHlsZTp7ZGlzcGxheToiZmxleCIsZ2FwOjZ9LGNoaWxkcmVuOlt7bGFiZWw6IkJsb2NrZWQgdG9kYXkiLHZhbHVlOmUsY29sb3I6YS5zdWNjZXNzfSx7bGFiZWw6IkRldmljZXMgc2FmZSIsdmFsdWU6MTIsY29sb3I6YS5hY2NlbnR9LHtsYWJlbDoiRmFtaWx5IHNjb3JlIix2YWx1ZTo5Mixjb2xvcjphLnN1Y2Nlc3N9XS5tYXAoKGksbik9PnMuanN4cyh5LmRpdix7aW5pdGlhbDp7b3BhY2l0eTowLHk6NX0sYW5pbWF0ZTp7b3BhY2l0eToxLHk6MH0sdHJhbnNpdGlvbjp7ZGVsYXk6biouMDUsZHVyYXRpb246LjI1LGVhc2U6Un0sc3R5bGU6ey4uLk0sZmxleDoxLHRleHRBbGlnbjoiY2VudGVyIixwYWRkaW5nOiI4cHggNHB4In0sY2hpbGRyZW46W3MuanN4KCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6MTUsZm9udFdlaWdodDo3MDAsY29sb3I6aS5jb2xvcn0sY2hpbGRyZW46aS5sYWJlbD09PSJCbG9ja2VkIHRvZGF5Ij9lOmkudmFsdWV9KSxzLmpzeCgiZGl2Iix7c3R5bGU6e2ZvbnRTaXplOjksY29sb3I6YS5tdXRlZCxtYXJnaW5Ub3A6Mn0sY2hpbGRyZW46aS5sYWJlbH0pXX0saS5sYWJlbCkpfSkscy5qc3hzKHkuZGl2LHtzdHlsZTp7Li4uTSxiYWNrZ3JvdW5kOmEuc3VjY2Vzc1NvZnQsYm9yZGVyQ29sb3I6InRyYW5zcGFyZW50IixkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDoxMn0saW5pdGlhbDp7b3BhY2l0eTowLHk6Nn0sYW5pbWF0ZTp7b3BhY2l0eToxLHk6MH0sdHJhbnNpdGlvbjp7ZGVsYXk6LjEsZWFzZTpSfSxjaGlsZHJlbjpbcy5qc3goImRpdiIse3N0eWxlOnt3aWR0aDozOCxoZWlnaHQ6MzgsYm9yZGVyUmFkaXVzOiI1MCUiLGJhY2tncm91bmQ6YS5zdWNjZXNzLGRpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciIsZmxleFNocmluazowfSxjaGlsZHJlbjpzLmpzeChFdCx7c2l6ZToxOCxjb2xvcjoiI2ZmZiJ9KX0pLHMuanN4cygiZGl2Iix7c3R5bGU6e2ZsZXg6MX0sY2hpbGRyZW46W3MuanN4KCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6MTMsZm9udFdlaWdodDo1MDAsY29sb3I6YS5zdWNjZXNzfSxjaGlsZHJlbjoiWW91ciBmYW1pbHkgaXMgcHJvdGVjdGVkIn0pLHMuanN4KCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6MTAsY29sb3I6YS5zdWNjZXNzfSxjaGlsZHJlbjoiMyBjaGlsZHJlbiDCtyAxMiBkZXZpY2VzIMK3IFZQTiBhY3RpdmUifSldfSldfSkscy5qc3hzKHkuZGl2LHtzdHlsZTp7Li4uTSxiYWNrZ3JvdW5kOmEud2FyblNvZnQsYm9yZGVyQ29sb3I6InRyYW5zcGFyZW50IixkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDoxMCxjdXJzb3I6InBvaW50ZXIifSxpbml0aWFsOntvcGFjaXR5OjAseTo2fSxhbmltYXRlOntvcGFjaXR5OjEseTowfSx0cmFuc2l0aW9uOntkZWxheTouMTUsZWFzZTpSfSxjaGlsZHJlbjpbcy5qc3goYWUse2JnOmEud2Fybixjb2xvcjoiI2ZmZiIsc2l6ZTozMixjaGlsZHJlbjpzLmpzeChmZSx7c2l6ZToxNSxzdHlsZTp7Y29sb3I6IiNmZmYifX0pfSkscy5qc3hzKCJkaXYiLHtzdHlsZTp7ZmxleDoxfSxjaGlsZHJlbjpbcy5qc3goImRpdiIse3N0eWxlOntmb250U2l6ZToxMixmb250V2VpZ2h0OjUwMCxjb2xvcjphLndhcm59LGNoaWxkcmVuOiIyIHJlcXVlc3RzIG5lZWQgeW91ciBhdHRlbnRpb24ifSkscy5qc3goImRpdiIse3N0eWxlOntmb250U2l6ZToxMCxjb2xvcjphLndhcm59LGNoaWxkcmVuOiJBcHAgaW5zdGFsbCDCtyBXZWJzaXRlIGFjY2VzcyJ9KV19KSxzLmpzeChndSx7fSldfSkscy5qc3goeS5kaXYse3N0eWxlOntkaXNwbGF5OiJmbGV4IixnYXA6OH0saW5pdGlhbDp7b3BhY2l0eTowfSxhbmltYXRlOntvcGFjaXR5OjF9LHRyYW5zaXRpb246e2RlbGF5Oi4xOH0sY2hpbGRyZW46W3tJY29uOnFpLGxhYmVsOiJQYXVzZSBpbnRlcm5ldCJ9LHtJY29uOllpLGxhYmVsOiJXaGVyZSBhcmUga2lkcyJ9XS5tYXAoaT0+cy5qc3hzKCJkaXYiLHtzdHlsZTp7Li4uTSxmbGV4OjEsZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDo2LHBhZGRpbmc6IjEwcHggNnB4IixjdXJzb3I6InBvaW50ZXIifSxjaGlsZHJlbjpbcy5qc3goaS5JY29uLHtzaXplOjE4LHN0eWxlOntjb2xvcjphLnRleHQyfX0pLHMuanN4KCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6MTEsY29sb3I6YS50ZXh0fSxjaGlsZHJlbjppLmxhYmVsfSldfSxpLmxhYmVsKSl9KSxzLmpzeHMoeS5kaXYse3N0eWxlOk0saW5pdGlhbDp7b3BhY2l0eTowfSxhbmltYXRlOntvcGFjaXR5OjF9LHRyYW5zaXRpb246e2RlbGF5Oi4yMn0sY2hpbGRyZW46W3MuanN4KCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6MTAsZm9udFdlaWdodDo2MDAsY29sb3I6YS5tdXRlZCxsZXR0ZXJTcGFjaW5nOiIuNHB4Iix0ZXh0VHJhbnNmb3JtOiJ1cHBlcmNhc2UiLG1hcmdpbkJvdHRvbTo2fSxjaGlsZHJlbjoiRmFtaWx5In0pLFt7azoiRSIsbmFtZToiRW1tYSIsc3ViOiJBdCBzY2hvb2wgwrcgMmggNDdtIGxlZnQiLHBpbGw6Im9rIn0se2s6Ik0iLG5hbWU6Ik1pYSIsc3ViOiJBdCBob21lIMK3IDQ1bSB0b2RheSIscGlsbDoib2sifSx7azoiSiIsbmFtZToiSmFjayIsc3ViOiJIb21lIMK3IHNjcmVlbiBsaW1pdCBoaXQiLHBpbGw6Indhcm4ifV0ubWFwKChpLG4pPT5zLmpzeHMoeS5kaXYse2luaXRpYWw6e29wYWNpdHk6MCx4Oi01fSxhbmltYXRlOntvcGFjaXR5OjEseDowfSx0cmFuc2l0aW9uOntkZWxheTouMjQrbiouMDUsZWFzZTpSfSxzdHlsZTp7ZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixnYXA6MTAscGFkZGluZzoiN3B4IDAiLGJvcmRlclRvcDpuPT09MD8ibm9uZSI6YDFweCBzb2xpZCAke2EuYm9yZGVyfWB9LGNoaWxkcmVuOltzLmpzeHMoImRpdiIse3N0eWxlOntwb3NpdGlvbjoicmVsYXRpdmUifSxjaGlsZHJlbjpbcy5qc3goeHIse2s6aS5rLHNpemU6MzB9KSxzLmpzeCgiZGl2Iix7c3R5bGU6e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsYm90dG9tOi0xLHJpZ2h0Oi0xLHdpZHRoOjgsaGVpZ2h0OjgsYm9yZGVyUmFkaXVzOiI1MCUiLGJhY2tncm91bmQ6aS5waWxsPT09Im9rIj9hLnN1Y2Nlc3M6YS53YXJuLGJvcmRlcjpgMS41cHggc29saWQgJHthLmJnfWB9fSldfSkscy5qc3hzKCJkaXYiLHtzdHlsZTp7ZmxleDoxfSxjaGlsZHJlbjpbcy5qc3goImRpdiIse3N0eWxlOntmb250U2l6ZToxMixjb2xvcjphLnRleHR9LGNoaWxkcmVuOmkubmFtZX0pLHMuanN4KCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6MTAsY29sb3I6YS5tdXRlZH0sY2hpbGRyZW46aS5zdWJ9KV19KSxzLmpzeChwZSx7bGFiZWw6aS5waWxsPT09Im9rIj8iT25saW5lIjoiTGltaXQiLHZhcmlhbnQ6aS5waWxsfSldfSxpLmspKV19KV19KX1mdW5jdGlvbiB4dSgpe2NvbnN0W2UsdF09eC51c2VTdGF0ZSghMSk7cmV0dXJuIHgudXNlRWZmZWN0KCgpPT57Y29uc3QgaT1zZXRUaW1lb3V0KCgpPT50KCEwKSw2MDApO3JldHVybigpPT5jbGVhclRpbWVvdXQoaSl9LFtdKSxzLmpzeHMoImRpdiIse3N0eWxlOntwb3NpdGlvbjoicmVsYXRpdmUifSxjaGlsZHJlbjpbcy5qc3goInN0eWxlIix7Y2hpbGRyZW46eXV9KSxzLmpzeCgiZGl2Iix7c3R5bGU6e29wYWNpdHk6LjQ1LHBvaW50ZXJFdmVudHM6Im5vbmUifSxjaGlsZHJlbjpzLmpzeChRaSx7fSl9KSxzLmpzeChiZSx7Y2hpbGRyZW46ZSYmcy5qc3goeS5kaXYse2luaXRpYWw6e3k6LTI0LG9wYWNpdHk6MCxzY2FsZTouOTZ9LGFuaW1hdGU6e3k6MCxvcGFjaXR5OjEsc2NhbGU6MX0sZXhpdDp7eTotMTYsb3BhY2l0eTowfSx0cmFuc2l0aW9uOkssc3R5bGU6e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOjAsbGVmdDowLHJpZ2h0OjAsYmFja2dyb3VuZDphLnRvYXN0QmcsYm9yZGVyOmAxLjVweCBzb2xpZCAke2EuZGFuZ2VyfWAsYm9yZGVyUmFkaXVzOjE2LHBhZGRpbmc6IjEycHggMTRweCIsYm94U2hhZG93OmAwIDZweCAzMnB4IHJnYmEoMCwwLDAsLjU1KSwgMCAwIDAgMXB4ICR7YS5kYW5nZXJ9NDRgLGFuaW1hdGlvbjoiYmRQdWxzZSAxLjhzIGVhc2UtaW4tb3V0IGluZmluaXRlIn0sY2hpbGRyZW46cy5qc3hzKCJkaXYiLHtzdHlsZTp7ZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiZmxleC1zdGFydCIsZ2FwOjEwfSxjaGlsZHJlbjpbcy5qc3goeS5kaXYse2FuaW1hdGU6e3NjYWxlOlsxLDEuMDgsMV19LHRyYW5zaXRpb246e2R1cmF0aW9uOjEuNCxyZXBlYXQ6MS8wfSxzdHlsZTp7d2lkdGg6MzYsaGVpZ2h0OjM2LGJvcmRlclJhZGl1czoxMCxiYWNrZ3JvdW5kOmEuZGFuZ2VyLGRpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciIsZmxleFNocmluazowfSxjaGlsZHJlbjpzLmpzeChXZSx7c2l6ZToxOCxzdHlsZTp7Y29sb3I6IiNmZmYifX0pfSkscy5qc3hzKCJkaXYiLHtzdHlsZTp7ZmxleDoxfSxjaGlsZHJlbjpbcy5qc3hzKCJkaXYiLHtzdHlsZTp7ZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixnYXA6NixtYXJnaW5Cb3R0b206Mn0sY2hpbGRyZW46W3MuanN4KCJzcGFuIix7c3R5bGU6e2ZvbnRTaXplOjksZm9udFdlaWdodDo3MDAsY29sb3I6YS5kYW5nZXIsbGV0dGVyU3BhY2luZzoiLjZweCIsdGV4dFRyYW5zZm9ybToidXBwZXJjYXNlIn0sY2hpbGRyZW46IkNyaXRpY2FsIn0pLHMuanN4KCJkaXYiLHtzdHlsZTp7d2lkdGg6MyxoZWlnaHQ6Myxib3JkZXJSYWRpdXM6IjUwJSIsYmFja2dyb3VuZDphLmRpbX19KSxzLmpzeCgic3BhbiIse3N0eWxlOntmb250U2l6ZTo5LGNvbG9yOmEubXV0ZWR9LGNoaWxkcmVuOiJKdXN0IG5vdyJ9KV19KSxzLmpzeCgiZGl2Iix7c3R5bGU6e2ZvbnRTaXplOjEyLGZvbnRXZWlnaHQ6NjAwLGNvbG9yOmEudGV4dH0sY2hpbGRyZW46Ik1hbHdhcmUgZGV0ZWN0ZWQgwrcgUGxheVN0YXRpb24gNSJ9KSxzLmpzeCgiZGl2Iix7c3R5bGU6e2ZvbnRTaXplOjEwLGNvbG9yOmEubXV0ZWQsbWFyZ2luVG9wOjJ9LGNoaWxkcmVuOiJUcm9qYW4uR2VuZXJpY0tELjcxMjM0IMK3IE91dGJvdW5kIEMmQyB0cmFmZmljIn0pXX0pLHMuanN4KCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6MTAsY29sb3I6YS5kYW5nZXIsZm9udFdlaWdodDo2MDAsd2hpdGVTcGFjZToibm93cmFwIn0sY2hpbGRyZW46IlRhcCDihpIifSldfSl9KX0pXX0pfWZ1bmN0aW9uIHZ1KCl7Y29uc3QgZT1wdVswXTtyZXR1cm4gcy5qc3hzKHkuZGl2LHtzdHlsZTp7ZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixnYXA6MTB9LGluaXRpYWw6e29wYWNpdHk6MH0sYW5pbWF0ZTp7b3BhY2l0eToxfSxjaGlsZHJlbjpbcy5qc3hzKHkuZGl2LHtzdHlsZTp7Li4uTSxiYWNrZ3JvdW5kOmEuZGFuZ2VyU29mdCxib3JkZXJDb2xvcjphLmRhbmdlcisiODgifSxpbml0aWFsOntvcGFjaXR5OjAsc2NhbGU6Ljk3fSxhbmltYXRlOntvcGFjaXR5OjEsc2NhbGU6MX0sdHJhbnNpdGlvbjpLLGNoaWxkcmVuOltzLmpzeHMoImRpdiIse3N0eWxlOntkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJmbGV4LXN0YXJ0IixnYXA6MTAsbWFyZ2luQm90dG9tOjEwfSxjaGlsZHJlbjpbcy5qc3goImRpdiIse3N0eWxlOnt3aWR0aDo0MCxoZWlnaHQ6NDAsYm9yZGVyUmFkaXVzOjExLGJhY2tncm91bmQ6YS5kYW5nZXIsZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoiY2VudGVyIixmbGV4U2hyaW5rOjB9LGNoaWxkcmVuOnMuanN4KFdlLHtzaXplOjIwLHN0eWxlOntjb2xvcjoiI2ZmZiJ9fSl9KSxzLmpzeHMoImRpdiIse3N0eWxlOntmbGV4OjF9LGNoaWxkcmVuOltzLmpzeHMoImRpdiIse3N0eWxlOntkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDo2LG1hcmdpbkJvdHRvbToyfSxjaGlsZHJlbjpbcy5qc3gocGUse2xhYmVsOiJDcml0aWNhbCIsdmFyaWFudDoiZGFuZ2VyIn0pLHMuanN4KCJzcGFuIix7c3R5bGU6e2ZvbnRTaXplOjksY29sb3I6YS5tdXRlZH0sY2hpbGRyZW46ZS50aW1lQWdvfSldfSkscy5qc3goImRpdiIse3N0eWxlOntmb250U2l6ZToxMyxmb250V2VpZ2h0OjYwMCxjb2xvcjphLnRleHR9LGNoaWxkcmVuOiJNYWx3YXJlIGRldGVjdGVkIn0pLHMuanN4KCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6MTAsY29sb3I6YS5tdXRlZH0sY2hpbGRyZW46IlBsYXlTdGF0aW9uIDUgwrcgSmFjayDCtyBBZ2UgOCJ9KV19KV19KSxzLmpzeHMoImRpdiIse3N0eWxlOntiYWNrZ3JvdW5kOiJyZ2JhKDAsMCwwLC4yKSIsYm9yZGVyUmFkaXVzOjgscGFkZGluZzoiN3B4IDEwcHgiLG1hcmdpbkJvdHRvbTo4LGZvbnRGYW1pbHk6IidVYnVudHUgTW9ubycsIG1vbm9zcGFjZSJ9LGNoaWxkcmVuOltzLmpzeCgiZGl2Iix7c3R5bGU6e2ZvbnRTaXplOjksY29sb3I6YS5tdXRlZCxtYXJnaW5Cb3R0b206Mn0sY2hpbGRyZW46IlRIUkVBVCBJREVOVElGSUVSIn0pLHMuanN4KCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6MTIsZm9udFdlaWdodDo3MDAsY29sb3I6YS5kYW5nZXJ9LGNoaWxkcmVuOiJUcm9qYW4uR2VuZXJpY0tELjcxMjM0In0pXX0pLHMuanN4KCJkaXYiLHtzdHlsZTp7ZGlzcGxheToiZmxleCIsZ2FwOjQsYWxpZ25JdGVtczoiY2VudGVyIixtYXJnaW5Cb3R0b206Mn0sY2hpbGRyZW46WyJEZWxpdmVyeSIsIkluc3RhbGwiLCJDJkMg4oaQIiwiRXhmaWwuLi4iXS5tYXAoKHQsaSk9PnMuanN4cyhQci5GcmFnbWVudCx7Y2hpbGRyZW46W3MuanN4KHkuZGl2LHtpbml0aWFsOntvcGFjaXR5OjAsc2NhbGU6Ljg1fSxhbmltYXRlOntvcGFjaXR5OjEsc2NhbGU6MX0sdHJhbnNpdGlvbjp7ZGVsYXk6LjIraSouMX0sc3R5bGU6e2ZvbnRTaXplOjkscGFkZGluZzoiMnB4IDZweCIsYm9yZGVyUmFkaXVzOjUsYmFja2dyb3VuZDppPDM/YS5kYW5nZXIrIjMzIjphLnN1cmZhY2UzLGNvbG9yOmk8Mz9hLmRhbmdlcjphLmRpbSxmb250V2VpZ2h0OjUwMCxib3JkZXI6YDFweCBzb2xpZCAke2k8Mz9hLmRhbmdlcisiNDQiOmEuYm9yZGVyfWB9LGNoaWxkcmVuOnR9KSxpPDMmJnMuanN4KCJzcGFuIix7c3R5bGU6e2ZvbnRTaXplOjksY29sb3I6YS5kaW19LGNoaWxkcmVuOiLigLoifSldfSx0KSl9KV19KSxzLmpzeCh5LmRpdix7c3R5bGU6ey4uLk0scGFkZGluZzoiNHB4IDE0cHgifSxpbml0aWFsOntvcGFjaXR5OjAseTo2fSxhbmltYXRlOntvcGFjaXR5OjEseTowfSx0cmFuc2l0aW9uOntkZWxheTouMTUsZWFzZTpSfSxjaGlsZHJlbjpbe2xhYmVsOiJDJkMgU2VydmVyIix2YWx1ZToiMTg1LjIyMC4xMDEuNDciLHN1YjoiQW1zdGVyZGFtIPCfh7Pwn4exIMK3IFRvciBleGl0IG5vZGUiLGNvbG9yOmEuZGFuZ2VyfSx7bGFiZWw6IlVwbG9hZCByYXRlIix2YWx1ZToiMy4yIE1CL3MiLHN1YjoiU3VzdGFpbmVkIDQgbWluIMK3IFJpc2luZyIsY29sb3I6YS53YXJufSx7bGFiZWw6IkRldmljZSIsdmFsdWU6ZS5kZXZpY2VOYW1lLHN1YjoiRlcgMjMuMDIgwrcgSmFjayIsY29sb3I6YS50ZXh0Mn0se2xhYmVsOiJEZXRlY3RlZCIsdmFsdWU6ZS50aW1lQWdvLHN1YjoiUGF0dGVybiBtYXRjaCArIGhldXJpc3RpYyIsY29sb3I6YS5tdXRlZH1dLm1hcCgodCxpKT0+cy5qc3hzKHkuZGl2LHtpbml0aWFsOntvcGFjaXR5OjAseDotNX0sYW5pbWF0ZTp7b3BhY2l0eToxLHg6MH0sdHJhbnNpdGlvbjp7ZGVsYXk6LjIraSouMDV9LHN0eWxlOntkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJzcGFjZS1iZXR3ZWVuIixwYWRkaW5nOiI4cHggMCIsYm9yZGVyVG9wOmk9PT0wPyJub25lIjpgMXB4IHNvbGlkICR7YS5ib3JkZXJ9YH0sY2hpbGRyZW46W3MuanN4cygiZGl2Iix7Y2hpbGRyZW46W3MuanN4KCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6MTAsY29sb3I6YS5tdXRlZH0sY2hpbGRyZW46dC5sYWJlbH0pLHQuc3ViJiZzLmpzeCgiZGl2Iix7c3R5bGU6e2ZvbnRTaXplOjksY29sb3I6YS5kaW0sbWFyZ2luVG9wOjF9LGNoaWxkcmVuOnQuc3VifSldfSkscy5qc3goInNwYW4iLHtzdHlsZTp7Zm9udFNpemU6MTEsZm9udFdlaWdodDo2MDAsY29sb3I6dC5jb2xvcixmb250RmFtaWx5OnQubGFiZWw9PT0iQyZDIFNlcnZlciI/IidVYnVudHUgTW9ubycsIG1vbm9zcGFjZSI6ImluaGVyaXQifSxjaGlsZHJlbjp0LnZhbHVlfSldfSx0LmxhYmVsKSl9KSxzLmpzeCh5LmRpdix7aW5pdGlhbDp7b3BhY2l0eTowLHk6NX0sYW5pbWF0ZTp7b3BhY2l0eToxLHk6MH0sdHJhbnNpdGlvbjp7ZGVsYXk6LjM1LGVhc2U6Un0sY2hpbGRyZW46cy5qc3goYXQse2NvbG9yOmEuZGFuZ2VyLGNoaWxkcmVuOiJJc29sYXRlIFBsYXlTdGF0aW9uIDUg4oaSIn0pfSldfSl9ZnVuY3Rpb24gdnIoKXtjb25zdFtlLHRdPXgudXNlU3RhdGUoMy4yKTt4LnVzZUVmZmVjdCgoKT0+e2NvbnN0IG49c2V0SW50ZXJ2YWwoKCk9PnQobz0+TWF0aC5yb3VuZCgobysuMSkqMTApLzEwKSwxODAwKTtyZXR1cm4oKT0+Y2xlYXJJbnRlcnZhbChuKX0sW10pO2NvbnN0IGk9WzE4LDIyLDE5LDI1LDIwLDcxLDg4LDkyLGU+My41Pzk0OjkwXTtyZXR1cm4gcy5qc3hzKHkuZGl2LHtzdHlsZTp7ZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixnYXA6MTB9LGluaXRpYWw6e29wYWNpdHk6MCx4OjEyfSxhbmltYXRlOntvcGFjaXR5OjEseDowfSx0cmFuc2l0aW9uOntlYXNlOlJ9LGNoaWxkcmVuOltzLmpzeHMoImRpdiIse3N0eWxlOnsuLi5NLGJhY2tncm91bmQ6YS5kYW5nZXJTb2Z0LGJvcmRlckNvbG9yOmEuZGFuZ2VyKyI3NyJ9LGNoaWxkcmVuOltzLmpzeHMoImRpdiIse3N0eWxlOntkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDoxMCxtYXJnaW5Cb3R0b206MTJ9LGNoaWxkcmVuOltzLmpzeChhZSx7Ymc6InJnYmEoMjU1LDEwNywxMDcsLjIyKSIsY29sb3I6YS5kYW5nZXIsc2l6ZTo0MCxjaGlsZHJlbjpzLmpzeChMZSx7c2l6ZToyMCxzdHlsZTp7Y29sb3I6YS5kYW5nZXJ9fSl9KSxzLmpzeHMoImRpdiIse3N0eWxlOntmbGV4OjF9LGNoaWxkcmVuOltzLmpzeCgiZGl2Iix7c3R5bGU6e2ZvbnRTaXplOjEzLGZvbnRXZWlnaHQ6NjAwLGNvbG9yOmEudGV4dH0sY2hpbGRyZW46IlBsYXlTdGF0aW9uIDUifSkscy5qc3goImRpdiIse3N0eWxlOntmb250U2l6ZToxMCxjb2xvcjphLm11dGVkfSxjaGlsZHJlbjoiU29ueSDCtyBGVyAyMy4wMiDCtyAxOTIuMTY4LjEuOSJ9KV19KSxzLmpzeChwZSx7bGFiZWw6IlRocmVhdCIsdmFyaWFudDoiZGFuZ2VyIn0pXX0pLHMuanN4cygiZGl2Iix7c3R5bGU6e2JhY2tncm91bmQ6InJnYmEoMCwwLDAsLjE4KSIsYm9yZGVyUmFkaXVzOjEwLHBhZGRpbmc6IjhweCAxMHB4IixtYXJnaW5Cb3R0b206OH0sY2hpbGRyZW46W3MuanN4cygiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGp1c3RpZnlDb250ZW50OiJzcGFjZS1iZXR3ZWVuIixhbGlnbkl0ZW1zOiJjZW50ZXIiLG1hcmdpbkJvdHRvbTo2fSxjaGlsZHJlbjpbcy5qc3hzKCJkaXYiLHtzdHlsZTp7ZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixnYXA6NX0sY2hpbGRyZW46W3MuanN4KEppLHtjb2xvcjphLmRhbmdlcn0pLHMuanN4KCJzcGFuIix7c3R5bGU6e2ZvbnRTaXplOjksZm9udFdlaWdodDo2MDAsY29sb3I6YS5kYW5nZXIsbGV0dGVyU3BhY2luZzoiLjRweCJ9LGNoaWxkcmVuOiJMSVZFIE9VVEJPVU5EIn0pXX0pLHMuanN4cyh5LnNwYW4se2luaXRpYWw6e29wYWNpdHk6LjQsc2NhbGU6Ljk1fSxhbmltYXRlOntvcGFjaXR5OjEsc2NhbGU6MX0sc3R5bGU6e2ZvbnRTaXplOjEzLGZvbnRXZWlnaHQ6NzAwLGNvbG9yOmEuZGFuZ2VyLGZvbnRGYW1pbHk6IidVYnVudHUgTW9ubycsIG1vbm9zcGFjZSJ9LGNoaWxkcmVuOltlLnRvRml4ZWQoMSksIiBNQi9zIl19LGUpXX0pLHMuanN4KCJkaXYiLHtzdHlsZTp7aGVpZ2h0OjQ0LGRpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImZsZXgtZW5kIixnYXA6Mn0sY2hpbGRyZW46aS5tYXAoKG4sbyk9PnMuanN4KHkuZGl2LHtpbml0aWFsOntoZWlnaHQ6MCxvcGFjaXR5OjB9LGFuaW1hdGU6e2hlaWdodDpgJHtNYXRoLm1pbihuLDEwMCl9JWAsb3BhY2l0eToxfSx0cmFuc2l0aW9uOntkZWxheTpvKi4wNSxkdXJhdGlvbjouNCxlYXNlOlJ9LHN0eWxlOntmbGV4OjEsYm9yZGVyUmFkaXVzOiIycHggMnB4IDAgMCIsYmFja2dyb3VuZDpuPjUwP2EuZGFuZ2VyOmEuYWNjZW50U29mdH19LG8pKX0pXX0pLHMuanN4cygiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsZ2FwOjZ9LGNoaWxkcmVuOltzLmpzeChXZSx7c2l6ZToxMixzdHlsZTp7Y29sb3I6YS5kYW5nZXJ9fSkscy5qc3goInNwYW4iLHtzdHlsZTp7Zm9udFNpemU6MTAsY29sb3I6YS5kYW5nZXJ9LGNoaWxkcmVuOiLihpIgMTg1LjIyMC4xMDEuNDcgwrcgQW1zdGVyZGFtIMK3IFRvciBleGl0In0pXX0pXX0pLHMuanN4KCJkaXYiLHtzdHlsZTp7Li4uTSxwYWRkaW5nOiI0cHggMTRweCJ9LGNoaWxkcmVuOlt7bDoiU3RhdHVzIix2OiJBY3RpdmUgQyZDIGxpbmsiLGM6YS5kYW5nZXJ9LHtsOiJPd25lciIsdjoiSmFjayDCtyBBZ2UgOCIsYzphLnRleHQyfSx7bDoiTmV0d29yayIsdjoiSHVnaGVzLUhvbWUtNUciLGM6YS50ZXh0Mn0se2w6Ikxhc3QgY2xlYW4iLHY6IjE0IGRheXMgYWdvIixjOmEubXV0ZWR9XS5tYXAoKG4sbyk9PnMuanN4cygiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGp1c3RpZnlDb250ZW50OiJzcGFjZS1iZXR3ZWVuIixwYWRkaW5nOiI3cHggMCIsYm9yZGVyVG9wOm89PT0wPyJub25lIjpgMXB4IHNvbGlkICR7YS5ib3JkZXJ9YCxmb250U2l6ZToxMX0sY2hpbGRyZW46W3MuanN4KCJzcGFuIix7c3R5bGU6e2NvbG9yOmEubXV0ZWR9LGNoaWxkcmVuOm4ubH0pLHMuanN4KCJzcGFuIix7c3R5bGU6e2NvbG9yOm4uYyxmb250V2VpZ2h0OjUwMH0sY2hpbGRyZW46bi52fSldfSxuLmwpKX0pXX0pfWZ1bmN0aW9uIGJ1KCl7Y29uc3RbZSx0XT14LnVzZVN0YXRlKCExKTtyZXR1cm4gcy5qc3hzKCJkaXYiLHtzdHlsZTp7bWFyZ2luOiItNnB4IC0xM3B4IC04cHgiLGhlaWdodDoiY2FsYygxMDAlICsgMTRweCkiLHBvc2l0aW9uOiJyZWxhdGl2ZSJ9LGNoaWxkcmVuOltzLmpzeCgiZGl2Iix7c3R5bGU6e29wYWNpdHk6LjIscG9pbnRlckV2ZW50czoibm9uZSIsZmlsdGVyOiJibHVyKDJweCkiLHBhZGRpbmc6IjZweCAxM3B4In0sY2hpbGRyZW46cy5qc3godnIse30pfSkscy5qc3goeS5kaXYse2luaXRpYWw6e29wYWNpdHk6MH0sYW5pbWF0ZTp7b3BhY2l0eToxfSx0cmFuc2l0aW9uOntkdXJhdGlvbjouMn0sc3R5bGU6e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsaW5zZXQ6MCxiYWNrZ3JvdW5kOiJyZ2JhKDEsMTgsMjYsLjg4KSIsYmFja2Ryb3BGaWx0ZXI6ImJsdXIoMTJweCkiLGRpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImZsZXgtZW5kIn0sY2hpbGRyZW46cy5qc3hzKHkuZGl2LHtpbml0aWFsOnt5OiIxMDAlIn0sYW5pbWF0ZTp7eTowfSx0cmFuc2l0aW9uOnsuLi5LLGRlbGF5Oi4wNX0sc3R5bGU6e3dpZHRoOiIxMDAlIixiYWNrZ3JvdW5kOmEuc3VyZmFjZVN0cixib3JkZXJUb3A6YDFweCBzb2xpZCAke2EuZGFuZ2VyfTQ0YCxib3JkZXJSYWRpdXM6IjIwcHggMjBweCAwIDAiLG92ZXJmbG93OiJoaWRkZW4iLGJveFNoYWRvdzpgMCAtMTZweCA0OHB4IHJnYmEoMCwwLDAsLjUpLCAwIDAgMCAxcHggJHthLmRhbmdlcn0xOGB9LGNoaWxkcmVuOltzLmpzeCgiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIiLHBhZGRpbmc6IjEwcHggMCAwIn0sY2hpbGRyZW46cy5qc3goImRpdiIse3N0eWxlOnt3aWR0aDozNixoZWlnaHQ6NCxib3JkZXJSYWRpdXM6MixiYWNrZ3JvdW5kOiJyZ2JhKDI1NSwyNTUsMjU1LC4xNSkifX0pfSkscy5qc3hzKCJkaXYiLHtzdHlsZTp7cGFkZGluZzoiMTZweCAyMHB4IDE0cHgiLHRleHRBbGlnbjoic3RhcnQiLGJvcmRlckJvdHRvbTpgMXB4IHNvbGlkICR7YS5ib3JkZXJ9YCxvdmVyZmxvdzoiaGlkZGVuIn0sY2hpbGRyZW46W3MuanN4KHkuZGl2LHtpbml0aWFsOntzY2FsZTouNixvcGFjaXR5OjB9LGFuaW1hdGU6e3NjYWxlOjEsb3BhY2l0eToxfSx0cmFuc2l0aW9uOnsuLi5LLGRlbGF5Oi4xOH0sc3R5bGU6e3dpZHRoOjUyLGhlaWdodDo1Mixib3JkZXJSYWRpdXM6IjUwJSIsYmFja2dyb3VuZDphLmRhbmdlcixkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIiLG1hcmdpbjoiMCBhdXRvIDEycHgiLGJveFNoYWRvdzpgMCAwIDAgOHB4ICR7YS5kYW5nZXJ9MjJgfSxjaGlsZHJlbjpzLmpzeChxaSx7c2l6ZToyMixzdHlsZTp7Y29sb3I6IiNmZmYifX0pfSkscy5qc3goImRpdiIse3N0eWxlOntmb250U2l6ZToxNSxmb250V2VpZ2h0OjcwMCxjb2xvcjphLnRleHQsbWFyZ2luQm90dG9tOjR9LGNoaWxkcmVuOiJJc29sYXRlIFBsYXlTdGF0aW9uIDU/In0pLHMuanN4cygiZGl2Iix7c3R5bGU6e2ZvbnRTaXplOjExLGNvbG9yOmEudGV4dDIsbGluZUhlaWdodDoxLjZ9LGNoaWxkcmVuOlsiQWxsIGludGVybmV0IGFjY2VzcyBjdXQgaW1tZWRpYXRlbHkuIixzLmpzeCgiYnIiLHt9KSwiUmVzdG9yZSBhbnkgdGltZSBmcm9tIHlvdXIgZGFzaGJvYXJkLiJdfSldfSkscy5qc3goImRpdiIse3N0eWxlOntwYWRkaW5nOiI0cHggMjBweCAwIn0sY2hpbGRyZW46WyJDJkMgY29ubmVjdGlvbiBzZXZlcmVkIGluc3RhbnRseSIsIk91dGJvdW5kIHVwbG9hZHMgc3RvcHBlZCIsIkFsbCAxMSBvdGhlciBkZXZpY2VzIHVuYWZmZWN0ZWQiLCJGdWxsIGluY2lkZW50IHJlcG9ydCBhdXRvLXNhdmVkIl0ubWFwKChpLG4pPT5zLmpzeHMoeS5kaXYse2luaXRpYWw6e29wYWNpdHk6MCx4Oi02fSxhbmltYXRlOntvcGFjaXR5OjEseDowfSx0cmFuc2l0aW9uOntkZWxheTouMjgrbiouMDcsZWFzZTpSfSxzdHlsZTp7ZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixnYXA6MTAscGFkZGluZzoiOHB4IDAiLGJvcmRlckJvdHRvbTpuPDM/YDFweCBzb2xpZCAke2EuYm9yZGVyfWA6Im5vbmUiLGZvbnRTaXplOjExLGNvbG9yOmEudGV4dDJ9LGNoaWxkcmVuOltzLmpzeCgiZGl2Iix7c3R5bGU6e3dpZHRoOjE4LGhlaWdodDoxOCxib3JkZXJSYWRpdXM6IjUwJSIsYmFja2dyb3VuZDphLnN1Y2Nlc3NTb2Z0LGRpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciIsZmxleFNocmluazowfSxjaGlsZHJlbjpzLmpzeChmZSx7c2l6ZToxMCxzdHlsZTp7Y29sb3I6YS5zdWNjZXNzfX0pfSksaV19LGkpKX0pLHMuanN4cygiZGl2Iix7c3R5bGU6e3BhZGRpbmc6IjE0cHggMTZweCAyMHB4IixkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4iLGdhcDo4fSxjaGlsZHJlbjpbcy5qc3goYXQse2NvbG9yOmEuZGFuZ2VyLG9uQ2xpY2s6KCk9PnQoITApLGNoaWxkcmVuOmU/Iklzb2xhdGluZ+KApiI6Iklzb2xhdGUgTm93In0pLHMuanN4KHkuZGl2LHt3aGlsZVRhcDp7c2NhbGU6Ljk3fSxzdHlsZTp7dGV4dEFsaWduOiJjZW50ZXIiLGZvbnRTaXplOjExLGNvbG9yOmEubXV0ZWQsY3Vyc29yOiJwb2ludGVyIixwYWRkaW5nOiIzcHggMCJ9LGNoaWxkcmVuOiJDYW5jZWwg4oCUIHN0YXkgY29ubmVjdGVkIn0pXX0pXX0pfSldfSl9ZnVuY3Rpb24gU3UoKXtjb25zdFtlLHRdPXgudXNlU3RhdGUoLTEpO3gudXNlRWZmZWN0KCgpPT57Y29uc3Qgbz1bNjAwLDE4MDAsMzIwMCw0ODAwXS5tYXAoKGwscik9PnNldFRpbWVvdXQoKCk9PnQociksbCkpO3JldHVybigpPT5vLmZvckVhY2goY2xlYXJUaW1lb3V0KX0sW10pO2NvbnN0IGk9W3tsYWJlbDoiQmxvY2tpbmcgbmV0d29yayBhY2Nlc3MiLHN1YjoiRmlyZXdhbGwgcnVsZSBhcHBsaWVkIn0se2xhYmVsOiJTZXZlcmluZyBDJkMgY29ubmVjdGlvbiIsc3ViOiIxODUuMjIwLjEwMS40NyBibGFja2xpc3RlZCJ9LHtsYWJlbDoiTG9nZ2luZyBpbmNpZGVudCByZXBvcnQiLHN1YjoiQ1ZFIHJlZmVyZW5jZSArIHBjYXAgc2F2ZWQifSx7bGFiZWw6Ik5vdGlmeWluZyBTYXJhaCIsc3ViOiJQdXNoICsgZW1haWwgc2VudCJ9XSxuPWU8MD8wOmU+PTM/MTAwOk1hdGgucm91bmQoKGUrMSkvNCoxMDApO3JldHVybiBzLmpzeHMoeS5kaXYse3N0eWxlOntkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4iLGFsaWduSXRlbXM6ImNlbnRlciIsZ2FwOjE0LHBhZGRpbmdUb3A6Nn0saW5pdGlhbDp7b3BhY2l0eTowfSxhbmltYXRlOntvcGFjaXR5OjF9LGNoaWxkcmVuOltzLmpzeHMoImRpdiIse3N0eWxlOntwb3NpdGlvbjoicmVsYXRpdmUiLHdpZHRoOjc0LGhlaWdodDo3NH0sY2hpbGRyZW46W3MuanN4cygic3ZnIix7d2lkdGg6Ijc0IixoZWlnaHQ6Ijc0Iix2aWV3Qm94OiIwIDAgNzQgNzQiLHN0eWxlOnt0cmFuc2Zvcm06InJvdGF0ZSgtOTBkZWcpIn0sY2hpbGRyZW46W3MuanN4KCJjaXJjbGUiLHtjeDoiMzciLGN5OiIzNyIscjoiMzAiLGZpbGw6Im5vbmUiLHN0cm9rZTphLnN1cmZhY2UzLHN0cm9rZVdpZHRoOiI2In0pLHMuanN4KHkuY2lyY2xlLHtjeDoiMzciLGN5OiIzNyIscjoiMzAiLGZpbGw6Im5vbmUiLHN0cm9rZTplPj0zP2Euc3VjY2VzczphLmRhbmdlcixzdHJva2VXaWR0aDoiNiIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZURhc2hhcnJheToxODguNSxhbmltYXRlOntzdHJva2VEYXNob2Zmc2V0OjE4OC41LTE4OC41Km4vMTAwfSx0cmFuc2l0aW9uOntkdXJhdGlvbjouNixlYXNlOlJ9fSldfSkscy5qc3goImRpdiIse3N0eWxlOntwb3NpdGlvbjoiYWJzb2x1dGUiLGluc2V0OjAsZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoiY2VudGVyIn0sY2hpbGRyZW46ZT49Mz9zLmpzeChmZSx7c2l6ZToyMixzdHlsZTp7Y29sb3I6YS5zdWNjZXNzfX0pOnMuanN4cygic3BhbiIse3N0eWxlOntmb250U2l6ZToxMyxmb250V2VpZ2h0OjcwMCxjb2xvcjphLmRhbmdlcn0sY2hpbGRyZW46W24sIiUiXX0pfSldfSkscy5qc3goImRpdiIse3N0eWxlOntmb250U2l6ZToxMyxmb250V2VpZ2h0OjYwMCxjb2xvcjplPj0zP2Euc3VjY2VzczphLnRleHR9LGNoaWxkcmVuOmU+PTM/IkRldmljZSBpc29sYXRlZCI6Iklzb2xhdGluZyBQbGF5U3RhdGlvbiA14oCmIn0pLHMuanN4KCJkaXYiLHtzdHlsZTp7Li4uTSx3aWR0aDoiMTAwJSJ9LGNoaWxkcmVuOmkubWFwKChvLGwpPT57Y29uc3Qgcj1sPGU/ImRvbmUiOmw9PT1lPyJhY3RpdmUiOiJwZW5kaW5nIjtyZXR1cm4gcy5qc3hzKHkuZGl2LHtpbml0aWFsOntvcGFjaXR5OjAseDotNn0sYW5pbWF0ZTp7b3BhY2l0eTpyPT09InBlbmRpbmciPy40OjEseDowfSx0cmFuc2l0aW9uOntkZWxheTpsKi4wOH0sc3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsZ2FwOjEwLHBhZGRpbmc6IjhweCAwIixib3JkZXJUb3A6bD09PTA/Im5vbmUiOmAxcHggc29saWQgJHthLmJvcmRlcn1gfSxjaGlsZHJlbjpbcy5qc3goeS5kaXYse2FuaW1hdGU6e3NjYWxlOnI9PT0iYWN0aXZlIj9bMSwxLjE1LDFdOjF9LHRyYW5zaXRpb246e2R1cmF0aW9uOi44LHJlcGVhdDpyPT09ImFjdGl2ZSI/MS8wOjB9LHN0eWxlOnt3aWR0aDoyMCxoZWlnaHQ6MjAsYm9yZGVyUmFkaXVzOiI1MCUiLGZsZXhTaHJpbms6MCxkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIiLGJhY2tncm91bmQ6cj09PSJkb25lIj9hLnN1Y2Nlc3NTb2Z0OnI9PT0iYWN0aXZlIj9hLmRhbmdlclNvZnQ6YS5zdXJmYWNlM30sY2hpbGRyZW46cj09PSJkb25lIj9zLmpzeChmZSx7c2l6ZToxMSxzdHlsZTp7Y29sb3I6YS5zdWNjZXNzfX0pOnMuanN4KCJkaXYiLHtzdHlsZTp7d2lkdGg6NixoZWlnaHQ6Nixib3JkZXJSYWRpdXM6IjUwJSIsYmFja2dyb3VuZDpyPT09ImFjdGl2ZSI/YS5kYW5nZXI6YS5kaW19fSl9KSxzLmpzeHMoImRpdiIse2NoaWxkcmVuOltzLmpzeCgiZGl2Iix7c3R5bGU6e2ZvbnRTaXplOjExLGZvbnRXZWlnaHQ6cj09PSJhY3RpdmUiPzYwMDo0MDAsY29sb3I6cj09PSJwZW5kaW5nIj9hLm11dGVkOmEudGV4dH0sY2hpbGRyZW46by5sYWJlbH0pLHIhPT0icGVuZGluZyImJnMuanN4KCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6OSxjb2xvcjphLmRpbSxtYXJnaW5Ub3A6MX0sY2hpbGRyZW46by5zdWJ9KV19KV19LG8ubGFiZWwpfSl9KV19KX1mdW5jdGlvbiBqdSgpe3JldHVybiBzLmpzeHMoeS5kaXYse3N0eWxlOntkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4iLGdhcDoxMH0saW5pdGlhbDp7b3BhY2l0eTowfSxhbmltYXRlOntvcGFjaXR5OjF9LGNoaWxkcmVuOltzLmpzeHMoeS5kaXYse2luaXRpYWw6e3NjYWxlOi45NH0sYW5pbWF0ZTp7c2NhbGU6MX0sdHJhbnNpdGlvbjpLLHN0eWxlOnsuLi5NLGJhY2tncm91bmQ6YS5zdWNjZXNzU29mdCxib3JkZXJDb2xvcjoidHJhbnNwYXJlbnQiLHRleHRBbGlnbjoiY2VudGVyIixwYWRkaW5nOiIxOHB4IDE0cHgifSxjaGlsZHJlbjpbcy5qc3goeS5kaXYse2luaXRpYWw6e3NjYWxlOjAscm90YXRlOi0yMH0sYW5pbWF0ZTp7c2NhbGU6MSxyb3RhdGU6MH0sdHJhbnNpdGlvbjp7Li4uSyxkZWxheTouMX0sc3R5bGU6e3dpZHRoOjUyLGhlaWdodDo1Mixib3JkZXJSYWRpdXM6IjUwJSIsYmFja2dyb3VuZDphLnN1Y2Nlc3MsZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoiY2VudGVyIixtYXJnaW46IjAgYXV0byAxMHB4In0sY2hpbGRyZW46cy5qc3goRXQse3NpemU6MjYsY29sb3I6IiNmZmYifSl9KSxzLmpzeCgiZGl2Iix7c3R5bGU6e2ZvbnRTaXplOjE0LGZvbnRXZWlnaHQ6NjAwLGNvbG9yOmEuc3VjY2Vzc30sY2hpbGRyZW46IlRocmVhdCBuZXV0cmFsaXNlZCJ9KSxzLmpzeCgiZGl2Iix7c3R5bGU6e2ZvbnRTaXplOjEwLGNvbG9yOmEuc3VjY2VzcyxtYXJnaW5Ub3A6M30sY2hpbGRyZW46IlBsYXlTdGF0aW9uIDUgaXNvbGF0ZWQgwrcgZmFtaWx5IHNhZmUifSldfSkscy5qc3hzKHkuZGl2LHtzdHlsZTp7Li4uTSxkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDoxNH0saW5pdGlhbDp7b3BhY2l0eTowLHk6Nn0sYW5pbWF0ZTp7b3BhY2l0eToxLHk6MH0sdHJhbnNpdGlvbjp7ZGVsYXk6LjE4LGVhc2U6Un0sY2hpbGRyZW46W3MuanN4KEdpLHtzY29yZTo5NCxzaXplOjU4LHN0cm9rZVdpZHRoOjUsZGVsYXk6MzAwfSkscy5qc3hzKCJkaXYiLHtzdHlsZTp7ZmxleDoxfSxjaGlsZHJlbjpbcy5qc3hzKCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6MTYsZm9udFdlaWdodDo3MDAsY29sb3I6YS5zdWNjZXNzfSxjaGlsZHJlbjpbcy5qc3gobHQse3RvOjk0LGZyb206ODgsZGVsYXk6MzUwfSkscy5qc3goInNwYW4iLHtzdHlsZTp7Zm9udFNpemU6MTEsY29sb3I6YS5tdXRlZCxmb250V2VpZ2h0OjQwMH0sY2hpbGRyZW46Ii8xMDAifSldfSkscy5qc3goImRpdiIse3N0eWxlOntmb250U2l6ZToxMCxjb2xvcjphLm11dGVkfSxjaGlsZHJlbjoiRmFtaWx5IFNlY3VyaXR5IFNjb3JlIn0pLHMuanN4cygiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsZ2FwOjYsbWFyZ2luVG9wOjR9LGNoaWxkcmVuOltzLmpzeCgiZGl2Iix7c3R5bGU6e2ZvbnRTaXplOjEwLGNvbG9yOmEuZGltLHRleHREZWNvcmF0aW9uOiJsaW5lLXRocm91Z2gifSxjaGlsZHJlbjoiODgifSkscy5qc3goImRpdiIse3N0eWxlOntmb250U2l6ZTo5LGNvbG9yOmEuZGltfSxjaGlsZHJlbjoi4oaSIn0pLHMuanN4KCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6MTAsY29sb3I6YS5zdWNjZXNzLGZvbnRXZWlnaHQ6NjAwfSxjaGlsZHJlbjoiOTQgwrcg4payICs2In0pXX0pXX0pXX0pLHMuanN4KHkuZGl2LHtzdHlsZTp7Li4uTSxwYWRkaW5nOiI0cHggMTRweCJ9LGluaXRpYWw6e29wYWNpdHk6MCx5OjZ9LGFuaW1hdGU6e29wYWNpdHk6MSx5OjB9LHRyYW5zaXRpb246e2RlbGF5Oi4yNCxlYXNlOlJ9LGNoaWxkcmVuOlt7bGFiZWw6Ik1hbHdhcmUgYmxvY2tlZCIsZG9uZTohMH0se2xhYmVsOiJQUzUgbmV0d29yayBpc29sYXRlZCIsZG9uZTohMH0se2xhYmVsOiJDJkMgY29ubmVjdGlvbiBzZXZlcmVkIixkb25lOiEwfSx7bGFiZWw6IkFsbCAxMSBvdGhlciBkZXZpY2VzIHNhZmUiLGRvbmU6ITB9XS5tYXAoKGUsdCk9PnMuanN4cyh5LmRpdix7aW5pdGlhbDp7b3BhY2l0eTowLHg6LTV9LGFuaW1hdGU6e29wYWNpdHk6MSx4OjB9LHRyYW5zaXRpb246e2RlbGF5Oi4yOCt0Ki4wNn0sc3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsZ2FwOjgscGFkZGluZzoiN3B4IDAiLGJvcmRlclRvcDp0PT09MD8ibm9uZSI6YDFweCBzb2xpZCAke2EuYm9yZGVyfWAsZm9udFNpemU6MTEsY29sb3I6YS50ZXh0Mn0sY2hpbGRyZW46W3MuanN4KGZlLHtzaXplOjEyLHN0eWxlOntjb2xvcjphLnN1Y2Nlc3MsZmxleFNocmluazowfX0pLGUubGFiZWxdfSxlLmxhYmVsKSl9KSxzLmpzeCh5LmRpdix7c3R5bGU6e2ZvbnRTaXplOjExLGNvbG9yOmEuYWNjZW50LHRleHRBbGlnbjoiY2VudGVyIixjdXJzb3I6InBvaW50ZXIifSxpbml0aWFsOntvcGFjaXR5OjB9LGFuaW1hdGU6e29wYWNpdHk6MX0sdHJhbnNpdGlvbjp7ZGVsYXk6LjV9LGNoaWxkcmVuOiJWaWV3IGZ1bGwgaW5jaWRlbnQgcmVwb3J0IOKGkiJ9KV19KX1mdW5jdGlvbiB3dSgpe3JldHVybiBzLmpzeHMoeS5kaXYse3N0eWxlOntkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4iLGdhcDo4fSxpbml0aWFsOntvcGFjaXR5OjAseTotNn0sYW5pbWF0ZTp7b3BhY2l0eToxLHk6MH0sdHJhbnNpdGlvbjp7ZWFzZTpSfSxjaGlsZHJlbjpbcy5qc3hzKCJkaXYiLHtzdHlsZTp7ZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoic3BhY2UtYmV0d2VlbiIsbWFyZ2luQm90dG9tOjJ9LGNoaWxkcmVuOltzLmpzeCgiZGl2Iix7c3R5bGU6e2ZvbnRTaXplOjEzLGZvbnRXZWlnaHQ6NjAwLGNvbG9yOmEudGV4dH0sY2hpbGRyZW46Ik5vdGlmaWNhdGlvbnMifSkscy5qc3goImRpdiIse3N0eWxlOntkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDo2fSxjaGlsZHJlbjpzLmpzeCgiZGl2Iix7c3R5bGU6e2JhY2tncm91bmQ6YS5kYW5nZXJTb2Z0LGNvbG9yOmEuZGFuZ2VyLGZvbnRTaXplOjksZm9udFdlaWdodDo3MDAscGFkZGluZzoiMnB4IDdweCIsYm9yZGVyUmFkaXVzOjEwfSxjaGlsZHJlbjoiMiBjcml0aWNhbCJ9KX0pXX0pLHMuanN4KCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6OSxmb250V2VpZ2h0OjcwMCxjb2xvcjphLmRhbmdlcixsZXR0ZXJTcGFjaW5nOiIuNXB4Iix0ZXh0VHJhbnNmb3JtOiJ1cHBlcmNhc2UiLHBhZGRpbmc6IjAgMnB4In0sY2hpbGRyZW46IkNyaXRpY2FsIn0pLFt7SWNvbjpXZSx0aXRsZToiU3VzcGljaW91cyBsb2dpbiDigJQgRW1tYSdzIGFjY291bnQiLGJvZHk6Ikluc3RhZ3JhbSDCtyBNb3Njb3cg8J+Ht/Cfh7ogwrcgMDI6MzEgQU0iLHQ6IjhtIGFnbyIsdmFyaWFudDoiZGFuZ2VyIn0se0ljb246dXUsdGl0bGU6Ik1hbHdhcmUgYmxvY2tlZCDCtyBQUzUiLGJvZHk6IlRyb2phbi5HZW5lcmljS0QuNzEyMzQgwrcgU3RvcHBlZCIsdDoiNm0gYWdvIix2YXJpYW50OiJkYW5nZXIifV0ubWFwKChlLHQpPT57Y29uc3QgaT1hLmRhbmdlcjtyZXR1cm4gcy5qc3hzKHkuZGl2LHtpbml0aWFsOntvcGFjaXR5OjAseDotOH0sYW5pbWF0ZTp7b3BhY2l0eToxLHg6MH0sdHJhbnNpdGlvbjp7ZGVsYXk6dCouMDcsZWFzZTpSfSxzdHlsZTp7Li4uTSxkaXNwbGF5OiJmbGV4IixnYXA6MTAsY3Vyc29yOiJwb2ludGVyIixib3JkZXJDb2xvcjppKyI1NSIsYmFja2dyb3VuZDppKyIwZCIscGFkZGluZzoiMTBweCAxMnB4In0sY2hpbGRyZW46W3MuanN4KGFlLHtjb2xvcjppLGJnOmkrIjIyIixzaXplOjMyLGNoaWxkcmVuOnMuanN4KGUuSWNvbix7c2l6ZToxNSxzdHlsZTp7Y29sb3I6aX19KX0pLHMuanN4cygiZGl2Iix7c3R5bGU6e2ZsZXg6MX0sY2hpbGRyZW46W3MuanN4KCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6MTIsZm9udFdlaWdodDo2MDAsY29sb3I6YS50ZXh0fSxjaGlsZHJlbjplLnRpdGxlfSkscy5qc3goImRpdiIse3N0eWxlOntmb250U2l6ZToxMCxjb2xvcjphLm11dGVkLG1hcmdpblRvcDoyfSxjaGlsZHJlbjplLmJvZHl9KV19KSxzLmpzeHMoImRpdiIse3N0eWxlOntkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4iLGFsaWduSXRlbXM6ImZsZXgtZW5kIixnYXA6NH0sY2hpbGRyZW46W3MuanN4KCJkaXYiLHtzdHlsZTp7d2lkdGg6NyxoZWlnaHQ6Nyxib3JkZXJSYWRpdXM6IjUwJSIsYmFja2dyb3VuZDppfX0pLHMuanN4KCJzcGFuIix7c3R5bGU6e2ZvbnRTaXplOjksY29sb3I6YS5kaW19LGNoaWxkcmVuOmUudH0pXX0pXX0sZS50aXRsZSl9KSxzLmpzeCgiZGl2Iix7c3R5bGU6e2ZvbnRTaXplOjksZm9udFdlaWdodDo3MDAsY29sb3I6YS5tdXRlZCxsZXR0ZXJTcGFjaW5nOiIuNXB4Iix0ZXh0VHJhbnNmb3JtOiJ1cHBlcmNhc2UiLHBhZGRpbmc6IjAgMnB4IixtYXJnaW5Ub3A6NH0sY2hpbGRyZW46IkVhcmxpZXIifSksW3tJY29uOllpLHRpdGxlOiJFbW1hIGFycml2ZWQgYXQgU2Nob29sIixib2R5OiI4OjQyIEFNIMK3IGdlb2ZlbmNlIGVudGVyIix0OiIyaCBhZ28iLHZhcmlhbnQ6Im9rIn0se0ljb246cWksdGl0bGU6IlVuc2FmZSBXaUZpIOKAlCBWUE4gb24iLGJvZHk6IlN0YXJidWNrc19GcmVlIMK3IFNhcmFoJ3MgaVBob25lIix0OiI0aCBhZ28iLHZhcmlhbnQ6Indhcm4ifV0ubWFwKChlLHQpPT57Y29uc3Qgbj17b2s6YS5zdWNjZXNzLHdhcm46YS53YXJufVtlLnZhcmlhbnRdO3JldHVybiBzLmpzeHMoeS5kaXYse2luaXRpYWw6e29wYWNpdHk6MCx4Oi04fSxhbmltYXRlOntvcGFjaXR5OjEseDowfSx0cmFuc2l0aW9uOntkZWxheTouMit0Ki4wNyxlYXNlOlJ9LHN0eWxlOnsuLi5NLGRpc3BsYXk6ImZsZXgiLGdhcDoxMCxjdXJzb3I6InBvaW50ZXIiLHBhZGRpbmc6IjlweCAxMnB4In0sY2hpbGRyZW46W3MuanN4KGFlLHtjb2xvcjpuLGJnOm4rIjE4IixzaXplOjMwLGNoaWxkcmVuOnMuanN4KGUuSWNvbix7c2l6ZToxNCxzdHlsZTp7Y29sb3I6bn19KX0pLHMuanN4cygiZGl2Iix7c3R5bGU6e2ZsZXg6MX0sY2hpbGRyZW46W3MuanN4KCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6MTEsY29sb3I6YS50ZXh0fSxjaGlsZHJlbjplLnRpdGxlfSkscy5qc3goImRpdiIse3N0eWxlOntmb250U2l6ZToxMCxjb2xvcjphLm11dGVkLG1hcmdpblRvcDoxfSxjaGlsZHJlbjplLmJvZHl9KV19KSxzLmpzeCgic3BhbiIse3N0eWxlOntmb250U2l6ZTo5LGNvbG9yOmEuZGltfSxjaGlsZHJlbjplLnR9KV19LGUudGl0bGUpfSldfSl9ZnVuY3Rpb24gVHUoKXtyZXR1cm4gcy5qc3hzKHkuZGl2LHtzdHlsZTp7ZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixnYXA6MTB9LGluaXRpYWw6e29wYWNpdHk6MCx4OjEwfSxhbmltYXRlOntvcGFjaXR5OjEseDowfSx0cmFuc2l0aW9uOntlYXNlOlJ9LGNoaWxkcmVuOltzLmpzeHMoeS5kaXYse3N0eWxlOnsuLi5NLGJhY2tncm91bmQ6YS5kYW5nZXJTb2Z0LGJvcmRlckNvbG9yOmEuZGFuZ2VyKyI1NSIsZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixnYXA6MTAsY3Vyc29yOiJwb2ludGVyIn0saW5pdGlhbDp7b3BhY2l0eTowLHk6LTh9LGFuaW1hdGU6e29wYWNpdHk6MSx5OjB9LHRyYW5zaXRpb246e2RlbGF5Oi4xNCwuLi5LfSxjaGlsZHJlbjpbcy5qc3goYWUse2JnOmEuZGFuZ2VyLGNvbG9yOiIjZmZmIixzaXplOjMyLGNoaWxkcmVuOnMuanN4KFdlLHtzaXplOjE1LHN0eWxlOntjb2xvcjoiI2ZmZiJ9fSl9KSxzLmpzeHMoImRpdiIse3N0eWxlOntmbGV4OjF9LGNoaWxkcmVuOltzLmpzeCgiZGl2Iix7c3R5bGU6e2ZvbnRTaXplOjEyLGZvbnRXZWlnaHQ6NjAwLGNvbG9yOmEuZGFuZ2VyfSxjaGlsZHJlbjoiQWNjb3VudCBhbGVydCDCtyBJbnZlc3RpZ2F0ZSDihpIifSkscy5qc3goImRpdiIse3N0eWxlOntmb250U2l6ZToxMCxjb2xvcjphLnRleHQyfSxjaGlsZHJlbjoiU3VzcGljaW91cyBsb2dpbiBvbiBJbnN0YWdyYW0gwrcgMDI6MzEifSldfSldfSkscy5qc3hzKHkuZGl2LHtzdHlsZTp7Li4uTSxkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDoxMn0saW5pdGlhbDp7b3BhY2l0eTowfSxhbmltYXRlOntvcGFjaXR5OjF9LHRyYW5zaXRpb246e2RlbGF5Oi4yfSxjaGlsZHJlbjpbcy5qc3hzKCJkaXYiLHtzdHlsZTp7cG9zaXRpb246InJlbGF0aXZlIn0sY2hpbGRyZW46W3MuanN4KHhyLHtrOiJFIixzaXplOjQyfSkscy5qc3goImRpdiIse3N0eWxlOntwb3NpdGlvbjoiYWJzb2x1dGUiLGJvdHRvbTotMSxyaWdodDotMSx3aWR0aDoxMCxoZWlnaHQ6MTAsYm9yZGVyUmFkaXVzOiI1MCUiLGJhY2tncm91bmQ6YS5zdWNjZXNzLGJvcmRlcjpgMS41cHggc29saWQgJHthLmJnfWB9fSldfSkscy5qc3hzKCJkaXYiLHtzdHlsZTp7ZmxleDoxfSxjaGlsZHJlbjpbcy5qc3goImRpdiIse3N0eWxlOntmb250U2l6ZToxMyxmb250V2VpZ2h0OjYwMCxjb2xvcjphLnRleHR9LGNoaWxkcmVuOiJFbW1hIEh1Z2hlcyJ9KSxzLmpzeCgiZGl2Iix7c3R5bGU6e2ZvbnRTaXplOjEwLGNvbG9yOmEubXV0ZWR9LGNoaWxkcmVuOiJBZ2UgMTQgwrcgVGVlbiBmaWx0ZXIgwrcgaVBob25lIDE0In0pLHMuanN4cygiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsZ2FwOjUsbWFyZ2luVG9wOjR9LGNoaWxkcmVuOltzLmpzeChZaSx7c2l6ZToxMCxzdHlsZTp7Y29sb3I6YS5hY2NlbnR9fSkscy5qc3goInNwYW4iLHtzdHlsZTp7Zm9udFNpemU6MTAsY29sb3I6YS5hY2NlbnR9LGNoaWxkcmVuOiJTY2hvb2wgwrcgc2luY2UgODo0MiBBTSJ9KV19KV19KSxzLmpzeChwZSx7bGFiZWw6Ik9ubGluZSIsdmFyaWFudDoib2sifSldfSkscy5qc3hzKHkuZGl2LHtzdHlsZTpNLGluaXRpYWw6e29wYWNpdHk6MH0sYW5pbWF0ZTp7b3BhY2l0eToxfSx0cmFuc2l0aW9uOntkZWxheTouMjZ9LGNoaWxkcmVuOltzLmpzeHMoImRpdiIse3N0eWxlOntkaXNwbGF5OiJmbGV4IixqdXN0aWZ5Q29udGVudDoic3BhY2UtYmV0d2VlbiIsbWFyZ2luQm90dG9tOjZ9LGNoaWxkcmVuOltzLmpzeCgic3BhbiIse3N0eWxlOntmb250U2l6ZToxMSxjb2xvcjphLm11dGVkfSxjaGlsZHJlbjoiU2NyZWVuIHRpbWUgdG9kYXkifSkscy5qc3goInNwYW4iLHtzdHlsZTp7Zm9udFNpemU6MTEsZm9udFdlaWdodDo1MDAsY29sb3I6YS53YXJufSxjaGlsZHJlbjoiMmggNDdtIC8gNGgifSldfSkscy5qc3goImRpdiIse3N0eWxlOntoZWlnaHQ6NSxiYWNrZ3JvdW5kOmEuc3VyZmFjZTMsYm9yZGVyUmFkaXVzOjMsb3ZlcmZsb3c6ImhpZGRlbiIsbWFyZ2luQm90dG9tOjZ9LGNoaWxkcmVuOnMuanN4KHkuZGl2LHtpbml0aWFsOnt3aWR0aDowfSxhbmltYXRlOnt3aWR0aDoiNjklIn0sdHJhbnNpdGlvbjp7ZHVyYXRpb246MSxkZWxheTouNCxlYXNlOlJ9LHN0eWxlOntoZWlnaHQ6IjEwMCUiLGJhY2tncm91bmQ6YS53YXJuLGJvcmRlclJhZGl1czozfX0pfSkscy5qc3goImRpdiIse3N0eWxlOntkaXNwbGF5OiJmbGV4IixnYXA6OH0sY2hpbGRyZW46W3thcHA6IlRpa1RvayIsdDoiMWggMTJtIixjOmEuZGFuZ2VyfSx7YXBwOiJZb3VUdWJlIix0OiI0OG0iLGM6YS53YXJufSx7YXBwOiJTbmFwY2hhdCIsdDoiMzFtIixjOmEuYWNjZW50fV0ubWFwKGU9PnMuanN4cygiZGl2Iix7c3R5bGU6e2ZvbnRTaXplOjksY29sb3I6ZS5jfSxjaGlsZHJlbjpbZS5hcHAsIiAiLGUudF19LGUuYXBwKSl9KV19KSxzLmpzeCh5LmRpdix7c3R5bGU6ey4uLk0scGFkZGluZzoiNHB4IDE0cHgifSxpbml0aWFsOntvcGFjaXR5OjB9LGFuaW1hdGU6e29wYWNpdHk6MX0sdHJhbnNpdGlvbjp7ZGVsYXk6LjN9LGNoaWxkcmVuOlt7aWNvbjpzLmpzeCh6ZSx7c2l6ZToxNCxzdHlsZTp7Y29sb3I6YS5hY2NlbnR9fSksbGFiZWw6ImlQaG9uZSAxNCIsc3ViOiJPbmxpbmUgwrcgaU9TIDE3LjQiLG9rOiEwfSx7aWNvbjpzLmpzeChkZSx7c2l6ZToxNCxzdHlsZTp7Y29sb3I6YS5tdXRlZH19KSxsYWJlbDoiTWFjQm9vayBBaXIiLHN1YjoiQXQgaG9tZSDCtyBPZmYiLG9rOiExfV0ubWFwKChlLHQpPT5zLmpzeHMoImRpdiIse3N0eWxlOntkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDoxMCxwYWRkaW5nOiI3cHggMCIsYm9yZGVyVG9wOnQ9PT0wPyJub25lIjpgMXB4IHNvbGlkICR7YS5ib3JkZXJ9YH0sY2hpbGRyZW46W3MuanN4KGFlLHtiZzphLnN1cmZhY2UzLHNpemU6MjgsY2hpbGRyZW46ZS5pY29ufSkscy5qc3hzKCJkaXYiLHtzdHlsZTp7ZmxleDoxfSxjaGlsZHJlbjpbcy5qc3goImRpdiIse3N0eWxlOntmb250U2l6ZToxMSxjb2xvcjphLnRleHR9LGNoaWxkcmVuOmUubGFiZWx9KSxzLmpzeCgiZGl2Iix7c3R5bGU6e2ZvbnRTaXplOjksY29sb3I6YS5tdXRlZH0sY2hpbGRyZW46ZS5zdWJ9KV19KSxzLmpzeChwZSx7bGFiZWw6ZS5vaz8iT25saW5lIjoiT2ZmIix2YXJpYW50OmUub2s/Im9rIjoib2ZmIn0pXX0sZS5sYWJlbCkpfSldfSl9ZnVuY3Rpb24gUHUoKXtjb25zdCBlPXtub3JtYWw6YS5zdWNjZXNzLGluZm86YS5tdXRlZCxhbm9tYWx5OmEuZGFuZ2VyLGJsb2NrZWQ6YS53YXJufTtyZXR1cm4gcy5qc3hzKHkuZGl2LHtpbml0aWFsOntvcGFjaXR5OjB9LGFuaW1hdGU6e29wYWNpdHk6MX0sY2hpbGRyZW46W3MuanN4cygiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6InNwYWNlLWJldHdlZW4iLG1hcmdpbkJvdHRvbToxMn0sY2hpbGRyZW46W3MuanN4KCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6MTAsZm9udFdlaWdodDo3MDAsY29sb3I6YS5tdXRlZCxsZXR0ZXJTcGFjaW5nOiIuNXB4Iix0ZXh0VHJhbnNmb3JtOiJ1cHBlcmNhc2UifSxjaGlsZHJlbjoiRXZlbnQgVGltZWxpbmUgwrcgRW1tYSJ9KSxzLmpzeCgiZGl2Iix7c3R5bGU6e2ZvbnRTaXplOjksY29sb3I6YS5kaW19LGNoaWxkcmVuOiJKdW4gMjjigJMyOSJ9KV19KSxzLmpzeHMoImRpdiIse3N0eWxlOntwb3NpdGlvbjoicmVsYXRpdmUiLHBhZGRpbmdMZWZ0OjIyfSxjaGlsZHJlbjpbcy5qc3goImRpdiIse3N0eWxlOntwb3NpdGlvbjoiYWJzb2x1dGUiLGxlZnQ6NSx0b3A6OCxib3R0b206OCx3aWR0aDoxLGJhY2tncm91bmQ6YGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICR7YS5ib3JkZXJ9LCAke2EuZGltfSwgJHthLmJvcmRlcn0pYH19KSxtdS5tYXAoKHQsaSk9Pntjb25zdCBuPXQua2luZD09PSJhbm9tYWx5IjtyZXR1cm4gcy5qc3hzKHkuZGl2LHtpbml0aWFsOntvcGFjaXR5OjAseDotOH0sYW5pbWF0ZTp7b3BhY2l0eToxLHg6MH0sdHJhbnNpdGlvbjp7ZGVsYXk6aSouMDksZWFzZTpSfSxzdHlsZTp7cG9zaXRpb246InJlbGF0aXZlIixtYXJnaW5Cb3R0b206MTR9LGNoaWxkcmVuOltzLmpzeCh5LmRpdix7YW5pbWF0ZTpuP3tzY2FsZTpbMSwxLjMsMV0sb3BhY2l0eTpbMSwuNywxXX06e30sdHJhbnNpdGlvbjp7ZHVyYXRpb246MS41LHJlcGVhdDpuPzEvMDowfSxzdHlsZTp7cG9zaXRpb246ImFic29sdXRlIixsZWZ0Oi0yMix0b3A6NCx3aWR0aDoxMSxoZWlnaHQ6MTEsYm9yZGVyUmFkaXVzOiI1MCUiLGJhY2tncm91bmQ6ZVt0LmtpbmRdPz9hLm11dGVkLGJvcmRlcjpgMnB4IHNvbGlkICR7YS5iZ31gLGJveFNoYWRvdzpuP2AwIDAgMCAzcHggJHthLmRhbmdlcn0zM2A6Im5vbmUifX0pLHMuanN4KCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6OSxjb2xvcjphLmRpbSxmb250V2VpZ2h0OjcwMCxtYXJnaW5Cb3R0b206MixsZXR0ZXJTcGFjaW5nOiIuM3B4In0sY2hpbGRyZW46dC50aW1lfSkscy5qc3hzKCJkaXYiLHtzdHlsZTp7Li4ubj97Li4uTSxiYWNrZ3JvdW5kOmEuZGFuZ2VyU29mdCxib3JkZXJDb2xvcjphLmRhbmdlcisiNDQiLHBhZGRpbmc6IjZweCAxMHB4Iixib3JkZXJSYWRpdXM6MTB9Ont9fSxjaGlsZHJlbjpbcy5qc3goImRpdiIse3N0eWxlOntmb250U2l6ZToxMSxmb250V2VpZ2h0Om4/NzAwOjQwMCxjb2xvcjpuP2EuZGFuZ2VyOnQua2luZD09PSJibG9ja2VkIj9hLndhcm46YS50ZXh0fSxjaGlsZHJlbjp0LmxhYmVsfSkscy5qc3goImRpdiIse3N0eWxlOntmb250U2l6ZToxMCxjb2xvcjphLm11dGVkLGxpbmVIZWlnaHQ6MS41LG1hcmdpblRvcDpuPzI6MX0sY2hpbGRyZW46dC5kZXRhaWx9KV19KV19LHQuaWQpfSldfSldfSl9ZnVuY3Rpb24gQXUoKXtjb25zdCB0PTIqTWF0aC5QSSoyODtyZXR1cm4gcy5qc3hzKHkuZGl2LHtzdHlsZTp7ZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixnYXA6MTB9LGluaXRpYWw6e29wYWNpdHk6MH0sYW5pbWF0ZTp7b3BhY2l0eToxfSxjaGlsZHJlbjpbcy5qc3hzKHkuZGl2LHtzdHlsZTp7Li4uTSxiYWNrZ3JvdW5kOmEuZGFuZ2VyU29mdCxib3JkZXJDb2xvcjphLmRhbmdlcisiNjYifSxpbml0aWFsOntvcGFjaXR5OjAsc2NhbGU6Ljk3fSxhbmltYXRlOntvcGFjaXR5OjEsc2NhbGU6MX0sdHJhbnNpdGlvbjpLLGNoaWxkcmVuOltzLmpzeHMoImRpdiIse3N0eWxlOntkaXNwbGF5OiJmbGV4IixnYXA6MTAsYWxpZ25JdGVtczoiZmxleC1zdGFydCJ9LGNoaWxkcmVuOltzLmpzeHMoImRpdiIse3N0eWxlOntmbGV4OjF9LGNoaWxkcmVuOltzLmpzeCgiZGl2Iix7c3R5bGU6e2ZvbnRTaXplOjEwLGNvbG9yOmEubXV0ZWQsbWFyZ2luQm90dG9tOjR9LGNoaWxkcmVuOiJJUCBJbnRlbGxpZ2VuY2UifSkscy5qc3goImRpdiIse3N0eWxlOntmb250U2l6ZToxNSxmb250V2VpZ2h0OjcwMCxjb2xvcjphLmRhbmdlcixmb250RmFtaWx5OiInVWJ1bnR1IE1vbm8nLCBtb25vc3BhY2UifSxjaGlsZHJlbjoiNzcuODguNTUuMjQ0In0pLHMuanN4KCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6MTAsY29sb3I6YS50ZXh0MixtYXJnaW5Ub3A6M30sY2hpbGRyZW46IllhbmRleCBMTEMgwrcgTW9zY293IPCfh7fwn4e6IMK3IEFTMjA4MzEyIn0pXX0pLHMuanN4cygiZGl2Iix7c3R5bGU6e3Bvc2l0aW9uOiJyZWxhdGl2ZSIsd2lkdGg6NjQsaGVpZ2h0OjY0fSxjaGlsZHJlbjpbcy5qc3hzKCJzdmciLHt3aWR0aDoiNjQiLGhlaWdodDoiNjQiLHZpZXdCb3g6IjAgMCA2NCA2NCIsc3R5bGU6e3RyYW5zZm9ybToicm90YXRlKC05MGRlZykifSxjaGlsZHJlbjpbcy5qc3goImNpcmNsZSIse2N4OiIzMiIsY3k6IjMyIixyOiIyOCIsZmlsbDoibm9uZSIsc3Ryb2tlOmEuc3VyZmFjZTMsc3Ryb2tlV2lkdGg6IjUiLHN0cm9rZUxpbmVjYXA6InJvdW5kIn0pLHMuanN4KHkuY2lyY2xlLHtjeDoiMzIiLGN5OiIzMiIscjoiMjgiLGZpbGw6Im5vbmUiLHN0cm9rZTphLmRhbmdlcixzdHJva2VXaWR0aDoiNSIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZURhc2hhcnJheTp0LGluaXRpYWw6e3N0cm9rZURhc2hvZmZzZXQ6dH0sYW5pbWF0ZTp7c3Ryb2tlRGFzaG9mZnNldDp0LXQqOTQvMTAwfSx0cmFuc2l0aW9uOntkdXJhdGlvbjoxLjIsZGVsYXk6LjMsZWFzZTpSfX0pXX0pLHMuanN4cygiZGl2Iix7c3R5bGU6e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsaW5zZXQ6MCxkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4iLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciJ9LGNoaWxkcmVuOltzLmpzeCgiZGl2Iix7c3R5bGU6e2ZvbnRTaXplOjEzLGZvbnRXZWlnaHQ6ODAwLGNvbG9yOmEuZGFuZ2VyfSxjaGlsZHJlbjoiOS40In0pLHMuanN4KCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6OCxjb2xvcjphLmRpbX0sY2hpbGRyZW46InJpc2sifSldfSldfSldfSkscy5qc3goImRpdiIse3N0eWxlOntkaXNwbGF5OiJmbGV4IixnYXA6NSxmbGV4V3JhcDoid3JhcCIsbWFyZ2luVG9wOjEwfSxjaGlsZHJlbjpbIkNyZWRlbnRpYWwgc3R1ZmZpbmciLCJCb3RuZXQgQyZDIiwiVG9yIGV4aXQiLCJCcnV0ZSBmb3JjZSJdLm1hcChpPT5zLmpzeCgic3BhbiIse3N0eWxlOntmb250U2l6ZTo5LHBhZGRpbmc6IjJweCA3cHgiLGJvcmRlclJhZGl1czo2LGJhY2tncm91bmQ6YS5kYW5nZXJTb2Z0LGNvbG9yOmEuZGFuZ2VyLGZvbnRXZWlnaHQ6NTAwfSxjaGlsZHJlbjppfSxpKSl9KV19KSxzLmpzeCgiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImdyaWQiLGdyaWRUZW1wbGF0ZUNvbHVtbnM6IjFmciAxZnIiLGdhcDo3fSxjaGlsZHJlbjpbe2xhYmVsOiJBYnVzZSByZXBvcnRzIix2YWx1ZToiOTQiLGNvbG9yOmEuZGFuZ2VyfSx7bGFiZWw6IkNvdW50cmllcyBoaXQiLHZhbHVlOiIzNyIsY29sb3I6YS53YXJufSx7bGFiZWw6IlZpY3RpbXMgbGlua2VkIix2YWx1ZToiMyw0MDArIixjb2xvcjphLndhcm59LHtsYWJlbDoiQWN0aXZlIHNpbmNlIix2YWx1ZToiTm92IDIwMjQiLGNvbG9yOmEudGV4dDJ9XS5tYXAoKGksbik9PnMuanN4cyh5LmRpdix7aW5pdGlhbDp7b3BhY2l0eTowLHk6NX0sYW5pbWF0ZTp7b3BhY2l0eToxLHk6MH0sdHJhbnNpdGlvbjp7ZGVsYXk6LjE1K24qLjA1fSxzdHlsZTp7Li4uTSxwYWRkaW5nOiI4cHggMTBweCJ9LGNoaWxkcmVuOltzLmpzeCgiZGl2Iix7c3R5bGU6e2ZvbnRTaXplOjksY29sb3I6YS5tdXRlZCxmb250V2VpZ2h0OjYwMCx0ZXh0VHJhbnNmb3JtOiJ1cHBlcmNhc2UiLGxldHRlclNwYWNpbmc6Ii40cHgifSxjaGlsZHJlbjppLmxhYmVsfSkscy5qc3goImRpdiIse3N0eWxlOntmb250U2l6ZToxNCxmb250V2VpZ2h0OjcwMCxjb2xvcjppLmNvbG9yLG1hcmdpblRvcDozfSxjaGlsZHJlbjppLnZhbHVlfSldfSxpLmxhYmVsKSl9KSxzLmpzeHMoeS5kaXYse3N0eWxlOnsuLi5NLGZvbnRTaXplOjExLGNvbG9yOmEudGV4dDIsbGluZUhlaWdodDoxLjZ9LGluaXRpYWw6e29wYWNpdHk6MH0sYW5pbWF0ZTp7b3BhY2l0eToxfSx0cmFuc2l0aW9uOntkZWxheTouMzV9LGNoaWxkcmVuOltzLmpzeCgic3BhbiIse3N0eWxlOntjb2xvcjphLmRhbmdlcixmb250V2VpZ2h0OjYwMH0sY2hpbGRyZW46IkxpbmtlZCB0bzoifSksIiBJbnN0YWdyYW0gY3JlZGVudGlhbCBzdHVmZmluZyBjYW1wYWlnbiDigJQgMyw0MDArIHZpY3RpbXMgZ2xvYmFsbHksIG9uZ29pbmcgc2luY2UgTm92IDIwMjQuIl19KSxzLmpzeChhdCx7Y29sb3I6YS5kYW5nZXIsY2hpbGRyZW46IkJsb2NrIHRoaXMgSVAgYWNyb3NzIGFsbCBkZXZpY2VzIOKGkiJ9KV19KX1mdW5jdGlvbiBrdSgpe3JldHVybiBzLmpzeHMoeS5kaXYse3N0eWxlOntkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4iLGdhcDoxMH0saW5pdGlhbDp7b3BhY2l0eTowfSxhbmltYXRlOntvcGFjaXR5OjF9LGNoaWxkcmVuOltzLmpzeCgiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGdhcDo4fSxjaGlsZHJlbjpbe246MSxsYWJlbDoiQWNjb3VudCBhZmZlY3RlZCIsY29sb3I6YS5kYW5nZXIsc3ViOiJFbW1hJ3MgSW5zdGFncmFtIn0se246MCxsYWJlbDoiRGV2aWNlcyBhZmZlY3RlZCIsY29sb3I6YS5zdWNjZXNzLHN1YjoiMTIvMTIgc2FmZSJ9XS5tYXAoKGUsdCk9PnMuanN4cyh5LmRpdix7aW5pdGlhbDp7b3BhY2l0eTowLHNjYWxlOi45NX0sYW5pbWF0ZTp7b3BhY2l0eToxLHNjYWxlOjF9LHRyYW5zaXRpb246e2RlbGF5OnQqLjEsLi4uS30sc3R5bGU6ey4uLk0sZmxleDoxLHRleHRBbGlnbjoiY2VudGVyIixwYWRkaW5nOiIxMnB4IDhweCIsYm9yZGVyQ29sb3I6ZS5uPjA/YS5kYW5nZXIrIjQ0IjphLmJvcmRlcixiYWNrZ3JvdW5kOmUubj4wP2EuZGFuZ2VyU29mdDphLnN1cmZhY2UyfSxjaGlsZHJlbjpbcy5qc3goImRpdiIse3N0eWxlOntmb250U2l6ZToyMixmb250V2VpZ2h0OjMwMCxjb2xvcjplLmNvbG9yfSxjaGlsZHJlbjpzLmpzeChsdCx7dG86ZS5uLGRlbGF5OjIwMH0pfSkscy5qc3goImRpdiIse3N0eWxlOntmb250U2l6ZToxMCxjb2xvcjphLm11dGVkLG1hcmdpblRvcDoyfSxjaGlsZHJlbjplLmxhYmVsfSkscy5qc3goImRpdiIse3N0eWxlOntmb250U2l6ZTo5LGNvbG9yOmUubj4wP2EuZGFuZ2VyOmEuc3VjY2VzcyxtYXJnaW5Ub3A6Mn0sY2hpbGRyZW46ZS5zdWJ9KV19LGUubGFiZWwpKX0pLHMuanN4cygiZGl2Iix7c3R5bGU6TSxjaGlsZHJlbjpbcy5qc3goImRpdiIse3N0eWxlOntmb250U2l6ZToxMCxmb250V2VpZ2h0OjcwMCxjb2xvcjphLndhcm4sdGV4dFRyYW5zZm9ybToidXBwZXJjYXNlIixsZXR0ZXJTcGFjaW5nOiIuNHB4IixtYXJnaW5Cb3R0b206OH0sY2hpbGRyZW46IkFjdGlvbnMgcmVxdWlyZWQifSksW3tsYWJlbDoiRm9yY2UgSW5zdGFncmFtIHBhc3N3b3JkIHJlc2V0Iix1cmdlbmN5OiJOb3ciLGNvbG9yOmEuZGFuZ2VyfSx7bGFiZWw6IkVuYWJsZSB0d28tZmFjdG9yIGF1dGhlbnRpY2F0aW9uIix1cmdlbmN5OiI1IG1pbiIsY29sb3I6YS53YXJufSx7bGFiZWw6IlJldmlldyBjb25uZWN0ZWQgdGhpcmQtcGFydHkgYXBwcyIsdXJnZW5jeToiMTAgbWluIixjb2xvcjphLmFjY2VudH1dLm1hcCgoZSx0KT0+cy5qc3hzKHkuZGl2LHtpbml0aWFsOntvcGFjaXR5OjAseDotNX0sYW5pbWF0ZTp7b3BhY2l0eToxLHg6MH0sdHJhbnNpdGlvbjp7ZGVsYXk6LjE1K3QqLjA4fSxzdHlsZTp7ZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixnYXA6MTAscGFkZGluZzoiOHB4IDAiLGJvcmRlclRvcDp0PT09MD8ibm9uZSI6YDFweCBzb2xpZCAke2EuYm9yZGVyfWB9LGNoaWxkcmVuOltzLmpzeCgiZGl2Iix7c3R5bGU6e3dpZHRoOjQsaGVpZ2h0OjMyLGJvcmRlclJhZGl1czoyLGJhY2tncm91bmQ6ZS5jb2xvcixmbGV4U2hyaW5rOjB9fSkscy5qc3goImRpdiIse3N0eWxlOntmbGV4OjEsZm9udFNpemU6MTEsY29sb3I6YS50ZXh0fSxjaGlsZHJlbjplLmxhYmVsfSkscy5qc3goInNwYW4iLHtzdHlsZTp7Zm9udFNpemU6OSxjb2xvcjplLmNvbG9yLGZvbnRXZWlnaHQ6NzAwfSxjaGlsZHJlbjplLnVyZ2VuY3l9KV19LGUubGFiZWwpKV19KSxzLmpzeChhdCx7Y2hpbGRyZW46IlRha2UgYWN0aW9uIG5vdyDihpIifSldfSl9ZnVuY3Rpb24gQ3UoKXtyZXR1cm4gcy5qc3hzKHkuZGl2LHtzdHlsZTp7ZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixnYXA6OH0saW5pdGlhbDp7b3BhY2l0eTowfSxhbmltYXRlOntvcGFjaXR5OjF9LGNoaWxkcmVuOltzLmpzeHMoImRpdiIse3N0eWxlOntkaXNwbGF5OiJmbGV4IixqdXN0aWZ5Q29udGVudDoic3BhY2UtYmV0d2VlbiIsYWxpZ25JdGVtczoiY2VudGVyIixtYXJnaW5Cb3R0b206Mn0sY2hpbGRyZW46W3MuanN4KCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6MTMsZm9udFdlaWdodDo2MDAsY29sb3I6YS50ZXh0fSxjaGlsZHJlbjoiSG9tZSBkZXZpY2VzIn0pLHMuanN4KCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6MTAsY29sb3I6YS53YXJufSxjaGlsZHJlbjoiMSBuZWVkcyBhdHRlbnRpb24ifSldfSkscy5qc3goImRpdiIse3N0eWxlOnsuLi5NLHBhZGRpbmc6IjRweCAxNHB4In0sY2hpbGRyZW46W3tJY29uOnplLG5hbWU6IlNhcmFoJ3MgaVBob25lIDE1IFBybyIsc3ViOiJpT1MgMTcuNCDCtyBPbmxpbmUiLHZhcmlhbnQ6Im9rIixzY29yZToxMDB9LHtJY29uOmRlLG5hbWU6Ik1hcmsncyBNYWNCb29rIFBybyIsc3ViOiJtYWNPUyAxNC40IMK3IE9ubGluZSIsdmFyaWFudDoib2siLHNjb3JlOjk4fSx7SWNvbjpMZSxuYW1lOiJQbGF5U3RhdGlvbiA1IixzdWI6IkZXIDIzLjAyIMK3IElzb2xhdGVkIix2YXJpYW50OiJ3YXJuIixzY29yZTo3Mn0se0ljb246WGksbmFtZTonU2Ftc3VuZyA2NSIgU21hcnQgVFYnLHN1YjoiVGl6ZW4gNy4wIMK3IE9ubGluZSIsdmFyaWFudDoib2siLHNjb3JlOjk1fSx7SWNvbjp3ZSxuYW1lOiJIUCBMYXNlckpldCBQcm8iLHN1YjoiRlcgMjIuNSDCtyBDVkUtMjAyNC04NDcxIix2YXJpYW50OiJ3YXJuIixzY29yZTo2MX0se0ljb246WmksbmFtZToiTmVzdCBDYW0gKEZyb250IERvb3IpIixzdWI6IkZXIDMuNS4yIMK3IE9ubGluZSIsdmFyaWFudDoib2siLHNjb3JlOjk3fV0ubWFwKChlLHQpPT5zLmpzeHMoeS5kaXYse2luaXRpYWw6e29wYWNpdHk6MH0sYW5pbWF0ZTp7b3BhY2l0eToxfSx0cmFuc2l0aW9uOntkZWxheTp0Ki4wNn0sc3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsZ2FwOjEwLHBhZGRpbmc6IjlweCAwIixib3JkZXJUb3A6dD09PTA/Im5vbmUiOmAxcHggc29saWQgJHthLmJvcmRlcn1gLGN1cnNvcjoicG9pbnRlciJ9LGNoaWxkcmVuOltzLmpzeChhZSx7Ymc6ZS52YXJpYW50PT09Indhcm4iP2Eud2FyblNvZnQ6YS5zdXJmYWNlMyxzaXplOjMyLGNoaWxkcmVuOnMuanN4KGUuSWNvbix7c2l6ZToxNixzdHlsZTp7Y29sb3I6ZS52YXJpYW50PT09Indhcm4iP2Eud2FybjphLnRleHQyfX0pfSkscy5qc3hzKCJkaXYiLHtzdHlsZTp7ZmxleDoxfSxjaGlsZHJlbjpbcy5qc3goImRpdiIse3N0eWxlOntmb250U2l6ZToxMixjb2xvcjphLnRleHR9LGNoaWxkcmVuOmUubmFtZX0pLHMuanN4KCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6OSxjb2xvcjphLm11dGVkfSxjaGlsZHJlbjplLnN1Yn0pXX0pLHMuanN4cygiZGl2Iix7c3R5bGU6e3RleHRBbGlnbjoicmlnaHQifSxjaGlsZHJlbjpbcy5qc3goImRpdiIse3N0eWxlOntmb250U2l6ZToxMSxmb250V2VpZ2h0OjcwMCxjb2xvcjplLnNjb3JlPj05MD9hLnN1Y2Nlc3M6ZS5zY29yZT49NzU/YS5hY2NlbnQ6YS53YXJufSxjaGlsZHJlbjplLnNjb3JlfSkscy5qc3goImRpdiIse3N0eWxlOntmb250U2l6ZTo4LGNvbG9yOmEuZGltfSxjaGlsZHJlbjoic2NvcmUifSldfSldfSxlLm5hbWUpKX0pXX0pfWZ1bmN0aW9uIE11KCl7cmV0dXJuIHMuanN4cyh5LmRpdix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGZsZXhEaXJlY3Rpb246ImNvbHVtbiIsZ2FwOjEwfSxpbml0aWFsOntvcGFjaXR5OjB9LGFuaW1hdGU6e29wYWNpdHk6MX0sY2hpbGRyZW46W3MuanN4cyh5LmRpdix7c3R5bGU6ey4uLk0sYmFja2dyb3VuZDphLndhcm5Tb2Z0LGJvcmRlckNvbG9yOmEud2FybisiNjYifSxpbml0aWFsOntvcGFjaXR5OjAsc2NhbGU6Ljk3fSxhbmltYXRlOntvcGFjaXR5OjEsc2NhbGU6MX0sdHJhbnNpdGlvbjpLLGNoaWxkcmVuOltzLmpzeHMoImRpdiIse3N0eWxlOntkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDoxMCxtYXJnaW5Cb3R0b206MTJ9LGNoaWxkcmVuOltzLmpzeChhZSx7Ymc6YS53YXJuU29mdCxjb2xvcjphLndhcm4sc2l6ZTo0MCxjaGlsZHJlbjpzLmpzeCh3ZSx7c2l6ZToyMCxzdHlsZTp7Y29sb3I6YS53YXJufX0pfSkscy5qc3hzKCJkaXYiLHtjaGlsZHJlbjpbcy5qc3goImRpdiIse3N0eWxlOntmb250U2l6ZToxMyxmb250V2VpZ2h0OjYwMCxjb2xvcjphLnRleHR9LGNoaWxkcmVuOiJIUCBMYXNlckpldCBQcm8ifSkscy5qc3goImRpdiIse3N0eWxlOntmb250U2l6ZToxMCxjb2xvcjphLm11dGVkfSxjaGlsZHJlbjoiRmlybXdhcmUgMjIuNSDCtyBQb3J0IDkxMDAifSldfSkscy5qc3goImRpdiIse3N0eWxlOnttYXJnaW5MZWZ0OiJhdXRvIn0sY2hpbGRyZW46cy5qc3gocGUse2xhYmVsOiJIaWdoIix2YXJpYW50OiJ3YXJuIn0pfSldfSkscy5qc3hzKCJkaXYiLHtzdHlsZTp7YmFja2dyb3VuZDoicmdiYSgwLDAsMCwuMTgpIixib3JkZXJSYWRpdXM6OCxwYWRkaW5nOiI3cHggMTBweCIsbWFyZ2luQm90dG9tOjEwfSxjaGlsZHJlbjpbcy5qc3goImRpdiIse3N0eWxlOntmb250U2l6ZTo5LGNvbG9yOmEubXV0ZWQsbWFyZ2luQm90dG9tOjJ9LGNoaWxkcmVuOiJWVUxORVJBQklMSVRZIn0pLHMuanN4KCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6MTIsZm9udFdlaWdodDo3MDAsY29sb3I6YS53YXJuLGZvbnRGYW1pbHk6IidVYnVudHUgTW9ubycsIG1vbm9zcGFjZSJ9LGNoaWxkcmVuOiJDVkUtMjAyNC04NDcxIn0pLHMuanN4KCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6MTAsY29sb3I6YS50ZXh0MixtYXJnaW5Ub3A6Mn0sY2hpbGRyZW46IlJlbW90ZSBjb2RlIGV4ZWN1dGlvbiB2aWEgcHJpbnQgcG9ydCA5MTAwIn0pXX0pLHMuanN4KCJkaXYiLHtzdHlsZTp7ZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixnYXA6MTJ9LGNoaWxkcmVuOnMuanN4cygiZGl2Iix7c3R5bGU6e2ZsZXg6MX0sY2hpbGRyZW46W3MuanN4cygiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGp1c3RpZnlDb250ZW50OiJzcGFjZS1iZXR3ZWVuIixtYXJnaW5Cb3R0b206NH0sY2hpbGRyZW46W3MuanN4KCJzcGFuIix7c3R5bGU6e2ZvbnRTaXplOjksY29sb3I6YS5tdXRlZCxmb250V2VpZ2h0OjYwMCx0ZXh0VHJhbnNmb3JtOiJ1cHBlcmNhc2UiLGxldHRlclNwYWNpbmc6Ii40cHgifSxjaGlsZHJlbjoiQ1ZTUyB2MyJ9KSxzLmpzeCgic3BhbiIse3N0eWxlOntmb250U2l6ZToxMixmb250V2VpZ2h0OjcwMCxjb2xvcjphLndhcm59LGNoaWxkcmVuOiI3LjggLyAxMCJ9KV19KSxzLmpzeCgiZGl2Iix7c3R5bGU6e2hlaWdodDo1LGJhY2tncm91bmQ6YS5zdXJmYWNlMyxib3JkZXJSYWRpdXM6MyxvdmVyZmxvdzoiaGlkZGVuIn0sY2hpbGRyZW46cy5qc3goeS5kaXYse2luaXRpYWw6e3dpZHRoOjB9LGFuaW1hdGU6e3dpZHRoOiI3OCUifSx0cmFuc2l0aW9uOntkdXJhdGlvbjoxLjEsZGVsYXk6LjMsZWFzZTpSfSxzdHlsZTp7aGVpZ2h0OiIxMDAlIixiYWNrZ3JvdW5kOmBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICR7YS5hY2NlbnR9LCAke2Eud2Fybn0pYCxib3JkZXJSYWRpdXM6M319KX0pXX0pfSldfSkscy5qc3hzKHkuZGl2LHtzdHlsZTpNLGluaXRpYWw6e29wYWNpdHk6MCx5OjV9LGFuaW1hdGU6e29wYWNpdHk6MSx5OjB9LHRyYW5zaXRpb246e2RlbGF5Oi4xNX0sY2hpbGRyZW46W3MuanN4KCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6MTAsY29sb3I6YS5tdXRlZCxmb250V2VpZ2h0OjYwMCx0ZXh0VHJhbnNmb3JtOiJ1cHBlcmNhc2UiLGxldHRlclNwYWNpbmc6Ii40cHgiLG1hcmdpbkJvdHRvbTo4fSxjaGlsZHJlbjoiQXR0YWNrIHZlY3RvciJ9KSxzLmpzeCgiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsZ2FwOjZ9LGNoaWxkcmVuOltbIvCfjJAiLCJOZXR3b3JrIl0sWyLihpIiLCIiXSxbIvCflqjvuI8iLCJQb3J0IDkxMDAiXSxbIuKGkiIsIiJdLFsi8J+SgCIsIlJDRSJdXS5tYXAoKGUsdCk9PmVbMF09PT0i4oaSIj9zLmpzeCh5LnNwYW4se2luaXRpYWw6e29wYWNpdHk6MH0sYW5pbWF0ZTp7b3BhY2l0eToxfSx0cmFuc2l0aW9uOntkZWxheTouMit0Ki4wNn0sc3R5bGU6e2NvbG9yOmEuZGltLGZvbnRTaXplOjEyfSxjaGlsZHJlbjoi4oaSIn0sdCk6cy5qc3hzKHkuZGl2LHtpbml0aWFsOntvcGFjaXR5OjAsc2NhbGU6Ljh9LGFuaW1hdGU6e29wYWNpdHk6MSxzY2FsZToxfSx0cmFuc2l0aW9uOntkZWxheTouMit0Ki4wN30sc3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGZsZXhEaXJlY3Rpb246ImNvbHVtbiIsYWxpZ25JdGVtczoiY2VudGVyIixnYXA6Mn0sY2hpbGRyZW46W3MuanN4KCJzcGFuIix7c3R5bGU6e2ZvbnRTaXplOjE2fSxjaGlsZHJlbjplWzBdfSkscy5qc3goInNwYW4iLHtzdHlsZTp7Zm9udFNpemU6OCxjb2xvcjphLm11dGVkfSxjaGlsZHJlbjplWzFdfSldfSx0KSl9KV19KSxzLmpzeCh5LmRpdix7c3R5bGU6ey4uLk0scGFkZGluZzoiNHB4IDE0cHgifSxpbml0aWFsOntvcGFjaXR5OjB9LGFuaW1hdGU6e29wYWNpdHk6MX0sdHJhbnNpdGlvbjp7ZGVsYXk6LjI1fSxjaGlsZHJlbjpbe2w6IkFmZmVjdGVkIEZXIix2OiI8IDIyLjYiLGM6YS5kYW5nZXIsZmlyc3Q6ITB9LHtsOiJZb3VyIHZlcnNpb24iLHY6IjIyLjUgwrcgVnVsbmVyYWJsZSIsYzphLmRhbmdlcixmaXJzdDohMX0se2w6IkZpeCBhdmFpbGFibGUiLHY6InYyMi42LjEgwrcgUmVhZHkiLGM6YS5zdWNjZXNzLGZpcnN0OiExfSx7bDoiRG93bnRpbWUiLHY6Ik5vbmUgcmVxdWlyZWQiLGM6YS5hY2NlbnQsZmlyc3Q6ITF9XS5tYXAoZT0+cy5qc3hzKCJkaXYiLHtzdHlsZTp7ZGlzcGxheToiZmxleCIsanVzdGlmeUNvbnRlbnQ6InNwYWNlLWJldHdlZW4iLHBhZGRpbmc6IjdweCAwIixib3JkZXJUb3A6ZS5maXJzdD8ibm9uZSI6YDFweCBzb2xpZCAke2EuYm9yZGVyfWAsZm9udFNpemU6MTF9LGNoaWxkcmVuOltzLmpzeCgic3BhbiIse3N0eWxlOntjb2xvcjphLm11dGVkfSxjaGlsZHJlbjplLmx9KSxzLmpzeCgic3BhbiIse3N0eWxlOntjb2xvcjplLmMsZm9udFdlaWdodDo1MDB9LGNoaWxkcmVuOmUudn0pXX0sZS5sKSl9KSxzLmpzeChhdCx7Y29sb3I6YS53YXJuLGNoaWxkcmVuOiJVcGRhdGUgZmlybXdhcmUgbm93IOKGkiJ9KV19KX1mdW5jdGlvbiBEdSgpe2NvbnN0IGU9W3tJY29uOnplLG5hbWU6IlNhcmFoJ3MgaVBob25lIixvazohMH0se0ljb246ZGUsbmFtZToiTWFyaydzIE1hY0Jvb2siLG9rOiEwfSx7SWNvbjp6ZSxuYW1lOiJFbW1hJ3MgaVBob25lIixvazohMH0se0ljb246ZGUsbmFtZToiTWlhJ3MgaVBhZCIsb2s6ITB9LHtJY29uOkxlLG5hbWU6IlBTNSIsb2s6ITB9LHtJY29uOlhpLG5hbWU6IlNtYXJ0IFRWIixvazohMH0se0ljb246WmksbmFtZToiTmVzdCBDYW0iLG9rOiEwfSx7SWNvbjp5cixuYW1lOiJIb21lUG9kIixvazohMH0se0ljb246TGUsbmFtZToiU3dpdGNoIixvazohMH0se0ljb246d2UsbmFtZToiSHVlIEJyaWRnZSIsb2s6ITB9LHtJY29uOndlLG5hbWU6IkhQIFByaW50ZXIiLG9rOiExLHdhcm46ITB9LHtJY29uOmRlLG5hbWU6Ikd1ZXN0IExhcHRvcCIsb2s6ITF9XSxbdCxpXT14LnVzZVN0YXRlKDApO3JldHVybiB4LnVzZUVmZmVjdCgoKT0+e2NvbnN0IG49c2V0SW50ZXJ2YWwoKCk9Pmkobz0+TWF0aC5taW4obysxLGUubGVuZ3RoKSksMjgwKTtyZXR1cm4oKT0+Y2xlYXJJbnRlcnZhbChuKX0sW2UubGVuZ3RoXSkscy5qc3hzKHkuZGl2LHtzdHlsZTp7ZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixnYXA6MTB9LGluaXRpYWw6e29wYWNpdHk6MH0sYW5pbWF0ZTp7b3BhY2l0eToxfSxjaGlsZHJlbjpbcy5qc3hzKCJkaXYiLHtzdHlsZTpNLGNoaWxkcmVuOltzLmpzeHMoImRpdiIse3N0eWxlOntkaXNwbGF5OiJmbGV4IixqdXN0aWZ5Q29udGVudDoic3BhY2UtYmV0d2VlbiIsYWxpZ25JdGVtczoiY2VudGVyIixtYXJnaW5Cb3R0b206OH0sY2hpbGRyZW46W3MuanN4cygiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsZ2FwOjZ9LGNoaWxkcmVuOltzLmpzeChKaSx7Y29sb3I6YS5hY2NlbnR9KSxzLmpzeCgic3BhbiIse3N0eWxlOntmb250U2l6ZToxMixmb250V2VpZ2h0OjYwMCxjb2xvcjphLmFjY2VudH0sY2hpbGRyZW46IlNjYW5uaW5nIG5ldHdvcmvigKYifSldfSkscy5qc3hzKCJzcGFuIix7c3R5bGU6e2ZvbnRTaXplOjEwLGNvbG9yOmEubXV0ZWR9LGNoaWxkcmVuOltNYXRoLm1pbih0LDExKSwiIC8gMTIiXX0pXX0pLHMuanN4KCJkaXYiLHtzdHlsZTp7aGVpZ2h0OjQsYmFja2dyb3VuZDphLnN1cmZhY2UzLGJvcmRlclJhZGl1czoyLG92ZXJmbG93OiJoaWRkZW4ifSxjaGlsZHJlbjpzLmpzeCh5LmRpdix7YW5pbWF0ZTp7d2lkdGg6YCR7TWF0aC5taW4odCwxMSkvMTIqMTAwfSVgfSx0cmFuc2l0aW9uOntkdXJhdGlvbjouMyxlYXNlOlJ9LHN0eWxlOntoZWlnaHQ6IjEwMCUiLGJhY2tncm91bmQ6YS5hY2NlbnQsYm9yZGVyUmFkaXVzOjJ9fSl9KSxzLmpzeCgiZGl2Iix7c3R5bGU6e2ZvbnRTaXplOjEwLGNvbG9yOnQ+PTExP2Eud2FybjphLm11dGVkLG1hcmdpblRvcDo1fSxjaGlsZHJlbjp0Pj0xMT8i4pqgIDEgaXNzdWUgZm91bmQgwrcgSFAgUHJpbnRlciDCtyBDVkUtMjAyNC04NDcxIjoiQ2hlY2tpbmcgZmlybXdhcmUgdmVyc2lvbnMgYW5kIENWRSBkYXRhYmFzZeKApiJ9KV19KSxzLmpzeCgiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImdyaWQiLGdyaWRUZW1wbGF0ZUNvbHVtbnM6IjFmciAxZnIiLGdhcDo2fSxjaGlsZHJlbjplLm1hcCgobixvKT0+e2NvbnN0IGw9bzx0LHI9bi53YXJuP2Eud2FybjpuLm9rP2EuYWNjZW50OmEuZGltO3JldHVybiBzLmpzeChiZSx7Y2hpbGRyZW46bCYmcy5qc3hzKHkuZGl2LHtpbml0aWFsOntvcGFjaXR5OjAsc2NhbGU6Ljg4fSxhbmltYXRlOntvcGFjaXR5OjEsc2NhbGU6MX0sZXhpdDp7b3BhY2l0eTowfSx0cmFuc2l0aW9uOnt0eXBlOiJzcHJpbmciLHN0aWZmbmVzczo0MDAsZGFtcGluZzoyOH0sc3R5bGU6ey4uLk0scGFkZGluZzoiN3B4IDlweCIsZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixnYXA6Nixib3JkZXJDb2xvcjpuLndhcm4/YS53YXJuKyI1NSI6YS5ib3JkZXIsYmFja2dyb3VuZDpuLndhcm4/YS53YXJuU29mdDphLnN1cmZhY2UyfSxjaGlsZHJlbjpbcy5qc3gobi5JY29uLHtzaXplOjE0LHN0eWxlOntjb2xvcjpyLGZsZXhTaHJpbms6MH19KSxzLmpzeCgic3BhbiIse3N0eWxlOntmb250U2l6ZToxMCxmbGV4OjEsY29sb3I6YS50ZXh0MixvdmVyZmxvdzoiaGlkZGVuIix3aGl0ZVNwYWNlOiJub3dyYXAiLHRleHRPdmVyZmxvdzoiZWxsaXBzaXMifSxjaGlsZHJlbjpuLm5hbWV9KSxuLndhcm4/cy5qc3goV2Use3NpemU6MTEsc3R5bGU6e2NvbG9yOmEud2FybixmbGV4U2hyaW5rOjB9fSk6bi5vaz9zLmpzeChmZSx7c2l6ZToxMSxzdHlsZTp7Y29sb3I6YS5zdWNjZXNzLGZsZXhTaHJpbms6MH19KTpudWxsXX0pfSxuLm5hbWUpfSl9KV19KX1mdW5jdGlvbiBJdSgpe2NvbnN0W2UsdF09eC51c2VTdGF0ZSgwKTt4LnVzZUVmZmVjdCgoKT0+e2NvbnN0IG49WzkwMCwyMjAwLDM4MDBdLm1hcCgobyxsKT0+c2V0VGltZW91dCgoKT0+dChsKzEpLG8pKTtyZXR1cm4oKT0+bi5mb3JFYWNoKGNsZWFyVGltZW91dCl9LFtdKTtjb25zdCBpPVsiRG93bmxvYWRpbmcgdjIyLjYuMSIsIlZlcmlmeWluZyBjaGVja3N1bSIsIkFwcGx5aW5nIHBhdGNoIl07cmV0dXJuIHMuanN4cyh5LmRpdix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGZsZXhEaXJlY3Rpb246ImNvbHVtbiIsZ2FwOjEwfSxpbml0aWFsOntvcGFjaXR5OjB9LGFuaW1hdGU6e29wYWNpdHk6MX0sY2hpbGRyZW46W3MuanN4cygiZGl2Iix7c3R5bGU6TSxjaGlsZHJlbjpbcy5qc3hzKCJkaXYiLHtzdHlsZTp7ZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixnYXA6MTAsbWFyZ2luQm90dG9tOjEyfSxjaGlsZHJlbjpbcy5qc3goYWUse2JnOmU+PTM/YS5zdWNjZXNzU29mdDphLnN1cmZhY2UzLHNpemU6NDAsY2hpbGRyZW46cy5qc3god2Use3NpemU6MjAsc3R5bGU6e2NvbG9yOmU+PTM/YS5zdWNjZXNzOmEudGV4dDJ9fSl9KSxzLmpzeHMoImRpdiIse3N0eWxlOntmbGV4OjF9LGNoaWxkcmVuOltzLmpzeCgiZGl2Iix7c3R5bGU6e2ZvbnRTaXplOjEzLGZvbnRXZWlnaHQ6NjAwLGNvbG9yOmEudGV4dH0sY2hpbGRyZW46IkhQIExhc2VySmV0IFBybyJ9KSxzLmpzeCgiZGl2Iix7c3R5bGU6e2ZvbnRTaXplOjEwLGNvbG9yOmEubXV0ZWR9LGNoaWxkcmVuOmU8Mz9gRlcgMjIuNSDihpIgMjIuNi4xIMK3ICR7aVtNYXRoLm1pbihlLDIpXX1gOiJGVyAyMi42LjEgwrcgUGF0Y2ggYXBwbGllZCJ9KV19KSxzLmpzeChwZSx7bGFiZWw6ZT49Mz8iVXBkYXRlZCI6IlVwZGF0aW5n4oCmIix2YXJpYW50OmU+PTM/Im9rIjoid2FybiJ9KV19KSxzLmpzeCgiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGZsZXhEaXJlY3Rpb246ImNvbHVtbiIsZ2FwOjZ9LGNoaWxkcmVuOmkubWFwKChuLG8pPT57Y29uc3QgbD1lPm8scj1lPT09bztyZXR1cm4gcy5qc3hzKCJkaXYiLHtzdHlsZTp7ZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixnYXA6OH0sY2hpbGRyZW46W3MuanN4KCJkaXYiLHtzdHlsZTp7d2lkdGg6MTYsaGVpZ2h0OjE2LGJvcmRlclJhZGl1czoiNTAlIixmbGV4U2hyaW5rOjAsZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoiY2VudGVyIixiYWNrZ3JvdW5kOmw/YS5zdWNjZXNzU29mdDpyP2EuYWNjZW50U29mdDphLnN1cmZhY2UzfSxjaGlsZHJlbjpsP3MuanN4KGZlLHtzaXplOjEwLHN0eWxlOntjb2xvcjphLnN1Y2Nlc3N9fSk6cy5qc3goImRpdiIse3N0eWxlOnt3aWR0aDo1LGhlaWdodDo1LGJvcmRlclJhZGl1czoiNTAlIixiYWNrZ3JvdW5kOnI/YS5hY2NlbnQ6YS5kaW19fSl9KSxzLmpzeCgiZGl2Iix7c3R5bGU6e2ZsZXg6MSxoZWlnaHQ6NCxiYWNrZ3JvdW5kOmEuc3VyZmFjZTMsYm9yZGVyUmFkaXVzOjIsb3ZlcmZsb3c6ImhpZGRlbiJ9LGNoaWxkcmVuOnMuanN4KHkuZGl2LHthbmltYXRlOnt3aWR0aDpsPyIxMDAlIjpyPyI3MCUiOiIwJSJ9LHRyYW5zaXRpb246e2R1cmF0aW9uOnI/MS41Oi40LGVhc2U6ImVhc2VPdXQifSxzdHlsZTp7aGVpZ2h0OiIxMDAlIixiYWNrZ3JvdW5kOmw/YS5zdWNjZXNzOmEuYWNjZW50LGJvcmRlclJhZGl1czoyfX0pfSkscy5qc3goInNwYW4iLHtzdHlsZTp7Zm9udFNpemU6OSxjb2xvcjpsP2Euc3VjY2VzczpyP2EuYWNjZW50OmEuZGltLHdpZHRoOjE0LHRleHRBbGlnbjoicmlnaHQifSxjaGlsZHJlbjpsPyLinJMiOnI/IuKApiI6IiJ9KV19LG4pfSl9KSxlPj0zJiZzLmpzeCh5LmRpdix7aW5pdGlhbDp7b3BhY2l0eTowLHk6NH0sYW5pbWF0ZTp7b3BhY2l0eToxLHk6MH0sdHJhbnNpdGlvbjp7ZGVsYXk6LjJ9LHN0eWxlOnttYXJnaW5Ub3A6MTAsdGV4dEFsaWduOiJjZW50ZXIiLGZvbnRTaXplOjEyLGZvbnRXZWlnaHQ6NjAwLGNvbG9yOmEuc3VjY2Vzc30sY2hpbGRyZW46IuKckyBGaXJtd2FyZSB1cGRhdGVkIHN1Y2Nlc3NmdWxseSJ9KV19KSxzLmpzeCgiZGl2Iix7c3R5bGU6ey4uLk0scGFkZGluZzoiNHB4IDE0cHgifSxjaGlsZHJlbjpbe2w6IlBhdGNoIHZlcnNpb24iLHY6IjIyLjUg4oaSIDIyLjYuMSIsYzphLnRleHQyLGZpcnN0OiEwfSx7bDoiQ1ZFIGNsb3NlZCIsdjoiQ1ZFLTIwMjQtODQ3MSIsYzphLnN1Y2Nlc3MsZmlyc3Q6ITF9LHtsOiJEb3dudGltZSIsdjoiTm9uZSByZXF1aXJlZCIsYzphLmFjY2VudCxmaXJzdDohMX0se2w6IlZlcmlmaWVkIGJ5Iix2OiJCbGFja0RpY2UgY2xvdWQiLGM6YS5tdXRlZCxmaXJzdDohMX1dLm1hcChuPT5zLmpzeHMoImRpdiIse3N0eWxlOntkaXNwbGF5OiJmbGV4IixqdXN0aWZ5Q29udGVudDoic3BhY2UtYmV0d2VlbiIscGFkZGluZzoiN3B4IDAiLGJvcmRlclRvcDpuLmZpcnN0PyJub25lIjpgMXB4IHNvbGlkICR7YS5ib3JkZXJ9YCxmb250U2l6ZToxMX0sY2hpbGRyZW46W3MuanN4KCJzcGFuIix7c3R5bGU6e2NvbG9yOmEubXV0ZWR9LGNoaWxkcmVuOm4ubH0pLHMuanN4KCJzcGFuIix7c3R5bGU6e2NvbG9yOm4uYyxmb250V2VpZ2h0OjUwMH0sY2hpbGRyZW46bi52fSldfSxuLmwpKX0pXX0pfWZ1bmN0aW9uIFJ1KCl7cmV0dXJuIHMuanN4cyh5LmRpdix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGZsZXhEaXJlY3Rpb246ImNvbHVtbiIsZ2FwOjEwfSxpbml0aWFsOntvcGFjaXR5OjB9LGFuaW1hdGU6e29wYWNpdHk6MX0sY2hpbGRyZW46W3MuanN4cyh5LmRpdix7aW5pdGlhbDp7c2NhbGU6Ljk0fSxhbmltYXRlOntzY2FsZToxfSx0cmFuc2l0aW9uOkssc3R5bGU6ey4uLk0sYmFja2dyb3VuZDphLnN1Y2Nlc3NTb2Z0LGJvcmRlckNvbG9yOiJ0cmFuc3BhcmVudCIsdGV4dEFsaWduOiJjZW50ZXIiLHBhZGRpbmc6IjE4cHggMTRweCJ9LGNoaWxkcmVuOltzLmpzeCh5LmRpdix7aW5pdGlhbDp7c2NhbGU6MCxyb3RhdGU6LTIwfSxhbmltYXRlOntzY2FsZToxLHJvdGF0ZTowfSx0cmFuc2l0aW9uOnsuLi5LLGRlbGF5Oi4xfSxzdHlsZTp7d2lkdGg6NTAsaGVpZ2h0OjUwLGJvcmRlclJhZGl1czoiNTAlIixiYWNrZ3JvdW5kOmEuc3VjY2VzcyxkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIiLG1hcmdpbjoiMCBhdXRvIDEwcHgifSxjaGlsZHJlbjpzLmpzeChFdCx7c2l6ZToyNCxjb2xvcjoiI2ZmZiJ9KX0pLHMuanN4KCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6MTQsZm9udFdlaWdodDo2MDAsY29sb3I6YS5zdWNjZXNzfSxjaGlsZHJlbjoiQWxsIGNsZWFyIn0pLHMuanN4KCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6MTAsY29sb3I6YS5zdWNjZXNzLG1hcmdpblRvcDozfSxjaGlsZHJlbjoiSFAgUHJpbnRlciBwYXRjaGVkIMK3IENWRS0yMDI0LTg0NzEgcmVzb2x2ZWQifSldfSkscy5qc3hzKCJkaXYiLHtzdHlsZTp7Li4uTSxkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDoxNH0sY2hpbGRyZW46W3MuanN4KEdpLHtzY29yZTo5NSxzaXplOjU4LHN0cm9rZVdpZHRoOjUsZGVsYXk6MzAwfSkscy5qc3hzKCJkaXYiLHtjaGlsZHJlbjpbcy5qc3hzKCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6MTYsZm9udFdlaWdodDo3MDAsY29sb3I6YS5zdWNjZXNzfSxjaGlsZHJlbjpbcy5qc3gobHQse3RvOjk1LGZyb206OTIsZGVsYXk6MzUwfSkscy5qc3goInNwYW4iLHtzdHlsZTp7Zm9udFNpemU6MTEsY29sb3I6YS5tdXRlZCxmb250V2VpZ2h0OjQwMH0sY2hpbGRyZW46Ii8xMDAifSldfSkscy5qc3goImRpdiIse3N0eWxlOntmb250U2l6ZToxMCxjb2xvcjphLm11dGVkfSxjaGlsZHJlbjoiRmFtaWx5IFNlY3VyaXR5IFNjb3JlIn0pLHMuanN4cygiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsZ2FwOjYsbWFyZ2luVG9wOjN9LGNoaWxkcmVuOltzLmpzeCgiZGl2Iix7c3R5bGU6e2ZvbnRTaXplOjEwLGNvbG9yOmEuZGltLHRleHREZWNvcmF0aW9uOiJsaW5lLXRocm91Z2gifSxjaGlsZHJlbjoiOTIifSkscy5qc3goImRpdiIse3N0eWxlOntmb250U2l6ZToxMCxjb2xvcjphLnN1Y2Nlc3MsZm9udFdlaWdodDo2MDB9LGNoaWxkcmVuOiI5NSDCtyDilrIgKzMifSldfSldfSldfSkscy5qc3goImRpdiIse3N0eWxlOnsuLi5NLHBhZGRpbmc6IjRweCAxNHB4In0sY2hpbGRyZW46W3t0OiJIUCBQcmludGVyIMK3IEZXIDIyLjYuMSBpbnN0YWxsZWQiLGRvbmU6ITB9LHt0OiJDVkUtMjAyNC04NDcxIHBhdGNoIHZlcmlmaWVkIixkb25lOiEwfSx7dDoiMTIgZGV2aWNlcyDCtyBhbGwgc2VjdXJlIixkb25lOiEwfSx7dDoiTmV4dCBzY2FuIGluIDI0IGhvdXJzIixkb25lOiExfV0ubWFwKChlLHQpPT5zLmpzeHMoeS5kaXYse2luaXRpYWw6e29wYWNpdHk6MCx4Oi01fSxhbmltYXRlOntvcGFjaXR5OjEseDowfSx0cmFuc2l0aW9uOntkZWxheTouMit0Ki4wN30sc3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsZ2FwOjgscGFkZGluZzoiN3B4IDAiLGJvcmRlclRvcDp0PT09MD8ibm9uZSI6YDFweCBzb2xpZCAke2EuYm9yZGVyfWAsZm9udFNpemU6MTF9LGNoaWxkcmVuOltlLmRvbmU/cy5qc3goZmUse3NpemU6MTIsc3R5bGU6e2NvbG9yOmEuc3VjY2VzcyxmbGV4U2hyaW5rOjB9fSk6cy5qc3goImRpdiIse3N0eWxlOnt3aWR0aDoxMixoZWlnaHQ6MTIsYm9yZGVyUmFkaXVzOiI1MCUiLGJvcmRlcjpgMS41cHggc29saWQgJHthLm11dGVkfWAsZmxleFNocmluazowfX0pLHMuanN4KCJzcGFuIix7c3R5bGU6e2NvbG9yOmUuZG9uZT9hLnRleHQyOmEubXV0ZWR9LGNoaWxkcmVuOmUudH0pXX0sZS50KSl9KV19KX1mdW5jdGlvbiBWdSgpe2NvbnN0IGU9W3tsYWJlbDoiTmV0d29yayIsc2NvcmU6OTcsY29sb3I6YS5zdWNjZXNzfSx7bGFiZWw6IkRldmljZXMiLHNjb3JlOjg4LGNvbG9yOmEuYWNjZW50fSx7bGFiZWw6IkFjY291bnRzIixzY29yZTo5NCxjb2xvcjphLnN1Y2Nlc3N9LHtsYWJlbDoiS2lkcyIsc2NvcmU6OTIsY29sb3I6YS5hY2NlbnR9XTtyZXR1cm4gcy5qc3hzKHkuZGl2LHtzdHlsZTp7ZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDoxNCxwYWRkaW5nVG9wOjZ9LGluaXRpYWw6e29wYWNpdHk6MH0sYW5pbWF0ZTp7b3BhY2l0eToxfSxjaGlsZHJlbjpbcy5qc3goR2kse3Njb3JlOkdlLnNjb3JlLHNpemU6MTIwLHN0cm9rZVdpZHRoOjksZGVsYXk6MTUwfSkscy5qc3hzKCJkaXYiLHtzdHlsZTp7dGV4dEFsaWduOiJjZW50ZXIifSxjaGlsZHJlbjpbcy5qc3goImRpdiIse3N0eWxlOntmb250U2l6ZToxNCxmb250V2VpZ2h0OjYwMCxjb2xvcjphLnN1Y2Nlc3N9LGNoaWxkcmVuOkdlLmxhYmVsfSkscy5qc3goImRpdiIse3N0eWxlOntmb250U2l6ZToxMCxjb2xvcjphLm11dGVkfSxjaGlsZHJlbjoiRmFtaWx5IFNlY3VyaXR5IFNjb3JlIn0pLHMuanN4cygiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsZ2FwOjgsbWFyZ2luVG9wOjQsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciJ9LGNoaWxkcmVuOltzLmpzeCgic3BhbiIse3N0eWxlOntmb250U2l6ZToxMCxjb2xvcjphLmRpbSx0ZXh0RGVjb3JhdGlvbjoibGluZS10aHJvdWdoIn0sY2hpbGRyZW46R2UucHJldmlvdXN9KSxzLmpzeHMoInNwYW4iLHtzdHlsZTp7Zm9udFNpemU6MTAsY29sb3I6YS5zdWNjZXNzLGZvbnRXZWlnaHQ6NzAwfSxjaGlsZHJlbjpbIisiLEdlLmNoYW5nZSwiIHRoaXMgd2VlayJdfSldfSldfSkscy5qc3goImRpdiIse3N0eWxlOnt3aWR0aDoiMTAwJSIsZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixnYXA6Nn0sY2hpbGRyZW46ZS5tYXAoKHQsaSk9PnMuanN4cyh5LmRpdix7aW5pdGlhbDp7b3BhY2l0eTowLHg6LTh9LGFuaW1hdGU6e29wYWNpdHk6MSx4OjB9LHRyYW5zaXRpb246e2RlbGF5Oi4zK2kqLjA2LGVhc2U6Un0sc3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsZ2FwOjEwfSxjaGlsZHJlbjpbcy5qc3goImRpdiIse3N0eWxlOntmb250U2l6ZToxMCxjb2xvcjphLm11dGVkLHdpZHRoOjUyfSxjaGlsZHJlbjp0LmxhYmVsfSkscy5qc3goImRpdiIse3N0eWxlOntmbGV4OjEsaGVpZ2h0OjUsYmFja2dyb3VuZDphLnN1cmZhY2UzLGJvcmRlclJhZGl1czozLG92ZXJmbG93OiJoaWRkZW4ifSxjaGlsZHJlbjpzLmpzeCh5LmRpdix7aW5pdGlhbDp7d2lkdGg6MH0sYW5pbWF0ZTp7d2lkdGg6YCR7dC5zY29yZX0lYH0sdHJhbnNpdGlvbjp7ZHVyYXRpb246MSxkZWxheTouNCtpKi4wNixlYXNlOlJ9LHN0eWxlOntoZWlnaHQ6IjEwMCUiLGJhY2tncm91bmQ6dC5jb2xvcixib3JkZXJSYWRpdXM6M319KX0pLHMuanN4KCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6MTAsZm9udFdlaWdodDo3MDAsY29sb3I6dC5jb2xvcix3aWR0aDoyNCx0ZXh0QWxpZ246InJpZ2h0In0sY2hpbGRyZW46dC5zY29yZX0pXX0sdC5sYWJlbCkpfSkscy5qc3goImRpdiIse3N0eWxlOntkaXNwbGF5OiJmbGV4IixnYXA6Nyx3aWR0aDoiMTAwJSJ9LGNoaWxkcmVuOlt7bGFiZWw6IlRocmVhdHMgYmxvY2tlZCIsdmFsdWU6WS50aHJlYXRzQmxvY2tlZCxjb2xvcjphLnN1Y2Nlc3N9LHtsYWJlbDoiRGV2aWNlcyIsdmFsdWU6WS5kZXZpY2VzUHJvdGVjdGVkLGNvbG9yOmEuYWNjZW50fSx7bGFiZWw6Ik9wZW4gaXNzdWVzIix2YWx1ZTpZLm9wZW5Jc3N1ZXMsY29sb3I6YS53YXJufV0ubWFwKCh0LGkpPT5zLmpzeHMoeS5kaXYse2luaXRpYWw6e29wYWNpdHk6MCx5OjV9LGFuaW1hdGU6e29wYWNpdHk6MSx5OjB9LHRyYW5zaXRpb246e2RlbGF5Oi42K2kqLjA1fSxzdHlsZTp7Li4uTSxmbGV4OjEsdGV4dEFsaWduOiJjZW50ZXIiLHBhZGRpbmc6IjhweCA0cHgifSxjaGlsZHJlbjpbcy5qc3goImRpdiIse3N0eWxlOntmb250U2l6ZToxNSxmb250V2VpZ2h0OjcwMCxjb2xvcjp0LmNvbG9yfSxjaGlsZHJlbjpzLmpzeChsdCx7dG86dC52YWx1ZSxkZWxheTo3MDAraSo4MH0pfSkscy5qc3goImRpdiIse3N0eWxlOntmb250U2l6ZTo5LGNvbG9yOmEubXV0ZWQsbWFyZ2luVG9wOjF9LGNoaWxkcmVuOnQubGFiZWx9KV19LHQubGFiZWwpKX0pXX0pfWZ1bmN0aW9uIEV1KCl7Y29uc3QgZT1bIk0iLCJUIiwiVyIsIlQiLCJGIiwiUyIsIlMiXSx0PU1hdGgubWF4KC4uLlkuZGFpbHkpO3JldHVybiBzLmpzeHMoeS5kaXYse3N0eWxlOntkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4iLGdhcDoxMH0saW5pdGlhbDp7b3BhY2l0eTowfSxhbmltYXRlOntvcGFjaXR5OjF9LGNoaWxkcmVuOltzLmpzeHMoImRpdiIse3N0eWxlOk0sY2hpbGRyZW46W3MuanN4cygiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGp1c3RpZnlDb250ZW50OiJzcGFjZS1iZXR3ZWVuIixhbGlnbkl0ZW1zOiJmbGV4LWVuZCIsbWFyZ2luQm90dG9tOjEyfSxjaGlsZHJlbjpbcy5qc3hzKCJkaXYiLHtjaGlsZHJlbjpbcy5qc3hzKCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6MTMsZm9udFdlaWdodDo2MDAsY29sb3I6YS50ZXh0fSxjaGlsZHJlbjpbcy5qc3gobHQse3RvOlkudGhyZWF0c0Jsb2NrZWQsZGVsYXk6MTAwfSksIiBibG9ja2VkIl19KSxzLmpzeHMoImRpdiIse3N0eWxlOntkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDo1LG1hcmdpblRvcDoyfSxjaGlsZHJlbjpbcy5qc3hzKCJzcGFuIix7c3R5bGU6e2ZvbnRTaXplOjEwLGNvbG9yOmEuc3VjY2Vzc30sY2hpbGRyZW46WyLihpMgIixNYXRoLmFicyhZLnRocmVhdHNWc0xhc3RXZWVrKSwiJSJdfSkscy5qc3goInNwYW4iLHtzdHlsZTp7Zm9udFNpemU6MTAsY29sb3I6YS5kaW19LGNoaWxkcmVuOiJ2cyBsYXN0IHdlZWsifSldfSldfSkscy5qc3gocGUse2xhYmVsOlkucGVyaW9kLHZhcmlhbnQ6ImluZm8ifSldfSkscy5qc3goImRpdiIse3N0eWxlOntkaXNwbGF5OiJmbGV4IixnYXA6NSxhbGlnbkl0ZW1zOiJmbGV4LWVuZCIsaGVpZ2h0OjY0fSxjaGlsZHJlbjpZLmRhaWx5Lm1hcCgoaSxuKT0+cy5qc3hzKCJkaXYiLHtzdHlsZTp7ZmxleDoxLGRpc3BsYXk6ImZsZXgiLGZsZXhEaXJlY3Rpb246ImNvbHVtbiIsYWxpZ25JdGVtczoiY2VudGVyIixoZWlnaHQ6IjEwMCUiLGp1c3RpZnlDb250ZW50OiJmbGV4LWVuZCJ9LGNoaWxkcmVuOltzLmpzeCh5LmRpdix7aW5pdGlhbDp7c2NhbGVZOjB9LGFuaW1hdGU6e3NjYWxlWToxfSx0cmFuc2l0aW9uOntkZWxheTouMStuKi4wNyxkdXJhdGlvbjouNDUsZWFzZTpSfSxzdHlsZTp7d2lkdGg6IjEwMCUiLGJvcmRlclJhZGl1czoiM3B4IDNweCAwIDAiLGJhY2tncm91bmQ6bj09PTY/YS5hY2NlbnQ6YS5hY2NlbnRTb2Z0LGhlaWdodDpgJHtpL3QqMTAwfSVgLHRyYW5zZm9ybU9yaWdpbjoiYm90dG9tIn19KSxzLmpzeCgiZGl2Iix7c3R5bGU6e2ZvbnRTaXplOjksY29sb3I6YS5kaW0sbWFyZ2luVG9wOjN9LGNoaWxkcmVuOmVbbl19KV19LG4pKX0pXX0pLHMuanN4cygiZGl2Iix7c3R5bGU6TSxjaGlsZHJlbjpbcy5qc3goImRpdiIse3N0eWxlOntmb250U2l6ZToxMCxmb250V2VpZ2h0OjcwMCxjb2xvcjphLm11dGVkLHRleHRUcmFuc2Zvcm06InVwcGVyY2FzZSIsbGV0dGVyU3BhY2luZzoiLjRweCIsbWFyZ2luQm90dG9tOjh9LGNoaWxkcmVuOiJCeSB0aHJlYXQgdHlwZSJ9KSxZLnRvcFRocmVhdHMubWFwKChpLG4pPT5zLmpzeHMoeS5kaXYse2luaXRpYWw6e29wYWNpdHk6MCx4Oi02fSxhbmltYXRlOntvcGFjaXR5OjEseDowfSx0cmFuc2l0aW9uOntkZWxheTouMituKi4wN30sc3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsZ2FwOjEwLHBhZGRpbmc6bj09PTA/IjAgMCA3cHgiOiI3cHggMCIsYm9yZGVyVG9wOm49PT0wPyJub25lIjpgMXB4IHNvbGlkICR7YS5ib3JkZXJ9YH0sY2hpbGRyZW46W3MuanN4KCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6MTAsY29sb3I6YS50ZXh0Mix3aWR0aDo4MCxmbGV4U2hyaW5rOjB9LGNoaWxkcmVuOmkubGFiZWx9KSxzLmpzeCgiZGl2Iix7c3R5bGU6e2ZsZXg6MSxoZWlnaHQ6NCxiYWNrZ3JvdW5kOmEuc3VyZmFjZTMsYm9yZGVyUmFkaXVzOjIsb3ZlcmZsb3c6ImhpZGRlbiJ9LGNoaWxkcmVuOnMuanN4KHkuZGl2LHtpbml0aWFsOnt3aWR0aDowfSxhbmltYXRlOnt3aWR0aDpgJHtpLnBjdH0lYH0sdHJhbnNpdGlvbjp7ZHVyYXRpb246LjgsZGVsYXk6LjMrbiouMDcsZWFzZTpSfSxzdHlsZTp7aGVpZ2h0OiIxMDAlIixiYWNrZ3JvdW5kOm49PT0wP2EuZGFuZ2VyOm49PT0xP2Eud2FybjphLmFjY2VudCxib3JkZXJSYWRpdXM6Mn19KX0pLHMuanN4cygiZGl2Iix7c3R5bGU6e2ZvbnRTaXplOjEwLGZvbnRXZWlnaHQ6NzAwLGNvbG9yOmEudGV4dDIsd2lkdGg6MjgsdGV4dEFsaWduOiJyaWdodCJ9LGNoaWxkcmVuOltpLnBjdCwiJSJdfSldfSxpLmxhYmVsKSldfSldfSl9ZnVuY3Rpb24gYnIoKXtjb25zdCBlPVt7STp6ZSxuOiJTYXJhaCJ9LHtJOmRlLG46Ik1hcmsifSx7STp6ZSxuOiJFbW1hIn0se0k6ZGUsbjoiTWlhIn0se0k6TGUsbjoiUFM1In0se0k6TGUsbjoiU3dpdGNoIn0se0k6WGksbjoiVFYifSx7STp5cixuOiJIb21lUG9kIn0se0k6WmksbjoiQ2FtIn0se0k6d2UsbjoiQnJpZGdlIn0se0k6d2UsbjoiUHJpbnRlciJ9LHtJOmRlLG46Ikd1ZXN0In1dO3JldHVybiBzLmpzeHMoeS5kaXYse3N0eWxlOntkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4iLGdhcDoxMH0saW5pdGlhbDp7b3BhY2l0eTowfSxhbmltYXRlOntvcGFjaXR5OjF9LGNoaWxkcmVuOltzLmpzeHMoeS5kaXYse3N0eWxlOnsuLi5NLHRleHRBbGlnbjoiY2VudGVyIixiYWNrZ3JvdW5kOmEuc3VjY2Vzc1NvZnQsYm9yZGVyQ29sb3I6InRyYW5zcGFyZW50In0saW5pdGlhbDp7b3BhY2l0eTowLHNjYWxlOi45N30sYW5pbWF0ZTp7b3BhY2l0eToxLHNjYWxlOjF9LHRyYW5zaXRpb246SyxjaGlsZHJlbjpbcy5qc3goImRpdiIse3N0eWxlOntmb250U2l6ZToxMyxmb250V2VpZ2h0OjYwMCxjb2xvcjphLnN1Y2Nlc3N9LGNoaWxkcmVuOiIxMiBEZXZpY2VzIFByb3RlY3RlZCJ9KSxzLmpzeCgiZGl2Iix7c3R5bGU6e2ZvbnRTaXplOjEwLGNvbG9yOmEuc3VjY2VzcyxtYXJnaW5Ub3A6M30sY2hpbGRyZW46Ikxhc3Qgc2NhbjogSnVzdCBub3cgwrcgMCB2dWxuZXJhYmlsaXRpZXMifSldfSkscy5qc3goImRpdiIse3N0eWxlOntkaXNwbGF5OiJncmlkIixncmlkVGVtcGxhdGVDb2x1bW5zOiJyZXBlYXQoNCwgMWZyKSIsZ2FwOjZ9LGNoaWxkcmVuOmUubWFwKCh0LGkpPT5zLmpzeHMoeS5kaXYse2luaXRpYWw6e29wYWNpdHk6MCxzY2FsZTouOH0sYW5pbWF0ZTp7b3BhY2l0eToxLHNjYWxlOjF9LHRyYW5zaXRpb246e2RlbGF5OmkqLjA0LHR5cGU6InNwcmluZyIsc3RpZmZuZXNzOjQwMCxkYW1waW5nOjI0fSxzdHlsZTp7Li4uTSx0ZXh0QWxpZ246ImNlbnRlciIscGFkZGluZzoiOHB4IDVweCIsZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDozfSxjaGlsZHJlbjpbcy5qc3godC5JLHtzaXplOjE2LHN0eWxlOntjb2xvcjphLnRleHQyfX0pLHMuanN4KCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6OCxjb2xvcjphLmRpbSxvdmVyZmxvdzoiaGlkZGVuIix3aWR0aDoiMTAwJSIsdGV4dEFsaWduOiJjZW50ZXIiLHRleHRPdmVyZmxvdzoiZWxsaXBzaXMiLHdoaXRlU3BhY2U6Im5vd3JhcCJ9LGNoaWxkcmVuOnQubn0pLHMuanN4KEV0LHtzaXplOjExLGNvbG9yOmEuc3VjY2Vzc30pXX0saSkpfSldfSl9ZnVuY3Rpb24genUoKXtjb25zdFtlLHRdPXgudXNlU3RhdGUoITEpO3JldHVybiB4LnVzZUVmZmVjdCgoKT0+e2NvbnN0IGk9c2V0VGltZW91dCgoKT0+dCghMCksNjUwKTtyZXR1cm4oKT0+Y2xlYXJUaW1lb3V0KGkpfSxbXSkscy5qc3hzKCJkaXYiLHtzdHlsZTp7cG9zaXRpb246InJlbGF0aXZlIixtaW5IZWlnaHQ6MzQwfSxjaGlsZHJlbjpbcy5qc3goImRpdiIse3N0eWxlOntvcGFjaXR5Oi4zNX0sY2hpbGRyZW46cy5qc3goYnIse30pfSkscy5qc3goYmUse2NoaWxkcmVuOmUmJnMuanN4KHkuZGl2LHtpbml0aWFsOnt5OiIxMDAlIn0sYW5pbWF0ZTp7eTowfSx0cmFuc2l0aW9uOnsuLi5LfSxzdHlsZTp7cG9zaXRpb246ImFic29sdXRlIixpbnNldDowLGRpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImZsZXgtZW5kIixib3JkZXJSYWRpdXM6MTYsYmFja2dyb3VuZDoicmdiYSgxLDMwLDM4LC43KSIsYmFja2Ryb3BGaWx0ZXI6ImJsdXIoNnB4KSJ9LGNoaWxkcmVuOnMuanN4cyh5LmRpdix7aW5pdGlhbDp7b3BhY2l0eTowLHk6MjB9LGFuaW1hdGU6e29wYWNpdHk6MSx5OjB9LHRyYW5zaXRpb246e2RlbGF5Oi4xNSxlYXNlOlJ9LHN0eWxlOnsuLi5NLHdpZHRoOiIxMDAlIixib3JkZXJSYWRpdXM6IjE2cHggMTZweCAwIDAiLG1hcmdpbjowLGJhY2tncm91bmQ6YS5zdXJmYWNlU3RyLGJvcmRlclRvcDpgMXB4IHNvbGlkICR7YS5ib3JkZXJTdHJ9YH0sY2hpbGRyZW46W3MuanN4cygiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImZsZXgtc3RhcnQiLGdhcDoxMixtYXJnaW5Cb3R0b206MTR9LGNoaWxkcmVuOltzLmpzeChhZSx7Ymc6YS5hY2NlbnRTb2Z0LGNvbG9yOmEuYWNjZW50LHNpemU6NDIsY2hpbGRyZW46cy5qc3godXIse3NpemU6MjAsc3R5bGU6e2NvbG9yOmEuYWNjZW50fX0pfSkscy5qc3hzKCJkaXYiLHtzdHlsZTp7ZmxleDoxfSxjaGlsZHJlbjpbcy5qc3goImRpdiIse3N0eWxlOntmb250U2l6ZToxMyxmb250V2VpZ2h0OjYwMCxjb2xvcjphLnRleHR9LGNoaWxkcmVuOiJXZWVrbHkgU2VjdXJpdHkgUmVwb3J0In0pLHMuanN4cygiZGl2Iix7c3R5bGU6e2ZvbnRTaXplOjEwLGNvbG9yOmEubXV0ZWR9LGNoaWxkcmVuOlsiSHVnaGVzIEZhbWlseSDCtyAiLFkucGVyaW9kXX0pLHMuanN4cygiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGdhcDo2LG1hcmdpblRvcDo2fSxjaGlsZHJlbjpbcy5qc3goWXQse2xhYmVsOmAke1kudGhyZWF0c0Jsb2NrZWR9IGJsb2NrZWRgLG9rOiEwfSkscy5qc3goWXQse2xhYmVsOmAke1kuZGV2aWNlc1Byb3RlY3RlZH0gc2FmZWAsb2s6ITB9KSxzLmpzeChZdCx7bGFiZWw6YCR7WS5vcGVuSXNzdWVzfSBvcGVuYCxvazohMX0pXX0pXX0pXX0pLHMuanN4cygiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGdhcDo4LG1hcmdpbkJvdHRvbToxNH0sY2hpbGRyZW46W3MuanN4cygiZGl2Iix7c3R5bGU6ey4uLk0sZmxleDoxLHRleHRBbGlnbjoiY2VudGVyIixwYWRkaW5nOiI4cHggNHB4In0sY2hpbGRyZW46W3MuanN4KCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6MTYsZm9udFdlaWdodDo3MDAsY29sb3I6YS5zdWNjZXNzfSxjaGlsZHJlbjpHZS5zY29yZX0pLHMuanN4KCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6OSxjb2xvcjphLm11dGVkfSxjaGlsZHJlbjoiU2VjdXJpdHkgc2NvcmUifSldfSkscy5qc3hzKCJkaXYiLHtzdHlsZTp7Li4uTSxmbGV4OjEsdGV4dEFsaWduOiJjZW50ZXIiLHBhZGRpbmc6IjhweCA0cHgifSxjaGlsZHJlbjpbcy5qc3hzKCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6MTIsZm9udFdlaWdodDo3MDAsY29sb3I6YS5zdWNjZXNzfSxjaGlsZHJlbjpbIuKGkyIsTWF0aC5hYnMoWS50aHJlYXRzVnNMYXN0V2VlayksIiUiXX0pLHMuanN4KCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6OSxjb2xvcjphLm11dGVkfSxjaGlsZHJlbjoidnMgbGFzdCB3ZWVrIn0pXX0pLHMuanN4cygiZGl2Iix7c3R5bGU6ey4uLk0sZmxleDoxLHRleHRBbGlnbjoiY2VudGVyIixwYWRkaW5nOiI4cHggNHB4In0sY2hpbGRyZW46W3MuanN4KCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6MTYsZm9udFdlaWdodDo3MDAsY29sb3I6YS5hY2NlbnR9LGNoaWxkcmVuOiJBKyJ9KSxzLmpzeCgiZGl2Iix7c3R5bGU6e2ZvbnRTaXplOjksY29sb3I6YS5tdXRlZH0sY2hpbGRyZW46IlJhdGluZyJ9KV19KV19KSxzLmpzeCgiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGdhcDo3fSxjaGlsZHJlbjpbIlNoYXJlIiwiRG93bmxvYWQgUERGIiwiUHJpbnQiXS5tYXAoaT0+cy5qc3hzKHkuYnV0dG9uLHt3aGlsZVRhcDp7c2NhbGU6Ljk2fSxzdHlsZTp7ZmxleDoxLHBhZGRpbmc6IjhweCAwIixiYWNrZ3JvdW5kOmk9PT0iRG93bmxvYWQgUERGIj9hLmFjY2VudDphLnN1cmZhY2UyLGJvcmRlcjpgMXB4IHNvbGlkICR7aT09PSJEb3dubG9hZCBQREYiP2EuYWNjZW50OmEuYm9yZGVyfWAsYm9yZGVyUmFkaXVzOjEwLGNvbG9yOmk9PT0iRG93bmxvYWQgUERGIj8iI2ZmZiI6YS50ZXh0Mixmb250V2VpZ2h0OjYwMCxmb250U2l6ZToxMSxjdXJzb3I6InBvaW50ZXIiLGZvbnRGYW1pbHk6ImluaGVyaXQiLGRpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciIsZ2FwOjR9LGNoaWxkcmVuOltpPT09IkRvd25sb2FkIFBERiImJnMuanN4KGZ1LHtzaXplOjEyLHN0eWxlOntjb2xvcjoiI2ZmZiJ9fSksaV19LGkpKX0pXX0pfSl9KV19KX1jb25zdCBTcj17aG9tZTpRaSwiYWxlcnQtdG9hc3QiOnh1LCJhbGVydC1kZXRhaWwiOnZ1LCJkZXZpY2UtcHM1Ijp2ciwiaXNvbGF0ZS1tb2RhbCI6YnUsImlzb2xhdGUtcHJvZ3Jlc3MiOlN1LHJlc29sdmVkOmp1LCJub3RpZi1wYW5lbCI6d3UsImVtbWEtcHJvZmlsZSI6VHUsdGltZWxpbmU6UHUsImlwLWRldGFpbCI6QXUsc2NvcGU6a3UsImRldmljZXMtbGlzdCI6Q3UsInZ1bG4tZGV0YWlsIjpNdSwic2Nhbi1ydW5uaW5nIjpEdSxyZW1lZGlhdGlvbjpJdSx2ZXJpZmllZDpSdSwic2NvcmUtcmluZyI6VnUsInRyZW5kcy1jaGFydCI6RXUsImRldmljZS1ncmlkIjpicixleHBvcnQ6enV9LFE9W3tpZDoidGl0bGUiLHNjZW5lOm51bGwsbXM6NGUzLGNhcHRpb246IldlbGNvbWUiLHZvOiJZb3VyIGZhbWlseeKAmXMgZGlnaXRhbCBsaWZlLiBPbmUgc2NyZWVuLiIsdGlsdDp7cm90YXRlWTotNCxyb3RhdGVYOjIsc2NhbGU6Ljk3fX0se2lkOiJob21lIixzY2VuZToiaG9tZSIsbXM6NTQwMCxjYXB0aW9uOiJIb21lIERhc2hib2FyZCIsdm86IkV2ZXJ5dGhpbmcgeW91IG5lZWQgdG8gcHJvdGVjdCB5b3VyIGZhbWlseSDigJQgaW4gb25lIHBsYWNlLiIsdGlsdDp7cm90YXRlWTotMixyb3RhdGVYOjIsc2NhbGU6MX19LHtpZDoidG9hc3QiLHNjZW5lOiJhbGVydC10b2FzdCIsbXM6NmUzLGNhcHRpb246IlJlYWwtdGltZSBBbGVydCIsdm86IlJlYWwtdGltZSB0aHJlYXRzLCBkZWxpdmVyZWQgZXhhY3RseSB3aGVuIHRoZXkgaGFwcGVuLiIsdGlsdDp7cm90YXRlWTozLHJvdGF0ZVg6MSxzY2FsZToxLjAxfX0se2lkOiJkZXRhaWwiLHNjZW5lOiJhbGVydC1kZXRhaWwiLG1zOjY0MDAsY2FwdGlvbjoiVGhyZWF0IEludGVsbGlnZW5jZSIsdm86IldlIGRvbuKAmXQganVzdCBzYXkgc29tZXRoaW5n4oCZcyB3cm9uZy4gV2Ugc2hvdyB5b3Ugd2hhdCBpdCBpcy4iLHRpbHQ6e3JvdGF0ZVk6MCxyb3RhdGVYOjAsc2NhbGU6MX19LHtpZDoicHM1IixzY2VuZToiZGV2aWNlLXBzNSIsbXM6NmUzLGNhcHRpb246IkxpdmUgVHJhZmZpYyIsdm86IldhdGNoIHRocmVhdHMgaW4gcmVhbCB0aW1lLiBTZWUgd2hhdOKAmXMgbGVhdmluZyB5b3VyIGhvbWUuIix0aWx0Ontyb3RhdGVZOi0zLHJvdGF0ZVg6MixzY2FsZToxLjAxfX0se2lkOiJtb2RhbCIsc2NlbmU6Imlzb2xhdGUtbW9kYWwiLG1zOjc0MDAsY2FwdGlvbjoiT25lIFRhcCIsdm86Ik9uZSB0YXAuIFRoYXTigJlzIGFsbCBpdCB0YWtlcyB0byBzdG9wIGl0LiIsdGlsdDp7cm90YXRlWTowLHJvdGF0ZVg6NCxzY2FsZToxLjAyfX0se2lkOiJwcm9ncmVzcyIsc2NlbmU6Imlzb2xhdGUtcHJvZ3Jlc3MiLG1zOjY1MDAsY2FwdGlvbjoiQXV0b21hdGljIFJlc3BvbnNlIix2bzoiSXNvbGF0ZWQuIFNldmVyZWQuIExvZ2dlZC4gTm90aWZpZWQuIix0aWx0Ontyb3RhdGVZOi0xLHJvdGF0ZVg6MSxzY2FsZToxfX0se2lkOiJyZXNvbHZlZCIsc2NlbmU6InJlc29sdmVkIixtczo1NjAwLGNhcHRpb246IlJlc29sdmVkIix2bzoiVGhyZWF0IG5ldXRyYWxpc2VkLiBGYW1pbHkgc2FmZS4gU2NvcmUgaW1wcm92ZWQuIix0aWx0Ontyb3RhdGVZOjAscm90YXRlWDowLHNjYWxlOjF9fSx7aWQ6ImVuZCIsc2NlbmU6bnVsbCxtczo1MjAwLGNhcHRpb246IkJsYWNrRGljZSBBbmdlbCIsdm86IkJsYWNrRGljZSBBbmdlbC4gU2FmZXR5IHlvdSBjYW4gc2VlLiIsdGlsdDp7cm90YXRlWTotNCxyb3RhdGVYOjIsc2NhbGU6Ljk3fX1dLHdzPVEucmVkdWNlKChlLHQpPT5lK3QubXMsMCk7ZnVuY3Rpb24ganIoe3NpemU6ZT0zNn0pe3JldHVybiBzLmpzeHMoInN2ZyIse3dpZHRoOmUsaGVpZ2h0OmUsdmlld0JveDoiMCAwIDY0IDY0Iix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLHN0eWxlOntjb2xvcjphLmFjY2VudCxmbGV4U2hyaW5rOjB9LGNoaWxkcmVuOltzLmpzeHMoImciLHtmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6IjMiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCIsc3Ryb2tlTGluZWNhcDoicm91bmQiLGNoaWxkcmVuOltzLmpzeCgicGF0aCIse2Q6Ik0zMiA2IEw1NiAyMCBMNTYgNDYgTDMyIDYwIEw4IDQ2IEw4IDIwIFoifSkscy5qc3goInBhdGgiLHtkOiJNMzIgNiBMMzIgMzIgTTggMjAgTDMyIDMyIE01NiAyMCBMMzIgMzIifSldfSkscy5qc3hzKCJnIix7ZmlsbDoiY3VycmVudENvbG9yIixjaGlsZHJlbjpbcy5qc3goImNpcmNsZSIse2N4OiIyMCIsY3k6IjI2IixyOiIyLjQifSkscy5qc3goImNpcmNsZSIse2N4OiIyMCIsY3k6IjM0IixyOiIyLjQifSkscy5qc3goImNpcmNsZSIse2N4OiI0NCIsY3k6IjM0IixyOiIyLjQifSldfSldfSl9ZnVuY3Rpb24gTHUoKXtyZXR1cm4gcy5qc3hzKCJkaXYiLHtzdHlsZTp7ZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIiLGhlaWdodDoiMTAwJSIsZ2FwOjIyLHBhZGRpbmc6IjAgMjRweCIsdGV4dEFsaWduOiJjZW50ZXIifSxjaGlsZHJlbjpbcy5qc3hzKCJkaXYiLHtzdHlsZTp7cG9zaXRpb246InJlbGF0aXZlIixkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIifSxjaGlsZHJlbjpbcy5qc3goeS5kaXYse2FuaW1hdGU6e3NjYWxlOlsxLDEuNCwxXSxvcGFjaXR5OlsuMjIsLjA2LC4yMl19LHRyYW5zaXRpb246e2R1cmF0aW9uOjMuNCxyZXBlYXQ6MS8wLGVhc2U6ImVhc2VJbk91dCJ9LHN0eWxlOntwb3NpdGlvbjoiYWJzb2x1dGUiLHdpZHRoOjEzMCxoZWlnaHQ6MTMwLGJvcmRlclJhZGl1czoiNTAlIixiYWNrZ3JvdW5kOmEuYWNjZW50LGZpbHRlcjoiYmx1cig4cHgpIn19KSxzLmpzeCh5LmRpdix7aW5pdGlhbDp7c2NhbGU6LjUsb3BhY2l0eTowfSxhbmltYXRlOntzY2FsZToxLG9wYWNpdHk6MX0sdHJhbnNpdGlvbjp7ZHVyYXRpb246LjcsZWFzZTpSfSxjaGlsZHJlbjpzLmpzeChqcix7c2l6ZTo2NH0pfSldfSkscy5qc3hzKHkuZGl2LHtpbml0aWFsOntvcGFjaXR5OjAseToxMn0sYW5pbWF0ZTp7b3BhY2l0eToxLHk6MH0sdHJhbnNpdGlvbjp7ZGVsYXk6LjM1LGVhc2U6Un0sY2hpbGRyZW46W3MuanN4cygiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciIsZ2FwOjcsbWFyZ2luQm90dG9tOjEwfSxjaGlsZHJlbjpbcy5qc3goInNwYW4iLHtzdHlsZTp7Zm9udFNpemU6MjUsZm9udFdlaWdodDo3MDAsY29sb3I6YS50ZXh0LGxldHRlclNwYWNpbmc6Ii0uNnB4In0sY2hpbGRyZW46IkJsYWNrRGljZSJ9KSxzLmpzeCgic3BhbiIse3N0eWxlOntmb250U2l6ZToyNSxmb250V2VpZ2h0OjcwMCxjb2xvcjphLmFjY2VudCxsZXR0ZXJTcGFjaW5nOiItLjZweCJ9LGNoaWxkcmVuOiJBbmdlbCJ9KV19KSxzLmpzeHMoImRpdiIse3N0eWxlOntmb250U2l6ZToxMi41LGNvbG9yOmEudGV4dDIsbGluZUhlaWdodDoxLjYsbWF4V2lkdGg6MjIwLG1hcmdpbjoiMCBhdXRvIixmb250V2VpZ2h0OjMwMCxsZXR0ZXJTcGFjaW5nOiIuMnB4In0sY2hpbGRyZW46WyJZb3VyIGZhbWlseeKAmXMgZGlnaXRhbCBsaWZlLiIscy5qc3goImJyIix7fSksIk9uZSBzY3JlZW4uIl19KV19KSxzLmpzeCh5LmRpdix7aW5pdGlhbDp7b3BhY2l0eTowLHNjYWxlWDowfSxhbmltYXRlOntvcGFjaXR5OjEsc2NhbGVYOjF9LHRyYW5zaXRpb246e2RlbGF5Oi43LGR1cmF0aW9uOi42LGVhc2U6Un0sc3R5bGU6e3dpZHRoOjU0LGhlaWdodDoyLGJvcmRlclJhZGl1czoxLGJhY2tncm91bmQ6YGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQsICR7YS5hY2NlbnR9LCB0cmFuc3BhcmVudClgfX0pXX0pfWZ1bmN0aW9uIEJ1KCl7cmV0dXJuIHMuanN4cygiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGZsZXhEaXJlY3Rpb246ImNvbHVtbiIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoiY2VudGVyIixoZWlnaHQ6IjEwMCUiLGdhcDowLHBhZGRpbmc6IjAgMjRweCIsdGV4dEFsaWduOiJjZW50ZXIifSxjaGlsZHJlbjpbcy5qc3hzKHkuZGl2LHtpbml0aWFsOntzY2FsZTouNixvcGFjaXR5OjB9LGFuaW1hdGU6e3NjYWxlOjEsb3BhY2l0eToxfSx0cmFuc2l0aW9uOnsuLi5LLGRlbGF5Oi4xfSxzdHlsZTp7cG9zaXRpb246InJlbGF0aXZlIixtYXJnaW5Cb3R0b206MTh9LGNoaWxkcmVuOltzLmpzeCh5LmRpdix7YW5pbWF0ZTp7c2NhbGU6WzEsMS4zLDFdLG9wYWNpdHk6Wy4yNSwuMDUsLjI1XX0sdHJhbnNpdGlvbjp7ZHVyYXRpb246MyxyZXBlYXQ6MS8wLGVhc2U6ImVhc2VJbk91dCJ9LHN0eWxlOntwb3NpdGlvbjoiYWJzb2x1dGUiLGluc2V0Oi0yMCxib3JkZXJSYWRpdXM6IjUwJSIsYmFja2dyb3VuZDphLmFjY2VudCxmaWx0ZXI6ImJsdXIoMTBweCkifX0pLHMuanN4KGpyLHtzaXplOjU2fSldfSkscy5qc3hzKHkuZGl2LHtpbml0aWFsOntvcGFjaXR5OjAseToxMH0sYW5pbWF0ZTp7b3BhY2l0eToxLHk6MH0sdHJhbnNpdGlvbjp7ZGVsYXk6LjMsZWFzZTpSfSxjaGlsZHJlbjpbcy5qc3hzKCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6MjEsZm9udFdlaWdodDo3MDAsY29sb3I6YS50ZXh0LGxldHRlclNwYWNpbmc6Ii0uNXB4IixtYXJnaW5Cb3R0b206OH0sY2hpbGRyZW46W3MuanN4KCJzcGFuIix7c3R5bGU6e2NvbG9yOmEuYWNjZW50fSxjaGlsZHJlbjoiQmxhY2sifSksIkRpY2UgQW5nZWwiXX0pLHMuanN4KCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6MTIuNSxjb2xvcjphLnRleHQyLGxpbmVIZWlnaHQ6MS42LG1hcmdpbkJvdHRvbToyMixmb250V2VpZ2h0OjMwMCxsZXR0ZXJTcGFjaW5nOiIuMnB4In0sY2hpbGRyZW46IlNhZmV0eSB5b3UgY2FuIHNlZS4ifSldfSkscy5qc3goeS5kaXYse2luaXRpYWw6e29wYWNpdHk6MCx5OjEwfSxhbmltYXRlOntvcGFjaXR5OjEseTowfSx0cmFuc2l0aW9uOntkZWxheTouNTUsZWFzZTpSfSx3aGlsZUhvdmVyOntzY2FsZToxLjAyfSxzdHlsZTp7YmFja2dyb3VuZDphLmFjY2VudCxjb2xvcjoiI2ZmZiIsZm9udFNpemU6MTIuNSxmb250V2VpZ2h0OjYwMCxwYWRkaW5nOiIxMXB4IDI4cHgiLGJvcmRlclJhZGl1czoxMDAsZGlzcGxheToiaW5saW5lLWJsb2NrIixsZXR0ZXJTcGFjaW5nOiIuMnB4Iixib3hTaGFkb3c6YDAgMTBweCAzMHB4ICR7YS5hY2NlbnR9NTVgfSxjaGlsZHJlbjoiR2V0IHN0YXJ0ZWQgZnJlZSJ9KSxzLmpzeCh5LmRpdix7aW5pdGlhbDp7b3BhY2l0eTowfSxhbmltYXRlOntvcGFjaXR5OjF9LHRyYW5zaXRpb246e2RlbGF5Oi45fSxzdHlsZTp7Zm9udFNpemU6MTAuNSxjb2xvcjphLm11dGVkLG1hcmdpblRvcDoxNixsZXR0ZXJTcGFjaW5nOiIuNHB4In0sY2hpbGRyZW46ImJsYWNrZGljZS5haS9hbmdlbCJ9KV19KX1mdW5jdGlvbiBGdSh7Y2hpbGRyZW46ZX0pe3JldHVybiBzLmpzeCgiZGl2Iix7c3R5bGU6e3dpZHRoOjI5MCxoZWlnaHQ6NjI0LGZsZXhTaHJpbms6MCxib3JkZXJSYWRpdXM6NTAscGFkZGluZzo0LGJhY2tncm91bmQ6ImxpbmVhci1ncmFkaWVudCgxNTBkZWcsICMyYzNhNDIgMCUsICMwYzE0MTggNDUlLCAjMWEyNjJkIDEwMCUpIixib3hTaGFkb3c6IjAgNTBweCAxMDBweCByZ2JhKDAsMCwwLC43NSksIDAgOHB4IDMwcHggcmdiYSgwLDAsMCwuNSksIGluc2V0IDAgMCAwIDFweCByZ2JhKDI1NSwyNTUsMjU1LC4wNikiLHBvc2l0aW9uOiJyZWxhdGl2ZSJ9LGNoaWxkcmVuOnMuanN4cygiZGl2Iix7c3R5bGU6e3dpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUiLGJvcmRlclJhZGl1czo0NixvdmVyZmxvdzoiaGlkZGVuIixwb3NpdGlvbjoicmVsYXRpdmUiLGJhY2tncm91bmQ6YS5iZyxiYWNrZ3JvdW5kSW1hZ2U6YS5iZ0dyYWQsYm94U2hhZG93OiJpbnNldCAwIDAgMCAxcHggcmdiYSgwLDAsMCwuNikifSxjaGlsZHJlbjpbcy5qc3hzKCJkaXYiLHtzdHlsZTp7ZGlzcGxheToiZmxleCIsanVzdGlmeUNvbnRlbnQ6InNwYWNlLWJldHdlZW4iLGFsaWduSXRlbXM6ImNlbnRlciIscGFkZGluZzoiMTZweCAyNnB4IDhweCIsZm9udFNpemU6MTEsY29sb3I6YS50ZXh0LGZvbnRXZWlnaHQ6NjAwfSxjaGlsZHJlbjpbcy5qc3goInNwYW4iLHtjaGlsZHJlbjoiOTo0MSJ9KSxzLmpzeCgic3BhbiIse3N0eWxlOntmb250U2l6ZToxMCxjb2xvcjphLm11dGVkfSxjaGlsZHJlbjoiNUfCoMKg4payIDEwMCUifSldfSkscy5qc3goImRpdiIse3N0eWxlOntwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDoxMixsZWZ0OiI1MCUiLHRyYW5zZm9ybToidHJhbnNsYXRlWCgtNTAlKSIsd2lkdGg6OTIsaGVpZ2h0OjI2LGJvcmRlclJhZGl1czoxNCxiYWNrZ3JvdW5kOiIjMDAwIix6SW5kZXg6MzAsYm94U2hhZG93OiJpbnNldCAwIDAgMCAxcHggcmdiYSgyNTUsMjU1LDI1NSwuMDQpIn19KSxzLmpzeCgiZGl2Iix7c3R5bGU6e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOjQyLGJvdHRvbTo1OCxsZWZ0OjAscmlnaHQ6MCxvdmVyZmxvd1k6ImF1dG8iLHBhZGRpbmc6IjZweCAxM3B4IDhweCIsV2Via2l0T3ZlcmZsb3dTY3JvbGxpbmc6InRvdWNoIn0sY2hpbGRyZW46ZX0pLHMuanN4KCJkaXYiLHtzdHlsZTp7cG9zaXRpb246ImFic29sdXRlIixsZWZ0OjAscmlnaHQ6MCxib3R0b206MCxoZWlnaHQ6NTgsYmFja2dyb3VuZDphLnN1cmZhY2VTdHIsYm9yZGVyVG9wOmAxcHggc29saWQgJHthLmJvcmRlcn1gLGRpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6InNwYWNlLWFyb3VuZCIscGFkZGluZ0JvdHRvbTo2fSxjaGlsZHJlbjpbe0ljb246ZnIsbGFiZWw6IkhvbWUifSx7SWNvbjpwcixsYWJlbDoiRmFtaWx5In0se0ljb246Z3IsbGFiZWw6IkRldmljZXMifSx7SWNvbjptcixsYWJlbDoiQ29udHJvbHMifSx7SWNvbjpocixsYWJlbDoiQWxlcnRzIn1dLm1hcCgodCxpKT0+cy5qc3hzKCJkaXYiLHtzdHlsZTp7ZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDoyLGZvbnRTaXplOjksY29sb3I6aT09PTA/YS5hY2NlbnQ6YS5kaW19LGNoaWxkcmVuOltzLmpzeCh0Lkljb24se3NpemU6MTgsc3R5bGU6e2NvbG9yOmk9PT0wP2EuYWNjZW50OmEuZGltfX0pLHQubGFiZWxdfSx0LmxhYmVsKSl9KSxzLmpzeCgiZGl2Iix7c3R5bGU6e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsaW5zZXQ6MCxib3JkZXJSYWRpdXM6NDYscG9pbnRlckV2ZW50czoibm9uZSIsYmFja2dyb3VuZDoibGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgyNTUsMjU1LDI1NSwuMDcpIDAlLCByZ2JhKDI1NSwyNTUsMjU1LDApIDMyJSkiLHpJbmRleDo0MH19KV19KX0pfWZ1bmN0aW9uIHdyKHtlbWJlZGRlZDplPSExfSl7Y29uc3RbdCxpXT14LnVzZVN0YXRlKDApLFtuLG9dPXgudXNlU3RhdGUoITEpLFtsLHJdPXgudXNlU3RhdGUoITEpLFtjLGRdPXgudXNlU3RhdGUoMCksdT14LnVzZVJlZigwKSxoPXgudXNlUmVmKDApLGY9KCk9Pnt0cnl7d2luZG93LnNwZWVjaFN5bnRoZXNpcyYmd2luZG93LnNwZWVjaFN5bnRoZXNpcy5jYW5jZWwoKX1jYXRjaHt9fSxwPVFbdF0sbT10PT09MCxnPVEuc2xpY2UoMCx0KS5yZWR1Y2UoKFYsSSk9PlYrSS5tcywwKSx2PWMtZztNYXRoLm1pbih2L3AubXMsMSk7Y29uc3QgUz1NYXRoLm1pbihjL3dzLDEpO2Z1bmN0aW9uIGIoKXtvKCEwKSxoLmN1cnJlbnQ9cGVyZm9ybWFuY2Uubm93KCktYztmdW5jdGlvbiBWKCl7Y29uc3QgST1wZXJmb3JtYW5jZS5ub3coKS1oLmN1cnJlbnQ7ZChJKSxpKHRlPT57bGV0IEc9MDtmb3IobGV0IEg9MDtIPFEubGVuZ3RoO0grKylpZihHKz1RW0hdLm1zLEk8RylyZXR1cm4gSDtyZXR1cm4gUS5sZW5ndGgtMX0pLEk8d3M/dS5jdXJyZW50PXJlcXVlc3RBbmltYXRpb25GcmFtZShWKTpvKCExKX11LmN1cnJlbnQ9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKFYpfWZ1bmN0aW9uIHcoKXtvKCExKSxjYW5jZWxBbmltYXRpb25GcmFtZSh1LmN1cnJlbnQpLGYoKX1mdW5jdGlvbiBUKCl7Y2FuY2VsQW5pbWF0aW9uRnJhbWUodS5jdXJyZW50KSxmKCksbyghMSksZCgwKSxpKDApfWZ1bmN0aW9uIFAoVil7Y29uc3QgST1NYXRoLm1heCgwLE1hdGgubWluKFYsUS5sZW5ndGgtMSkpO2NhbmNlbEFuaW1hdGlvbkZyYW1lKHUuY3VycmVudCksZigpLG8oITEpO2NvbnN0IHRlPVEuc2xpY2UoMCxJKS5yZWR1Y2UoKEcsSCk9PkcrSC5tcywwKTtkKHRlKSxpKEkpfXgudXNlRWZmZWN0KCgpPT4oKT0+e2NhbmNlbEFuaW1hdGlvbkZyYW1lKHUuY3VycmVudCksZigpfSxbXSkseC51c2VFZmZlY3QoKCk9PntpZighbnx8bClyZXR1cm47Y29uc3QgVj13aW5kb3cuc3BlZWNoU3ludGhlc2lzO2lmKCFWKXJldHVybjtWLmNhbmNlbCgpO2NvbnN0IEk9bmV3IFNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZShwLnZvKTtJLmxhbmc9ImVuLUdCIixJLnJhdGU9Ljk2LEkucGl0Y2g9MS4wMixJLnZvbHVtZT0xO2NvbnN0IEc9KCgpPT57Y29uc3QgSD1WLmdldFZvaWNlcygpO3JldHVybiBILmZpbmQoaWU9Pi9lbi1HQi9pLnRlc3QoaWUubGFuZykmJi9mZW1hbGV8bGliYnl8c29uaWF8Z29vZ2xlIHVrIGVuZ2xpc2ggZmVtYWxlfHNhbWFudGhhL2kudGVzdChpZS5uYW1lKSl8fEguZmluZChpZT0+L2VuLUdCL2kudGVzdChpZS5sYW5nKSl8fEguZmluZChpZT0+L2VuLVVTL2kudGVzdChpZS5sYW5nKSl8fEguZmluZChpZT0+L15lbi9pLnRlc3QoaWUubGFuZykpfSkoKTtyZXR1cm4gRyYmKEkudm9pY2U9RyksVi5zcGVhayhJKSwoKT0+Vi5jYW5jZWwoKX0sW3QsbixsLHAudm9dKTtjb25zdCBqPXAuc2NlbmU/U3JbcC5zY2VuZV06bnVsbCxBPU1hdGguZmxvb3IoYy8xZTMpLEU9TWF0aC5mbG9vcihBLzYwKSxrPVN0cmluZyhBJTYwKS5wYWRTdGFydCgyLCIwIiksRD1wLnRpbHQ7cmV0dXJuIHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJiZC1kZW1vLXJvb3QiLHN0eWxlOnttaW5IZWlnaHQ6ZT8wOiIxMDB2aCIsaGVpZ2h0OmU/IjEwMCUiOiIxMDB2aCIsYmFja2dyb3VuZDoicmFkaWFsLWdyYWRpZW50KDEzMCUgOTAlIGF0IDUwJSAwJSwgIzA3NTQ2NiAwJSwgIzAxM0I0OSAzOCUsICMwMjFiMjIgNzIlLCAjMGExYTIyIDEwMCUpIixmb250RmFtaWx5OiInVWJ1bnR1JywgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU0YgUHJvIERpc3BsYXknLCBzeXN0ZW0tdWksIHNhbnMtc2VyaWYiLFdlYmtpdEZvbnRTbW9vdGhpbmc6ImFudGlhbGlhc2VkIixkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4iLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciIsZ2FwOjAscGFkZGluZzoiMCIscG9zaXRpb246InJlbGF0aXZlIixvdmVyZmxvdzoiaGlkZGVuIixib3JkZXJSYWRpdXM6ZT8yNDowfSxjaGlsZHJlbjpbcy5qc3goImRpdiIse3N0eWxlOntwb3NpdGlvbjoiYWJzb2x1dGUiLGluc2V0OjAscG9pbnRlckV2ZW50czoibm9uZSIsYmFja2dyb3VuZDoicmFkaWFsLWdyYWRpZW50KDEyMCUgODAlIGF0IDUwJSA0NSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgwLDAsMCwuNTUpIDEwMCUpIn19KSxzLmpzeChiZSx7bW9kZToid2FpdCIsY2hpbGRyZW46cy5qc3hzKHkuZGl2LHtpbml0aWFsOntvcGFjaXR5OjAseDotOH0sYW5pbWF0ZTp7b3BhY2l0eToxLHg6MH0sZXhpdDp7b3BhY2l0eTowfSx0cmFuc2l0aW9uOntkdXJhdGlvbjouNCxlYXNlOlJ9LHN0eWxlOntwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDoyMCxsZWZ0OjI0LGRpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsZ2FwOjgsekluZGV4OjUwfSxjaGlsZHJlbjpbcy5qc3goInNwYW4iLHtzdHlsZTp7Zm9udFNpemU6OSxmb250V2VpZ2h0OjcwMCxsZXR0ZXJTcGFjaW5nOiIxLjVweCIsdGV4dFRyYW5zZm9ybToidXBwZXJjYXNlIixjb2xvcjphLmFjY2VudH0sY2hpbGRyZW46U3RyaW5nKHQrMSkucGFkU3RhcnQoMiwiMCIpfSkscy5qc3goInNwYW4iLHtzdHlsZTp7d2lkdGg6MTQsaGVpZ2h0OjEsYmFja2dyb3VuZDoicmdiYSgyNTUsMjU1LDI1NSwuMikifX0pLHMuanN4KCJzcGFuIix7c3R5bGU6e2ZvbnRTaXplOjExLGZvbnRXZWlnaHQ6NTAwLGNvbG9yOiJyZ2JhKDI1NSwyNTUsMjU1LC42NSkiLGxldHRlclNwYWNpbmc6Ii4zcHgifSxjaGlsZHJlbjpwLmNhcHRpb259KV19LGBjaGlwLSR7cC5pZH1gKX0pLHMuanN4cygiZGl2Iix7c3R5bGU6e2ZsZXg6MSxtaW5IZWlnaHQ6MCxkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIiLGdhcDoyNCxwb3NpdGlvbjoicmVsYXRpdmUiLHpJbmRleDoxLHBhZGRpbmc6IjE2cHggMjRweCIsd2lkdGg6IjEwMCUiLGJveFNpemluZzoiYm9yZGVyLWJveCJ9LGNoaWxkcmVuOltzLmpzeHMoImRpdiIse3N0eWxlOntkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4iLGFsaWduSXRlbXM6ImNlbnRlciIsZ2FwOjE4LHdpZHRoOjI5MCxmbGV4U2hyaW5rOjB9LGNoaWxkcmVuOltzLmpzeCh5LmRpdix7c3R5bGU6e3BlcnNwZWN0aXZlOjEzMDAsdHJhbnNmb3JtU3R5bGU6InByZXNlcnZlLTNkIn0sYW5pbWF0ZTp7fSxjaGlsZHJlbjpzLmpzeCh5LmRpdix7YW5pbWF0ZTp7cm90YXRlWTpELnJvdGF0ZVkscm90YXRlWDpELnJvdGF0ZVgsc2NhbGU6RC5zY2FsZX0sdHJhbnNpdGlvbjp7ZHVyYXRpb246MS4xLGVhc2U6Un0sc3R5bGU6e3RyYW5zZm9ybVN0eWxlOiJwcmVzZXJ2ZS0zZCJ9LGNoaWxkcmVuOnMuanN4cyh5LmRpdix7YW5pbWF0ZTp7eTpbMCwtOCwwXX0sdHJhbnNpdGlvbjp7ZHVyYXRpb246NSxyZXBlYXQ6MS8wLGVhc2U6ImVhc2VJbk91dCJ9LHN0eWxlOntwb3NpdGlvbjoicmVsYXRpdmUifSxjaGlsZHJlbjpbcy5qc3goImRpdiIse3N0eWxlOntwb3NpdGlvbjoiYWJzb2x1dGUiLGluc2V0OiI4JSAxNCUiLGJvcmRlclJhZGl1czoiNTAlIixiYWNrZ3JvdW5kOmEuYWNjZW50LG9wYWNpdHk6LjE2LGZpbHRlcjoiYmx1cig1NXB4KSIsekluZGV4OjB9fSkscy5qc3goRnUse2NoaWxkcmVuOnMuanN4KGJlLHttb2RlOiJ3YWl0IixjaGlsZHJlbjpzLmpzeCh5LmRpdix7aW5pdGlhbDp7b3BhY2l0eTowfSxhbmltYXRlOntvcGFjaXR5OjF9LGV4aXQ6e29wYWNpdHk6MH0sdHJhbnNpdGlvbjp7ZHVyYXRpb246LjQ1LGVhc2U6Un0sc3R5bGU6e2hlaWdodDoiMTAwJSJ9LGNoaWxkcmVuOmo/cy5qc3goaix7fSk6bT9zLmpzeChMdSx7fSk6cy5qc3goQnUse30pfSxwLmlkKX0pfSldfSl9KX0pLHMuanN4KCJkaXYiLHtzdHlsZTp7cG9zaXRpb246InJlbGF0aXZlIix3aWR0aDoyOTAsaGVpZ2h0OjUyLGZsZXhTaHJpbms6MH0sY2hpbGRyZW46cy5qc3goYmUse21vZGU6IndhaXQiLGNoaWxkcmVuOnMuanN4KHkuZGl2LHtpbml0aWFsOntvcGFjaXR5OjAseTo4fSxhbmltYXRlOntvcGFjaXR5OjEseTowfSxleGl0OntvcGFjaXR5OjAseTotNH0sdHJhbnNpdGlvbjp7ZHVyYXRpb246LjUsZWFzZTpSfSxzdHlsZTp7cG9zaXRpb246ImFic29sdXRlIixpbnNldDowLGRpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImZsZXgtc3RhcnQiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIiLHRleHRBbGlnbjoiY2VudGVyIn0sY2hpbGRyZW46cy5qc3goInNwYW4iLHtzdHlsZTp7Zm9udFNpemU6MTYsZm9udFdlaWdodDo0MDAsY29sb3I6InJnYmEoMjU1LDI1NSwyNTUsLjkpIixsZXR0ZXJTcGFjaW5nOiItLjJweCIsbGluZUhlaWdodDoxLjV9LGNoaWxkcmVuOnAudm99KX0sYHZvLSR7cC5pZH1gKX0pfSldfSkscy5qc3hzKCJkaXYiLHtzdHlsZTp7ZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDoxMixwYWRkaW5nOiIxOHB4IDExcHgiLGJhY2tncm91bmQ6InJnYmEoMjU1LDI1NSwyNTUsLjA0KSIsYm9yZGVyOiIxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMDkpIixib3JkZXJSYWRpdXM6MTYsaGVpZ2h0OjUyNCxib3hTaXppbmc6ImJvcmRlci1ib3giLHpJbmRleDo1MH0sY2hpbGRyZW46W3MuanN4KHkuYnV0dG9uLHt3aGlsZVRhcDp7c2NhbGU6LjkyfSxvbkNsaWNrOm4/dzpiLHN0eWxlOnt3aWR0aDo0NCxoZWlnaHQ6NDQsYm9yZGVyUmFkaXVzOiI1MCUiLGJhY2tncm91bmQ6YS5hY2NlbnQsYm9yZGVyOiJub25lIixjb2xvcjoiI2ZmZiIsZm9udFNpemU6MTcsY3Vyc29yOiJwb2ludGVyIixmb250RmFtaWx5OiJpbmhlcml0IixkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIiLGJveFNoYWRvdzpgMCA4cHggMjRweCAke2EuYWNjZW50fTU1YCxmbGV4U2hyaW5rOjB9LGNoaWxkcmVuOm4/IuKPuCI6IuKWtiJ9KSxzLmpzeCh5LmJ1dHRvbix7d2hpbGVUYXA6e3NjYWxlOi45Mn0sb25DbGljazooKT0+cihWPT4hViksdGl0bGU6bD8iVW5tdXRlIHZvaWNlb3ZlciI6Ik11dGUgdm9pY2VvdmVyIixzdHlsZTp7d2lkdGg6MzQsaGVpZ2h0OjM0LGJvcmRlclJhZGl1czoiNTAlIixiYWNrZ3JvdW5kOmw/InJnYmEoMjU1LDI1NSwyNTUsLjA2KSI6YS5hY2NlbnRTb2Z0LGJvcmRlcjpgMXB4IHNvbGlkICR7bD8icmdiYSgyNTUsMjU1LDI1NSwuMSkiOmEuYWNjZW50R2xvd31gLGNvbG9yOmw/YS5tdXRlZDphLmFjY2VudCxmb250U2l6ZToxNCxjdXJzb3I6InBvaW50ZXIiLGZvbnRGYW1pbHk6ImluaGVyaXQiLGRpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciIsZmxleFNocmluazowfSxjaGlsZHJlbjpsPyLwn5SHIjoi8J+UiiJ9KSxzLmpzeCh5LmJ1dHRvbix7d2hpbGVUYXA6e3NjYWxlOi45Mn0sb25DbGljazpULHN0eWxlOnt3aWR0aDozNCxoZWlnaHQ6MzQsYm9yZGVyUmFkaXVzOiI1MCUiLGJhY2tncm91bmQ6InJnYmEoMjU1LDI1NSwyNTUsLjA2KSIsYm9yZGVyOiIxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMSkiLGNvbG9yOmEubXV0ZWQsZm9udFNpemU6MTMsY3Vyc29yOiJwb2ludGVyIixmb250RmFtaWx5OiJpbmhlcml0IixkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIiLGZsZXhTaHJpbms6MH0sY2hpbGRyZW46IuKGqSJ9KSxzLmpzeCh5LmJ1dHRvbix7d2hpbGVUYXA6e3NjYWxlOi45Mn0sb25DbGljazooKT0+UCh0LTEpLGRpc2FibGVkOnQ9PT0wLHN0eWxlOnt3aWR0aDozNCxoZWlnaHQ6MzQsYm9yZGVyUmFkaXVzOiI1MCUiLGJhY2tncm91bmQ6InJnYmEoMjU1LDI1NSwyNTUsLjA2KSIsYm9yZGVyOiIxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMSkiLGNvbG9yOmEubXV0ZWQsZm9udFNpemU6MTEsY3Vyc29yOiJwb2ludGVyIixmb250RmFtaWx5OiJpbmhlcml0IixkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIiLGZsZXhTaHJpbms6MCxvcGFjaXR5OnQ9PT0wPy4zOjF9LGNoaWxkcmVuOiLilrIifSkscy5qc3goImRpdiIse3N0eWxlOntmbGV4OjEsd2lkdGg6NCxtaW5IZWlnaHQ6NjAsYmFja2dyb3VuZDoicmdiYSgyNTUsMjU1LDI1NSwuMDgpIixib3JkZXJSYWRpdXM6MyxvdmVyZmxvdzoiaGlkZGVuIixwb3NpdGlvbjoicmVsYXRpdmUifSxjaGlsZHJlbjpzLmpzeCh5LmRpdix7YW5pbWF0ZTp7aGVpZ2h0OmAke1MqMTAwfSVgfSx0cmFuc2l0aW9uOntkdXJhdGlvbjouMDh9LHN0eWxlOntwb3NpdGlvbjoiYWJzb2x1dGUiLGJvdHRvbTowLGxlZnQ6MCxyaWdodDowLGJhY2tncm91bmQ6YGxpbmVhci1ncmFkaWVudCh0byB0b3AsICR7YS5hY2NlbnR9LCAjNGVjOTlhKWAsYm9yZGVyUmFkaXVzOjN9fSl9KSxzLmpzeCh5LmJ1dHRvbix7d2hpbGVUYXA6e3NjYWxlOi45Mn0sb25DbGljazooKT0+UCh0KzEpLGRpc2FibGVkOnQ+PVEubGVuZ3RoLTEsc3R5bGU6e3dpZHRoOjM0LGhlaWdodDozNCxib3JkZXJSYWRpdXM6IjUwJSIsYmFja2dyb3VuZDoicmdiYSgyNTUsMjU1LDI1NSwuMDYpIixib3JkZXI6IjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4xKSIsY29sb3I6YS5tdXRlZCxmb250U2l6ZToxMSxjdXJzb3I6InBvaW50ZXIiLGZvbnRGYW1pbHk6ImluaGVyaXQiLGRpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciIsZmxleFNocmluazowLG9wYWNpdHk6dD49US5sZW5ndGgtMT8uMzoxfSxjaGlsZHJlbjoi4pa8In0pLHMuanN4KCJkaXYiLHtzdHlsZTp7ZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixnYXA6NCxhbGlnbkl0ZW1zOiJjZW50ZXIifSxjaGlsZHJlbjpRLm1hcCgoVixJKT0+cy5qc3goeS5idXR0b24se3doaWxlVGFwOntzY2FsZTouOX0sb25DbGljazooKT0+UChJKSx0aXRsZTpWLmNhcHRpb24sc3R5bGU6e3dpZHRoOjYsaGVpZ2h0OjYsYm9yZGVyUmFkaXVzOiI1MCUiLGJvcmRlcjoibm9uZSIsY3Vyc29yOiJwb2ludGVyIixwYWRkaW5nOjAsYmFja2dyb3VuZDpJPT09dD9hLmFjY2VudDpJPHQ/YS5hY2NlbnQrIjY2IjoicmdiYSgyNTUsMjU1LDI1NSwuMTgpIn19LFYuaWQpKX0pLHMuanN4cygic3BhbiIse3N0eWxlOntmb250U2l6ZTo5LGNvbG9yOmEuZGltLGZvbnRWYXJpYW50TnVtZXJpYzoidGFidWxhci1udW1zIix0ZXh0QWxpZ246ImNlbnRlciIsbGluZUhlaWdodDoxLjR9LGNoaWxkcmVuOltFLCI6IixrXX0pXX0pXX0pXX0pfWZ1bmN0aW9uIFd1KHtwbGF5ZXI6ZX0pe2NvbnN0e2lzUGxheWluZzp0LHBsYXk6aSxwYXVzZTpuLHJlc2V0Om8scHJldjpsLG5leHQ6cixmbG93OmMsc3RlcEluZGV4OmR9PWUsdT17d2lkdGg6MzQsaGVpZ2h0OjM0LGJvcmRlclJhZGl1czo5LGJhY2tncm91bmQ6InJnYmEoMjU1LDI1NSwyNTUsMC4wNikiLGJvcmRlcjpgMXB4IHNvbGlkICR7YS5jaHJvbWVCZHJ9YCxjb2xvcjphLm11dGVkLGZvbnRTaXplOjEzLGN1cnNvcjoicG9pbnRlciIsZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoiY2VudGVyIixmb250RmFtaWx5OiJpbmhlcml0IixmbGV4U2hyaW5rOjB9O3JldHVybiBzLmpzeHMoImRpdiIse3N0eWxlOntkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4iLGFsaWduSXRlbXM6ImNlbnRlciIsZ2FwOjgscGFkZGluZzoiMTRweCAxMHB4IixiYWNrZ3JvdW5kOmEuY2hyb21lMixib3JkZXI6YDFweCBzb2xpZCAke2EuY2hyb21lQmRyfWAsYm9yZGVyUmFkaXVzOjE0LGhlaWdodDoiMTAwJSIsYm94U2l6aW5nOiJib3JkZXItYm94In0sY2hpbGRyZW46W3MuanN4KCJidXR0b24iLHtvbkNsaWNrOm8sc3R5bGU6dSx0aXRsZToiUmVzZXQiLGNoaWxkcmVuOiLihqkifSkscy5qc3goeS5idXR0b24se29uQ2xpY2s6dD9uOmksd2hpbGVUYXA6e3NjYWxlOi45Mn0sc3R5bGU6ey4uLnUsd2lkdGg6NDAsaGVpZ2h0OjQwLGJvcmRlclJhZGl1czoxMixiYWNrZ3JvdW5kOmMuY29sb3IrIjIyIixjb2xvcjpjLmNvbG9yLGJvcmRlcjpgMXB4IHNvbGlkICR7Yy5jb2xvcn01NWAsZm9udFNpemU6MTd9LGNoaWxkcmVuOnQ/IuKPuCI6IuKWtiJ9KSxzLmpzeCgiYnV0dG9uIix7b25DbGljazpsLGRpc2FibGVkOmQ9PT0wLHN0eWxlOnsuLi51LG9wYWNpdHk6ZD09PTA/LjM6MSxmb250U2l6ZToxMX0sY2hpbGRyZW46IuKWsiJ9KSxzLmpzeCgiZGl2Iix7c3R5bGU6e2ZsZXg6MSx3aWR0aDozLGJhY2tncm91bmQ6InJnYmEoMjU1LDI1NSwyNTUsMC4wOCkiLGJvcmRlclJhZGl1czoyLG92ZXJmbG93OiJoaWRkZW4iLHBvc2l0aW9uOiJyZWxhdGl2ZSIsbWluSGVpZ2h0OjQwfSxjaGlsZHJlbjpzLmpzeCh5LmRpdix7c3R5bGU6e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsYm90dG9tOjAsbGVmdDowLHJpZ2h0OjAsYmFja2dyb3VuZDpjLmNvbG9yLGJvcmRlclJhZGl1czoyfSxhbmltYXRlOntoZWlnaHQ6YCR7ZS50b3RhbFByb2dyZXNzKjEwMH0lYH0sdHJhbnNpdGlvbjp7ZHVyYXRpb246LjF9fSl9KSxzLmpzeCgiYnV0dG9uIix7b25DbGljazpyLGRpc2FibGVkOmQ+PWMuc3RlcHMubGVuZ3RoLTEsc3R5bGU6ey4uLnUsb3BhY2l0eTpkPj1jLnN0ZXBzLmxlbmd0aC0xPy4zOjEsZm9udFNpemU6MTF9LGNoaWxkcmVuOiLilrwifSkscy5qc3hzKCJzcGFuIix7c3R5bGU6e2ZvbnRTaXplOjksY29sb3I6YS5kaW0sZm9udFZhcmlhbnROdW1lcmljOiJ0YWJ1bGFyLW51bXMiLHRleHRBbGlnbjoiY2VudGVyIixsaW5lSGVpZ2h0OjEuNH0sY2hpbGRyZW46W2QrMSxzLmpzeCgiYnIiLHt9KSxzLmpzeHMoInNwYW4iLHtzdHlsZTp7Y29sb3I6YS5kaW19LGNoaWxkcmVuOlsiLyIsYy5zdGVwcy5sZW5ndGhdfSldfSldfSl9ZnVuY3Rpb24gT3UoKXt2YXIgbTtjb25zdFtlLHRdPVRyKCk7aWYoZS5nZXQoIm1vZGUiKT09PSJ2aWRlbyIpcmV0dXJuIHMuanN4KHdyLHt9KTtjb25zdCBpPShtPWUuZ2V0KCJmbG93IikpPT1udWxsP3ZvaWQgMDptLnRvVXBwZXJDYXNlKCksW24sb109eC51c2VTdGF0ZShpJiZbIkEiLCJCIiwiQyIsIkQiXS5pbmNsdWRlcyhpPz8iIik/aToiQSIpLGw9ZHUobikse2Zsb3c6cixzdGVwOmMsc3RlcEluZGV4OmQsaXNQbGF5aW5nOnUscHJvZ3Jlc3M6aH09bDt4LnVzZUVmZmVjdCgoKT0+e3Qoe2Zsb3c6bn0se3JlcGxhY2U6ITB9KX0sW24sdF0pLHgudXNlRWZmZWN0KCgpPT57aSYmbC5wbGF5KCl9LFtdKTtjb25zdCBmPWc9PntvKGcpLGwucmVzZXQoKX0scD1TcltjLnNjcmVlbl07cmV0dXJuIHMuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJiZC1kZW1vLXJvb3QiLHN0eWxlOntoZWlnaHQ6IjEwMHZoIixvdmVyZmxvdzoiaGlkZGVuIixiYWNrZ3JvdW5kOiIjMGExYTIyIixjb2xvcjphLnRleHQyLGZvbnRGYW1pbHk6IidVYnVudHUnLCAtYXBwbGUtc3lzdGVtLCBzeXN0ZW0tdWksIHNhbnMtc2VyaWYiLFdlYmtpdEZvbnRTbW9vdGhpbmc6ImFudGlhbGlhc2VkIixkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4ifSxjaGlsZHJlbjpbcy5qc3hzKCJkaXYiLHtzdHlsZTp7ZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixnYXA6MTIscGFkZGluZzoiOHB4IDIycHgiLGJvcmRlckJvdHRvbTpgMXB4IHNvbGlkICR7YS5jaHJvbWVCZHJ9YCxiYWNrZ3JvdW5kOmEuY2hyb21lMixmbGV4U2hyaW5rOjAsaGVpZ2h0OjQ0fSxjaGlsZHJlbjpbcy5qc3hzKCJkaXYiLHtzdHlsZTp7ZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixnYXA6OX0sY2hpbGRyZW46W3MuanN4cygic3ZnIix7d2lkdGg6IjI0IixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgNjQgNjQiLHhtbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsc3R5bGU6e2NvbG9yOmEuYWNjZW50LGZsZXhTaHJpbms6MH0sY2hpbGRyZW46W3MuanN4cygiZyIse2ZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMyIsc3Ryb2tlTGluZWpvaW46InJvdW5kIixzdHJva2VMaW5lY2FwOiJyb3VuZCIsY2hpbGRyZW46W3MuanN4KCJwYXRoIix7ZDoiTTMyIDYgTDU2IDIwIEw1NiA0NiBMMzIgNjAgTDggNDYgTDggMjAgWiJ9KSxzLmpzeCgicGF0aCIse2Q6Ik0zMiA2IEwzMiAzMiBNOCAyMCBMMzIgMzIgTTU2IDIwIEwzMiAzMiJ9KV19KSxzLmpzeHMoImciLHtmaWxsOiJjdXJyZW50Q29sb3IiLGNoaWxkcmVuOltzLmpzeCgiY2lyY2xlIix7Y3g6IjIwIixjeToiMjYiLHI6IjIuNCJ9KSxzLmpzeCgiY2lyY2xlIix7Y3g6IjIwIixjeToiMzQiLHI6IjIuNCJ9KSxzLmpzeCgiY2lyY2xlIix7Y3g6IjQ0IixjeToiMzQiLHI6IjIuNCJ9KV19KV19KSxzLmpzeCgic3BhbiIse3N0eWxlOntmb250V2VpZ2h0OjcwMCxmb250U2l6ZToxMyxjb2xvcjphLnRleHR9LGNoaWxkcmVuOiJCbGFja0RpY2UifSkscy5qc3goInNwYW4iLHtzdHlsZTp7Zm9udFdlaWdodDo3MDAsZm9udFNpemU6MTMsY29sb3I6YS5hY2NlbnQsbWFyZ2luTGVmdDotNX0sY2hpbGRyZW46IkFuZ2VsIn0pXX0pLHMuanN4KCJkaXYiLHtzdHlsZTp7d2lkdGg6MSxoZWlnaHQ6MTQsYmFja2dyb3VuZDphLmNocm9tZUJkcn19KSxzLmpzeCgic3BhbiIse3N0eWxlOntmb250U2l6ZToxMSxjb2xvcjphLmRpbX0sY2hpbGRyZW46IkRlbW8gUGxheWVyIn0pLHMuanN4KCJkaXYiLHtzdHlsZTp7ZmxleDoxfX0pLHMuanN4KCJkaXYiLHtzdHlsZTp7ZGlzcGxheToiZmxleCIsZ2FwOjV9LGNoaWxkcmVuOmN1Lm1hcChnPT5zLmpzeHMoeS5idXR0b24se29uQ2xpY2s6KCk9PmYoZy5pZCksd2hpbGVUYXA6e3NjYWxlOi45NX0sc3R5bGU6e3BhZGRpbmc6IjNweCAxMXB4Iixib3JkZXJSYWRpdXM6Nyxmb250U2l6ZToxMSxmb250V2VpZ2h0OjUwMCxjdXJzb3I6InBvaW50ZXIiLGZvbnRGYW1pbHk6ImluaGVyaXQiLHRyYW5zaXRpb246ImFsbCAuMTVzIixib3JkZXI6YDFweCBzb2xpZCAke249PT1nLmlkP2cuY29sb3I6YS5jaHJvbWVCZHJ9YCxiYWNrZ3JvdW5kOm49PT1nLmlkP2cuY29sb3IrIjIwIjoicmdiYSgyNTUsMjU1LDI1NSwwLjA0KSIsY29sb3I6bj09PWcuaWQ/Zy5jb2xvcjphLmRpbX0sY2hpbGRyZW46W2cuaWQsIiDCtyAiLGcuZHVyYXRpb25TZWMsInMiXX0sZy5pZCkpfSldfSkscy5qc3hzKCJkaXYiLHtzdHlsZTp7ZGlzcGxheToiZmxleCIsZmxleDoxLG92ZXJmbG93OiJoaWRkZW4ifSxjaGlsZHJlbjpbcy5qc3hzKCJkaXYiLHtzdHlsZTp7d2lkdGg6MjM2LGJvcmRlclJpZ2h0OmAxcHggc29saWQgJHthLmNocm9tZUJkcn1gLHBhZGRpbmc6IjE0cHggMTBweCIsZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixnYXA6OCxvdmVyZmxvd1k6ImF1dG8iLGZsZXhTaHJpbms6MCxiYWNrZ3JvdW5kOiJyZ2JhKDI1NSwyNTUsMjU1LDAuMDMpIn0sY2hpbGRyZW46W3MuanN4cygiZGl2Iix7Y2hpbGRyZW46W3MuanN4KCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6MTIsZm9udFdlaWdodDo2MDAsY29sb3I6YS50ZXh0LG1hcmdpbkJvdHRvbToxfSxjaGlsZHJlbjpyLnRpdGxlfSkscy5qc3goImRpdiIse3N0eWxlOntmb250U2l6ZToxMCxjb2xvcjphLmRpbX0sY2hpbGRyZW46ci5zdWJ0aXRsZX0pXX0pLHMuanN4KCJkaXYiLHtzdHlsZTp7ZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixnYXA6Mn0sY2hpbGRyZW46ci5zdGVwcy5tYXAoKGcsdik9Pntjb25zdCBTPXY9PT1kLGI9djxkO3JldHVybiBzLmpzeHMoImJ1dHRvbiIse29uQ2xpY2s6KCk9PmwuZ29Ubyh2KSxzdHlsZTp7ZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiZmxleC1zdGFydCIsZ2FwOjcscGFkZGluZzoiN3B4IDlweCIsYm9yZGVyUmFkaXVzOjksYm9yZGVyOmAxcHggc29saWQgJHtTP3IuY29sb3IrIjU1IjphLmNocm9tZUJkcn1gLGJhY2tncm91bmQ6Uz9yLmNvbG9yKyIxMiI6Yj8icmdiYSgyNTUsMjU1LDI1NSwuMDMpIjoidHJhbnNwYXJlbnQiLGN1cnNvcjoicG9pbnRlciIsdGV4dEFsaWduOiJsZWZ0Iix3aWR0aDoiMTAwJSIsZm9udEZhbWlseToiaW5oZXJpdCJ9LGNoaWxkcmVuOltzLmpzeCgiZGl2Iix7c3R5bGU6e3dpZHRoOjE3LGhlaWdodDoxNyxib3JkZXJSYWRpdXM6IjUwJSIsZmxleFNocmluazowLG1hcmdpblRvcDoxLGRpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciIsZm9udFNpemU6OCxiYWNrZ3JvdW5kOlM/ci5jb2xvcjpiP2EuYWNjZW50KyIzMCI6InJnYmEoMjU1LDI1NSwyNTUsLjA2KSIsYm9yZGVyOmAxLjVweCBzb2xpZCAke1M/ci5jb2xvcjpiP2EuYWNjZW50OmEuY2hyb21lQmRyfWAsY29sb3I6Yj9hLmFjY2VudDpTPyIjZmZmIjphLmRpbX0sY2hpbGRyZW46Yj8i4pyTIjp2KzF9KSxzLmpzeHMoImRpdiIse3N0eWxlOntmbGV4OjEsbWluV2lkdGg6MH0sY2hpbGRyZW46W3MuanN4KCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6MTEsZm9udFdlaWdodDpTPzYwMDo0MDAsY29sb3I6Uz9hLnRleHQ6YS5tdXRlZCx3aGl0ZVNwYWNlOiJub3dyYXAiLG92ZXJmbG93OiJoaWRkZW4iLHRleHRPdmVyZmxvdzoiZWxsaXBzaXMifSxjaGlsZHJlbjpnLmxhYmVsfSksUyYmcy5qc3hzKHMuRnJhZ21lbnQse2NoaWxkcmVuOltzLmpzeCgiZGl2Iix7c3R5bGU6e2ZvbnRTaXplOjksY29sb3I6YS5kaW0sbWFyZ2luVG9wOjIsbGluZUhlaWdodDoxLjR9LGNoaWxkcmVuOmcuY2FwdGlvbn0pLHMuanN4KCJkaXYiLHtzdHlsZTp7aGVpZ2h0OjIsYmFja2dyb3VuZDoicmdiYSgyNTUsMjU1LDI1NSwuMDcpIixib3JkZXJSYWRpdXM6MSxvdmVyZmxvdzoiaGlkZGVuIixtYXJnaW5Ub3A6NH0sY2hpbGRyZW46dSYmcy5qc3goeS5kaXYse3N0eWxlOntoZWlnaHQ6IjEwMCUiLGJhY2tncm91bmQ6ci5jb2xvcixib3JkZXJSYWRpdXM6MX0sYW5pbWF0ZTp7d2lkdGg6YCR7aCoxMDB9JWB9LHRyYW5zaXRpb246e2R1cmF0aW9uOi4xfX0pfSldfSldfSkscy5qc3hzKCJzcGFuIix7c3R5bGU6e2ZvbnRTaXplOjksY29sb3I6YS5kaW0sZmxleFNocmluazowfSxjaGlsZHJlbjpbZy5kdXJhdGlvbk1zLzFlMywicyJdfSldfSxnLmlkKX0pfSksYy5jYW1lcmEmJnMuanN4cygiZGl2Iix7c3R5bGU6e2JhY2tncm91bmQ6InJnYmEoMjU1LDI1NSwyNTUsLjA0KSIsYm9yZGVyOmAxcHggc29saWQgJHthLmNocm9tZUJkcn1gLGJvcmRlclJhZGl1czo4LHBhZGRpbmc6IjhweCAxMHB4In0sY2hpbGRyZW46W3MuanN4KCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6OSxjb2xvcjphLmFjY2VudCxmb250V2VpZ2h0OjcwMCxtYXJnaW5Cb3R0b206MixsZXR0ZXJTcGFjaW5nOiIuNXB4In0sY2hpbGRyZW46IkNBTUVSQSJ9KSxzLmpzeCgiZGl2Iix7c3R5bGU6e2ZvbnRTaXplOjksY29sb3I6YS5kaW0sbGluZUhlaWdodDoxLjV9LGNoaWxkcmVuOmMuY2FtZXJhfSldfSldfSkscy5qc3hzKCJkaXYiLHtzdHlsZTp7ZmxleDoxLGRpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciIsb3ZlcmZsb3c6ImhpZGRlbiIscGFkZGluZzoiMTZweCAxMnB4IixnYXA6MTB9LGNoaWxkcmVuOltzLmpzeHMoImRpdiIse3N0eWxlOnt3aWR0aDozMDAsaGVpZ2h0OiIxMDAlIixtYXhIZWlnaHQ6NzAwLGZsZXhTaHJpbms6MCxwb3NpdGlvbjoicmVsYXRpdmUiLGJvcmRlclJhZGl1czozNCxib3JkZXI6IjlweCBzb2xpZCAjMWMyYTMxIixiYWNrZ3JvdW5kOmEuYmcsYmFja2dyb3VuZEltYWdlOmEuYmdHcmFkLG92ZXJmbG93OiJoaWRkZW4iLGJveFNoYWRvdzpgMCAyNHB4IDU2cHggcmdiYSgwLDAsMCwuNjUpLCAwIDAgMCAxcHggJHtyLmNvbG9yfTMzYH0sY2hpbGRyZW46W3MuanN4cygiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGp1c3RpZnlDb250ZW50OiJzcGFjZS1iZXR3ZWVuIixhbGlnbkl0ZW1zOiJjZW50ZXIiLHBhZGRpbmc6IjEwcHggMThweCA0cHgiLGZvbnRTaXplOjEwLGNvbG9yOmEubXV0ZWR9LGNoaWxkcmVuOltzLmpzeCgic3BhbiIse3N0eWxlOntmb250V2VpZ2h0OjYwMH0sY2hpbGRyZW46Ijk6NDEifSkscy5qc3goInNwYW4iLHtzdHlsZTp7Zm9udFNpemU6OCxmb250V2VpZ2h0OjgwMCxjb2xvcjpyLmNvbG9yLGJhY2tncm91bmQ6ci5jb2xvcisiMjIiLHBhZGRpbmc6IjFweCA2cHgiLGJvcmRlclJhZGl1czo0LGxldHRlclNwYWNpbmc6Ii41cHgifSxjaGlsZHJlbjoiREVNTyJ9KSxzLmpzeCgic3BhbiIse2NoaWxkcmVuOiLilrIgMTAwJSJ9KV19KSxzLmpzeCgiZGl2Iix7c3R5bGU6e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOjM0LGJvdHRvbTo1NixsZWZ0OjAscmlnaHQ6MCxvdmVyZmxvd1k6ImF1dG8iLHBhZGRpbmc6IjZweCAxM3B4IDhweCIsV2Via2l0T3ZlcmZsb3dTY3JvbGxpbmc6InRvdWNoIn0sY2hpbGRyZW46cy5qc3goYmUse21vZGU6IndhaXQiLGNoaWxkcmVuOnMuanN4KHkuZGl2LHtpbml0aWFsOntvcGFjaXR5OjAseDotOH0sYW5pbWF0ZTp7b3BhY2l0eToxLHg6MH0sZXhpdDp7b3BhY2l0eTowLHg6OH0sdHJhbnNpdGlvbjp7ZHVyYXRpb246LjIsZWFzZTpSfSxzdHlsZTp7aGVpZ2h0OiIxMDAlIn0sY2hpbGRyZW46cD9zLmpzeChwLHt9KTpzLmpzeCgiZGl2Iix7c3R5bGU6e2NvbG9yOmEuZGltLHRleHRBbGlnbjoiY2VudGVyIixwYWRkaW5nOjQwfSxjaGlsZHJlbjoi4oCUIn0pfSxgJHtufS0ke2R9YCl9KX0pLHMuanN4KCJkaXYiLHtzdHlsZTp7cG9zaXRpb246ImFic29sdXRlIixsZWZ0OjAscmlnaHQ6MCxib3R0b206MCxoZWlnaHQ6NTYsYmFja2dyb3VuZDphLnN1cmZhY2VTdHIsYm9yZGVyVG9wOmAxcHggc29saWQgJHthLmJvcmRlcn1gLGRpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6InNwYWNlLWFyb3VuZCIscGFkZGluZ0JvdHRvbToyfSxjaGlsZHJlbjpbe0ljb246ZnIsbGFiZWw6IkhvbWUiLGFjdGl2ZTpbImhvbWUiLCJhbGVydC10b2FzdCIsInJlc29sdmVkIl0uaW5jbHVkZXMoYy5zY3JlZW4pfSx7SWNvbjpwcixsYWJlbDoiRmFtaWx5IixhY3RpdmU6WyJlbW1hLXByb2ZpbGUiLCJub3RpZi1wYW5lbCJdLmluY2x1ZGVzKGMuc2NyZWVuKX0se0ljb246Z3IsbGFiZWw6IkRldmljZXMiLGFjdGl2ZTpbImRldmljZS1wczUiLCJkZXZpY2VzLWxpc3QiLCJzY2FuLXJ1bm5pbmciXS5pbmNsdWRlcyhjLnNjcmVlbil9LHtJY29uOm1yLGxhYmVsOiJDb250cm9scyIsYWN0aXZlOlsidGltZWxpbmUiLCJpcC1kZXRhaWwiLCJzY29wZSJdLmluY2x1ZGVzKGMuc2NyZWVuKX0se0ljb246aHIsbGFiZWw6IkFsZXJ0cyIsYWN0aXZlOiExfV0ubWFwKGc9PnMuanN4cygiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGZsZXhEaXJlY3Rpb246ImNvbHVtbiIsYWxpZ25JdGVtczoiY2VudGVyIixnYXA6Mixmb250U2l6ZTo5LGNvbG9yOmcuYWN0aXZlP2EuYWNjZW50OmEuZGltLGN1cnNvcjoicG9pbnRlciJ9LGNoaWxkcmVuOltzLmpzeChnLkljb24se3NpemU6MTgsc3R5bGU6e2NvbG9yOmcuYWN0aXZlP2EuYWNjZW50OmEuZGltfX0pLGcubGFiZWxdfSxnLmxhYmVsKSl9KV19KSxzLmpzeCgiZGl2Iix7c3R5bGU6e3dpZHRoOjU0LGhlaWdodDoiMTAwJSIsbWF4SGVpZ2h0OjcwMCxmbGV4U2hyaW5rOjB9LGNoaWxkcmVuOnMuanN4KFd1LHtwbGF5ZXI6bH0pfSldfSkscy5qc3hzKCJkaXYiLHtzdHlsZTp7d2lkdGg6MjEwLGJvcmRlckxlZnQ6YDFweCBzb2xpZCAke2EuY2hyb21lQmRyfWAscGFkZGluZzoiMTRweCAxMnB4IixkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4iLGdhcDoxMixmbGV4U2hyaW5rOjAsb3ZlcmZsb3dZOiJhdXRvIixiYWNrZ3JvdW5kOiJyZ2JhKDI1NSwyNTUsMjU1LDAuMDMpIn0sY2hpbGRyZW46W3MuanN4cygiZGl2Iix7Y2hpbGRyZW46W3MuanN4KCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6OSxjb2xvcjphLmRpbSxmb250V2VpZ2h0OjcwMCxsZXR0ZXJTcGFjaW5nOiIuNnB4Iix0ZXh0VHJhbnNmb3JtOiJ1cHBlcmNhc2UiLG1hcmdpbkJvdHRvbTo0fSxjaGlsZHJlbjoiU2NlbmUifSkscy5qc3goImRpdiIse3N0eWxlOntmb250U2l6ZToxMixmb250V2VpZ2h0OjYwMCxjb2xvcjphLnRleHQsbWFyZ2luQm90dG9tOjN9LGNoaWxkcmVuOmMubGFiZWx9KSxzLmpzeCgiZGl2Iix7c3R5bGU6e2ZvbnRTaXplOjEwLGNvbG9yOmEuZGltLGxpbmVIZWlnaHQ6MS41fSxjaGlsZHJlbjpjLmNhcHRpb259KV19KSxzLmpzeCgiZGl2Iix7c3R5bGU6e2hlaWdodDoxLGJhY2tncm91bmQ6YS5jaHJvbWVCZHJ9fSkscy5qc3hzKCJkaXYiLHtjaGlsZHJlbjpbcy5qc3goImRpdiIse3N0eWxlOntmb250U2l6ZTo5LGNvbG9yOmEuZGltLGZvbnRXZWlnaHQ6NzAwLGxldHRlclNwYWNpbmc6Ii42cHgiLHRleHRUcmFuc2Zvcm06InVwcGVyY2FzZSIsbWFyZ2luQm90dG9tOjR9LGNoaWxkcmVuOiJUaW1pbmcifSkscy5qc3hzKCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6MTIsY29sb3I6YS50ZXh0Mn0sY2hpbGRyZW46W2MuZHVyYXRpb25Ncy8xZTMsInMgdGhpcyBzY2VuZSJdfSkscy5qc3hzKCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6MTAsY29sb3I6YS5kaW0sbWFyZ2luVG9wOjJ9LGNoaWxkcmVuOltyLmR1cmF0aW9uU2VjLCJzIHRvdGFsIMK3IEZsb3cgIixyLmlkXX0pXX0pLHMuanN4KCJkaXYiLHtzdHlsZTp7aGVpZ2h0OjEsYmFja2dyb3VuZDphLmNocm9tZUJkcn19KSxzLmpzeHMoImRpdiIse2NoaWxkcmVuOltzLmpzeCgiZGl2Iix7c3R5bGU6e2ZvbnRTaXplOjksY29sb3I6YS5kaW0sZm9udFdlaWdodDo3MDAsbGV0dGVyU3BhY2luZzoiLjZweCIsdGV4dFRyYW5zZm9ybToidXBwZXJjYXNlIixtYXJnaW5Cb3R0b206NH0sY2hpbGRyZW46IlJlY29yZGluZyB0aXAifSkscy5qc3hzKCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6MTAsY29sb3I6YS5kaW0sbGluZUhlaWdodDoxLjZ9LGNoaWxkcmVuOlsiUHJlc3Mg4pa2IHRvIGF1dG8tYWR2YW5jZS4gUmVjb3JkIGF0IDYwZnBzIDEwODBwLiBEaXJlY3QgVVJMOiAiLHMuanN4cygiY29kZSIse3N0eWxlOntjb2xvcjphLmFjY2VudCxmb250U2l6ZTo5fSxjaGlsZHJlbjpbIj9mbG93PSIsbl19KV19KV19KSxzLmpzeHMoImRpdiIse3N0eWxlOnttYXJnaW5Ub3A6ImF1dG8iLHBhZGRpbmc6IjEwcHggMTJweCIsYmFja2dyb3VuZDpyLmNvbG9yKyIxMiIsYm9yZGVyOmAxcHggc29saWQgJHtyLmNvbG9yfTMzYCxib3JkZXJSYWRpdXM6MTB9LGNoaWxkcmVuOltzLmpzeHMoImRpdiIse3N0eWxlOntmb250U2l6ZToxMSxmb250V2VpZ2h0OjcwMCxjb2xvcjpyLmNvbG9yfSxjaGlsZHJlbjpbIkZsb3cgIixyLmlkLCIgwrcgIixyLmR1cmF0aW9uU2VjLCJzIl19KSxzLmpzeCgiZGl2Iix7c3R5bGU6e2ZvbnRTaXplOjksY29sb3I6YS5kaW0sbWFyZ2luVG9wOjIsbGluZUhlaWdodDoxLjV9LGNoaWxkcmVuOnIuc3VidGl0bGV9KV19KV19KV19KV19KX1jb25zdCBLdT1PYmplY3QuZnJlZXplKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7X19wcm90b19fOm51bGwsU2NlbmVIb21lOlFpLFZpZGVvUGxheWVyOndyLGRlZmF1bHQ6T3V9LFN5bWJvbC50b1N0cmluZ1RhZyx7dmFsdWU6Ik1vZHVsZSJ9KSk7ZXhwb3J0e2JlIGFzIEEsS3UgYXMgRCxmciBhcyBJLFFpIGFzIFMsd3IgYXMgVixkaSBhcyBhLHByIGFzIGIsZ3IgYXMgYyxtciBhcyBkLGhyIGFzIGUsV2UgYXMgZixfdSBhcyBnLEh1IGFzIGgsJHUgYXMgaSxxaSBhcyBqLHplIGFzIGssZmUgYXMgbCx5IGFzIG0sdXIgYXMgbn07Cg==","virtual:DemoVideoPage-VG8NEAgN.js":"data:text/javascript;base64,aW1wb3J0e3UgYXMgbyxqIGFzIGV9ZnJvbSJ2aXJ0dWFsOmluZGV4LXFuMEZjQkN3LmpzIjtpbXBvcnR7ViBhcyB0fWZyb20idmlydHVhbDpEZW1vU2NyZWVuLUREaWFyY05ILmpzIjtmdW5jdGlvbiBhKCl7Y29uc3QgaT1vKCk7cmV0dXJuIGUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJiZC1kZW1vLXJvb3QiLHN0eWxlOntwb3NpdGlvbjoicmVsYXRpdmUiLG1pbkhlaWdodDoiMTAwdmgiLGJhY2tncm91bmQ6IiMwMTBlMTQifSxjaGlsZHJlbjpbZS5qc3goImJ1dHRvbiIse29uQ2xpY2s6KCk9PmkoIi8iKSxzdHlsZTp7cG9zaXRpb246ImZpeGVkIix0b3A6MTgsbGVmdDoyMix6SW5kZXg6ODAsZGlzcGxheToiaW5saW5lLWZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsZ2FwOjcsZm9udEZhbWlseToiJ1VidW50dScsIHN5c3RlbS11aSwgc2Fucy1zZXJpZiIsZm9udFNpemU6MTMsZm9udFdlaWdodDo1MDAsY29sb3I6InJnYmEoMjU1LDI1NSwyNTUsLjc1KSIsYmFja2dyb3VuZDoicmdiYSgwLDAsMCwuNDUpIixiYWNrZHJvcEZpbHRlcjoiYmx1cigxMHB4KSIsYm9yZGVyOiIxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMTIpIixib3JkZXJSYWRpdXM6MTAwLHBhZGRpbmc6IjdweCAxNHB4IixjdXJzb3I6InBvaW50ZXIifSxjaGlsZHJlbjoi4oaQIEJhY2sgdG8gc2l0ZSJ9KSxlLmpzeCh0LHt9KV19KX1leHBvcnR7YSBhcyBkZWZhdWx0fTsK","virtual:index-qn0FcBCw.js":"data:text/javascript;base64,Y29uc3QgX192aXRlX19tYXBEZXBzPShpLG09X192aXRlX19tYXBEZXBzLGQ9KG0uZnx8KG0uZj1bImFzc2V0cy9TaXRlQXBwLUJzQUp4WFZXLmpzIiwiZGF0YTp0ZXh0L2NzcztiYXNlNjQsT25KdmIzUjdMUzFpWnpvZ0l6QXhNMkkwT1RzdExYTXhPaUFqTURVMFlqVmlPeTB0WVhnNklDTXpZbUkxT0RZN0xTMWhlREk2SUNObU16ZGtNV1U3TFMxaGVHUTZJSEpuWW1Fb05Ua3NJREU0TVN3Z01UTTBMQ0F1TURncE95MHRZWGhpT2lCeVoySmhLRFU1TENBeE9ERXNJREV6TkN3Z0xqSXBPeTB0ZEhoME9pQWpaVGhtTkdZek95MHRkREk2SUhKblltRW9Nak15TENBeU5EUXNJREkwTXl3Z0xqWTFLVHN0TFhRek9pQnlaMkpoS0RJek1pd2dNalEwTENBeU5ETXNJQzR6TlNrN0xTMWlaSEk2SUhKblltRW9NalUxTENBeU5UVXNJREkxTlN3Z0xqQTRLVHN0TFdKa2NqSTZJSEpuWW1Fb01qVTFMQ0F5TlRVc0lESTFOU3dnTGpFMUtUc3RMV1ptT2lBaVZXSjFiblIxSWl3Z2MzbHpkR1Z0TFhWcExDQnpZVzV6TFhObGNtbG1PeTB0Wm0wNklDSlZZblZ1ZEhVZ1RXOXVieUlzSUhWcExXMXZibTl6Y0dGalpTd2diVzl1YjNOd1lXTmxPeTB0YUdWNExYTjBjbTlyWlRvZ2NtZGlZU2cxT1N3Z01UZ3hMQ0F4TXpRc0lDNHpPQ2s3TFMxb1pYZ3RaRzkwT2lCeVoySmhLRFU1TENBeE9ERXNJREV6TkN3Z0xqa3BPeTB0WW1jdFozSmhaRG9nY21Ga2FXRnNMV2R5WVdScFpXNTBLQ0F4TkRBbElEa3dKU0JoZENBMU1DVWdNQ1VzSUNNd056VTBOallnTUNVc0lDTXdNVE5pTkRrZ05UVWxMQ0FqTURFek1ETmlJREV3TUNVZ0tYMHFMQ282WW1WbWIzSmxMQ282WVdaMFpYSjdZbTk0TFhOcGVtbHVaenBpYjNKa1pYSXRZbTk0TzIxaGNtZHBiam93TzNCaFpHUnBibWM2TUgxb2RHMXNlMjkyWlhKbWJHOTNMWGc2YUdsa1pHVnVPM05qY205c2JDMWlaV2hoZG1sdmNqcHpiVzl2ZEdoOVltOWtlWHRtYjI1MExXWmhiV2xzZVRwMllYSW9MUzFtWmlrN1ltRmphMmR5YjNWdVpEcDJZWElvTFMxaVp5azdZbUZqYTJkeWIzVnVaQzFwYldGblpUcDJZWElvTFMxaVp5MW5jbUZrS1R0amIyeHZjanAyWVhJb0xTMTBlSFFwT3kxM1pXSnJhWFF0Wm05dWRDMXpiVzl2ZEdocGJtYzZZVzUwYVdGc2FXRnpaV1E3YkdsdVpTMW9aV2xuYUhRNk1TNDJPMjkyWlhKbWJHOTNMWGc2YUdsa1pHVnVmV0Y3ZEdWNGRDMWtaV052Y21GMGFXOXVPbTV2Ym1VN1kyOXNiM0k2YVc1b1pYSnBkSDFpZFhSMGIyNTdZM1Z5YzI5eU9uQnZhVzUwWlhJN1ltOXlaR1Z5T201dmJtVTdZbUZqYTJkeWIzVnVaRHB1YjI1bE8yWnZiblF0Wm1GdGFXeDVPblpoY2lndExXWm1LWDFwYm5CMWRDeDBaWGgwWVhKbFlYdG1iMjUwTFdaaGJXbHNlVHAyWVhJb0xTMW1aaWw5TG5CbmUzQmhaR1JwYm1jdGRHOXdPalkwY0hoOVFHdGxlV1p5WVcxbGN5QmlaQzF3ZFd4elpYc3dKU3gwYjN0dmNHRmphWFI1T2pGOU5UQWxlMjl3WVdOcGRIazZMako5ZlVCclpYbG1jbUZ0WlhNZ1ltUXRjMnhwWkdWN01DVjdiM0JoWTJsMGVUb3dPM1J5WVc1elptOXliVHAwY21GdWMyeGhkR1VvTFRad2VDbDlkRzk3YjNCaFkybDBlVG94TzNSeVlXNXpabTl5YlRwMGNtRnVjMnhoZEdVb01DbDlmVUJyWlhsbWNtRnRaWE1nWW1RdFozSnBaSHN3Slh0aVlXTnJaM0p2ZFc1a0xYQnZjMmwwYVc5dU9qQWdNSDEwYjN0aVlXTnJaM0p2ZFc1a0xYQnZjMmwwYVc5dU9qUTRjSGdnTkRod2VIMTlRR3RsZVdaeVlXMWxjeUJpWkMxelkyRnVlekFsZTNSeVlXNXpabTl5YlRwMGNtRnVjMnhoZEdWWktDMHpNREFsS1gxMGIzdDBjbUZ1YzJadmNtMDZkSEpoYm5Oc1lYUmxXU2cxTURBbEtYMTlMbUprTFc1aGRudHdiM05wZEdsdmJqcG1hWGhsWkR0MGIzQTZNRHRzWldaME9qQTdjbWxuYUhRNk1EdDZMV2x1WkdWNE9qRXdNREE3YUdWcFoyaDBPalkwY0hnN1pHbHpjR3hoZVRwbWJHVjRPMkZzYVdkdUxXbDBaVzF6T21ObGJuUmxjanR3WVdSa2FXNW5PakFnTkRCd2VEdHFkWE4wYVdaNUxXTnZiblJsYm5RNmMzQmhZMlV0WW1WMGQyVmxianQwY21GdWMybDBhVzl1T21KaFkydG5jbTkxYm1RZ0xqTnpMR0p2Y21SbGNpMWpiMnh2Y2lBdU0zTTdZbUZqYTJSeWIzQXRabWxzZEdWeU9tSnNkWElvTWpCd2VDazdMWGRsWW10cGRDMWlZV05yWkhKdmNDMW1hV3gwWlhJNllteDFjaWd5TUhCNEtUdGliM0prWlhJdFltOTBkRzl0T2pGd2VDQnpiMnhwWkNCMGNtRnVjM0JoY21WdWRIMHVZbVF0Ym1GMkxXeHBibXR6ZTJScGMzQnNZWGs2Wm14bGVEdGhiR2xuYmkxcGRHVnRjenBqWlc1MFpYSTdaMkZ3T2pKd2VIMHVZbVF0Ym14N1ptOXVkQzF6YVhwbE9qRXpjSGc3Wm05dWRDMTNaV2xuYUhRNk5UQXdPMk52Ykc5eU9uWmhjaWd0TFhReUtUdHdZV1JrYVc1bk9qaHdlQ0F4TVhCNE8ySnZjbVJsY2kxaWIzUjBiMjA2TW5CNElITnZiR2xrSUhSeVlXNXpjR0Z5Wlc1ME8zUnlZVzV6YVhScGIyNDZZV3hzSUM0eE5YTTdkMmhwZEdVdGMzQmhZMlU2Ym05M2NtRndmUzVpWkMxdWJEcG9iM1psY250amIyeHZjanAyWVhJb0xTMTBlSFFwZlM1aVpDMXViQzV2Ym50amIyeHZjanAyWVhJb0xTMWhlQ2s3WW05eVpHVnlMV0p2ZEhSdmJTMWpiMnh2Y2pwMllYSW9MUzFoZUNsOUxtSmtMVzVoZGkxamRHRjdZbUZqYTJkeWIzVnVaRHAyWVhJb0xTMWhlQ2toYVcxd2IzSjBZVzUwTzJOdmJHOXlPaU13TVROaU5Ea2hhVzF3YjNKMFlXNTBPMlp2Ym5RdGQyVnBaMmgwT2pjd01DRnBiWEJ2Y25SaGJuUTdabTl1ZEMxemFYcGxPakV6Y0hnaGFXMXdiM0owWVc1ME8zQmhaR1JwYm1jNk9IQjRJREl3Y0hnaGFXMXdiM0owWVc1ME8ySnZjbVJsY2kxaWIzUjBiMjA2Ym05dVpTRnBiWEJ2Y25SaGJuUTdiR1YwZEdWeUxYTndZV05wYm1jNkxqQXlaVzE5TG1Ka0xXNWhkaTFqZEdFNmFHOTJaWEo3WW1GamEyZHliM1Z1WkRvak1tWTVZVGN4SVdsdGNHOXlkR0Z1ZEgwdVltUXRaSEp2Y0h0d2IzTnBkR2x2YmpweVpXeGhkR2wyWlgwdVltUXRaSEp2Y0MxdFpXNTFlM0J2YzJsMGFXOXVPbUZpYzI5c2RYUmxPM1J2Y0RwallXeGpLREV3TUNVZ0t5QXljSGdwTzNKcFoyaDBPakE3WW1GamEyZHliM1Z1WkRvak1ESXpNRE5pTzJKdmNtUmxjam94Y0hnZ2MyOXNhV1FnZG1GeUtDMHRZbVJ5TWlrN2NHRmtaR2x1WnpvMmNIZzdiV2x1TFhkcFpIUm9PakU0TlhCNE8zb3RhVzVrWlhnNk1qQTdaR2x6Y0d4aGVUcHViMjVsZlM1aVpDMWtjbTl3T21odmRtVnlJQzVpWkMxa2NtOXdMVzFsYm5WN1pHbHpjR3hoZVRwaWJHOWphMzB1WW1RdFpHbDdaR2x6Y0d4aGVUcGliRzlqYXp0M2FXUjBhRG94TURBbE8zUmxlSFF0WVd4cFoyNDZiR1ZtZER0d1lXUmthVzVuT2psd2VDQXhOSEI0TzJadmJuUXRjMmw2WlRveE0zQjRPMk52Ykc5eU9uWmhjaWd0TFhReUtUdGliM0prWlhJNmJtOXVaVHRpWVdOclozSnZkVzVrT201dmJtVTdabTl1ZEMxbVlXMXBiSGs2ZG1GeUtDMHRabVlwTzJOMWNuTnZjanB3YjJsdWRHVnlPM1J5WVc1emFYUnBiMjQ2WVd4c0lDNHhOWE45TG1Ka0xXUnBPbWh2ZG1WeWUyTnZiRzl5T25aaGNpZ3RMWFI0ZENrN1ltRmphMmR5YjNWdVpEb2pabVptWm1abU1HUjlMbUprTFdScExtOXVlMk52Ykc5eU9uWmhjaWd0TFdGNEtYMHVZbVF0YUdGdGUyUnBjM0JzWVhrNmJtOXVaVHRtYkdWNExXUnBjbVZqZEdsdmJqcGpiMngxYlc0N1oyRndPalZ3ZUR0amRYSnpiM0k2Y0c5cGJuUmxjanR3WVdSa2FXNW5Pamh3ZUgwdVltUXRhR0Z0SUhOd1lXNTdaR2x6Y0d4aGVUcGliRzlqYXp0M2FXUjBhRG95TW5CNE8yaGxhV2RvZERveWNIZzdZbUZqYTJkeWIzVnVaRHAyWVhJb0xTMTBlSFFwTzJKdmNtUmxjaTF5WVdScGRYTTZNbkI0TzNSeVlXNXphWFJwYjI0NllXeHNJQzR5YzMwdVltUXRiVzlpZTNCdmMybDBhVzl1T21acGVHVmtPM1J2Y0RvMk5IQjRPMnhsWm5RNk1EdHlhV2RvZERvd08ySmhZMnRuY205MWJtUTZJekF4TTJJME9XWmhPMkp2Y21SbGNpMTBiM0E2TVhCNElITnZiR2xrSUhaaGNpZ3RMV0prY2lrN2VpMXBibVJsZURvNU9UazdjR0ZrWkdsdVp6bzRjSGdnTUNBeE5uQjRPMjFoZUMxb1pXbG5hSFE2WTJGc1l5Z3hNREIyYUNBdElEWTBjSGdwTzI5MlpYSm1iRzkzTFhrNllYVjBienN0ZDJWaWEybDBMV0poWTJ0a2NtOXdMV1pwYkhSbGNqcGliSFZ5S0RJd2NIZ3BPMkpoWTJ0a2NtOXdMV1pwYkhSbGNqcGliSFZ5S0RJd2NIZ3BmUzVpWkMxdGIySXRjMng3Wm05dWRDMW1ZVzFwYkhrNmRtRnlLQzB0Wm0wcE8yWnZiblF0YzJsNlpUb3hNSEI0TzJ4bGRIUmxjaTF6Y0dGamFXNW5PaTR4T0dWdE8yTnZiRzl5T25aaGNpZ3RMWFF6S1R0d1lXUmthVzVuT2pFMGNIZ2dNalJ3ZUNBMGNIZzdaR2x6Y0d4aGVUcGliRzlqYXp0d2IybHVkR1Z5TFdWMlpXNTBjenB1YjI1bGZTNWlaQzF0YjJJZ1luVjBkRzl1ZTJScGMzQnNZWGs2WW14dlkyczdkMmxrZEdnNk1UQXdKVHQwWlhoMExXRnNhV2R1T214bFpuUTdjR0ZrWkdsdVp6b3hNM0I0SURJMGNIZzdZMjlzYjNJNmRtRnlLQzB0ZERJcE8yWnZiblF0YzJsNlpUb3hOWEI0TzJadmJuUXRkMlZwWjJoME9qVXdNRHRpYjNKa1pYSTZibTl1WlR0aVlXTnJaM0p2ZFc1a09tNXZibVU3WTNWeWMyOXlPbkJ2YVc1MFpYSTdabTl1ZEMxbVlXMXBiSGs2ZG1GeUtDMHRabVlwZlM1aVpDMXRiMklnWW5WMGRHOXVPbWh2ZG1WeWUyTnZiRzl5T25aaGNpZ3RMWFI0ZENsOUxtSmtMVzF2WWkxamRHRjdkR1Y0ZEMxaGJHbG5ianBqWlc1MFpYSWhhVzF3YjNKMFlXNTBPM0JoWkdScGJtYzZNVE53ZUNBeU5IQjRJV2x0Y0c5eWRHRnVkRHRpWVdOclozSnZkVzVrT25aaGNpZ3RMV0Y0S1NGcGJYQnZjblJoYm5RN1kyOXNiM0k2SXpBeE0ySTBPU0ZwYlhCdmNuUmhiblE3Wm05dWRDMTNaV2xuYUhRNk56QXdJV2x0Y0c5eWRHRnVkRHRtYjI1MExYTnBlbVU2TVRSd2VDRnBiWEJ2Y25SaGJuUTdiV0Z5WjJsdUxYUnZjRG80Y0hnaGFXMXdiM0owWVc1MGZTNWlaQzFvWlhKdmUzQnZjMmwwYVc5dU9uSmxiR0YwYVhabE8yMXBiaTFvWldsbmFIUTZNVEF3ZG1nN1pHbHpjR3hoZVRwbWJHVjRPMkZzYVdkdUxXbDBaVzF6T21ObGJuUmxjanRpWVdOclozSnZkVzVrT25aaGNpZ3RMV0puS1R0dmRtVnlabXh2ZHpwb2FXUmtaVzU5TG1Ka0xXaGxjbTh0YzJoN2NHOXphWFJwYjI0NmNtVnNZWFJwZG1VN1ltRmphMmR5YjNWdVpEcDJZWElvTFMxaVp5azdiM1psY21ac2IzYzZhR2xrWkdWdU8zQmhaR1JwYm1jNk9EQndlQ0F3SURZMGNIaDlMbUprTFdobGVDMXRiM1JwWm50d2IzTnBkR2x2YmpwaFluTnZiSFYwWlR0MGIzQTZNRHR5YVdkb2REb3dPMkp2ZEhSdmJUb3dPMnhsWm5RNk1EdHdiMmx1ZEdWeUxXVjJaVzUwY3pwdWIyNWxPMjkyWlhKbWJHOTNPbWhwWkdSbGJqdHZjR0ZqYVhSNU9pNDNNbjB1WW1RdGFHVnlieTFuYkh0d2IzTnBkR2x2YmpwaFluTnZiSFYwWlR0MGIzQTZMVE13SlR0c1pXWjBPakUxSlR0M2FXUjBhRG80TURCd2VEdG9aV2xuYUhRNk9EQXdjSGc3WW1GamEyZHliM1Z1WkRweVlXUnBZV3d0WjNKaFpHbGxiblFvWTJseVkyeGxMSEpuWW1Fb05Ua3NNVGd4TERFek5Dd3VNU2tnTUNVc2RISmhibk53WVhKbGJuUWdOalVsS1R0d2IybHVkR1Z5TFdWMlpXNTBjenB1YjI1bGZTNWlaQzFvWlhKdkxXZHllM0J2YzJsMGFXOXVPbUZpYzI5c2RYUmxPMkp2ZEhSdmJUb3RNakFsTzNKcFoyaDBPaTAxSlR0M2FXUjBhRG8xTURCd2VEdG9aV2xuYUhRNk5UQXdjSGc3WW1GamEyZHliM1Z1WkRweVlXUnBZV3d0WjNKaFpHbGxiblFvWTJseVkyeGxMSEpuWW1Fb01qUXpMREV5TlN3ek1Dd3VNRGNwSURBbExIUnlZVzV6Y0dGeVpXNTBJRGN3SlNrN2NHOXBiblJsY2kxbGRtVnVkSE02Ym05dVpYMHVZbVF0YUdWeWJ5MXBibnR0WVhKbmFXNDZNQ0JoZFhSdk8zQmhaR1JwYm1jNk5qUndlQ0EwT0hCNE8zZHBaSFJvT2pFd01DVTdaR2x6Y0d4aGVUcG5jbWxrTzJkeWFXUXRkR1Z0Y0d4aGRHVXRZMjlzZFcxdWN6b3habklnTVdaeU8yZGhjRG80TUhCNE8yRnNhV2R1TFdsMFpXMXpPbU5sYm5SbGNqdHdiM05wZEdsdmJqcHlaV3hoZEdsMlpUdDZMV2x1WkdWNE9qRjlMbUprTFdobGNtOHRjMmdnTG1Ka0xXaGxjbTh0YVc1N2JXbHVMV2hsYVdkb2REcGhkWFJ2TzNCaFpHUnBibWM2TmpSd2VDQTBPSEI0SURNeWNIaDlMbVY1ZTJadmJuUXRabUZ0YVd4NU9uWmhjaWd0TFdadEtUdG1iMjUwTFhOcGVtVTZNVEZ3ZUR0c1pYUjBaWEl0YzNCaFkybHVaem91TVRobGJUdGpiMnh2Y2pwMllYSW9MUzEwTXlrN2RHVjRkQzEwY21GdWMyWnZjbTA2ZFhCd1pYSmpZWE5sTzJScGMzQnNZWGs2WW14dlkyczdiV0Z5WjJsdUxXSnZkSFJ2YlRveE5uQjRmUzVsZVM1aGVIdGpiMnh2Y2pwMllYSW9MUzFoZUNsOUxtVjVMbXgwZTJOdmJHOXlPaU5tWm1abVptWTFPWDB1YURGN1ptOXVkQzF6YVhwbE9tTnNZVzF3S0RRMGNIZ3NOWFozTERjd2NIZ3BPMlp2Ym5RdGQyVnBaMmgwT2pnd01EdHNhVzVsTFdobGFXZG9kRG94TGpBME8yeGxkSFJsY2kxemNHRmphVzVuT2kwdU1ESTFaVzA3WTI5c2IzSTZkbUZ5S0MwdGRIaDBLWDB1YURFZ1pXMTdZMjlzYjNJNmRtRnlLQzB0WVhncE8yWnZiblF0YzNSNWJHVTZhWFJoYkdsamZTNW9NbnRtYjI1MExYTnBlbVU2WTJ4aGJYQW9Namh3ZUN3emRuY3NOREp3ZUNrN1ptOXVkQzEzWldsbmFIUTZOekF3TzJ4cGJtVXRhR1ZwWjJoME9qRXVNVHRzWlhSMFpYSXRjM0JoWTJsdVp6b3RMakF5WlcwN1kyOXNiM0k2ZG1GeUtDMHRkSGgwS1gwdWFESWdaVzE3WTI5c2IzSTZkbUZ5S0MwdFlYZ3BPMlp2Ym5RdGMzUjViR1U2YVhSaGJHbGpmUzVvWlhKdkxYTjFZbnRtYjI1MExYTnBlbVU2TVRod2VEdGpiMnh2Y2pwMllYSW9MUzEwTWlrN2JHbHVaUzFvWldsbmFIUTZNUzQzTlR0dFlYSm5hVzQ2TWpSd2VDQXdJRFF3Y0hnN2JXRjRMWGRwWkhSb09qVXdNSEI0ZlM1b1pYSnZMWE4xWWlCemRISnZibWQ3WTI5c2IzSTZkbUZ5S0MwdGRIaDBLVHRtYjI1MExYZGxhV2RvZERvMU1EQjlMbUowYmkxd2UyUnBjM0JzWVhrNmFXNXNhVzVsTFdac1pYZzdZV3hwWjI0dGFYUmxiWE02WTJWdWRHVnlPMnAxYzNScFpua3RZMjl1ZEdWdWREcGpaVzUwWlhJN1ltRmphMmR5YjNWdVpEcDJZWElvTFMxaGVDazdZMjlzYjNJNkl6QXhNMkkwT1R0bWIyNTBMWGRsYVdkb2REbzNNREE3Wm05dWRDMXphWHBsT2pFMGNIZzdiR1YwZEdWeUxYTndZV05wYm1jNkxqQXlaVzA3Y0dGa1pHbHVaem93SURJNGNIZzdhR1ZwWjJoME9qUTRjSGc3YldsdUxYZHBaSFJvT2pFNE1IQjRPM1J5WVc1emFYUnBiMjQ2WW1GamEyZHliM1Z1WkNBdU1UVnpPM2RvYVhSbExYTndZV05sT201dmQzSmhjRHRqZFhKemIzSTZjRzlwYm5SbGNqdGliM0prWlhJNmJtOXVaVHRtYjI1MExXWmhiV2xzZVRwMllYSW9MUzFtWmlsOUxtSjBiaTF3T21odmRtVnllMkpoWTJ0bmNtOTFibVE2SXpKbU9XRTNNWDB1WW5SdUxXZDdaR2x6Y0d4aGVUcHBibXhwYm1VdFpteGxlRHRoYkdsbmJpMXBkR1Z0Y3pwalpXNTBaWEk3YW5WemRHbG1lUzFqYjI1MFpXNTBPbU5sYm5SbGNqdGliM0prWlhJNk1TNDFjSGdnYzI5c2FXUWdjbWRpWVNneU5UVXNNalUxTERJMU5Td3VNaWs3WTI5c2IzSTZkbUZ5S0MwdGRESXBPMlp2Ym5RdGQyVnBaMmgwT2pZd01EdG1iMjUwTFhOcGVtVTZNVFJ3ZUR0d1lXUmthVzVuT2pBZ01qWndlRHRvWldsbmFIUTZORGh3ZUR0dGFXNHRkMmxrZEdnNk1UZ3djSGc3ZEhKaGJuTnBkR2x2YmpwaGJHd2dMakUxY3p0M2FHbDBaUzF6Y0dGalpUcHViM2R5WVhBN1kzVnljMjl5T25CdmFXNTBaWEk3WW1GamEyZHliM1Z1WkRwdWIyNWxPMlp2Ym5RdFptRnRhV3g1T25aaGNpZ3RMV1ptS1gwdVluUnVMV2M2YUc5MlpYSjdZbTl5WkdWeUxXTnZiRzl5T2lObVptWm1abVk0TUR0amIyeHZjanAyWVhJb0xTMTBlSFFwZlM1aWRHNHRjMjE3YUdWcFoyaDBPalF3Y0hnN2JXbHVMWGRwWkhSb09tRjFkRzg3Wm05dWRDMXphWHBsT2pFeWNIZzdjR0ZrWkdsdVp6b3dJREU0Y0hoOUxtSjBiaTF5YjNkN1pHbHpjR3hoZVRwbWJHVjRPMmRoY0RveE1uQjRPMlpzWlhndGQzSmhjRHAzY21Gd08yRnNhV2R1TFdsMFpXMXpPbU5sYm5SbGNuMHVZbVF0YzJWamRIdHdZV1JrYVc1bk9qazJjSGdnTUgwdVltUXRjMlZqZEM1MGUzQmhaR1JwYm1jNk56SndlQ0F3ZlM1aVpDMXphWHR0WVhKbmFXNDZNQ0JoZFhSdk8zQmhaR1JwYm1jNk1DQTBPSEI0ZlM1elpXTjBMV2hrZTIxaGVDMTNhV1IwYURvMk5EQndlRHR0WVhKbmFXNHRZbTkwZEc5dE9qVXljSGg5TG5ObFkzUXRhR1FnTG1neWUyMWhjbWRwYmkxaWIzUjBiMjA2TVRSd2VIMHVjMlZqZEMxb1pDQndlMlp2Ym5RdGMybDZaVG94Tm5CNE8yTnZiRzl5T25aaGNpZ3RMWFF5S1R0c2FXNWxMV2hsYVdkb2REb3hMamMxZlM1aVpDMW1aV1ZrZTJKaFkydG5jbTkxYm1RNkkyWm1abVptWmpBNE8ySnZjbVJsY2pveGNIZ2djMjlzYVdRZ2RtRnlLQzB0WW1SeU1pazdiM1psY21ac2IzYzZhR2xrWkdWdU8zQnZjMmwwYVc5dU9uSmxiR0YwYVhabGZTNWlaQzFtWldWa09tRm1kR1Z5ZTJOdmJuUmxiblE2SWlJN2NHOXphWFJwYjI0NllXSnpiMngxZEdVN2JHVm1kRG93TzNSdmNEb3dPMkp2ZEhSdmJUb3dPM2RwWkhSb09qSndlRHRpWVdOclozSnZkVzVrT214cGJtVmhjaTFuY21Ga2FXVnVkQ2gwYnlCaWIzUjBiMjBzZEhKaGJuTndZWEpsYm5Rc2RtRnlLQzB0WVhncExIUnlZVzV6Y0dGeVpXNTBLVHRoYm1sdFlYUnBiMjQ2WW1RdGMyTmhiaUExY3lCc2FXNWxZWElnYVc1bWFXNXBkR1U3Y0c5cGJuUmxjaTFsZG1WdWRITTZibTl1WlgwdVptVmxaQzFvWkh0a2FYTndiR0Y1T21ac1pYZzdZV3hwWjI0dGFYUmxiWE02WTJWdWRHVnlPMnAxYzNScFpua3RZMjl1ZEdWdWREcHpjR0ZqWlMxaVpYUjNaV1Z1TzNCaFpHUnBibWM2TVRSd2VDQXlNSEI0TzJKdmNtUmxjaTFpYjNSMGIyMDZNWEI0SUhOdmJHbGtJSFpoY2lndExXSmtjaWw5TG1abFpXUXRkR2wwYkdWN1ptOXVkQzFtWVcxcGJIazZkbUZ5S0MwdFptMHBPMlp2Ym5RdGMybDZaVG94TUhCNE8yeGxkSFJsY2kxemNHRmphVzVuT2k0eE5tVnRPMk52Ykc5eU9uWmhjaWd0TFhRektYMHViR2wyWlMxaVlXUm5aWHRrYVhOd2JHRjVPbVpzWlhnN1lXeHBaMjR0YVhSbGJYTTZZMlZ1ZEdWeU8yZGhjRG8yY0hnN1ptOXVkQzFtWVcxcGJIazZkbUZ5S0MwdFptMHBPMlp2Ym5RdGMybDZaVG94TUhCNE8yTnZiRzl5T25aaGNpZ3RMV0Y0S1R0c1pYUjBaWEl0YzNCaFkybHVaem91TVdWdGZTNXNhWFpsTFdSdmRIdDNhV1IwYURvMmNIZzdhR1ZwWjJoME9qWndlRHRpYjNKa1pYSXRjbUZrYVhWek9qVXdKVHRpWVdOclozSnZkVzVrT25aaGNpZ3RMV0Y0S1R0aGJtbHRZWFJwYjI0NlltUXRjSFZzYzJVZ01uTWdhVzVtYVc1cGRHVjlMbVpsWldRdFltOWtlU0F1Wm1WbFpDMXliM2Q3WkdsemNHeGhlVHBtYkdWNE8yRnNhV2R1TFdsMFpXMXpPbU5sYm5SbGNqdG5ZWEE2TVRKd2VEdHdZV1JrYVc1bk9qRXpjSGdnTWpCd2VEdGliM0prWlhJdFltOTBkRzl0T2pGd2VDQnpiMnhwWkNCeVoySmhLREkxTlN3eU5UVXNNalUxTEM0d05DbDlMbVpsWldRdFltOWtlU0F1Wm1WbFpDMXliM2M2YkdGemRDMWphR2xzWkh0aWIzSmtaWEl0WW05MGRHOXRPbTV2Ym1WOUxtWmxaV1F0YkdKc2UyWnNaWGc2TVR0bWIyNTBMWE5wZW1VNk1UTndlRHRqYjJ4dmNqcDJZWElvTFMxME1pazdiR2x1WlMxb1pXbG5hSFE2TVM0MGZTNW1aV1ZrTFhKcGMydDdabTl1ZEMxbVlXMXBiSGs2ZG1GeUtDMHRabTBwTzJadmJuUXRjMmw2WlRveE1YQjRPMlp2Ym5RdGQyVnBaMmgwT2pZd01EdHRhVzR0ZDJsa2RHZzZNelp3ZUR0MFpYaDBMV0ZzYVdkdU9uSnBaMmgwZlM1bVpXVmtMWEpwYzJzdWFIdGpiMnh2Y2pvalpqZzNNVGN4ZlM1bVpXVmtMWEpwYzJzdWJYdGpiMnh2Y2pvalptSmlaakkwZlM1bVpXVmtMWEpwYzJzdWJIdGpiMnh2Y2pwMllYSW9MUzFoZUNsOUxtWmxaV1F0WW1SbmUyWnZiblF0Wm1GdGFXeDVPblpoY2lndExXWnRLVHRtYjI1MExYTnBlbVU2TVRCd2VEdHNaWFIwWlhJdGMzQmhZMmx1WnpvdU1EWmxiVHR3WVdSa2FXNW5Pak53ZUNBNGNIZzdZbTl5WkdWeU9qRndlQ0J6YjJ4cFpEdDNhR2wwWlMxemNHRmpaVHB1YjNkeVlYQjlMbVpsWldRdFltUm5MbUpzYjJOclpXUjdZMjlzYjNJNkkyWTROekUzTVR0aWIzSmtaWEl0WTI5c2IzSTZJMlk0TnpFM01UUmtPMkpoWTJ0bmNtOTFibVE2STJZNE56RTNNVEV5ZlM1bVpXVmtMV0prWnk1bWJHRm5lMk52Ykc5eU9pTm1ZbUptTWpRN1ltOXlaR1Z5TFdOdmJHOXlPaU5tWW1KbU1qUTBaRHRpWVdOclozSnZkVzVrT2lObVltSm1NalF4TW4wdVptVmxaQzFpWkdjdVkyeGxZWEo3WTI5c2IzSTZkbUZ5S0MwdFlYZ3BPMkp2Y21SbGNpMWpiMnh2Y2pwMllYSW9MUzFoZUdJcE8ySmhZMnRuY205MWJtUTZkbUZ5S0MwdFlYaGtLWDB1Wm1WbFpDMWlaR2N1Ylc5dWUyTnZiRzl5T2lObVltSm1NalE3WW05eVpHVnlMV052Ykc5eU9pTm1ZbUptTWpRMFpEdGlZV05yWjNKdmRXNWtPaU5tWW1KbU1qUXhNbjB1WW1RdFkyRnlaSHRpWVdOclozSnZkVzVrT2lObVptWm1abVl3T0R0aWIzSmtaWEk2TVhCNElITnZiR2xrSUhaaGNpZ3RMV0prY2lrN2NHRmtaR2x1Wnpvek1uQjRPM1J5WVc1emFYUnBiMjQ2WW05eVpHVnlMV052Ykc5eUlDNHljeXhpWVdOclozSnZkVzVrSUM0eWMzMHVZbVF0WTJGeVpEcG9iM1psY250aWIzSmtaWEl0WTI5c2IzSTZkbUZ5S0MwdFlYaGlLVHRpWVdOclozSnZkVzVrT2lNelltSTFPRFl3Tm4wdVp6TjdaR2x6Y0d4aGVUcG5jbWxrTzJkeWFXUXRkR1Z0Y0d4aGRHVXRZMjlzZFcxdWN6cHlaWEJsWVhRb015d3habklwTzJKdmNtUmxjam94Y0hnZ2MyOXNhV1FnZG1GeUtDMHRZbVJ5S1gwdVp6TWdMbUprTFdOaGNtUjdZbTl5WkdWeU9tNXZibVU3WW05eVpHVnlMWEpwWjJoME9qRndlQ0J6YjJ4cFpDQjJZWElvTFMxaVpISXBmUzVuTXlBdVltUXRZMkZ5WkRwc1lYTjBMV05vYVd4a2UySnZjbVJsY2kxeWFXZG9kRHB1YjI1bGZTNW5NeUF1WW1RdFkyRnlaRHB1ZEdndFkyaHBiR1FvYmlzMEtYdGliM0prWlhJdGRHOXdPakZ3ZUNCemIyeHBaQ0IyWVhJb0xTMWlaSElwZlM1bk1udGthWE53YkdGNU9tZHlhV1E3WjNKcFpDMTBaVzF3YkdGMFpTMWpiMngxYlc1ek9uSmxjR1ZoZENneUxERm1jaWs3WjJGd09qSTBjSGg5TG1NdGRHRm5jM3RrYVhOd2JHRjVPbVpzWlhnN1oyRndPalp3ZUR0bWJHVjRMWGR5WVhBNmQzSmhjRHR0WVhKbmFXNHRkRzl3T2pFMmNIaDlMbU10ZEdGbmUyWnZiblF0Wm1GdGFXeDVPblpoY2lndExXWnRLVHRtYjI1MExYTnBlbVU2TVRCd2VEdHNaWFIwWlhJdGMzQmhZMmx1WnpvdU1EWmxiVHR3WVdSa2FXNW5Pak53ZUNBNGNIZzdZbUZqYTJkeWIzVnVaRHAyWVhJb0xTMWhlR1FwTzJOdmJHOXlPblpoY2lndExXRjRLVHRpYjNKa1pYSTZNWEI0SUhOdmJHbGtJSFpoY2lndExXRjRZaWw5TG1NdGRHRm5MbTExZTJKaFkydG5jbTkxYm1RNkkyWm1abVptWmpCaE8yTnZiRzl5T25aaGNpZ3RMWFF6S1R0aWIzSmtaWEl0WTI5c2IzSTZkbUZ5S0MwdFltUnlNaWw5TG5ScFpYSXRiR2x6ZEh0a2FYTndiR0Y1T21ac1pYZzdabXhsZUMxa2FYSmxZM1JwYjI0NlkyOXNkVzF1TzJKdmNtUmxjam94Y0hnZ2MyOXNhV1FnZG1GeUtDMHRZbVJ5S1gwdWRHbGxjaTF5YjNkN1pHbHpjR3hoZVRwbmNtbGtPMmR5YVdRdGRHVnRjR3hoZEdVdFkyOXNkVzF1Y3pveE9UWndlQ0F4Wm5JZ01UWXdjSGc3WW05eVpHVnlMV0p2ZEhSdmJUb3hjSGdnYzI5c2FXUWdkbUZ5S0MwdFltUnlLWDB1ZEdsbGNpMXliM2M2YkdGemRDMWphR2xzWkh0aWIzSmtaWEl0WW05MGRHOXRPbTV2Ym1WOUxuUnBaWEl0WW1Ga1oyVjdjR0ZrWkdsdVp6b3pNbkI0SURJMGNIZzdZbTl5WkdWeUxYSnBaMmgwT2pGd2VDQnpiMnhwWkNCMllYSW9MUzFpWkhJcGZTNTBhV1Z5TFc1N1ptOXVkQzFtWVcxcGJIazZkbUZ5S0MwdFptMHBPMlp2Ym5RdGMybDZaVG94TUhCNE8yeGxkSFJsY2kxemNHRmphVzVuT2k0eVpXMDdZMjlzYjNJNmRtRnlLQzB0WVhncE8yMWhjbWRwYmkxaWIzUjBiMjA2T0hCNGZTNTBhV1Z5TFc1dGUyWnZiblF0YzJsNlpUb3hObkI0TzJadmJuUXRkMlZwWjJoME9qY3dNRHRqYjJ4dmNqcDJZWElvTFMxMGVIUXBPMjFoY21kcGJpMWliM1IwYjIwNk1uQjRmUzUwYVdWeUxYUm5lMlp2Ym5RdFptRnRhV3g1T25aaGNpZ3RMV1p0S1R0bWIyNTBMWE5wZW1VNk1UQndlRHRzWlhSMFpYSXRjM0JoWTJsdVp6b3VNV1Z0TzJOdmJHOXlPblpoY2lndExYUXpLVHR0WVhKbmFXNHRkRzl3T2pSd2VIMHVkR2xsY2kxaWIyUjVlM0JoWkdScGJtYzZNekp3ZUNBek5uQjRmUzUwYVdWeUxXSnZaSGtnYURON1ptOXVkQzF6YVhwbE9qRTFjSGc3Wm05dWRDMTNaV2xuYUhRNk5qQXdPMjFoY21kcGJpMWliM1IwYjIwNk9IQjRPMk52Ykc5eU9uWmhjaWd0TFhSNGRDbDlMblJwWlhJdFltOWtlU0J3ZTJadmJuUXRjMmw2WlRveE5IQjRPMk52Ykc5eU9uWmhjaWd0TFhReUtUdHNhVzVsTFdobGFXZG9kRG94TGpkOUxuUnBaWEl0ZEdGbmMzdGthWE53YkdGNU9tWnNaWGc3WjJGd09qWndlRHRtYkdWNExYZHlZWEE2ZDNKaGNEdHRZWEpuYVc0dGRHOXdPakUwY0hoOUxuUnBaWEl0ZEdGbmFYdG1iMjUwTFdaaGJXbHNlVHAyWVhJb0xTMW1iU2s3Wm05dWRDMXphWHBsT2pFd2NIZzdiR1YwZEdWeUxYTndZV05wYm1jNkxqQTJaVzA3Y0dGa1pHbHVaem96Y0hnZ09IQjRPMkpoWTJ0bmNtOTFibVE2STJabVptWm1aakJoTzJOdmJHOXlPblpoY2lndExYUXpLVHRpYjNKa1pYSTZNWEI0SUhOdmJHbGtJSFpoY2lndExXSmtjaklwZlM1MGFXVnlMV04wWVh0d1lXUmthVzVuT2pNeWNIZ2dNakJ3ZUR0aWIzSmtaWEl0YkdWbWREb3hjSGdnYzI5c2FXUWdkbUZ5S0MwdFltUnlLVHRrYVhOd2JHRjVPbVpzWlhnN1pteGxlQzFrYVhKbFkzUnBiMjQ2WTI5c2RXMXVPMnAxYzNScFpua3RZMjl1ZEdWdWREcGpaVzUwWlhJN1oyRndPakV3Y0hoOUxuTjBZWFJ6TFdKaGNudGthWE53YkdGNU9tZHlhV1E3WjNKcFpDMTBaVzF3YkdGMFpTMWpiMngxYlc1ek9uSmxjR1ZoZENnMExERm1jaWs3WW05eVpHVnlPakZ3ZUNCemIyeHBaQ0IyWVhJb0xTMWlaSElwTzJKaFkydG5jbTkxYm1RNkkyWm1abVptWmpBMWZTNXpkR0YwTFdObGJHeDdjR0ZrWkdsdVp6b3pNbkI0SURJNGNIZzdZbTl5WkdWeUxYSnBaMmgwT2pGd2VDQnpiMnhwWkNCMllYSW9MUzFpWkhJcE8zQnZjMmwwYVc5dU9uSmxiR0YwYVhabE8yOTJaWEptYkc5M09taHBaR1JsYm4wdWMzUmhkQzFqWld4c09tRm1kR1Z5ZTJOdmJuUmxiblE2SWlJN2NHOXphWFJwYjI0NllXSnpiMngxZEdVN2RHOXdPakE3YkdWbWREb3dPM0pwWjJoME9qQTdhR1ZwWjJoME9qSndlRHRpWVdOclozSnZkVzVrT25aaGNpZ3RMV0Y0S1R0dmNHRmphWFI1T2k0MWZTNXpkR0YwTFdObGJHdzZiR0Z6ZEMxamFHbHNaSHRpYjNKa1pYSXRjbWxuYUhRNmJtOXVaWDB1YzNSaGRDMTJZV3g3Wm05dWRDMXphWHBsT2pRNGNIZzdabTl1ZEMxM1pXbG5hSFE2T0RBd08yTnZiRzl5T25aaGNpZ3RMV0Y0S1R0c2FXNWxMV2hsYVdkb2REb3hPMnhsZEhSbGNpMXpjR0ZqYVc1bk9pMHVNRE5sYlgwdWMzUmhkQzEyWVd3dVlXMTdZMjlzYjNJNmRtRnlLQzB0WVhneUtYMHVjM1JoZEMxc1lteDdabTl1ZEMxemFYcGxPakUwY0hnN1ptOXVkQzEzWldsbmFIUTZOakF3TzJOdmJHOXlPblpoY2lndExYUjRkQ2s3YldGeVoybHVMWFJ2Y0RveE1IQjRmUzV6ZEdGMExXUmxjMk43Wm05dWRDMXphWHBsT2pFeWNIZzdZMjlzYjNJNmRtRnlLQzB0ZERNcE8yMWhjbWRwYmkxMGIzQTZOSEI0TzJ4cGJtVXRhR1ZwWjJoME9qRXVOWDB1WTNSaWJIdDNhV1IwYURveE1EQWxPMkp2Y21SbGNpMWpiMnhzWVhCelpUcGpiMnhzWVhCelpYMHVZM1JpYkNCMGFIdHdZV1JrYVc1bk9qRTBjSGdnTVRod2VEdDBaWGgwTFdGc2FXZHVPbXhsWm5RN1ptOXVkQzFtWVcxcGJIazZkbUZ5S0MwdFptMHBPMlp2Ym5RdGMybDZaVG94TUhCNE8yeGxkSFJsY2kxemNHRmphVzVuT2k0eE5HVnRPMk52Ykc5eU9uWmhjaWd0TFhRektUdGliM0prWlhJdFltOTBkRzl0T2pKd2VDQnpiMnhwWkNCMllYSW9MUzFpWkhJeUtYMHVZM1JpYkNCMGFDNW9iSHRpYjNKa1pYSXRZbTkwZEc5dExXTnZiRzl5T25aaGNpZ3RMV0Y0S1R0amIyeHZjanAyWVhJb0xTMWhlQ2w5TG1OMFltd2dkR1I3Y0dGa1pHbHVaem94TW5CNElERTRjSGc3Wm05dWRDMXphWHBsT2pFMGNIZzdZbTl5WkdWeUxXSnZkSFJ2YlRveGNIZ2djMjlzYVdRZ2RtRnlLQzB0WW1SeUtUdGpiMnh2Y2pwMllYSW9MUzEwTWlrN2RtVnlkR2xqWVd3dFlXeHBaMjQ2Yldsa1pHeGxmUzVqZEdKc0lIUmtMbXhpYkh0amIyeHZjanAyWVhJb0xTMTBlSFFwTzJadmJuUXRkMlZwWjJoME9qVXdNSDB1WTNSaWJDQjBaQzU1WlhON1kyOXNiM0k2ZG1GeUtDMHRZWGdwTzJadmJuUXRkMlZwWjJoME9qVXdNSDB1WTNSaWJDQjBaQzV1YjN0amIyeHZjam9qWm1abU0zMHVZM1JpYkNCMGNqcHNZWE4wTFdOb2FXeGtJSFJrZTJKdmNtUmxjaTFpYjNSMGIyMDZibTl1WlgwdVkzUmhMV05oY21SemUyUnBjM0JzWVhrNlozSnBaRHRuY21sa0xYUmxiWEJzWVhSbExXTnZiSFZ0Ym5NNmNtVndaV0YwS0RNc01XWnlLVHRpYjNKa1pYSTZNWEI0SUhOdmJHbGtJSFpoY2lndExXSmtjaWw5TG1OMFlTMWpZWEprZTNCaFpHUnBibWM2TXpad2VDQXlPSEI0TzJKdmNtUmxjaTF5YVdkb2REb3hjSGdnYzI5c2FXUWdkbUZ5S0MwdFltUnlLVHRrYVhOd2JHRjVPbVpzWlhnN1pteGxlQzFrYVhKbFkzUnBiMjQ2WTI5c2RXMXVmUzVqZEdFdFkyRnlaRHBzWVhOMExXTm9hV3hrZTJKdmNtUmxjaTF5YVdkb2REcHViMjVsZlM1amRHRXRZMkZ5WkNCb00zdG1iMjUwTFhOcGVtVTZNVGR3ZUR0bWIyNTBMWGRsYVdkb2REbzNNREE3WTI5c2IzSTZkbUZ5S0MwdGRIaDBLVHR0WVhKbmFXNHRZbTkwZEc5dE9qRXdjSGc3YldGeVoybHVMWFJ2Y0RvNGNIaDlMbU4wWVMxallYSmtQbkI3Wm14bGVEb3hPMlp2Ym5RdGMybDZaVG94TkhCNE8yTnZiRzl5T25aaGNpZ3RMWFF5S1R0c2FXNWxMV2hsYVdkb2REb3hMamM3YldGeVoybHVMV0p2ZEhSdmJUb3lOSEI0ZlM1a1lYTm9MV1p5WVcxbGUySmhZMnRuY205MWJtUTZJekF5TWprek9EdGliM0prWlhJNk1YQjRJSE52Ykdsa0lIWmhjaWd0TFdKa2NqSXBmUzVrWVhOb0xXSmhjbnRrYVhOd2JHRjVPbVpzWlhnN1lXeHBaMjR0YVhSbGJYTTZZMlZ1ZEdWeU8yZGhjRG80Y0hnN2NHRmtaR2x1WnpveE1IQjRJREUwY0hnN1ltRmphMmR5YjNWdVpEb2pabVptWm1abU1HRTdZbTl5WkdWeUxXSnZkSFJ2YlRveGNIZ2djMjlzYVdRZ2RtRnlLQzB0WW1SeUtYMHVaR0Z6YUMxa2IzUnplMlJwYzNCc1lYazZabXhsZUR0bllYQTZObkI0ZlM1a0xXUnZkSHQzYVdSMGFEb3hNSEI0TzJobGFXZG9kRG94TUhCNE8ySnZjbVJsY2kxeVlXUnBkWE02TlRBbGZTNWtZWE5vTFhScGRHeGxlMlp2Ym5RdFptRnRhV3g1T25aaGNpZ3RMV1p0S1R0bWIyNTBMWE5wZW1VNk1URndlRHRzWlhSMFpYSXRjM0JoWTJsdVp6b3VNV1Z0TzJOdmJHOXlPblpoY2lndExYUXpLVHR0WVhKbmFXNHRiR1ZtZERvMmNIaDlMbVJoYzJndFltOWtlWHRrYVhOd2JHRjVPbWR5YVdRN1ozSnBaQzEwWlcxd2JHRjBaUzFqYjJ4MWJXNXpPakl3TUhCNElERm1jaUF5TWpCd2VIMHVaR0Z6YUMxemFXUmxlMkp2Y21SbGNpMXlhV2RvZERveGNIZ2djMjlzYVdRZ2RtRnlLQzB0WW1SeUtUdHdZV1JrYVc1bk9qRTJjSGg5TG1SaGMyZ3RiV0ZwYm50d1lXUmthVzVuT2pFMmNIaDlMbVJoYzJndGNtbG5hSFI3WW05eVpHVnlMV3hsWm5RNk1YQjRJSE52Ykdsa0lIWmhjaWd0TFdKa2NpazdjR0ZrWkdsdVp6b3hObkI0ZlM1a1lYTm9MVzFsZEhKcFkzdHdZV1JrYVc1bk9qRXljSGdnTUR0aWIzSmtaWEl0WW05MGRHOXRPakZ3ZUNCemIyeHBaQ0J5WjJKaEtESTFOU3d5TlRVc01qVTFMQzR3TlNsOUxtUmhjMmd0YldWMGNtbGpPbXhoYzNRdFkyaHBiR1I3WW05eVpHVnlMV0p2ZEhSdmJUcHViMjVsZlM1a2JTMTJZV3g3Wm05dWRDMXphWHBsT2pJeWNIZzdabTl1ZEMxM1pXbG5hSFE2T0RBd08yeHBibVV0YUdWcFoyaDBPakY5TG1SdExXeGliSHRtYjI1MExXWmhiV2xzZVRwMllYSW9MUzFtYlNrN1ptOXVkQzF6YVhwbE9qbHdlRHRzWlhSMFpYSXRjM0JoWTJsdVp6b3VNVEpsYlR0amIyeHZjanAyWVhJb0xTMTBNeWs3YldGeVoybHVMWFJ2Y0RveWNIaDlMbVJ0TFhSeVpXNWtlMlp2Ym5RdFptRnRhV3g1T25aaGNpZ3RMV1p0S1R0bWIyNTBMWE5wZW1VNk1UQndlRHR0WVhKbmFXNHRkRzl3T2pKd2VIMHVaSE10YkdKc2UyWnZiblF0Wm1GdGFXeDVPblpoY2lndExXWnRLVHRtYjI1MExYTnBlbVU2T1hCNE8yeGxkSFJsY2kxemNHRmphVzVuT2k0eE5HVnRPMk52Ykc5eU9uWmhjaWd0TFhRektUdHRZWEpuYVc0dFltOTBkRzl0T2pFd2NIaDlMbVJ5TFhKdmQzdGthWE53YkdGNU9tWnNaWGc3WVd4cFoyNHRhWFJsYlhNNlkyVnVkR1Z5TzJkaGNEbzRjSGc3Y0dGa1pHbHVaem8zY0hnZ01EdGliM0prWlhJdFltOTBkRzl0T2pGd2VDQnpiMnhwWkNCeVoySmhLREkxTlN3eU5UVXNNalUxTEM0d05DbDlMbVJ5TFhKdmR6cHNZWE4wTFdOb2FXeGtlMkp2Y21SbGNpMWliM1IwYjIwNmJtOXVaWDB1WkhJdFpHOTBlM2RwWkhSb09qWndlRHRvWldsbmFIUTZObkI0TzJKdmNtUmxjaTF5WVdScGRYTTZOVEFsTzJac1pYZ3RjMmh5YVc1ck9qQjlMbVJ5TFhSNGRIdG1iMjUwTFhOcGVtVTZNVEZ3ZUR0amIyeHZjanAyWVhJb0xTMTBNaWs3Wm14bGVEb3hPMnhwYm1VdGFHVnBaMmgwT2pFdU0zMHVaSEl0WW1SbmUyWnZiblF0Wm1GdGFXeDVPblpoY2lndExXWnRLVHRtYjI1MExYTnBlbVU2T1hCNE8zQmhaR1JwYm1jNk1uQjRJRFZ3ZUR0aWIzSmtaWEk2TVhCNElITnZiR2xrZlM1MGNuVnpkQzFpWVhKN1ltOXlaR1Z5TFhSdmNEb3hjSGdnYzI5c2FXUWdkbUZ5S0MwdFltUnlLVHRpYjNKa1pYSXRZbTkwZEc5dE9qRndlQ0J6YjJ4cFpDQjJZWElvTFMxaVpISXBPM0JoWkdScGJtYzZNVFp3ZUNBME9IQjRPMkpoWTJ0bmNtOTFibVE2STJabVptWm1aakEwZlM1MGNuVnpkQzFwYm50dFlYZ3RkMmxrZEdnNk1USXdNSEI0TzIxaGNtZHBiam93SUdGMWRHODdaR2x6Y0d4aGVUcG1iR1Y0TzJGc2FXZHVMV2wwWlcxek9tTmxiblJsY2p0bllYQTZOREJ3ZUgwdWRISjFjM1F0YkdKc2UyWnZiblF0Wm1GdGFXeDVPblpoY2lndExXWnRLVHRtYjI1MExYTnBlbVU2TVRCd2VEdHNaWFIwWlhJdGMzQmhZMmx1WnpvdU1UWmxiVHRqYjJ4dmNqcDJZWElvTFMxME15azdkMmhwZEdVdGMzQmhZMlU2Ym05M2NtRndmUzUwY25WemRDMXBkR1Z0YzN0a2FYTndiR0Y1T21ac1pYZzdaMkZ3T2pNeWNIZzdZV3hwWjI0dGFYUmxiWE02WTJWdWRHVnlPMlpzWlhndGQzSmhjRHAzY21Gd2ZTNTBjblZ6ZEMxcGRHVnRlMlp2Ym5RdFptRnRhV3g1T25aaGNpZ3RMV1p0S1R0bWIyNTBMWE5wZW1VNk1URndlRHRqYjJ4dmNqcDJZWElvTFMxME15azdiR1YwZEdWeUxYTndZV05wYm1jNkxqQTJaVzE5TG5SeWRYTjBMV2wwWlcwdWFHbDdabTl1ZEMxbVlXMXBiSGs2ZG1GeUtDMHRabVlwTzJadmJuUXRjMmw2WlRveE1uQjRPMlp2Ym5RdGQyVnBaMmgwT2pVd01EdGpiMnh2Y2pwMllYSW9MUzEwTWlrN2JHVjBkR1Z5TFhOd1lXTnBibWM2TGpBeVpXMTlMbkJ0TFhOMGNtbHdlMkp2Y21SbGNpMWliM1IwYjIwNk1YQjRJSE52Ykdsa0lIWmhjaWd0TFdKa2NpazdjR0ZrWkdsdVp6b3lPSEI0SURRNGNIZzdZbUZqYTJkeWIzVnVaRG9qWm1abVptWm1NRFY5TG5CdExXbHVlMjFoZUMxM2FXUjBhRG94TWpBd2NIZzdiV0Z5WjJsdU9qQWdZWFYwYjMwdWNHMHRjbTkzZTJScGMzQnNZWGs2WjNKcFpEdG5jbWxrTFhSbGJYQnNZWFJsTFdOdmJIVnRibk02Y21Wd1pXRjBLRE1zTVdaeUtUdG5ZWEE2TWpSd2VEdHRZWEpuYVc0dGRHOXdPakUwY0hoOUxuQnRMV05sYkd4N1pHbHpjR3hoZVRwbWJHVjRPMmRoY0RveE1IQjRmUzV3YlMxa2IzUjdkMmxrZEdnNk5uQjRPMmhsYVdkb2REbzJjSGc3WW05eVpHVnlMWEpoWkdsMWN6bzFNQ1U3WW1GamEyZHliM1Z1WkRwMllYSW9MUzFoZUNrN1pteGxlQzF6YUhKcGJtczZNRHR0WVhKbmFXNHRkRzl3T2pkd2VIMHVjRzB0WTJWc2JDQnpkSEp2Ym1kN1pHbHpjR3hoZVRwaWJHOWphenRtYjI1MExYTnBlbVU2TVRSd2VEdG1iMjUwTFhkbGFXZG9kRG8yTURBN1kyOXNiM0k2ZG1GeUtDMHRkSGgwS1R0dFlYSm5hVzR0WW05MGRHOXRPakp3ZUgwdWNHMHRZMlZzYkNCemNHRnVlMlp2Ym5RdGMybDZaVG94TTNCNE8yTnZiRzl5T25aaGNpZ3RMWFF5S1R0c2FXNWxMV2hsYVdkb2REb3hMalUxZlM1aGRXUXRjM1J5YVhCN1ltOXlaR1Z5TFdKdmRIUnZiVG94Y0hnZ2MyOXNhV1FnZG1GeUtDMHRZbVJ5S1R0d1lXUmthVzVuT2pFMGNIZ2dORGh3ZUR0a2FYTndiR0Y1T21ac1pYZzdZV3hwWjI0dGFYUmxiWE02WTJWdWRHVnlPMmRoY0RveE5uQjRPMkpoWTJ0bmNtOTFibVE2STJabVptWm1aakExZlM1aGRXUXRiR0pzZTJadmJuUXRabUZ0YVd4NU9uWmhjaWd0TFdadEtUdG1iMjUwTFhOcGVtVTZNVEJ3ZUR0c1pYUjBaWEl0YzNCaFkybHVaem91TVRabGJUdGpiMnh2Y2pwMllYSW9MUzEwTXlrN2QyaHBkR1V0YzNCaFkyVTZibTkzY21Gd2ZTNWhkV1F0ZEdGbmMzdGthWE53YkdGNU9tWnNaWGc3WjJGd09qWndlRHRtYkdWNExYZHlZWEE2ZDNKaGNIMHVZWFZrTFhSaFozdG1iMjUwTFhOcGVtVTZNVEp3ZUR0bWIyNTBMWGRsYVdkb2REbzFNREE3Y0dGa1pHbHVaem8wY0hnZ01USndlRHRpYjNKa1pYSTZNWEI0SUhOdmJHbGtJSFpoY2lndExXSmtjaklwTzJOdmJHOXlPblpoY2lndExYUXlLWDB1WVhKamFDMXNZWGxsY25ON1ltOXlaR1Z5T2pGd2VDQnpiMnhwWkNCMllYSW9MUzFpWkhJcGZTNWhjbU5vTFd4aGVXVnllMlJwYzNCc1lYazZabXhsZUR0aWIzSmtaWEl0WW05MGRHOXRPakZ3ZUNCemIyeHBaQ0IyWVhJb0xTMWlaSElwZlM1aGNtTm9MV3hoZVdWeU9teGhjM1F0WTJocGJHUjdZbTl5WkdWeUxXSnZkSFJ2YlRwdWIyNWxmUzVoY21Ob0xXeGliSHRtYjI1MExXWmhiV2xzZVRwMllYSW9MUzFtYlNrN1ptOXVkQzF6YVhwbE9qRXdjSGc3YkdWMGRHVnlMWE53WVdOcGJtYzZMakU0WlcwN1kyOXNiM0k2ZG1GeUtDMHRZWGdwTzNkeWFYUnBibWN0Ylc5a1pUcDJaWEowYVdOaGJDMXliRHQwY21GdWMyWnZjbTA2Y205MFlYUmxLREU0TUdSbFp5azdjR0ZrWkdsdVp6b3lPSEI0SURFNGNIZzdZbTl5WkdWeUxYSnBaMmgwT2pGd2VDQnpiMnhwWkNCMllYSW9MUzFpWkhJcE8zZG9hWFJsTFhOd1lXTmxPbTV2ZDNKaGNEdG1iR1Y0TFhOb2NtbHVhem93ZlM1aGNtTm9MV0p2WkhsN2NHRmtaR2x1WnpveU9IQjRJRE0yY0hoOUxtRnlZMmd0WW05a2VTQm9NM3RtYjI1MExYTnBlbVU2TVRad2VEdG1iMjUwTFhkbGFXZG9kRG8yTURBN1kyOXNiM0k2ZG1GeUtDMHRkSGgwS1R0dFlYSm5hVzR0WW05MGRHOXRPamh3ZUgwdVlYSmphQzFpYjJSNUlIQjdabTl1ZEMxemFYcGxPakUwY0hnN1kyOXNiM0k2ZG1GeUtDMHRkRElwTzJ4cGJtVXRhR1ZwWjJoME9qRXVOenR0WVhndGQybGtkR2c2TnpBd2NIaDlMbUZ5WTJndFkyRndjM3RrYVhOd2JHRjVPbVpzWlhnN1oyRndPalp3ZUR0bWJHVjRMWGR5WVhBNmQzSmhjRHR0WVhKbmFXNHRkRzl3T2pFeWNIaDlMbUZ5WTJndFkyRndlMlp2Ym5RdFptRnRhV3g1T25aaGNpZ3RMV1p0S1R0bWIyNTBMWE5wZW1VNk1UQndlRHRzWlhSMFpYSXRjM0JoWTJsdVp6b3VNRFpsYlR0d1lXUmthVzVuT2pOd2VDQTRjSGc3WW1GamEyZHliM1Z1WkRvalptWm1abVptTUdFN1kyOXNiM0k2ZG1GeUtDMHRkRE1wZlM1d2FXeHNZWEp6ZTJScGMzQnNZWGs2WjNKcFpEdG5jbWxrTFhSbGJYQnNZWFJsTFdOdmJIVnRibk02Y21Wd1pXRjBLRE1zTVdaeUtUdGliM0prWlhJNk1YQjRJSE52Ykdsa0lIWmhjaWd0TFdKa2NpbDlMbkJwYkd4aGNudHdZV1JrYVc1bk9qUXdjSGdnTXpKd2VEdGliM0prWlhJdGNtbG5hSFE2TVhCNElITnZiR2xrSUhaaGNpZ3RMV0prY2lsOUxuQnBiR3hoY2pwc1lYTjBMV05vYVd4a2UySnZjbVJsY2kxeWFXZG9kRHB1YjI1bGZTNXdhV3hzWVhJdGNtOXNaWHRtYjI1MExXWmhiV2xzZVRwMllYSW9MUzFtYlNrN1ptOXVkQzF6YVhwbE9qRXdjSGc3YkdWMGRHVnlMWE53WVdOcGJtYzZMakV5WlcwN1kyOXNiM0k2ZG1GeUtDMHRkRE1wTzIxaGNtZHBiaTEwYjNBNk5IQjRPMjFoY21kcGJpMWliM1IwYjIwNk1UaHdlSDB1Y0dsc2JHRnlJQzVvTW50bWIyNTBMWE5wZW1VNk1qSndlRHR0WVhKbmFXNHRZbTkwZEc5dE9qRXdjSGg5TG1abFlYUXRiR2x6ZEh0a2FYTndiR0Y1T21ac1pYZzdabXhsZUMxa2FYSmxZM1JwYjI0NlkyOXNkVzF1TzJkaGNEbzRjSGc3YldGeVoybHVMWFJ2Y0RveE5IQjRmUzVtWldGMExXbDBlMlJwYzNCc1lYazZabXhsZUR0bllYQTZNVEJ3ZUR0bWIyNTBMWE5wZW1VNk1UUndlRHRqYjJ4dmNqcDJZWElvTFMxME1pazdiR2x1WlMxb1pXbG5hSFE2TVM0MmZTNW1aV0YwTFdSdmRIdDNhV1IwYURvMGNIZzdhR1ZwWjJoME9qUndlRHRpYjNKa1pYSXRjbUZrYVhWek9qVXdKVHRpWVdOclozSnZkVzVrT25aaGNpZ3RMV0Y0S1R0bWJHVjRMWE5vY21sdWF6b3dPMjFoY21kcGJpMTBiM0E2TVRCd2VIMHVkbk10WW05NGUySmhZMnRuY205MWJtUTZJMlptWm1abVpqQTFPMkp2Y21SbGNqb3hjSGdnYzI5c2FXUWdkbUZ5S0MwdFltUnlNaWw5TG5aekxXaGtlM0JoWkdScGJtYzZNVEp3ZUNBeE9IQjRPMkp2Y21SbGNpMWliM1IwYjIwNk1YQjRJSE52Ykdsa0lIWmhjaWd0TFdKa2NpazdabTl1ZEMxbVlXMXBiSGs2ZG1GeUtDMHRabTBwTzJadmJuUXRjMmw2WlRveE1IQjRPMnhsZEhSbGNpMXpjR0ZqYVc1bk9pNHhOR1Z0TzJOdmJHOXlPblpoY2lndExYUXpLWDB1ZG5NdGNtOTNlMlJwYzNCc1lYazZabXhsZUR0bllYQTZNVEJ3ZUR0d1lXUmthVzVuT2pFMGNIZ2dNVGh3ZUR0aWIzSmtaWEl0WW05MGRHOXRPakZ3ZUNCemIyeHBaQ0J5WjJKaEtESTFOU3d5TlRVc01qVTFMQzR3TXlrN1lXeHBaMjR0YVhSbGJYTTZabXhsZUMxemRHRnlkSDB1ZG5NdGNtOTNPbXhoYzNRdFkyaHBiR1I3WW05eVpHVnlMV0p2ZEhSdmJUcHViMjVsZlM1MmN5MXRjbXQ3Wm05dWRDMW1ZVzFwYkhrNmRtRnlLQzB0Wm0wcE8yWnZiblF0YzJsNlpUb3hNSEI0TzNCaFpHUnBibWM2TW5CNElEWndlRHRtYjI1MExYZGxhV2RvZERvMk1EQTdkMmhwZEdVdGMzQmhZMlU2Ym05M2NtRndPMjFoY21kcGJpMTBiM0E2TW5CNE8yWnNaWGd0YzJoeWFXNXJPakI5TG5aekxXMXlheTVpWkh0aVlXTnJaM0p2ZFc1a09uWmhjaWd0TFdGNFpDazdZMjlzYjNJNmRtRnlLQzB0WVhncGZTNTJjeTF0Y21zdVpHNXplMkpoWTJ0bmNtOTFibVE2STJabVptWm1aakJrTzJOdmJHOXlPblpoY2lndExYUXpLWDB1ZG5NdGNtOTNJSEI3Wm05dWRDMXphWHBsT2pFemNIZzdZMjlzYjNJNmRtRnlLQzB0ZERJcE8yeHBibVV0YUdWcFoyaDBPakV1TlgwdVpHbG1aaTFzYVhOMGUyUnBjM0JzWVhrNlpteGxlRHRtYkdWNExXUnBjbVZqZEdsdmJqcGpiMngxYlc1OUxtUnBabVl0YVhSN1pHbHpjR3hoZVRwbWJHVjRPMmRoY0RveE5IQjRPM0JoWkdScGJtYzZNakJ3ZUNBd08ySnZjbVJsY2kxaWIzUjBiMjA2TVhCNElITnZiR2xrSUhaaGNpZ3RMV0prY2lsOUxtUnBabVl0YVhRNmJHRnpkQzFqYUdsc1pIdGliM0prWlhJdFltOTBkRzl0T201dmJtVjlMbVJwWm1ZdFkydDdkMmxrZEdnNk1UaHdlRHRvWldsbmFIUTZNVGh3ZUR0aVlXTnJaM0p2ZFc1a09uWmhjaWd0TFdGNFpDazdZbTl5WkdWeU9qRndlQ0J6YjJ4cFpDQjJZWElvTFMxaGVHSXBPMlpzWlhndGMyaHlhVzVyT2pBN2JXRnlaMmx1TFhSdmNEb3ljSGc3WkdsemNHeGhlVHBtYkdWNE8yRnNhV2R1TFdsMFpXMXpPbU5sYm5SbGNqdHFkWE4wYVdaNUxXTnZiblJsYm5RNlkyVnVkR1Z5TzJadmJuUXRjMmw2WlRveE1YQjRPMk52Ykc5eU9uWmhjaWd0TFdGNEtYMHVaR2xtWmkxcGRDQndlMlp2Ym5RdGMybDZaVG94TkhCNE8yTnZiRzl5T25aaGNpZ3RMWFF5S1R0c2FXNWxMV2hsYVdkb2REb3hMamQ5TG1ScFptWXRhWFFnYzNSeWIyNW5lMk52Ykc5eU9uWmhjaWd0TFhSNGRDazdabTl1ZEMxM1pXbG5hSFE2TmpBd08yUnBjM0JzWVhrNllteHZZMnM3YldGeVoybHVMV0p2ZEhSdmJUb3pjSGg5TG5Od1pXTXRkR0pzZTJScGMzQnNZWGs2Wm14bGVEdG1iR1Y0TFdScGNtVmpkR2x2YmpwamIyeDFiVzU5TG5Od1pXTXRjbnRrYVhOd2JHRjVPbVpzWlhnN2FuVnpkR2xtZVMxamIyNTBaVzUwT25Od1lXTmxMV0psZEhkbFpXNDdZV3hwWjI0dGFYUmxiWE02WTJWdWRHVnlPM0JoWkdScGJtYzZNVEp3ZUNBd08ySnZjbVJsY2kxaWIzUjBiMjA2TVhCNElITnZiR2xrSUhaaGNpZ3RMV0prY2lsOUxuTndaV010Y2pwc1lYTjBMV05vYVd4a2UySnZjbVJsY2kxaWIzUjBiMjA2Ym05dVpYMHVjM0JsWXkxeUlHeGhZbVZzZTJadmJuUXRjMmw2WlRveE5IQjRPMk52Ykc5eU9uWmhjaWd0TFhRektYMHVjM0JsWXkxeUlITndZVzU3Wm05dWRDMXphWHBsT2pFMGNIZzdabTl1ZEMxM1pXbG5hSFE2TlRBd08yTnZiRzl5T25aaGNpZ3RMWFI0ZENrN2RHVjRkQzFoYkdsbmJqcHlhV2RvZEgwdVpHVndMWE4wWlhCemUyUnBjM0JzWVhrNlpteGxlRHRtYkdWNExXUnBjbVZqZEdsdmJqcGpiMngxYlc1OUxtUmxjQzF6ZEdWd2UyUnBjM0JzWVhrNlpteGxlRHRuWVhBNk1UaHdlRHR3WVdSa2FXNW5Pakl3Y0hnZ01EdGliM0prWlhJdFltOTBkRzl0T2pGd2VDQnpiMnhwWkNCMllYSW9MUzFpWkhJcGZTNWtaWEF0YzNSbGNEcHNZWE4wTFdOb2FXeGtlMkp2Y21SbGNpMWliM1IwYjIwNmJtOXVaWDB1WkdWd0xXNTdabTl1ZEMxbVlXMXBiSGs2ZG1GeUtDMHRabTBwTzJadmJuUXRjMmw2WlRveE1uQjRPMk52Ykc5eU9uWmhjaWd0TFdGNEtUdHRhVzR0ZDJsa2RHZzZNalJ3ZUR0dFlYSm5hVzR0ZEc5d09qSndlRHRtYjI1MExYZGxhV2RvZERvMk1EQjlMbVJsY0MxemRHVndJR2cwZTJadmJuUXRjMmw2WlRveE5YQjRPMlp2Ym5RdGQyVnBaMmgwT2pZd01EdGpiMnh2Y2pwMllYSW9MUzEwZUhRcE8yMWhjbWRwYmkxaWIzUjBiMjA2TkhCNGZTNWtaWEF0YzNSbGNDQndlMlp2Ym5RdGMybDZaVG94TkhCNE8yTnZiRzl5T25aaGNpZ3RMWFF5S1R0c2FXNWxMV2hsYVdkb2REb3hMalo5TG1Ka0xXSnhlMkp2Y21SbGNpMXNaV1owT2pOd2VDQnpiMnhwWkNCMllYSW9MUzFoZUNrN2NHRmtaR2x1WnpveE5uQjRJREl3Y0hnN1ltRmphMmR5YjNWdVpEcDJZWElvTFMxaGVHUXBPMlp2Ym5RdGMybDZaVG94TlhCNE8yWnZiblF0YzNSNWJHVTZhWFJoYkdsak8yTnZiRzl5T25aaGNpZ3RMWFF5S1R0c2FXNWxMV2hsYVdkb2REb3hMamM3YldGeVoybHVMWFJ2Y0RveU1IQjRmUzUwZDI4dFkyOXNlMlJwYzNCc1lYazZaM0pwWkR0bmNtbGtMWFJsYlhCc1lYUmxMV052YkhWdGJuTTZNV1p5SURGbWNqdG5ZWEE2TnpKd2VEdGhiR2xuYmkxcGRHVnRjenB6ZEdGeWRIMHVkSGR2TFdOdmJDNWplMkZzYVdkdUxXbDBaVzF6T21ObGJuUmxjbjB1YldWMGNtbGpjeTFuY21sa2UyUnBjM0JzWVhrNlozSnBaRHRuY21sa0xYUmxiWEJzWVhSbExXTnZiSFZ0Ym5NNk1XWnlJREZtY2p0bllYQTZNWEI0TzJKaFkydG5jbTkxYm1RNmRtRnlLQzB0WW1SeU1pbDlMbTFqZTJKaFkydG5jbTkxYm1RNkkyWm1abVptWmpCaE8zQmhaR1JwYm1jNk1qaHdlRHQwWlhoMExXRnNhV2R1T21ObGJuUmxjbjB1YldNdGRtRnNlMlp2Ym5RdGMybDZaVG8wTUhCNE8yWnZiblF0ZDJWcFoyaDBPamd3TUR0amIyeHZjanAyWVhJb0xTMTBlSFFwTzJ4cGJtVXRhR1ZwWjJoME9qRTdiV0Z5WjJsdUxXSnZkSFJ2YlRvMmNIZzdiR1YwZEdWeUxYTndZV05wYm1jNkxTNHdNbVZ0ZlM1dFl5MTJZV3d1WVhoN1kyOXNiM0k2ZG1GeUtDMHRZWGdwZlM1dFl5MXNZbXg3Wm05dWRDMW1ZVzFwYkhrNmRtRnlLQzB0Wm0wcE8yWnZiblF0YzJsNlpUb3hNSEI0TzJ4bGRIUmxjaTF6Y0dGamFXNW5PaTR4TkdWdE8yTnZiRzl5T25aaGNpZ3RMWFF6S1gwdWIzQnpMV2R5YVdSN1pHbHpjR3hoZVRwbmNtbGtPMmR5YVdRdGRHVnRjR3hoZEdVdFkyOXNkVzF1Y3pweVpYQmxZWFFvTXl3eFpuSXBPMkp2Y21SbGNqb3hjSGdnYzI5c2FXUWdkbUZ5S0MwdFltUnlLWDB1YjNCekxXTmhjbVI3Y0dGa1pHbHVaem96Tm5CNElESTRjSGc3WW05eVpHVnlMWEpwWjJoME9qRndlQ0J6YjJ4cFpDQjJZWElvTFMxaVpISXBmUzV2Y0hNdFkyRnlaRHBzWVhOMExXTm9hV3hrZTJKdmNtUmxjaTF5YVdkb2REcHViMjVsZlM1dmNITXRiM1o3Wm05dWRDMXphWHBsT2pJeWNIZzdabTl1ZEMxM1pXbG5hSFE2T0RBd08yTnZiRzl5T25aaGNpZ3RMV0Y0S1R0dFlYSm5hVzR0ZEc5d09qSXdjSGg5TG05d2N5MXZiSHRtYjI1MExYTnBlbVU2TVRKd2VEdGpiMnh2Y2pwMllYSW9MUzEwTXlrN2JXRnlaMmx1TFhSdmNEb3ljSGg5TG5OcFp5MWtaWFJoYVd4N1pHbHpjR3hoZVRwbWJHVjRPMlpzWlhndFpHbHlaV04wYVc5dU9tTnZiSFZ0Ym4wdWMybG5MV2wwWlcxN1pHbHpjR3hoZVRwbWJHVjRPMmRoY0RveE5uQjRPM0JoWkdScGJtYzZNakJ3ZUNBd08ySnZjbVJsY2kxaWIzUjBiMjA2TVhCNElITnZiR2xrSUhaaGNpZ3RMV0prY2lsOUxuTnBaeTFwZEdWdE9teGhjM1F0WTJocGJHUjdZbTl5WkdWeUxXSnZkSFJ2YlRwdWIyNWxmUzV6YVdjdGJudG1iMjUwTFdaaGJXbHNlVHAyWVhJb0xTMW1iU2s3Wm05dWRDMXphWHBsT2pFemNIZzdZMjlzYjNJNmRtRnlLQzB0WVhncE8yMXBiaTEzYVdSMGFEb3lOSEI0TzJadmJuUXRkMlZwWjJoME9qWXdNRHR0WVhKbmFXNHRkRzl3T2pKd2VEdG1iR1Y0TFhOb2NtbHVhem93ZlM1emFXY3RhWFJsYlNCb05IdG1iMjUwTFhOcGVtVTZNVFZ3ZUR0bWIyNTBMWGRsYVdkb2REbzJNREE3WTI5c2IzSTZkbUZ5S0MwdGRIaDBLVHR0WVhKbmFXNHRZbTkwZEc5dE9qUndlSDB1YzJsbkxXbDBaVzBnY0h0bWIyNTBMWE5wZW1VNk1UUndlRHRqYjJ4dmNqcDJZWElvTFMxME1pazdiR2x1WlMxb1pXbG5hSFE2TVM0M2ZTNWxlQzFpYjNoN1ltRmphMmR5YjNWdVpEcDJZWElvTFMxaGVHUXBPMkp2Y21SbGNpMXNaV1owT2pOd2VDQnpiMnhwWkNCMllYSW9MUzFoZUNrN2NHRmtaR2x1WnpveU1IQjRPMjFoY21kcGJpMTBiM0E2TWpCd2VIMHVaWGd0WW05NElHeGhZbVZzZTJadmJuUXRabUZ0YVd4NU9uWmhjaWd0TFdadEtUdG1iMjUwTFhOcGVtVTZNVEJ3ZUR0c1pYUjBaWEl0YzNCaFkybHVaem91TVRSbGJUdGpiMnh2Y2pwMllYSW9MUzFoZUNrN1pHbHpjR3hoZVRwaWJHOWphenR0WVhKbmFXNHRZbTkwZEc5dE9qaHdlSDB1WlhndFltOTRJSEI3Wm05dWRDMXphWHBsT2pFMGNIZzdZMjlzYjNJNmRtRnlLQzB0ZEhoMEtUdHNhVzVsTFdobGFXZG9kRG94TGpkOUxuTjBZWFF0YzNSaFkydDdaR2x6Y0d4aGVUcG1iR1Y0TzJac1pYZ3RaR2x5WldOMGFXOXVPbU52YkhWdGJuMHVjM1JoZEMxeWIzY3RkbnRrYVhOd2JHRjVPbVpzWlhnN1oyRndPakkwY0hnN2NHRmtaR2x1WnpveU5IQjRJREE3WW05eVpHVnlMV0p2ZEhSdmJUb3hjSGdnYzI5c2FXUWdkbUZ5S0MwdFltUnlLWDB1YzNSaGRDMXliM2N0ZGpwc1lYTjBMV05vYVd4a2UySnZjbVJsY2kxaWIzUjBiMjA2Ym05dVpYMHVjMjR0YkdkN1ptOXVkQzF6YVhwbE9qUXdjSGc3Wm05dWRDMTNaV2xuYUhRNk9EQXdPMk52Ykc5eU9uWmhjaWd0TFdGNEtUdHNhVzVsTFdobGFXZG9kRG94TzIxcGJpMTNhV1IwYURvNE1IQjRmUzV6WWlCb05IdG1iMjUwTFhOcGVtVTZNVFZ3ZUR0bWIyNTBMWGRsYVdkb2REbzJNREE3WTI5c2IzSTZkbUZ5S0MwdGRIaDBLVHR0WVhKbmFXNHRZbTkwZEc5dE9qUndlSDB1YzJJZ2NIdG1iMjUwTFhOcGVtVTZNVFJ3ZUR0amIyeHZjanAyWVhJb0xTMTBNaWw5TG1KaGJtUXRjWHRpWVdOclozSnZkVzVrT25aaGNpZ3RMV0Y0S1R0d1lXUmthVzVuT2pNeWNIZ2dNSDB1WW1GdVpDMXhMV2x1ZTIxaGVDMTNhV1IwYURveE1qQXdjSGc3YldGeVoybHVPakFnWVhWMGJ6dHdZV1JrYVc1bk9qQWdORGh3ZUR0a2FYTndiR0Y1T21ac1pYZzdhblZ6ZEdsbWVTMWpiMjUwWlc1ME9uTndZV05sTFdKbGRIZGxaVzQ3WVd4cFoyNHRhWFJsYlhNNlkyVnVkR1Z5TzJkaGNEbzBNSEI0ZlM1aVlXNWtMWEVnY0h0bWIyNTBMWE5wZW1VNk1UVndlRHRtYjI1MExYTjBlV3hsT21sMFlXeHBZenRqYjJ4dmNqb2pNREV6WWpRNU8yeHBibVV0YUdWcFoyaDBPakV1Tnp0dFlYZ3RkMmxrZEdnNk5qUXdjSGc3Wm05dWRDMTNaV2xuYUhRNk5UQXdmUzVpWVc1a0xYRWdZMmwwWlh0bWIyNTBMV1poYldsc2VUcDJZWElvTFMxbWJTazdabTl1ZEMxemFYcGxPakV3Y0hnN2JHVjBkR1Z5TFhOd1lXTnBibWM2TGpGbGJUdGpiMnh2Y2pvak1ERXpZalE1T1RrN2QyaHBkR1V0YzNCaFkyVTZibTkzY21Gd2ZTNWpkR0V0WW1GdVpIdGliM0prWlhJdGRHOXdPakZ3ZUNCemIyeHBaQ0IyWVhJb0xTMWlaSElwTzJKdmNtUmxjaTFpYjNSMGIyMDZNWEI0SUhOdmJHbGtJSFpoY2lndExXSmtjaWs3Y0dGa1pHbHVaem80TUhCNElEQTdZbUZqYTJkeWIzVnVaRHBzYVc1bFlYSXRaM0poWkdsbGJuUW9NVFl3WkdWbkxDTXdNVE5pTkRsbU1pd2pNREl6TWpObVpqSXBmUzVqZEdFdFltRnVaQzFwYm50dFlYZ3RkMmxrZEdnNk1USXdNSEI0TzIxaGNtZHBiam93SUdGMWRHODdjR0ZrWkdsdVp6b3dJRFE0Y0hnN1pHbHpjR3hoZVRwbmNtbGtPMmR5YVdRdGRHVnRjR3hoZEdVdFkyOXNkVzF1Y3pveFpuSWdNV1p5TzJkaGNEbzRNSEI0TzJGc2FXZHVMV2wwWlcxek9tTmxiblJsY24wdVkzUmhMV0poYm1RdGFXNGdjSHRtYjI1MExYTnBlbVU2TVRkd2VEdGpiMnh2Y2pwMllYSW9MUzEwTWlrN2JHbHVaUzFvWldsbmFIUTZNUzQzTlR0dFlYSm5hVzR0WW05MGRHOXRPakk0Y0hoOUxtSmtMV1p2YjNSbGNudGlZV05yWjNKdmRXNWtPaU13TVRKbU0ySmpZenRpYjNKa1pYSXRkRzl3T2pGd2VDQnpiMnhwWkNCMllYSW9MUzFpWkhJcE8zQmhaR1JwYm1jNk1qaHdlQ0EwT0hCNE8yUnBjM0JzWVhrNlpteGxlRHRxZFhOMGFXWjVMV052Ym5SbGJuUTZjM0JoWTJVdFltVjBkMlZsYmp0aGJHbG5iaTFwZEdWdGN6cGpaVzUwWlhKOUxtWjBjaTFzYVc1cmMzdGthWE53YkdGNU9tWnNaWGc3WjJGd09qSXdjSGg5TG1aMGNpMXNhVzVyZTJadmJuUXRjMmw2WlRveE0zQjRPMk52Ykc5eU9uWmhjaWd0TFhRektUdDBjbUZ1YzJsMGFXOXVPbU52Ykc5eUlDNHhOWE03WW05eVpHVnlPbTV2Ym1VN1ltRmphMmR5YjNWdVpEcHViMjVsTzJOMWNuTnZjanB3YjJsdWRHVnlPMlp2Ym5RdFptRnRhV3g1T25aaGNpZ3RMV1ptS1gwdVpuUnlMV3hwYm1zNmFHOTJaWEo3WTI5c2IzSTZkbUZ5S0MwdGRESXBmUzVtZEhJdFkyOXdlWHRtYjI1MExXWmhiV2xzZVRwMllYSW9MUzFtYlNrN1ptOXVkQzF6YVhwbE9qRXhjSGc3WTI5c2IzSTZkbUZ5S0MwdGRETXBPMnhsZEhSbGNpMXpjR0ZqYVc1bk9pNHdObVZ0ZlM1dGIyUmhiQzF2ZG50d2IzTnBkR2x2YmpwbWFYaGxaRHQwYjNBNk1EdHlhV2RvZERvd08ySnZkSFJ2YlRvd08yeGxablE2TUR0aVlXTnJaM0p2ZFc1a09pTXdaREZpTWpSaU9EdDZMV2x1WkdWNE9qSXdNREE3WkdsemNHeGhlVHBtYkdWNE8yRnNhV2R1TFdsMFpXMXpPbU5sYm5SbGNqdHFkWE4wYVdaNUxXTnZiblJsYm5RNlkyVnVkR1Z5TzJKaFkydGtjbTl3TFdacGJIUmxjanBpYkhWeUtEUndlQ2s3TFhkbFltdHBkQzFpWVdOclpISnZjQzFtYVd4MFpYSTZZbXgxY2lnMGNIZ3BmUzV0YjJSaGJDMWliM2g3WW1GamEyZHliM1Z1WkRvalptWm1PM0JoWkdScGJtYzZORGh3ZUR0M2FXUjBhRHBqWVd4aktERXdNQ1VnTFNBME1IQjRLVHR0WVhndGQybGtkR2c2TlRJd2NIZzdjRzl6YVhScGIyNDZjbVZzWVhScGRtVTdiV0Y0TFdobGFXZG9kRG81TUhab08yOTJaWEptYkc5M0xYazZZWFYwYjMwdWJXOWtZV3d0ZUh0d2IzTnBkR2x2YmpwaFluTnZiSFYwWlR0MGIzQTZNakJ3ZUR0eWFXZG9kRG95TUhCNE8yTnZiRzl5T2lNMVpUWmpOelU3Wm05dWRDMXphWHBsT2pJd2NIZzdZM1Z5YzI5eU9uQnZhVzUwWlhJN1ltRmphMmR5YjNWdVpEcHViMjVsTzJKdmNtUmxjanB1YjI1bE8yWnZiblF0Wm1GdGFXeDVPblpoY2lndExXWm1LVHRzYVc1bExXaGxhV2RvZERveGZTNXRiMlJoYkMxNE9taHZkbVZ5ZTJOdmJHOXlPaU13WkRGaU1qUjlMbTF2WkdGc0xXbHVjSHQzYVdSMGFEb3hNREFsTzNCaFpHUnBibWM2TVRCd2VDQXhOSEI0TzJKdmNtUmxjam94TGpWd2VDQnpiMnhwWkNBalpUSmxNR1JqTzJKaFkydG5jbTkxYm1RNkkyWTJaalZtTWp0bWIyNTBMV1poYldsc2VUcDJZWElvTFMxbVppazdabTl1ZEMxemFYcGxPakUwY0hnN1kyOXNiM0k2SXpCa01XSXlORHR2ZFhSc2FXNWxPbTV2Ym1VN2RISmhibk5wZEdsdmJqcGliM0prWlhJdFkyOXNiM0lnTGpFMWMzMHViVzlrWVd3dGFXNXdPbVp2WTNWemUySnZjbVJsY2kxamIyeHZjanAyWVhJb0xTMWhlQ2w5TG1admNtMHRaM0p3ZTIxaGNtZHBiaTFpYjNSMGIyMDZNVGh3ZUgwdVptOXliUzFzWW14N1pHbHpjR3hoZVRwaWJHOWphenRtYjI1MExYTnBlbVU2TVRGd2VEdG1iMjUwTFhkbGFXZG9kRG8yTURBN2JHVjBkR1Z5TFhOd1lXTnBibWM2TGpBM1pXMDdZMjlzYjNJNmRtRnlLQzB0ZERNcE8yMWhjbWRwYmkxaWIzUjBiMjA2Tm5CNE8zUmxlSFF0ZEhKaGJuTm1iM0p0T25Wd2NHVnlZMkZ6WlgwdVptOXliUzFwYm5CN2QybGtkR2c2TVRBd0pUdGlZV05yWjNKdmRXNWtPaU5tWm1abVptWXdaRHRpYjNKa1pYSTZNWEI0SUhOdmJHbGtJSFpoY2lndExXSmtjaklwTzJOdmJHOXlPblpoY2lndExYUjRkQ2s3Wm05dWRDMXphWHBsT2pFMGNIZzdjR0ZrWkdsdVp6b3hNWEI0SURFMGNIZzdkSEpoYm5OcGRHbHZianBpYjNKa1pYSXRZMjlzYjNJZ0xqRTFjenR2ZFhSc2FXNWxPbTV2Ym1VN1ptOXVkQzFtWVcxcGJIazZkbUZ5S0MwdFptWXBmUzVtYjNKdExXbHVjRHBtYjJOMWMzdGliM0prWlhJdFkyOXNiM0k2ZG1GeUtDMHRZWGdwZlM1bWIzSnRMWEp2ZHpKN1pHbHpjR3hoZVRwbmNtbGtPMmR5YVdRdGRHVnRjR3hoZEdVdFkyOXNkVzF1Y3pveFpuSWdNV1p5TzJkaGNEb3hOSEI0ZlM1bWIzSnRMV1Z5Y250aVlXTnJaM0p2ZFc1a09pTm1PRGN4TnpFeFlUdGliM0prWlhJNk1YQjRJSE52Ykdsa0lISm5ZbUVvTWpRNExERXhNeXd4TVRNc0xqTXBPMk52Ykc5eU9pTm1PRGN4TnpFN2NHRmtaR2x1WnpveE1IQjRJREUwY0hnN1ptOXVkQzF6YVhwbE9qRXpjSGc3YldGeVoybHVMV0p2ZEhSdmJUb3hObkI0ZlM1bWIzSnRMWE5sYm5SN2RHVjRkQzFoYkdsbmJqcGpaVzUwWlhJN2NHRmtaR2x1WnpveU1IQjRJREI5TG1admNtMHRjMlZ1ZENCb00zdG1iMjUwTFhOcGVtVTZNakp3ZUR0amIyeHZjanAyWVhJb0xTMWhlQ2s3YldGeVoybHVMV0p2ZEhSdmJUbzRjSGg5TG1admNtMHRjMlZ1ZENCd2UyWnZiblF0YzJsNlpUb3hOSEI0TzJOdmJHOXlPblpoY2lndExYUXlLWDB1WTI5dWRHRmpkQzFqWVhKa2UySmhZMnRuY205MWJtUTZJMlptWm1abVpqQTRPMkp2Y21SbGNqb3hjSGdnYzI5c2FXUWdkbUZ5S0MwdFltUnlLVHR3WVdSa2FXNW5PalF3Y0hoOUxtNWxkM010WjNKcFpIdGthWE53YkdGNU9tZHlhV1E3WjNKcFpDMTBaVzF3YkdGMFpTMWpiMngxYlc1ek9uSmxjR1ZoZENnekxERm1jaWs3WjJGd09qSTBjSGg5TG01bGQzTXRZMkZ5Wkh0aVlXTnJaM0p2ZFc1a09pTm1abVptWm1Zd09EdGliM0prWlhJNk1YQjRJSE52Ykdsa0lIWmhjaWd0TFdKa2NpazdjR0ZrWkdsdVp6b3lPSEI0ZlM1dVpYZHpMV05oY21RZ2FETjdabTl1ZEMxemFYcGxPakUzY0hnN1ptOXVkQzEzWldsbmFIUTZOakF3TzJOdmJHOXlPblpoY2lndExYUjRkQ2s3YldGeVoybHVPamh3ZUNBd0lERXdjSGg5TG01bGQzTXRZMkZ5WkNCd2UyWnZiblF0YzJsNlpUb3hOSEI0TzJOdmJHOXlPblpoY2lndExYUXlLVHRzYVc1bExXaGxhV2RvZERveExqZDlMbTVsZDNNdGRHRm5lMlp2Ym5RdFptRnRhV3g1T25aaGNpZ3RMV1p0S1R0bWIyNTBMWE5wZW1VNk1UQndlRHRzWlhSMFpYSXRjM0JoWTJsdVp6b3VNV1Z0TzNCaFpHUnBibWM2TTNCNElEaHdlSDB1Ym1WM2N5MTBZV2N1YVc1emUySmhZMnRuY205MWJtUTZkbUZ5S0MwdFlYaGtLVHRqYjJ4dmNqcDJZWElvTFMxaGVDbDlMbTVsZDNNdGRHRm5MbkJ5ZTJKaFkydG5jbTkxYm1RNkkyWXpOMlF4WlRGaE8yTnZiRzl5T25aaGNpZ3RMV0Y0TWlsOUxtNWxkM010ZEdGbkxtVjJlMkpoWTJ0bmNtOTFibVE2SXpZME56Um1NekZtTzJOdmJHOXlPaU00TVRoalpqaDlMbWx1ZGkxemRHRjBlMkpoWTJ0bmNtOTFibVE2ZG1GeUtDMHRjekVwTzNCaFpHUnBibWM2TXpKd2VDQXlOSEI0TzNSbGVIUXRZV3hwWjI0NlkyVnVkR1Z5TzJKdmNtUmxjam94Y0hnZ2MyOXNhV1FnZG1GeUtDMHRZbVJ5S1gwdWFXNTJMWFpoYkh0bWIyNTBMWE5wZW1VNk5ESndlRHRtYjI1MExYZGxhV2RvZERvNE1EQTdZMjlzYjNJNmRtRnlLQzB0WVhncE8yeHBibVV0YUdWcFoyaDBPakU3YldGeVoybHVMV0p2ZEhSdmJUbzRjSGg5TG1sdWRpMXNZbXg3Wm05dWRDMXphWHBsT2pFemNIZzdabTl1ZEMxM1pXbG5hSFE2TmpBd08yTnZiRzl5T25aaGNpZ3RMWFI0ZENrN2JXRnlaMmx1TFdKdmRIUnZiVG8yY0hoOUxtbHVkaTF1YjNSbGUyWnZiblF0YzJsNlpUb3hNbkI0TzJOdmJHOXlPblpoY2lndExYUXpLWDB1Y0c5c2FXTjVMV0p2WkhrZ2FESjdabTl1ZEMxemFYcGxPakl5Y0hnN1ptOXVkQzEzWldsbmFIUTZOekF3TzIxaGNtZHBiam96Tm5CNElEQWdNVEJ3ZUR0amIyeHZjanAyWVhJb0xTMTBlSFFwZlM1d2IyeHBZM2t0WW05a2VTQm9NM3RtYjI1MExYTnBlbVU2TVRad2VEdG1iMjUwTFhkbGFXZG9kRG8yTURBN2JXRnlaMmx1T2pJMGNIZ2dNQ0EyY0hnN1kyOXNiM0k2ZG1GeUtDMHRkSGgwS1gwdWNHOXNhV041TFdKdlpIa2djSHRtYjI1MExYTnBlbVU2TVRWd2VEdHNhVzVsTFdobGFXZG9kRG94TGpnN2JXRnlaMmx1TFdKdmRIUnZiVG94TW5CNE8yTnZiRzl5T25aaGNpZ3RMWFF5S1gwdWNHOXNhV041TFdKdlpIa2dkV3g3Y0dGa1pHbHVaeTFzWldaME9qSTBjSGc3YldGeVoybHVMV0p2ZEhSdmJUb3hNbkI0ZlM1d2IyeHBZM2t0WW05a2VTQnNhWHRtYjI1MExYTnBlbVU2TVRWd2VEdHNhVzVsTFdobGFXZG9kRG94TGpnN2JXRnlaMmx1TFdKdmRIUnZiVG8yY0hnN1kyOXNiM0k2ZG1GeUtDMHRkRElwZlM1elkzSnZiR3d0YUdsdWRIdHdiM05wZEdsdmJqcG1hWGhsWkR0aWIzUjBiMjA2TWpod2VEdHNaV1owT2pVd0pUdDBjbUZ1YzJadmNtMDZkSEpoYm5Oc1lYUmxLQzAxTUNVcE8yUnBjM0JzWVhrNlpteGxlRHRtYkdWNExXUnBjbVZqZEdsdmJqcGpiMngxYlc0N1lXeHBaMjR0YVhSbGJYTTZZMlZ1ZEdWeU8yZGhjRG8xY0hnN2IzQmhZMmwwZVRvd08zQnZhVzUwWlhJdFpYWmxiblJ6T201dmJtVTdkSEpoYm5OcGRHbHZianB2Y0dGamFYUjVJQzQwY3p0NkxXbHVaR1Y0T2prd2ZTNXpZM0p2Ykd3dGFHbHVkQzUyYVhON2IzQmhZMmwwZVRvdU5qdHdiMmx1ZEdWeUxXVjJaVzUwY3pwaGRYUnZPMk4xY25OdmNqcHdiMmx1ZEdWeWZTNXpZM0p2Ykd3dGFHbHVkQzUyYVhNNmFHOTJaWEo3YjNCaFkybDBlVG94ZlM1emFDMXNZbXg3Wm05dWRDMW1ZVzFwYkhrNmRtRnlLQzB0Wm0wcE8yWnZiblF0YzJsNlpUbzVjSGc3YkdWMGRHVnlMWE53WVdOcGJtYzZMakU0WlcwN1kyOXNiM0k2ZG1GeUtDMHRkSGgwS1gxQWJXVmthV0VnS0cxaGVDMTNhV1IwYURvZ09UWXdjSGdwZXk1aVpDMXVZWFl0YkdsdWEzTjdaR2x6Y0d4aGVUcHViMjVsZlM1aVpDMW9ZVzE3WkdsemNHeGhlVHBtYkdWNGZTNWlaQzF1WVhaN2NHRmtaR2x1Wnpvd0lESXdjSGg5TG1Ka0xXaGxjbTh0YVc1N1ozSnBaQzEwWlcxd2JHRjBaUzFqYjJ4MWJXNXpPakZtY2p0bllYQTZOREJ3ZUR0d1lXUmthVzVuT2pZd2NIZ2dNakJ3ZUNBME9IQjRmUzVpWkMxb1pYSnZlMjFwYmkxb1pXbG5hSFE2WVhWMGIzMHVhR1Z5YnkxemRXSjdiV0Y0TFhkcFpIUm9PakV3TUNWOUxtSmtMWE5sWTNSN2NHRmtaR2x1WnpvMk5IQjRJREI5TG1Ka0xYTmxZM1F1ZEh0d1lXUmthVzVuT2pRNGNIZ2dNSDB1WW1RdGMybDdjR0ZrWkdsdVp6b3dJREl3Y0hoOUxuUjNieTFqYjJ3c0xuUjNieTFqYjJ3dVkzdG5jbWxrTFhSbGJYQnNZWFJsTFdOdmJIVnRibk02TVdaeU8yZGhjRG8wTUhCNGZTNW5NM3RuY21sa0xYUmxiWEJzWVhSbExXTnZiSFZ0Ym5NNk1XWnlmUzVuTXlBdVltUXRZMkZ5Wkh0aWIzSmtaWEl0Y21sbmFIUTZibTl1WlR0aWIzSmtaWEl0WW05MGRHOXRPakZ3ZUNCemIyeHBaQ0IyWVhJb0xTMWlaSElwZlM1bk15QXVZbVF0WTJGeVpEcHNZWE4wTFdOb2FXeGtlMkp2Y21SbGNpMWliM1IwYjIwNmJtOXVaWDB1WnpKN1ozSnBaQzEwWlcxd2JHRjBaUzFqYjJ4MWJXNXpPakZtY24wdVkzUmhMV0poYm1RdGFXNTdaM0pwWkMxMFpXMXdiR0YwWlMxamIyeDFiVzV6T2pGbWNqdG5ZWEE2TXpad2VEdHdZV1JrYVc1bk9qUTRjSGdnTWpCd2VIMHVZM1JoTFdKaGJtUjdjR0ZrWkdsdVp6bzJOSEI0SURCOUxuTjBZWFJ6TFdKaGNudG5jbWxrTFhSbGJYQnNZWFJsTFdOdmJIVnRibk02TVdaeUlERm1jbjB1YzNSaGRDMWpaV3hzT201MGFDMWphR2xzWkNneWJpbDdZbTl5WkdWeUxYSnBaMmgwT201dmJtVjlMbk4wWVhRdFkyVnNiRHB1ZEdndFkyaHBiR1FvYmlzektYdGliM0prWlhJdGRHOXdPakZ3ZUNCemIyeHBaQ0IyWVhJb0xTMWlaSElwZlM1d2FXeHNZWEp6ZTJkeWFXUXRkR1Z0Y0d4aGRHVXRZMjlzZFcxdWN6b3habko5TG5CcGJHeGhjbnRpYjNKa1pYSXRjbWxuYUhRNmJtOXVaVHRpYjNKa1pYSXRZbTkwZEc5dE9qRndlQ0J6YjJ4cFpDQjJZWElvTFMxaVpISXBmUzV3YVd4c1lYSTZiR0Z6ZEMxamFHbHNaSHRpYjNKa1pYSXRZbTkwZEc5dE9tNXZibVY5TG5ScFpYSXRjbTkzZTJkeWFXUXRkR1Z0Y0d4aGRHVXRZMjlzZFcxdWN6b3habko5TG5ScFpYSXRZbUZrWjJWN1ltOXlaR1Z5TFhKcFoyaDBPbTV2Ym1VN1ltOXlaR1Z5TFdKdmRIUnZiVG94Y0hnZ2MyOXNhV1FnZG1GeUtDMHRZbVJ5S1gwdWRHbGxjaTFqZEdGN1ltOXlaR1Z5TFd4bFpuUTZibTl1WlR0aWIzSmtaWEl0ZEc5d09qRndlQ0J6YjJ4cFpDQjJZWElvTFMxaVpISXBmUzV2Y0hNdFozSnBaSHRuY21sa0xYUmxiWEJzWVhSbExXTnZiSFZ0Ym5NNk1XWnlmUzV2Y0hNdFkyRnlaSHRpYjNKa1pYSXRjbWxuYUhRNmJtOXVaVHRpYjNKa1pYSXRZbTkwZEc5dE9qRndlQ0J6YjJ4cFpDQjJZWElvTFMxaVpISXBmUzV2Y0hNdFkyRnlaRHBzWVhOMExXTm9hV3hrZTJKdmNtUmxjaTFpYjNSMGIyMDZibTl1WlgwdVkzUmhMV05oY21SemUyZHlhV1F0ZEdWdGNHeGhkR1V0WTI5c2RXMXVjem94Wm5KOUxtTjBZUzFqWVhKa2UySnZjbVJsY2kxeWFXZG9kRHB1YjI1bE8ySnZjbVJsY2kxaWIzUjBiMjA2TVhCNElITnZiR2xrSUhaaGNpZ3RMV0prY2lsOUxtTjBZUzFqWVhKa09teGhjM1F0WTJocGJHUjdZbTl5WkdWeUxXSnZkSFJ2YlRwdWIyNWxmUzVrWVhOb0xXSnZaSGw3WjNKcFpDMTBaVzF3YkdGMFpTMWpiMngxYlc1ek9qRm1jbjB1WkdGemFDMXphV1JsTEM1a1lYTm9MWEpwWjJoMGUyUnBjM0JzWVhrNmJtOXVaWDB1WW1RdFptOXZkR1Z5ZTJac1pYZ3RaR2x5WldOMGFXOXVPbU52YkhWdGJqdG5ZWEE2TVRad2VEdDBaWGgwTFdGc2FXZHVPbU5sYm5SbGNqdHdZV1JrYVc1bk9qSTBjSGdnTWpCd2VIMHVablJ5TFd4cGJtdHplMlpzWlhndGQzSmhjRHAzY21Gd08ycDFjM1JwWm5rdFkyOXVkR1Z1ZERwalpXNTBaWEo5TG1KaGJtUXRjWHR3WVdSa2FXNW5Pakk0Y0hnZ01IMHVZbUZ1WkMxeExXbHVlMlpzWlhndFpHbHlaV04wYVc5dU9tTnZiSFZ0Ymp0bllYQTZNVFp3ZUR0d1lXUmthVzVuT2pBZ01qQndlSDB1Y0cwdGMzUnlhWEI3Y0dGa1pHbHVaem95TkhCNElESXdjSGg5TG5CdExYSnZkM3RuY21sa0xYUmxiWEJzWVhSbExXTnZiSFZ0Ym5NNk1XWnlPMmRoY0RveE1uQjRmUzVoZFdRdGMzUnlhWEI3Y0dGa1pHbHVaem94TkhCNElESXdjSGc3Wm14bGVDMWthWEpsWTNScGIyNDZZMjlzZFcxdU8yRnNhV2R1TFdsMFpXMXpPbVpzWlhndGMzUmhjblE3WjJGd09qRXdjSGg5TG0xbGRISnBZM010WjNKcFpIdG5jbWxrTFhSbGJYQnNZWFJsTFdOdmJIVnRibk02TVdaeUlERm1jbjB1ZEhKMWMzUXRZbUZ5ZTNCaFpHUnBibWM2TVRad2VDQXlNSEI0ZlM1MGNuVnpkQzFwYm50bWJHVjRMV1JwY21WamRHbHZianBqYjJ4MWJXNDdZV3hwWjI0dGFYUmxiWE02Wm14bGVDMXpkR0Z5ZER0bllYQTZNVFJ3ZUgwdWRISjFjM1F0YVhSbGJYTjdaMkZ3T2pFMmNIaDlMbTVsZDNNdFozSnBaSHRuY21sa0xYUmxiWEJzWVhSbExXTnZiSFZ0Ym5NNk1XWnlmUzVqYjI1MFlXTjBMV05oY21SN2NHRmtaR2x1WnpveU9IQjRJREl3Y0hoOUxtRnlZMmd0YkdGNVpYSjdabXhsZUMxa2FYSmxZM1JwYjI0NlkyOXNkVzF1ZlM1aGNtTm9MV3hpYkh0M2NtbDBhVzVuTFcxdlpHVTZhRzl5YVhwdmJuUmhiQzEwWWp0MGNtRnVjMlp2Y20wNmJtOXVaVHR3WVdSa2FXNW5PakUwY0hnZ01qQndlQ0F3TzJKdmNtUmxjaTF5YVdkb2REcHViMjVsTzJKdmNtUmxjaTFpYjNSMGIyMDZNWEI0SUhOdmJHbGtJSFpoY2lndExXSmtjaWw5TG0xdlpHRnNMV0p2ZUh0dFlYSm5hVzQ2TWpCd2VEdHdZV1JrYVc1bk9qSTRjSGdnTWpCd2VIMTlRRzFsWkdsaElDaHRZWGd0ZDJsa2RHZzZJRFl3TUhCNEtYc3VjM1JoZEhNdFltRnllMmR5YVdRdGRHVnRjR3hoZEdVdFkyOXNkVzF1Y3pveFpuSjlMbk4wWVhRdFkyVnNiSHRpYjNKa1pYSXRjbWxuYUhRNmJtOXVaVHRpYjNKa1pYSXRZbTkwZEc5dE9qRndlQ0J6YjJ4cFpDQjJZWElvTFMxaVpISXBmUzV6ZEdGMExXTmxiR3c2WVdaMFpYSjdaR2x6Y0d4aGVUcHViMjVsZlM1dFpYUnlhV056TFdkeWFXUXNMbVp2Y20wdGNtOTNNbnRuY21sa0xYUmxiWEJzWVhSbExXTnZiSFZ0Ym5NNk1XWnlmWDB1Y0djK2MyVmpkR2x2YmpwdWRHZ3RiMll0ZEhsd1pTZ3lLU3d1Y0djK2MyVmpkR2x2YmpwdWRHZ3RiMll0ZEhsd1pTZzBLWHRpWVdOclozSnZkVzVrT2lObVptWWhhVzF3YjNKMFlXNTBPeTB0ZEhoME9pQWpNREV6WWpRNU95MHRkREk2SUhKblltRW9NU3dnTlRrc0lEY3pMQ0F1TmpVcE95MHRkRE02SUhKblltRW9NU3dnTlRrc0lEY3pMQ0F1TkRJcE95MHRZbVJ5T2lCeVoySmhLREFzSURBc0lEQXNJQzR3T1NrN0xTMWlaSEl5T2lCeVoySmhLREFzSURBc0lEQXNJQzR4TkNrN0xTMWhlR1E2SUhKblltRW9OVGtzSURFNE1Td2dNVE0wTENBdU1TazdMUzFoZUdJNklISm5ZbUVvTlRrc0lERTRNU3dnTVRNMExDQXVNalVwZlRwcGN5Z3VjR2MrYzJWamRHbHZianB1ZEdndGIyWXRkSGx3WlNneUtTd3VjR2MrYzJWamRHbHZianB1ZEdndGIyWXRkSGx3WlNnMEtTa2dMbUprTFdOaGNtUjdZbUZqYTJkeWIzVnVaRG9qWmpWbU4yWm1mVHBwY3lndWNHYytjMlZqZEdsdmJqcHVkR2d0YjJZdGRIbHdaU2d5S1N3dWNHYytjMlZqZEdsdmJqcHVkR2d0YjJZdGRIbHdaU2cwS1NrZ0xtSmtMV05oY21RNmFHOTJaWEo3WW1GamEyZHliM1Z1WkRvak0ySmlOVGcyTVRKOU9tbHpLQzV3Wno1elpXTjBhVzl1T201MGFDMXZaaTEwZVhCbEtESXBMQzV3Wno1elpXTjBhVzl1T201MGFDMXZaaTEwZVhCbEtEUXBLU0F1YldON1ltRmphMmR5YjNWdVpEb2paalZtTjJabWZUcHBjeWd1Y0djK2MyVmpkR2x2YmpwdWRHZ3RiMll0ZEhsd1pTZ3lLU3d1Y0djK2MyVmpkR2x2YmpwdWRHZ3RiMll0ZEhsd1pTZzBLU2tnTG0xakxYWmhiSHRqYjJ4dmNqb2pNREV6WWpRNWZUcHBjeWd1Y0djK2MyVmpkR2x2YmpwdWRHZ3RiMll0ZEhsd1pTZ3lLU3d1Y0djK2MyVmpkR2x2YmpwdWRHZ3RiMll0ZEhsd1pTZzBLU2tnTG0xakxYWmhiQzVoZUh0amIyeHZjanAyWVhJb0xTMWhlQ2w5T21sektDNXdaejV6WldOMGFXOXVPbTUwYUMxdlppMTBlWEJsS0RJcExDNXdaejV6WldOMGFXOXVPbTUwYUMxdlppMTBlWEJsS0RRcEtTQXVjM1JoZEhNdFltRnllMkpoWTJ0bmNtOTFibVE2STJZMVpqZG1abjA2YVhNb0xuQm5Qbk5sWTNScGIyNDZiblJvTFc5bUxYUjVjR1VvTWlrc0xuQm5Qbk5sWTNScGIyNDZiblJvTFc5bUxYUjVjR1VvTkNrcElDNXpkR0YwTFd4aWJIdGpiMnh2Y2pvak1ERXpZalE1ZlRwcGN5Z3VjR2MrYzJWamRHbHZianB1ZEdndGIyWXRkSGx3WlNneUtTd3VjR2MrYzJWamRHbHZianB1ZEdndGIyWXRkSGx3WlNnMEtTa2dMbk4wWVhRdFpHVnpZM3RqYjJ4dmNqb2pNREV6WWpRNU56TjlPbWx6S0M1d1p6NXpaV04wYVc5dU9tNTBhQzF2WmkxMGVYQmxLRElwTEM1d1p6NXpaV04wYVc5dU9tNTBhQzF2WmkxMGVYQmxLRFFwS1NBdVltUXRabVZsWkh0aVlXTnJaM0p2ZFc1a09pTm1OV1kzWm1ZN1ltOXlaR1Z5TFdOdmJHOXlPaU13TURBd01EQXhZWDA2YVhNb0xuQm5Qbk5sWTNScGIyNDZiblJvTFc5bUxYUjVjR1VvTWlrc0xuQm5Qbk5sWTNScGIyNDZiblJvTFc5bUxYUjVjR1VvTkNrcElDNW1aV1ZrTFdoa2UySnZjbVJsY2kxamIyeHZjam9qTURBd01EQXdNVFI5T21sektDNXdaejV6WldOMGFXOXVPbTUwYUMxdlppMTBlWEJsS0RJcExDNXdaejV6WldOMGFXOXVPbTUwYUMxdlppMTBlWEJsS0RRcEtTQXVabVZsWkMxeWIzZDdZbTl5WkdWeUxXTnZiRzl5T2lNd01EQXdNREF3WkgwNmFYTW9MbkJuUG5ObFkzUnBiMjQ2Ym5Sb0xXOW1MWFI1Y0dVb01pa3NMbkJuUG5ObFkzUnBiMjQ2Ym5Sb0xXOW1MWFI1Y0dVb05Da3BJQzVrWVhOb0xXWnlZVzFsZTJKaFkydG5jbTkxYm1RNkkyVmpaakJtWmp0aWIzSmtaWEl0WTI5c2IzSTZJekF3TURBd01ERmhmVHBwY3lndWNHYytjMlZqZEdsdmJqcHVkR2d0YjJZdGRIbHdaU2d5S1N3dWNHYytjMlZqZEdsdmJqcHVkR2d0YjJZdGRIbHdaU2cwS1NrZ0xtUmhjMmd0WW1GeWUySmhZMnRuY205MWJtUTZJekF3TURBd01EQmhPMkp2Y21SbGNpMWpiMnh2Y2pvak1EQXdNREF3TVRSOU9tbHpLQzV3Wno1elpXTjBhVzl1T201MGFDMXZaaTEwZVhCbEtESXBMQzV3Wno1elpXTjBhVzl1T201MGFDMXZaaTEwZVhCbEtEUXBLU0F1WVhKamFDMWpZWEI3WW1GamEyZHliM1Z1WkRvak1EQXdNREF3TUdRN1kyOXNiM0k2SXpBeE0ySTBPVGN6ZlRwcGN5Z3VjR2MrYzJWamRHbHZianB1ZEdndGIyWXRkSGx3WlNneUtTd3VjR2MrYzJWamRHbHZianB1ZEdndGIyWXRkSGx3WlNnMEtTa2dMblJwWlhJdGRHRm5hWHRpWVdOclozSnZkVzVrT2lNd01EQXdNREF3WkR0amIyeHZjam9qTURFellqUTVOek03WW05eVpHVnlMV052Ykc5eU9pTXdNREF3TURBeFpuMDZhWE1vTG5CblBuTmxZM1JwYjI0NmJuUm9MVzltTFhSNWNHVW9NaWtzTG5CblBuTmxZM1JwYjI0NmJuUm9MVzltTFhSNWNHVW9OQ2twSUM1akxYUmhaeTV0ZFh0aVlXTnJaM0p2ZFc1a09pTXdNREF3TURBd1pEdGpiMnh2Y2pvak1ERXpZalE1TnpNN1ltOXlaR1Z5TFdOdmJHOXlPaU13TURBd01EQXhabjA2YVhNb0xuQm5Qbk5sWTNScGIyNDZiblJvTFc5bUxYUjVjR1VvTWlrc0xuQm5Qbk5sWTNScGIyNDZiblJvTFc5bUxYUjVjR1VvTkNrcElDNTJjeTFpYjNoN1ltRmphMmR5YjNWdVpEb2paalZtTjJabU8ySnZjbVJsY2kxamIyeHZjam9qTURBd01EQXdNV0Y5T21sektDNXdaejV6WldOMGFXOXVPbTUwYUMxdlppMTBlWEJsS0RJcExDNXdaejV6WldOMGFXOXVPbTUwYUMxdlppMTBlWEJsS0RRcEtTQXVkbk10YlhKckxtUnVjM3RpWVdOclozSnZkVzVrT2lNd01EQXdNREF3Wm4wNmFYTW9MbkJuUG5ObFkzUnBiMjQ2Ym5Sb0xXOW1MWFI1Y0dVb01pa3NMbkJuUG5ObFkzUnBiMjQ2Ym5Sb0xXOW1MWFI1Y0dVb05Da3BJQzVrYVdabUxXTnJlMkpoWTJ0bmNtOTFibVE2SXpOaVlqVTROakZoTzJKdmNtUmxjaTFqYjJ4dmNqb2pNMkppTlRnMk5EQjlPbWx6S0M1d1p6NXpaV04wYVc5dU9tNTBhQzF2WmkxMGVYQmxLRElwTEM1d1p6NXpaV04wYVc5dU9tNTBhQzF2WmkxMGVYQmxLRFFwS1NBdWFXNTJMWE4wWVhSN1ltRmphMmR5YjNWdVpEb2paalZtTjJabU8ySnZjbVJsY2kxamIyeHZjam9qTURBd01EQXdNVGQ5T21sektDNXdaejV6WldOMGFXOXVPbTUwYUMxdlppMTBlWEJsS0RJcExDNXdaejV6WldOMGFXOXVPbTUwYUMxdlppMTBlWEJsS0RRcEtTQXVhVzUyTFd4aWJIdGpiMnh2Y2pvak1ERXpZalE1ZlRwcGN5Z3VjR2MrYzJWamRHbHZianB1ZEdndGIyWXRkSGx3WlNneUtTd3VjR2MrYzJWamRHbHZianB1ZEdndGIyWXRkSGx3WlNnMEtTa2dMbTVsZDNNdFkyRnlaSHRpWVdOclozSnZkVzVrT2lObU5XWTNabVo5T21sektDNXdaejV6WldOMGFXOXVPbTUwYUMxdlppMTBlWEJsS0RJcExDNXdaejV6WldOMGFXOXVPbTUwYUMxdlppMTBlWEJsS0RRcEtTQXVZMjl1ZEdGamRDMWpZWEprZTJKaFkydG5jbTkxYm1RNkkyWTFaamRtWmp0aWIzSmtaWEl0WTI5c2IzSTZJekF3TURBd01ERTNmVHBwY3lndWNHYytjMlZqZEdsdmJqcHVkR2d0YjJZdGRIbHdaU2d5S1N3dWNHYytjMlZqZEdsdmJqcHVkR2d0YjJZdGRIbHdaU2cwS1NrZ0xtWnZjbTB0YVc1d2UySmhZMnRuY205MWJtUTZJekF3TURBd01EQmtPMk52Ykc5eU9pTXdNVE5pTkRrN1ltOXlaR1Z5TFdOdmJHOXlPaU13TURBd01EQXlOSDA2YVhNb0xuQm5Qbk5sWTNScGIyNDZiblJvTFc5bUxYUjVjR1VvTWlrc0xuQm5Qbk5sWTNScGIyNDZiblJvTFc5bUxYUjVjR1VvTkNrcElDNW1iM0p0TFd4aWJIdGpiMnh2Y2pvak1ERXpZalE1T0RCOU9tbHpLQzV3Wno1elpXTjBhVzl1T201MGFDMXZaaTEwZVhCbEtESXBMQzV3Wno1elpXTjBhVzl1T201MGFDMXZaaTEwZVhCbEtEUXBLU0F1Wm05eWJTMXBibkE2Wm05amRYTjdZbTl5WkdWeUxXTnZiRzl5T25aaGNpZ3RMV0Y0S1gwNmFYTW9MbkJuUG5ObFkzUnBiMjQ2Ym5Sb0xXOW1MWFI1Y0dVb01pa3NMbkJuUG5ObFkzUnBiMjQ2Ym5Sb0xXOW1MWFI1Y0dVb05Da3BJQzVpZEc0dFozdGliM0prWlhJdFkyOXNiM0k2SXpBd01ETTdZMjlzYjNJNkl6QXhNMkkwT1dFMmZUcHBjeWd1Y0djK2MyVmpkR2x2YmpwdWRHZ3RiMll0ZEhsd1pTZ3lLU3d1Y0djK2MyVmpkR2x2YmpwdWRHZ3RiMll0ZEhsd1pTZzBLU2tnTG1KMGJpMW5PbWh2ZG1WeWUySnZjbVJsY2kxamIyeHZjam9qTURBd01EQXdPREE3WTI5c2IzSTZJekF4TTJJME9YMDZhWE1vTG5CblBuTmxZM1JwYjI0NmJuUm9MVzltTFhSNWNHVW9NaWtzTG5CblBuTmxZM1JwYjI0NmJuUm9MVzltTFhSNWNHVW9OQ2twSUM1aVpDMWljWHRpWVdOclozSnZkVzVrT2lNelltSTFPRFl4TkgwNmFYTW9MbkJuUG5ObFkzUnBiMjQ2Ym5Sb0xXOW1MWFI1Y0dVb01pa3NMbkJuUG5ObFkzUnBiMjQ2Ym5Sb0xXOW1MWFI1Y0dVb05Da3BJQzVsZUMxaWIzaDdZbUZqYTJkeWIzVnVaRG9qTTJKaU5UZzJNVFI5T21sektDNXdaejV6WldOMGFXOXVPbTUwYUMxdlppMTBlWEJsS0RJcExDNXdaejV6WldOMGFXOXVPbTUwYUMxdlppMTBlWEJsS0RRcEtTQXVjR2xzYkdGeUxYSnZiR1Y3WTI5c2IzSTZJekF4TTJJME9UVTVmVHBwY3lndWNHYytjMlZqZEdsdmJqcHVkR2d0YjJZdGRIbHdaU2d5S1N3dWNHYytjMlZqZEdsdmJqcHVkR2d0YjJZdGRIbHdaU2cwS1NrZ0xtOXdjeTF2ZG50amIyeHZjanAyWVhJb0xTMWhlQ2w5T21sektDNXdaejV6WldOMGFXOXVPbTUwYUMxdlppMTBlWEJsS0RJcExDNXdaejV6WldOMGFXOXVPbTUwYUMxdlppMTBlWEJsS0RRcEtTQXVjM0JsWXkxeUlHeGhZbVZzZTJOdmJHOXlPaU13TVROaU5EazJObjA2YVhNb0xuQm5Qbk5sWTNScGIyNDZiblJvTFc5bUxYUjVjR1VvTWlrc0xuQm5Qbk5sWTNScGIyNDZiblJvTFc5bUxYUjVjR1VvTkNrcElDNXpjR1ZqTFhJZ2MzQmhibnRqYjJ4dmNqb2pNREV6WWpRNWZUcHBjeWd1Y0djK2MyVmpkR2x2YmpwdWRHZ3RiMll0ZEhsd1pTZ3lLU3d1Y0djK2MyVmpkR2x2YmpwdWRHZ3RiMll0ZEhsd1pTZzBLU2tnTG5ScFpYSXRibTE3WTI5c2IzSTZJekF4TTJJME9YMDZhWE1vTG5CblBuTmxZM1JwYjI0NmJuUm9MVzltTFhSNWNHVW9NaWtzTG5CblBuTmxZM1JwYjI0NmJuUm9MVzltTFhSNWNHVW9OQ2twSUM1a1pYQXRjM1JsY0NCb05IdGpiMnh2Y2pvak1ERXpZalE1ZlRwcGN5Z3VjR2MrYzJWamRHbHZianB1ZEdndGIyWXRkSGx3WlNneUtTd3VjR2MrYzJWamRHbHZianB1ZEdndGIyWXRkSGx3WlNnMEtTa2dMbk5wWnkxcGRHVnRJR2cwZTJOdmJHOXlPaU13TVROaU5EbDlPbWx6S0M1d1p6NXpaV04wYVc5dU9tNTBhQzF2WmkxMGVYQmxLRElwTEM1d1p6NXpaV04wYVc5dU9tNTBhQzF2WmkxMGVYQmxLRFFwS1NBdWMySWdhRFI3WTI5c2IzSTZJekF4TTJJME9YMDZhWE1vTG5CblBuTmxZM1JwYjI0NmJuUm9MVzltTFhSNWNHVW9NaWtzTG5CblBuTmxZM1JwYjI0NmJuUm9MVzltTFhSNWNHVW9OQ2twSUM1a2FXWm1MV2wwSUhOMGNtOXVaM3RqYjJ4dmNqb2pNREV6WWpRNWZUcHBjeWd1Y0djK2MyVmpkR2x2YmpwdWRHZ3RiMll0ZEhsd1pTZ3lLU3d1Y0djK2MyVmpkR2x2YmpwdWRHZ3RiMll0ZEhsd1pTZzBLU2tnTG1GeVkyZ3RZbTlrZVNCb00zdGpiMnh2Y2pvak1ERXpZalE1ZlRwcGN5Z3VjR2MrYzJWamRHbHZianB1ZEdndGIyWXRkSGx3WlNneUtTd3VjR2MrYzJWamRHbHZianB1ZEdndGIyWXRkSGx3WlNnMEtTa2dMbTVsZDNNdFkyRnlaQ0JvTTN0amIyeHZjam9qTURFellqUTVmVHBwY3lndWNHYytjMlZqZEdsdmJqcHVkR2d0YjJZdGRIbHdaU2d5S1N3dWNHYytjMlZqZEdsdmJqcHVkR2d0YjJZdGRIbHdaU2cwS1NrZ0xtOXdjeTFqWVhKa0lHZ3plMk52Ykc5eU9pTXdNVE5pTkRsOU9tbHpLQzV3Wno1elpXTjBhVzl1T201MGFDMXZaaTEwZVhCbEtESXBMQzV3Wno1elpXTjBhVzl1T201MGFDMXZaaTEwZVhCbEtEUXBLU0F1WTNSaExXTmhjbVFnYURON1kyOXNiM0k2SXpBeE0ySTBPWDBLIiwiYXNzZXRzL0RlbW9TY3JlZW4tRERpYXJjTkguanMiLCJkYXRhOnRleHQvY3NzO2Jhc2U2NCxhSFJ0YkN4aWIyUjVlMjFoY21kcGJqb3dmUzVpWkMxa1pXMXZMWEp2YjNRc0xtSmtMV1JsYlc4dGNtOXZkQ0FxTEM1aVpDMWtaVzF2TFhKdmIzUWdLanBpWldadmNtVXNMbUprTFdSbGJXOHRjbTl2ZENBcU9tRm1kR1Z5ZTJKdmVDMXphWHBwYm1jNlltOXlaR1Z5TFdKdmVIMHVZbVF0WkdWdGJ5MXliMjkwZTNSbGVIUXRZV3hwWjI0NmJHVm1kRHRzYVc1bExXaGxhV2RvZERwdWIzSnRZV3c3YldGeVoybHVPakE3Wm05dWRDMW1ZVzFwYkhrNlZXSjFiblIxTEMxaGNIQnNaUzF6ZVhOMFpXMHNjM2x6ZEdWdExYVnBMSE5oYm5NdGMyVnlhV1o5TG1Ka0xXUmxiVzh0Y205dmRDQmlkWFIwYjI1N1ptOXVkQzFtWVcxcGJIazZhVzVvWlhKcGRIMEsiLCJhc3NldHMvRGVtb1ZpZGVvUGFnZS1WRzhORUFnTi5qcyIsImFzc2V0cy9UaHJlYXREZW1vc1NsaWRlci1CNTAyNEpoMC5qcyIsImFzc2V0cy9UaHJlYXREZW1vLURfV0xkeDc0LmpzIiwiYXNzZXRzL1RocmVhdERlbW9QbGF5ZXJQYWdlLURrT1pUcWVCLmpzIl0pKSk9PmkubWFwKGk9PmRbaV0pOwpmdW5jdGlvbiBXYyhlLHQpe2Zvcih2YXIgbj0wO248dC5sZW5ndGg7bisrKXtjb25zdCByPXRbbl07aWYodHlwZW9mIHIhPSJzdHJpbmciJiYhQXJyYXkuaXNBcnJheShyKSl7Zm9yKGNvbnN0IGwgaW4gcilpZihsIT09ImRlZmF1bHQiJiYhKGwgaW4gZSkpe2NvbnN0IG89T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihyLGwpO28mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLGwsby5nZXQ/bzp7ZW51bWVyYWJsZTohMCxnZXQ6KCk9PnJbbF19KX19fXJldHVybiBPYmplY3QuZnJlZXplKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFN5bWJvbC50b1N0cmluZ1RhZyx7dmFsdWU6Ik1vZHVsZSJ9KSl9KGZ1bmN0aW9uKCl7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaW5rIikucmVsTGlzdDtpZih0JiZ0LnN1cHBvcnRzJiZ0LnN1cHBvcnRzKCJtb2R1bGVwcmVsb2FkIikpcmV0dXJuO2Zvcihjb25zdCBsIG9mIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2xpbmtbcmVsPSJtb2R1bGVwcmVsb2FkIl0nKSlyKGwpO25ldyBNdXRhdGlvbk9ic2VydmVyKGw9Pntmb3IoY29uc3QgbyBvZiBsKWlmKG8udHlwZT09PSJjaGlsZExpc3QiKWZvcihjb25zdCB1IG9mIG8uYWRkZWROb2Rlcyl1LnRhZ05hbWU9PT0iTElOSyImJnUucmVsPT09Im1vZHVsZXByZWxvYWQiJiZyKHUpfSkub2JzZXJ2ZShkb2N1bWVudCx7Y2hpbGRMaXN0OiEwLHN1YnRyZWU6ITB9KTtmdW5jdGlvbiBuKGwpe2NvbnN0IG89e307cmV0dXJuIGwuaW50ZWdyaXR5JiYoby5pbnRlZ3JpdHk9bC5pbnRlZ3JpdHkpLGwucmVmZXJyZXJQb2xpY3kmJihvLnJlZmVycmVyUG9saWN5PWwucmVmZXJyZXJQb2xpY3kpLGwuY3Jvc3NPcmlnaW49PT0idXNlLWNyZWRlbnRpYWxzIj9vLmNyZWRlbnRpYWxzPSJpbmNsdWRlIjpsLmNyb3NzT3JpZ2luPT09ImFub255bW91cyI/by5jcmVkZW50aWFscz0ib21pdCI6by5jcmVkZW50aWFscz0ic2FtZS1vcmlnaW4iLG99ZnVuY3Rpb24gcihsKXtpZihsLmVwKXJldHVybjtsLmVwPSEwO2NvbnN0IG89bihsKTtmZXRjaChsLmhyZWYsbyl9fSkoKTtjb25zdCBIYz0ibW9kdWxlcHJlbG9hZCIsUWM9ZnVuY3Rpb24oZSl7cmV0dXJuIi8iK2V9LGVpPXt9LHJyPWZ1bmN0aW9uKHQsbixyKXtsZXQgbD1Qcm9taXNlLnJlc29sdmUoKTtpZihuJiZuLmxlbmd0aD4wKXtkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgibGluayIpO2NvbnN0IHU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigibWV0YVtwcm9wZXJ0eT1jc3Atbm9uY2VdIiksaT0odT09bnVsbD92b2lkIDA6dS5ub25jZSl8fCh1PT1udWxsP3ZvaWQgMDp1LmdldEF0dHJpYnV0ZSgibm9uY2UiKSk7bD1Qcm9taXNlLmFsbFNldHRsZWQobi5tYXAocz0+e2lmKHM9UWMocykscyBpbiBlaSlyZXR1cm47ZWlbc109ITA7Y29uc3QgYT1zLmVuZHNXaXRoKCIuY3NzIiksaD1hPydbcmVsPSJzdHlsZXNoZWV0Il0nOiIiO2lmKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYGxpbmtbaHJlZj0iJHtzfSJdJHtofWApKXJldHVybjtjb25zdCBkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtpZihkLnJlbD1hPyJzdHlsZXNoZWV0IjpIYyxhfHwoZC5hcz0ic2NyaXB0IiksZC5jcm9zc09yaWdpbj0iIixkLmhyZWY9cyxpJiZkLnNldEF0dHJpYnV0ZSgibm9uY2UiLGkpLGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoZCksYSlyZXR1cm4gbmV3IFByb21pc2UoKG0seSk9PntkLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLG0pLGQuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLCgpPT55KG5ldyBFcnJvcihgVW5hYmxlIHRvIHByZWxvYWQgQ1NTIGZvciAke3N9YCkpKX0pfSkpfWZ1bmN0aW9uIG8odSl7Y29uc3QgaT1uZXcgRXZlbnQoInZpdGU6cHJlbG9hZEVycm9yIix7Y2FuY2VsYWJsZTohMH0pO2lmKGkucGF5bG9hZD11LHdpbmRvdy5kaXNwYXRjaEV2ZW50KGkpLCFpLmRlZmF1bHRQcmV2ZW50ZWQpdGhyb3cgdX1yZXR1cm4gbC50aGVuKHU9Pntmb3IoY29uc3QgaSBvZiB1fHxbXSlpLnN0YXR1cz09PSJyZWplY3RlZCImJm8oaS5yZWFzb24pO3JldHVybiB0KCkuY2F0Y2gobyl9KX07ZnVuY3Rpb24gS2MoZSl7cmV0dXJuIGUmJmUuX19lc01vZHVsZSYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsImRlZmF1bHQiKT9lLmRlZmF1bHQ6ZX12YXIgd3M9e2V4cG9ydHM6e319LGNsPXt9LFNzPXtleHBvcnRzOnt9fSxUPXt9Oy8qKgogKiBAbGljZW5zZSBSZWFjdAogKiByZWFjdC5wcm9kdWN0aW9uLm1pbi5qcwogKgogKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4KICoKICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlCiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4KICovdmFyIGxyPVN5bWJvbC5mb3IoInJlYWN0LmVsZW1lbnQiKSxZYz1TeW1ib2wuZm9yKCJyZWFjdC5wb3J0YWwiKSxYYz1TeW1ib2wuZm9yKCJyZWFjdC5mcmFnbWVudCIpLEdjPVN5bWJvbC5mb3IoInJlYWN0LnN0cmljdF9tb2RlIiksWmM9U3ltYm9sLmZvcigicmVhY3QucHJvZmlsZXIiKSxKYz1TeW1ib2wuZm9yKCJyZWFjdC5wcm92aWRlciIpLHFjPVN5bWJvbC5mb3IoInJlYWN0LmNvbnRleHQiKSxiYz1TeW1ib2wuZm9yKCJyZWFjdC5mb3J3YXJkX3JlZiIpLGVmPVN5bWJvbC5mb3IoInJlYWN0LnN1c3BlbnNlIiksdGY9U3ltYm9sLmZvcigicmVhY3QubWVtbyIpLG5mPVN5bWJvbC5mb3IoInJlYWN0LmxhenkiKSx0aT1TeW1ib2wuaXRlcmF0b3I7ZnVuY3Rpb24gcmYoZSl7cmV0dXJuIGU9PT1udWxsfHx0eXBlb2YgZSE9Im9iamVjdCI/bnVsbDooZT10aSYmZVt0aV18fGVbIkBAaXRlcmF0b3IiXSx0eXBlb2YgZT09ImZ1bmN0aW9uIj9lOm51bGwpfXZhciBrcz17aXNNb3VudGVkOmZ1bmN0aW9uKCl7cmV0dXJuITF9LGVucXVldWVGb3JjZVVwZGF0ZTpmdW5jdGlvbigpe30sZW5xdWV1ZVJlcGxhY2VTdGF0ZTpmdW5jdGlvbigpe30sZW5xdWV1ZVNldFN0YXRlOmZ1bmN0aW9uKCl7fX0sRXM9T2JqZWN0LmFzc2lnbix4cz17fTtmdW5jdGlvbiBkbihlLHQsbil7dGhpcy5wcm9wcz1lLHRoaXMuY29udGV4dD10LHRoaXMucmVmcz14cyx0aGlzLnVwZGF0ZXI9bnx8a3N9ZG4ucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ9e307ZG4ucHJvdG90eXBlLnNldFN0YXRlPWZ1bmN0aW9uKGUsdCl7aWYodHlwZW9mIGUhPSJvYmplY3QiJiZ0eXBlb2YgZSE9ImZ1bmN0aW9uIiYmZSE9bnVsbCl0aHJvdyBFcnJvcigic2V0U3RhdGUoLi4uKTogdGFrZXMgYW4gb2JqZWN0IG9mIHN0YXRlIHZhcmlhYmxlcyB0byB1cGRhdGUgb3IgYSBmdW5jdGlvbiB3aGljaCByZXR1cm5zIGFuIG9iamVjdCBvZiBzdGF0ZSB2YXJpYWJsZXMuIik7dGhpcy51cGRhdGVyLmVucXVldWVTZXRTdGF0ZSh0aGlzLGUsdCwic2V0U3RhdGUiKX07ZG4ucHJvdG90eXBlLmZvcmNlVXBkYXRlPWZ1bmN0aW9uKGUpe3RoaXMudXBkYXRlci5lbnF1ZXVlRm9yY2VVcGRhdGUodGhpcyxlLCJmb3JjZVVwZGF0ZSIpfTtmdW5jdGlvbiBDcygpe31Dcy5wcm90b3R5cGU9ZG4ucHJvdG90eXBlO2Z1bmN0aW9uIHJ1KGUsdCxuKXt0aGlzLnByb3BzPWUsdGhpcy5jb250ZXh0PXQsdGhpcy5yZWZzPXhzLHRoaXMudXBkYXRlcj1ufHxrc312YXIgbHU9cnUucHJvdG90eXBlPW5ldyBDcztsdS5jb25zdHJ1Y3Rvcj1ydTtFcyhsdSxkbi5wcm90b3R5cGUpO2x1LmlzUHVyZVJlYWN0Q29tcG9uZW50PSEwO3ZhciBuaT1BcnJheS5pc0FycmF5LF9zPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksb3U9e2N1cnJlbnQ6bnVsbH0sUHM9e2tleTohMCxyZWY6ITAsX19zZWxmOiEwLF9fc291cmNlOiEwfTtmdW5jdGlvbiBOcyhlLHQsbil7dmFyIHIsbD17fSxvPW51bGwsdT1udWxsO2lmKHQhPW51bGwpZm9yKHIgaW4gdC5yZWYhPT12b2lkIDAmJih1PXQucmVmKSx0LmtleSE9PXZvaWQgMCYmKG89IiIrdC5rZXkpLHQpX3MuY2FsbCh0LHIpJiYhUHMuaGFzT3duUHJvcGVydHkocikmJihsW3JdPXRbcl0pO3ZhciBpPWFyZ3VtZW50cy5sZW5ndGgtMjtpZihpPT09MSlsLmNoaWxkcmVuPW47ZWxzZSBpZigxPGkpe2Zvcih2YXIgcz1BcnJheShpKSxhPTA7YTxpO2ErKylzW2FdPWFyZ3VtZW50c1thKzJdO2wuY2hpbGRyZW49c31pZihlJiZlLmRlZmF1bHRQcm9wcylmb3IociBpbiBpPWUuZGVmYXVsdFByb3BzLGkpbFtyXT09PXZvaWQgMCYmKGxbcl09aVtyXSk7cmV0dXJueyQkdHlwZW9mOmxyLHR5cGU6ZSxrZXk6byxyZWY6dSxwcm9wczpsLF9vd25lcjpvdS5jdXJyZW50fX1mdW5jdGlvbiBsZihlLHQpe3JldHVybnskJHR5cGVvZjpscix0eXBlOmUudHlwZSxrZXk6dCxyZWY6ZS5yZWYscHJvcHM6ZS5wcm9wcyxfb3duZXI6ZS5fb3duZXJ9fWZ1bmN0aW9uIHV1KGUpe3JldHVybiB0eXBlb2YgZT09Im9iamVjdCImJmUhPT1udWxsJiZlLiQkdHlwZW9mPT09bHJ9ZnVuY3Rpb24gb2YoZSl7dmFyIHQ9eyI9IjoiPTAiLCI6IjoiPTIifTtyZXR1cm4iJCIrZS5yZXBsYWNlKC9bPTpdL2csZnVuY3Rpb24obil7cmV0dXJuIHRbbl19KX12YXIgcmk9L1wvKy9nO2Z1bmN0aW9uIElsKGUsdCl7cmV0dXJuIHR5cGVvZiBlPT0ib2JqZWN0IiYmZSE9PW51bGwmJmUua2V5IT1udWxsP29mKCIiK2Uua2V5KTp0LnRvU3RyaW5nKDM2KX1mdW5jdGlvbiB6cihlLHQsbixyLGwpe3ZhciBvPXR5cGVvZiBlOyhvPT09InVuZGVmaW5lZCJ8fG89PT0iYm9vbGVhbiIpJiYoZT1udWxsKTt2YXIgdT0hMTtpZihlPT09bnVsbCl1PSEwO2Vsc2Ugc3dpdGNoKG8pe2Nhc2Uic3RyaW5nIjpjYXNlIm51bWJlciI6dT0hMDticmVhaztjYXNlIm9iamVjdCI6c3dpdGNoKGUuJCR0eXBlb2Ype2Nhc2UgbHI6Y2FzZSBZYzp1PSEwfX1pZih1KXJldHVybiB1PWUsbD1sKHUpLGU9cj09PSIiPyIuIitJbCh1LDApOnIsbmkobCk/KG49IiIsZSE9bnVsbCYmKG49ZS5yZXBsYWNlKHJpLCIkJi8iKSsiLyIpLHpyKGwsdCxuLCIiLGZ1bmN0aW9uKGEpe3JldHVybiBhfSkpOmwhPW51bGwmJih1dShsKSYmKGw9bGYobCxuKyghbC5rZXl8fHUmJnUua2V5PT09bC5rZXk/IiI6KCIiK2wua2V5KS5yZXBsYWNlKHJpLCIkJi8iKSsiLyIpK2UpKSx0LnB1c2gobCkpLDE7aWYodT0wLHI9cj09PSIiPyIuIjpyKyI6IixuaShlKSlmb3IodmFyIGk9MDtpPGUubGVuZ3RoO2krKyl7bz1lW2ldO3ZhciBzPXIrSWwobyxpKTt1Kz16cihvLHQsbixzLGwpfWVsc2UgaWYocz1yZihlKSx0eXBlb2Ygcz09ImZ1bmN0aW9uIilmb3IoZT1zLmNhbGwoZSksaT0wOyEobz1lLm5leHQoKSkuZG9uZTspbz1vLnZhbHVlLHM9citJbChvLGkrKyksdSs9enIobyx0LG4scyxsKTtlbHNlIGlmKG89PT0ib2JqZWN0Iil0aHJvdyB0PVN0cmluZyhlKSxFcnJvcigiT2JqZWN0cyBhcmUgbm90IHZhbGlkIGFzIGEgUmVhY3QgY2hpbGQgKGZvdW5kOiAiKyh0PT09IltvYmplY3QgT2JqZWN0XSI/Im9iamVjdCB3aXRoIGtleXMgeyIrT2JqZWN0LmtleXMoZSkuam9pbigiLCAiKSsifSI6dCkrIikuIElmIHlvdSBtZWFudCB0byByZW5kZXIgYSBjb2xsZWN0aW9uIG9mIGNoaWxkcmVuLCB1c2UgYW4gYXJyYXkgaW5zdGVhZC4iKTtyZXR1cm4gdX1mdW5jdGlvbiBmcihlLHQsbil7aWYoZT09bnVsbClyZXR1cm4gZTt2YXIgcj1bXSxsPTA7cmV0dXJuIHpyKGUsciwiIiwiIixmdW5jdGlvbihvKXtyZXR1cm4gdC5jYWxsKG4sbyxsKyspfSkscn1mdW5jdGlvbiB1ZihlKXtpZihlLl9zdGF0dXM9PT0tMSl7dmFyIHQ9ZS5fcmVzdWx0O3Q9dCgpLHQudGhlbihmdW5jdGlvbihuKXsoZS5fc3RhdHVzPT09MHx8ZS5fc3RhdHVzPT09LTEpJiYoZS5fc3RhdHVzPTEsZS5fcmVzdWx0PW4pfSxmdW5jdGlvbihuKXsoZS5fc3RhdHVzPT09MHx8ZS5fc3RhdHVzPT09LTEpJiYoZS5fc3RhdHVzPTIsZS5fcmVzdWx0PW4pfSksZS5fc3RhdHVzPT09LTEmJihlLl9zdGF0dXM9MCxlLl9yZXN1bHQ9dCl9aWYoZS5fc3RhdHVzPT09MSlyZXR1cm4gZS5fcmVzdWx0LmRlZmF1bHQ7dGhyb3cgZS5fcmVzdWx0fXZhciBhZT17Y3VycmVudDpudWxsfSxMcj17dHJhbnNpdGlvbjpudWxsfSxzZj17UmVhY3RDdXJyZW50RGlzcGF0Y2hlcjphZSxSZWFjdEN1cnJlbnRCYXRjaENvbmZpZzpMcixSZWFjdEN1cnJlbnRPd25lcjpvdX07ZnVuY3Rpb24genMoKXt0aHJvdyBFcnJvcigiYWN0KC4uLikgaXMgbm90IHN1cHBvcnRlZCBpbiBwcm9kdWN0aW9uIGJ1aWxkcyBvZiBSZWFjdC4iKX1ULkNoaWxkcmVuPXttYXA6ZnIsZm9yRWFjaDpmdW5jdGlvbihlLHQsbil7ZnIoZSxmdW5jdGlvbigpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxuKX0sY291bnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9MDtyZXR1cm4gZnIoZSxmdW5jdGlvbigpe3QrK30pLHR9LHRvQXJyYXk6ZnVuY3Rpb24oZSl7cmV0dXJuIGZyKGUsZnVuY3Rpb24odCl7cmV0dXJuIHR9KXx8W119LG9ubHk6ZnVuY3Rpb24oZSl7aWYoIXV1KGUpKXRocm93IEVycm9yKCJSZWFjdC5DaGlsZHJlbi5vbmx5IGV4cGVjdGVkIHRvIHJlY2VpdmUgYSBzaW5nbGUgUmVhY3QgZWxlbWVudCBjaGlsZC4iKTtyZXR1cm4gZX19O1QuQ29tcG9uZW50PWRuO1QuRnJhZ21lbnQ9WGM7VC5Qcm9maWxlcj1aYztULlB1cmVDb21wb25lbnQ9cnU7VC5TdHJpY3RNb2RlPUdjO1QuU3VzcGVuc2U9ZWY7VC5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRD1zZjtULmFjdD16cztULmNsb25lRWxlbWVudD1mdW5jdGlvbihlLHQsbil7aWYoZT09bnVsbCl0aHJvdyBFcnJvcigiUmVhY3QuY2xvbmVFbGVtZW50KC4uLik6IFRoZSBhcmd1bWVudCBtdXN0IGJlIGEgUmVhY3QgZWxlbWVudCwgYnV0IHlvdSBwYXNzZWQgIitlKyIuIik7dmFyIHI9RXMoe30sZS5wcm9wcyksbD1lLmtleSxvPWUucmVmLHU9ZS5fb3duZXI7aWYodCE9bnVsbCl7aWYodC5yZWYhPT12b2lkIDAmJihvPXQucmVmLHU9b3UuY3VycmVudCksdC5rZXkhPT12b2lkIDAmJihsPSIiK3Qua2V5KSxlLnR5cGUmJmUudHlwZS5kZWZhdWx0UHJvcHMpdmFyIGk9ZS50eXBlLmRlZmF1bHRQcm9wcztmb3IocyBpbiB0KV9zLmNhbGwodCxzKSYmIVBzLmhhc093blByb3BlcnR5KHMpJiYocltzXT10W3NdPT09dm9pZCAwJiZpIT09dm9pZCAwP2lbc106dFtzXSl9dmFyIHM9YXJndW1lbnRzLmxlbmd0aC0yO2lmKHM9PT0xKXIuY2hpbGRyZW49bjtlbHNlIGlmKDE8cyl7aT1BcnJheShzKTtmb3IodmFyIGE9MDthPHM7YSsrKWlbYV09YXJndW1lbnRzW2ErMl07ci5jaGlsZHJlbj1pfXJldHVybnskJHR5cGVvZjpscix0eXBlOmUudHlwZSxrZXk6bCxyZWY6byxwcm9wczpyLF9vd25lcjp1fX07VC5jcmVhdGVDb250ZXh0PWZ1bmN0aW9uKGUpe3JldHVybiBlPXskJHR5cGVvZjpxYyxfY3VycmVudFZhbHVlOmUsX2N1cnJlbnRWYWx1ZTI6ZSxfdGhyZWFkQ291bnQ6MCxQcm92aWRlcjpudWxsLENvbnN1bWVyOm51bGwsX2RlZmF1bHRWYWx1ZTpudWxsLF9nbG9iYWxOYW1lOm51bGx9LGUuUHJvdmlkZXI9eyQkdHlwZW9mOkpjLF9jb250ZXh0OmV9LGUuQ29uc3VtZXI9ZX07VC5jcmVhdGVFbGVtZW50PU5zO1QuY3JlYXRlRmFjdG9yeT1mdW5jdGlvbihlKXt2YXIgdD1Ocy5iaW5kKG51bGwsZSk7cmV0dXJuIHQudHlwZT1lLHR9O1QuY3JlYXRlUmVmPWZ1bmN0aW9uKCl7cmV0dXJue2N1cnJlbnQ6bnVsbH19O1QuZm9yd2FyZFJlZj1mdW5jdGlvbihlKXtyZXR1cm57JCR0eXBlb2Y6YmMscmVuZGVyOmV9fTtULmlzVmFsaWRFbGVtZW50PXV1O1QubGF6eT1mdW5jdGlvbihlKXtyZXR1cm57JCR0eXBlb2Y6bmYsX3BheWxvYWQ6e19zdGF0dXM6LTEsX3Jlc3VsdDplfSxfaW5pdDp1Zn19O1QubWVtbz1mdW5jdGlvbihlLHQpe3JldHVybnskJHR5cGVvZjp0Zix0eXBlOmUsY29tcGFyZTp0PT09dm9pZCAwP251bGw6dH19O1Quc3RhcnRUcmFuc2l0aW9uPWZ1bmN0aW9uKGUpe3ZhciB0PUxyLnRyYW5zaXRpb247THIudHJhbnNpdGlvbj17fTt0cnl7ZSgpfWZpbmFsbHl7THIudHJhbnNpdGlvbj10fX07VC51bnN0YWJsZV9hY3Q9enM7VC51c2VDYWxsYmFjaz1mdW5jdGlvbihlLHQpe3JldHVybiBhZS5jdXJyZW50LnVzZUNhbGxiYWNrKGUsdCl9O1QudXNlQ29udGV4dD1mdW5jdGlvbihlKXtyZXR1cm4gYWUuY3VycmVudC51c2VDb250ZXh0KGUpfTtULnVzZURlYnVnVmFsdWU9ZnVuY3Rpb24oKXt9O1QudXNlRGVmZXJyZWRWYWx1ZT1mdW5jdGlvbihlKXtyZXR1cm4gYWUuY3VycmVudC51c2VEZWZlcnJlZFZhbHVlKGUpfTtULnVzZUVmZmVjdD1mdW5jdGlvbihlLHQpe3JldHVybiBhZS5jdXJyZW50LnVzZUVmZmVjdChlLHQpfTtULnVzZUlkPWZ1bmN0aW9uKCl7cmV0dXJuIGFlLmN1cnJlbnQudXNlSWQoKX07VC51c2VJbXBlcmF0aXZlSGFuZGxlPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gYWUuY3VycmVudC51c2VJbXBlcmF0aXZlSGFuZGxlKGUsdCxuKX07VC51c2VJbnNlcnRpb25FZmZlY3Q9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gYWUuY3VycmVudC51c2VJbnNlcnRpb25FZmZlY3QoZSx0KX07VC51c2VMYXlvdXRFZmZlY3Q9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gYWUuY3VycmVudC51c2VMYXlvdXRFZmZlY3QoZSx0KX07VC51c2VNZW1vPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGFlLmN1cnJlbnQudXNlTWVtbyhlLHQpfTtULnVzZVJlZHVjZXI9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBhZS5jdXJyZW50LnVzZVJlZHVjZXIoZSx0LG4pfTtULnVzZVJlZj1mdW5jdGlvbihlKXtyZXR1cm4gYWUuY3VycmVudC51c2VSZWYoZSl9O1QudXNlU3RhdGU9ZnVuY3Rpb24oZSl7cmV0dXJuIGFlLmN1cnJlbnQudXNlU3RhdGUoZSl9O1QudXNlU3luY0V4dGVybmFsU3RvcmU9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBhZS5jdXJyZW50LnVzZVN5bmNFeHRlcm5hbFN0b3JlKGUsdCxuKX07VC51c2VUcmFuc2l0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuIGFlLmN1cnJlbnQudXNlVHJhbnNpdGlvbigpfTtULnZlcnNpb249IjE4LjMuMSI7U3MuZXhwb3J0cz1UO3ZhciBfPVNzLmV4cG9ydHM7Y29uc3QgSXQ9S2MoXyksYWY9V2Moe19fcHJvdG9fXzpudWxsLGRlZmF1bHQ6SXR9LFtfXSk7LyoqCiAqIEBsaWNlbnNlIFJlYWN0CiAqIHJlYWN0LWpzeC1ydW50aW1lLnByb2R1Y3Rpb24ubWluLmpzCiAqCiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLgogKgogKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGUKICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLgogKi92YXIgY2Y9XyxmZj1TeW1ib2wuZm9yKCJyZWFjdC5lbGVtZW50IiksZGY9U3ltYm9sLmZvcigicmVhY3QuZnJhZ21lbnQiKSxwZj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LGhmPWNmLl9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVELlJlYWN0Q3VycmVudE93bmVyLG1mPXtrZXk6ITAscmVmOiEwLF9fc2VsZjohMCxfX3NvdXJjZTohMH07ZnVuY3Rpb24gTHMoZSx0LG4pe3ZhciByLGw9e30sbz1udWxsLHU9bnVsbDtuIT09dm9pZCAwJiYobz0iIituKSx0LmtleSE9PXZvaWQgMCYmKG89IiIrdC5rZXkpLHQucmVmIT09dm9pZCAwJiYodT10LnJlZik7Zm9yKHIgaW4gdClwZi5jYWxsKHQscikmJiFtZi5oYXNPd25Qcm9wZXJ0eShyKSYmKGxbcl09dFtyXSk7aWYoZSYmZS5kZWZhdWx0UHJvcHMpZm9yKHIgaW4gdD1lLmRlZmF1bHRQcm9wcyx0KWxbcl09PT12b2lkIDAmJihsW3JdPXRbcl0pO3JldHVybnskJHR5cGVvZjpmZix0eXBlOmUsa2V5Om8scmVmOnUscHJvcHM6bCxfb3duZXI6aGYuY3VycmVudH19Y2wuRnJhZ21lbnQ9ZGY7Y2wuanN4PUxzO2NsLmpzeHM9THM7d3MuZXhwb3J0cz1jbDt2YXIgdWU9d3MuZXhwb3J0cyx1bz17fSxScz17ZXhwb3J0czp7fX0sU2U9e30sVHM9e2V4cG9ydHM6e319LE9zPXt9Oy8qKgogKiBAbGljZW5zZSBSZWFjdAogKiBzY2hlZHVsZXIucHJvZHVjdGlvbi5taW4uanMKICoKICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuCiAqCiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZQogKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuCiAqLyhmdW5jdGlvbihlKXtmdW5jdGlvbiB0KEMsTCl7dmFyIFI9Qy5sZW5ndGg7Qy5wdXNoKEwpO2U6Zm9yKDswPFI7KXt2YXIgSD1SLTE+Pj4xLFo9Q1tIXTtpZigwPGwoWixMKSlDW0hdPUwsQ1tSXT1aLFI9SDtlbHNlIGJyZWFrIGV9fWZ1bmN0aW9uIG4oQyl7cmV0dXJuIEMubGVuZ3RoPT09MD9udWxsOkNbMF19ZnVuY3Rpb24gcihDKXtpZihDLmxlbmd0aD09PTApcmV0dXJuIG51bGw7dmFyIEw9Q1swXSxSPUMucG9wKCk7aWYoUiE9PUwpe0NbMF09UjtlOmZvcih2YXIgSD0wLFo9Qy5sZW5ndGgsYXI9Wj4+PjE7SDxhcjspe3ZhciBndD0yKihIKzEpLTEsT2w9Q1tndF0sd3Q9Z3QrMSxjcj1DW3d0XTtpZigwPmwoT2wsUikpd3Q8WiYmMD5sKGNyLE9sKT8oQ1tIXT1jcixDW3d0XT1SLEg9d3QpOihDW0hdPU9sLENbZ3RdPVIsSD1ndCk7ZWxzZSBpZih3dDxaJiYwPmwoY3IsUikpQ1tIXT1jcixDW3d0XT1SLEg9d3Q7ZWxzZSBicmVhayBlfX1yZXR1cm4gTH1mdW5jdGlvbiBsKEMsTCl7dmFyIFI9Qy5zb3J0SW5kZXgtTC5zb3J0SW5kZXg7cmV0dXJuIFIhPT0wP1I6Qy5pZC1MLmlkfWlmKHR5cGVvZiBwZXJmb3JtYW5jZT09Im9iamVjdCImJnR5cGVvZiBwZXJmb3JtYW5jZS5ub3c9PSJmdW5jdGlvbiIpe3ZhciBvPXBlcmZvcm1hbmNlO2UudW5zdGFibGVfbm93PWZ1bmN0aW9uKCl7cmV0dXJuIG8ubm93KCl9fWVsc2V7dmFyIHU9RGF0ZSxpPXUubm93KCk7ZS51bnN0YWJsZV9ub3c9ZnVuY3Rpb24oKXtyZXR1cm4gdS5ub3coKS1pfX12YXIgcz1bXSxhPVtdLGg9MSxkPW51bGwsbT0zLHk9ITEsdz0hMSxTPSExLEU9dHlwZW9mIHNldFRpbWVvdXQ9PSJmdW5jdGlvbiI/c2V0VGltZW91dDpudWxsLGY9dHlwZW9mIGNsZWFyVGltZW91dD09ImZ1bmN0aW9uIj9jbGVhclRpbWVvdXQ6bnVsbCxjPXR5cGVvZiBzZXRJbW1lZGlhdGU8InUiP3NldEltbWVkaWF0ZTpudWxsO3R5cGVvZiBuYXZpZ2F0b3I8InUiJiZuYXZpZ2F0b3Iuc2NoZWR1bGluZyE9PXZvaWQgMCYmbmF2aWdhdG9yLnNjaGVkdWxpbmcuaXNJbnB1dFBlbmRpbmchPT12b2lkIDAmJm5hdmlnYXRvci5zY2hlZHVsaW5nLmlzSW5wdXRQZW5kaW5nLmJpbmQobmF2aWdhdG9yLnNjaGVkdWxpbmcpO2Z1bmN0aW9uIHAoQyl7Zm9yKHZhciBMPW4oYSk7TCE9PW51bGw7KXtpZihMLmNhbGxiYWNrPT09bnVsbClyKGEpO2Vsc2UgaWYoTC5zdGFydFRpbWU8PUMpcihhKSxMLnNvcnRJbmRleD1MLmV4cGlyYXRpb25UaW1lLHQocyxMKTtlbHNlIGJyZWFrO0w9bihhKX19ZnVuY3Rpb24gdihDKXtpZihTPSExLHAoQyksIXcpaWYobihzKSE9PW51bGwpdz0hMCxSbChrKTtlbHNle3ZhciBMPW4oYSk7TCE9PW51bGwmJlRsKHYsTC5zdGFydFRpbWUtQyl9fWZ1bmN0aW9uIGsoQyxMKXt3PSExLFMmJihTPSExLGYoeiksej0tMSkseT0hMDt2YXIgUj1tO3RyeXtmb3IocChMKSxkPW4ocyk7ZCE9PW51bGwmJighKGQuZXhwaXJhdGlvblRpbWU+TCl8fEMmJiF6ZSgpKTspe3ZhciBIPWQuY2FsbGJhY2s7aWYodHlwZW9mIEg9PSJmdW5jdGlvbiIpe2QuY2FsbGJhY2s9bnVsbCxtPWQucHJpb3JpdHlMZXZlbDt2YXIgWj1IKGQuZXhwaXJhdGlvblRpbWU8PUwpO0w9ZS51bnN0YWJsZV9ub3coKSx0eXBlb2YgWj09ImZ1bmN0aW9uIj9kLmNhbGxiYWNrPVo6ZD09PW4ocykmJnIocykscChMKX1lbHNlIHIocyk7ZD1uKHMpfWlmKGQhPT1udWxsKXZhciBhcj0hMDtlbHNle3ZhciBndD1uKGEpO2d0IT09bnVsbCYmVGwodixndC5zdGFydFRpbWUtTCksYXI9ITF9cmV0dXJuIGFyfWZpbmFsbHl7ZD1udWxsLG09Uix5PSExfX12YXIgUD0hMSxOPW51bGwsej0tMSxXPTUsTz0tMTtmdW5jdGlvbiB6ZSgpe3JldHVybiEoZS51bnN0YWJsZV9ub3coKS1PPFcpfWZ1bmN0aW9uIG1uKCl7aWYoTiE9PW51bGwpe3ZhciBDPWUudW5zdGFibGVfbm93KCk7Tz1DO3ZhciBMPSEwO3RyeXtMPU4oITAsQyl9ZmluYWxseXtMP3ZuKCk6KFA9ITEsTj1udWxsKX19ZWxzZSBQPSExfXZhciB2bjtpZih0eXBlb2YgYz09ImZ1bmN0aW9uIil2bj1mdW5jdGlvbigpe2MobW4pfTtlbHNlIGlmKHR5cGVvZiBNZXNzYWdlQ2hhbm5lbDwidSIpe3ZhciBidT1uZXcgTWVzc2FnZUNoYW5uZWwsVmM9YnUucG9ydDI7YnUucG9ydDEub25tZXNzYWdlPW1uLHZuPWZ1bmN0aW9uKCl7VmMucG9zdE1lc3NhZ2UobnVsbCl9fWVsc2Ugdm49ZnVuY3Rpb24oKXtFKG1uLDApfTtmdW5jdGlvbiBSbChDKXtOPUMsUHx8KFA9ITAsdm4oKSl9ZnVuY3Rpb24gVGwoQyxMKXt6PUUoZnVuY3Rpb24oKXtDKGUudW5zdGFibGVfbm93KCkpfSxMKX1lLnVuc3RhYmxlX0lkbGVQcmlvcml0eT01LGUudW5zdGFibGVfSW1tZWRpYXRlUHJpb3JpdHk9MSxlLnVuc3RhYmxlX0xvd1ByaW9yaXR5PTQsZS51bnN0YWJsZV9Ob3JtYWxQcmlvcml0eT0zLGUudW5zdGFibGVfUHJvZmlsaW5nPW51bGwsZS51bnN0YWJsZV9Vc2VyQmxvY2tpbmdQcmlvcml0eT0yLGUudW5zdGFibGVfY2FuY2VsQ2FsbGJhY2s9ZnVuY3Rpb24oQyl7Qy5jYWxsYmFjaz1udWxsfSxlLnVuc3RhYmxlX2NvbnRpbnVlRXhlY3V0aW9uPWZ1bmN0aW9uKCl7d3x8eXx8KHc9ITAsUmwoaykpfSxlLnVuc3RhYmxlX2ZvcmNlRnJhbWVSYXRlPWZ1bmN0aW9uKEMpezA+Q3x8MTI1PEM/Y29uc29sZS5lcnJvcigiZm9yY2VGcmFtZVJhdGUgdGFrZXMgYSBwb3NpdGl2ZSBpbnQgYmV0d2VlbiAwIGFuZCAxMjUsIGZvcmNpbmcgZnJhbWUgcmF0ZXMgaGlnaGVyIHRoYW4gMTI1IGZwcyBpcyBub3Qgc3VwcG9ydGVkIik6Vz0wPEM/TWF0aC5mbG9vcigxZTMvQyk6NX0sZS51bnN0YWJsZV9nZXRDdXJyZW50UHJpb3JpdHlMZXZlbD1mdW5jdGlvbigpe3JldHVybiBtfSxlLnVuc3RhYmxlX2dldEZpcnN0Q2FsbGJhY2tOb2RlPWZ1bmN0aW9uKCl7cmV0dXJuIG4ocyl9LGUudW5zdGFibGVfbmV4dD1mdW5jdGlvbihDKXtzd2l0Y2gobSl7Y2FzZSAxOmNhc2UgMjpjYXNlIDM6dmFyIEw9MzticmVhaztkZWZhdWx0Okw9bX12YXIgUj1tO209TDt0cnl7cmV0dXJuIEMoKX1maW5hbGx5e209Un19LGUudW5zdGFibGVfcGF1c2VFeGVjdXRpb249ZnVuY3Rpb24oKXt9LGUudW5zdGFibGVfcmVxdWVzdFBhaW50PWZ1bmN0aW9uKCl7fSxlLnVuc3RhYmxlX3J1bldpdGhQcmlvcml0eT1mdW5jdGlvbihDLEwpe3N3aXRjaChDKXtjYXNlIDE6Y2FzZSAyOmNhc2UgMzpjYXNlIDQ6Y2FzZSA1OmJyZWFrO2RlZmF1bHQ6Qz0zfXZhciBSPW07bT1DO3RyeXtyZXR1cm4gTCgpfWZpbmFsbHl7bT1SfX0sZS51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrPWZ1bmN0aW9uKEMsTCxSKXt2YXIgSD1lLnVuc3RhYmxlX25vdygpO3N3aXRjaCh0eXBlb2YgUj09Im9iamVjdCImJlIhPT1udWxsPyhSPVIuZGVsYXksUj10eXBlb2YgUj09Im51bWJlciImJjA8Uj9IK1I6SCk6Uj1ILEMpe2Nhc2UgMTp2YXIgWj0tMTticmVhaztjYXNlIDI6Wj0yNTA7YnJlYWs7Y2FzZSA1Olo9MTA3Mzc0MTgyMzticmVhaztjYXNlIDQ6Wj0xZTQ7YnJlYWs7ZGVmYXVsdDpaPTVlM31yZXR1cm4gWj1SK1osQz17aWQ6aCsrLGNhbGxiYWNrOkwscHJpb3JpdHlMZXZlbDpDLHN0YXJ0VGltZTpSLGV4cGlyYXRpb25UaW1lOlosc29ydEluZGV4Oi0xfSxSPkg/KEMuc29ydEluZGV4PVIsdChhLEMpLG4ocyk9PT1udWxsJiZDPT09bihhKSYmKFM/KGYoeiksej0tMSk6Uz0hMCxUbCh2LFItSCkpKTooQy5zb3J0SW5kZXg9Wix0KHMsQyksd3x8eXx8KHc9ITAsUmwoaykpKSxDfSxlLnVuc3RhYmxlX3Nob3VsZFlpZWxkPXplLGUudW5zdGFibGVfd3JhcENhbGxiYWNrPWZ1bmN0aW9uKEMpe3ZhciBMPW07cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIFI9bTttPUw7dHJ5e3JldHVybiBDLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1maW5hbGx5e209Un19fX0pKE9zKTtUcy5leHBvcnRzPU9zO3ZhciB2Zj1Ucy5leHBvcnRzOy8qKgogKiBAbGljZW5zZSBSZWFjdAogKiByZWFjdC1kb20ucHJvZHVjdGlvbi5taW4uanMKICoKICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuCiAqCiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZQogKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuCiAqL3ZhciB5Zj1fLHdlPXZmO2Z1bmN0aW9uIGcoZSl7Zm9yKHZhciB0PSJodHRwczovL3JlYWN0anMub3JnL2RvY3MvZXJyb3ItZGVjb2Rlci5odG1sP2ludmFyaWFudD0iK2Usbj0xO248YXJndW1lbnRzLmxlbmd0aDtuKyspdCs9IiZhcmdzW109IitlbmNvZGVVUklDb21wb25lbnQoYXJndW1lbnRzW25dKTtyZXR1cm4iTWluaWZpZWQgUmVhY3QgZXJyb3IgIyIrZSsiOyB2aXNpdCAiK3QrIiBmb3IgdGhlIGZ1bGwgbWVzc2FnZSBvciB1c2UgdGhlIG5vbi1taW5pZmllZCBkZXYgZW52aXJvbm1lbnQgZm9yIGZ1bGwgZXJyb3JzIGFuZCBhZGRpdGlvbmFsIGhlbHBmdWwgd2FybmluZ3MuIn12YXIgSXM9bmV3IFNldCxVbj17fTtmdW5jdGlvbiBNdChlLHQpe2xuKGUsdCksbG4oZSsiQ2FwdHVyZSIsdCl9ZnVuY3Rpb24gbG4oZSx0KXtmb3IoVW5bZV09dCxlPTA7ZTx0Lmxlbmd0aDtlKyspSXMuYWRkKHRbZV0pfXZhciBLZT0hKHR5cGVvZiB3aW5kb3c+InUifHx0eXBlb2Ygd2luZG93LmRvY3VtZW50PiJ1Inx8dHlwZW9mIHdpbmRvdy5kb2N1bWVudC5jcmVhdGVFbGVtZW50PiJ1IiksaW89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxnZj0vXls6QS1aX2Etelx1MDBDMC1cdTAwRDZcdTAwRDgtXHUwMEY2XHUwMEY4LVx1MDJGRlx1MDM3MC1cdTAzN0RcdTAzN0YtXHUxRkZGXHUyMDBDLVx1MjAwRFx1MjA3MC1cdTIxOEZcdTJDMDAtXHUyRkVGXHUzMDAxLVx1RDdGRlx1RjkwMC1cdUZEQ0ZcdUZERjAtXHVGRkZEXVs6QS1aX2Etelx1MDBDMC1cdTAwRDZcdTAwRDgtXHUwMEY2XHUwMEY4LVx1MDJGRlx1MDM3MC1cdTAzN0RcdTAzN0YtXHUxRkZGXHUyMDBDLVx1MjAwRFx1MjA3MC1cdTIxOEZcdTJDMDAtXHUyRkVGXHUzMDAxLVx1RDdGRlx1RjkwMC1cdUZEQ0ZcdUZERjAtXHVGRkZEXC0uMC05XHUwMEI3XHUwMzAwLVx1MDM2Rlx1MjAzRi1cdTIwNDBdKiQvLGxpPXt9LG9pPXt9O2Z1bmN0aW9uIHdmKGUpe3JldHVybiBpby5jYWxsKG9pLGUpPyEwOmlvLmNhbGwobGksZSk/ITE6Z2YudGVzdChlKT9vaVtlXT0hMDoobGlbZV09ITAsITEpfWZ1bmN0aW9uIFNmKGUsdCxuLHIpe2lmKG4hPT1udWxsJiZuLnR5cGU9PT0wKXJldHVybiExO3N3aXRjaCh0eXBlb2YgdCl7Y2FzZSJmdW5jdGlvbiI6Y2FzZSJzeW1ib2wiOnJldHVybiEwO2Nhc2UiYm9vbGVhbiI6cmV0dXJuIHI/ITE6biE9PW51bGw/IW4uYWNjZXB0c0Jvb2xlYW5zOihlPWUudG9Mb3dlckNhc2UoKS5zbGljZSgwLDUpLGUhPT0iZGF0YS0iJiZlIT09ImFyaWEtIik7ZGVmYXVsdDpyZXR1cm4hMX19ZnVuY3Rpb24ga2YoZSx0LG4scil7aWYodD09PW51bGx8fHR5cGVvZiB0PiJ1Inx8U2YoZSx0LG4scikpcmV0dXJuITA7aWYocilyZXR1cm4hMTtpZihuIT09bnVsbClzd2l0Y2gobi50eXBlKXtjYXNlIDM6cmV0dXJuIXQ7Y2FzZSA0OnJldHVybiB0PT09ITE7Y2FzZSA1OnJldHVybiBpc05hTih0KTtjYXNlIDY6cmV0dXJuIGlzTmFOKHQpfHwxPnR9cmV0dXJuITF9ZnVuY3Rpb24gY2UoZSx0LG4scixsLG8sdSl7dGhpcy5hY2NlcHRzQm9vbGVhbnM9dD09PTJ8fHQ9PT0zfHx0PT09NCx0aGlzLmF0dHJpYnV0ZU5hbWU9cix0aGlzLmF0dHJpYnV0ZU5hbWVzcGFjZT1sLHRoaXMubXVzdFVzZVByb3BlcnR5PW4sdGhpcy5wcm9wZXJ0eU5hbWU9ZSx0aGlzLnR5cGU9dCx0aGlzLnNhbml0aXplVVJMPW8sdGhpcy5yZW1vdmVFbXB0eVN0cmluZz11fXZhciB0ZT17fTsiY2hpbGRyZW4gZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwgZGVmYXVsdFZhbHVlIGRlZmF1bHRDaGVja2VkIGlubmVySFRNTCBzdXBwcmVzc0NvbnRlbnRFZGl0YWJsZVdhcm5pbmcgc3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nIHN0eWxlIi5zcGxpdCgiICIpLmZvckVhY2goZnVuY3Rpb24oZSl7dGVbZV09bmV3IGNlKGUsMCwhMSxlLG51bGwsITEsITEpfSk7W1siYWNjZXB0Q2hhcnNldCIsImFjY2VwdC1jaGFyc2V0Il0sWyJjbGFzc05hbWUiLCJjbGFzcyJdLFsiaHRtbEZvciIsImZvciJdLFsiaHR0cEVxdWl2IiwiaHR0cC1lcXVpdiJdXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3ZhciB0PWVbMF07dGVbdF09bmV3IGNlKHQsMSwhMSxlWzFdLG51bGwsITEsITEpfSk7WyJjb250ZW50RWRpdGFibGUiLCJkcmFnZ2FibGUiLCJzcGVsbENoZWNrIiwidmFsdWUiXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3RlW2VdPW5ldyBjZShlLDIsITEsZS50b0xvd2VyQ2FzZSgpLG51bGwsITEsITEpfSk7WyJhdXRvUmV2ZXJzZSIsImV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQiLCJmb2N1c2FibGUiLCJwcmVzZXJ2ZUFscGhhIl0uZm9yRWFjaChmdW5jdGlvbihlKXt0ZVtlXT1uZXcgY2UoZSwyLCExLGUsbnVsbCwhMSwhMSl9KTsiYWxsb3dGdWxsU2NyZWVuIGFzeW5jIGF1dG9Gb2N1cyBhdXRvUGxheSBjb250cm9scyBkZWZhdWx0IGRlZmVyIGRpc2FibGVkIGRpc2FibGVQaWN0dXJlSW5QaWN0dXJlIGRpc2FibGVSZW1vdGVQbGF5YmFjayBmb3JtTm9WYWxpZGF0ZSBoaWRkZW4gbG9vcCBub01vZHVsZSBub1ZhbGlkYXRlIG9wZW4gcGxheXNJbmxpbmUgcmVhZE9ubHkgcmVxdWlyZWQgcmV2ZXJzZWQgc2NvcGVkIHNlYW1sZXNzIGl0ZW1TY29wZSIuc3BsaXQoIiAiKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3RlW2VdPW5ldyBjZShlLDMsITEsZS50b0xvd2VyQ2FzZSgpLG51bGwsITEsITEpfSk7WyJjaGVja2VkIiwibXVsdGlwbGUiLCJtdXRlZCIsInNlbGVjdGVkIl0uZm9yRWFjaChmdW5jdGlvbihlKXt0ZVtlXT1uZXcgY2UoZSwzLCEwLGUsbnVsbCwhMSwhMSl9KTtbImNhcHR1cmUiLCJkb3dubG9hZCJdLmZvckVhY2goZnVuY3Rpb24oZSl7dGVbZV09bmV3IGNlKGUsNCwhMSxlLG51bGwsITEsITEpfSk7WyJjb2xzIiwicm93cyIsInNpemUiLCJzcGFuIl0uZm9yRWFjaChmdW5jdGlvbihlKXt0ZVtlXT1uZXcgY2UoZSw2LCExLGUsbnVsbCwhMSwhMSl9KTtbInJvd1NwYW4iLCJzdGFydCJdLmZvckVhY2goZnVuY3Rpb24oZSl7dGVbZV09bmV3IGNlKGUsNSwhMSxlLnRvTG93ZXJDYXNlKCksbnVsbCwhMSwhMSl9KTt2YXIgaXU9L1tcLTpdKFthLXpdKS9nO2Z1bmN0aW9uIHN1KGUpe3JldHVybiBlWzFdLnRvVXBwZXJDYXNlKCl9ImFjY2VudC1oZWlnaHQgYWxpZ25tZW50LWJhc2VsaW5lIGFyYWJpYy1mb3JtIGJhc2VsaW5lLXNoaWZ0IGNhcC1oZWlnaHQgY2xpcC1wYXRoIGNsaXAtcnVsZSBjb2xvci1pbnRlcnBvbGF0aW9uIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycyBjb2xvci1wcm9maWxlIGNvbG9yLXJlbmRlcmluZyBkb21pbmFudC1iYXNlbGluZSBlbmFibGUtYmFja2dyb3VuZCBmaWxsLW9wYWNpdHkgZmlsbC1ydWxlIGZsb29kLWNvbG9yIGZsb29kLW9wYWNpdHkgZm9udC1mYW1pbHkgZm9udC1zaXplIGZvbnQtc2l6ZS1hZGp1c3QgZm9udC1zdHJldGNoIGZvbnQtc3R5bGUgZm9udC12YXJpYW50IGZvbnQtd2VpZ2h0IGdseXBoLW5hbWUgZ2x5cGgtb3JpZW50YXRpb24taG9yaXpvbnRhbCBnbHlwaC1vcmllbnRhdGlvbi12ZXJ0aWNhbCBob3Jpei1hZHYteCBob3Jpei1vcmlnaW4teCBpbWFnZS1yZW5kZXJpbmcgbGV0dGVyLXNwYWNpbmcgbGlnaHRpbmctY29sb3IgbWFya2VyLWVuZCBtYXJrZXItbWlkIG1hcmtlci1zdGFydCBvdmVybGluZS1wb3NpdGlvbiBvdmVybGluZS10aGlja25lc3MgcGFpbnQtb3JkZXIgcGFub3NlLTEgcG9pbnRlci1ldmVudHMgcmVuZGVyaW5nLWludGVudCBzaGFwZS1yZW5kZXJpbmcgc3RvcC1jb2xvciBzdG9wLW9wYWNpdHkgc3RyaWtldGhyb3VnaC1wb3NpdGlvbiBzdHJpa2V0aHJvdWdoLXRoaWNrbmVzcyBzdHJva2UtZGFzaGFycmF5IHN0cm9rZS1kYXNob2Zmc2V0IHN0cm9rZS1saW5lY2FwIHN0cm9rZS1saW5lam9pbiBzdHJva2UtbWl0ZXJsaW1pdCBzdHJva2Utb3BhY2l0eSBzdHJva2Utd2lkdGggdGV4dC1hbmNob3IgdGV4dC1kZWNvcmF0aW9uIHRleHQtcmVuZGVyaW5nIHVuZGVybGluZS1wb3NpdGlvbiB1bmRlcmxpbmUtdGhpY2tuZXNzIHVuaWNvZGUtYmlkaSB1bmljb2RlLXJhbmdlIHVuaXRzLXBlci1lbSB2LWFscGhhYmV0aWMgdi1oYW5naW5nIHYtaWRlb2dyYXBoaWMgdi1tYXRoZW1hdGljYWwgdmVjdG9yLWVmZmVjdCB2ZXJ0LWFkdi15IHZlcnQtb3JpZ2luLXggdmVydC1vcmlnaW4teSB3b3JkLXNwYWNpbmcgd3JpdGluZy1tb2RlIHhtbG5zOnhsaW5rIHgtaGVpZ2h0Ii5zcGxpdCgiICIpLmZvckVhY2goZnVuY3Rpb24oZSl7dmFyIHQ9ZS5yZXBsYWNlKGl1LHN1KTt0ZVt0XT1uZXcgY2UodCwxLCExLGUsbnVsbCwhMSwhMSl9KTsieGxpbms6YWN0dWF0ZSB4bGluazphcmNyb2xlIHhsaW5rOnJvbGUgeGxpbms6c2hvdyB4bGluazp0aXRsZSB4bGluazp0eXBlIi5zcGxpdCgiICIpLmZvckVhY2goZnVuY3Rpb24oZSl7dmFyIHQ9ZS5yZXBsYWNlKGl1LHN1KTt0ZVt0XT1uZXcgY2UodCwxLCExLGUsImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLCExLCExKX0pO1sieG1sOmJhc2UiLCJ4bWw6bGFuZyIsInhtbDpzcGFjZSJdLmZvckVhY2goZnVuY3Rpb24oZSl7dmFyIHQ9ZS5yZXBsYWNlKGl1LHN1KTt0ZVt0XT1uZXcgY2UodCwxLCExLGUsImh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSIsITEsITEpfSk7WyJ0YWJJbmRleCIsImNyb3NzT3JpZ2luIl0uZm9yRWFjaChmdW5jdGlvbihlKXt0ZVtlXT1uZXcgY2UoZSwxLCExLGUudG9Mb3dlckNhc2UoKSxudWxsLCExLCExKX0pO3RlLnhsaW5rSHJlZj1uZXcgY2UoInhsaW5rSHJlZiIsMSwhMSwieGxpbms6aHJlZiIsImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLCEwLCExKTtbInNyYyIsImhyZWYiLCJhY3Rpb24iLCJmb3JtQWN0aW9uIl0uZm9yRWFjaChmdW5jdGlvbihlKXt0ZVtlXT1uZXcgY2UoZSwxLCExLGUudG9Mb3dlckNhc2UoKSxudWxsLCEwLCEwKX0pO2Z1bmN0aW9uIGF1KGUsdCxuLHIpe3ZhciBsPXRlLmhhc093blByb3BlcnR5KHQpP3RlW3RdOm51bGw7KGwhPT1udWxsP2wudHlwZSE9PTA6cnx8ISgyPHQubGVuZ3RoKXx8dFswXSE9PSJvIiYmdFswXSE9PSJPInx8dFsxXSE9PSJuIiYmdFsxXSE9PSJOIikmJihrZih0LG4sbCxyKSYmKG49bnVsbCkscnx8bD09PW51bGw/d2YodCkmJihuPT09bnVsbD9lLnJlbW92ZUF0dHJpYnV0ZSh0KTplLnNldEF0dHJpYnV0ZSh0LCIiK24pKTpsLm11c3RVc2VQcm9wZXJ0eT9lW2wucHJvcGVydHlOYW1lXT1uPT09bnVsbD9sLnR5cGU9PT0zPyExOiIiOm46KHQ9bC5hdHRyaWJ1dGVOYW1lLHI9bC5hdHRyaWJ1dGVOYW1lc3BhY2Usbj09PW51bGw/ZS5yZW1vdmVBdHRyaWJ1dGUodCk6KGw9bC50eXBlLG49bD09PTN8fGw9PT00JiZuPT09ITA/IiI6IiIrbixyP2Uuc2V0QXR0cmlidXRlTlMocix0LG4pOmUuc2V0QXR0cmlidXRlKHQsbikpKSl9dmFyIFplPXlmLl9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVELGRyPVN5bWJvbC5mb3IoInJlYWN0LmVsZW1lbnQiKSxBdD1TeW1ib2wuZm9yKCJyZWFjdC5wb3J0YWwiKSxCdD1TeW1ib2wuZm9yKCJyZWFjdC5mcmFnbWVudCIpLGN1PVN5bWJvbC5mb3IoInJlYWN0LnN0cmljdF9tb2RlIiksc289U3ltYm9sLmZvcigicmVhY3QucHJvZmlsZXIiKSxNcz1TeW1ib2wuZm9yKCJyZWFjdC5wcm92aWRlciIpLERzPVN5bWJvbC5mb3IoInJlYWN0LmNvbnRleHQiKSxmdT1TeW1ib2wuZm9yKCJyZWFjdC5mb3J3YXJkX3JlZiIpLGFvPVN5bWJvbC5mb3IoInJlYWN0LnN1c3BlbnNlIiksY289U3ltYm9sLmZvcigicmVhY3Quc3VzcGVuc2VfbGlzdCIpLGR1PVN5bWJvbC5mb3IoInJlYWN0Lm1lbW8iKSxxZT1TeW1ib2wuZm9yKCJyZWFjdC5sYXp5IiksanM9U3ltYm9sLmZvcigicmVhY3Qub2Zmc2NyZWVuIiksdWk9U3ltYm9sLml0ZXJhdG9yO2Z1bmN0aW9uIHluKGUpe3JldHVybiBlPT09bnVsbHx8dHlwZW9mIGUhPSJvYmplY3QiP251bGw6KGU9dWkmJmVbdWldfHxlWyJAQGl0ZXJhdG9yIl0sdHlwZW9mIGU9PSJmdW5jdGlvbiI/ZTpudWxsKX12YXIgQj1PYmplY3QuYXNzaWduLE1sO2Z1bmN0aW9uIF9uKGUpe2lmKE1sPT09dm9pZCAwKXRyeXt0aHJvdyBFcnJvcigpfWNhdGNoKG4pe3ZhciB0PW4uc3RhY2sudHJpbSgpLm1hdGNoKC9cbiggKihhdCApPykvKTtNbD10JiZ0WzFdfHwiIn1yZXR1cm5gCmArTWwrZX12YXIgRGw9ITE7ZnVuY3Rpb24gamwoZSx0KXtpZighZXx8RGwpcmV0dXJuIiI7RGw9ITA7dmFyIG49RXJyb3IucHJlcGFyZVN0YWNrVHJhY2U7RXJyb3IucHJlcGFyZVN0YWNrVHJhY2U9dm9pZCAwO3RyeXtpZih0KWlmKHQ9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigpfSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsInByb3BzIix7c2V0OmZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoKX19KSx0eXBlb2YgUmVmbGVjdD09Im9iamVjdCImJlJlZmxlY3QuY29uc3RydWN0KXt0cnl7UmVmbGVjdC5jb25zdHJ1Y3QodCxbXSl9Y2F0Y2goYSl7dmFyIHI9YX1SZWZsZWN0LmNvbnN0cnVjdChlLFtdLHQpfWVsc2V7dHJ5e3QuY2FsbCgpfWNhdGNoKGEpe3I9YX1lLmNhbGwodC5wcm90b3R5cGUpfWVsc2V7dHJ5e3Rocm93IEVycm9yKCl9Y2F0Y2goYSl7cj1hfWUoKX19Y2F0Y2goYSl7aWYoYSYmciYmdHlwZW9mIGEuc3RhY2s9PSJzdHJpbmciKXtmb3IodmFyIGw9YS5zdGFjay5zcGxpdChgCmApLG89ci5zdGFjay5zcGxpdChgCmApLHU9bC5sZW5ndGgtMSxpPW8ubGVuZ3RoLTE7MTw9dSYmMDw9aSYmbFt1XSE9PW9baV07KWktLTtmb3IoOzE8PXUmJjA8PWk7dS0tLGktLSlpZihsW3VdIT09b1tpXSl7aWYodSE9PTF8fGkhPT0xKWRvIGlmKHUtLSxpLS0sMD5pfHxsW3VdIT09b1tpXSl7dmFyIHM9YApgK2xbdV0ucmVwbGFjZSgiIGF0IG5ldyAiLCIgYXQgIik7cmV0dXJuIGUuZGlzcGxheU5hbWUmJnMuaW5jbHVkZXMoIjxhbm9ueW1vdXM+IikmJihzPXMucmVwbGFjZSgiPGFub255bW91cz4iLGUuZGlzcGxheU5hbWUpKSxzfXdoaWxlKDE8PXUmJjA8PWkpO2JyZWFrfX19ZmluYWxseXtEbD0hMSxFcnJvci5wcmVwYXJlU3RhY2tUcmFjZT1ufXJldHVybihlPWU/ZS5kaXNwbGF5TmFtZXx8ZS5uYW1lOiIiKT9fbihlKToiIn1mdW5jdGlvbiBFZihlKXtzd2l0Y2goZS50YWcpe2Nhc2UgNTpyZXR1cm4gX24oZS50eXBlKTtjYXNlIDE2OnJldHVybiBfbigiTGF6eSIpO2Nhc2UgMTM6cmV0dXJuIF9uKCJTdXNwZW5zZSIpO2Nhc2UgMTk6cmV0dXJuIF9uKCJTdXNwZW5zZUxpc3QiKTtjYXNlIDA6Y2FzZSAyOmNhc2UgMTU6cmV0dXJuIGU9amwoZS50eXBlLCExKSxlO2Nhc2UgMTE6cmV0dXJuIGU9amwoZS50eXBlLnJlbmRlciwhMSksZTtjYXNlIDE6cmV0dXJuIGU9amwoZS50eXBlLCEwKSxlO2RlZmF1bHQ6cmV0dXJuIiJ9fWZ1bmN0aW9uIGZvKGUpe2lmKGU9PW51bGwpcmV0dXJuIG51bGw7aWYodHlwZW9mIGU9PSJmdW5jdGlvbiIpcmV0dXJuIGUuZGlzcGxheU5hbWV8fGUubmFtZXx8bnVsbDtpZih0eXBlb2YgZT09InN0cmluZyIpcmV0dXJuIGU7c3dpdGNoKGUpe2Nhc2UgQnQ6cmV0dXJuIkZyYWdtZW50IjtjYXNlIEF0OnJldHVybiJQb3J0YWwiO2Nhc2Ugc286cmV0dXJuIlByb2ZpbGVyIjtjYXNlIGN1OnJldHVybiJTdHJpY3RNb2RlIjtjYXNlIGFvOnJldHVybiJTdXNwZW5zZSI7Y2FzZSBjbzpyZXR1cm4iU3VzcGVuc2VMaXN0In1pZih0eXBlb2YgZT09Im9iamVjdCIpc3dpdGNoKGUuJCR0eXBlb2Ype2Nhc2UgRHM6cmV0dXJuKGUuZGlzcGxheU5hbWV8fCJDb250ZXh0IikrIi5Db25zdW1lciI7Y2FzZSBNczpyZXR1cm4oZS5fY29udGV4dC5kaXNwbGF5TmFtZXx8IkNvbnRleHQiKSsiLlByb3ZpZGVyIjtjYXNlIGZ1OnZhciB0PWUucmVuZGVyO3JldHVybiBlPWUuZGlzcGxheU5hbWUsZXx8KGU9dC5kaXNwbGF5TmFtZXx8dC5uYW1lfHwiIixlPWUhPT0iIj8iRm9yd2FyZFJlZigiK2UrIikiOiJGb3J3YXJkUmVmIiksZTtjYXNlIGR1OnJldHVybiB0PWUuZGlzcGxheU5hbWV8fG51bGwsdCE9PW51bGw/dDpmbyhlLnR5cGUpfHwiTWVtbyI7Y2FzZSBxZTp0PWUuX3BheWxvYWQsZT1lLl9pbml0O3RyeXtyZXR1cm4gZm8oZSh0KSl9Y2F0Y2h7fX1yZXR1cm4gbnVsbH1mdW5jdGlvbiB4ZihlKXt2YXIgdD1lLnR5cGU7c3dpdGNoKGUudGFnKXtjYXNlIDI0OnJldHVybiJDYWNoZSI7Y2FzZSA5OnJldHVybih0LmRpc3BsYXlOYW1lfHwiQ29udGV4dCIpKyIuQ29uc3VtZXIiO2Nhc2UgMTA6cmV0dXJuKHQuX2NvbnRleHQuZGlzcGxheU5hbWV8fCJDb250ZXh0IikrIi5Qcm92aWRlciI7Y2FzZSAxODpyZXR1cm4iRGVoeWRyYXRlZEZyYWdtZW50IjtjYXNlIDExOnJldHVybiBlPXQucmVuZGVyLGU9ZS5kaXNwbGF5TmFtZXx8ZS5uYW1lfHwiIix0LmRpc3BsYXlOYW1lfHwoZSE9PSIiPyJGb3J3YXJkUmVmKCIrZSsiKSI6IkZvcndhcmRSZWYiKTtjYXNlIDc6cmV0dXJuIkZyYWdtZW50IjtjYXNlIDU6cmV0dXJuIHQ7Y2FzZSA0OnJldHVybiJQb3J0YWwiO2Nhc2UgMzpyZXR1cm4iUm9vdCI7Y2FzZSA2OnJldHVybiJUZXh0IjtjYXNlIDE2OnJldHVybiBmbyh0KTtjYXNlIDg6cmV0dXJuIHQ9PT1jdT8iU3RyaWN0TW9kZSI6Ik1vZGUiO2Nhc2UgMjI6cmV0dXJuIk9mZnNjcmVlbiI7Y2FzZSAxMjpyZXR1cm4iUHJvZmlsZXIiO2Nhc2UgMjE6cmV0dXJuIlNjb3BlIjtjYXNlIDEzOnJldHVybiJTdXNwZW5zZSI7Y2FzZSAxOTpyZXR1cm4iU3VzcGVuc2VMaXN0IjtjYXNlIDI1OnJldHVybiJUcmFjaW5nTWFya2VyIjtjYXNlIDE6Y2FzZSAwOmNhc2UgMTc6Y2FzZSAyOmNhc2UgMTQ6Y2FzZSAxNTppZih0eXBlb2YgdD09ImZ1bmN0aW9uIilyZXR1cm4gdC5kaXNwbGF5TmFtZXx8dC5uYW1lfHxudWxsO2lmKHR5cGVvZiB0PT0ic3RyaW5nIilyZXR1cm4gdH1yZXR1cm4gbnVsbH1mdW5jdGlvbiBwdChlKXtzd2l0Y2godHlwZW9mIGUpe2Nhc2UiYm9vbGVhbiI6Y2FzZSJudW1iZXIiOmNhc2Uic3RyaW5nIjpjYXNlInVuZGVmaW5lZCI6cmV0dXJuIGU7Y2FzZSJvYmplY3QiOnJldHVybiBlO2RlZmF1bHQ6cmV0dXJuIiJ9fWZ1bmN0aW9uIEZzKGUpe3ZhciB0PWUudHlwZTtyZXR1cm4oZT1lLm5vZGVOYW1lKSYmZS50b0xvd2VyQ2FzZSgpPT09ImlucHV0IiYmKHQ9PT0iY2hlY2tib3gifHx0PT09InJhZGlvIil9ZnVuY3Rpb24gQ2YoZSl7dmFyIHQ9RnMoZSk/ImNoZWNrZWQiOiJ2YWx1ZSIsbj1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUuY29uc3RydWN0b3IucHJvdG90eXBlLHQpLHI9IiIrZVt0XTtpZighZS5oYXNPd25Qcm9wZXJ0eSh0KSYmdHlwZW9mIG48InUiJiZ0eXBlb2Ygbi5nZXQ9PSJmdW5jdGlvbiImJnR5cGVvZiBuLnNldD09ImZ1bmN0aW9uIil7dmFyIGw9bi5nZXQsbz1uLnNldDtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdCx7Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBsLmNhbGwodGhpcyl9LHNldDpmdW5jdGlvbih1KXtyPSIiK3Usby5jYWxsKHRoaXMsdSl9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdCx7ZW51bWVyYWJsZTpuLmVudW1lcmFibGV9KSx7Z2V0VmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gcn0sc2V0VmFsdWU6ZnVuY3Rpb24odSl7cj0iIit1fSxzdG9wVHJhY2tpbmc6ZnVuY3Rpb24oKXtlLl92YWx1ZVRyYWNrZXI9bnVsbCxkZWxldGUgZVt0XX19fX1mdW5jdGlvbiBwcihlKXtlLl92YWx1ZVRyYWNrZXJ8fChlLl92YWx1ZVRyYWNrZXI9Q2YoZSkpfWZ1bmN0aW9uIFVzKGUpe2lmKCFlKXJldHVybiExO3ZhciB0PWUuX3ZhbHVlVHJhY2tlcjtpZighdClyZXR1cm4hMDt2YXIgbj10LmdldFZhbHVlKCkscj0iIjtyZXR1cm4gZSYmKHI9RnMoZSk/ZS5jaGVja2VkPyJ0cnVlIjoiZmFsc2UiOmUudmFsdWUpLGU9cixlIT09bj8odC5zZXRWYWx1ZShlKSwhMCk6ITF9ZnVuY3Rpb24gQXIoZSl7aWYoZT1lfHwodHlwZW9mIGRvY3VtZW50PCJ1Ij9kb2N1bWVudDp2b2lkIDApLHR5cGVvZiBlPiJ1IilyZXR1cm4gbnVsbDt0cnl7cmV0dXJuIGUuYWN0aXZlRWxlbWVudHx8ZS5ib2R5fWNhdGNoe3JldHVybiBlLmJvZHl9fWZ1bmN0aW9uIHBvKGUsdCl7dmFyIG49dC5jaGVja2VkO3JldHVybiBCKHt9LHQse2RlZmF1bHRDaGVja2VkOnZvaWQgMCxkZWZhdWx0VmFsdWU6dm9pZCAwLHZhbHVlOnZvaWQgMCxjaGVja2VkOm4/P2UuX3dyYXBwZXJTdGF0ZS5pbml0aWFsQ2hlY2tlZH0pfWZ1bmN0aW9uIGlpKGUsdCl7dmFyIG49dC5kZWZhdWx0VmFsdWU9PW51bGw/IiI6dC5kZWZhdWx0VmFsdWUscj10LmNoZWNrZWQhPW51bGw/dC5jaGVja2VkOnQuZGVmYXVsdENoZWNrZWQ7bj1wdCh0LnZhbHVlIT1udWxsP3QudmFsdWU6biksZS5fd3JhcHBlclN0YXRlPXtpbml0aWFsQ2hlY2tlZDpyLGluaXRpYWxWYWx1ZTpuLGNvbnRyb2xsZWQ6dC50eXBlPT09ImNoZWNrYm94Inx8dC50eXBlPT09InJhZGlvIj90LmNoZWNrZWQhPW51bGw6dC52YWx1ZSE9bnVsbH19ZnVuY3Rpb24gJHMoZSx0KXt0PXQuY2hlY2tlZCx0IT1udWxsJiZhdShlLCJjaGVja2VkIix0LCExKX1mdW5jdGlvbiBobyhlLHQpeyRzKGUsdCk7dmFyIG49cHQodC52YWx1ZSkscj10LnR5cGU7aWYobiE9bnVsbClyPT09Im51bWJlciI/KG49PT0wJiZlLnZhbHVlPT09IiJ8fGUudmFsdWUhPW4pJiYoZS52YWx1ZT0iIituKTplLnZhbHVlIT09IiIrbiYmKGUudmFsdWU9IiIrbik7ZWxzZSBpZihyPT09InN1Ym1pdCJ8fHI9PT0icmVzZXQiKXtlLnJlbW92ZUF0dHJpYnV0ZSgidmFsdWUiKTtyZXR1cm59dC5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKT9tbyhlLHQudHlwZSxuKTp0Lmhhc093blByb3BlcnR5KCJkZWZhdWx0VmFsdWUiKSYmbW8oZSx0LnR5cGUscHQodC5kZWZhdWx0VmFsdWUpKSx0LmNoZWNrZWQ9PW51bGwmJnQuZGVmYXVsdENoZWNrZWQhPW51bGwmJihlLmRlZmF1bHRDaGVja2VkPSEhdC5kZWZhdWx0Q2hlY2tlZCl9ZnVuY3Rpb24gc2koZSx0LG4pe2lmKHQuaGFzT3duUHJvcGVydHkoInZhbHVlIil8fHQuaGFzT3duUHJvcGVydHkoImRlZmF1bHRWYWx1ZSIpKXt2YXIgcj10LnR5cGU7aWYoIShyIT09InN1Ym1pdCImJnIhPT0icmVzZXQifHx0LnZhbHVlIT09dm9pZCAwJiZ0LnZhbHVlIT09bnVsbCkpcmV0dXJuO3Q9IiIrZS5fd3JhcHBlclN0YXRlLmluaXRpYWxWYWx1ZSxufHx0PT09ZS52YWx1ZXx8KGUudmFsdWU9dCksZS5kZWZhdWx0VmFsdWU9dH1uPWUubmFtZSxuIT09IiImJihlLm5hbWU9IiIpLGUuZGVmYXVsdENoZWNrZWQ9ISFlLl93cmFwcGVyU3RhdGUuaW5pdGlhbENoZWNrZWQsbiE9PSIiJiYoZS5uYW1lPW4pfWZ1bmN0aW9uIG1vKGUsdCxuKXsodCE9PSJudW1iZXIifHxBcihlLm93bmVyRG9jdW1lbnQpIT09ZSkmJihuPT1udWxsP2UuZGVmYXVsdFZhbHVlPSIiK2UuX3dyYXBwZXJTdGF0ZS5pbml0aWFsVmFsdWU6ZS5kZWZhdWx0VmFsdWUhPT0iIituJiYoZS5kZWZhdWx0VmFsdWU9IiIrbikpfXZhciBQbj1BcnJheS5pc0FycmF5O2Z1bmN0aW9uIHF0KGUsdCxuLHIpe2lmKGU9ZS5vcHRpb25zLHQpe3Q9e307Zm9yKHZhciBsPTA7bDxuLmxlbmd0aDtsKyspdFsiJCIrbltsXV09ITA7Zm9yKG49MDtuPGUubGVuZ3RoO24rKylsPXQuaGFzT3duUHJvcGVydHkoIiQiK2Vbbl0udmFsdWUpLGVbbl0uc2VsZWN0ZWQhPT1sJiYoZVtuXS5zZWxlY3RlZD1sKSxsJiZyJiYoZVtuXS5kZWZhdWx0U2VsZWN0ZWQ9ITApfWVsc2V7Zm9yKG49IiIrcHQobiksdD1udWxsLGw9MDtsPGUubGVuZ3RoO2wrKyl7aWYoZVtsXS52YWx1ZT09PW4pe2VbbF0uc2VsZWN0ZWQ9ITAsciYmKGVbbF0uZGVmYXVsdFNlbGVjdGVkPSEwKTtyZXR1cm59dCE9PW51bGx8fGVbbF0uZGlzYWJsZWR8fCh0PWVbbF0pfXQhPT1udWxsJiYodC5zZWxlY3RlZD0hMCl9fWZ1bmN0aW9uIHZvKGUsdCl7aWYodC5kYW5nZXJvdXNseVNldElubmVySFRNTCE9bnVsbCl0aHJvdyBFcnJvcihnKDkxKSk7cmV0dXJuIEIoe30sdCx7dmFsdWU6dm9pZCAwLGRlZmF1bHRWYWx1ZTp2b2lkIDAsY2hpbGRyZW46IiIrZS5fd3JhcHBlclN0YXRlLmluaXRpYWxWYWx1ZX0pfWZ1bmN0aW9uIGFpKGUsdCl7dmFyIG49dC52YWx1ZTtpZihuPT1udWxsKXtpZihuPXQuY2hpbGRyZW4sdD10LmRlZmF1bHRWYWx1ZSxuIT1udWxsKXtpZih0IT1udWxsKXRocm93IEVycm9yKGcoOTIpKTtpZihQbihuKSl7aWYoMTxuLmxlbmd0aCl0aHJvdyBFcnJvcihnKDkzKSk7bj1uWzBdfXQ9bn10PT1udWxsJiYodD0iIiksbj10fWUuX3dyYXBwZXJTdGF0ZT17aW5pdGlhbFZhbHVlOnB0KG4pfX1mdW5jdGlvbiBBcyhlLHQpe3ZhciBuPXB0KHQudmFsdWUpLHI9cHQodC5kZWZhdWx0VmFsdWUpO24hPW51bGwmJihuPSIiK24sbiE9PWUudmFsdWUmJihlLnZhbHVlPW4pLHQuZGVmYXVsdFZhbHVlPT1udWxsJiZlLmRlZmF1bHRWYWx1ZSE9PW4mJihlLmRlZmF1bHRWYWx1ZT1uKSksciE9bnVsbCYmKGUuZGVmYXVsdFZhbHVlPSIiK3IpfWZ1bmN0aW9uIGNpKGUpe3ZhciB0PWUudGV4dENvbnRlbnQ7dD09PWUuX3dyYXBwZXJTdGF0ZS5pbml0aWFsVmFsdWUmJnQhPT0iIiYmdCE9PW51bGwmJihlLnZhbHVlPXQpfWZ1bmN0aW9uIEJzKGUpe3N3aXRjaChlKXtjYXNlInN2ZyI6cmV0dXJuImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIjtjYXNlIm1hdGgiOnJldHVybiJodHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MIjtkZWZhdWx0OnJldHVybiJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIn19ZnVuY3Rpb24geW8oZSx0KXtyZXR1cm4gZT09bnVsbHx8ZT09PSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj9Ccyh0KTplPT09Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiYmdD09PSJmb3JlaWduT2JqZWN0Ij8iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI6ZX12YXIgaHIsVnM9ZnVuY3Rpb24oZSl7cmV0dXJuIHR5cGVvZiBNU0FwcDwidSImJk1TQXBwLmV4ZWNVbnNhZmVMb2NhbEZ1bmN0aW9uP2Z1bmN0aW9uKHQsbixyLGwpe01TQXBwLmV4ZWNVbnNhZmVMb2NhbEZ1bmN0aW9uKGZ1bmN0aW9uKCl7cmV0dXJuIGUodCxuLHIsbCl9KX06ZX0oZnVuY3Rpb24oZSx0KXtpZihlLm5hbWVzcGFjZVVSSSE9PSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyJ8fCJpbm5lckhUTUwiaW4gZSllLmlubmVySFRNTD10O2Vsc2V7Zm9yKGhyPWhyfHxkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxoci5pbm5lckhUTUw9Ijxzdmc+Iit0LnZhbHVlT2YoKS50b1N0cmluZygpKyI8L3N2Zz4iLHQ9aHIuZmlyc3RDaGlsZDtlLmZpcnN0Q2hpbGQ7KWUucmVtb3ZlQ2hpbGQoZS5maXJzdENoaWxkKTtmb3IoO3QuZmlyc3RDaGlsZDspZS5hcHBlbmRDaGlsZCh0LmZpcnN0Q2hpbGQpfX0pO2Z1bmN0aW9uICRuKGUsdCl7aWYodCl7dmFyIG49ZS5maXJzdENoaWxkO2lmKG4mJm49PT1lLmxhc3RDaGlsZCYmbi5ub2RlVHlwZT09PTMpe24ubm9kZVZhbHVlPXQ7cmV0dXJufX1lLnRleHRDb250ZW50PXR9dmFyIExuPXthbmltYXRpb25JdGVyYXRpb25Db3VudDohMCxhc3BlY3RSYXRpbzohMCxib3JkZXJJbWFnZU91dHNldDohMCxib3JkZXJJbWFnZVNsaWNlOiEwLGJvcmRlckltYWdlV2lkdGg6ITAsYm94RmxleDohMCxib3hGbGV4R3JvdXA6ITAsYm94T3JkaW5hbEdyb3VwOiEwLGNvbHVtbkNvdW50OiEwLGNvbHVtbnM6ITAsZmxleDohMCxmbGV4R3JvdzohMCxmbGV4UG9zaXRpdmU6ITAsZmxleFNocmluazohMCxmbGV4TmVnYXRpdmU6ITAsZmxleE9yZGVyOiEwLGdyaWRBcmVhOiEwLGdyaWRSb3c6ITAsZ3JpZFJvd0VuZDohMCxncmlkUm93U3BhbjohMCxncmlkUm93U3RhcnQ6ITAsZ3JpZENvbHVtbjohMCxncmlkQ29sdW1uRW5kOiEwLGdyaWRDb2x1bW5TcGFuOiEwLGdyaWRDb2x1bW5TdGFydDohMCxmb250V2VpZ2h0OiEwLGxpbmVDbGFtcDohMCxsaW5lSGVpZ2h0OiEwLG9wYWNpdHk6ITAsb3JkZXI6ITAsb3JwaGFuczohMCx0YWJTaXplOiEwLHdpZG93czohMCx6SW5kZXg6ITAsem9vbTohMCxmaWxsT3BhY2l0eTohMCxmbG9vZE9wYWNpdHk6ITAsc3RvcE9wYWNpdHk6ITAsc3Ryb2tlRGFzaGFycmF5OiEwLHN0cm9rZURhc2hvZmZzZXQ6ITAsc3Ryb2tlTWl0ZXJsaW1pdDohMCxzdHJva2VPcGFjaXR5OiEwLHN0cm9rZVdpZHRoOiEwfSxfZj1bIldlYmtpdCIsIm1zIiwiTW96IiwiTyJdO09iamVjdC5rZXlzKExuKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe19mLmZvckVhY2goZnVuY3Rpb24odCl7dD10K2UuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrZS5zdWJzdHJpbmcoMSksTG5bdF09TG5bZV19KX0pO2Z1bmN0aW9uIFdzKGUsdCxuKXtyZXR1cm4gdD09bnVsbHx8dHlwZW9mIHQ9PSJib29sZWFuInx8dD09PSIiPyIiOm58fHR5cGVvZiB0IT0ibnVtYmVyInx8dD09PTB8fExuLmhhc093blByb3BlcnR5KGUpJiZMbltlXT8oIiIrdCkudHJpbSgpOnQrInB4In1mdW5jdGlvbiBIcyhlLHQpe2U9ZS5zdHlsZTtmb3IodmFyIG4gaW4gdClpZih0Lmhhc093blByb3BlcnR5KG4pKXt2YXIgcj1uLmluZGV4T2YoIi0tIik9PT0wLGw9V3Mobix0W25dLHIpO249PT0iZmxvYXQiJiYobj0iY3NzRmxvYXQiKSxyP2Uuc2V0UHJvcGVydHkobixsKTplW25dPWx9fXZhciBQZj1CKHttZW51aXRlbTohMH0se2FyZWE6ITAsYmFzZTohMCxicjohMCxjb2w6ITAsZW1iZWQ6ITAsaHI6ITAsaW1nOiEwLGlucHV0OiEwLGtleWdlbjohMCxsaW5rOiEwLG1ldGE6ITAscGFyYW06ITAsc291cmNlOiEwLHRyYWNrOiEwLHdicjohMH0pO2Z1bmN0aW9uIGdvKGUsdCl7aWYodCl7aWYoUGZbZV0mJih0LmNoaWxkcmVuIT1udWxsfHx0LmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIT1udWxsKSl0aHJvdyBFcnJvcihnKDEzNyxlKSk7aWYodC5kYW5nZXJvdXNseVNldElubmVySFRNTCE9bnVsbCl7aWYodC5jaGlsZHJlbiE9bnVsbCl0aHJvdyBFcnJvcihnKDYwKSk7aWYodHlwZW9mIHQuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwhPSJvYmplY3QifHwhKCJfX2h0bWwiaW4gdC5kYW5nZXJvdXNseVNldElubmVySFRNTCkpdGhyb3cgRXJyb3IoZyg2MSkpfWlmKHQuc3R5bGUhPW51bGwmJnR5cGVvZiB0LnN0eWxlIT0ib2JqZWN0Iil0aHJvdyBFcnJvcihnKDYyKSl9fWZ1bmN0aW9uIHdvKGUsdCl7aWYoZS5pbmRleE9mKCItIik9PT0tMSlyZXR1cm4gdHlwZW9mIHQuaXM9PSJzdHJpbmciO3N3aXRjaChlKXtjYXNlImFubm90YXRpb24teG1sIjpjYXNlImNvbG9yLXByb2ZpbGUiOmNhc2UiZm9udC1mYWNlIjpjYXNlImZvbnQtZmFjZS1zcmMiOmNhc2UiZm9udC1mYWNlLXVyaSI6Y2FzZSJmb250LWZhY2UtZm9ybWF0IjpjYXNlImZvbnQtZmFjZS1uYW1lIjpjYXNlIm1pc3NpbmctZ2x5cGgiOnJldHVybiExO2RlZmF1bHQ6cmV0dXJuITB9fXZhciBTbz1udWxsO2Z1bmN0aW9uIHB1KGUpe3JldHVybiBlPWUudGFyZ2V0fHxlLnNyY0VsZW1lbnR8fHdpbmRvdyxlLmNvcnJlc3BvbmRpbmdVc2VFbGVtZW50JiYoZT1lLmNvcnJlc3BvbmRpbmdVc2VFbGVtZW50KSxlLm5vZGVUeXBlPT09Mz9lLnBhcmVudE5vZGU6ZX12YXIga289bnVsbCxidD1udWxsLGVuPW51bGw7ZnVuY3Rpb24gZmkoZSl7aWYoZT1pcihlKSl7aWYodHlwZW9mIGtvIT0iZnVuY3Rpb24iKXRocm93IEVycm9yKGcoMjgwKSk7dmFyIHQ9ZS5zdGF0ZU5vZGU7dCYmKHQ9bWwodCksa28oZS5zdGF0ZU5vZGUsZS50eXBlLHQpKX19ZnVuY3Rpb24gUXMoZSl7YnQ/ZW4/ZW4ucHVzaChlKTplbj1bZV06YnQ9ZX1mdW5jdGlvbiBLcygpe2lmKGJ0KXt2YXIgZT1idCx0PWVuO2lmKGVuPWJ0PW51bGwsZmkoZSksdClmb3IoZT0wO2U8dC5sZW5ndGg7ZSsrKWZpKHRbZV0pfX1mdW5jdGlvbiBZcyhlLHQpe3JldHVybiBlKHQpfWZ1bmN0aW9uIFhzKCl7fXZhciBGbD0hMTtmdW5jdGlvbiBHcyhlLHQsbil7aWYoRmwpcmV0dXJuIGUodCxuKTtGbD0hMDt0cnl7cmV0dXJuIFlzKGUsdCxuKX1maW5hbGx5e0ZsPSExLChidCE9PW51bGx8fGVuIT09bnVsbCkmJihYcygpLEtzKCkpfX1mdW5jdGlvbiBBbihlLHQpe3ZhciBuPWUuc3RhdGVOb2RlO2lmKG49PT1udWxsKXJldHVybiBudWxsO3ZhciByPW1sKG4pO2lmKHI9PT1udWxsKXJldHVybiBudWxsO249clt0XTtlOnN3aXRjaCh0KXtjYXNlIm9uQ2xpY2siOmNhc2Uib25DbGlja0NhcHR1cmUiOmNhc2Uib25Eb3VibGVDbGljayI6Y2FzZSJvbkRvdWJsZUNsaWNrQ2FwdHVyZSI6Y2FzZSJvbk1vdXNlRG93biI6Y2FzZSJvbk1vdXNlRG93bkNhcHR1cmUiOmNhc2Uib25Nb3VzZU1vdmUiOmNhc2Uib25Nb3VzZU1vdmVDYXB0dXJlIjpjYXNlIm9uTW91c2VVcCI6Y2FzZSJvbk1vdXNlVXBDYXB0dXJlIjpjYXNlIm9uTW91c2VFbnRlciI6KHI9IXIuZGlzYWJsZWQpfHwoZT1lLnR5cGUscj0hKGU9PT0iYnV0dG9uInx8ZT09PSJpbnB1dCJ8fGU9PT0ic2VsZWN0Inx8ZT09PSJ0ZXh0YXJlYSIpKSxlPSFyO2JyZWFrIGU7ZGVmYXVsdDplPSExfWlmKGUpcmV0dXJuIG51bGw7aWYobiYmdHlwZW9mIG4hPSJmdW5jdGlvbiIpdGhyb3cgRXJyb3IoZygyMzEsdCx0eXBlb2YgbikpO3JldHVybiBufXZhciBFbz0hMTtpZihLZSl0cnl7dmFyIGduPXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShnbiwicGFzc2l2ZSIse2dldDpmdW5jdGlvbigpe0VvPSEwfX0pLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ0ZXN0Iixnbixnbiksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRlc3QiLGduLGduKX1jYXRjaHtFbz0hMX1mdW5jdGlvbiBOZihlLHQsbixyLGwsbyx1LGkscyl7dmFyIGE9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDMpO3RyeXt0LmFwcGx5KG4sYSl9Y2F0Y2goaCl7dGhpcy5vbkVycm9yKGgpfX12YXIgUm49ITEsQnI9bnVsbCxWcj0hMSx4bz1udWxsLHpmPXtvbkVycm9yOmZ1bmN0aW9uKGUpe1JuPSEwLEJyPWV9fTtmdW5jdGlvbiBMZihlLHQsbixyLGwsbyx1LGkscyl7Um49ITEsQnI9bnVsbCxOZi5hcHBseSh6Zixhcmd1bWVudHMpfWZ1bmN0aW9uIFJmKGUsdCxuLHIsbCxvLHUsaSxzKXtpZihMZi5hcHBseSh0aGlzLGFyZ3VtZW50cyksUm4pe2lmKFJuKXt2YXIgYT1CcjtSbj0hMSxCcj1udWxsfWVsc2UgdGhyb3cgRXJyb3IoZygxOTgpKTtWcnx8KFZyPSEwLHhvPWEpfX1mdW5jdGlvbiBEdChlKXt2YXIgdD1lLG49ZTtpZihlLmFsdGVybmF0ZSlmb3IoO3QucmV0dXJuOyl0PXQucmV0dXJuO2Vsc2V7ZT10O2RvIHQ9ZSx0LmZsYWdzJjQwOTgmJihuPXQucmV0dXJuKSxlPXQucmV0dXJuO3doaWxlKGUpfXJldHVybiB0LnRhZz09PTM/bjpudWxsfWZ1bmN0aW9uIFpzKGUpe2lmKGUudGFnPT09MTMpe3ZhciB0PWUubWVtb2l6ZWRTdGF0ZTtpZih0PT09bnVsbCYmKGU9ZS5hbHRlcm5hdGUsZSE9PW51bGwmJih0PWUubWVtb2l6ZWRTdGF0ZSkpLHQhPT1udWxsKXJldHVybiB0LmRlaHlkcmF0ZWR9cmV0dXJuIG51bGx9ZnVuY3Rpb24gZGkoZSl7aWYoRHQoZSkhPT1lKXRocm93IEVycm9yKGcoMTg4KSl9ZnVuY3Rpb24gVGYoZSl7dmFyIHQ9ZS5hbHRlcm5hdGU7aWYoIXQpe2lmKHQ9RHQoZSksdD09PW51bGwpdGhyb3cgRXJyb3IoZygxODgpKTtyZXR1cm4gdCE9PWU/bnVsbDplfWZvcih2YXIgbj1lLHI9dDs7KXt2YXIgbD1uLnJldHVybjtpZihsPT09bnVsbClicmVhazt2YXIgbz1sLmFsdGVybmF0ZTtpZihvPT09bnVsbCl7aWYocj1sLnJldHVybixyIT09bnVsbCl7bj1yO2NvbnRpbnVlfWJyZWFrfWlmKGwuY2hpbGQ9PT1vLmNoaWxkKXtmb3Iobz1sLmNoaWxkO287KXtpZihvPT09bilyZXR1cm4gZGkobCksZTtpZihvPT09cilyZXR1cm4gZGkobCksdDtvPW8uc2libGluZ310aHJvdyBFcnJvcihnKDE4OCkpfWlmKG4ucmV0dXJuIT09ci5yZXR1cm4pbj1sLHI9bztlbHNle2Zvcih2YXIgdT0hMSxpPWwuY2hpbGQ7aTspe2lmKGk9PT1uKXt1PSEwLG49bCxyPW87YnJlYWt9aWYoaT09PXIpe3U9ITAscj1sLG49bzticmVha31pPWkuc2libGluZ31pZighdSl7Zm9yKGk9by5jaGlsZDtpOyl7aWYoaT09PW4pe3U9ITAsbj1vLHI9bDticmVha31pZihpPT09cil7dT0hMCxyPW8sbj1sO2JyZWFrfWk9aS5zaWJsaW5nfWlmKCF1KXRocm93IEVycm9yKGcoMTg5KSl9fWlmKG4uYWx0ZXJuYXRlIT09cil0aHJvdyBFcnJvcihnKDE5MCkpfWlmKG4udGFnIT09Myl0aHJvdyBFcnJvcihnKDE4OCkpO3JldHVybiBuLnN0YXRlTm9kZS5jdXJyZW50PT09bj9lOnR9ZnVuY3Rpb24gSnMoZSl7cmV0dXJuIGU9VGYoZSksZSE9PW51bGw/cXMoZSk6bnVsbH1mdW5jdGlvbiBxcyhlKXtpZihlLnRhZz09PTV8fGUudGFnPT09NilyZXR1cm4gZTtmb3IoZT1lLmNoaWxkO2UhPT1udWxsOyl7dmFyIHQ9cXMoZSk7aWYodCE9PW51bGwpcmV0dXJuIHQ7ZT1lLnNpYmxpbmd9cmV0dXJuIG51bGx9dmFyIGJzPXdlLnVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2sscGk9d2UudW5zdGFibGVfY2FuY2VsQ2FsbGJhY2ssT2Y9d2UudW5zdGFibGVfc2hvdWxkWWllbGQsSWY9d2UudW5zdGFibGVfcmVxdWVzdFBhaW50LFE9d2UudW5zdGFibGVfbm93LE1mPXdlLnVuc3RhYmxlX2dldEN1cnJlbnRQcmlvcml0eUxldmVsLGh1PXdlLnVuc3RhYmxlX0ltbWVkaWF0ZVByaW9yaXR5LGVhPXdlLnVuc3RhYmxlX1VzZXJCbG9ja2luZ1ByaW9yaXR5LFdyPXdlLnVuc3RhYmxlX05vcm1hbFByaW9yaXR5LERmPXdlLnVuc3RhYmxlX0xvd1ByaW9yaXR5LHRhPXdlLnVuc3RhYmxlX0lkbGVQcmlvcml0eSxmbD1udWxsLCRlPW51bGw7ZnVuY3Rpb24gamYoZSl7aWYoJGUmJnR5cGVvZiAkZS5vbkNvbW1pdEZpYmVyUm9vdD09ImZ1bmN0aW9uIil0cnl7JGUub25Db21taXRGaWJlclJvb3QoZmwsZSx2b2lkIDAsKGUuY3VycmVudC5mbGFncyYxMjgpPT09MTI4KX1jYXRjaHt9fXZhciBJZT1NYXRoLmNsejMyP01hdGguY2x6MzI6JGYsRmY9TWF0aC5sb2csVWY9TWF0aC5MTjI7ZnVuY3Rpb24gJGYoZSl7cmV0dXJuIGU+Pj49MCxlPT09MD8zMjozMS0oRmYoZSkvVWZ8MCl8MH12YXIgbXI9NjQsdnI9NDE5NDMwNDtmdW5jdGlvbiBObihlKXtzd2l0Y2goZSYtZSl7Y2FzZSAxOnJldHVybiAxO2Nhc2UgMjpyZXR1cm4gMjtjYXNlIDQ6cmV0dXJuIDQ7Y2FzZSA4OnJldHVybiA4O2Nhc2UgMTY6cmV0dXJuIDE2O2Nhc2UgMzI6cmV0dXJuIDMyO2Nhc2UgNjQ6Y2FzZSAxMjg6Y2FzZSAyNTY6Y2FzZSA1MTI6Y2FzZSAxMDI0OmNhc2UgMjA0ODpjYXNlIDQwOTY6Y2FzZSA4MTkyOmNhc2UgMTYzODQ6Y2FzZSAzMjc2ODpjYXNlIDY1NTM2OmNhc2UgMTMxMDcyOmNhc2UgMjYyMTQ0OmNhc2UgNTI0Mjg4OmNhc2UgMTA0ODU3NjpjYXNlIDIwOTcxNTI6cmV0dXJuIGUmNDE5NDI0MDtjYXNlIDQxOTQzMDQ6Y2FzZSA4Mzg4NjA4OmNhc2UgMTY3NzcyMTY6Y2FzZSAzMzU1NDQzMjpjYXNlIDY3MTA4ODY0OnJldHVybiBlJjEzMDAyMzQyNDtjYXNlIDEzNDIxNzcyODpyZXR1cm4gMTM0MjE3NzI4O2Nhc2UgMjY4NDM1NDU2OnJldHVybiAyNjg0MzU0NTY7Y2FzZSA1MzY4NzA5MTI6cmV0dXJuIDUzNjg3MDkxMjtjYXNlIDEwNzM3NDE4MjQ6cmV0dXJuIDEwNzM3NDE4MjQ7ZGVmYXVsdDpyZXR1cm4gZX19ZnVuY3Rpb24gSHIoZSx0KXt2YXIgbj1lLnBlbmRpbmdMYW5lcztpZihuPT09MClyZXR1cm4gMDt2YXIgcj0wLGw9ZS5zdXNwZW5kZWRMYW5lcyxvPWUucGluZ2VkTGFuZXMsdT1uJjI2ODQzNTQ1NTtpZih1IT09MCl7dmFyIGk9dSZ+bDtpIT09MD9yPU5uKGkpOihvJj11LG8hPT0wJiYocj1ObihvKSkpfWVsc2UgdT1uJn5sLHUhPT0wP3I9Tm4odSk6byE9PTAmJihyPU5uKG8pKTtpZihyPT09MClyZXR1cm4gMDtpZih0IT09MCYmdCE9PXImJiEodCZsKSYmKGw9ciYtcixvPXQmLXQsbD49b3x8bD09PTE2JiYobyY0MTk0MjQwKSE9PTApKXJldHVybiB0O2lmKHImNCYmKHJ8PW4mMTYpLHQ9ZS5lbnRhbmdsZWRMYW5lcyx0IT09MClmb3IoZT1lLmVudGFuZ2xlbWVudHMsdCY9cjswPHQ7KW49MzEtSWUodCksbD0xPDxuLHJ8PWVbbl0sdCY9fmw7cmV0dXJuIHJ9ZnVuY3Rpb24gQWYoZSx0KXtzd2l0Y2goZSl7Y2FzZSAxOmNhc2UgMjpjYXNlIDQ6cmV0dXJuIHQrMjUwO2Nhc2UgODpjYXNlIDE2OmNhc2UgMzI6Y2FzZSA2NDpjYXNlIDEyODpjYXNlIDI1NjpjYXNlIDUxMjpjYXNlIDEwMjQ6Y2FzZSAyMDQ4OmNhc2UgNDA5NjpjYXNlIDgxOTI6Y2FzZSAxNjM4NDpjYXNlIDMyNzY4OmNhc2UgNjU1MzY6Y2FzZSAxMzEwNzI6Y2FzZSAyNjIxNDQ6Y2FzZSA1MjQyODg6Y2FzZSAxMDQ4NTc2OmNhc2UgMjA5NzE1MjpyZXR1cm4gdCs1ZTM7Y2FzZSA0MTk0MzA0OmNhc2UgODM4ODYwODpjYXNlIDE2Nzc3MjE2OmNhc2UgMzM1NTQ0MzI6Y2FzZSA2NzEwODg2NDpyZXR1cm4tMTtjYXNlIDEzNDIxNzcyODpjYXNlIDI2ODQzNTQ1NjpjYXNlIDUzNjg3MDkxMjpjYXNlIDEwNzM3NDE4MjQ6cmV0dXJuLTE7ZGVmYXVsdDpyZXR1cm4tMX19ZnVuY3Rpb24gQmYoZSx0KXtmb3IodmFyIG49ZS5zdXNwZW5kZWRMYW5lcyxyPWUucGluZ2VkTGFuZXMsbD1lLmV4cGlyYXRpb25UaW1lcyxvPWUucGVuZGluZ0xhbmVzOzA8bzspe3ZhciB1PTMxLUllKG8pLGk9MTw8dSxzPWxbdV07cz09PS0xPyghKGkmbil8fGkmcikmJihsW3VdPUFmKGksdCkpOnM8PXQmJihlLmV4cGlyZWRMYW5lc3w9aSksbyY9fml9fWZ1bmN0aW9uIENvKGUpe3JldHVybiBlPWUucGVuZGluZ0xhbmVzJi0xMDczNzQxODI1LGUhPT0wP2U6ZSYxMDczNzQxODI0PzEwNzM3NDE4MjQ6MH1mdW5jdGlvbiBuYSgpe3ZhciBlPW1yO3JldHVybiBtcjw8PTEsIShtciY0MTk0MjQwKSYmKG1yPTY0KSxlfWZ1bmN0aW9uIFVsKGUpe2Zvcih2YXIgdD1bXSxuPTA7MzE+bjtuKyspdC5wdXNoKGUpO3JldHVybiB0fWZ1bmN0aW9uIG9yKGUsdCxuKXtlLnBlbmRpbmdMYW5lc3w9dCx0IT09NTM2ODcwOTEyJiYoZS5zdXNwZW5kZWRMYW5lcz0wLGUucGluZ2VkTGFuZXM9MCksZT1lLmV2ZW50VGltZXMsdD0zMS1JZSh0KSxlW3RdPW59ZnVuY3Rpb24gVmYoZSx0KXt2YXIgbj1lLnBlbmRpbmdMYW5lcyZ+dDtlLnBlbmRpbmdMYW5lcz10LGUuc3VzcGVuZGVkTGFuZXM9MCxlLnBpbmdlZExhbmVzPTAsZS5leHBpcmVkTGFuZXMmPXQsZS5tdXRhYmxlUmVhZExhbmVzJj10LGUuZW50YW5nbGVkTGFuZXMmPXQsdD1lLmVudGFuZ2xlbWVudHM7dmFyIHI9ZS5ldmVudFRpbWVzO2ZvcihlPWUuZXhwaXJhdGlvblRpbWVzOzA8bjspe3ZhciBsPTMxLUllKG4pLG89MTw8bDt0W2xdPTAscltsXT0tMSxlW2xdPS0xLG4mPX5vfX1mdW5jdGlvbiBtdShlLHQpe3ZhciBuPWUuZW50YW5nbGVkTGFuZXN8PXQ7Zm9yKGU9ZS5lbnRhbmdsZW1lbnRzO247KXt2YXIgcj0zMS1JZShuKSxsPTE8PHI7bCZ0fGVbcl0mdCYmKGVbcl18PXQpLG4mPX5sfX12YXIgTT0wO2Z1bmN0aW9uIHJhKGUpe3JldHVybiBlJj0tZSwxPGU/NDxlP2UmMjY4NDM1NDU1PzE2OjUzNjg3MDkxMjo0OjF9dmFyIGxhLHZ1LG9hLHVhLGlhLF9vPSExLHlyPVtdLG90PW51bGwsdXQ9bnVsbCxpdD1udWxsLEJuPW5ldyBNYXAsVm49bmV3IE1hcCxldD1bXSxXZj0ibW91c2Vkb3duIG1vdXNldXAgdG91Y2hjYW5jZWwgdG91Y2hlbmQgdG91Y2hzdGFydCBhdXhjbGljayBkYmxjbGljayBwb2ludGVyY2FuY2VsIHBvaW50ZXJkb3duIHBvaW50ZXJ1cCBkcmFnZW5kIGRyYWdzdGFydCBkcm9wIGNvbXBvc2l0aW9uZW5kIGNvbXBvc2l0aW9uc3RhcnQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBpbnB1dCB0ZXh0SW5wdXQgY29weSBjdXQgcGFzdGUgY2xpY2sgY2hhbmdlIGNvbnRleHRtZW51IHJlc2V0IHN1Ym1pdCIuc3BsaXQoIiAiKTtmdW5jdGlvbiBoaShlLHQpe3N3aXRjaChlKXtjYXNlImZvY3VzaW4iOmNhc2UiZm9jdXNvdXQiOm90PW51bGw7YnJlYWs7Y2FzZSJkcmFnZW50ZXIiOmNhc2UiZHJhZ2xlYXZlIjp1dD1udWxsO2JyZWFrO2Nhc2UibW91c2VvdmVyIjpjYXNlIm1vdXNlb3V0IjppdD1udWxsO2JyZWFrO2Nhc2UicG9pbnRlcm92ZXIiOmNhc2UicG9pbnRlcm91dCI6Qm4uZGVsZXRlKHQucG9pbnRlcklkKTticmVhaztjYXNlImdvdHBvaW50ZXJjYXB0dXJlIjpjYXNlImxvc3Rwb2ludGVyY2FwdHVyZSI6Vm4uZGVsZXRlKHQucG9pbnRlcklkKX19ZnVuY3Rpb24gd24oZSx0LG4scixsLG8pe3JldHVybiBlPT09bnVsbHx8ZS5uYXRpdmVFdmVudCE9PW8/KGU9e2Jsb2NrZWRPbjp0LGRvbUV2ZW50TmFtZTpuLGV2ZW50U3lzdGVtRmxhZ3M6cixuYXRpdmVFdmVudDpvLHRhcmdldENvbnRhaW5lcnM6W2xdfSx0IT09bnVsbCYmKHQ9aXIodCksdCE9PW51bGwmJnZ1KHQpKSxlKTooZS5ldmVudFN5c3RlbUZsYWdzfD1yLHQ9ZS50YXJnZXRDb250YWluZXJzLGwhPT1udWxsJiZ0LmluZGV4T2YobCk9PT0tMSYmdC5wdXNoKGwpLGUpfWZ1bmN0aW9uIEhmKGUsdCxuLHIsbCl7c3dpdGNoKHQpe2Nhc2UiZm9jdXNpbiI6cmV0dXJuIG90PXduKG90LGUsdCxuLHIsbCksITA7Y2FzZSJkcmFnZW50ZXIiOnJldHVybiB1dD13bih1dCxlLHQsbixyLGwpLCEwO2Nhc2UibW91c2VvdmVyIjpyZXR1cm4gaXQ9d24oaXQsZSx0LG4scixsKSwhMDtjYXNlInBvaW50ZXJvdmVyIjp2YXIgbz1sLnBvaW50ZXJJZDtyZXR1cm4gQm4uc2V0KG8sd24oQm4uZ2V0KG8pfHxudWxsLGUsdCxuLHIsbCkpLCEwO2Nhc2UiZ290cG9pbnRlcmNhcHR1cmUiOnJldHVybiBvPWwucG9pbnRlcklkLFZuLnNldChvLHduKFZuLmdldChvKXx8bnVsbCxlLHQsbixyLGwpKSwhMH1yZXR1cm4hMX1mdW5jdGlvbiBzYShlKXt2YXIgdD1FdChlLnRhcmdldCk7aWYodCE9PW51bGwpe3ZhciBuPUR0KHQpO2lmKG4hPT1udWxsKXtpZih0PW4udGFnLHQ9PT0xMyl7aWYodD1acyhuKSx0IT09bnVsbCl7ZS5ibG9ja2VkT249dCxpYShlLnByaW9yaXR5LGZ1bmN0aW9uKCl7b2Eobil9KTtyZXR1cm59fWVsc2UgaWYodD09PTMmJm4uc3RhdGVOb2RlLmN1cnJlbnQubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpe2UuYmxvY2tlZE9uPW4udGFnPT09Mz9uLnN0YXRlTm9kZS5jb250YWluZXJJbmZvOm51bGw7cmV0dXJufX19ZS5ibG9ja2VkT249bnVsbH1mdW5jdGlvbiBScihlKXtpZihlLmJsb2NrZWRPbiE9PW51bGwpcmV0dXJuITE7Zm9yKHZhciB0PWUudGFyZ2V0Q29udGFpbmVyczswPHQubGVuZ3RoOyl7dmFyIG49UG8oZS5kb21FdmVudE5hbWUsZS5ldmVudFN5c3RlbUZsYWdzLHRbMF0sZS5uYXRpdmVFdmVudCk7aWYobj09PW51bGwpe249ZS5uYXRpdmVFdmVudDt2YXIgcj1uZXcgbi5jb25zdHJ1Y3RvcihuLnR5cGUsbik7U289cixuLnRhcmdldC5kaXNwYXRjaEV2ZW50KHIpLFNvPW51bGx9ZWxzZSByZXR1cm4gdD1pcihuKSx0IT09bnVsbCYmdnUodCksZS5ibG9ja2VkT249biwhMTt0LnNoaWZ0KCl9cmV0dXJuITB9ZnVuY3Rpb24gbWkoZSx0LG4pe1JyKGUpJiZuLmRlbGV0ZSh0KX1mdW5jdGlvbiBRZigpe19vPSExLG90IT09bnVsbCYmUnIob3QpJiYob3Q9bnVsbCksdXQhPT1udWxsJiZScih1dCkmJih1dD1udWxsKSxpdCE9PW51bGwmJlJyKGl0KSYmKGl0PW51bGwpLEJuLmZvckVhY2gobWkpLFZuLmZvckVhY2gobWkpfWZ1bmN0aW9uIFNuKGUsdCl7ZS5ibG9ja2VkT249PT10JiYoZS5ibG9ja2VkT249bnVsbCxfb3x8KF9vPSEwLHdlLnVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2sod2UudW5zdGFibGVfTm9ybWFsUHJpb3JpdHksUWYpKSl9ZnVuY3Rpb24gV24oZSl7ZnVuY3Rpb24gdChsKXtyZXR1cm4gU24obCxlKX1pZigwPHlyLmxlbmd0aCl7U24oeXJbMF0sZSk7Zm9yKHZhciBuPTE7bjx5ci5sZW5ndGg7bisrKXt2YXIgcj15cltuXTtyLmJsb2NrZWRPbj09PWUmJihyLmJsb2NrZWRPbj1udWxsKX19Zm9yKG90IT09bnVsbCYmU24ob3QsZSksdXQhPT1udWxsJiZTbih1dCxlKSxpdCE9PW51bGwmJlNuKGl0LGUpLEJuLmZvckVhY2godCksVm4uZm9yRWFjaCh0KSxuPTA7bjxldC5sZW5ndGg7bisrKXI9ZXRbbl0sci5ibG9ja2VkT249PT1lJiYoci5ibG9ja2VkT249bnVsbCk7Zm9yKDswPGV0Lmxlbmd0aCYmKG49ZXRbMF0sbi5ibG9ja2VkT249PT1udWxsKTspc2Eobiksbi5ibG9ja2VkT249PT1udWxsJiZldC5zaGlmdCgpfXZhciB0bj1aZS5SZWFjdEN1cnJlbnRCYXRjaENvbmZpZyxRcj0hMDtmdW5jdGlvbiBLZihlLHQsbixyKXt2YXIgbD1NLG89dG4udHJhbnNpdGlvbjt0bi50cmFuc2l0aW9uPW51bGw7dHJ5e009MSx5dShlLHQsbixyKX1maW5hbGx5e009bCx0bi50cmFuc2l0aW9uPW99fWZ1bmN0aW9uIFlmKGUsdCxuLHIpe3ZhciBsPU0sbz10bi50cmFuc2l0aW9uO3RuLnRyYW5zaXRpb249bnVsbDt0cnl7TT00LHl1KGUsdCxuLHIpfWZpbmFsbHl7TT1sLHRuLnRyYW5zaXRpb249b319ZnVuY3Rpb24geXUoZSx0LG4scil7aWYoUXIpe3ZhciBsPVBvKGUsdCxuLHIpO2lmKGw9PT1udWxsKVhsKGUsdCxyLEtyLG4pLGhpKGUscik7ZWxzZSBpZihIZihsLGUsdCxuLHIpKXIuc3RvcFByb3BhZ2F0aW9uKCk7ZWxzZSBpZihoaShlLHIpLHQmNCYmLTE8V2YuaW5kZXhPZihlKSl7Zm9yKDtsIT09bnVsbDspe3ZhciBvPWlyKGwpO2lmKG8hPT1udWxsJiZsYShvKSxvPVBvKGUsdCxuLHIpLG89PT1udWxsJiZYbChlLHQscixLcixuKSxvPT09bClicmVhaztsPW99bCE9PW51bGwmJnIuc3RvcFByb3BhZ2F0aW9uKCl9ZWxzZSBYbChlLHQscixudWxsLG4pfX12YXIgS3I9bnVsbDtmdW5jdGlvbiBQbyhlLHQsbixyKXtpZihLcj1udWxsLGU9cHUociksZT1FdChlKSxlIT09bnVsbClpZih0PUR0KGUpLHQ9PT1udWxsKWU9bnVsbDtlbHNlIGlmKG49dC50YWcsbj09PTEzKXtpZihlPVpzKHQpLGUhPT1udWxsKXJldHVybiBlO2U9bnVsbH1lbHNlIGlmKG49PT0zKXtpZih0LnN0YXRlTm9kZS5jdXJyZW50Lm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkKXJldHVybiB0LnRhZz09PTM/dC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbzpudWxsO2U9bnVsbH1lbHNlIHQhPT1lJiYoZT1udWxsKTtyZXR1cm4gS3I9ZSxudWxsfWZ1bmN0aW9uIGFhKGUpe3N3aXRjaChlKXtjYXNlImNhbmNlbCI6Y2FzZSJjbGljayI6Y2FzZSJjbG9zZSI6Y2FzZSJjb250ZXh0bWVudSI6Y2FzZSJjb3B5IjpjYXNlImN1dCI6Y2FzZSJhdXhjbGljayI6Y2FzZSJkYmxjbGljayI6Y2FzZSJkcmFnZW5kIjpjYXNlImRyYWdzdGFydCI6Y2FzZSJkcm9wIjpjYXNlImZvY3VzaW4iOmNhc2UiZm9jdXNvdXQiOmNhc2UiaW5wdXQiOmNhc2UiaW52YWxpZCI6Y2FzZSJrZXlkb3duIjpjYXNlImtleXByZXNzIjpjYXNlImtleXVwIjpjYXNlIm1vdXNlZG93biI6Y2FzZSJtb3VzZXVwIjpjYXNlInBhc3RlIjpjYXNlInBhdXNlIjpjYXNlInBsYXkiOmNhc2UicG9pbnRlcmNhbmNlbCI6Y2FzZSJwb2ludGVyZG93biI6Y2FzZSJwb2ludGVydXAiOmNhc2UicmF0ZWNoYW5nZSI6Y2FzZSJyZXNldCI6Y2FzZSJyZXNpemUiOmNhc2Uic2Vla2VkIjpjYXNlInN1Ym1pdCI6Y2FzZSJ0b3VjaGNhbmNlbCI6Y2FzZSJ0b3VjaGVuZCI6Y2FzZSJ0b3VjaHN0YXJ0IjpjYXNlInZvbHVtZWNoYW5nZSI6Y2FzZSJjaGFuZ2UiOmNhc2Uic2VsZWN0aW9uY2hhbmdlIjpjYXNlInRleHRJbnB1dCI6Y2FzZSJjb21wb3NpdGlvbnN0YXJ0IjpjYXNlImNvbXBvc2l0aW9uZW5kIjpjYXNlImNvbXBvc2l0aW9udXBkYXRlIjpjYXNlImJlZm9yZWJsdXIiOmNhc2UiYWZ0ZXJibHVyIjpjYXNlImJlZm9yZWlucHV0IjpjYXNlImJsdXIiOmNhc2UiZnVsbHNjcmVlbmNoYW5nZSI6Y2FzZSJmb2N1cyI6Y2FzZSJoYXNoY2hhbmdlIjpjYXNlInBvcHN0YXRlIjpjYXNlInNlbGVjdCI6Y2FzZSJzZWxlY3RzdGFydCI6cmV0dXJuIDE7Y2FzZSJkcmFnIjpjYXNlImRyYWdlbnRlciI6Y2FzZSJkcmFnZXhpdCI6Y2FzZSJkcmFnbGVhdmUiOmNhc2UiZHJhZ292ZXIiOmNhc2UibW91c2Vtb3ZlIjpjYXNlIm1vdXNlb3V0IjpjYXNlIm1vdXNlb3ZlciI6Y2FzZSJwb2ludGVybW92ZSI6Y2FzZSJwb2ludGVyb3V0IjpjYXNlInBvaW50ZXJvdmVyIjpjYXNlInNjcm9sbCI6Y2FzZSJ0b2dnbGUiOmNhc2UidG91Y2htb3ZlIjpjYXNlIndoZWVsIjpjYXNlIm1vdXNlZW50ZXIiOmNhc2UibW91c2VsZWF2ZSI6Y2FzZSJwb2ludGVyZW50ZXIiOmNhc2UicG9pbnRlcmxlYXZlIjpyZXR1cm4gNDtjYXNlIm1lc3NhZ2UiOnN3aXRjaChNZigpKXtjYXNlIGh1OnJldHVybiAxO2Nhc2UgZWE6cmV0dXJuIDQ7Y2FzZSBXcjpjYXNlIERmOnJldHVybiAxNjtjYXNlIHRhOnJldHVybiA1MzY4NzA5MTI7ZGVmYXVsdDpyZXR1cm4gMTZ9ZGVmYXVsdDpyZXR1cm4gMTZ9fXZhciBudD1udWxsLGd1PW51bGwsVHI9bnVsbDtmdW5jdGlvbiBjYSgpe2lmKFRyKXJldHVybiBUcjt2YXIgZSx0PWd1LG49dC5sZW5ndGgscixsPSJ2YWx1ZSJpbiBudD9udC52YWx1ZTpudC50ZXh0Q29udGVudCxvPWwubGVuZ3RoO2ZvcihlPTA7ZTxuJiZ0W2VdPT09bFtlXTtlKyspO3ZhciB1PW4tZTtmb3Iocj0xO3I8PXUmJnRbbi1yXT09PWxbby1yXTtyKyspO3JldHVybiBUcj1sLnNsaWNlKGUsMTxyPzEtcjp2b2lkIDApfWZ1bmN0aW9uIE9yKGUpe3ZhciB0PWUua2V5Q29kZTtyZXR1cm4iY2hhckNvZGUiaW4gZT8oZT1lLmNoYXJDb2RlLGU9PT0wJiZ0PT09MTMmJihlPTEzKSk6ZT10LGU9PT0xMCYmKGU9MTMpLDMyPD1lfHxlPT09MTM/ZTowfWZ1bmN0aW9uIGdyKCl7cmV0dXJuITB9ZnVuY3Rpb24gdmkoKXtyZXR1cm4hMX1mdW5jdGlvbiBrZShlKXtmdW5jdGlvbiB0KG4scixsLG8sdSl7dGhpcy5fcmVhY3ROYW1lPW4sdGhpcy5fdGFyZ2V0SW5zdD1sLHRoaXMudHlwZT1yLHRoaXMubmF0aXZlRXZlbnQ9byx0aGlzLnRhcmdldD11LHRoaXMuY3VycmVudFRhcmdldD1udWxsO2Zvcih2YXIgaSBpbiBlKWUuaGFzT3duUHJvcGVydHkoaSkmJihuPWVbaV0sdGhpc1tpXT1uP24obyk6b1tpXSk7cmV0dXJuIHRoaXMuaXNEZWZhdWx0UHJldmVudGVkPShvLmRlZmF1bHRQcmV2ZW50ZWQhPW51bGw/by5kZWZhdWx0UHJldmVudGVkOm8ucmV0dXJuVmFsdWU9PT0hMSk/Z3I6dmksdGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZD12aSx0aGlzfXJldHVybiBCKHQucHJvdG90eXBlLHtwcmV2ZW50RGVmYXVsdDpmdW5jdGlvbigpe3RoaXMuZGVmYXVsdFByZXZlbnRlZD0hMDt2YXIgbj10aGlzLm5hdGl2ZUV2ZW50O24mJihuLnByZXZlbnREZWZhdWx0P24ucHJldmVudERlZmF1bHQoKTp0eXBlb2Ygbi5yZXR1cm5WYWx1ZSE9InVua25vd24iJiYobi5yZXR1cm5WYWx1ZT0hMSksdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9Z3IpfSxzdG9wUHJvcGFnYXRpb246ZnVuY3Rpb24oKXt2YXIgbj10aGlzLm5hdGl2ZUV2ZW50O24mJihuLnN0b3BQcm9wYWdhdGlvbj9uLnN0b3BQcm9wYWdhdGlvbigpOnR5cGVvZiBuLmNhbmNlbEJ1YmJsZSE9InVua25vd24iJiYobi5jYW5jZWxCdWJibGU9ITApLHRoaXMuaXNQcm9wYWdhdGlvblN0b3BwZWQ9Z3IpfSxwZXJzaXN0OmZ1bmN0aW9uKCl7fSxpc1BlcnNpc3RlbnQ6Z3J9KSx0fXZhciBwbj17ZXZlbnRQaGFzZTowLGJ1YmJsZXM6MCxjYW5jZWxhYmxlOjAsdGltZVN0YW1wOmZ1bmN0aW9uKGUpe3JldHVybiBlLnRpbWVTdGFtcHx8RGF0ZS5ub3coKX0sZGVmYXVsdFByZXZlbnRlZDowLGlzVHJ1c3RlZDowfSx3dT1rZShwbiksdXI9Qih7fSxwbix7dmlldzowLGRldGFpbDowfSksWGY9a2UodXIpLCRsLEFsLGtuLGRsPUIoe30sdXIse3NjcmVlblg6MCxzY3JlZW5ZOjAsY2xpZW50WDowLGNsaWVudFk6MCxwYWdlWDowLHBhZ2VZOjAsY3RybEtleTowLHNoaWZ0S2V5OjAsYWx0S2V5OjAsbWV0YUtleTowLGdldE1vZGlmaWVyU3RhdGU6U3UsYnV0dG9uOjAsYnV0dG9uczowLHJlbGF0ZWRUYXJnZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUucmVsYXRlZFRhcmdldD09PXZvaWQgMD9lLmZyb21FbGVtZW50PT09ZS5zcmNFbGVtZW50P2UudG9FbGVtZW50OmUuZnJvbUVsZW1lbnQ6ZS5yZWxhdGVkVGFyZ2V0fSxtb3ZlbWVudFg6ZnVuY3Rpb24oZSl7cmV0dXJuIm1vdmVtZW50WCJpbiBlP2UubW92ZW1lbnRYOihlIT09a24mJihrbiYmZS50eXBlPT09Im1vdXNlbW92ZSI/KCRsPWUuc2NyZWVuWC1rbi5zY3JlZW5YLEFsPWUuc2NyZWVuWS1rbi5zY3JlZW5ZKTpBbD0kbD0wLGtuPWUpLCRsKX0sbW92ZW1lbnRZOmZ1bmN0aW9uKGUpe3JldHVybiJtb3ZlbWVudFkiaW4gZT9lLm1vdmVtZW50WTpBbH19KSx5aT1rZShkbCksR2Y9Qih7fSxkbCx7ZGF0YVRyYW5zZmVyOjB9KSxaZj1rZShHZiksSmY9Qih7fSx1cix7cmVsYXRlZFRhcmdldDowfSksQmw9a2UoSmYpLHFmPUIoe30scG4se2FuaW1hdGlvbk5hbWU6MCxlbGFwc2VkVGltZTowLHBzZXVkb0VsZW1lbnQ6MH0pLGJmPWtlKHFmKSxlZD1CKHt9LHBuLHtjbGlwYm9hcmREYXRhOmZ1bmN0aW9uKGUpe3JldHVybiJjbGlwYm9hcmREYXRhImluIGU/ZS5jbGlwYm9hcmREYXRhOndpbmRvdy5jbGlwYm9hcmREYXRhfX0pLHRkPWtlKGVkKSxuZD1CKHt9LHBuLHtkYXRhOjB9KSxnaT1rZShuZCkscmQ9e0VzYzoiRXNjYXBlIixTcGFjZWJhcjoiICIsTGVmdDoiQXJyb3dMZWZ0IixVcDoiQXJyb3dVcCIsUmlnaHQ6IkFycm93UmlnaHQiLERvd246IkFycm93RG93biIsRGVsOiJEZWxldGUiLFdpbjoiT1MiLE1lbnU6IkNvbnRleHRNZW51IixBcHBzOiJDb250ZXh0TWVudSIsU2Nyb2xsOiJTY3JvbGxMb2NrIixNb3pQcmludGFibGVLZXk6IlVuaWRlbnRpZmllZCJ9LGxkPXs4OiJCYWNrc3BhY2UiLDk6IlRhYiIsMTI6IkNsZWFyIiwxMzoiRW50ZXIiLDE2OiJTaGlmdCIsMTc6IkNvbnRyb2wiLDE4OiJBbHQiLDE5OiJQYXVzZSIsMjA6IkNhcHNMb2NrIiwyNzoiRXNjYXBlIiwzMjoiICIsMzM6IlBhZ2VVcCIsMzQ6IlBhZ2VEb3duIiwzNToiRW5kIiwzNjoiSG9tZSIsMzc6IkFycm93TGVmdCIsMzg6IkFycm93VXAiLDM5OiJBcnJvd1JpZ2h0Iiw0MDoiQXJyb3dEb3duIiw0NToiSW5zZXJ0Iiw0NjoiRGVsZXRlIiwxMTI6IkYxIiwxMTM6IkYyIiwxMTQ6IkYzIiwxMTU6IkY0IiwxMTY6IkY1IiwxMTc6IkY2IiwxMTg6IkY3IiwxMTk6IkY4IiwxMjA6IkY5IiwxMjE6IkYxMCIsMTIyOiJGMTEiLDEyMzoiRjEyIiwxNDQ6Ik51bUxvY2siLDE0NToiU2Nyb2xsTG9jayIsMjI0OiJNZXRhIn0sb2Q9e0FsdDoiYWx0S2V5IixDb250cm9sOiJjdHJsS2V5IixNZXRhOiJtZXRhS2V5IixTaGlmdDoic2hpZnRLZXkifTtmdW5jdGlvbiB1ZChlKXt2YXIgdD10aGlzLm5hdGl2ZUV2ZW50O3JldHVybiB0LmdldE1vZGlmaWVyU3RhdGU/dC5nZXRNb2RpZmllclN0YXRlKGUpOihlPW9kW2VdKT8hIXRbZV06ITF9ZnVuY3Rpb24gU3UoKXtyZXR1cm4gdWR9dmFyIGlkPUIoe30sdXIse2tleTpmdW5jdGlvbihlKXtpZihlLmtleSl7dmFyIHQ9cmRbZS5rZXldfHxlLmtleTtpZih0IT09IlVuaWRlbnRpZmllZCIpcmV0dXJuIHR9cmV0dXJuIGUudHlwZT09PSJrZXlwcmVzcyI/KGU9T3IoZSksZT09PTEzPyJFbnRlciI6U3RyaW5nLmZyb21DaGFyQ29kZShlKSk6ZS50eXBlPT09ImtleWRvd24ifHxlLnR5cGU9PT0ia2V5dXAiP2xkW2Uua2V5Q29kZV18fCJVbmlkZW50aWZpZWQiOiIifSxjb2RlOjAsbG9jYXRpb246MCxjdHJsS2V5OjAsc2hpZnRLZXk6MCxhbHRLZXk6MCxtZXRhS2V5OjAscmVwZWF0OjAsbG9jYWxlOjAsZ2V0TW9kaWZpZXJTdGF0ZTpTdSxjaGFyQ29kZTpmdW5jdGlvbihlKXtyZXR1cm4gZS50eXBlPT09ImtleXByZXNzIj9PcihlKTowfSxrZXlDb2RlOmZ1bmN0aW9uKGUpe3JldHVybiBlLnR5cGU9PT0ia2V5ZG93biJ8fGUudHlwZT09PSJrZXl1cCI/ZS5rZXlDb2RlOjB9LHdoaWNoOmZ1bmN0aW9uKGUpe3JldHVybiBlLnR5cGU9PT0ia2V5cHJlc3MiP09yKGUpOmUudHlwZT09PSJrZXlkb3duInx8ZS50eXBlPT09ImtleXVwIj9lLmtleUNvZGU6MH19KSxzZD1rZShpZCksYWQ9Qih7fSxkbCx7cG9pbnRlcklkOjAsd2lkdGg6MCxoZWlnaHQ6MCxwcmVzc3VyZTowLHRhbmdlbnRpYWxQcmVzc3VyZTowLHRpbHRYOjAsdGlsdFk6MCx0d2lzdDowLHBvaW50ZXJUeXBlOjAsaXNQcmltYXJ5OjB9KSx3aT1rZShhZCksY2Q9Qih7fSx1cix7dG91Y2hlczowLHRhcmdldFRvdWNoZXM6MCxjaGFuZ2VkVG91Y2hlczowLGFsdEtleTowLG1ldGFLZXk6MCxjdHJsS2V5OjAsc2hpZnRLZXk6MCxnZXRNb2RpZmllclN0YXRlOlN1fSksZmQ9a2UoY2QpLGRkPUIoe30scG4se3Byb3BlcnR5TmFtZTowLGVsYXBzZWRUaW1lOjAscHNldWRvRWxlbWVudDowfSkscGQ9a2UoZGQpLGhkPUIoe30sZGwse2RlbHRhWDpmdW5jdGlvbihlKXtyZXR1cm4iZGVsdGFYImluIGU/ZS5kZWx0YVg6IndoZWVsRGVsdGFYImluIGU/LWUud2hlZWxEZWx0YVg6MH0sZGVsdGFZOmZ1bmN0aW9uKGUpe3JldHVybiJkZWx0YVkiaW4gZT9lLmRlbHRhWToid2hlZWxEZWx0YVkiaW4gZT8tZS53aGVlbERlbHRhWToid2hlZWxEZWx0YSJpbiBlPy1lLndoZWVsRGVsdGE6MH0sZGVsdGFaOjAsZGVsdGFNb2RlOjB9KSxtZD1rZShoZCksdmQ9WzksMTMsMjcsMzJdLGt1PUtlJiYiQ29tcG9zaXRpb25FdmVudCJpbiB3aW5kb3csVG49bnVsbDtLZSYmImRvY3VtZW50TW9kZSJpbiBkb2N1bWVudCYmKFRuPWRvY3VtZW50LmRvY3VtZW50TW9kZSk7dmFyIHlkPUtlJiYiVGV4dEV2ZW50ImluIHdpbmRvdyYmIVRuLGZhPUtlJiYoIWt1fHxUbiYmODxUbiYmMTE+PVRuKSxTaT0iICIsa2k9ITE7ZnVuY3Rpb24gZGEoZSx0KXtzd2l0Y2goZSl7Y2FzZSJrZXl1cCI6cmV0dXJuIHZkLmluZGV4T2YodC5rZXlDb2RlKSE9PS0xO2Nhc2Uia2V5ZG93biI6cmV0dXJuIHQua2V5Q29kZSE9PTIyOTtjYXNlImtleXByZXNzIjpjYXNlIm1vdXNlZG93biI6Y2FzZSJmb2N1c291dCI6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19ZnVuY3Rpb24gcGEoZSl7cmV0dXJuIGU9ZS5kZXRhaWwsdHlwZW9mIGU9PSJvYmplY3QiJiYiZGF0YSJpbiBlP2UuZGF0YTpudWxsfXZhciBWdD0hMTtmdW5jdGlvbiBnZChlLHQpe3N3aXRjaChlKXtjYXNlImNvbXBvc2l0aW9uZW5kIjpyZXR1cm4gcGEodCk7Y2FzZSJrZXlwcmVzcyI6cmV0dXJuIHQud2hpY2ghPT0zMj9udWxsOihraT0hMCxTaSk7Y2FzZSJ0ZXh0SW5wdXQiOnJldHVybiBlPXQuZGF0YSxlPT09U2kmJmtpP251bGw6ZTtkZWZhdWx0OnJldHVybiBudWxsfX1mdW5jdGlvbiB3ZChlLHQpe2lmKFZ0KXJldHVybiBlPT09ImNvbXBvc2l0aW9uZW5kInx8IWt1JiZkYShlLHQpPyhlPWNhKCksVHI9Z3U9bnQ9bnVsbCxWdD0hMSxlKTpudWxsO3N3aXRjaChlKXtjYXNlInBhc3RlIjpyZXR1cm4gbnVsbDtjYXNlImtleXByZXNzIjppZighKHQuY3RybEtleXx8dC5hbHRLZXl8fHQubWV0YUtleSl8fHQuY3RybEtleSYmdC5hbHRLZXkpe2lmKHQuY2hhciYmMTx0LmNoYXIubGVuZ3RoKXJldHVybiB0LmNoYXI7aWYodC53aGljaClyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZSh0LndoaWNoKX1yZXR1cm4gbnVsbDtjYXNlImNvbXBvc2l0aW9uZW5kIjpyZXR1cm4gZmEmJnQubG9jYWxlIT09ImtvIj9udWxsOnQuZGF0YTtkZWZhdWx0OnJldHVybiBudWxsfX12YXIgU2Q9e2NvbG9yOiEwLGRhdGU6ITAsZGF0ZXRpbWU6ITAsImRhdGV0aW1lLWxvY2FsIjohMCxlbWFpbDohMCxtb250aDohMCxudW1iZXI6ITAscGFzc3dvcmQ6ITAscmFuZ2U6ITAsc2VhcmNoOiEwLHRlbDohMCx0ZXh0OiEwLHRpbWU6ITAsdXJsOiEwLHdlZWs6ITB9O2Z1bmN0aW9uIEVpKGUpe3ZhciB0PWUmJmUubm9kZU5hbWUmJmUubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4gdD09PSJpbnB1dCI/ISFTZFtlLnR5cGVdOnQ9PT0idGV4dGFyZWEifWZ1bmN0aW9uIGhhKGUsdCxuLHIpe1FzKHIpLHQ9WXIodCwib25DaGFuZ2UiKSwwPHQubGVuZ3RoJiYobj1uZXcgd3UoIm9uQ2hhbmdlIiwiY2hhbmdlIixudWxsLG4sciksZS5wdXNoKHtldmVudDpuLGxpc3RlbmVyczp0fSkpfXZhciBPbj1udWxsLEhuPW51bGw7ZnVuY3Rpb24ga2QoZSl7X2EoZSwwKX1mdW5jdGlvbiBwbChlKXt2YXIgdD1RdChlKTtpZihVcyh0KSlyZXR1cm4gZX1mdW5jdGlvbiBFZChlLHQpe2lmKGU9PT0iY2hhbmdlIilyZXR1cm4gdH12YXIgbWE9ITE7aWYoS2Upe3ZhciBWbDtpZihLZSl7dmFyIFdsPSJvbmlucHV0ImluIGRvY3VtZW50O2lmKCFXbCl7dmFyIHhpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3hpLnNldEF0dHJpYnV0ZSgib25pbnB1dCIsInJldHVybjsiKSxXbD10eXBlb2YgeGkub25pbnB1dD09ImZ1bmN0aW9uIn1WbD1XbH1lbHNlIFZsPSExO21hPVZsJiYoIWRvY3VtZW50LmRvY3VtZW50TW9kZXx8OTxkb2N1bWVudC5kb2N1bWVudE1vZGUpfWZ1bmN0aW9uIENpKCl7T24mJihPbi5kZXRhY2hFdmVudCgib25wcm9wZXJ0eWNoYW5nZSIsdmEpLEhuPU9uPW51bGwpfWZ1bmN0aW9uIHZhKGUpe2lmKGUucHJvcGVydHlOYW1lPT09InZhbHVlIiYmcGwoSG4pKXt2YXIgdD1bXTtoYSh0LEhuLGUscHUoZSkpLEdzKGtkLHQpfX1mdW5jdGlvbiB4ZChlLHQsbil7ZT09PSJmb2N1c2luIj8oQ2koKSxPbj10LEhuPW4sT24uYXR0YWNoRXZlbnQoIm9ucHJvcGVydHljaGFuZ2UiLHZhKSk6ZT09PSJmb2N1c291dCImJkNpKCl9ZnVuY3Rpb24gQ2QoZSl7aWYoZT09PSJzZWxlY3Rpb25jaGFuZ2UifHxlPT09ImtleXVwInx8ZT09PSJrZXlkb3duIilyZXR1cm4gcGwoSG4pfWZ1bmN0aW9uIF9kKGUsdCl7aWYoZT09PSJjbGljayIpcmV0dXJuIHBsKHQpfWZ1bmN0aW9uIFBkKGUsdCl7aWYoZT09PSJpbnB1dCJ8fGU9PT0iY2hhbmdlIilyZXR1cm4gcGwodCl9ZnVuY3Rpb24gTmQoZSx0KXtyZXR1cm4gZT09PXQmJihlIT09MHx8MS9lPT09MS90KXx8ZSE9PWUmJnQhPT10fXZhciBEZT10eXBlb2YgT2JqZWN0LmlzPT0iZnVuY3Rpb24iP09iamVjdC5pczpOZDtmdW5jdGlvbiBRbihlLHQpe2lmKERlKGUsdCkpcmV0dXJuITA7aWYodHlwZW9mIGUhPSJvYmplY3QifHxlPT09bnVsbHx8dHlwZW9mIHQhPSJvYmplY3QifHx0PT09bnVsbClyZXR1cm4hMTt2YXIgbj1PYmplY3Qua2V5cyhlKSxyPU9iamVjdC5rZXlzKHQpO2lmKG4ubGVuZ3RoIT09ci5sZW5ndGgpcmV0dXJuITE7Zm9yKHI9MDtyPG4ubGVuZ3RoO3IrKyl7dmFyIGw9bltyXTtpZighaW8uY2FsbCh0LGwpfHwhRGUoZVtsXSx0W2xdKSlyZXR1cm4hMX1yZXR1cm4hMH1mdW5jdGlvbiBfaShlKXtmb3IoO2UmJmUuZmlyc3RDaGlsZDspZT1lLmZpcnN0Q2hpbGQ7cmV0dXJuIGV9ZnVuY3Rpb24gUGkoZSx0KXt2YXIgbj1faShlKTtlPTA7Zm9yKHZhciByO247KXtpZihuLm5vZGVUeXBlPT09Myl7aWYocj1lK24udGV4dENvbnRlbnQubGVuZ3RoLGU8PXQmJnI+PXQpcmV0dXJue25vZGU6bixvZmZzZXQ6dC1lfTtlPXJ9ZTp7Zm9yKDtuOyl7aWYobi5uZXh0U2libGluZyl7bj1uLm5leHRTaWJsaW5nO2JyZWFrIGV9bj1uLnBhcmVudE5vZGV9bj12b2lkIDB9bj1faShuKX19ZnVuY3Rpb24geWEoZSx0KXtyZXR1cm4gZSYmdD9lPT09dD8hMDplJiZlLm5vZGVUeXBlPT09Mz8hMTp0JiZ0Lm5vZGVUeXBlPT09Mz95YShlLHQucGFyZW50Tm9kZSk6ImNvbnRhaW5zImluIGU/ZS5jb250YWlucyh0KTplLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uPyEhKGUuY29tcGFyZURvY3VtZW50UG9zaXRpb24odCkmMTYpOiExOiExfWZ1bmN0aW9uIGdhKCl7Zm9yKHZhciBlPXdpbmRvdyx0PUFyKCk7dCBpbnN0YW5jZW9mIGUuSFRNTElGcmFtZUVsZW1lbnQ7KXt0cnl7dmFyIG49dHlwZW9mIHQuY29udGVudFdpbmRvdy5sb2NhdGlvbi5ocmVmPT0ic3RyaW5nIn1jYXRjaHtuPSExfWlmKG4pZT10LmNvbnRlbnRXaW5kb3c7ZWxzZSBicmVhazt0PUFyKGUuZG9jdW1lbnQpfXJldHVybiB0fWZ1bmN0aW9uIEV1KGUpe3ZhciB0PWUmJmUubm9kZU5hbWUmJmUubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4gdCYmKHQ9PT0iaW5wdXQiJiYoZS50eXBlPT09InRleHQifHxlLnR5cGU9PT0ic2VhcmNoInx8ZS50eXBlPT09InRlbCJ8fGUudHlwZT09PSJ1cmwifHxlLnR5cGU9PT0icGFzc3dvcmQiKXx8dD09PSJ0ZXh0YXJlYSJ8fGUuY29udGVudEVkaXRhYmxlPT09InRydWUiKX1mdW5jdGlvbiB6ZChlKXt2YXIgdD1nYSgpLG49ZS5mb2N1c2VkRWxlbSxyPWUuc2VsZWN0aW9uUmFuZ2U7aWYodCE9PW4mJm4mJm4ub3duZXJEb2N1bWVudCYmeWEobi5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxuKSl7aWYociE9PW51bGwmJkV1KG4pKXtpZih0PXIuc3RhcnQsZT1yLmVuZCxlPT09dm9pZCAwJiYoZT10KSwic2VsZWN0aW9uU3RhcnQiaW4gbiluLnNlbGVjdGlvblN0YXJ0PXQsbi5zZWxlY3Rpb25FbmQ9TWF0aC5taW4oZSxuLnZhbHVlLmxlbmd0aCk7ZWxzZSBpZihlPSh0PW4ub3duZXJEb2N1bWVudHx8ZG9jdW1lbnQpJiZ0LmRlZmF1bHRWaWV3fHx3aW5kb3csZS5nZXRTZWxlY3Rpb24pe2U9ZS5nZXRTZWxlY3Rpb24oKTt2YXIgbD1uLnRleHRDb250ZW50Lmxlbmd0aCxvPU1hdGgubWluKHIuc3RhcnQsbCk7cj1yLmVuZD09PXZvaWQgMD9vOk1hdGgubWluKHIuZW5kLGwpLCFlLmV4dGVuZCYmbz5yJiYobD1yLHI9byxvPWwpLGw9UGkobixvKTt2YXIgdT1QaShuLHIpO2wmJnUmJihlLnJhbmdlQ291bnQhPT0xfHxlLmFuY2hvck5vZGUhPT1sLm5vZGV8fGUuYW5jaG9yT2Zmc2V0IT09bC5vZmZzZXR8fGUuZm9jdXNOb2RlIT09dS5ub2RlfHxlLmZvY3VzT2Zmc2V0IT09dS5vZmZzZXQpJiYodD10LmNyZWF0ZVJhbmdlKCksdC5zZXRTdGFydChsLm5vZGUsbC5vZmZzZXQpLGUucmVtb3ZlQWxsUmFuZ2VzKCksbz5yPyhlLmFkZFJhbmdlKHQpLGUuZXh0ZW5kKHUubm9kZSx1Lm9mZnNldCkpOih0LnNldEVuZCh1Lm5vZGUsdS5vZmZzZXQpLGUuYWRkUmFuZ2UodCkpKX19Zm9yKHQ9W10sZT1uO2U9ZS5wYXJlbnROb2RlOyllLm5vZGVUeXBlPT09MSYmdC5wdXNoKHtlbGVtZW50OmUsbGVmdDplLnNjcm9sbExlZnQsdG9wOmUuc2Nyb2xsVG9wfSk7Zm9yKHR5cGVvZiBuLmZvY3VzPT0iZnVuY3Rpb24iJiZuLmZvY3VzKCksbj0wO248dC5sZW5ndGg7bisrKWU9dFtuXSxlLmVsZW1lbnQuc2Nyb2xsTGVmdD1lLmxlZnQsZS5lbGVtZW50LnNjcm9sbFRvcD1lLnRvcH19dmFyIExkPUtlJiYiZG9jdW1lbnRNb2RlImluIGRvY3VtZW50JiYxMT49ZG9jdW1lbnQuZG9jdW1lbnRNb2RlLFd0PW51bGwsTm89bnVsbCxJbj1udWxsLHpvPSExO2Z1bmN0aW9uIE5pKGUsdCxuKXt2YXIgcj1uLndpbmRvdz09PW4/bi5kb2N1bWVudDpuLm5vZGVUeXBlPT09OT9uOm4ub3duZXJEb2N1bWVudDt6b3x8V3Q9PW51bGx8fFd0IT09QXIocil8fChyPVd0LCJzZWxlY3Rpb25TdGFydCJpbiByJiZFdShyKT9yPXtzdGFydDpyLnNlbGVjdGlvblN0YXJ0LGVuZDpyLnNlbGVjdGlvbkVuZH06KHI9KHIub3duZXJEb2N1bWVudCYmci5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3fHx3aW5kb3cpLmdldFNlbGVjdGlvbigpLHI9e2FuY2hvck5vZGU6ci5hbmNob3JOb2RlLGFuY2hvck9mZnNldDpyLmFuY2hvck9mZnNldCxmb2N1c05vZGU6ci5mb2N1c05vZGUsZm9jdXNPZmZzZXQ6ci5mb2N1c09mZnNldH0pLEluJiZRbihJbixyKXx8KEluPXIscj1ZcihObywib25TZWxlY3QiKSwwPHIubGVuZ3RoJiYodD1uZXcgd3UoIm9uU2VsZWN0Iiwic2VsZWN0IixudWxsLHQsbiksZS5wdXNoKHtldmVudDp0LGxpc3RlbmVyczpyfSksdC50YXJnZXQ9V3QpKSl9ZnVuY3Rpb24gd3IoZSx0KXt2YXIgbj17fTtyZXR1cm4gbltlLnRvTG93ZXJDYXNlKCldPXQudG9Mb3dlckNhc2UoKSxuWyJXZWJraXQiK2VdPSJ3ZWJraXQiK3QsblsiTW96IitlXT0ibW96Iit0LG59dmFyIEh0PXthbmltYXRpb25lbmQ6d3IoIkFuaW1hdGlvbiIsIkFuaW1hdGlvbkVuZCIpLGFuaW1hdGlvbml0ZXJhdGlvbjp3cigiQW5pbWF0aW9uIiwiQW5pbWF0aW9uSXRlcmF0aW9uIiksYW5pbWF0aW9uc3RhcnQ6d3IoIkFuaW1hdGlvbiIsIkFuaW1hdGlvblN0YXJ0IiksdHJhbnNpdGlvbmVuZDp3cigiVHJhbnNpdGlvbiIsIlRyYW5zaXRpb25FbmQiKX0sSGw9e30sd2E9e307S2UmJih3YT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKS5zdHlsZSwiQW5pbWF0aW9uRXZlbnQiaW4gd2luZG93fHwoZGVsZXRlIEh0LmFuaW1hdGlvbmVuZC5hbmltYXRpb24sZGVsZXRlIEh0LmFuaW1hdGlvbml0ZXJhdGlvbi5hbmltYXRpb24sZGVsZXRlIEh0LmFuaW1hdGlvbnN0YXJ0LmFuaW1hdGlvbiksIlRyYW5zaXRpb25FdmVudCJpbiB3aW5kb3d8fGRlbGV0ZSBIdC50cmFuc2l0aW9uZW5kLnRyYW5zaXRpb24pO2Z1bmN0aW9uIGhsKGUpe2lmKEhsW2VdKXJldHVybiBIbFtlXTtpZighSHRbZV0pcmV0dXJuIGU7dmFyIHQ9SHRbZV0sbjtmb3IobiBpbiB0KWlmKHQuaGFzT3duUHJvcGVydHkobikmJm4gaW4gd2EpcmV0dXJuIEhsW2VdPXRbbl07cmV0dXJuIGV9dmFyIFNhPWhsKCJhbmltYXRpb25lbmQiKSxrYT1obCgiYW5pbWF0aW9uaXRlcmF0aW9uIiksRWE9aGwoImFuaW1hdGlvbnN0YXJ0IikseGE9aGwoInRyYW5zaXRpb25lbmQiKSxDYT1uZXcgTWFwLHppPSJhYm9ydCBhdXhDbGljayBjYW5jZWwgY2FuUGxheSBjYW5QbGF5VGhyb3VnaCBjbGljayBjbG9zZSBjb250ZXh0TWVudSBjb3B5IGN1dCBkcmFnIGRyYWdFbmQgZHJhZ0VudGVyIGRyYWdFeGl0IGRyYWdMZWF2ZSBkcmFnT3ZlciBkcmFnU3RhcnQgZHJvcCBkdXJhdGlvbkNoYW5nZSBlbXB0aWVkIGVuY3J5cHRlZCBlbmRlZCBlcnJvciBnb3RQb2ludGVyQ2FwdHVyZSBpbnB1dCBpbnZhbGlkIGtleURvd24ga2V5UHJlc3Mga2V5VXAgbG9hZCBsb2FkZWREYXRhIGxvYWRlZE1ldGFkYXRhIGxvYWRTdGFydCBsb3N0UG9pbnRlckNhcHR1cmUgbW91c2VEb3duIG1vdXNlTW92ZSBtb3VzZU91dCBtb3VzZU92ZXIgbW91c2VVcCBwYXN0ZSBwYXVzZSBwbGF5IHBsYXlpbmcgcG9pbnRlckNhbmNlbCBwb2ludGVyRG93biBwb2ludGVyTW92ZSBwb2ludGVyT3V0IHBvaW50ZXJPdmVyIHBvaW50ZXJVcCBwcm9ncmVzcyByYXRlQ2hhbmdlIHJlc2V0IHJlc2l6ZSBzZWVrZWQgc2Vla2luZyBzdGFsbGVkIHN1Ym1pdCBzdXNwZW5kIHRpbWVVcGRhdGUgdG91Y2hDYW5jZWwgdG91Y2hFbmQgdG91Y2hTdGFydCB2b2x1bWVDaGFuZ2Ugc2Nyb2xsIHRvZ2dsZSB0b3VjaE1vdmUgd2FpdGluZyB3aGVlbCIuc3BsaXQoIiAiKTtmdW5jdGlvbiBtdChlLHQpe0NhLnNldChlLHQpLE10KHQsW2VdKX1mb3IodmFyIFFsPTA7UWw8emkubGVuZ3RoO1FsKyspe3ZhciBLbD16aVtRbF0sUmQ9S2wudG9Mb3dlckNhc2UoKSxUZD1LbFswXS50b1VwcGVyQ2FzZSgpK0tsLnNsaWNlKDEpO210KFJkLCJvbiIrVGQpfW10KFNhLCJvbkFuaW1hdGlvbkVuZCIpO210KGthLCJvbkFuaW1hdGlvbkl0ZXJhdGlvbiIpO210KEVhLCJvbkFuaW1hdGlvblN0YXJ0Iik7bXQoImRibGNsaWNrIiwib25Eb3VibGVDbGljayIpO210KCJmb2N1c2luIiwib25Gb2N1cyIpO210KCJmb2N1c291dCIsIm9uQmx1ciIpO210KHhhLCJvblRyYW5zaXRpb25FbmQiKTtsbigib25Nb3VzZUVudGVyIixbIm1vdXNlb3V0IiwibW91c2VvdmVyIl0pO2xuKCJvbk1vdXNlTGVhdmUiLFsibW91c2VvdXQiLCJtb3VzZW92ZXIiXSk7bG4oIm9uUG9pbnRlckVudGVyIixbInBvaW50ZXJvdXQiLCJwb2ludGVyb3ZlciJdKTtsbigib25Qb2ludGVyTGVhdmUiLFsicG9pbnRlcm91dCIsInBvaW50ZXJvdmVyIl0pO010KCJvbkNoYW5nZSIsImNoYW5nZSBjbGljayBmb2N1c2luIGZvY3Vzb3V0IGlucHV0IGtleWRvd24ga2V5dXAgc2VsZWN0aW9uY2hhbmdlIi5zcGxpdCgiICIpKTtNdCgib25TZWxlY3QiLCJmb2N1c291dCBjb250ZXh0bWVudSBkcmFnZW5kIGZvY3VzaW4ga2V5ZG93biBrZXl1cCBtb3VzZWRvd24gbW91c2V1cCBzZWxlY3Rpb25jaGFuZ2UiLnNwbGl0KCIgIikpO010KCJvbkJlZm9yZUlucHV0IixbImNvbXBvc2l0aW9uZW5kIiwia2V5cHJlc3MiLCJ0ZXh0SW5wdXQiLCJwYXN0ZSJdKTtNdCgib25Db21wb3NpdGlvbkVuZCIsImNvbXBvc2l0aW9uZW5kIGZvY3Vzb3V0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgbW91c2Vkb3duIi5zcGxpdCgiICIpKTtNdCgib25Db21wb3NpdGlvblN0YXJ0IiwiY29tcG9zaXRpb25zdGFydCBmb2N1c291dCBrZXlkb3duIGtleXByZXNzIGtleXVwIG1vdXNlZG93biIuc3BsaXQoIiAiKSk7TXQoIm9uQ29tcG9zaXRpb25VcGRhdGUiLCJjb21wb3NpdGlvbnVwZGF0ZSBmb2N1c291dCBrZXlkb3duIGtleXByZXNzIGtleXVwIG1vdXNlZG93biIuc3BsaXQoIiAiKSk7dmFyIHpuPSJhYm9ydCBjYW5wbGF5IGNhbnBsYXl0aHJvdWdoIGR1cmF0aW9uY2hhbmdlIGVtcHRpZWQgZW5jcnlwdGVkIGVuZGVkIGVycm9yIGxvYWRlZGRhdGEgbG9hZGVkbWV0YWRhdGEgbG9hZHN0YXJ0IHBhdXNlIHBsYXkgcGxheWluZyBwcm9ncmVzcyByYXRlY2hhbmdlIHJlc2l6ZSBzZWVrZWQgc2Vla2luZyBzdGFsbGVkIHN1c3BlbmQgdGltZXVwZGF0ZSB2b2x1bWVjaGFuZ2Ugd2FpdGluZyIuc3BsaXQoIiAiKSxPZD1uZXcgU2V0KCJjYW5jZWwgY2xvc2UgaW52YWxpZCBsb2FkIHNjcm9sbCB0b2dnbGUiLnNwbGl0KCIgIikuY29uY2F0KHpuKSk7ZnVuY3Rpb24gTGkoZSx0LG4pe3ZhciByPWUudHlwZXx8InVua25vd24tZXZlbnQiO2UuY3VycmVudFRhcmdldD1uLFJmKHIsdCx2b2lkIDAsZSksZS5jdXJyZW50VGFyZ2V0PW51bGx9ZnVuY3Rpb24gX2EoZSx0KXt0PSh0JjQpIT09MDtmb3IodmFyIG49MDtuPGUubGVuZ3RoO24rKyl7dmFyIHI9ZVtuXSxsPXIuZXZlbnQ7cj1yLmxpc3RlbmVycztlOnt2YXIgbz12b2lkIDA7aWYodClmb3IodmFyIHU9ci5sZW5ndGgtMTswPD11O3UtLSl7dmFyIGk9clt1XSxzPWkuaW5zdGFuY2UsYT1pLmN1cnJlbnRUYXJnZXQ7aWYoaT1pLmxpc3RlbmVyLHMhPT1vJiZsLmlzUHJvcGFnYXRpb25TdG9wcGVkKCkpYnJlYWsgZTtMaShsLGksYSksbz1zfWVsc2UgZm9yKHU9MDt1PHIubGVuZ3RoO3UrKyl7aWYoaT1yW3VdLHM9aS5pbnN0YW5jZSxhPWkuY3VycmVudFRhcmdldCxpPWkubGlzdGVuZXIscyE9PW8mJmwuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSlicmVhayBlO0xpKGwsaSxhKSxvPXN9fX1pZihWcil0aHJvdyBlPXhvLFZyPSExLHhvPW51bGwsZX1mdW5jdGlvbiBqKGUsdCl7dmFyIG49dFtJb107bj09PXZvaWQgMCYmKG49dFtJb109bmV3IFNldCk7dmFyIHI9ZSsiX19idWJibGUiO24uaGFzKHIpfHwoUGEodCxlLDIsITEpLG4uYWRkKHIpKX1mdW5jdGlvbiBZbChlLHQsbil7dmFyIHI9MDt0JiYocnw9NCksUGEobixlLHIsdCl9dmFyIFNyPSJfcmVhY3RMaXN0ZW5pbmciK01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnNsaWNlKDIpO2Z1bmN0aW9uIEtuKGUpe2lmKCFlW1NyXSl7ZVtTcl09ITAsSXMuZm9yRWFjaChmdW5jdGlvbihuKXtuIT09InNlbGVjdGlvbmNoYW5nZSImJihPZC5oYXMobil8fFlsKG4sITEsZSksWWwobiwhMCxlKSl9KTt2YXIgdD1lLm5vZGVUeXBlPT09OT9lOmUub3duZXJEb2N1bWVudDt0PT09bnVsbHx8dFtTcl18fCh0W1NyXT0hMCxZbCgic2VsZWN0aW9uY2hhbmdlIiwhMSx0KSl9fWZ1bmN0aW9uIFBhKGUsdCxuLHIpe3N3aXRjaChhYSh0KSl7Y2FzZSAxOnZhciBsPUtmO2JyZWFrO2Nhc2UgNDpsPVlmO2JyZWFrO2RlZmF1bHQ6bD15dX1uPWwuYmluZChudWxsLHQsbixlKSxsPXZvaWQgMCwhRW98fHQhPT0idG91Y2hzdGFydCImJnQhPT0idG91Y2htb3ZlIiYmdCE9PSJ3aGVlbCJ8fChsPSEwKSxyP2whPT12b2lkIDA/ZS5hZGRFdmVudExpc3RlbmVyKHQsbix7Y2FwdHVyZTohMCxwYXNzaXZlOmx9KTplLmFkZEV2ZW50TGlzdGVuZXIodCxuLCEwKTpsIT09dm9pZCAwP2UuYWRkRXZlbnRMaXN0ZW5lcih0LG4se3Bhc3NpdmU6bH0pOmUuYWRkRXZlbnRMaXN0ZW5lcih0LG4sITEpfWZ1bmN0aW9uIFhsKGUsdCxuLHIsbCl7dmFyIG89cjtpZighKHQmMSkmJiEodCYyKSYmciE9PW51bGwpZTpmb3IoOzspe2lmKHI9PT1udWxsKXJldHVybjt2YXIgdT1yLnRhZztpZih1PT09M3x8dT09PTQpe3ZhciBpPXIuc3RhdGVOb2RlLmNvbnRhaW5lckluZm87aWYoaT09PWx8fGkubm9kZVR5cGU9PT04JiZpLnBhcmVudE5vZGU9PT1sKWJyZWFrO2lmKHU9PT00KWZvcih1PXIucmV0dXJuO3UhPT1udWxsOyl7dmFyIHM9dS50YWc7aWYoKHM9PT0zfHxzPT09NCkmJihzPXUuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8scz09PWx8fHMubm9kZVR5cGU9PT04JiZzLnBhcmVudE5vZGU9PT1sKSlyZXR1cm47dT11LnJldHVybn1mb3IoO2khPT1udWxsOyl7aWYodT1FdChpKSx1PT09bnVsbClyZXR1cm47aWYocz11LnRhZyxzPT09NXx8cz09PTYpe3I9bz11O2NvbnRpbnVlIGV9aT1pLnBhcmVudE5vZGV9fXI9ci5yZXR1cm59R3MoZnVuY3Rpb24oKXt2YXIgYT1vLGg9cHUobiksZD1bXTtlOnt2YXIgbT1DYS5nZXQoZSk7aWYobSE9PXZvaWQgMCl7dmFyIHk9d3Usdz1lO3N3aXRjaChlKXtjYXNlImtleXByZXNzIjppZihPcihuKT09PTApYnJlYWsgZTtjYXNlImtleWRvd24iOmNhc2Uia2V5dXAiOnk9c2Q7YnJlYWs7Y2FzZSJmb2N1c2luIjp3PSJmb2N1cyIseT1CbDticmVhaztjYXNlImZvY3Vzb3V0Ijp3PSJibHVyIix5PUJsO2JyZWFrO2Nhc2UiYmVmb3JlYmx1ciI6Y2FzZSJhZnRlcmJsdXIiOnk9Qmw7YnJlYWs7Y2FzZSJjbGljayI6aWYobi5idXR0b249PT0yKWJyZWFrIGU7Y2FzZSJhdXhjbGljayI6Y2FzZSJkYmxjbGljayI6Y2FzZSJtb3VzZWRvd24iOmNhc2UibW91c2Vtb3ZlIjpjYXNlIm1vdXNldXAiOmNhc2UibW91c2VvdXQiOmNhc2UibW91c2VvdmVyIjpjYXNlImNvbnRleHRtZW51Ijp5PXlpO2JyZWFrO2Nhc2UiZHJhZyI6Y2FzZSJkcmFnZW5kIjpjYXNlImRyYWdlbnRlciI6Y2FzZSJkcmFnZXhpdCI6Y2FzZSJkcmFnbGVhdmUiOmNhc2UiZHJhZ292ZXIiOmNhc2UiZHJhZ3N0YXJ0IjpjYXNlImRyb3AiOnk9WmY7YnJlYWs7Y2FzZSJ0b3VjaGNhbmNlbCI6Y2FzZSJ0b3VjaGVuZCI6Y2FzZSJ0b3VjaG1vdmUiOmNhc2UidG91Y2hzdGFydCI6eT1mZDticmVhaztjYXNlIFNhOmNhc2Uga2E6Y2FzZSBFYTp5PWJmO2JyZWFrO2Nhc2UgeGE6eT1wZDticmVhaztjYXNlInNjcm9sbCI6eT1YZjticmVhaztjYXNlIndoZWVsIjp5PW1kO2JyZWFrO2Nhc2UiY29weSI6Y2FzZSJjdXQiOmNhc2UicGFzdGUiOnk9dGQ7YnJlYWs7Y2FzZSJnb3Rwb2ludGVyY2FwdHVyZSI6Y2FzZSJsb3N0cG9pbnRlcmNhcHR1cmUiOmNhc2UicG9pbnRlcmNhbmNlbCI6Y2FzZSJwb2ludGVyZG93biI6Y2FzZSJwb2ludGVybW92ZSI6Y2FzZSJwb2ludGVyb3V0IjpjYXNlInBvaW50ZXJvdmVyIjpjYXNlInBvaW50ZXJ1cCI6eT13aX12YXIgUz0odCY0KSE9PTAsRT0hUyYmZT09PSJzY3JvbGwiLGY9Uz9tIT09bnVsbD9tKyJDYXB0dXJlIjpudWxsOm07Uz1bXTtmb3IodmFyIGM9YSxwO2MhPT1udWxsOyl7cD1jO3ZhciB2PXAuc3RhdGVOb2RlO2lmKHAudGFnPT09NSYmdiE9PW51bGwmJihwPXYsZiE9PW51bGwmJih2PUFuKGMsZiksdiE9bnVsbCYmUy5wdXNoKFluKGMsdixwKSkpKSxFKWJyZWFrO2M9Yy5yZXR1cm59MDxTLmxlbmd0aCYmKG09bmV3IHkobSx3LG51bGwsbixoKSxkLnB1c2goe2V2ZW50Om0sbGlzdGVuZXJzOlN9KSl9fWlmKCEodCY3KSl7ZTp7aWYobT1lPT09Im1vdXNlb3ZlciJ8fGU9PT0icG9pbnRlcm92ZXIiLHk9ZT09PSJtb3VzZW91dCJ8fGU9PT0icG9pbnRlcm91dCIsbSYmbiE9PVNvJiYodz1uLnJlbGF0ZWRUYXJnZXR8fG4uZnJvbUVsZW1lbnQpJiYoRXQodyl8fHdbWWVdKSlicmVhayBlO2lmKCh5fHxtKSYmKG09aC53aW5kb3c9PT1oP2g6KG09aC5vd25lckRvY3VtZW50KT9tLmRlZmF1bHRWaWV3fHxtLnBhcmVudFdpbmRvdzp3aW5kb3cseT8odz1uLnJlbGF0ZWRUYXJnZXR8fG4udG9FbGVtZW50LHk9YSx3PXc/RXQodyk6bnVsbCx3IT09bnVsbCYmKEU9RHQodyksdyE9PUV8fHcudGFnIT09NSYmdy50YWchPT02KSYmKHc9bnVsbCkpOih5PW51bGwsdz1hKSx5IT09dykpe2lmKFM9eWksdj0ib25Nb3VzZUxlYXZlIixmPSJvbk1vdXNlRW50ZXIiLGM9Im1vdXNlIiwoZT09PSJwb2ludGVyb3V0Inx8ZT09PSJwb2ludGVyb3ZlciIpJiYoUz13aSx2PSJvblBvaW50ZXJMZWF2ZSIsZj0ib25Qb2ludGVyRW50ZXIiLGM9InBvaW50ZXIiKSxFPXk9PW51bGw/bTpRdCh5KSxwPXc9PW51bGw/bTpRdCh3KSxtPW5ldyBTKHYsYysibGVhdmUiLHksbixoKSxtLnRhcmdldD1FLG0ucmVsYXRlZFRhcmdldD1wLHY9bnVsbCxFdChoKT09PWEmJihTPW5ldyBTKGYsYysiZW50ZXIiLHcsbixoKSxTLnRhcmdldD1wLFMucmVsYXRlZFRhcmdldD1FLHY9UyksRT12LHkmJncpdDp7Zm9yKFM9eSxmPXcsYz0wLHA9UztwO3A9VXQocCkpYysrO2ZvcihwPTAsdj1mO3Y7dj1VdCh2KSlwKys7Zm9yKDswPGMtcDspUz1VdChTKSxjLS07Zm9yKDswPHAtYzspZj1VdChmKSxwLS07Zm9yKDtjLS07KXtpZihTPT09Znx8ZiE9PW51bGwmJlM9PT1mLmFsdGVybmF0ZSlicmVhayB0O1M9VXQoUyksZj1VdChmKX1TPW51bGx9ZWxzZSBTPW51bGw7eSE9PW51bGwmJlJpKGQsbSx5LFMsITEpLHchPT1udWxsJiZFIT09bnVsbCYmUmkoZCxFLHcsUywhMCl9fWU6e2lmKG09YT9RdChhKTp3aW5kb3cseT1tLm5vZGVOYW1lJiZtLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkseT09PSJzZWxlY3QifHx5PT09ImlucHV0IiYmbS50eXBlPT09ImZpbGUiKXZhciBrPUVkO2Vsc2UgaWYoRWkobSkpaWYobWEpaz1QZDtlbHNle2s9Q2Q7dmFyIFA9eGR9ZWxzZSh5PW0ubm9kZU5hbWUpJiZ5LnRvTG93ZXJDYXNlKCk9PT0iaW5wdXQiJiYobS50eXBlPT09ImNoZWNrYm94Inx8bS50eXBlPT09InJhZGlvIikmJihrPV9kKTtpZihrJiYoaz1rKGUsYSkpKXtoYShkLGssbixoKTticmVhayBlfVAmJlAoZSxtLGEpLGU9PT0iZm9jdXNvdXQiJiYoUD1tLl93cmFwcGVyU3RhdGUpJiZQLmNvbnRyb2xsZWQmJm0udHlwZT09PSJudW1iZXIiJiZtbyhtLCJudW1iZXIiLG0udmFsdWUpfXN3aXRjaChQPWE/UXQoYSk6d2luZG93LGUpe2Nhc2UiZm9jdXNpbiI6KEVpKFApfHxQLmNvbnRlbnRFZGl0YWJsZT09PSJ0cnVlIikmJihXdD1QLE5vPWEsSW49bnVsbCk7YnJlYWs7Y2FzZSJmb2N1c291dCI6SW49Tm89V3Q9bnVsbDticmVhaztjYXNlIm1vdXNlZG93biI6em89ITA7YnJlYWs7Y2FzZSJjb250ZXh0bWVudSI6Y2FzZSJtb3VzZXVwIjpjYXNlImRyYWdlbmQiOnpvPSExLE5pKGQsbixoKTticmVhaztjYXNlInNlbGVjdGlvbmNoYW5nZSI6aWYoTGQpYnJlYWs7Y2FzZSJrZXlkb3duIjpjYXNlImtleXVwIjpOaShkLG4saCl9dmFyIE47aWYoa3UpZTp7c3dpdGNoKGUpe2Nhc2UiY29tcG9zaXRpb25zdGFydCI6dmFyIHo9Im9uQ29tcG9zaXRpb25TdGFydCI7YnJlYWsgZTtjYXNlImNvbXBvc2l0aW9uZW5kIjp6PSJvbkNvbXBvc2l0aW9uRW5kIjticmVhayBlO2Nhc2UiY29tcG9zaXRpb251cGRhdGUiOno9Im9uQ29tcG9zaXRpb25VcGRhdGUiO2JyZWFrIGV9ej12b2lkIDB9ZWxzZSBWdD9kYShlLG4pJiYoej0ib25Db21wb3NpdGlvbkVuZCIpOmU9PT0ia2V5ZG93biImJm4ua2V5Q29kZT09PTIyOSYmKHo9Im9uQ29tcG9zaXRpb25TdGFydCIpO3omJihmYSYmbi5sb2NhbGUhPT0ia28iJiYoVnR8fHohPT0ib25Db21wb3NpdGlvblN0YXJ0Ij96PT09Im9uQ29tcG9zaXRpb25FbmQiJiZWdCYmKE49Y2EoKSk6KG50PWgsZ3U9InZhbHVlImluIG50P250LnZhbHVlOm50LnRleHRDb250ZW50LFZ0PSEwKSksUD1ZcihhLHopLDA8UC5sZW5ndGgmJih6PW5ldyBnaSh6LGUsbnVsbCxuLGgpLGQucHVzaCh7ZXZlbnQ6eixsaXN0ZW5lcnM6UH0pLE4/ei5kYXRhPU46KE49cGEobiksTiE9PW51bGwmJih6LmRhdGE9TikpKSksKE49eWQ/Z2QoZSxuKTp3ZChlLG4pKSYmKGE9WXIoYSwib25CZWZvcmVJbnB1dCIpLDA8YS5sZW5ndGgmJihoPW5ldyBnaSgib25CZWZvcmVJbnB1dCIsImJlZm9yZWlucHV0IixudWxsLG4saCksZC5wdXNoKHtldmVudDpoLGxpc3RlbmVyczphfSksaC5kYXRhPU4pKX1fYShkLHQpfSl9ZnVuY3Rpb24gWW4oZSx0LG4pe3JldHVybntpbnN0YW5jZTplLGxpc3RlbmVyOnQsY3VycmVudFRhcmdldDpufX1mdW5jdGlvbiBZcihlLHQpe2Zvcih2YXIgbj10KyJDYXB0dXJlIixyPVtdO2UhPT1udWxsOyl7dmFyIGw9ZSxvPWwuc3RhdGVOb2RlO2wudGFnPT09NSYmbyE9PW51bGwmJihsPW8sbz1BbihlLG4pLG8hPW51bGwmJnIudW5zaGlmdChZbihlLG8sbCkpLG89QW4oZSx0KSxvIT1udWxsJiZyLnB1c2goWW4oZSxvLGwpKSksZT1lLnJldHVybn1yZXR1cm4gcn1mdW5jdGlvbiBVdChlKXtpZihlPT09bnVsbClyZXR1cm4gbnVsbDtkbyBlPWUucmV0dXJuO3doaWxlKGUmJmUudGFnIT09NSk7cmV0dXJuIGV8fG51bGx9ZnVuY3Rpb24gUmkoZSx0LG4scixsKXtmb3IodmFyIG89dC5fcmVhY3ROYW1lLHU9W107biE9PW51bGwmJm4hPT1yOyl7dmFyIGk9bixzPWkuYWx0ZXJuYXRlLGE9aS5zdGF0ZU5vZGU7aWYocyE9PW51bGwmJnM9PT1yKWJyZWFrO2kudGFnPT09NSYmYSE9PW51bGwmJihpPWEsbD8ocz1BbihuLG8pLHMhPW51bGwmJnUudW5zaGlmdChZbihuLHMsaSkpKTpsfHwocz1BbihuLG8pLHMhPW51bGwmJnUucHVzaChZbihuLHMsaSkpKSksbj1uLnJldHVybn11Lmxlbmd0aCE9PTAmJmUucHVzaCh7ZXZlbnQ6dCxsaXN0ZW5lcnM6dX0pfXZhciBJZD0vXHJcbj8vZyxNZD0vXHUwMDAwfFx1RkZGRC9nO2Z1bmN0aW9uIFRpKGUpe3JldHVybih0eXBlb2YgZT09InN0cmluZyI/ZToiIitlKS5yZXBsYWNlKElkLGAKYCkucmVwbGFjZShNZCwiIil9ZnVuY3Rpb24ga3IoZSx0LG4pe2lmKHQ9VGkodCksVGkoZSkhPT10JiZuKXRocm93IEVycm9yKGcoNDI1KSl9ZnVuY3Rpb24gWHIoKXt9dmFyIExvPW51bGwsUm89bnVsbDtmdW5jdGlvbiBUbyhlLHQpe3JldHVybiBlPT09InRleHRhcmVhInx8ZT09PSJub3NjcmlwdCJ8fHR5cGVvZiB0LmNoaWxkcmVuPT0ic3RyaW5nInx8dHlwZW9mIHQuY2hpbGRyZW49PSJudW1iZXIifHx0eXBlb2YgdC5kYW5nZXJvdXNseVNldElubmVySFRNTD09Im9iamVjdCImJnQuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwhPT1udWxsJiZ0LmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MLl9faHRtbCE9bnVsbH12YXIgT289dHlwZW9mIHNldFRpbWVvdXQ9PSJmdW5jdGlvbiI/c2V0VGltZW91dDp2b2lkIDAsRGQ9dHlwZW9mIGNsZWFyVGltZW91dD09ImZ1bmN0aW9uIj9jbGVhclRpbWVvdXQ6dm9pZCAwLE9pPXR5cGVvZiBQcm9taXNlPT0iZnVuY3Rpb24iP1Byb21pc2U6dm9pZCAwLGpkPXR5cGVvZiBxdWV1ZU1pY3JvdGFzaz09ImZ1bmN0aW9uIj9xdWV1ZU1pY3JvdGFzazp0eXBlb2YgT2k8InUiP2Z1bmN0aW9uKGUpe3JldHVybiBPaS5yZXNvbHZlKG51bGwpLnRoZW4oZSkuY2F0Y2goRmQpfTpPbztmdW5jdGlvbiBGZChlKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhyb3cgZX0pfWZ1bmN0aW9uIEdsKGUsdCl7dmFyIG49dCxyPTA7ZG97dmFyIGw9bi5uZXh0U2libGluZztpZihlLnJlbW92ZUNoaWxkKG4pLGwmJmwubm9kZVR5cGU9PT04KWlmKG49bC5kYXRhLG49PT0iLyQiKXtpZihyPT09MCl7ZS5yZW1vdmVDaGlsZChsKSxXbih0KTtyZXR1cm59ci0tfWVsc2UgbiE9PSIkIiYmbiE9PSIkPyImJm4hPT0iJCEifHxyKys7bj1sfXdoaWxlKG4pO1duKHQpfWZ1bmN0aW9uIHN0KGUpe2Zvcig7ZSE9bnVsbDtlPWUubmV4dFNpYmxpbmcpe3ZhciB0PWUubm9kZVR5cGU7aWYodD09PTF8fHQ9PT0zKWJyZWFrO2lmKHQ9PT04KXtpZih0PWUuZGF0YSx0PT09IiQifHx0PT09IiQhInx8dD09PSIkPyIpYnJlYWs7aWYodD09PSIvJCIpcmV0dXJuIG51bGx9fXJldHVybiBlfWZ1bmN0aW9uIElpKGUpe2U9ZS5wcmV2aW91c1NpYmxpbmc7Zm9yKHZhciB0PTA7ZTspe2lmKGUubm9kZVR5cGU9PT04KXt2YXIgbj1lLmRhdGE7aWYobj09PSIkInx8bj09PSIkISJ8fG49PT0iJD8iKXtpZih0PT09MClyZXR1cm4gZTt0LS19ZWxzZSBuPT09Ii8kIiYmdCsrfWU9ZS5wcmV2aW91c1NpYmxpbmd9cmV0dXJuIG51bGx9dmFyIGhuPU1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnNsaWNlKDIpLFVlPSJfX3JlYWN0RmliZXIkIitobixYbj0iX19yZWFjdFByb3BzJCIraG4sWWU9Il9fcmVhY3RDb250YWluZXIkIitobixJbz0iX19yZWFjdEV2ZW50cyQiK2huLFVkPSJfX3JlYWN0TGlzdGVuZXJzJCIraG4sJGQ9Il9fcmVhY3RIYW5kbGVzJCIraG47ZnVuY3Rpb24gRXQoZSl7dmFyIHQ9ZVtVZV07aWYodClyZXR1cm4gdDtmb3IodmFyIG49ZS5wYXJlbnROb2RlO247KXtpZih0PW5bWWVdfHxuW1VlXSl7aWYobj10LmFsdGVybmF0ZSx0LmNoaWxkIT09bnVsbHx8biE9PW51bGwmJm4uY2hpbGQhPT1udWxsKWZvcihlPUlpKGUpO2UhPT1udWxsOyl7aWYobj1lW1VlXSlyZXR1cm4gbjtlPUlpKGUpfXJldHVybiB0fWU9bixuPWUucGFyZW50Tm9kZX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBpcihlKXtyZXR1cm4gZT1lW1VlXXx8ZVtZZV0sIWV8fGUudGFnIT09NSYmZS50YWchPT02JiZlLnRhZyE9PTEzJiZlLnRhZyE9PTM/bnVsbDplfWZ1bmN0aW9uIFF0KGUpe2lmKGUudGFnPT09NXx8ZS50YWc9PT02KXJldHVybiBlLnN0YXRlTm9kZTt0aHJvdyBFcnJvcihnKDMzKSl9ZnVuY3Rpb24gbWwoZSl7cmV0dXJuIGVbWG5dfHxudWxsfXZhciBNbz1bXSxLdD0tMTtmdW5jdGlvbiB2dChlKXtyZXR1cm57Y3VycmVudDplfX1mdW5jdGlvbiBGKGUpezA+S3R8fChlLmN1cnJlbnQ9TW9bS3RdLE1vW0t0XT1udWxsLEt0LS0pfWZ1bmN0aW9uIEQoZSx0KXtLdCsrLE1vW0t0XT1lLmN1cnJlbnQsZS5jdXJyZW50PXR9dmFyIGh0PXt9LG9lPXZ0KGh0KSxwZT12dCghMSksenQ9aHQ7ZnVuY3Rpb24gb24oZSx0KXt2YXIgbj1lLnR5cGUuY29udGV4dFR5cGVzO2lmKCFuKXJldHVybiBodDt2YXIgcj1lLnN0YXRlTm9kZTtpZihyJiZyLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkVW5tYXNrZWRDaGlsZENvbnRleHQ9PT10KXJldHVybiByLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWFza2VkQ2hpbGRDb250ZXh0O3ZhciBsPXt9LG87Zm9yKG8gaW4gbilsW29dPXRbb107cmV0dXJuIHImJihlPWUuc3RhdGVOb2RlLGUuX19yZWFjdEludGVybmFsTWVtb2l6ZWRVbm1hc2tlZENoaWxkQ29udGV4dD10LGUuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNYXNrZWRDaGlsZENvbnRleHQ9bCksbH1mdW5jdGlvbiBoZShlKXtyZXR1cm4gZT1lLmNoaWxkQ29udGV4dFR5cGVzLGUhPW51bGx9ZnVuY3Rpb24gR3IoKXtGKHBlKSxGKG9lKX1mdW5jdGlvbiBNaShlLHQsbil7aWYob2UuY3VycmVudCE9PWh0KXRocm93IEVycm9yKGcoMTY4KSk7RChvZSx0KSxEKHBlLG4pfWZ1bmN0aW9uIE5hKGUsdCxuKXt2YXIgcj1lLnN0YXRlTm9kZTtpZih0PXQuY2hpbGRDb250ZXh0VHlwZXMsdHlwZW9mIHIuZ2V0Q2hpbGRDb250ZXh0IT0iZnVuY3Rpb24iKXJldHVybiBuO3I9ci5nZXRDaGlsZENvbnRleHQoKTtmb3IodmFyIGwgaW4gcilpZighKGwgaW4gdCkpdGhyb3cgRXJyb3IoZygxMDgseGYoZSl8fCJVbmtub3duIixsKSk7cmV0dXJuIEIoe30sbixyKX1mdW5jdGlvbiBacihlKXtyZXR1cm4gZT0oZT1lLnN0YXRlTm9kZSkmJmUuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNZXJnZWRDaGlsZENvbnRleHR8fGh0LHp0PW9lLmN1cnJlbnQsRChvZSxlKSxEKHBlLHBlLmN1cnJlbnQpLCEwfWZ1bmN0aW9uIERpKGUsdCxuKXt2YXIgcj1lLnN0YXRlTm9kZTtpZighcil0aHJvdyBFcnJvcihnKDE2OSkpO24/KGU9TmEoZSx0LHp0KSxyLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWVyZ2VkQ2hpbGRDb250ZXh0PWUsRihwZSksRihvZSksRChvZSxlKSk6RihwZSksRChwZSxuKX12YXIgVmU9bnVsbCx2bD0hMSxabD0hMTtmdW5jdGlvbiB6YShlKXtWZT09PW51bGw/VmU9W2VdOlZlLnB1c2goZSl9ZnVuY3Rpb24gQWQoZSl7dmw9ITAsemEoZSl9ZnVuY3Rpb24geXQoKXtpZighWmwmJlZlIT09bnVsbCl7Wmw9ITA7dmFyIGU9MCx0PU07dHJ5e3ZhciBuPVZlO2ZvcihNPTE7ZTxuLmxlbmd0aDtlKyspe3ZhciByPW5bZV07ZG8gcj1yKCEwKTt3aGlsZShyIT09bnVsbCl9VmU9bnVsbCx2bD0hMX1jYXRjaChsKXt0aHJvdyBWZSE9PW51bGwmJihWZT1WZS5zbGljZShlKzEpKSxicyhodSx5dCksbH1maW5hbGx5e009dCxabD0hMX19cmV0dXJuIG51bGx9dmFyIFl0PVtdLFh0PTAsSnI9bnVsbCxxcj0wLEVlPVtdLHhlPTAsTHQ9bnVsbCxXZT0xLEhlPSIiO2Z1bmN0aW9uIFN0KGUsdCl7WXRbWHQrK109cXIsWXRbWHQrK109SnIsSnI9ZSxxcj10fWZ1bmN0aW9uIExhKGUsdCxuKXtFZVt4ZSsrXT1XZSxFZVt4ZSsrXT1IZSxFZVt4ZSsrXT1MdCxMdD1lO3ZhciByPVdlO2U9SGU7dmFyIGw9MzItSWUociktMTtyJj1+KDE8PGwpLG4rPTE7dmFyIG89MzItSWUodCkrbDtpZigzMDxvKXt2YXIgdT1sLWwlNTtvPShyJigxPDx1KS0xKS50b1N0cmluZygzMikscj4+PXUsbC09dSxXZT0xPDwzMi1JZSh0KStsfG48PGx8cixIZT1vK2V9ZWxzZSBXZT0xPDxvfG48PGx8cixIZT1lfWZ1bmN0aW9uIHh1KGUpe2UucmV0dXJuIT09bnVsbCYmKFN0KGUsMSksTGEoZSwxLDApKX1mdW5jdGlvbiBDdShlKXtmb3IoO2U9PT1KcjspSnI9WXRbLS1YdF0sWXRbWHRdPW51bGwscXI9WXRbLS1YdF0sWXRbWHRdPW51bGw7Zm9yKDtlPT09THQ7KUx0PUVlWy0teGVdLEVlW3hlXT1udWxsLEhlPUVlWy0teGVdLEVlW3hlXT1udWxsLFdlPUVlWy0teGVdLEVlW3hlXT1udWxsfXZhciBnZT1udWxsLHllPW51bGwsVT0hMSxPZT1udWxsO2Z1bmN0aW9uIFJhKGUsdCl7dmFyIG49Q2UoNSxudWxsLG51bGwsMCk7bi5lbGVtZW50VHlwZT0iREVMRVRFRCIsbi5zdGF0ZU5vZGU9dCxuLnJldHVybj1lLHQ9ZS5kZWxldGlvbnMsdD09PW51bGw/KGUuZGVsZXRpb25zPVtuXSxlLmZsYWdzfD0xNik6dC5wdXNoKG4pfWZ1bmN0aW9uIGppKGUsdCl7c3dpdGNoKGUudGFnKXtjYXNlIDU6dmFyIG49ZS50eXBlO3JldHVybiB0PXQubm9kZVR5cGUhPT0xfHxuLnRvTG93ZXJDYXNlKCkhPT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk/bnVsbDp0LHQhPT1udWxsPyhlLnN0YXRlTm9kZT10LGdlPWUseWU9c3QodC5maXJzdENoaWxkKSwhMCk6ITE7Y2FzZSA2OnJldHVybiB0PWUucGVuZGluZ1Byb3BzPT09IiJ8fHQubm9kZVR5cGUhPT0zP251bGw6dCx0IT09bnVsbD8oZS5zdGF0ZU5vZGU9dCxnZT1lLHllPW51bGwsITApOiExO2Nhc2UgMTM6cmV0dXJuIHQ9dC5ub2RlVHlwZSE9PTg/bnVsbDp0LHQhPT1udWxsPyhuPUx0IT09bnVsbD97aWQ6V2Usb3ZlcmZsb3c6SGV9Om51bGwsZS5tZW1vaXplZFN0YXRlPXtkZWh5ZHJhdGVkOnQsdHJlZUNvbnRleHQ6bixyZXRyeUxhbmU6MTA3Mzc0MTgyNH0sbj1DZSgxOCxudWxsLG51bGwsMCksbi5zdGF0ZU5vZGU9dCxuLnJldHVybj1lLGUuY2hpbGQ9bixnZT1lLHllPW51bGwsITApOiExO2RlZmF1bHQ6cmV0dXJuITF9fWZ1bmN0aW9uIERvKGUpe3JldHVybihlLm1vZGUmMSkhPT0wJiYoZS5mbGFncyYxMjgpPT09MH1mdW5jdGlvbiBqbyhlKXtpZihVKXt2YXIgdD15ZTtpZih0KXt2YXIgbj10O2lmKCFqaShlLHQpKXtpZihEbyhlKSl0aHJvdyBFcnJvcihnKDQxOCkpO3Q9c3Qobi5uZXh0U2libGluZyk7dmFyIHI9Z2U7dCYmamkoZSx0KT9SYShyLG4pOihlLmZsYWdzPWUuZmxhZ3MmLTQwOTd8MixVPSExLGdlPWUpfX1lbHNle2lmKERvKGUpKXRocm93IEVycm9yKGcoNDE4KSk7ZS5mbGFncz1lLmZsYWdzJi00MDk3fDIsVT0hMSxnZT1lfX19ZnVuY3Rpb24gRmkoZSl7Zm9yKGU9ZS5yZXR1cm47ZSE9PW51bGwmJmUudGFnIT09NSYmZS50YWchPT0zJiZlLnRhZyE9PTEzOyllPWUucmV0dXJuO2dlPWV9ZnVuY3Rpb24gRXIoZSl7aWYoZSE9PWdlKXJldHVybiExO2lmKCFVKXJldHVybiBGaShlKSxVPSEwLCExO3ZhciB0O2lmKCh0PWUudGFnIT09MykmJiEodD1lLnRhZyE9PTUpJiYodD1lLnR5cGUsdD10IT09ImhlYWQiJiZ0IT09ImJvZHkiJiYhVG8oZS50eXBlLGUubWVtb2l6ZWRQcm9wcykpLHQmJih0PXllKSl7aWYoRG8oZSkpdGhyb3cgVGEoKSxFcnJvcihnKDQxOCkpO2Zvcig7dDspUmEoZSx0KSx0PXN0KHQubmV4dFNpYmxpbmcpfWlmKEZpKGUpLGUudGFnPT09MTMpe2lmKGU9ZS5tZW1vaXplZFN0YXRlLGU9ZSE9PW51bGw/ZS5kZWh5ZHJhdGVkOm51bGwsIWUpdGhyb3cgRXJyb3IoZygzMTcpKTtlOntmb3IoZT1lLm5leHRTaWJsaW5nLHQ9MDtlOyl7aWYoZS5ub2RlVHlwZT09PTgpe3ZhciBuPWUuZGF0YTtpZihuPT09Ii8kIil7aWYodD09PTApe3llPXN0KGUubmV4dFNpYmxpbmcpO2JyZWFrIGV9dC0tfWVsc2UgbiE9PSIkIiYmbiE9PSIkISImJm4hPT0iJD8ifHx0Kyt9ZT1lLm5leHRTaWJsaW5nfXllPW51bGx9fWVsc2UgeWU9Z2U/c3QoZS5zdGF0ZU5vZGUubmV4dFNpYmxpbmcpOm51bGw7cmV0dXJuITB9ZnVuY3Rpb24gVGEoKXtmb3IodmFyIGU9eWU7ZTspZT1zdChlLm5leHRTaWJsaW5nKX1mdW5jdGlvbiB1bigpe3llPWdlPW51bGwsVT0hMX1mdW5jdGlvbiBfdShlKXtPZT09PW51bGw/T2U9W2VdOk9lLnB1c2goZSl9dmFyIEJkPVplLlJlYWN0Q3VycmVudEJhdGNoQ29uZmlnO2Z1bmN0aW9uIEVuKGUsdCxuKXtpZihlPW4ucmVmLGUhPT1udWxsJiZ0eXBlb2YgZSE9ImZ1bmN0aW9uIiYmdHlwZW9mIGUhPSJvYmplY3QiKXtpZihuLl9vd25lcil7aWYobj1uLl9vd25lcixuKXtpZihuLnRhZyE9PTEpdGhyb3cgRXJyb3IoZygzMDkpKTt2YXIgcj1uLnN0YXRlTm9kZX1pZighcil0aHJvdyBFcnJvcihnKDE0NyxlKSk7dmFyIGw9cixvPSIiK2U7cmV0dXJuIHQhPT1udWxsJiZ0LnJlZiE9PW51bGwmJnR5cGVvZiB0LnJlZj09ImZ1bmN0aW9uIiYmdC5yZWYuX3N0cmluZ1JlZj09PW8/dC5yZWY6KHQ9ZnVuY3Rpb24odSl7dmFyIGk9bC5yZWZzO3U9PT1udWxsP2RlbGV0ZSBpW29dOmlbb109dX0sdC5fc3RyaW5nUmVmPW8sdCl9aWYodHlwZW9mIGUhPSJzdHJpbmciKXRocm93IEVycm9yKGcoMjg0KSk7aWYoIW4uX293bmVyKXRocm93IEVycm9yKGcoMjkwLGUpKX1yZXR1cm4gZX1mdW5jdGlvbiB4cihlLHQpe3Rocm93IGU9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpLEVycm9yKGcoMzEsZT09PSJbb2JqZWN0IE9iamVjdF0iPyJvYmplY3Qgd2l0aCBrZXlzIHsiK09iamVjdC5rZXlzKHQpLmpvaW4oIiwgIikrIn0iOmUpKX1mdW5jdGlvbiBVaShlKXt2YXIgdD1lLl9pbml0O3JldHVybiB0KGUuX3BheWxvYWQpfWZ1bmN0aW9uIE9hKGUpe2Z1bmN0aW9uIHQoZixjKXtpZihlKXt2YXIgcD1mLmRlbGV0aW9ucztwPT09bnVsbD8oZi5kZWxldGlvbnM9W2NdLGYuZmxhZ3N8PTE2KTpwLnB1c2goYyl9fWZ1bmN0aW9uIG4oZixjKXtpZighZSlyZXR1cm4gbnVsbDtmb3IoO2MhPT1udWxsOyl0KGYsYyksYz1jLnNpYmxpbmc7cmV0dXJuIG51bGx9ZnVuY3Rpb24gcihmLGMpe2ZvcihmPW5ldyBNYXA7YyE9PW51bGw7KWMua2V5IT09bnVsbD9mLnNldChjLmtleSxjKTpmLnNldChjLmluZGV4LGMpLGM9Yy5zaWJsaW5nO3JldHVybiBmfWZ1bmN0aW9uIGwoZixjKXtyZXR1cm4gZj1kdChmLGMpLGYuaW5kZXg9MCxmLnNpYmxpbmc9bnVsbCxmfWZ1bmN0aW9uIG8oZixjLHApe3JldHVybiBmLmluZGV4PXAsZT8ocD1mLmFsdGVybmF0ZSxwIT09bnVsbD8ocD1wLmluZGV4LHA8Yz8oZi5mbGFnc3w9MixjKTpwKTooZi5mbGFnc3w9MixjKSk6KGYuZmxhZ3N8PTEwNDg1NzYsYyl9ZnVuY3Rpb24gdShmKXtyZXR1cm4gZSYmZi5hbHRlcm5hdGU9PT1udWxsJiYoZi5mbGFnc3w9MiksZn1mdW5jdGlvbiBpKGYsYyxwLHYpe3JldHVybiBjPT09bnVsbHx8Yy50YWchPT02PyhjPXJvKHAsZi5tb2RlLHYpLGMucmV0dXJuPWYsYyk6KGM9bChjLHApLGMucmV0dXJuPWYsYyl9ZnVuY3Rpb24gcyhmLGMscCx2KXt2YXIgaz1wLnR5cGU7cmV0dXJuIGs9PT1CdD9oKGYsYyxwLnByb3BzLmNoaWxkcmVuLHYscC5rZXkpOmMhPT1udWxsJiYoYy5lbGVtZW50VHlwZT09PWt8fHR5cGVvZiBrPT0ib2JqZWN0IiYmayE9PW51bGwmJmsuJCR0eXBlb2Y9PT1xZSYmVWkoayk9PT1jLnR5cGUpPyh2PWwoYyxwLnByb3BzKSx2LnJlZj1FbihmLGMscCksdi5yZXR1cm49Zix2KToodj0kcihwLnR5cGUscC5rZXkscC5wcm9wcyxudWxsLGYubW9kZSx2KSx2LnJlZj1FbihmLGMscCksdi5yZXR1cm49Zix2KX1mdW5jdGlvbiBhKGYsYyxwLHYpe3JldHVybiBjPT09bnVsbHx8Yy50YWchPT00fHxjLnN0YXRlTm9kZS5jb250YWluZXJJbmZvIT09cC5jb250YWluZXJJbmZvfHxjLnN0YXRlTm9kZS5pbXBsZW1lbnRhdGlvbiE9PXAuaW1wbGVtZW50YXRpb24/KGM9bG8ocCxmLm1vZGUsdiksYy5yZXR1cm49ZixjKTooYz1sKGMscC5jaGlsZHJlbnx8W10pLGMucmV0dXJuPWYsYyl9ZnVuY3Rpb24gaChmLGMscCx2LGspe3JldHVybiBjPT09bnVsbHx8Yy50YWchPT03PyhjPVB0KHAsZi5tb2RlLHYsayksYy5yZXR1cm49ZixjKTooYz1sKGMscCksYy5yZXR1cm49ZixjKX1mdW5jdGlvbiBkKGYsYyxwKXtpZih0eXBlb2YgYz09InN0cmluZyImJmMhPT0iInx8dHlwZW9mIGM9PSJudW1iZXIiKXJldHVybiBjPXJvKCIiK2MsZi5tb2RlLHApLGMucmV0dXJuPWYsYztpZih0eXBlb2YgYz09Im9iamVjdCImJmMhPT1udWxsKXtzd2l0Y2goYy4kJHR5cGVvZil7Y2FzZSBkcjpyZXR1cm4gcD0kcihjLnR5cGUsYy5rZXksYy5wcm9wcyxudWxsLGYubW9kZSxwKSxwLnJlZj1FbihmLG51bGwsYykscC5yZXR1cm49ZixwO2Nhc2UgQXQ6cmV0dXJuIGM9bG8oYyxmLm1vZGUscCksYy5yZXR1cm49ZixjO2Nhc2UgcWU6dmFyIHY9Yy5faW5pdDtyZXR1cm4gZChmLHYoYy5fcGF5bG9hZCkscCl9aWYoUG4oYyl8fHluKGMpKXJldHVybiBjPVB0KGMsZi5tb2RlLHAsbnVsbCksYy5yZXR1cm49ZixjO3hyKGYsYyl9cmV0dXJuIG51bGx9ZnVuY3Rpb24gbShmLGMscCx2KXt2YXIgaz1jIT09bnVsbD9jLmtleTpudWxsO2lmKHR5cGVvZiBwPT0ic3RyaW5nIiYmcCE9PSIifHx0eXBlb2YgcD09Im51bWJlciIpcmV0dXJuIGshPT1udWxsP251bGw6aShmLGMsIiIrcCx2KTtpZih0eXBlb2YgcD09Im9iamVjdCImJnAhPT1udWxsKXtzd2l0Y2gocC4kJHR5cGVvZil7Y2FzZSBkcjpyZXR1cm4gcC5rZXk9PT1rP3MoZixjLHAsdik6bnVsbDtjYXNlIEF0OnJldHVybiBwLmtleT09PWs/YShmLGMscCx2KTpudWxsO2Nhc2UgcWU6cmV0dXJuIGs9cC5faW5pdCxtKGYsYyxrKHAuX3BheWxvYWQpLHYpfWlmKFBuKHApfHx5bihwKSlyZXR1cm4gayE9PW51bGw/bnVsbDpoKGYsYyxwLHYsbnVsbCk7eHIoZixwKX1yZXR1cm4gbnVsbH1mdW5jdGlvbiB5KGYsYyxwLHYsayl7aWYodHlwZW9mIHY9PSJzdHJpbmciJiZ2IT09IiJ8fHR5cGVvZiB2PT0ibnVtYmVyIilyZXR1cm4gZj1mLmdldChwKXx8bnVsbCxpKGMsZiwiIit2LGspO2lmKHR5cGVvZiB2PT0ib2JqZWN0IiYmdiE9PW51bGwpe3N3aXRjaCh2LiQkdHlwZW9mKXtjYXNlIGRyOnJldHVybiBmPWYuZ2V0KHYua2V5PT09bnVsbD9wOnYua2V5KXx8bnVsbCxzKGMsZix2LGspO2Nhc2UgQXQ6cmV0dXJuIGY9Zi5nZXQodi5rZXk9PT1udWxsP3A6di5rZXkpfHxudWxsLGEoYyxmLHYsayk7Y2FzZSBxZTp2YXIgUD12Ll9pbml0O3JldHVybiB5KGYsYyxwLFAodi5fcGF5bG9hZCksayl9aWYoUG4odil8fHluKHYpKXJldHVybiBmPWYuZ2V0KHApfHxudWxsLGgoYyxmLHYsayxudWxsKTt4cihjLHYpfXJldHVybiBudWxsfWZ1bmN0aW9uIHcoZixjLHAsdil7Zm9yKHZhciBrPW51bGwsUD1udWxsLE49Yyx6PWM9MCxXPW51bGw7TiE9PW51bGwmJno8cC5sZW5ndGg7eisrKXtOLmluZGV4Pno/KFc9TixOPW51bGwpOlc9Ti5zaWJsaW5nO3ZhciBPPW0oZixOLHBbel0sdik7aWYoTz09PW51bGwpe049PT1udWxsJiYoTj1XKTticmVha31lJiZOJiZPLmFsdGVybmF0ZT09PW51bGwmJnQoZixOKSxjPW8oTyxjLHopLFA9PT1udWxsP2s9TzpQLnNpYmxpbmc9TyxQPU8sTj1XfWlmKHo9PT1wLmxlbmd0aClyZXR1cm4gbihmLE4pLFUmJlN0KGYseiksaztpZihOPT09bnVsbCl7Zm9yKDt6PHAubGVuZ3RoO3orKylOPWQoZixwW3pdLHYpLE4hPT1udWxsJiYoYz1vKE4sYyx6KSxQPT09bnVsbD9rPU46UC5zaWJsaW5nPU4sUD1OKTtyZXR1cm4gVSYmU3QoZix6KSxrfWZvcihOPXIoZixOKTt6PHAubGVuZ3RoO3orKylXPXkoTixmLHoscFt6XSx2KSxXIT09bnVsbCYmKGUmJlcuYWx0ZXJuYXRlIT09bnVsbCYmTi5kZWxldGUoVy5rZXk9PT1udWxsP3o6Vy5rZXkpLGM9byhXLGMseiksUD09PW51bGw/az1XOlAuc2libGluZz1XLFA9Vyk7cmV0dXJuIGUmJk4uZm9yRWFjaChmdW5jdGlvbih6ZSl7cmV0dXJuIHQoZix6ZSl9KSxVJiZTdChmLHopLGt9ZnVuY3Rpb24gUyhmLGMscCx2KXt2YXIgaz15bihwKTtpZih0eXBlb2YgayE9ImZ1bmN0aW9uIil0aHJvdyBFcnJvcihnKDE1MCkpO2lmKHA9ay5jYWxsKHApLHA9PW51bGwpdGhyb3cgRXJyb3IoZygxNTEpKTtmb3IodmFyIFA9az1udWxsLE49Yyx6PWM9MCxXPW51bGwsTz1wLm5leHQoKTtOIT09bnVsbCYmIU8uZG9uZTt6KyssTz1wLm5leHQoKSl7Ti5pbmRleD56PyhXPU4sTj1udWxsKTpXPU4uc2libGluZzt2YXIgemU9bShmLE4sTy52YWx1ZSx2KTtpZih6ZT09PW51bGwpe049PT1udWxsJiYoTj1XKTticmVha31lJiZOJiZ6ZS5hbHRlcm5hdGU9PT1udWxsJiZ0KGYsTiksYz1vKHplLGMseiksUD09PW51bGw/az16ZTpQLnNpYmxpbmc9emUsUD16ZSxOPVd9aWYoTy5kb25lKXJldHVybiBuKGYsTiksVSYmU3QoZix6KSxrO2lmKE49PT1udWxsKXtmb3IoOyFPLmRvbmU7eisrLE89cC5uZXh0KCkpTz1kKGYsTy52YWx1ZSx2KSxPIT09bnVsbCYmKGM9byhPLGMseiksUD09PW51bGw/az1POlAuc2libGluZz1PLFA9Tyk7cmV0dXJuIFUmJlN0KGYseiksa31mb3IoTj1yKGYsTik7IU8uZG9uZTt6KyssTz1wLm5leHQoKSlPPXkoTixmLHosTy52YWx1ZSx2KSxPIT09bnVsbCYmKGUmJk8uYWx0ZXJuYXRlIT09bnVsbCYmTi5kZWxldGUoTy5rZXk9PT1udWxsP3o6Ty5rZXkpLGM9byhPLGMseiksUD09PW51bGw/az1POlAuc2libGluZz1PLFA9Tyk7cmV0dXJuIGUmJk4uZm9yRWFjaChmdW5jdGlvbihtbil7cmV0dXJuIHQoZixtbil9KSxVJiZTdChmLHopLGt9ZnVuY3Rpb24gRShmLGMscCx2KXtpZih0eXBlb2YgcD09Im9iamVjdCImJnAhPT1udWxsJiZwLnR5cGU9PT1CdCYmcC5rZXk9PT1udWxsJiYocD1wLnByb3BzLmNoaWxkcmVuKSx0eXBlb2YgcD09Im9iamVjdCImJnAhPT1udWxsKXtzd2l0Y2gocC4kJHR5cGVvZil7Y2FzZSBkcjplOntmb3IodmFyIGs9cC5rZXksUD1jO1AhPT1udWxsOyl7aWYoUC5rZXk9PT1rKXtpZihrPXAudHlwZSxrPT09QnQpe2lmKFAudGFnPT09Nyl7bihmLFAuc2libGluZyksYz1sKFAscC5wcm9wcy5jaGlsZHJlbiksYy5yZXR1cm49ZixmPWM7YnJlYWsgZX19ZWxzZSBpZihQLmVsZW1lbnRUeXBlPT09a3x8dHlwZW9mIGs9PSJvYmplY3QiJiZrIT09bnVsbCYmay4kJHR5cGVvZj09PXFlJiZVaShrKT09PVAudHlwZSl7bihmLFAuc2libGluZyksYz1sKFAscC5wcm9wcyksYy5yZWY9RW4oZixQLHApLGMucmV0dXJuPWYsZj1jO2JyZWFrIGV9bihmLFApO2JyZWFrfWVsc2UgdChmLFApO1A9UC5zaWJsaW5nfXAudHlwZT09PUJ0PyhjPVB0KHAucHJvcHMuY2hpbGRyZW4sZi5tb2RlLHYscC5rZXkpLGMucmV0dXJuPWYsZj1jKToodj0kcihwLnR5cGUscC5rZXkscC5wcm9wcyxudWxsLGYubW9kZSx2KSx2LnJlZj1FbihmLGMscCksdi5yZXR1cm49ZixmPXYpfXJldHVybiB1KGYpO2Nhc2UgQXQ6ZTp7Zm9yKFA9cC5rZXk7YyE9PW51bGw7KXtpZihjLmtleT09PVApaWYoYy50YWc9PT00JiZjLnN0YXRlTm9kZS5jb250YWluZXJJbmZvPT09cC5jb250YWluZXJJbmZvJiZjLnN0YXRlTm9kZS5pbXBsZW1lbnRhdGlvbj09PXAuaW1wbGVtZW50YXRpb24pe24oZixjLnNpYmxpbmcpLGM9bChjLHAuY2hpbGRyZW58fFtdKSxjLnJldHVybj1mLGY9YzticmVhayBlfWVsc2V7bihmLGMpO2JyZWFrfWVsc2UgdChmLGMpO2M9Yy5zaWJsaW5nfWM9bG8ocCxmLm1vZGUsdiksYy5yZXR1cm49ZixmPWN9cmV0dXJuIHUoZik7Y2FzZSBxZTpyZXR1cm4gUD1wLl9pbml0LEUoZixjLFAocC5fcGF5bG9hZCksdil9aWYoUG4ocCkpcmV0dXJuIHcoZixjLHAsdik7aWYoeW4ocCkpcmV0dXJuIFMoZixjLHAsdik7eHIoZixwKX1yZXR1cm4gdHlwZW9mIHA9PSJzdHJpbmciJiZwIT09IiJ8fHR5cGVvZiBwPT0ibnVtYmVyIj8ocD0iIitwLGMhPT1udWxsJiZjLnRhZz09PTY/KG4oZixjLnNpYmxpbmcpLGM9bChjLHApLGMucmV0dXJuPWYsZj1jKToobihmLGMpLGM9cm8ocCxmLm1vZGUsdiksYy5yZXR1cm49ZixmPWMpLHUoZikpOm4oZixjKX1yZXR1cm4gRX12YXIgc249T2EoITApLElhPU9hKCExKSxicj12dChudWxsKSxlbD1udWxsLEd0PW51bGwsUHU9bnVsbDtmdW5jdGlvbiBOdSgpe1B1PUd0PWVsPW51bGx9ZnVuY3Rpb24genUoZSl7dmFyIHQ9YnIuY3VycmVudDtGKGJyKSxlLl9jdXJyZW50VmFsdWU9dH1mdW5jdGlvbiBGbyhlLHQsbil7Zm9yKDtlIT09bnVsbDspe3ZhciByPWUuYWx0ZXJuYXRlO2lmKChlLmNoaWxkTGFuZXMmdCkhPT10PyhlLmNoaWxkTGFuZXN8PXQsciE9PW51bGwmJihyLmNoaWxkTGFuZXN8PXQpKTpyIT09bnVsbCYmKHIuY2hpbGRMYW5lcyZ0KSE9PXQmJihyLmNoaWxkTGFuZXN8PXQpLGU9PT1uKWJyZWFrO2U9ZS5yZXR1cm59fWZ1bmN0aW9uIG5uKGUsdCl7ZWw9ZSxQdT1HdD1udWxsLGU9ZS5kZXBlbmRlbmNpZXMsZSE9PW51bGwmJmUuZmlyc3RDb250ZXh0IT09bnVsbCYmKGUubGFuZXMmdCYmKGRlPSEwKSxlLmZpcnN0Q29udGV4dD1udWxsKX1mdW5jdGlvbiBQZShlKXt2YXIgdD1lLl9jdXJyZW50VmFsdWU7aWYoUHUhPT1lKWlmKGU9e2NvbnRleHQ6ZSxtZW1vaXplZFZhbHVlOnQsbmV4dDpudWxsfSxHdD09PW51bGwpe2lmKGVsPT09bnVsbCl0aHJvdyBFcnJvcihnKDMwOCkpO0d0PWUsZWwuZGVwZW5kZW5jaWVzPXtsYW5lczowLGZpcnN0Q29udGV4dDplfX1lbHNlIEd0PUd0Lm5leHQ9ZTtyZXR1cm4gdH12YXIgeHQ9bnVsbDtmdW5jdGlvbiBMdShlKXt4dD09PW51bGw/eHQ9W2VdOnh0LnB1c2goZSl9ZnVuY3Rpb24gTWEoZSx0LG4scil7dmFyIGw9dC5pbnRlcmxlYXZlZDtyZXR1cm4gbD09PW51bGw/KG4ubmV4dD1uLEx1KHQpKToobi5uZXh0PWwubmV4dCxsLm5leHQ9biksdC5pbnRlcmxlYXZlZD1uLFhlKGUscil9ZnVuY3Rpb24gWGUoZSx0KXtlLmxhbmVzfD10O3ZhciBuPWUuYWx0ZXJuYXRlO2ZvcihuIT09bnVsbCYmKG4ubGFuZXN8PXQpLG49ZSxlPWUucmV0dXJuO2UhPT1udWxsOyllLmNoaWxkTGFuZXN8PXQsbj1lLmFsdGVybmF0ZSxuIT09bnVsbCYmKG4uY2hpbGRMYW5lc3w9dCksbj1lLGU9ZS5yZXR1cm47cmV0dXJuIG4udGFnPT09Mz9uLnN0YXRlTm9kZTpudWxsfXZhciBiZT0hMTtmdW5jdGlvbiBSdShlKXtlLnVwZGF0ZVF1ZXVlPXtiYXNlU3RhdGU6ZS5tZW1vaXplZFN0YXRlLGZpcnN0QmFzZVVwZGF0ZTpudWxsLGxhc3RCYXNlVXBkYXRlOm51bGwsc2hhcmVkOntwZW5kaW5nOm51bGwsaW50ZXJsZWF2ZWQ6bnVsbCxsYW5lczowfSxlZmZlY3RzOm51bGx9fWZ1bmN0aW9uIERhKGUsdCl7ZT1lLnVwZGF0ZVF1ZXVlLHQudXBkYXRlUXVldWU9PT1lJiYodC51cGRhdGVRdWV1ZT17YmFzZVN0YXRlOmUuYmFzZVN0YXRlLGZpcnN0QmFzZVVwZGF0ZTplLmZpcnN0QmFzZVVwZGF0ZSxsYXN0QmFzZVVwZGF0ZTplLmxhc3RCYXNlVXBkYXRlLHNoYXJlZDplLnNoYXJlZCxlZmZlY3RzOmUuZWZmZWN0c30pfWZ1bmN0aW9uIFFlKGUsdCl7cmV0dXJue2V2ZW50VGltZTplLGxhbmU6dCx0YWc6MCxwYXlsb2FkOm51bGwsY2FsbGJhY2s6bnVsbCxuZXh0Om51bGx9fWZ1bmN0aW9uIGF0KGUsdCxuKXt2YXIgcj1lLnVwZGF0ZVF1ZXVlO2lmKHI9PT1udWxsKXJldHVybiBudWxsO2lmKHI9ci5zaGFyZWQsSSYyKXt2YXIgbD1yLnBlbmRpbmc7cmV0dXJuIGw9PT1udWxsP3QubmV4dD10Oih0Lm5leHQ9bC5uZXh0LGwubmV4dD10KSxyLnBlbmRpbmc9dCxYZShlLG4pfXJldHVybiBsPXIuaW50ZXJsZWF2ZWQsbD09PW51bGw/KHQubmV4dD10LEx1KHIpKToodC5uZXh0PWwubmV4dCxsLm5leHQ9dCksci5pbnRlcmxlYXZlZD10LFhlKGUsbil9ZnVuY3Rpb24gSXIoZSx0LG4pe2lmKHQ9dC51cGRhdGVRdWV1ZSx0IT09bnVsbCYmKHQ9dC5zaGFyZWQsKG4mNDE5NDI0MCkhPT0wKSl7dmFyIHI9dC5sYW5lcztyJj1lLnBlbmRpbmdMYW5lcyxufD1yLHQubGFuZXM9bixtdShlLG4pfX1mdW5jdGlvbiAkaShlLHQpe3ZhciBuPWUudXBkYXRlUXVldWUscj1lLmFsdGVybmF0ZTtpZihyIT09bnVsbCYmKHI9ci51cGRhdGVRdWV1ZSxuPT09cikpe3ZhciBsPW51bGwsbz1udWxsO2lmKG49bi5maXJzdEJhc2VVcGRhdGUsbiE9PW51bGwpe2Rve3ZhciB1PXtldmVudFRpbWU6bi5ldmVudFRpbWUsbGFuZTpuLmxhbmUsdGFnOm4udGFnLHBheWxvYWQ6bi5wYXlsb2FkLGNhbGxiYWNrOm4uY2FsbGJhY2ssbmV4dDpudWxsfTtvPT09bnVsbD9sPW89dTpvPW8ubmV4dD11LG49bi5uZXh0fXdoaWxlKG4hPT1udWxsKTtvPT09bnVsbD9sPW89dDpvPW8ubmV4dD10fWVsc2UgbD1vPXQ7bj17YmFzZVN0YXRlOnIuYmFzZVN0YXRlLGZpcnN0QmFzZVVwZGF0ZTpsLGxhc3RCYXNlVXBkYXRlOm8sc2hhcmVkOnIuc2hhcmVkLGVmZmVjdHM6ci5lZmZlY3RzfSxlLnVwZGF0ZVF1ZXVlPW47cmV0dXJufWU9bi5sYXN0QmFzZVVwZGF0ZSxlPT09bnVsbD9uLmZpcnN0QmFzZVVwZGF0ZT10OmUubmV4dD10LG4ubGFzdEJhc2VVcGRhdGU9dH1mdW5jdGlvbiB0bChlLHQsbixyKXt2YXIgbD1lLnVwZGF0ZVF1ZXVlO2JlPSExO3ZhciBvPWwuZmlyc3RCYXNlVXBkYXRlLHU9bC5sYXN0QmFzZVVwZGF0ZSxpPWwuc2hhcmVkLnBlbmRpbmc7aWYoaSE9PW51bGwpe2wuc2hhcmVkLnBlbmRpbmc9bnVsbDt2YXIgcz1pLGE9cy5uZXh0O3MubmV4dD1udWxsLHU9PT1udWxsP289YTp1Lm5leHQ9YSx1PXM7dmFyIGg9ZS5hbHRlcm5hdGU7aCE9PW51bGwmJihoPWgudXBkYXRlUXVldWUsaT1oLmxhc3RCYXNlVXBkYXRlLGkhPT11JiYoaT09PW51bGw/aC5maXJzdEJhc2VVcGRhdGU9YTppLm5leHQ9YSxoLmxhc3RCYXNlVXBkYXRlPXMpKX1pZihvIT09bnVsbCl7dmFyIGQ9bC5iYXNlU3RhdGU7dT0wLGg9YT1zPW51bGwsaT1vO2Rve3ZhciBtPWkubGFuZSx5PWkuZXZlbnRUaW1lO2lmKChyJm0pPT09bSl7aCE9PW51bGwmJihoPWgubmV4dD17ZXZlbnRUaW1lOnksbGFuZTowLHRhZzppLnRhZyxwYXlsb2FkOmkucGF5bG9hZCxjYWxsYmFjazppLmNhbGxiYWNrLG5leHQ6bnVsbH0pO2U6e3ZhciB3PWUsUz1pO3N3aXRjaChtPXQseT1uLFMudGFnKXtjYXNlIDE6aWYodz1TLnBheWxvYWQsdHlwZW9mIHc9PSJmdW5jdGlvbiIpe2Q9dy5jYWxsKHksZCxtKTticmVhayBlfWQ9dzticmVhayBlO2Nhc2UgMzp3LmZsYWdzPXcuZmxhZ3MmLTY1NTM3fDEyODtjYXNlIDA6aWYodz1TLnBheWxvYWQsbT10eXBlb2Ygdz09ImZ1bmN0aW9uIj93LmNhbGwoeSxkLG0pOncsbT09bnVsbClicmVhayBlO2Q9Qih7fSxkLG0pO2JyZWFrIGU7Y2FzZSAyOmJlPSEwfX1pLmNhbGxiYWNrIT09bnVsbCYmaS5sYW5lIT09MCYmKGUuZmxhZ3N8PTY0LG09bC5lZmZlY3RzLG09PT1udWxsP2wuZWZmZWN0cz1baV06bS5wdXNoKGkpKX1lbHNlIHk9e2V2ZW50VGltZTp5LGxhbmU6bSx0YWc6aS50YWcscGF5bG9hZDppLnBheWxvYWQsY2FsbGJhY2s6aS5jYWxsYmFjayxuZXh0Om51bGx9LGg9PT1udWxsPyhhPWg9eSxzPWQpOmg9aC5uZXh0PXksdXw9bTtpZihpPWkubmV4dCxpPT09bnVsbCl7aWYoaT1sLnNoYXJlZC5wZW5kaW5nLGk9PT1udWxsKWJyZWFrO209aSxpPW0ubmV4dCxtLm5leHQ9bnVsbCxsLmxhc3RCYXNlVXBkYXRlPW0sbC5zaGFyZWQucGVuZGluZz1udWxsfX13aGlsZSghMCk7aWYoaD09PW51bGwmJihzPWQpLGwuYmFzZVN0YXRlPXMsbC5maXJzdEJhc2VVcGRhdGU9YSxsLmxhc3RCYXNlVXBkYXRlPWgsdD1sLnNoYXJlZC5pbnRlcmxlYXZlZCx0IT09bnVsbCl7bD10O2RvIHV8PWwubGFuZSxsPWwubmV4dDt3aGlsZShsIT09dCl9ZWxzZSBvPT09bnVsbCYmKGwuc2hhcmVkLmxhbmVzPTApO1R0fD11LGUubGFuZXM9dSxlLm1lbW9pemVkU3RhdGU9ZH19ZnVuY3Rpb24gQWkoZSx0LG4pe2lmKGU9dC5lZmZlY3RzLHQuZWZmZWN0cz1udWxsLGUhPT1udWxsKWZvcih0PTA7dDxlLmxlbmd0aDt0Kyspe3ZhciByPWVbdF0sbD1yLmNhbGxiYWNrO2lmKGwhPT1udWxsKXtpZihyLmNhbGxiYWNrPW51bGwscj1uLHR5cGVvZiBsIT0iZnVuY3Rpb24iKXRocm93IEVycm9yKGcoMTkxLGwpKTtsLmNhbGwocil9fX12YXIgc3I9e30sQWU9dnQoc3IpLEduPXZ0KHNyKSxabj12dChzcik7ZnVuY3Rpb24gQ3QoZSl7aWYoZT09PXNyKXRocm93IEVycm9yKGcoMTc0KSk7cmV0dXJuIGV9ZnVuY3Rpb24gVHUoZSx0KXtzd2l0Y2goRChabix0KSxEKEduLGUpLEQoQWUsc3IpLGU9dC5ub2RlVHlwZSxlKXtjYXNlIDk6Y2FzZSAxMTp0PSh0PXQuZG9jdW1lbnRFbGVtZW50KT90Lm5hbWVzcGFjZVVSSTp5byhudWxsLCIiKTticmVhaztkZWZhdWx0OmU9ZT09PTg/dC5wYXJlbnROb2RlOnQsdD1lLm5hbWVzcGFjZVVSSXx8bnVsbCxlPWUudGFnTmFtZSx0PXlvKHQsZSl9RihBZSksRChBZSx0KX1mdW5jdGlvbiBhbigpe0YoQWUpLEYoR24pLEYoWm4pfWZ1bmN0aW9uIGphKGUpe0N0KFpuLmN1cnJlbnQpO3ZhciB0PUN0KEFlLmN1cnJlbnQpLG49eW8odCxlLnR5cGUpO3QhPT1uJiYoRChHbixlKSxEKEFlLG4pKX1mdW5jdGlvbiBPdShlKXtHbi5jdXJyZW50PT09ZSYmKEYoQWUpLEYoR24pKX12YXIgJD12dCgwKTtmdW5jdGlvbiBubChlKXtmb3IodmFyIHQ9ZTt0IT09bnVsbDspe2lmKHQudGFnPT09MTMpe3ZhciBuPXQubWVtb2l6ZWRTdGF0ZTtpZihuIT09bnVsbCYmKG49bi5kZWh5ZHJhdGVkLG49PT1udWxsfHxuLmRhdGE9PT0iJD8ifHxuLmRhdGE9PT0iJCEiKSlyZXR1cm4gdH1lbHNlIGlmKHQudGFnPT09MTkmJnQubWVtb2l6ZWRQcm9wcy5yZXZlYWxPcmRlciE9PXZvaWQgMCl7aWYodC5mbGFncyYxMjgpcmV0dXJuIHR9ZWxzZSBpZih0LmNoaWxkIT09bnVsbCl7dC5jaGlsZC5yZXR1cm49dCx0PXQuY2hpbGQ7Y29udGludWV9aWYodD09PWUpYnJlYWs7Zm9yKDt0LnNpYmxpbmc9PT1udWxsOyl7aWYodC5yZXR1cm49PT1udWxsfHx0LnJldHVybj09PWUpcmV0dXJuIG51bGw7dD10LnJldHVybn10LnNpYmxpbmcucmV0dXJuPXQucmV0dXJuLHQ9dC5zaWJsaW5nfXJldHVybiBudWxsfXZhciBKbD1bXTtmdW5jdGlvbiBJdSgpe2Zvcih2YXIgZT0wO2U8SmwubGVuZ3RoO2UrKylKbFtlXS5fd29ya0luUHJvZ3Jlc3NWZXJzaW9uUHJpbWFyeT1udWxsO0psLmxlbmd0aD0wfXZhciBNcj1aZS5SZWFjdEN1cnJlbnREaXNwYXRjaGVyLHFsPVplLlJlYWN0Q3VycmVudEJhdGNoQ29uZmlnLFJ0PTAsQT1udWxsLFk9bnVsbCxKPW51bGwscmw9ITEsTW49ITEsSm49MCxWZD0wO2Z1bmN0aW9uIG5lKCl7dGhyb3cgRXJyb3IoZygzMjEpKX1mdW5jdGlvbiBNdShlLHQpe2lmKHQ9PT1udWxsKXJldHVybiExO2Zvcih2YXIgbj0wO248dC5sZW5ndGgmJm48ZS5sZW5ndGg7bisrKWlmKCFEZShlW25dLHRbbl0pKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIER1KGUsdCxuLHIsbCxvKXtpZihSdD1vLEE9dCx0Lm1lbW9pemVkU3RhdGU9bnVsbCx0LnVwZGF0ZVF1ZXVlPW51bGwsdC5sYW5lcz0wLE1yLmN1cnJlbnQ9ZT09PW51bGx8fGUubWVtb2l6ZWRTdGF0ZT09PW51bGw/S2Q6WWQsZT1uKHIsbCksTW4pe289MDtkb3tpZihNbj0hMSxKbj0wLDI1PD1vKXRocm93IEVycm9yKGcoMzAxKSk7bys9MSxKPVk9bnVsbCx0LnVwZGF0ZVF1ZXVlPW51bGwsTXIuY3VycmVudD1YZCxlPW4ocixsKX13aGlsZShNbil9aWYoTXIuY3VycmVudD1sbCx0PVkhPT1udWxsJiZZLm5leHQhPT1udWxsLFJ0PTAsSj1ZPUE9bnVsbCxybD0hMSx0KXRocm93IEVycm9yKGcoMzAwKSk7cmV0dXJuIGV9ZnVuY3Rpb24ganUoKXt2YXIgZT1KbiE9PTA7cmV0dXJuIEpuPTAsZX1mdW5jdGlvbiBGZSgpe3ZhciBlPXttZW1vaXplZFN0YXRlOm51bGwsYmFzZVN0YXRlOm51bGwsYmFzZVF1ZXVlOm51bGwscXVldWU6bnVsbCxuZXh0Om51bGx9O3JldHVybiBKPT09bnVsbD9BLm1lbW9pemVkU3RhdGU9Sj1lOko9Si5uZXh0PWUsSn1mdW5jdGlvbiBOZSgpe2lmKFk9PT1udWxsKXt2YXIgZT1BLmFsdGVybmF0ZTtlPWUhPT1udWxsP2UubWVtb2l6ZWRTdGF0ZTpudWxsfWVsc2UgZT1ZLm5leHQ7dmFyIHQ9Sj09PW51bGw/QS5tZW1vaXplZFN0YXRlOkoubmV4dDtpZih0IT09bnVsbClKPXQsWT1lO2Vsc2V7aWYoZT09PW51bGwpdGhyb3cgRXJyb3IoZygzMTApKTtZPWUsZT17bWVtb2l6ZWRTdGF0ZTpZLm1lbW9pemVkU3RhdGUsYmFzZVN0YXRlOlkuYmFzZVN0YXRlLGJhc2VRdWV1ZTpZLmJhc2VRdWV1ZSxxdWV1ZTpZLnF1ZXVlLG5leHQ6bnVsbH0sSj09PW51bGw/QS5tZW1vaXplZFN0YXRlPUo9ZTpKPUoubmV4dD1lfXJldHVybiBKfWZ1bmN0aW9uIHFuKGUsdCl7cmV0dXJuIHR5cGVvZiB0PT0iZnVuY3Rpb24iP3QoZSk6dH1mdW5jdGlvbiBibChlKXt2YXIgdD1OZSgpLG49dC5xdWV1ZTtpZihuPT09bnVsbCl0aHJvdyBFcnJvcihnKDMxMSkpO24ubGFzdFJlbmRlcmVkUmVkdWNlcj1lO3ZhciByPVksbD1yLmJhc2VRdWV1ZSxvPW4ucGVuZGluZztpZihvIT09bnVsbCl7aWYobCE9PW51bGwpe3ZhciB1PWwubmV4dDtsLm5leHQ9by5uZXh0LG8ubmV4dD11fXIuYmFzZVF1ZXVlPWw9byxuLnBlbmRpbmc9bnVsbH1pZihsIT09bnVsbCl7bz1sLm5leHQscj1yLmJhc2VTdGF0ZTt2YXIgaT11PW51bGwscz1udWxsLGE9bztkb3t2YXIgaD1hLmxhbmU7aWYoKFJ0JmgpPT09aClzIT09bnVsbCYmKHM9cy5uZXh0PXtsYW5lOjAsYWN0aW9uOmEuYWN0aW9uLGhhc0VhZ2VyU3RhdGU6YS5oYXNFYWdlclN0YXRlLGVhZ2VyU3RhdGU6YS5lYWdlclN0YXRlLG5leHQ6bnVsbH0pLHI9YS5oYXNFYWdlclN0YXRlP2EuZWFnZXJTdGF0ZTplKHIsYS5hY3Rpb24pO2Vsc2V7dmFyIGQ9e2xhbmU6aCxhY3Rpb246YS5hY3Rpb24saGFzRWFnZXJTdGF0ZTphLmhhc0VhZ2VyU3RhdGUsZWFnZXJTdGF0ZTphLmVhZ2VyU3RhdGUsbmV4dDpudWxsfTtzPT09bnVsbD8oaT1zPWQsdT1yKTpzPXMubmV4dD1kLEEubGFuZXN8PWgsVHR8PWh9YT1hLm5leHR9d2hpbGUoYSE9PW51bGwmJmEhPT1vKTtzPT09bnVsbD91PXI6cy5uZXh0PWksRGUocix0Lm1lbW9pemVkU3RhdGUpfHwoZGU9ITApLHQubWVtb2l6ZWRTdGF0ZT1yLHQuYmFzZVN0YXRlPXUsdC5iYXNlUXVldWU9cyxuLmxhc3RSZW5kZXJlZFN0YXRlPXJ9aWYoZT1uLmludGVybGVhdmVkLGUhPT1udWxsKXtsPWU7ZG8gbz1sLmxhbmUsQS5sYW5lc3w9byxUdHw9byxsPWwubmV4dDt3aGlsZShsIT09ZSl9ZWxzZSBsPT09bnVsbCYmKG4ubGFuZXM9MCk7cmV0dXJuW3QubWVtb2l6ZWRTdGF0ZSxuLmRpc3BhdGNoXX1mdW5jdGlvbiBlbyhlKXt2YXIgdD1OZSgpLG49dC5xdWV1ZTtpZihuPT09bnVsbCl0aHJvdyBFcnJvcihnKDMxMSkpO24ubGFzdFJlbmRlcmVkUmVkdWNlcj1lO3ZhciByPW4uZGlzcGF0Y2gsbD1uLnBlbmRpbmcsbz10Lm1lbW9pemVkU3RhdGU7aWYobCE9PW51bGwpe24ucGVuZGluZz1udWxsO3ZhciB1PWw9bC5uZXh0O2RvIG89ZShvLHUuYWN0aW9uKSx1PXUubmV4dDt3aGlsZSh1IT09bCk7RGUobyx0Lm1lbW9pemVkU3RhdGUpfHwoZGU9ITApLHQubWVtb2l6ZWRTdGF0ZT1vLHQuYmFzZVF1ZXVlPT09bnVsbCYmKHQuYmFzZVN0YXRlPW8pLG4ubGFzdFJlbmRlcmVkU3RhdGU9b31yZXR1cm5bbyxyXX1mdW5jdGlvbiBGYSgpe31mdW5jdGlvbiBVYShlLHQpe3ZhciBuPUEscj1OZSgpLGw9dCgpLG89IURlKHIubWVtb2l6ZWRTdGF0ZSxsKTtpZihvJiYoci5tZW1vaXplZFN0YXRlPWwsZGU9ITApLHI9ci5xdWV1ZSxGdShCYS5iaW5kKG51bGwsbixyLGUpLFtlXSksci5nZXRTbmFwc2hvdCE9PXR8fG98fEohPT1udWxsJiZKLm1lbW9pemVkU3RhdGUudGFnJjEpe2lmKG4uZmxhZ3N8PTIwNDgsYm4oOSxBYS5iaW5kKG51bGwsbixyLGwsdCksdm9pZCAwLG51bGwpLHE9PT1udWxsKXRocm93IEVycm9yKGcoMzQ5KSk7UnQmMzB8fCRhKG4sdCxsKX1yZXR1cm4gbH1mdW5jdGlvbiAkYShlLHQsbil7ZS5mbGFnc3w9MTYzODQsZT17Z2V0U25hcHNob3Q6dCx2YWx1ZTpufSx0PUEudXBkYXRlUXVldWUsdD09PW51bGw/KHQ9e2xhc3RFZmZlY3Q6bnVsbCxzdG9yZXM6bnVsbH0sQS51cGRhdGVRdWV1ZT10LHQuc3RvcmVzPVtlXSk6KG49dC5zdG9yZXMsbj09PW51bGw/dC5zdG9yZXM9W2VdOm4ucHVzaChlKSl9ZnVuY3Rpb24gQWEoZSx0LG4scil7dC52YWx1ZT1uLHQuZ2V0U25hcHNob3Q9cixWYSh0KSYmV2EoZSl9ZnVuY3Rpb24gQmEoZSx0LG4pe3JldHVybiBuKGZ1bmN0aW9uKCl7VmEodCkmJldhKGUpfSl9ZnVuY3Rpb24gVmEoZSl7dmFyIHQ9ZS5nZXRTbmFwc2hvdDtlPWUudmFsdWU7dHJ5e3ZhciBuPXQoKTtyZXR1cm4hRGUoZSxuKX1jYXRjaHtyZXR1cm4hMH19ZnVuY3Rpb24gV2EoZSl7dmFyIHQ9WGUoZSwxKTt0IT09bnVsbCYmTWUodCxlLDEsLTEpfWZ1bmN0aW9uIEJpKGUpe3ZhciB0PUZlKCk7cmV0dXJuIHR5cGVvZiBlPT0iZnVuY3Rpb24iJiYoZT1lKCkpLHQubWVtb2l6ZWRTdGF0ZT10LmJhc2VTdGF0ZT1lLGU9e3BlbmRpbmc6bnVsbCxpbnRlcmxlYXZlZDpudWxsLGxhbmVzOjAsZGlzcGF0Y2g6bnVsbCxsYXN0UmVuZGVyZWRSZWR1Y2VyOnFuLGxhc3RSZW5kZXJlZFN0YXRlOmV9LHQucXVldWU9ZSxlPWUuZGlzcGF0Y2g9UWQuYmluZChudWxsLEEsZSksW3QubWVtb2l6ZWRTdGF0ZSxlXX1mdW5jdGlvbiBibihlLHQsbixyKXtyZXR1cm4gZT17dGFnOmUsY3JlYXRlOnQsZGVzdHJveTpuLGRlcHM6cixuZXh0Om51bGx9LHQ9QS51cGRhdGVRdWV1ZSx0PT09bnVsbD8odD17bGFzdEVmZmVjdDpudWxsLHN0b3JlczpudWxsfSxBLnVwZGF0ZVF1ZXVlPXQsdC5sYXN0RWZmZWN0PWUubmV4dD1lKToobj10Lmxhc3RFZmZlY3Qsbj09PW51bGw/dC5sYXN0RWZmZWN0PWUubmV4dD1lOihyPW4ubmV4dCxuLm5leHQ9ZSxlLm5leHQ9cix0Lmxhc3RFZmZlY3Q9ZSkpLGV9ZnVuY3Rpb24gSGEoKXtyZXR1cm4gTmUoKS5tZW1vaXplZFN0YXRlfWZ1bmN0aW9uIERyKGUsdCxuLHIpe3ZhciBsPUZlKCk7QS5mbGFnc3w9ZSxsLm1lbW9pemVkU3RhdGU9Ym4oMXx0LG4sdm9pZCAwLHI9PT12b2lkIDA/bnVsbDpyKX1mdW5jdGlvbiB5bChlLHQsbixyKXt2YXIgbD1OZSgpO3I9cj09PXZvaWQgMD9udWxsOnI7dmFyIG89dm9pZCAwO2lmKFkhPT1udWxsKXt2YXIgdT1ZLm1lbW9pemVkU3RhdGU7aWYobz11LmRlc3Ryb3ksciE9PW51bGwmJk11KHIsdS5kZXBzKSl7bC5tZW1vaXplZFN0YXRlPWJuKHQsbixvLHIpO3JldHVybn19QS5mbGFnc3w9ZSxsLm1lbW9pemVkU3RhdGU9Ym4oMXx0LG4sbyxyKX1mdW5jdGlvbiBWaShlLHQpe3JldHVybiBEcig4MzkwNjU2LDgsZSx0KX1mdW5jdGlvbiBGdShlLHQpe3JldHVybiB5bCgyMDQ4LDgsZSx0KX1mdW5jdGlvbiBRYShlLHQpe3JldHVybiB5bCg0LDIsZSx0KX1mdW5jdGlvbiBLYShlLHQpe3JldHVybiB5bCg0LDQsZSx0KX1mdW5jdGlvbiBZYShlLHQpe2lmKHR5cGVvZiB0PT0iZnVuY3Rpb24iKXJldHVybiBlPWUoKSx0KGUpLGZ1bmN0aW9uKCl7dChudWxsKX07aWYodCE9bnVsbClyZXR1cm4gZT1lKCksdC5jdXJyZW50PWUsZnVuY3Rpb24oKXt0LmN1cnJlbnQ9bnVsbH19ZnVuY3Rpb24gWGEoZSx0LG4pe3JldHVybiBuPW4hPW51bGw/bi5jb25jYXQoW2VdKTpudWxsLHlsKDQsNCxZYS5iaW5kKG51bGwsdCxlKSxuKX1mdW5jdGlvbiBVdSgpe31mdW5jdGlvbiBHYShlLHQpe3ZhciBuPU5lKCk7dD10PT09dm9pZCAwP251bGw6dDt2YXIgcj1uLm1lbW9pemVkU3RhdGU7cmV0dXJuIHIhPT1udWxsJiZ0IT09bnVsbCYmTXUodCxyWzFdKT9yWzBdOihuLm1lbW9pemVkU3RhdGU9W2UsdF0sZSl9ZnVuY3Rpb24gWmEoZSx0KXt2YXIgbj1OZSgpO3Q9dD09PXZvaWQgMD9udWxsOnQ7dmFyIHI9bi5tZW1vaXplZFN0YXRlO3JldHVybiByIT09bnVsbCYmdCE9PW51bGwmJk11KHQsclsxXSk/clswXTooZT1lKCksbi5tZW1vaXplZFN0YXRlPVtlLHRdLGUpfWZ1bmN0aW9uIEphKGUsdCxuKXtyZXR1cm4gUnQmMjE/KERlKG4sdCl8fChuPW5hKCksQS5sYW5lc3w9bixUdHw9bixlLmJhc2VTdGF0ZT0hMCksdCk6KGUuYmFzZVN0YXRlJiYoZS5iYXNlU3RhdGU9ITEsZGU9ITApLGUubWVtb2l6ZWRTdGF0ZT1uKX1mdW5jdGlvbiBXZChlLHQpe3ZhciBuPU07TT1uIT09MCYmND5uP246NCxlKCEwKTt2YXIgcj1xbC50cmFuc2l0aW9uO3FsLnRyYW5zaXRpb249e307dHJ5e2UoITEpLHQoKX1maW5hbGx5e009bixxbC50cmFuc2l0aW9uPXJ9fWZ1bmN0aW9uIHFhKCl7cmV0dXJuIE5lKCkubWVtb2l6ZWRTdGF0ZX1mdW5jdGlvbiBIZChlLHQsbil7dmFyIHI9ZnQoZSk7aWYobj17bGFuZTpyLGFjdGlvbjpuLGhhc0VhZ2VyU3RhdGU6ITEsZWFnZXJTdGF0ZTpudWxsLG5leHQ6bnVsbH0sYmEoZSkpZWModCxuKTtlbHNlIGlmKG49TWEoZSx0LG4sciksbiE9PW51bGwpe3ZhciBsPXNlKCk7TWUobixlLHIsbCksdGMobix0LHIpfX1mdW5jdGlvbiBRZChlLHQsbil7dmFyIHI9ZnQoZSksbD17bGFuZTpyLGFjdGlvbjpuLGhhc0VhZ2VyU3RhdGU6ITEsZWFnZXJTdGF0ZTpudWxsLG5leHQ6bnVsbH07aWYoYmEoZSkpZWModCxsKTtlbHNle3ZhciBvPWUuYWx0ZXJuYXRlO2lmKGUubGFuZXM9PT0wJiYobz09PW51bGx8fG8ubGFuZXM9PT0wKSYmKG89dC5sYXN0UmVuZGVyZWRSZWR1Y2VyLG8hPT1udWxsKSl0cnl7dmFyIHU9dC5sYXN0UmVuZGVyZWRTdGF0ZSxpPW8odSxuKTtpZihsLmhhc0VhZ2VyU3RhdGU9ITAsbC5lYWdlclN0YXRlPWksRGUoaSx1KSl7dmFyIHM9dC5pbnRlcmxlYXZlZDtzPT09bnVsbD8obC5uZXh0PWwsTHUodCkpOihsLm5leHQ9cy5uZXh0LHMubmV4dD1sKSx0LmludGVybGVhdmVkPWw7cmV0dXJufX1jYXRjaHt9ZmluYWxseXt9bj1NYShlLHQsbCxyKSxuIT09bnVsbCYmKGw9c2UoKSxNZShuLGUscixsKSx0YyhuLHQscikpfX1mdW5jdGlvbiBiYShlKXt2YXIgdD1lLmFsdGVybmF0ZTtyZXR1cm4gZT09PUF8fHQhPT1udWxsJiZ0PT09QX1mdW5jdGlvbiBlYyhlLHQpe01uPXJsPSEwO3ZhciBuPWUucGVuZGluZztuPT09bnVsbD90Lm5leHQ9dDoodC5uZXh0PW4ubmV4dCxuLm5leHQ9dCksZS5wZW5kaW5nPXR9ZnVuY3Rpb24gdGMoZSx0LG4pe2lmKG4mNDE5NDI0MCl7dmFyIHI9dC5sYW5lcztyJj1lLnBlbmRpbmdMYW5lcyxufD1yLHQubGFuZXM9bixtdShlLG4pfX12YXIgbGw9e3JlYWRDb250ZXh0OlBlLHVzZUNhbGxiYWNrOm5lLHVzZUNvbnRleHQ6bmUsdXNlRWZmZWN0Om5lLHVzZUltcGVyYXRpdmVIYW5kbGU6bmUsdXNlSW5zZXJ0aW9uRWZmZWN0Om5lLHVzZUxheW91dEVmZmVjdDpuZSx1c2VNZW1vOm5lLHVzZVJlZHVjZXI6bmUsdXNlUmVmOm5lLHVzZVN0YXRlOm5lLHVzZURlYnVnVmFsdWU6bmUsdXNlRGVmZXJyZWRWYWx1ZTpuZSx1c2VUcmFuc2l0aW9uOm5lLHVzZU11dGFibGVTb3VyY2U6bmUsdXNlU3luY0V4dGVybmFsU3RvcmU6bmUsdXNlSWQ6bmUsdW5zdGFibGVfaXNOZXdSZWNvbmNpbGVyOiExfSxLZD17cmVhZENvbnRleHQ6UGUsdXNlQ2FsbGJhY2s6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gRmUoKS5tZW1vaXplZFN0YXRlPVtlLHQ9PT12b2lkIDA/bnVsbDp0XSxlfSx1c2VDb250ZXh0OlBlLHVzZUVmZmVjdDpWaSx1c2VJbXBlcmF0aXZlSGFuZGxlOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gbj1uIT1udWxsP24uY29uY2F0KFtlXSk6bnVsbCxEcig0MTk0MzA4LDQsWWEuYmluZChudWxsLHQsZSksbil9LHVzZUxheW91dEVmZmVjdDpmdW5jdGlvbihlLHQpe3JldHVybiBEcig0MTk0MzA4LDQsZSx0KX0sdXNlSW5zZXJ0aW9uRWZmZWN0OmZ1bmN0aW9uKGUsdCl7cmV0dXJuIERyKDQsMixlLHQpfSx1c2VNZW1vOmZ1bmN0aW9uKGUsdCl7dmFyIG49RmUoKTtyZXR1cm4gdD10PT09dm9pZCAwP251bGw6dCxlPWUoKSxuLm1lbW9pemVkU3RhdGU9W2UsdF0sZX0sdXNlUmVkdWNlcjpmdW5jdGlvbihlLHQsbil7dmFyIHI9RmUoKTtyZXR1cm4gdD1uIT09dm9pZCAwP24odCk6dCxyLm1lbW9pemVkU3RhdGU9ci5iYXNlU3RhdGU9dCxlPXtwZW5kaW5nOm51bGwsaW50ZXJsZWF2ZWQ6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjplLGxhc3RSZW5kZXJlZFN0YXRlOnR9LHIucXVldWU9ZSxlPWUuZGlzcGF0Y2g9SGQuYmluZChudWxsLEEsZSksW3IubWVtb2l6ZWRTdGF0ZSxlXX0sdXNlUmVmOmZ1bmN0aW9uKGUpe3ZhciB0PUZlKCk7cmV0dXJuIGU9e2N1cnJlbnQ6ZX0sdC5tZW1vaXplZFN0YXRlPWV9LHVzZVN0YXRlOkJpLHVzZURlYnVnVmFsdWU6VXUsdXNlRGVmZXJyZWRWYWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gRmUoKS5tZW1vaXplZFN0YXRlPWV9LHVzZVRyYW5zaXRpb246ZnVuY3Rpb24oKXt2YXIgZT1CaSghMSksdD1lWzBdO3JldHVybiBlPVdkLmJpbmQobnVsbCxlWzFdKSxGZSgpLm1lbW9pemVkU3RhdGU9ZSxbdCxlXX0sdXNlTXV0YWJsZVNvdXJjZTpmdW5jdGlvbigpe30sdXNlU3luY0V4dGVybmFsU3RvcmU6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPUEsbD1GZSgpO2lmKFUpe2lmKG49PT12b2lkIDApdGhyb3cgRXJyb3IoZyg0MDcpKTtuPW4oKX1lbHNle2lmKG49dCgpLHE9PT1udWxsKXRocm93IEVycm9yKGcoMzQ5KSk7UnQmMzB8fCRhKHIsdCxuKX1sLm1lbW9pemVkU3RhdGU9bjt2YXIgbz17dmFsdWU6bixnZXRTbmFwc2hvdDp0fTtyZXR1cm4gbC5xdWV1ZT1vLFZpKEJhLmJpbmQobnVsbCxyLG8sZSksW2VdKSxyLmZsYWdzfD0yMDQ4LGJuKDksQWEuYmluZChudWxsLHIsbyxuLHQpLHZvaWQgMCxudWxsKSxufSx1c2VJZDpmdW5jdGlvbigpe3ZhciBlPUZlKCksdD1xLmlkZW50aWZpZXJQcmVmaXg7aWYoVSl7dmFyIG49SGUscj1XZTtuPShyJn4oMTw8MzItSWUociktMSkpLnRvU3RyaW5nKDMyKStuLHQ9IjoiK3QrIlIiK24sbj1KbisrLDA8biYmKHQrPSJIIituLnRvU3RyaW5nKDMyKSksdCs9IjoifWVsc2Ugbj1WZCsrLHQ9IjoiK3QrInIiK24udG9TdHJpbmcoMzIpKyI6IjtyZXR1cm4gZS5tZW1vaXplZFN0YXRlPXR9LHVuc3RhYmxlX2lzTmV3UmVjb25jaWxlcjohMX0sWWQ9e3JlYWRDb250ZXh0OlBlLHVzZUNhbGxiYWNrOkdhLHVzZUNvbnRleHQ6UGUsdXNlRWZmZWN0OkZ1LHVzZUltcGVyYXRpdmVIYW5kbGU6WGEsdXNlSW5zZXJ0aW9uRWZmZWN0OlFhLHVzZUxheW91dEVmZmVjdDpLYSx1c2VNZW1vOlphLHVzZVJlZHVjZXI6YmwsdXNlUmVmOkhhLHVzZVN0YXRlOmZ1bmN0aW9uKCl7cmV0dXJuIGJsKHFuKX0sdXNlRGVidWdWYWx1ZTpVdSx1c2VEZWZlcnJlZFZhbHVlOmZ1bmN0aW9uKGUpe3ZhciB0PU5lKCk7cmV0dXJuIEphKHQsWS5tZW1vaXplZFN0YXRlLGUpfSx1c2VUcmFuc2l0aW9uOmZ1bmN0aW9uKCl7dmFyIGU9YmwocW4pWzBdLHQ9TmUoKS5tZW1vaXplZFN0YXRlO3JldHVybltlLHRdfSx1c2VNdXRhYmxlU291cmNlOkZhLHVzZVN5bmNFeHRlcm5hbFN0b3JlOlVhLHVzZUlkOnFhLHVuc3RhYmxlX2lzTmV3UmVjb25jaWxlcjohMX0sWGQ9e3JlYWRDb250ZXh0OlBlLHVzZUNhbGxiYWNrOkdhLHVzZUNvbnRleHQ6UGUsdXNlRWZmZWN0OkZ1LHVzZUltcGVyYXRpdmVIYW5kbGU6WGEsdXNlSW5zZXJ0aW9uRWZmZWN0OlFhLHVzZUxheW91dEVmZmVjdDpLYSx1c2VNZW1vOlphLHVzZVJlZHVjZXI6ZW8sdXNlUmVmOkhhLHVzZVN0YXRlOmZ1bmN0aW9uKCl7cmV0dXJuIGVvKHFuKX0sdXNlRGVidWdWYWx1ZTpVdSx1c2VEZWZlcnJlZFZhbHVlOmZ1bmN0aW9uKGUpe3ZhciB0PU5lKCk7cmV0dXJuIFk9PT1udWxsP3QubWVtb2l6ZWRTdGF0ZT1lOkphKHQsWS5tZW1vaXplZFN0YXRlLGUpfSx1c2VUcmFuc2l0aW9uOmZ1bmN0aW9uKCl7dmFyIGU9ZW8ocW4pWzBdLHQ9TmUoKS5tZW1vaXplZFN0YXRlO3JldHVybltlLHRdfSx1c2VNdXRhYmxlU291cmNlOkZhLHVzZVN5bmNFeHRlcm5hbFN0b3JlOlVhLHVzZUlkOnFhLHVuc3RhYmxlX2lzTmV3UmVjb25jaWxlcjohMX07ZnVuY3Rpb24gUmUoZSx0KXtpZihlJiZlLmRlZmF1bHRQcm9wcyl7dD1CKHt9LHQpLGU9ZS5kZWZhdWx0UHJvcHM7Zm9yKHZhciBuIGluIGUpdFtuXT09PXZvaWQgMCYmKHRbbl09ZVtuXSk7cmV0dXJuIHR9cmV0dXJuIHR9ZnVuY3Rpb24gVW8oZSx0LG4scil7dD1lLm1lbW9pemVkU3RhdGUsbj1uKHIsdCksbj1uPT1udWxsP3Q6Qih7fSx0LG4pLGUubWVtb2l6ZWRTdGF0ZT1uLGUubGFuZXM9PT0wJiYoZS51cGRhdGVRdWV1ZS5iYXNlU3RhdGU9bil9dmFyIGdsPXtpc01vdW50ZWQ6ZnVuY3Rpb24oZSl7cmV0dXJuKGU9ZS5fcmVhY3RJbnRlcm5hbHMpP0R0KGUpPT09ZTohMX0sZW5xdWV1ZVNldFN0YXRlOmZ1bmN0aW9uKGUsdCxuKXtlPWUuX3JlYWN0SW50ZXJuYWxzO3ZhciByPXNlKCksbD1mdChlKSxvPVFlKHIsbCk7by5wYXlsb2FkPXQsbiE9bnVsbCYmKG8uY2FsbGJhY2s9biksdD1hdChlLG8sbCksdCE9PW51bGwmJihNZSh0LGUsbCxyKSxJcih0LGUsbCkpfSxlbnF1ZXVlUmVwbGFjZVN0YXRlOmZ1bmN0aW9uKGUsdCxuKXtlPWUuX3JlYWN0SW50ZXJuYWxzO3ZhciByPXNlKCksbD1mdChlKSxvPVFlKHIsbCk7by50YWc9MSxvLnBheWxvYWQ9dCxuIT1udWxsJiYoby5jYWxsYmFjaz1uKSx0PWF0KGUsbyxsKSx0IT09bnVsbCYmKE1lKHQsZSxsLHIpLElyKHQsZSxsKSl9LGVucXVldWVGb3JjZVVwZGF0ZTpmdW5jdGlvbihlLHQpe2U9ZS5fcmVhY3RJbnRlcm5hbHM7dmFyIG49c2UoKSxyPWZ0KGUpLGw9UWUobixyKTtsLnRhZz0yLHQhPW51bGwmJihsLmNhbGxiYWNrPXQpLHQ9YXQoZSxsLHIpLHQhPT1udWxsJiYoTWUodCxlLHIsbiksSXIodCxlLHIpKX19O2Z1bmN0aW9uIFdpKGUsdCxuLHIsbCxvLHUpe3JldHVybiBlPWUuc3RhdGVOb2RlLHR5cGVvZiBlLnNob3VsZENvbXBvbmVudFVwZGF0ZT09ImZ1bmN0aW9uIj9lLnNob3VsZENvbXBvbmVudFVwZGF0ZShyLG8sdSk6dC5wcm90b3R5cGUmJnQucHJvdG90eXBlLmlzUHVyZVJlYWN0Q29tcG9uZW50PyFRbihuLHIpfHwhUW4obCxvKTohMH1mdW5jdGlvbiBuYyhlLHQsbil7dmFyIHI9ITEsbD1odCxvPXQuY29udGV4dFR5cGU7cmV0dXJuIHR5cGVvZiBvPT0ib2JqZWN0IiYmbyE9PW51bGw/bz1QZShvKToobD1oZSh0KT96dDpvZS5jdXJyZW50LHI9dC5jb250ZXh0VHlwZXMsbz0ocj1yIT1udWxsKT9vbihlLGwpOmh0KSx0PW5ldyB0KG4sbyksZS5tZW1vaXplZFN0YXRlPXQuc3RhdGUhPT1udWxsJiZ0LnN0YXRlIT09dm9pZCAwP3Quc3RhdGU6bnVsbCx0LnVwZGF0ZXI9Z2wsZS5zdGF0ZU5vZGU9dCx0Ll9yZWFjdEludGVybmFscz1lLHImJihlPWUuc3RhdGVOb2RlLGUuX19yZWFjdEludGVybmFsTWVtb2l6ZWRVbm1hc2tlZENoaWxkQ29udGV4dD1sLGUuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNYXNrZWRDaGlsZENvbnRleHQ9byksdH1mdW5jdGlvbiBIaShlLHQsbixyKXtlPXQuc3RhdGUsdHlwZW9mIHQuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcz09ImZ1bmN0aW9uIiYmdC5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKG4sciksdHlwZW9mIHQuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHM9PSJmdW5jdGlvbiImJnQuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMobixyKSx0LnN0YXRlIT09ZSYmZ2wuZW5xdWV1ZVJlcGxhY2VTdGF0ZSh0LHQuc3RhdGUsbnVsbCl9ZnVuY3Rpb24gJG8oZSx0LG4scil7dmFyIGw9ZS5zdGF0ZU5vZGU7bC5wcm9wcz1uLGwuc3RhdGU9ZS5tZW1vaXplZFN0YXRlLGwucmVmcz17fSxSdShlKTt2YXIgbz10LmNvbnRleHRUeXBlO3R5cGVvZiBvPT0ib2JqZWN0IiYmbyE9PW51bGw/bC5jb250ZXh0PVBlKG8pOihvPWhlKHQpP3p0Om9lLmN1cnJlbnQsbC5jb250ZXh0PW9uKGUsbykpLGwuc3RhdGU9ZS5tZW1vaXplZFN0YXRlLG89dC5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMsdHlwZW9mIG89PSJmdW5jdGlvbiImJihVbyhlLHQsbyxuKSxsLnN0YXRlPWUubWVtb2l6ZWRTdGF0ZSksdHlwZW9mIHQuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzPT0iZnVuY3Rpb24ifHx0eXBlb2YgbC5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZT09ImZ1bmN0aW9uInx8dHlwZW9mIGwuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCE9ImZ1bmN0aW9uIiYmdHlwZW9mIGwuY29tcG9uZW50V2lsbE1vdW50IT0iZnVuY3Rpb24ifHwodD1sLnN0YXRlLHR5cGVvZiBsLmNvbXBvbmVudFdpbGxNb3VudD09ImZ1bmN0aW9uIiYmbC5jb21wb25lbnRXaWxsTW91bnQoKSx0eXBlb2YgbC5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50PT0iZnVuY3Rpb24iJiZsLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQoKSx0IT09bC5zdGF0ZSYmZ2wuZW5xdWV1ZVJlcGxhY2VTdGF0ZShsLGwuc3RhdGUsbnVsbCksdGwoZSxuLGwsciksbC5zdGF0ZT1lLm1lbW9pemVkU3RhdGUpLHR5cGVvZiBsLmNvbXBvbmVudERpZE1vdW50PT0iZnVuY3Rpb24iJiYoZS5mbGFnc3w9NDE5NDMwOCl9ZnVuY3Rpb24gY24oZSx0KXt0cnl7dmFyIG49IiIscj10O2RvIG4rPUVmKHIpLHI9ci5yZXR1cm47d2hpbGUocik7dmFyIGw9bn1jYXRjaChvKXtsPWAKRXJyb3IgZ2VuZXJhdGluZyBzdGFjazogYCtvLm1lc3NhZ2UrYApgK28uc3RhY2t9cmV0dXJue3ZhbHVlOmUsc291cmNlOnQsc3RhY2s6bCxkaWdlc3Q6bnVsbH19ZnVuY3Rpb24gdG8oZSx0LG4pe3JldHVybnt2YWx1ZTplLHNvdXJjZTpudWxsLHN0YWNrOm4/P251bGwsZGlnZXN0OnQ/P251bGx9fWZ1bmN0aW9uIEFvKGUsdCl7dHJ5e2NvbnNvbGUuZXJyb3IodC52YWx1ZSl9Y2F0Y2gobil7c2V0VGltZW91dChmdW5jdGlvbigpe3Rocm93IG59KX19dmFyIEdkPXR5cGVvZiBXZWFrTWFwPT0iZnVuY3Rpb24iP1dlYWtNYXA6TWFwO2Z1bmN0aW9uIHJjKGUsdCxuKXtuPVFlKC0xLG4pLG4udGFnPTMsbi5wYXlsb2FkPXtlbGVtZW50Om51bGx9O3ZhciByPXQudmFsdWU7cmV0dXJuIG4uY2FsbGJhY2s9ZnVuY3Rpb24oKXt1bHx8KHVsPSEwLFpvPXIpLEFvKGUsdCl9LG59ZnVuY3Rpb24gbGMoZSx0LG4pe249UWUoLTEsbiksbi50YWc9Mzt2YXIgcj1lLnR5cGUuZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yO2lmKHR5cGVvZiByPT0iZnVuY3Rpb24iKXt2YXIgbD10LnZhbHVlO24ucGF5bG9hZD1mdW5jdGlvbigpe3JldHVybiByKGwpfSxuLmNhbGxiYWNrPWZ1bmN0aW9uKCl7QW8oZSx0KX19dmFyIG89ZS5zdGF0ZU5vZGU7cmV0dXJuIG8hPT1udWxsJiZ0eXBlb2Ygby5jb21wb25lbnREaWRDYXRjaD09ImZ1bmN0aW9uIiYmKG4uY2FsbGJhY2s9ZnVuY3Rpb24oKXtBbyhlLHQpLHR5cGVvZiByIT0iZnVuY3Rpb24iJiYoY3Q9PT1udWxsP2N0PW5ldyBTZXQoW3RoaXNdKTpjdC5hZGQodGhpcykpO3ZhciB1PXQuc3RhY2s7dGhpcy5jb21wb25lbnREaWRDYXRjaCh0LnZhbHVlLHtjb21wb25lbnRTdGFjazp1IT09bnVsbD91OiIifSl9KSxufWZ1bmN0aW9uIFFpKGUsdCxuKXt2YXIgcj1lLnBpbmdDYWNoZTtpZihyPT09bnVsbCl7cj1lLnBpbmdDYWNoZT1uZXcgR2Q7dmFyIGw9bmV3IFNldDtyLnNldCh0LGwpfWVsc2UgbD1yLmdldCh0KSxsPT09dm9pZCAwJiYobD1uZXcgU2V0LHIuc2V0KHQsbCkpO2wuaGFzKG4pfHwobC5hZGQobiksZT1hcC5iaW5kKG51bGwsZSx0LG4pLHQudGhlbihlLGUpKX1mdW5jdGlvbiBLaShlKXtkb3t2YXIgdDtpZigodD1lLnRhZz09PTEzKSYmKHQ9ZS5tZW1vaXplZFN0YXRlLHQ9dCE9PW51bGw/dC5kZWh5ZHJhdGVkIT09bnVsbDohMCksdClyZXR1cm4gZTtlPWUucmV0dXJufXdoaWxlKGUhPT1udWxsKTtyZXR1cm4gbnVsbH1mdW5jdGlvbiBZaShlLHQsbixyLGwpe3JldHVybiBlLm1vZGUmMT8oZS5mbGFnc3w9NjU1MzYsZS5sYW5lcz1sLGUpOihlPT09dD9lLmZsYWdzfD02NTUzNjooZS5mbGFnc3w9MTI4LG4uZmxhZ3N8PTEzMTA3MixuLmZsYWdzJj0tNTI4MDUsbi50YWc9PT0xJiYobi5hbHRlcm5hdGU9PT1udWxsP24udGFnPTE3Oih0PVFlKC0xLDEpLHQudGFnPTIsYXQobix0LDEpKSksbi5sYW5lc3w9MSksZSl9dmFyIFpkPVplLlJlYWN0Q3VycmVudE93bmVyLGRlPSExO2Z1bmN0aW9uIGllKGUsdCxuLHIpe3QuY2hpbGQ9ZT09PW51bGw/SWEodCxudWxsLG4scik6c24odCxlLmNoaWxkLG4scil9ZnVuY3Rpb24gWGkoZSx0LG4scixsKXtuPW4ucmVuZGVyO3ZhciBvPXQucmVmO3JldHVybiBubih0LGwpLHI9RHUoZSx0LG4scixvLGwpLG49anUoKSxlIT09bnVsbCYmIWRlPyh0LnVwZGF0ZVF1ZXVlPWUudXBkYXRlUXVldWUsdC5mbGFncyY9LTIwNTMsZS5sYW5lcyY9fmwsR2UoZSx0LGwpKTooVSYmbiYmeHUodCksdC5mbGFnc3w9MSxpZShlLHQscixsKSx0LmNoaWxkKX1mdW5jdGlvbiBHaShlLHQsbixyLGwpe2lmKGU9PT1udWxsKXt2YXIgbz1uLnR5cGU7cmV0dXJuIHR5cGVvZiBvPT0iZnVuY3Rpb24iJiYhS3UobykmJm8uZGVmYXVsdFByb3BzPT09dm9pZCAwJiZuLmNvbXBhcmU9PT1udWxsJiZuLmRlZmF1bHRQcm9wcz09PXZvaWQgMD8odC50YWc9MTUsdC50eXBlPW8sb2MoZSx0LG8scixsKSk6KGU9JHIobi50eXBlLG51bGwscix0LHQubW9kZSxsKSxlLnJlZj10LnJlZixlLnJldHVybj10LHQuY2hpbGQ9ZSl9aWYobz1lLmNoaWxkLCEoZS5sYW5lcyZsKSl7dmFyIHU9by5tZW1vaXplZFByb3BzO2lmKG49bi5jb21wYXJlLG49biE9PW51bGw/bjpRbixuKHUscikmJmUucmVmPT09dC5yZWYpcmV0dXJuIEdlKGUsdCxsKX1yZXR1cm4gdC5mbGFnc3w9MSxlPWR0KG8sciksZS5yZWY9dC5yZWYsZS5yZXR1cm49dCx0LmNoaWxkPWV9ZnVuY3Rpb24gb2MoZSx0LG4scixsKXtpZihlIT09bnVsbCl7dmFyIG89ZS5tZW1vaXplZFByb3BzO2lmKFFuKG8scikmJmUucmVmPT09dC5yZWYpaWYoZGU9ITEsdC5wZW5kaW5nUHJvcHM9cj1vLChlLmxhbmVzJmwpIT09MCllLmZsYWdzJjEzMTA3MiYmKGRlPSEwKTtlbHNlIHJldHVybiB0LmxhbmVzPWUubGFuZXMsR2UoZSx0LGwpfXJldHVybiBCbyhlLHQsbixyLGwpfWZ1bmN0aW9uIHVjKGUsdCxuKXt2YXIgcj10LnBlbmRpbmdQcm9wcyxsPXIuY2hpbGRyZW4sbz1lIT09bnVsbD9lLm1lbW9pemVkU3RhdGU6bnVsbDtpZihyLm1vZGU9PT0iaGlkZGVuIilpZighKHQubW9kZSYxKSl0Lm1lbW9pemVkU3RhdGU9e2Jhc2VMYW5lczowLGNhY2hlUG9vbDpudWxsLHRyYW5zaXRpb25zOm51bGx9LEQoSnQsdmUpLHZlfD1uO2Vsc2V7aWYoIShuJjEwNzM3NDE4MjQpKXJldHVybiBlPW8hPT1udWxsP28uYmFzZUxhbmVzfG46bix0LmxhbmVzPXQuY2hpbGRMYW5lcz0xMDczNzQxODI0LHQubWVtb2l6ZWRTdGF0ZT17YmFzZUxhbmVzOmUsY2FjaGVQb29sOm51bGwsdHJhbnNpdGlvbnM6bnVsbH0sdC51cGRhdGVRdWV1ZT1udWxsLEQoSnQsdmUpLHZlfD1lLG51bGw7dC5tZW1vaXplZFN0YXRlPXtiYXNlTGFuZXM6MCxjYWNoZVBvb2w6bnVsbCx0cmFuc2l0aW9uczpudWxsfSxyPW8hPT1udWxsP28uYmFzZUxhbmVzOm4sRChKdCx2ZSksdmV8PXJ9ZWxzZSBvIT09bnVsbD8ocj1vLmJhc2VMYW5lc3xuLHQubWVtb2l6ZWRTdGF0ZT1udWxsKTpyPW4sRChKdCx2ZSksdmV8PXI7cmV0dXJuIGllKGUsdCxsLG4pLHQuY2hpbGR9ZnVuY3Rpb24gaWMoZSx0KXt2YXIgbj10LnJlZjsoZT09PW51bGwmJm4hPT1udWxsfHxlIT09bnVsbCYmZS5yZWYhPT1uKSYmKHQuZmxhZ3N8PTUxMix0LmZsYWdzfD0yMDk3MTUyKX1mdW5jdGlvbiBCbyhlLHQsbixyLGwpe3ZhciBvPWhlKG4pP3p0Om9lLmN1cnJlbnQ7cmV0dXJuIG89b24odCxvKSxubih0LGwpLG49RHUoZSx0LG4scixvLGwpLHI9anUoKSxlIT09bnVsbCYmIWRlPyh0LnVwZGF0ZVF1ZXVlPWUudXBkYXRlUXVldWUsdC5mbGFncyY9LTIwNTMsZS5sYW5lcyY9fmwsR2UoZSx0LGwpKTooVSYmciYmeHUodCksdC5mbGFnc3w9MSxpZShlLHQsbixsKSx0LmNoaWxkKX1mdW5jdGlvbiBaaShlLHQsbixyLGwpe2lmKGhlKG4pKXt2YXIgbz0hMDtacih0KX1lbHNlIG89ITE7aWYobm4odCxsKSx0LnN0YXRlTm9kZT09PW51bGwpanIoZSx0KSxuYyh0LG4sciksJG8odCxuLHIsbCkscj0hMDtlbHNlIGlmKGU9PT1udWxsKXt2YXIgdT10LnN0YXRlTm9kZSxpPXQubWVtb2l6ZWRQcm9wczt1LnByb3BzPWk7dmFyIHM9dS5jb250ZXh0LGE9bi5jb250ZXh0VHlwZTt0eXBlb2YgYT09Im9iamVjdCImJmEhPT1udWxsP2E9UGUoYSk6KGE9aGUobik/enQ6b2UuY3VycmVudCxhPW9uKHQsYSkpO3ZhciBoPW4uZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzLGQ9dHlwZW9mIGg9PSJmdW5jdGlvbiJ8fHR5cGVvZiB1LmdldFNuYXBzaG90QmVmb3JlVXBkYXRlPT0iZnVuY3Rpb24iO2R8fHR5cGVvZiB1LlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzIT0iZnVuY3Rpb24iJiZ0eXBlb2YgdS5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzIT0iZnVuY3Rpb24ifHwoaSE9PXJ8fHMhPT1hKSYmSGkodCx1LHIsYSksYmU9ITE7dmFyIG09dC5tZW1vaXplZFN0YXRlO3Uuc3RhdGU9bSx0bCh0LHIsdSxsKSxzPXQubWVtb2l6ZWRTdGF0ZSxpIT09cnx8bSE9PXN8fHBlLmN1cnJlbnR8fGJlPyh0eXBlb2YgaD09ImZ1bmN0aW9uIiYmKFVvKHQsbixoLHIpLHM9dC5tZW1vaXplZFN0YXRlKSwoaT1iZXx8V2kodCxuLGkscixtLHMsYSkpPyhkfHx0eXBlb2YgdS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50IT0iZnVuY3Rpb24iJiZ0eXBlb2YgdS5jb21wb25lbnRXaWxsTW91bnQhPSJmdW5jdGlvbiJ8fCh0eXBlb2YgdS5jb21wb25lbnRXaWxsTW91bnQ9PSJmdW5jdGlvbiImJnUuY29tcG9uZW50V2lsbE1vdW50KCksdHlwZW9mIHUuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudD09ImZ1bmN0aW9uIiYmdS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50KCkpLHR5cGVvZiB1LmNvbXBvbmVudERpZE1vdW50PT0iZnVuY3Rpb24iJiYodC5mbGFnc3w9NDE5NDMwOCkpOih0eXBlb2YgdS5jb21wb25lbnREaWRNb3VudD09ImZ1bmN0aW9uIiYmKHQuZmxhZ3N8PTQxOTQzMDgpLHQubWVtb2l6ZWRQcm9wcz1yLHQubWVtb2l6ZWRTdGF0ZT1zKSx1LnByb3BzPXIsdS5zdGF0ZT1zLHUuY29udGV4dD1hLHI9aSk6KHR5cGVvZiB1LmNvbXBvbmVudERpZE1vdW50PT0iZnVuY3Rpb24iJiYodC5mbGFnc3w9NDE5NDMwOCkscj0hMSl9ZWxzZXt1PXQuc3RhdGVOb2RlLERhKGUsdCksaT10Lm1lbW9pemVkUHJvcHMsYT10LnR5cGU9PT10LmVsZW1lbnRUeXBlP2k6UmUodC50eXBlLGkpLHUucHJvcHM9YSxkPXQucGVuZGluZ1Byb3BzLG09dS5jb250ZXh0LHM9bi5jb250ZXh0VHlwZSx0eXBlb2Ygcz09Im9iamVjdCImJnMhPT1udWxsP3M9UGUocyk6KHM9aGUobik/enQ6b2UuY3VycmVudCxzPW9uKHQscykpO3ZhciB5PW4uZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzOyhoPXR5cGVvZiB5PT0iZnVuY3Rpb24ifHx0eXBlb2YgdS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZT09ImZ1bmN0aW9uIil8fHR5cGVvZiB1LlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzIT0iZnVuY3Rpb24iJiZ0eXBlb2YgdS5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzIT0iZnVuY3Rpb24ifHwoaSE9PWR8fG0hPT1zKSYmSGkodCx1LHIscyksYmU9ITEsbT10Lm1lbW9pemVkU3RhdGUsdS5zdGF0ZT1tLHRsKHQscix1LGwpO3ZhciB3PXQubWVtb2l6ZWRTdGF0ZTtpIT09ZHx8bSE9PXd8fHBlLmN1cnJlbnR8fGJlPyh0eXBlb2YgeT09ImZ1bmN0aW9uIiYmKFVvKHQsbix5LHIpLHc9dC5tZW1vaXplZFN0YXRlKSwoYT1iZXx8V2kodCxuLGEscixtLHcscyl8fCExKT8oaHx8dHlwZW9mIHUuVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGUhPSJmdW5jdGlvbiImJnR5cGVvZiB1LmNvbXBvbmVudFdpbGxVcGRhdGUhPSJmdW5jdGlvbiJ8fCh0eXBlb2YgdS5jb21wb25lbnRXaWxsVXBkYXRlPT0iZnVuY3Rpb24iJiZ1LmNvbXBvbmVudFdpbGxVcGRhdGUocix3LHMpLHR5cGVvZiB1LlVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlPT0iZnVuY3Rpb24iJiZ1LlVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlKHIsdyxzKSksdHlwZW9mIHUuY29tcG9uZW50RGlkVXBkYXRlPT0iZnVuY3Rpb24iJiYodC5mbGFnc3w9NCksdHlwZW9mIHUuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGU9PSJmdW5jdGlvbiImJih0LmZsYWdzfD0xMDI0KSk6KHR5cGVvZiB1LmNvbXBvbmVudERpZFVwZGF0ZSE9ImZ1bmN0aW9uInx8aT09PWUubWVtb2l6ZWRQcm9wcyYmbT09PWUubWVtb2l6ZWRTdGF0ZXx8KHQuZmxhZ3N8PTQpLHR5cGVvZiB1LmdldFNuYXBzaG90QmVmb3JlVXBkYXRlIT0iZnVuY3Rpb24ifHxpPT09ZS5tZW1vaXplZFByb3BzJiZtPT09ZS5tZW1vaXplZFN0YXRlfHwodC5mbGFnc3w9MTAyNCksdC5tZW1vaXplZFByb3BzPXIsdC5tZW1vaXplZFN0YXRlPXcpLHUucHJvcHM9cix1LnN0YXRlPXcsdS5jb250ZXh0PXMscj1hKToodHlwZW9mIHUuY29tcG9uZW50RGlkVXBkYXRlIT0iZnVuY3Rpb24ifHxpPT09ZS5tZW1vaXplZFByb3BzJiZtPT09ZS5tZW1vaXplZFN0YXRlfHwodC5mbGFnc3w9NCksdHlwZW9mIHUuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUhPSJmdW5jdGlvbiJ8fGk9PT1lLm1lbW9pemVkUHJvcHMmJm09PT1lLm1lbW9pemVkU3RhdGV8fCh0LmZsYWdzfD0xMDI0KSxyPSExKX1yZXR1cm4gVm8oZSx0LG4scixvLGwpfWZ1bmN0aW9uIFZvKGUsdCxuLHIsbCxvKXtpYyhlLHQpO3ZhciB1PSh0LmZsYWdzJjEyOCkhPT0wO2lmKCFyJiYhdSlyZXR1cm4gbCYmRGkodCxuLCExKSxHZShlLHQsbyk7cj10LnN0YXRlTm9kZSxaZC5jdXJyZW50PXQ7dmFyIGk9dSYmdHlwZW9mIG4uZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yIT0iZnVuY3Rpb24iP251bGw6ci5yZW5kZXIoKTtyZXR1cm4gdC5mbGFnc3w9MSxlIT09bnVsbCYmdT8odC5jaGlsZD1zbih0LGUuY2hpbGQsbnVsbCxvKSx0LmNoaWxkPXNuKHQsbnVsbCxpLG8pKTppZShlLHQsaSxvKSx0Lm1lbW9pemVkU3RhdGU9ci5zdGF0ZSxsJiZEaSh0LG4sITApLHQuY2hpbGR9ZnVuY3Rpb24gc2MoZSl7dmFyIHQ9ZS5zdGF0ZU5vZGU7dC5wZW5kaW5nQ29udGV4dD9NaShlLHQucGVuZGluZ0NvbnRleHQsdC5wZW5kaW5nQ29udGV4dCE9PXQuY29udGV4dCk6dC5jb250ZXh0JiZNaShlLHQuY29udGV4dCwhMSksVHUoZSx0LmNvbnRhaW5lckluZm8pfWZ1bmN0aW9uIEppKGUsdCxuLHIsbCl7cmV0dXJuIHVuKCksX3UobCksdC5mbGFnc3w9MjU2LGllKGUsdCxuLHIpLHQuY2hpbGR9dmFyIFdvPXtkZWh5ZHJhdGVkOm51bGwsdHJlZUNvbnRleHQ6bnVsbCxyZXRyeUxhbmU6MH07ZnVuY3Rpb24gSG8oZSl7cmV0dXJue2Jhc2VMYW5lczplLGNhY2hlUG9vbDpudWxsLHRyYW5zaXRpb25zOm51bGx9fWZ1bmN0aW9uIGFjKGUsdCxuKXt2YXIgcj10LnBlbmRpbmdQcm9wcyxsPSQuY3VycmVudCxvPSExLHU9KHQuZmxhZ3MmMTI4KSE9PTAsaTtpZigoaT11KXx8KGk9ZSE9PW51bGwmJmUubWVtb2l6ZWRTdGF0ZT09PW51bGw/ITE6KGwmMikhPT0wKSxpPyhvPSEwLHQuZmxhZ3MmPS0xMjkpOihlPT09bnVsbHx8ZS5tZW1vaXplZFN0YXRlIT09bnVsbCkmJihsfD0xKSxEKCQsbCYxKSxlPT09bnVsbClyZXR1cm4gam8odCksZT10Lm1lbW9pemVkU3RhdGUsZSE9PW51bGwmJihlPWUuZGVoeWRyYXRlZCxlIT09bnVsbCk/KHQubW9kZSYxP2UuZGF0YT09PSIkISI/dC5sYW5lcz04OnQubGFuZXM9MTA3Mzc0MTgyNDp0LmxhbmVzPTEsbnVsbCk6KHU9ci5jaGlsZHJlbixlPXIuZmFsbGJhY2ssbz8ocj10Lm1vZGUsbz10LmNoaWxkLHU9e21vZGU6ImhpZGRlbiIsY2hpbGRyZW46dX0sIShyJjEpJiZvIT09bnVsbD8oby5jaGlsZExhbmVzPTAsby5wZW5kaW5nUHJvcHM9dSk6bz1rbCh1LHIsMCxudWxsKSxlPVB0KGUscixuLG51bGwpLG8ucmV0dXJuPXQsZS5yZXR1cm49dCxvLnNpYmxpbmc9ZSx0LmNoaWxkPW8sdC5jaGlsZC5tZW1vaXplZFN0YXRlPUhvKG4pLHQubWVtb2l6ZWRTdGF0ZT1XbyxlKTokdSh0LHUpKTtpZihsPWUubWVtb2l6ZWRTdGF0ZSxsIT09bnVsbCYmKGk9bC5kZWh5ZHJhdGVkLGkhPT1udWxsKSlyZXR1cm4gSmQoZSx0LHUscixpLGwsbik7aWYobyl7bz1yLmZhbGxiYWNrLHU9dC5tb2RlLGw9ZS5jaGlsZCxpPWwuc2libGluZzt2YXIgcz17bW9kZToiaGlkZGVuIixjaGlsZHJlbjpyLmNoaWxkcmVufTtyZXR1cm4hKHUmMSkmJnQuY2hpbGQhPT1sPyhyPXQuY2hpbGQsci5jaGlsZExhbmVzPTAsci5wZW5kaW5nUHJvcHM9cyx0LmRlbGV0aW9ucz1udWxsKToocj1kdChsLHMpLHIuc3VidHJlZUZsYWdzPWwuc3VidHJlZUZsYWdzJjE0NjgwMDY0KSxpIT09bnVsbD9vPWR0KGksbyk6KG89UHQobyx1LG4sbnVsbCksby5mbGFnc3w9Miksby5yZXR1cm49dCxyLnJldHVybj10LHIuc2libGluZz1vLHQuY2hpbGQ9cixyPW8sbz10LmNoaWxkLHU9ZS5jaGlsZC5tZW1vaXplZFN0YXRlLHU9dT09PW51bGw/SG8obik6e2Jhc2VMYW5lczp1LmJhc2VMYW5lc3xuLGNhY2hlUG9vbDpudWxsLHRyYW5zaXRpb25zOnUudHJhbnNpdGlvbnN9LG8ubWVtb2l6ZWRTdGF0ZT11LG8uY2hpbGRMYW5lcz1lLmNoaWxkTGFuZXMmfm4sdC5tZW1vaXplZFN0YXRlPVdvLHJ9cmV0dXJuIG89ZS5jaGlsZCxlPW8uc2libGluZyxyPWR0KG8se21vZGU6InZpc2libGUiLGNoaWxkcmVuOnIuY2hpbGRyZW59KSwhKHQubW9kZSYxKSYmKHIubGFuZXM9biksci5yZXR1cm49dCxyLnNpYmxpbmc9bnVsbCxlIT09bnVsbCYmKG49dC5kZWxldGlvbnMsbj09PW51bGw/KHQuZGVsZXRpb25zPVtlXSx0LmZsYWdzfD0xNik6bi5wdXNoKGUpKSx0LmNoaWxkPXIsdC5tZW1vaXplZFN0YXRlPW51bGwscn1mdW5jdGlvbiAkdShlLHQpe3JldHVybiB0PWtsKHttb2RlOiJ2aXNpYmxlIixjaGlsZHJlbjp0fSxlLm1vZGUsMCxudWxsKSx0LnJldHVybj1lLGUuY2hpbGQ9dH1mdW5jdGlvbiBDcihlLHQsbixyKXtyZXR1cm4gciE9PW51bGwmJl91KHIpLHNuKHQsZS5jaGlsZCxudWxsLG4pLGU9JHUodCx0LnBlbmRpbmdQcm9wcy5jaGlsZHJlbiksZS5mbGFnc3w9Mix0Lm1lbW9pemVkU3RhdGU9bnVsbCxlfWZ1bmN0aW9uIEpkKGUsdCxuLHIsbCxvLHUpe2lmKG4pcmV0dXJuIHQuZmxhZ3MmMjU2Pyh0LmZsYWdzJj0tMjU3LHI9dG8oRXJyb3IoZyg0MjIpKSksQ3IoZSx0LHUscikpOnQubWVtb2l6ZWRTdGF0ZSE9PW51bGw/KHQuY2hpbGQ9ZS5jaGlsZCx0LmZsYWdzfD0xMjgsbnVsbCk6KG89ci5mYWxsYmFjayxsPXQubW9kZSxyPWtsKHttb2RlOiJ2aXNpYmxlIixjaGlsZHJlbjpyLmNoaWxkcmVufSxsLDAsbnVsbCksbz1QdChvLGwsdSxudWxsKSxvLmZsYWdzfD0yLHIucmV0dXJuPXQsby5yZXR1cm49dCxyLnNpYmxpbmc9byx0LmNoaWxkPXIsdC5tb2RlJjEmJnNuKHQsZS5jaGlsZCxudWxsLHUpLHQuY2hpbGQubWVtb2l6ZWRTdGF0ZT1Ibyh1KSx0Lm1lbW9pemVkU3RhdGU9V28sbyk7aWYoISh0Lm1vZGUmMSkpcmV0dXJuIENyKGUsdCx1LG51bGwpO2lmKGwuZGF0YT09PSIkISIpe2lmKHI9bC5uZXh0U2libGluZyYmbC5uZXh0U2libGluZy5kYXRhc2V0LHIpdmFyIGk9ci5kZ3N0O3JldHVybiByPWksbz1FcnJvcihnKDQxOSkpLHI9dG8obyxyLHZvaWQgMCksQ3IoZSx0LHUscil9aWYoaT0odSZlLmNoaWxkTGFuZXMpIT09MCxkZXx8aSl7aWYocj1xLHIhPT1udWxsKXtzd2l0Y2godSYtdSl7Y2FzZSA0Omw9MjticmVhaztjYXNlIDE2Omw9ODticmVhaztjYXNlIDY0OmNhc2UgMTI4OmNhc2UgMjU2OmNhc2UgNTEyOmNhc2UgMTAyNDpjYXNlIDIwNDg6Y2FzZSA0MDk2OmNhc2UgODE5MjpjYXNlIDE2Mzg0OmNhc2UgMzI3Njg6Y2FzZSA2NTUzNjpjYXNlIDEzMTA3MjpjYXNlIDI2MjE0NDpjYXNlIDUyNDI4ODpjYXNlIDEwNDg1NzY6Y2FzZSAyMDk3MTUyOmNhc2UgNDE5NDMwNDpjYXNlIDgzODg2MDg6Y2FzZSAxNjc3NzIxNjpjYXNlIDMzNTU0NDMyOmNhc2UgNjcxMDg4NjQ6bD0zMjticmVhaztjYXNlIDUzNjg3MDkxMjpsPTI2ODQzNTQ1NjticmVhaztkZWZhdWx0Omw9MH1sPWwmKHIuc3VzcGVuZGVkTGFuZXN8dSk/MDpsLGwhPT0wJiZsIT09by5yZXRyeUxhbmUmJihvLnJldHJ5TGFuZT1sLFhlKGUsbCksTWUocixlLGwsLTEpKX1yZXR1cm4gUXUoKSxyPXRvKEVycm9yKGcoNDIxKSkpLENyKGUsdCx1LHIpfXJldHVybiBsLmRhdGE9PT0iJD8iPyh0LmZsYWdzfD0xMjgsdC5jaGlsZD1lLmNoaWxkLHQ9Y3AuYmluZChudWxsLGUpLGwuX3JlYWN0UmV0cnk9dCxudWxsKTooZT1vLnRyZWVDb250ZXh0LHllPXN0KGwubmV4dFNpYmxpbmcpLGdlPXQsVT0hMCxPZT1udWxsLGUhPT1udWxsJiYoRWVbeGUrK109V2UsRWVbeGUrK109SGUsRWVbeGUrK109THQsV2U9ZS5pZCxIZT1lLm92ZXJmbG93LEx0PXQpLHQ9JHUodCxyLmNoaWxkcmVuKSx0LmZsYWdzfD00MDk2LHQpfWZ1bmN0aW9uIHFpKGUsdCxuKXtlLmxhbmVzfD10O3ZhciByPWUuYWx0ZXJuYXRlO3IhPT1udWxsJiYoci5sYW5lc3w9dCksRm8oZS5yZXR1cm4sdCxuKX1mdW5jdGlvbiBubyhlLHQsbixyLGwpe3ZhciBvPWUubWVtb2l6ZWRTdGF0ZTtvPT09bnVsbD9lLm1lbW9pemVkU3RhdGU9e2lzQmFja3dhcmRzOnQscmVuZGVyaW5nOm51bGwscmVuZGVyaW5nU3RhcnRUaW1lOjAsbGFzdDpyLHRhaWw6bix0YWlsTW9kZTpsfTooby5pc0JhY2t3YXJkcz10LG8ucmVuZGVyaW5nPW51bGwsby5yZW5kZXJpbmdTdGFydFRpbWU9MCxvLmxhc3Q9cixvLnRhaWw9bixvLnRhaWxNb2RlPWwpfWZ1bmN0aW9uIGNjKGUsdCxuKXt2YXIgcj10LnBlbmRpbmdQcm9wcyxsPXIucmV2ZWFsT3JkZXIsbz1yLnRhaWw7aWYoaWUoZSx0LHIuY2hpbGRyZW4sbikscj0kLmN1cnJlbnQsciYyKXI9ciYxfDIsdC5mbGFnc3w9MTI4O2Vsc2V7aWYoZSE9PW51bGwmJmUuZmxhZ3MmMTI4KWU6Zm9yKGU9dC5jaGlsZDtlIT09bnVsbDspe2lmKGUudGFnPT09MTMpZS5tZW1vaXplZFN0YXRlIT09bnVsbCYmcWkoZSxuLHQpO2Vsc2UgaWYoZS50YWc9PT0xOSlxaShlLG4sdCk7ZWxzZSBpZihlLmNoaWxkIT09bnVsbCl7ZS5jaGlsZC5yZXR1cm49ZSxlPWUuY2hpbGQ7Y29udGludWV9aWYoZT09PXQpYnJlYWsgZTtmb3IoO2Uuc2libGluZz09PW51bGw7KXtpZihlLnJldHVybj09PW51bGx8fGUucmV0dXJuPT09dClicmVhayBlO2U9ZS5yZXR1cm59ZS5zaWJsaW5nLnJldHVybj1lLnJldHVybixlPWUuc2libGluZ31yJj0xfWlmKEQoJCxyKSwhKHQubW9kZSYxKSl0Lm1lbW9pemVkU3RhdGU9bnVsbDtlbHNlIHN3aXRjaChsKXtjYXNlImZvcndhcmRzIjpmb3Iobj10LmNoaWxkLGw9bnVsbDtuIT09bnVsbDspZT1uLmFsdGVybmF0ZSxlIT09bnVsbCYmbmwoZSk9PT1udWxsJiYobD1uKSxuPW4uc2libGluZztuPWwsbj09PW51bGw/KGw9dC5jaGlsZCx0LmNoaWxkPW51bGwpOihsPW4uc2libGluZyxuLnNpYmxpbmc9bnVsbCksbm8odCwhMSxsLG4sbyk7YnJlYWs7Y2FzZSJiYWNrd2FyZHMiOmZvcihuPW51bGwsbD10LmNoaWxkLHQuY2hpbGQ9bnVsbDtsIT09bnVsbDspe2lmKGU9bC5hbHRlcm5hdGUsZSE9PW51bGwmJm5sKGUpPT09bnVsbCl7dC5jaGlsZD1sO2JyZWFrfWU9bC5zaWJsaW5nLGwuc2libGluZz1uLG49bCxsPWV9bm8odCwhMCxuLG51bGwsbyk7YnJlYWs7Y2FzZSJ0b2dldGhlciI6bm8odCwhMSxudWxsLG51bGwsdm9pZCAwKTticmVhaztkZWZhdWx0OnQubWVtb2l6ZWRTdGF0ZT1udWxsfXJldHVybiB0LmNoaWxkfWZ1bmN0aW9uIGpyKGUsdCl7ISh0Lm1vZGUmMSkmJmUhPT1udWxsJiYoZS5hbHRlcm5hdGU9bnVsbCx0LmFsdGVybmF0ZT1udWxsLHQuZmxhZ3N8PTIpfWZ1bmN0aW9uIEdlKGUsdCxuKXtpZihlIT09bnVsbCYmKHQuZGVwZW5kZW5jaWVzPWUuZGVwZW5kZW5jaWVzKSxUdHw9dC5sYW5lcywhKG4mdC5jaGlsZExhbmVzKSlyZXR1cm4gbnVsbDtpZihlIT09bnVsbCYmdC5jaGlsZCE9PWUuY2hpbGQpdGhyb3cgRXJyb3IoZygxNTMpKTtpZih0LmNoaWxkIT09bnVsbCl7Zm9yKGU9dC5jaGlsZCxuPWR0KGUsZS5wZW5kaW5nUHJvcHMpLHQuY2hpbGQ9bixuLnJldHVybj10O2Uuc2libGluZyE9PW51bGw7KWU9ZS5zaWJsaW5nLG49bi5zaWJsaW5nPWR0KGUsZS5wZW5kaW5nUHJvcHMpLG4ucmV0dXJuPXQ7bi5zaWJsaW5nPW51bGx9cmV0dXJuIHQuY2hpbGR9ZnVuY3Rpb24gcWQoZSx0LG4pe3N3aXRjaCh0LnRhZyl7Y2FzZSAzOnNjKHQpLHVuKCk7YnJlYWs7Y2FzZSA1OmphKHQpO2JyZWFrO2Nhc2UgMTpoZSh0LnR5cGUpJiZacih0KTticmVhaztjYXNlIDQ6VHUodCx0LnN0YXRlTm9kZS5jb250YWluZXJJbmZvKTticmVhaztjYXNlIDEwOnZhciByPXQudHlwZS5fY29udGV4dCxsPXQubWVtb2l6ZWRQcm9wcy52YWx1ZTtEKGJyLHIuX2N1cnJlbnRWYWx1ZSksci5fY3VycmVudFZhbHVlPWw7YnJlYWs7Y2FzZSAxMzppZihyPXQubWVtb2l6ZWRTdGF0ZSxyIT09bnVsbClyZXR1cm4gci5kZWh5ZHJhdGVkIT09bnVsbD8oRCgkLCQuY3VycmVudCYxKSx0LmZsYWdzfD0xMjgsbnVsbCk6biZ0LmNoaWxkLmNoaWxkTGFuZXM/YWMoZSx0LG4pOihEKCQsJC5jdXJyZW50JjEpLGU9R2UoZSx0LG4pLGUhPT1udWxsP2Uuc2libGluZzpudWxsKTtEKCQsJC5jdXJyZW50JjEpO2JyZWFrO2Nhc2UgMTk6aWYocj0obiZ0LmNoaWxkTGFuZXMpIT09MCxlLmZsYWdzJjEyOCl7aWYocilyZXR1cm4gY2MoZSx0LG4pO3QuZmxhZ3N8PTEyOH1pZihsPXQubWVtb2l6ZWRTdGF0ZSxsIT09bnVsbCYmKGwucmVuZGVyaW5nPW51bGwsbC50YWlsPW51bGwsbC5sYXN0RWZmZWN0PW51bGwpLEQoJCwkLmN1cnJlbnQpLHIpYnJlYWs7cmV0dXJuIG51bGw7Y2FzZSAyMjpjYXNlIDIzOnJldHVybiB0LmxhbmVzPTAsdWMoZSx0LG4pfXJldHVybiBHZShlLHQsbil9dmFyIGZjLFFvLGRjLHBjO2ZjPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPXQuY2hpbGQ7biE9PW51bGw7KXtpZihuLnRhZz09PTV8fG4udGFnPT09NillLmFwcGVuZENoaWxkKG4uc3RhdGVOb2RlKTtlbHNlIGlmKG4udGFnIT09NCYmbi5jaGlsZCE9PW51bGwpe24uY2hpbGQucmV0dXJuPW4sbj1uLmNoaWxkO2NvbnRpbnVlfWlmKG49PT10KWJyZWFrO2Zvcig7bi5zaWJsaW5nPT09bnVsbDspe2lmKG4ucmV0dXJuPT09bnVsbHx8bi5yZXR1cm49PT10KXJldHVybjtuPW4ucmV0dXJufW4uc2libGluZy5yZXR1cm49bi5yZXR1cm4sbj1uLnNpYmxpbmd9fTtRbz1mdW5jdGlvbigpe307ZGM9ZnVuY3Rpb24oZSx0LG4scil7dmFyIGw9ZS5tZW1vaXplZFByb3BzO2lmKGwhPT1yKXtlPXQuc3RhdGVOb2RlLEN0KEFlLmN1cnJlbnQpO3ZhciBvPW51bGw7c3dpdGNoKG4pe2Nhc2UiaW5wdXQiOmw9cG8oZSxsKSxyPXBvKGUsciksbz1bXTticmVhaztjYXNlInNlbGVjdCI6bD1CKHt9LGwse3ZhbHVlOnZvaWQgMH0pLHI9Qih7fSxyLHt2YWx1ZTp2b2lkIDB9KSxvPVtdO2JyZWFrO2Nhc2UidGV4dGFyZWEiOmw9dm8oZSxsKSxyPXZvKGUsciksbz1bXTticmVhaztkZWZhdWx0OnR5cGVvZiBsLm9uQ2xpY2shPSJmdW5jdGlvbiImJnR5cGVvZiByLm9uQ2xpY2s9PSJmdW5jdGlvbiImJihlLm9uY2xpY2s9WHIpfWdvKG4scik7dmFyIHU7bj1udWxsO2ZvcihhIGluIGwpaWYoIXIuaGFzT3duUHJvcGVydHkoYSkmJmwuaGFzT3duUHJvcGVydHkoYSkmJmxbYV0hPW51bGwpaWYoYT09PSJzdHlsZSIpe3ZhciBpPWxbYV07Zm9yKHUgaW4gaSlpLmhhc093blByb3BlcnR5KHUpJiYobnx8KG49e30pLG5bdV09IiIpfWVsc2UgYSE9PSJkYW5nZXJvdXNseVNldElubmVySFRNTCImJmEhPT0iY2hpbGRyZW4iJiZhIT09InN1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZyImJmEhPT0ic3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nIiYmYSE9PSJhdXRvRm9jdXMiJiYoVW4uaGFzT3duUHJvcGVydHkoYSk/b3x8KG89W10pOihvPW98fFtdKS5wdXNoKGEsbnVsbCkpO2ZvcihhIGluIHIpe3ZhciBzPXJbYV07aWYoaT1sIT1udWxsP2xbYV06dm9pZCAwLHIuaGFzT3duUHJvcGVydHkoYSkmJnMhPT1pJiYocyE9bnVsbHx8aSE9bnVsbCkpaWYoYT09PSJzdHlsZSIpaWYoaSl7Zm9yKHUgaW4gaSkhaS5oYXNPd25Qcm9wZXJ0eSh1KXx8cyYmcy5oYXNPd25Qcm9wZXJ0eSh1KXx8KG58fChuPXt9KSxuW3VdPSIiKTtmb3IodSBpbiBzKXMuaGFzT3duUHJvcGVydHkodSkmJmlbdV0hPT1zW3VdJiYobnx8KG49e30pLG5bdV09c1t1XSl9ZWxzZSBufHwob3x8KG89W10pLG8ucHVzaChhLG4pKSxuPXM7ZWxzZSBhPT09ImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIj8ocz1zP3MuX19odG1sOnZvaWQgMCxpPWk/aS5fX2h0bWw6dm9pZCAwLHMhPW51bGwmJmkhPT1zJiYobz1vfHxbXSkucHVzaChhLHMpKTphPT09ImNoaWxkcmVuIj90eXBlb2YgcyE9InN0cmluZyImJnR5cGVvZiBzIT0ibnVtYmVyInx8KG89b3x8W10pLnB1c2goYSwiIitzKTphIT09InN1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZyImJmEhPT0ic3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nIiYmKFVuLmhhc093blByb3BlcnR5KGEpPyhzIT1udWxsJiZhPT09Im9uU2Nyb2xsIiYmaigic2Nyb2xsIixlKSxvfHxpPT09c3x8KG89W10pKToobz1vfHxbXSkucHVzaChhLHMpKX1uJiYobz1vfHxbXSkucHVzaCgic3R5bGUiLG4pO3ZhciBhPW87KHQudXBkYXRlUXVldWU9YSkmJih0LmZsYWdzfD00KX19O3BjPWZ1bmN0aW9uKGUsdCxuLHIpe24hPT1yJiYodC5mbGFnc3w9NCl9O2Z1bmN0aW9uIHhuKGUsdCl7aWYoIVUpc3dpdGNoKGUudGFpbE1vZGUpe2Nhc2UiaGlkZGVuIjp0PWUudGFpbDtmb3IodmFyIG49bnVsbDt0IT09bnVsbDspdC5hbHRlcm5hdGUhPT1udWxsJiYobj10KSx0PXQuc2libGluZztuPT09bnVsbD9lLnRhaWw9bnVsbDpuLnNpYmxpbmc9bnVsbDticmVhaztjYXNlImNvbGxhcHNlZCI6bj1lLnRhaWw7Zm9yKHZhciByPW51bGw7biE9PW51bGw7KW4uYWx0ZXJuYXRlIT09bnVsbCYmKHI9biksbj1uLnNpYmxpbmc7cj09PW51bGw/dHx8ZS50YWlsPT09bnVsbD9lLnRhaWw9bnVsbDplLnRhaWwuc2libGluZz1udWxsOnIuc2libGluZz1udWxsfX1mdW5jdGlvbiByZShlKXt2YXIgdD1lLmFsdGVybmF0ZSE9PW51bGwmJmUuYWx0ZXJuYXRlLmNoaWxkPT09ZS5jaGlsZCxuPTAscj0wO2lmKHQpZm9yKHZhciBsPWUuY2hpbGQ7bCE9PW51bGw7KW58PWwubGFuZXN8bC5jaGlsZExhbmVzLHJ8PWwuc3VidHJlZUZsYWdzJjE0NjgwMDY0LHJ8PWwuZmxhZ3MmMTQ2ODAwNjQsbC5yZXR1cm49ZSxsPWwuc2libGluZztlbHNlIGZvcihsPWUuY2hpbGQ7bCE9PW51bGw7KW58PWwubGFuZXN8bC5jaGlsZExhbmVzLHJ8PWwuc3VidHJlZUZsYWdzLHJ8PWwuZmxhZ3MsbC5yZXR1cm49ZSxsPWwuc2libGluZztyZXR1cm4gZS5zdWJ0cmVlRmxhZ3N8PXIsZS5jaGlsZExhbmVzPW4sdH1mdW5jdGlvbiBiZChlLHQsbil7dmFyIHI9dC5wZW5kaW5nUHJvcHM7c3dpdGNoKEN1KHQpLHQudGFnKXtjYXNlIDI6Y2FzZSAxNjpjYXNlIDE1OmNhc2UgMDpjYXNlIDExOmNhc2UgNzpjYXNlIDg6Y2FzZSAxMjpjYXNlIDk6Y2FzZSAxNDpyZXR1cm4gcmUodCksbnVsbDtjYXNlIDE6cmV0dXJuIGhlKHQudHlwZSkmJkdyKCkscmUodCksbnVsbDtjYXNlIDM6cmV0dXJuIHI9dC5zdGF0ZU5vZGUsYW4oKSxGKHBlKSxGKG9lKSxJdSgpLHIucGVuZGluZ0NvbnRleHQmJihyLmNvbnRleHQ9ci5wZW5kaW5nQ29udGV4dCxyLnBlbmRpbmdDb250ZXh0PW51bGwpLChlPT09bnVsbHx8ZS5jaGlsZD09PW51bGwpJiYoRXIodCk/dC5mbGFnc3w9NDplPT09bnVsbHx8ZS5tZW1vaXplZFN0YXRlLmlzRGVoeWRyYXRlZCYmISh0LmZsYWdzJjI1Nil8fCh0LmZsYWdzfD0xMDI0LE9lIT09bnVsbCYmKGJvKE9lKSxPZT1udWxsKSkpLFFvKGUsdCkscmUodCksbnVsbDtjYXNlIDU6T3UodCk7dmFyIGw9Q3QoWm4uY3VycmVudCk7aWYobj10LnR5cGUsZSE9PW51bGwmJnQuc3RhdGVOb2RlIT1udWxsKWRjKGUsdCxuLHIsbCksZS5yZWYhPT10LnJlZiYmKHQuZmxhZ3N8PTUxMix0LmZsYWdzfD0yMDk3MTUyKTtlbHNle2lmKCFyKXtpZih0LnN0YXRlTm9kZT09PW51bGwpdGhyb3cgRXJyb3IoZygxNjYpKTtyZXR1cm4gcmUodCksbnVsbH1pZihlPUN0KEFlLmN1cnJlbnQpLEVyKHQpKXtyPXQuc3RhdGVOb2RlLG49dC50eXBlO3ZhciBvPXQubWVtb2l6ZWRQcm9wcztzd2l0Y2gocltVZV09dCxyW1huXT1vLGU9KHQubW9kZSYxKSE9PTAsbil7Y2FzZSJkaWFsb2ciOmooImNhbmNlbCIsciksaigiY2xvc2UiLHIpO2JyZWFrO2Nhc2UiaWZyYW1lIjpjYXNlIm9iamVjdCI6Y2FzZSJlbWJlZCI6aigibG9hZCIscik7YnJlYWs7Y2FzZSJ2aWRlbyI6Y2FzZSJhdWRpbyI6Zm9yKGw9MDtsPHpuLmxlbmd0aDtsKyspaih6bltsXSxyKTticmVhaztjYXNlInNvdXJjZSI6aigiZXJyb3IiLHIpO2JyZWFrO2Nhc2UiaW1nIjpjYXNlImltYWdlIjpjYXNlImxpbmsiOmooImVycm9yIixyKSxqKCJsb2FkIixyKTticmVhaztjYXNlImRldGFpbHMiOmooInRvZ2dsZSIscik7YnJlYWs7Y2FzZSJpbnB1dCI6aWkocixvKSxqKCJpbnZhbGlkIixyKTticmVhaztjYXNlInNlbGVjdCI6ci5fd3JhcHBlclN0YXRlPXt3YXNNdWx0aXBsZTohIW8ubXVsdGlwbGV9LGooImludmFsaWQiLHIpO2JyZWFrO2Nhc2UidGV4dGFyZWEiOmFpKHIsbyksaigiaW52YWxpZCIscil9Z28obixvKSxsPW51bGw7Zm9yKHZhciB1IGluIG8paWYoby5oYXNPd25Qcm9wZXJ0eSh1KSl7dmFyIGk9b1t1XTt1PT09ImNoaWxkcmVuIj90eXBlb2YgaT09InN0cmluZyI/ci50ZXh0Q29udGVudCE9PWkmJihvLnN1cHByZXNzSHlkcmF0aW9uV2FybmluZyE9PSEwJiZrcihyLnRleHRDb250ZW50LGksZSksbD1bImNoaWxkcmVuIixpXSk6dHlwZW9mIGk9PSJudW1iZXIiJiZyLnRleHRDb250ZW50IT09IiIraSYmKG8uc3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nIT09ITAmJmtyKHIudGV4dENvbnRlbnQsaSxlKSxsPVsiY2hpbGRyZW4iLCIiK2ldKTpVbi5oYXNPd25Qcm9wZXJ0eSh1KSYmaSE9bnVsbCYmdT09PSJvblNjcm9sbCImJmooInNjcm9sbCIscil9c3dpdGNoKG4pe2Nhc2UiaW5wdXQiOnByKHIpLHNpKHIsbywhMCk7YnJlYWs7Y2FzZSJ0ZXh0YXJlYSI6cHIociksY2kocik7YnJlYWs7Y2FzZSJzZWxlY3QiOmNhc2Uib3B0aW9uIjpicmVhaztkZWZhdWx0OnR5cGVvZiBvLm9uQ2xpY2s9PSJmdW5jdGlvbiImJihyLm9uY2xpY2s9WHIpfXI9bCx0LnVwZGF0ZVF1ZXVlPXIsciE9PW51bGwmJih0LmZsYWdzfD00KX1lbHNle3U9bC5ub2RlVHlwZT09PTk/bDpsLm93bmVyRG9jdW1lbnQsZT09PSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiYmKGU9QnMobikpLGU9PT0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI/bj09PSJzY3JpcHQiPyhlPXUuY3JlYXRlRWxlbWVudCgiZGl2IiksZS5pbm5lckhUTUw9IjxzY3JpcHQ+PFwvc2NyaXB0PiIsZT1lLnJlbW92ZUNoaWxkKGUuZmlyc3RDaGlsZCkpOnR5cGVvZiByLmlzPT0ic3RyaW5nIj9lPXUuY3JlYXRlRWxlbWVudChuLHtpczpyLmlzfSk6KGU9dS5jcmVhdGVFbGVtZW50KG4pLG49PT0ic2VsZWN0IiYmKHU9ZSxyLm11bHRpcGxlP3UubXVsdGlwbGU9ITA6ci5zaXplJiYodS5zaXplPXIuc2l6ZSkpKTplPXUuY3JlYXRlRWxlbWVudE5TKGUsbiksZVtVZV09dCxlW1huXT1yLGZjKGUsdCwhMSwhMSksdC5zdGF0ZU5vZGU9ZTtlOntzd2l0Y2godT13byhuLHIpLG4pe2Nhc2UiZGlhbG9nIjpqKCJjYW5jZWwiLGUpLGooImNsb3NlIixlKSxsPXI7YnJlYWs7Y2FzZSJpZnJhbWUiOmNhc2Uib2JqZWN0IjpjYXNlImVtYmVkIjpqKCJsb2FkIixlKSxsPXI7YnJlYWs7Y2FzZSJ2aWRlbyI6Y2FzZSJhdWRpbyI6Zm9yKGw9MDtsPHpuLmxlbmd0aDtsKyspaih6bltsXSxlKTtsPXI7YnJlYWs7Y2FzZSJzb3VyY2UiOmooImVycm9yIixlKSxsPXI7YnJlYWs7Y2FzZSJpbWciOmNhc2UiaW1hZ2UiOmNhc2UibGluayI6aigiZXJyb3IiLGUpLGooImxvYWQiLGUpLGw9cjticmVhaztjYXNlImRldGFpbHMiOmooInRvZ2dsZSIsZSksbD1yO2JyZWFrO2Nhc2UiaW5wdXQiOmlpKGUsciksbD1wbyhlLHIpLGooImludmFsaWQiLGUpO2JyZWFrO2Nhc2Uib3B0aW9uIjpsPXI7YnJlYWs7Y2FzZSJzZWxlY3QiOmUuX3dyYXBwZXJTdGF0ZT17d2FzTXVsdGlwbGU6ISFyLm11bHRpcGxlfSxsPUIoe30scix7dmFsdWU6dm9pZCAwfSksaigiaW52YWxpZCIsZSk7YnJlYWs7Y2FzZSJ0ZXh0YXJlYSI6YWkoZSxyKSxsPXZvKGUsciksaigiaW52YWxpZCIsZSk7YnJlYWs7ZGVmYXVsdDpsPXJ9Z28obixsKSxpPWw7Zm9yKG8gaW4gaSlpZihpLmhhc093blByb3BlcnR5KG8pKXt2YXIgcz1pW29dO289PT0ic3R5bGUiP0hzKGUscyk6bz09PSJkYW5nZXJvdXNseVNldElubmVySFRNTCI/KHM9cz9zLl9faHRtbDp2b2lkIDAscyE9bnVsbCYmVnMoZSxzKSk6bz09PSJjaGlsZHJlbiI/dHlwZW9mIHM9PSJzdHJpbmciPyhuIT09InRleHRhcmVhInx8cyE9PSIiKSYmJG4oZSxzKTp0eXBlb2Ygcz09Im51bWJlciImJiRuKGUsIiIrcyk6byE9PSJzdXBwcmVzc0NvbnRlbnRFZGl0YWJsZVdhcm5pbmciJiZvIT09InN1cHByZXNzSHlkcmF0aW9uV2FybmluZyImJm8hPT0iYXV0b0ZvY3VzIiYmKFVuLmhhc093blByb3BlcnR5KG8pP3MhPW51bGwmJm89PT0ib25TY3JvbGwiJiZqKCJzY3JvbGwiLGUpOnMhPW51bGwmJmF1KGUsbyxzLHUpKX1zd2l0Y2gobil7Y2FzZSJpbnB1dCI6cHIoZSksc2koZSxyLCExKTticmVhaztjYXNlInRleHRhcmVhIjpwcihlKSxjaShlKTticmVhaztjYXNlIm9wdGlvbiI6ci52YWx1ZSE9bnVsbCYmZS5zZXRBdHRyaWJ1dGUoInZhbHVlIiwiIitwdChyLnZhbHVlKSk7YnJlYWs7Y2FzZSJzZWxlY3QiOmUubXVsdGlwbGU9ISFyLm11bHRpcGxlLG89ci52YWx1ZSxvIT1udWxsP3F0KGUsISFyLm11bHRpcGxlLG8sITEpOnIuZGVmYXVsdFZhbHVlIT1udWxsJiZxdChlLCEhci5tdWx0aXBsZSxyLmRlZmF1bHRWYWx1ZSwhMCk7YnJlYWs7ZGVmYXVsdDp0eXBlb2YgbC5vbkNsaWNrPT0iZnVuY3Rpb24iJiYoZS5vbmNsaWNrPVhyKX1zd2l0Y2gobil7Y2FzZSJidXR0b24iOmNhc2UiaW5wdXQiOmNhc2Uic2VsZWN0IjpjYXNlInRleHRhcmVhIjpyPSEhci5hdXRvRm9jdXM7YnJlYWsgZTtjYXNlImltZyI6cj0hMDticmVhayBlO2RlZmF1bHQ6cj0hMX19ciYmKHQuZmxhZ3N8PTQpfXQucmVmIT09bnVsbCYmKHQuZmxhZ3N8PTUxMix0LmZsYWdzfD0yMDk3MTUyKX1yZXR1cm4gcmUodCksbnVsbDtjYXNlIDY6aWYoZSYmdC5zdGF0ZU5vZGUhPW51bGwpcGMoZSx0LGUubWVtb2l6ZWRQcm9wcyxyKTtlbHNle2lmKHR5cGVvZiByIT0ic3RyaW5nIiYmdC5zdGF0ZU5vZGU9PT1udWxsKXRocm93IEVycm9yKGcoMTY2KSk7aWYobj1DdChabi5jdXJyZW50KSxDdChBZS5jdXJyZW50KSxFcih0KSl7aWYocj10LnN0YXRlTm9kZSxuPXQubWVtb2l6ZWRQcm9wcyxyW1VlXT10LChvPXIubm9kZVZhbHVlIT09bikmJihlPWdlLGUhPT1udWxsKSlzd2l0Y2goZS50YWcpe2Nhc2UgMzprcihyLm5vZGVWYWx1ZSxuLChlLm1vZGUmMSkhPT0wKTticmVhaztjYXNlIDU6ZS5tZW1vaXplZFByb3BzLnN1cHByZXNzSHlkcmF0aW9uV2FybmluZyE9PSEwJiZrcihyLm5vZGVWYWx1ZSxuLChlLm1vZGUmMSkhPT0wKX1vJiYodC5mbGFnc3w9NCl9ZWxzZSByPShuLm5vZGVUeXBlPT09OT9uOm4ub3duZXJEb2N1bWVudCkuY3JlYXRlVGV4dE5vZGUocikscltVZV09dCx0LnN0YXRlTm9kZT1yfXJldHVybiByZSh0KSxudWxsO2Nhc2UgMTM6aWYoRigkKSxyPXQubWVtb2l6ZWRTdGF0ZSxlPT09bnVsbHx8ZS5tZW1vaXplZFN0YXRlIT09bnVsbCYmZS5tZW1vaXplZFN0YXRlLmRlaHlkcmF0ZWQhPT1udWxsKXtpZihVJiZ5ZSE9PW51bGwmJnQubW9kZSYxJiYhKHQuZmxhZ3MmMTI4KSlUYSgpLHVuKCksdC5mbGFnc3w9OTg1NjAsbz0hMTtlbHNlIGlmKG89RXIodCksciE9PW51bGwmJnIuZGVoeWRyYXRlZCE9PW51bGwpe2lmKGU9PT1udWxsKXtpZighbyl0aHJvdyBFcnJvcihnKDMxOCkpO2lmKG89dC5tZW1vaXplZFN0YXRlLG89byE9PW51bGw/by5kZWh5ZHJhdGVkOm51bGwsIW8pdGhyb3cgRXJyb3IoZygzMTcpKTtvW1VlXT10fWVsc2UgdW4oKSwhKHQuZmxhZ3MmMTI4KSYmKHQubWVtb2l6ZWRTdGF0ZT1udWxsKSx0LmZsYWdzfD00O3JlKHQpLG89ITF9ZWxzZSBPZSE9PW51bGwmJihibyhPZSksT2U9bnVsbCksbz0hMDtpZighbylyZXR1cm4gdC5mbGFncyY2NTUzNj90Om51bGx9cmV0dXJuIHQuZmxhZ3MmMTI4Pyh0LmxhbmVzPW4sdCk6KHI9ciE9PW51bGwsciE9PShlIT09bnVsbCYmZS5tZW1vaXplZFN0YXRlIT09bnVsbCkmJnImJih0LmNoaWxkLmZsYWdzfD04MTkyLHQubW9kZSYxJiYoZT09PW51bGx8fCQuY3VycmVudCYxP1g9PT0wJiYoWD0zKTpRdSgpKSksdC51cGRhdGVRdWV1ZSE9PW51bGwmJih0LmZsYWdzfD00KSxyZSh0KSxudWxsKTtjYXNlIDQ6cmV0dXJuIGFuKCksUW8oZSx0KSxlPT09bnVsbCYmS24odC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbykscmUodCksbnVsbDtjYXNlIDEwOnJldHVybiB6dSh0LnR5cGUuX2NvbnRleHQpLHJlKHQpLG51bGw7Y2FzZSAxNzpyZXR1cm4gaGUodC50eXBlKSYmR3IoKSxyZSh0KSxudWxsO2Nhc2UgMTk6aWYoRigkKSxvPXQubWVtb2l6ZWRTdGF0ZSxvPT09bnVsbClyZXR1cm4gcmUodCksbnVsbDtpZihyPSh0LmZsYWdzJjEyOCkhPT0wLHU9by5yZW5kZXJpbmcsdT09PW51bGwpaWYocil4bihvLCExKTtlbHNle2lmKFghPT0wfHxlIT09bnVsbCYmZS5mbGFncyYxMjgpZm9yKGU9dC5jaGlsZDtlIT09bnVsbDspe2lmKHU9bmwoZSksdSE9PW51bGwpe2Zvcih0LmZsYWdzfD0xMjgseG4obywhMSkscj11LnVwZGF0ZVF1ZXVlLHIhPT1udWxsJiYodC51cGRhdGVRdWV1ZT1yLHQuZmxhZ3N8PTQpLHQuc3VidHJlZUZsYWdzPTAscj1uLG49dC5jaGlsZDtuIT09bnVsbDspbz1uLGU9cixvLmZsYWdzJj0xNDY4MDA2Nix1PW8uYWx0ZXJuYXRlLHU9PT1udWxsPyhvLmNoaWxkTGFuZXM9MCxvLmxhbmVzPWUsby5jaGlsZD1udWxsLG8uc3VidHJlZUZsYWdzPTAsby5tZW1vaXplZFByb3BzPW51bGwsby5tZW1vaXplZFN0YXRlPW51bGwsby51cGRhdGVRdWV1ZT1udWxsLG8uZGVwZW5kZW5jaWVzPW51bGwsby5zdGF0ZU5vZGU9bnVsbCk6KG8uY2hpbGRMYW5lcz11LmNoaWxkTGFuZXMsby5sYW5lcz11LmxhbmVzLG8uY2hpbGQ9dS5jaGlsZCxvLnN1YnRyZWVGbGFncz0wLG8uZGVsZXRpb25zPW51bGwsby5tZW1vaXplZFByb3BzPXUubWVtb2l6ZWRQcm9wcyxvLm1lbW9pemVkU3RhdGU9dS5tZW1vaXplZFN0YXRlLG8udXBkYXRlUXVldWU9dS51cGRhdGVRdWV1ZSxvLnR5cGU9dS50eXBlLGU9dS5kZXBlbmRlbmNpZXMsby5kZXBlbmRlbmNpZXM9ZT09PW51bGw/bnVsbDp7bGFuZXM6ZS5sYW5lcyxmaXJzdENvbnRleHQ6ZS5maXJzdENvbnRleHR9KSxuPW4uc2libGluZztyZXR1cm4gRCgkLCQuY3VycmVudCYxfDIpLHQuY2hpbGR9ZT1lLnNpYmxpbmd9by50YWlsIT09bnVsbCYmUSgpPmZuJiYodC5mbGFnc3w9MTI4LHI9ITAseG4obywhMSksdC5sYW5lcz00MTk0MzA0KX1lbHNle2lmKCFyKWlmKGU9bmwodSksZSE9PW51bGwpe2lmKHQuZmxhZ3N8PTEyOCxyPSEwLG49ZS51cGRhdGVRdWV1ZSxuIT09bnVsbCYmKHQudXBkYXRlUXVldWU9bix0LmZsYWdzfD00KSx4bihvLCEwKSxvLnRhaWw9PT1udWxsJiZvLnRhaWxNb2RlPT09ImhpZGRlbiImJiF1LmFsdGVybmF0ZSYmIVUpcmV0dXJuIHJlKHQpLG51bGx9ZWxzZSAyKlEoKS1vLnJlbmRlcmluZ1N0YXJ0VGltZT5mbiYmbiE9PTEwNzM3NDE4MjQmJih0LmZsYWdzfD0xMjgscj0hMCx4bihvLCExKSx0LmxhbmVzPTQxOTQzMDQpO28uaXNCYWNrd2FyZHM/KHUuc2libGluZz10LmNoaWxkLHQuY2hpbGQ9dSk6KG49by5sYXN0LG4hPT1udWxsP24uc2libGluZz11OnQuY2hpbGQ9dSxvLmxhc3Q9dSl9cmV0dXJuIG8udGFpbCE9PW51bGw/KHQ9by50YWlsLG8ucmVuZGVyaW5nPXQsby50YWlsPXQuc2libGluZyxvLnJlbmRlcmluZ1N0YXJ0VGltZT1RKCksdC5zaWJsaW5nPW51bGwsbj0kLmN1cnJlbnQsRCgkLHI/biYxfDI6biYxKSx0KToocmUodCksbnVsbCk7Y2FzZSAyMjpjYXNlIDIzOnJldHVybiBIdSgpLHI9dC5tZW1vaXplZFN0YXRlIT09bnVsbCxlIT09bnVsbCYmZS5tZW1vaXplZFN0YXRlIT09bnVsbCE9PXImJih0LmZsYWdzfD04MTkyKSxyJiZ0Lm1vZGUmMT92ZSYxMDczNzQxODI0JiYocmUodCksdC5zdWJ0cmVlRmxhZ3MmNiYmKHQuZmxhZ3N8PTgxOTIpKTpyZSh0KSxudWxsO2Nhc2UgMjQ6cmV0dXJuIG51bGw7Y2FzZSAyNTpyZXR1cm4gbnVsbH10aHJvdyBFcnJvcihnKDE1Nix0LnRhZykpfWZ1bmN0aW9uIGVwKGUsdCl7c3dpdGNoKEN1KHQpLHQudGFnKXtjYXNlIDE6cmV0dXJuIGhlKHQudHlwZSkmJkdyKCksZT10LmZsYWdzLGUmNjU1MzY/KHQuZmxhZ3M9ZSYtNjU1Mzd8MTI4LHQpOm51bGw7Y2FzZSAzOnJldHVybiBhbigpLEYocGUpLEYob2UpLEl1KCksZT10LmZsYWdzLGUmNjU1MzYmJiEoZSYxMjgpPyh0LmZsYWdzPWUmLTY1NTM3fDEyOCx0KTpudWxsO2Nhc2UgNTpyZXR1cm4gT3UodCksbnVsbDtjYXNlIDEzOmlmKEYoJCksZT10Lm1lbW9pemVkU3RhdGUsZSE9PW51bGwmJmUuZGVoeWRyYXRlZCE9PW51bGwpe2lmKHQuYWx0ZXJuYXRlPT09bnVsbCl0aHJvdyBFcnJvcihnKDM0MCkpO3VuKCl9cmV0dXJuIGU9dC5mbGFncyxlJjY1NTM2Pyh0LmZsYWdzPWUmLTY1NTM3fDEyOCx0KTpudWxsO2Nhc2UgMTk6cmV0dXJuIEYoJCksbnVsbDtjYXNlIDQ6cmV0dXJuIGFuKCksbnVsbDtjYXNlIDEwOnJldHVybiB6dSh0LnR5cGUuX2NvbnRleHQpLG51bGw7Y2FzZSAyMjpjYXNlIDIzOnJldHVybiBIdSgpLG51bGw7Y2FzZSAyNDpyZXR1cm4gbnVsbDtkZWZhdWx0OnJldHVybiBudWxsfX12YXIgX3I9ITEsbGU9ITEsdHA9dHlwZW9mIFdlYWtTZXQ9PSJmdW5jdGlvbiI/V2Vha1NldDpTZXQseD1udWxsO2Z1bmN0aW9uIFp0KGUsdCl7dmFyIG49ZS5yZWY7aWYobiE9PW51bGwpaWYodHlwZW9mIG49PSJmdW5jdGlvbiIpdHJ5e24obnVsbCl9Y2F0Y2gocil7VihlLHQscil9ZWxzZSBuLmN1cnJlbnQ9bnVsbH1mdW5jdGlvbiBLbyhlLHQsbil7dHJ5e24oKX1jYXRjaChyKXtWKGUsdCxyKX19dmFyIGJpPSExO2Z1bmN0aW9uIG5wKGUsdCl7aWYoTG89UXIsZT1nYSgpLEV1KGUpKXtpZigic2VsZWN0aW9uU3RhcnQiaW4gZSl2YXIgbj17c3RhcnQ6ZS5zZWxlY3Rpb25TdGFydCxlbmQ6ZS5zZWxlY3Rpb25FbmR9O2Vsc2UgZTp7bj0obj1lLm93bmVyRG9jdW1lbnQpJiZuLmRlZmF1bHRWaWV3fHx3aW5kb3c7dmFyIHI9bi5nZXRTZWxlY3Rpb24mJm4uZ2V0U2VsZWN0aW9uKCk7aWYociYmci5yYW5nZUNvdW50IT09MCl7bj1yLmFuY2hvck5vZGU7dmFyIGw9ci5hbmNob3JPZmZzZXQsbz1yLmZvY3VzTm9kZTtyPXIuZm9jdXNPZmZzZXQ7dHJ5e24ubm9kZVR5cGUsby5ub2RlVHlwZX1jYXRjaHtuPW51bGw7YnJlYWsgZX12YXIgdT0wLGk9LTEscz0tMSxhPTAsaD0wLGQ9ZSxtPW51bGw7dDpmb3IoOzspe2Zvcih2YXIgeTtkIT09bnx8bCE9PTAmJmQubm9kZVR5cGUhPT0zfHwoaT11K2wpLGQhPT1vfHxyIT09MCYmZC5ub2RlVHlwZSE9PTN8fChzPXUrciksZC5ub2RlVHlwZT09PTMmJih1Kz1kLm5vZGVWYWx1ZS5sZW5ndGgpLCh5PWQuZmlyc3RDaGlsZCkhPT1udWxsOyltPWQsZD15O2Zvcig7Oyl7aWYoZD09PWUpYnJlYWsgdDtpZihtPT09biYmKythPT09bCYmKGk9dSksbT09PW8mJisraD09PXImJihzPXUpLCh5PWQubmV4dFNpYmxpbmcpIT09bnVsbClicmVhaztkPW0sbT1kLnBhcmVudE5vZGV9ZD15fW49aT09PS0xfHxzPT09LTE/bnVsbDp7c3RhcnQ6aSxlbmQ6c319ZWxzZSBuPW51bGx9bj1ufHx7c3RhcnQ6MCxlbmQ6MH19ZWxzZSBuPW51bGw7Zm9yKFJvPXtmb2N1c2VkRWxlbTplLHNlbGVjdGlvblJhbmdlOm59LFFyPSExLHg9dDt4IT09bnVsbDspaWYodD14LGU9dC5jaGlsZCwodC5zdWJ0cmVlRmxhZ3MmMTAyOCkhPT0wJiZlIT09bnVsbCllLnJldHVybj10LHg9ZTtlbHNlIGZvcig7eCE9PW51bGw7KXt0PXg7dHJ5e3ZhciB3PXQuYWx0ZXJuYXRlO2lmKHQuZmxhZ3MmMTAyNClzd2l0Y2godC50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6YnJlYWs7Y2FzZSAxOmlmKHchPT1udWxsKXt2YXIgUz13Lm1lbW9pemVkUHJvcHMsRT13Lm1lbW9pemVkU3RhdGUsZj10LnN0YXRlTm9kZSxjPWYuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUodC5lbGVtZW50VHlwZT09PXQudHlwZT9TOlJlKHQudHlwZSxTKSxFKTtmLl9fcmVhY3RJbnRlcm5hbFNuYXBzaG90QmVmb3JlVXBkYXRlPWN9YnJlYWs7Y2FzZSAzOnZhciBwPXQuc3RhdGVOb2RlLmNvbnRhaW5lckluZm87cC5ub2RlVHlwZT09PTE/cC50ZXh0Q29udGVudD0iIjpwLm5vZGVUeXBlPT09OSYmcC5kb2N1bWVudEVsZW1lbnQmJnAucmVtb3ZlQ2hpbGQocC5kb2N1bWVudEVsZW1lbnQpO2JyZWFrO2Nhc2UgNTpjYXNlIDY6Y2FzZSA0OmNhc2UgMTc6YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcihnKDE2MykpfX1jYXRjaCh2KXtWKHQsdC5yZXR1cm4sdil9aWYoZT10LnNpYmxpbmcsZSE9PW51bGwpe2UucmV0dXJuPXQucmV0dXJuLHg9ZTticmVha314PXQucmV0dXJufXJldHVybiB3PWJpLGJpPSExLHd9ZnVuY3Rpb24gRG4oZSx0LG4pe3ZhciByPXQudXBkYXRlUXVldWU7aWYocj1yIT09bnVsbD9yLmxhc3RFZmZlY3Q6bnVsbCxyIT09bnVsbCl7dmFyIGw9cj1yLm5leHQ7ZG97aWYoKGwudGFnJmUpPT09ZSl7dmFyIG89bC5kZXN0cm95O2wuZGVzdHJveT12b2lkIDAsbyE9PXZvaWQgMCYmS28odCxuLG8pfWw9bC5uZXh0fXdoaWxlKGwhPT1yKX19ZnVuY3Rpb24gd2woZSx0KXtpZih0PXQudXBkYXRlUXVldWUsdD10IT09bnVsbD90Lmxhc3RFZmZlY3Q6bnVsbCx0IT09bnVsbCl7dmFyIG49dD10Lm5leHQ7ZG97aWYoKG4udGFnJmUpPT09ZSl7dmFyIHI9bi5jcmVhdGU7bi5kZXN0cm95PXIoKX1uPW4ubmV4dH13aGlsZShuIT09dCl9fWZ1bmN0aW9uIFlvKGUpe3ZhciB0PWUucmVmO2lmKHQhPT1udWxsKXt2YXIgbj1lLnN0YXRlTm9kZTtzd2l0Y2goZS50YWcpe2Nhc2UgNTplPW47YnJlYWs7ZGVmYXVsdDplPW59dHlwZW9mIHQ9PSJmdW5jdGlvbiI/dChlKTp0LmN1cnJlbnQ9ZX19ZnVuY3Rpb24gaGMoZSl7dmFyIHQ9ZS5hbHRlcm5hdGU7dCE9PW51bGwmJihlLmFsdGVybmF0ZT1udWxsLGhjKHQpKSxlLmNoaWxkPW51bGwsZS5kZWxldGlvbnM9bnVsbCxlLnNpYmxpbmc9bnVsbCxlLnRhZz09PTUmJih0PWUuc3RhdGVOb2RlLHQhPT1udWxsJiYoZGVsZXRlIHRbVWVdLGRlbGV0ZSB0W1huXSxkZWxldGUgdFtJb10sZGVsZXRlIHRbVWRdLGRlbGV0ZSB0WyRkXSkpLGUuc3RhdGVOb2RlPW51bGwsZS5yZXR1cm49bnVsbCxlLmRlcGVuZGVuY2llcz1udWxsLGUubWVtb2l6ZWRQcm9wcz1udWxsLGUubWVtb2l6ZWRTdGF0ZT1udWxsLGUucGVuZGluZ1Byb3BzPW51bGwsZS5zdGF0ZU5vZGU9bnVsbCxlLnVwZGF0ZVF1ZXVlPW51bGx9ZnVuY3Rpb24gbWMoZSl7cmV0dXJuIGUudGFnPT09NXx8ZS50YWc9PT0zfHxlLnRhZz09PTR9ZnVuY3Rpb24gZXMoZSl7ZTpmb3IoOzspe2Zvcig7ZS5zaWJsaW5nPT09bnVsbDspe2lmKGUucmV0dXJuPT09bnVsbHx8bWMoZS5yZXR1cm4pKXJldHVybiBudWxsO2U9ZS5yZXR1cm59Zm9yKGUuc2libGluZy5yZXR1cm49ZS5yZXR1cm4sZT1lLnNpYmxpbmc7ZS50YWchPT01JiZlLnRhZyE9PTYmJmUudGFnIT09MTg7KXtpZihlLmZsYWdzJjJ8fGUuY2hpbGQ9PT1udWxsfHxlLnRhZz09PTQpY29udGludWUgZTtlLmNoaWxkLnJldHVybj1lLGU9ZS5jaGlsZH1pZighKGUuZmxhZ3MmMikpcmV0dXJuIGUuc3RhdGVOb2RlfX1mdW5jdGlvbiBYbyhlLHQsbil7dmFyIHI9ZS50YWc7aWYocj09PTV8fHI9PT02KWU9ZS5zdGF0ZU5vZGUsdD9uLm5vZGVUeXBlPT09OD9uLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGUsdCk6bi5pbnNlcnRCZWZvcmUoZSx0KToobi5ub2RlVHlwZT09PTg/KHQ9bi5wYXJlbnROb2RlLHQuaW5zZXJ0QmVmb3JlKGUsbikpOih0PW4sdC5hcHBlbmRDaGlsZChlKSksbj1uLl9yZWFjdFJvb3RDb250YWluZXIsbiE9bnVsbHx8dC5vbmNsaWNrIT09bnVsbHx8KHQub25jbGljaz1YcikpO2Vsc2UgaWYociE9PTQmJihlPWUuY2hpbGQsZSE9PW51bGwpKWZvcihYbyhlLHQsbiksZT1lLnNpYmxpbmc7ZSE9PW51bGw7KVhvKGUsdCxuKSxlPWUuc2libGluZ31mdW5jdGlvbiBHbyhlLHQsbil7dmFyIHI9ZS50YWc7aWYocj09PTV8fHI9PT02KWU9ZS5zdGF0ZU5vZGUsdD9uLmluc2VydEJlZm9yZShlLHQpOm4uYXBwZW5kQ2hpbGQoZSk7ZWxzZSBpZihyIT09NCYmKGU9ZS5jaGlsZCxlIT09bnVsbCkpZm9yKEdvKGUsdCxuKSxlPWUuc2libGluZztlIT09bnVsbDspR28oZSx0LG4pLGU9ZS5zaWJsaW5nfXZhciBiPW51bGwsVGU9ITE7ZnVuY3Rpb24gSmUoZSx0LG4pe2ZvcihuPW4uY2hpbGQ7biE9PW51bGw7KXZjKGUsdCxuKSxuPW4uc2libGluZ31mdW5jdGlvbiB2YyhlLHQsbil7aWYoJGUmJnR5cGVvZiAkZS5vbkNvbW1pdEZpYmVyVW5tb3VudD09ImZ1bmN0aW9uIil0cnl7JGUub25Db21taXRGaWJlclVubW91bnQoZmwsbil9Y2F0Y2h7fXN3aXRjaChuLnRhZyl7Y2FzZSA1OmxlfHxadChuLHQpO2Nhc2UgNjp2YXIgcj1iLGw9VGU7Yj1udWxsLEplKGUsdCxuKSxiPXIsVGU9bCxiIT09bnVsbCYmKFRlPyhlPWIsbj1uLnN0YXRlTm9kZSxlLm5vZGVUeXBlPT09OD9lLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobik6ZS5yZW1vdmVDaGlsZChuKSk6Yi5yZW1vdmVDaGlsZChuLnN0YXRlTm9kZSkpO2JyZWFrO2Nhc2UgMTg6YiE9PW51bGwmJihUZT8oZT1iLG49bi5zdGF0ZU5vZGUsZS5ub2RlVHlwZT09PTg/R2woZS5wYXJlbnROb2RlLG4pOmUubm9kZVR5cGU9PT0xJiZHbChlLG4pLFduKGUpKTpHbChiLG4uc3RhdGVOb2RlKSk7YnJlYWs7Y2FzZSA0OnI9YixsPVRlLGI9bi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyxUZT0hMCxKZShlLHQsbiksYj1yLFRlPWw7YnJlYWs7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNDpjYXNlIDE1OmlmKCFsZSYmKHI9bi51cGRhdGVRdWV1ZSxyIT09bnVsbCYmKHI9ci5sYXN0RWZmZWN0LHIhPT1udWxsKSkpe2w9cj1yLm5leHQ7ZG97dmFyIG89bCx1PW8uZGVzdHJveTtvPW8udGFnLHUhPT12b2lkIDAmJihvJjJ8fG8mNCkmJktvKG4sdCx1KSxsPWwubmV4dH13aGlsZShsIT09cil9SmUoZSx0LG4pO2JyZWFrO2Nhc2UgMTppZighbGUmJihadChuLHQpLHI9bi5zdGF0ZU5vZGUsdHlwZW9mIHIuY29tcG9uZW50V2lsbFVubW91bnQ9PSJmdW5jdGlvbiIpKXRyeXtyLnByb3BzPW4ubWVtb2l6ZWRQcm9wcyxyLnN0YXRlPW4ubWVtb2l6ZWRTdGF0ZSxyLmNvbXBvbmVudFdpbGxVbm1vdW50KCl9Y2F0Y2goaSl7VihuLHQsaSl9SmUoZSx0LG4pO2JyZWFrO2Nhc2UgMjE6SmUoZSx0LG4pO2JyZWFrO2Nhc2UgMjI6bi5tb2RlJjE/KGxlPShyPWxlKXx8bi5tZW1vaXplZFN0YXRlIT09bnVsbCxKZShlLHQsbiksbGU9cik6SmUoZSx0LG4pO2JyZWFrO2RlZmF1bHQ6SmUoZSx0LG4pfX1mdW5jdGlvbiB0cyhlKXt2YXIgdD1lLnVwZGF0ZVF1ZXVlO2lmKHQhPT1udWxsKXtlLnVwZGF0ZVF1ZXVlPW51bGw7dmFyIG49ZS5zdGF0ZU5vZGU7bj09PW51bGwmJihuPWUuc3RhdGVOb2RlPW5ldyB0cCksdC5mb3JFYWNoKGZ1bmN0aW9uKHIpe3ZhciBsPWZwLmJpbmQobnVsbCxlLHIpO24uaGFzKHIpfHwobi5hZGQociksci50aGVuKGwsbCkpfSl9fWZ1bmN0aW9uIExlKGUsdCl7dmFyIG49dC5kZWxldGlvbnM7aWYobiE9PW51bGwpZm9yKHZhciByPTA7cjxuLmxlbmd0aDtyKyspe3ZhciBsPW5bcl07dHJ5e3ZhciBvPWUsdT10LGk9dTtlOmZvcig7aSE9PW51bGw7KXtzd2l0Y2goaS50YWcpe2Nhc2UgNTpiPWkuc3RhdGVOb2RlLFRlPSExO2JyZWFrIGU7Y2FzZSAzOmI9aS5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyxUZT0hMDticmVhayBlO2Nhc2UgNDpiPWkuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8sVGU9ITA7YnJlYWsgZX1pPWkucmV0dXJufWlmKGI9PT1udWxsKXRocm93IEVycm9yKGcoMTYwKSk7dmMobyx1LGwpLGI9bnVsbCxUZT0hMTt2YXIgcz1sLmFsdGVybmF0ZTtzIT09bnVsbCYmKHMucmV0dXJuPW51bGwpLGwucmV0dXJuPW51bGx9Y2F0Y2goYSl7VihsLHQsYSl9fWlmKHQuc3VidHJlZUZsYWdzJjEyODU0KWZvcih0PXQuY2hpbGQ7dCE9PW51bGw7KXljKHQsZSksdD10LnNpYmxpbmd9ZnVuY3Rpb24geWMoZSx0KXt2YXIgbj1lLmFsdGVybmF0ZSxyPWUuZmxhZ3M7c3dpdGNoKGUudGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE0OmNhc2UgMTU6aWYoTGUodCxlKSxqZShlKSxyJjQpe3RyeXtEbigzLGUsZS5yZXR1cm4pLHdsKDMsZSl9Y2F0Y2goUyl7VihlLGUucmV0dXJuLFMpfXRyeXtEbig1LGUsZS5yZXR1cm4pfWNhdGNoKFMpe1YoZSxlLnJldHVybixTKX19YnJlYWs7Y2FzZSAxOkxlKHQsZSksamUoZSksciY1MTImJm4hPT1udWxsJiZadChuLG4ucmV0dXJuKTticmVhaztjYXNlIDU6aWYoTGUodCxlKSxqZShlKSxyJjUxMiYmbiE9PW51bGwmJlp0KG4sbi5yZXR1cm4pLGUuZmxhZ3MmMzIpe3ZhciBsPWUuc3RhdGVOb2RlO3RyeXskbihsLCIiKX1jYXRjaChTKXtWKGUsZS5yZXR1cm4sUyl9fWlmKHImNCYmKGw9ZS5zdGF0ZU5vZGUsbCE9bnVsbCkpe3ZhciBvPWUubWVtb2l6ZWRQcm9wcyx1PW4hPT1udWxsP24ubWVtb2l6ZWRQcm9wczpvLGk9ZS50eXBlLHM9ZS51cGRhdGVRdWV1ZTtpZihlLnVwZGF0ZVF1ZXVlPW51bGwscyE9PW51bGwpdHJ5e2k9PT0iaW5wdXQiJiZvLnR5cGU9PT0icmFkaW8iJiZvLm5hbWUhPW51bGwmJiRzKGwsbyksd28oaSx1KTt2YXIgYT13byhpLG8pO2Zvcih1PTA7dTxzLmxlbmd0aDt1Kz0yKXt2YXIgaD1zW3VdLGQ9c1t1KzFdO2g9PT0ic3R5bGUiP0hzKGwsZCk6aD09PSJkYW5nZXJvdXNseVNldElubmVySFRNTCI/VnMobCxkKTpoPT09ImNoaWxkcmVuIj8kbihsLGQpOmF1KGwsaCxkLGEpfXN3aXRjaChpKXtjYXNlImlucHV0IjpobyhsLG8pO2JyZWFrO2Nhc2UidGV4dGFyZWEiOkFzKGwsbyk7YnJlYWs7Y2FzZSJzZWxlY3QiOnZhciBtPWwuX3dyYXBwZXJTdGF0ZS53YXNNdWx0aXBsZTtsLl93cmFwcGVyU3RhdGUud2FzTXVsdGlwbGU9ISFvLm11bHRpcGxlO3ZhciB5PW8udmFsdWU7eSE9bnVsbD9xdChsLCEhby5tdWx0aXBsZSx5LCExKTptIT09ISFvLm11bHRpcGxlJiYoby5kZWZhdWx0VmFsdWUhPW51bGw/cXQobCwhIW8ubXVsdGlwbGUsby5kZWZhdWx0VmFsdWUsITApOnF0KGwsISFvLm11bHRpcGxlLG8ubXVsdGlwbGU/W106IiIsITEpKX1sW1huXT1vfWNhdGNoKFMpe1YoZSxlLnJldHVybixTKX19YnJlYWs7Y2FzZSA2OmlmKExlKHQsZSksamUoZSksciY0KXtpZihlLnN0YXRlTm9kZT09PW51bGwpdGhyb3cgRXJyb3IoZygxNjIpKTtsPWUuc3RhdGVOb2RlLG89ZS5tZW1vaXplZFByb3BzO3RyeXtsLm5vZGVWYWx1ZT1vfWNhdGNoKFMpe1YoZSxlLnJldHVybixTKX19YnJlYWs7Y2FzZSAzOmlmKExlKHQsZSksamUoZSksciY0JiZuIT09bnVsbCYmbi5tZW1vaXplZFN0YXRlLmlzRGVoeWRyYXRlZCl0cnl7V24odC5jb250YWluZXJJbmZvKX1jYXRjaChTKXtWKGUsZS5yZXR1cm4sUyl9YnJlYWs7Y2FzZSA0OkxlKHQsZSksamUoZSk7YnJlYWs7Y2FzZSAxMzpMZSh0LGUpLGplKGUpLGw9ZS5jaGlsZCxsLmZsYWdzJjgxOTImJihvPWwubWVtb2l6ZWRTdGF0ZSE9PW51bGwsbC5zdGF0ZU5vZGUuaXNIaWRkZW49bywhb3x8bC5hbHRlcm5hdGUhPT1udWxsJiZsLmFsdGVybmF0ZS5tZW1vaXplZFN0YXRlIT09bnVsbHx8KFZ1PVEoKSkpLHImNCYmdHMoZSk7YnJlYWs7Y2FzZSAyMjppZihoPW4hPT1udWxsJiZuLm1lbW9pemVkU3RhdGUhPT1udWxsLGUubW9kZSYxPyhsZT0oYT1sZSl8fGgsTGUodCxlKSxsZT1hKTpMZSh0LGUpLGplKGUpLHImODE5Mil7aWYoYT1lLm1lbW9pemVkU3RhdGUhPT1udWxsLChlLnN0YXRlTm9kZS5pc0hpZGRlbj1hKSYmIWgmJmUubW9kZSYxKWZvcih4PWUsaD1lLmNoaWxkO2ghPT1udWxsOyl7Zm9yKGQ9eD1oO3ghPT1udWxsOyl7c3dpdGNoKG09eCx5PW0uY2hpbGQsbS50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTQ6Y2FzZSAxNTpEbig0LG0sbS5yZXR1cm4pO2JyZWFrO2Nhc2UgMTpadChtLG0ucmV0dXJuKTt2YXIgdz1tLnN0YXRlTm9kZTtpZih0eXBlb2Ygdy5jb21wb25lbnRXaWxsVW5tb3VudD09ImZ1bmN0aW9uIil7cj1tLG49bS5yZXR1cm47dHJ5e3Q9cix3LnByb3BzPXQubWVtb2l6ZWRQcm9wcyx3LnN0YXRlPXQubWVtb2l6ZWRTdGF0ZSx3LmNvbXBvbmVudFdpbGxVbm1vdW50KCl9Y2F0Y2goUyl7VihyLG4sUyl9fWJyZWFrO2Nhc2UgNTpadChtLG0ucmV0dXJuKTticmVhaztjYXNlIDIyOmlmKG0ubWVtb2l6ZWRTdGF0ZSE9PW51bGwpe3JzKGQpO2NvbnRpbnVlfX15IT09bnVsbD8oeS5yZXR1cm49bSx4PXkpOnJzKGQpfWg9aC5zaWJsaW5nfWU6Zm9yKGg9bnVsbCxkPWU7Oyl7aWYoZC50YWc9PT01KXtpZihoPT09bnVsbCl7aD1kO3RyeXtsPWQuc3RhdGVOb2RlLGE/KG89bC5zdHlsZSx0eXBlb2Ygby5zZXRQcm9wZXJ0eT09ImZ1bmN0aW9uIj9vLnNldFByb3BlcnR5KCJkaXNwbGF5Iiwibm9uZSIsImltcG9ydGFudCIpOm8uZGlzcGxheT0ibm9uZSIpOihpPWQuc3RhdGVOb2RlLHM9ZC5tZW1vaXplZFByb3BzLnN0eWxlLHU9cyE9bnVsbCYmcy5oYXNPd25Qcm9wZXJ0eSgiZGlzcGxheSIpP3MuZGlzcGxheTpudWxsLGkuc3R5bGUuZGlzcGxheT1XcygiZGlzcGxheSIsdSkpfWNhdGNoKFMpe1YoZSxlLnJldHVybixTKX19fWVsc2UgaWYoZC50YWc9PT02KXtpZihoPT09bnVsbCl0cnl7ZC5zdGF0ZU5vZGUubm9kZVZhbHVlPWE/IiI6ZC5tZW1vaXplZFByb3BzfWNhdGNoKFMpe1YoZSxlLnJldHVybixTKX19ZWxzZSBpZigoZC50YWchPT0yMiYmZC50YWchPT0yM3x8ZC5tZW1vaXplZFN0YXRlPT09bnVsbHx8ZD09PWUpJiZkLmNoaWxkIT09bnVsbCl7ZC5jaGlsZC5yZXR1cm49ZCxkPWQuY2hpbGQ7Y29udGludWV9aWYoZD09PWUpYnJlYWsgZTtmb3IoO2Quc2libGluZz09PW51bGw7KXtpZihkLnJldHVybj09PW51bGx8fGQucmV0dXJuPT09ZSlicmVhayBlO2g9PT1kJiYoaD1udWxsKSxkPWQucmV0dXJufWg9PT1kJiYoaD1udWxsKSxkLnNpYmxpbmcucmV0dXJuPWQucmV0dXJuLGQ9ZC5zaWJsaW5nfX1icmVhaztjYXNlIDE5OkxlKHQsZSksamUoZSksciY0JiZ0cyhlKTticmVhaztjYXNlIDIxOmJyZWFrO2RlZmF1bHQ6TGUodCxlKSxqZShlKX19ZnVuY3Rpb24gamUoZSl7dmFyIHQ9ZS5mbGFncztpZih0JjIpe3RyeXtlOntmb3IodmFyIG49ZS5yZXR1cm47biE9PW51bGw7KXtpZihtYyhuKSl7dmFyIHI9bjticmVhayBlfW49bi5yZXR1cm59dGhyb3cgRXJyb3IoZygxNjApKX1zd2l0Y2goci50YWcpe2Nhc2UgNTp2YXIgbD1yLnN0YXRlTm9kZTtyLmZsYWdzJjMyJiYoJG4obCwiIiksci5mbGFncyY9LTMzKTt2YXIgbz1lcyhlKTtHbyhlLG8sbCk7YnJlYWs7Y2FzZSAzOmNhc2UgNDp2YXIgdT1yLnN0YXRlTm9kZS5jb250YWluZXJJbmZvLGk9ZXMoZSk7WG8oZSxpLHUpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoZygxNjEpKX19Y2F0Y2gocyl7VihlLGUucmV0dXJuLHMpfWUuZmxhZ3MmPS0zfXQmNDA5NiYmKGUuZmxhZ3MmPS00MDk3KX1mdW5jdGlvbiBycChlLHQsbil7eD1lLGdjKGUpfWZ1bmN0aW9uIGdjKGUsdCxuKXtmb3IodmFyIHI9KGUubW9kZSYxKSE9PTA7eCE9PW51bGw7KXt2YXIgbD14LG89bC5jaGlsZDtpZihsLnRhZz09PTIyJiZyKXt2YXIgdT1sLm1lbW9pemVkU3RhdGUhPT1udWxsfHxfcjtpZighdSl7dmFyIGk9bC5hbHRlcm5hdGUscz1pIT09bnVsbCYmaS5tZW1vaXplZFN0YXRlIT09bnVsbHx8bGU7aT1fcjt2YXIgYT1sZTtpZihfcj11LChsZT1zKSYmIWEpZm9yKHg9bDt4IT09bnVsbDspdT14LHM9dS5jaGlsZCx1LnRhZz09PTIyJiZ1Lm1lbW9pemVkU3RhdGUhPT1udWxsP2xzKGwpOnMhPT1udWxsPyhzLnJldHVybj11LHg9cyk6bHMobCk7Zm9yKDtvIT09bnVsbDspeD1vLGdjKG8pLG89by5zaWJsaW5nO3g9bCxfcj1pLGxlPWF9bnMoZSl9ZWxzZSBsLnN1YnRyZWVGbGFncyY4NzcyJiZvIT09bnVsbD8oby5yZXR1cm49bCx4PW8pOm5zKGUpfX1mdW5jdGlvbiBucyhlKXtmb3IoO3ghPT1udWxsOyl7dmFyIHQ9eDtpZih0LmZsYWdzJjg3NzIpe3ZhciBuPXQuYWx0ZXJuYXRlO3RyeXtpZih0LmZsYWdzJjg3NzIpc3dpdGNoKHQudGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE1OmxlfHx3bCg1LHQpO2JyZWFrO2Nhc2UgMTp2YXIgcj10LnN0YXRlTm9kZTtpZih0LmZsYWdzJjQmJiFsZSlpZihuPT09bnVsbClyLmNvbXBvbmVudERpZE1vdW50KCk7ZWxzZXt2YXIgbD10LmVsZW1lbnRUeXBlPT09dC50eXBlP24ubWVtb2l6ZWRQcm9wczpSZSh0LnR5cGUsbi5tZW1vaXplZFByb3BzKTtyLmNvbXBvbmVudERpZFVwZGF0ZShsLG4ubWVtb2l6ZWRTdGF0ZSxyLl9fcmVhY3RJbnRlcm5hbFNuYXBzaG90QmVmb3JlVXBkYXRlKX12YXIgbz10LnVwZGF0ZVF1ZXVlO28hPT1udWxsJiZBaSh0LG8scik7YnJlYWs7Y2FzZSAzOnZhciB1PXQudXBkYXRlUXVldWU7aWYodSE9PW51bGwpe2lmKG49bnVsbCx0LmNoaWxkIT09bnVsbClzd2l0Y2godC5jaGlsZC50YWcpe2Nhc2UgNTpuPXQuY2hpbGQuc3RhdGVOb2RlO2JyZWFrO2Nhc2UgMTpuPXQuY2hpbGQuc3RhdGVOb2RlfUFpKHQsdSxuKX1icmVhaztjYXNlIDU6dmFyIGk9dC5zdGF0ZU5vZGU7aWYobj09PW51bGwmJnQuZmxhZ3MmNCl7bj1pO3ZhciBzPXQubWVtb2l6ZWRQcm9wcztzd2l0Y2godC50eXBlKXtjYXNlImJ1dHRvbiI6Y2FzZSJpbnB1dCI6Y2FzZSJzZWxlY3QiOmNhc2UidGV4dGFyZWEiOnMuYXV0b0ZvY3VzJiZuLmZvY3VzKCk7YnJlYWs7Y2FzZSJpbWciOnMuc3JjJiYobi5zcmM9cy5zcmMpfX1icmVhaztjYXNlIDY6YnJlYWs7Y2FzZSA0OmJyZWFrO2Nhc2UgMTI6YnJlYWs7Y2FzZSAxMzppZih0Lm1lbW9pemVkU3RhdGU9PT1udWxsKXt2YXIgYT10LmFsdGVybmF0ZTtpZihhIT09bnVsbCl7dmFyIGg9YS5tZW1vaXplZFN0YXRlO2lmKGghPT1udWxsKXt2YXIgZD1oLmRlaHlkcmF0ZWQ7ZCE9PW51bGwmJlduKGQpfX19YnJlYWs7Y2FzZSAxOTpjYXNlIDE3OmNhc2UgMjE6Y2FzZSAyMjpjYXNlIDIzOmNhc2UgMjU6YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcihnKDE2MykpfWxlfHx0LmZsYWdzJjUxMiYmWW8odCl9Y2F0Y2gobSl7Vih0LHQucmV0dXJuLG0pfX1pZih0PT09ZSl7eD1udWxsO2JyZWFrfWlmKG49dC5zaWJsaW5nLG4hPT1udWxsKXtuLnJldHVybj10LnJldHVybix4PW47YnJlYWt9eD10LnJldHVybn19ZnVuY3Rpb24gcnMoZSl7Zm9yKDt4IT09bnVsbDspe3ZhciB0PXg7aWYodD09PWUpe3g9bnVsbDticmVha312YXIgbj10LnNpYmxpbmc7aWYobiE9PW51bGwpe24ucmV0dXJuPXQucmV0dXJuLHg9bjticmVha314PXQucmV0dXJufX1mdW5jdGlvbiBscyhlKXtmb3IoO3ghPT1udWxsOyl7dmFyIHQ9eDt0cnl7c3dpdGNoKHQudGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE1OnZhciBuPXQucmV0dXJuO3RyeXt3bCg0LHQpfWNhdGNoKHMpe1YodCxuLHMpfWJyZWFrO2Nhc2UgMTp2YXIgcj10LnN0YXRlTm9kZTtpZih0eXBlb2Ygci5jb21wb25lbnREaWRNb3VudD09ImZ1bmN0aW9uIil7dmFyIGw9dC5yZXR1cm47dHJ5e3IuY29tcG9uZW50RGlkTW91bnQoKX1jYXRjaChzKXtWKHQsbCxzKX19dmFyIG89dC5yZXR1cm47dHJ5e1lvKHQpfWNhdGNoKHMpe1YodCxvLHMpfWJyZWFrO2Nhc2UgNTp2YXIgdT10LnJldHVybjt0cnl7WW8odCl9Y2F0Y2gocyl7Vih0LHUscyl9fX1jYXRjaChzKXtWKHQsdC5yZXR1cm4scyl9aWYodD09PWUpe3g9bnVsbDticmVha312YXIgaT10LnNpYmxpbmc7aWYoaSE9PW51bGwpe2kucmV0dXJuPXQucmV0dXJuLHg9aTticmVha314PXQucmV0dXJufX12YXIgbHA9TWF0aC5jZWlsLG9sPVplLlJlYWN0Q3VycmVudERpc3BhdGNoZXIsQXU9WmUuUmVhY3RDdXJyZW50T3duZXIsX2U9WmUuUmVhY3RDdXJyZW50QmF0Y2hDb25maWcsST0wLHE9bnVsbCxLPW51bGwsZWU9MCx2ZT0wLEp0PXZ0KDApLFg9MCxlcj1udWxsLFR0PTAsU2w9MCxCdT0wLGpuPW51bGwsZmU9bnVsbCxWdT0wLGZuPTEvMCxCZT1udWxsLHVsPSExLFpvPW51bGwsY3Q9bnVsbCxQcj0hMSxydD1udWxsLGlsPTAsRm49MCxKbz1udWxsLEZyPS0xLFVyPTA7ZnVuY3Rpb24gc2UoKXtyZXR1cm4gSSY2P1EoKTpGciE9PS0xP0ZyOkZyPVEoKX1mdW5jdGlvbiBmdChlKXtyZXR1cm4gZS5tb2RlJjE/SSYyJiZlZSE9PTA/ZWUmLWVlOkJkLnRyYW5zaXRpb24hPT1udWxsPyhVcj09PTAmJihVcj1uYSgpKSxVcik6KGU9TSxlIT09MHx8KGU9d2luZG93LmV2ZW50LGU9ZT09PXZvaWQgMD8xNjphYShlLnR5cGUpKSxlKToxfWZ1bmN0aW9uIE1lKGUsdCxuLHIpe2lmKDUwPEZuKXRocm93IEZuPTAsSm89bnVsbCxFcnJvcihnKDE4NSkpO29yKGUsbixyKSwoIShJJjIpfHxlIT09cSkmJihlPT09cSYmKCEoSSYyKSYmKFNsfD1uKSxYPT09NCYmdHQoZSxlZSkpLG1lKGUsciksbj09PTEmJkk9PT0wJiYhKHQubW9kZSYxKSYmKGZuPVEoKSs1MDAsdmwmJnl0KCkpKX1mdW5jdGlvbiBtZShlLHQpe3ZhciBuPWUuY2FsbGJhY2tOb2RlO0JmKGUsdCk7dmFyIHI9SHIoZSxlPT09cT9lZTowKTtpZihyPT09MCluIT09bnVsbCYmcGkobiksZS5jYWxsYmFja05vZGU9bnVsbCxlLmNhbGxiYWNrUHJpb3JpdHk9MDtlbHNlIGlmKHQ9ciYtcixlLmNhbGxiYWNrUHJpb3JpdHkhPT10KXtpZihuIT1udWxsJiZwaShuKSx0PT09MSllLnRhZz09PTA/QWQob3MuYmluZChudWxsLGUpKTp6YShvcy5iaW5kKG51bGwsZSkpLGpkKGZ1bmN0aW9uKCl7IShJJjYpJiZ5dCgpfSksbj1udWxsO2Vsc2V7c3dpdGNoKHJhKHIpKXtjYXNlIDE6bj1odTticmVhaztjYXNlIDQ6bj1lYTticmVhaztjYXNlIDE2Om49V3I7YnJlYWs7Y2FzZSA1MzY4NzA5MTI6bj10YTticmVhaztkZWZhdWx0Om49V3J9bj1QYyhuLHdjLmJpbmQobnVsbCxlKSl9ZS5jYWxsYmFja1ByaW9yaXR5PXQsZS5jYWxsYmFja05vZGU9bn19ZnVuY3Rpb24gd2MoZSx0KXtpZihGcj0tMSxVcj0wLEkmNil0aHJvdyBFcnJvcihnKDMyNykpO3ZhciBuPWUuY2FsbGJhY2tOb2RlO2lmKHJuKCkmJmUuY2FsbGJhY2tOb2RlIT09bilyZXR1cm4gbnVsbDt2YXIgcj1IcihlLGU9PT1xP2VlOjApO2lmKHI9PT0wKXJldHVybiBudWxsO2lmKHImMzB8fHImZS5leHBpcmVkTGFuZXN8fHQpdD1zbChlLHIpO2Vsc2V7dD1yO3ZhciBsPUk7SXw9Mjt2YXIgbz1rYygpOyhxIT09ZXx8ZWUhPT10KSYmKEJlPW51bGwsZm49USgpKzUwMCxfdChlLHQpKTtkbyB0cnl7aXAoKTticmVha31jYXRjaChpKXtTYyhlLGkpfXdoaWxlKCEwKTtOdSgpLG9sLmN1cnJlbnQ9byxJPWwsSyE9PW51bGw/dD0wOihxPW51bGwsZWU9MCx0PVgpfWlmKHQhPT0wKXtpZih0PT09MiYmKGw9Q28oZSksbCE9PTAmJihyPWwsdD1xbyhlLGwpKSksdD09PTEpdGhyb3cgbj1lcixfdChlLDApLHR0KGUsciksbWUoZSxRKCkpLG47aWYodD09PTYpdHQoZSxyKTtlbHNle2lmKGw9ZS5jdXJyZW50LmFsdGVybmF0ZSwhKHImMzApJiYhb3AobCkmJih0PXNsKGUsciksdD09PTImJihvPUNvKGUpLG8hPT0wJiYocj1vLHQ9cW8oZSxvKSkpLHQ9PT0xKSl0aHJvdyBuPWVyLF90KGUsMCksdHQoZSxyKSxtZShlLFEoKSksbjtzd2l0Y2goZS5maW5pc2hlZFdvcms9bCxlLmZpbmlzaGVkTGFuZXM9cix0KXtjYXNlIDA6Y2FzZSAxOnRocm93IEVycm9yKGcoMzQ1KSk7Y2FzZSAyOmt0KGUsZmUsQmUpO2JyZWFrO2Nhc2UgMzppZih0dChlLHIpLChyJjEzMDAyMzQyNCk9PT1yJiYodD1WdSs1MDAtUSgpLDEwPHQpKXtpZihIcihlLDApIT09MClicmVhaztpZihsPWUuc3VzcGVuZGVkTGFuZXMsKGwmcikhPT1yKXtzZSgpLGUucGluZ2VkTGFuZXN8PWUuc3VzcGVuZGVkTGFuZXMmbDticmVha31lLnRpbWVvdXRIYW5kbGU9T28oa3QuYmluZChudWxsLGUsZmUsQmUpLHQpO2JyZWFrfWt0KGUsZmUsQmUpO2JyZWFrO2Nhc2UgNDppZih0dChlLHIpLChyJjQxOTQyNDApPT09cilicmVhaztmb3IodD1lLmV2ZW50VGltZXMsbD0tMTswPHI7KXt2YXIgdT0zMS1JZShyKTtvPTE8PHUsdT10W3VdLHU+bCYmKGw9dSksciY9fm99aWYocj1sLHI9USgpLXIscj0oMTIwPnI/MTIwOjQ4MD5yPzQ4MDoxMDgwPnI/MTA4MDoxOTIwPnI/MTkyMDozZTM+cj8zZTM6NDMyMD5yPzQzMjA6MTk2MCpscChyLzE5NjApKS1yLDEwPHIpe2UudGltZW91dEhhbmRsZT1PbyhrdC5iaW5kKG51bGwsZSxmZSxCZSkscik7YnJlYWt9a3QoZSxmZSxCZSk7YnJlYWs7Y2FzZSA1Omt0KGUsZmUsQmUpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoZygzMjkpKX19fXJldHVybiBtZShlLFEoKSksZS5jYWxsYmFja05vZGU9PT1uP3djLmJpbmQobnVsbCxlKTpudWxsfWZ1bmN0aW9uIHFvKGUsdCl7dmFyIG49am47cmV0dXJuIGUuY3VycmVudC5tZW1vaXplZFN0YXRlLmlzRGVoeWRyYXRlZCYmKF90KGUsdCkuZmxhZ3N8PTI1NiksZT1zbChlLHQpLGUhPT0yJiYodD1mZSxmZT1uLHQhPT1udWxsJiZibyh0KSksZX1mdW5jdGlvbiBibyhlKXtmZT09PW51bGw/ZmU9ZTpmZS5wdXNoLmFwcGx5KGZlLGUpfWZ1bmN0aW9uIG9wKGUpe2Zvcih2YXIgdD1lOzspe2lmKHQuZmxhZ3MmMTYzODQpe3ZhciBuPXQudXBkYXRlUXVldWU7aWYobiE9PW51bGwmJihuPW4uc3RvcmVzLG4hPT1udWxsKSlmb3IodmFyIHI9MDtyPG4ubGVuZ3RoO3IrKyl7dmFyIGw9bltyXSxvPWwuZ2V0U25hcHNob3Q7bD1sLnZhbHVlO3RyeXtpZighRGUobygpLGwpKXJldHVybiExfWNhdGNoe3JldHVybiExfX19aWYobj10LmNoaWxkLHQuc3VidHJlZUZsYWdzJjE2Mzg0JiZuIT09bnVsbCluLnJldHVybj10LHQ9bjtlbHNle2lmKHQ9PT1lKWJyZWFrO2Zvcig7dC5zaWJsaW5nPT09bnVsbDspe2lmKHQucmV0dXJuPT09bnVsbHx8dC5yZXR1cm49PT1lKXJldHVybiEwO3Q9dC5yZXR1cm59dC5zaWJsaW5nLnJldHVybj10LnJldHVybix0PXQuc2libGluZ319cmV0dXJuITB9ZnVuY3Rpb24gdHQoZSx0KXtmb3IodCY9fkJ1LHQmPX5TbCxlLnN1c3BlbmRlZExhbmVzfD10LGUucGluZ2VkTGFuZXMmPX50LGU9ZS5leHBpcmF0aW9uVGltZXM7MDx0Oyl7dmFyIG49MzEtSWUodCkscj0xPDxuO2Vbbl09LTEsdCY9fnJ9fWZ1bmN0aW9uIG9zKGUpe2lmKEkmNil0aHJvdyBFcnJvcihnKDMyNykpO3JuKCk7dmFyIHQ9SHIoZSwwKTtpZighKHQmMSkpcmV0dXJuIG1lKGUsUSgpKSxudWxsO3ZhciBuPXNsKGUsdCk7aWYoZS50YWchPT0wJiZuPT09Mil7dmFyIHI9Q28oZSk7ciE9PTAmJih0PXIsbj1xbyhlLHIpKX1pZihuPT09MSl0aHJvdyBuPWVyLF90KGUsMCksdHQoZSx0KSxtZShlLFEoKSksbjtpZihuPT09Nil0aHJvdyBFcnJvcihnKDM0NSkpO3JldHVybiBlLmZpbmlzaGVkV29yaz1lLmN1cnJlbnQuYWx0ZXJuYXRlLGUuZmluaXNoZWRMYW5lcz10LGt0KGUsZmUsQmUpLG1lKGUsUSgpKSxudWxsfWZ1bmN0aW9uIFd1KGUsdCl7dmFyIG49STtJfD0xO3RyeXtyZXR1cm4gZSh0KX1maW5hbGx5e0k9bixJPT09MCYmKGZuPVEoKSs1MDAsdmwmJnl0KCkpfX1mdW5jdGlvbiBPdChlKXtydCE9PW51bGwmJnJ0LnRhZz09PTAmJiEoSSY2KSYmcm4oKTt2YXIgdD1JO0l8PTE7dmFyIG49X2UudHJhbnNpdGlvbixyPU07dHJ5e2lmKF9lLnRyYW5zaXRpb249bnVsbCxNPTEsZSlyZXR1cm4gZSgpfWZpbmFsbHl7TT1yLF9lLnRyYW5zaXRpb249bixJPXQsIShJJjYpJiZ5dCgpfX1mdW5jdGlvbiBIdSgpe3ZlPUp0LmN1cnJlbnQsRihKdCl9ZnVuY3Rpb24gX3QoZSx0KXtlLmZpbmlzaGVkV29yaz1udWxsLGUuZmluaXNoZWRMYW5lcz0wO3ZhciBuPWUudGltZW91dEhhbmRsZTtpZihuIT09LTEmJihlLnRpbWVvdXRIYW5kbGU9LTEsRGQobikpLEshPT1udWxsKWZvcihuPUsucmV0dXJuO24hPT1udWxsOyl7dmFyIHI9bjtzd2l0Y2goQ3Uociksci50YWcpe2Nhc2UgMTpyPXIudHlwZS5jaGlsZENvbnRleHRUeXBlcyxyIT1udWxsJiZHcigpO2JyZWFrO2Nhc2UgMzphbigpLEYocGUpLEYob2UpLEl1KCk7YnJlYWs7Y2FzZSA1Ok91KHIpO2JyZWFrO2Nhc2UgNDphbigpO2JyZWFrO2Nhc2UgMTM6RigkKTticmVhaztjYXNlIDE5OkYoJCk7YnJlYWs7Y2FzZSAxMDp6dShyLnR5cGUuX2NvbnRleHQpO2JyZWFrO2Nhc2UgMjI6Y2FzZSAyMzpIdSgpfW49bi5yZXR1cm59aWYocT1lLEs9ZT1kdChlLmN1cnJlbnQsbnVsbCksZWU9dmU9dCxYPTAsZXI9bnVsbCxCdT1TbD1UdD0wLGZlPWpuPW51bGwseHQhPT1udWxsKXtmb3IodD0wO3Q8eHQubGVuZ3RoO3QrKylpZihuPXh0W3RdLHI9bi5pbnRlcmxlYXZlZCxyIT09bnVsbCl7bi5pbnRlcmxlYXZlZD1udWxsO3ZhciBsPXIubmV4dCxvPW4ucGVuZGluZztpZihvIT09bnVsbCl7dmFyIHU9by5uZXh0O28ubmV4dD1sLHIubmV4dD11fW4ucGVuZGluZz1yfXh0PW51bGx9cmV0dXJuIGV9ZnVuY3Rpb24gU2MoZSx0KXtkb3t2YXIgbj1LO3RyeXtpZihOdSgpLE1yLmN1cnJlbnQ9bGwscmwpe2Zvcih2YXIgcj1BLm1lbW9pemVkU3RhdGU7ciE9PW51bGw7KXt2YXIgbD1yLnF1ZXVlO2whPT1udWxsJiYobC5wZW5kaW5nPW51bGwpLHI9ci5uZXh0fXJsPSExfWlmKFJ0PTAsSj1ZPUE9bnVsbCxNbj0hMSxKbj0wLEF1LmN1cnJlbnQ9bnVsbCxuPT09bnVsbHx8bi5yZXR1cm49PT1udWxsKXtYPTEsZXI9dCxLPW51bGw7YnJlYWt9ZTp7dmFyIG89ZSx1PW4ucmV0dXJuLGk9bixzPXQ7aWYodD1lZSxpLmZsYWdzfD0zMjc2OCxzIT09bnVsbCYmdHlwZW9mIHM9PSJvYmplY3QiJiZ0eXBlb2Ygcy50aGVuPT0iZnVuY3Rpb24iKXt2YXIgYT1zLGg9aSxkPWgudGFnO2lmKCEoaC5tb2RlJjEpJiYoZD09PTB8fGQ9PT0xMXx8ZD09PTE1KSl7dmFyIG09aC5hbHRlcm5hdGU7bT8oaC51cGRhdGVRdWV1ZT1tLnVwZGF0ZVF1ZXVlLGgubWVtb2l6ZWRTdGF0ZT1tLm1lbW9pemVkU3RhdGUsaC5sYW5lcz1tLmxhbmVzKTooaC51cGRhdGVRdWV1ZT1udWxsLGgubWVtb2l6ZWRTdGF0ZT1udWxsKX12YXIgeT1LaSh1KTtpZih5IT09bnVsbCl7eS5mbGFncyY9LTI1NyxZaSh5LHUsaSxvLHQpLHkubW9kZSYxJiZRaShvLGEsdCksdD15LHM9YTt2YXIgdz10LnVwZGF0ZVF1ZXVlO2lmKHc9PT1udWxsKXt2YXIgUz1uZXcgU2V0O1MuYWRkKHMpLHQudXBkYXRlUXVldWU9U31lbHNlIHcuYWRkKHMpO2JyZWFrIGV9ZWxzZXtpZighKHQmMSkpe1FpKG8sYSx0KSxRdSgpO2JyZWFrIGV9cz1FcnJvcihnKDQyNikpfX1lbHNlIGlmKFUmJmkubW9kZSYxKXt2YXIgRT1LaSh1KTtpZihFIT09bnVsbCl7IShFLmZsYWdzJjY1NTM2KSYmKEUuZmxhZ3N8PTI1NiksWWkoRSx1LGksbyx0KSxfdShjbihzLGkpKTticmVhayBlfX1vPXM9Y24ocyxpKSxYIT09NCYmKFg9Miksam49PT1udWxsP2puPVtvXTpqbi5wdXNoKG8pLG89dTtkb3tzd2l0Y2goby50YWcpe2Nhc2UgMzpvLmZsYWdzfD02NTUzNix0Jj0tdCxvLmxhbmVzfD10O3ZhciBmPXJjKG8scyx0KTskaShvLGYpO2JyZWFrIGU7Y2FzZSAxOmk9czt2YXIgYz1vLnR5cGUscD1vLnN0YXRlTm9kZTtpZighKG8uZmxhZ3MmMTI4KSYmKHR5cGVvZiBjLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcj09ImZ1bmN0aW9uInx8cCE9PW51bGwmJnR5cGVvZiBwLmNvbXBvbmVudERpZENhdGNoPT0iZnVuY3Rpb24iJiYoY3Q9PT1udWxsfHwhY3QuaGFzKHApKSkpe28uZmxhZ3N8PTY1NTM2LHQmPS10LG8ubGFuZXN8PXQ7dmFyIHY9bGMobyxpLHQpOyRpKG8sdik7YnJlYWsgZX19bz1vLnJldHVybn13aGlsZShvIT09bnVsbCl9eGMobil9Y2F0Y2goayl7dD1rLEs9PT1uJiZuIT09bnVsbCYmKEs9bj1uLnJldHVybik7Y29udGludWV9YnJlYWt9d2hpbGUoITApfWZ1bmN0aW9uIGtjKCl7dmFyIGU9b2wuY3VycmVudDtyZXR1cm4gb2wuY3VycmVudD1sbCxlPT09bnVsbD9sbDplfWZ1bmN0aW9uIFF1KCl7KFg9PT0wfHxYPT09M3x8WD09PTIpJiYoWD00KSxxPT09bnVsbHx8IShUdCYyNjg0MzU0NTUpJiYhKFNsJjI2ODQzNTQ1NSl8fHR0KHEsZWUpfWZ1bmN0aW9uIHNsKGUsdCl7dmFyIG49STtJfD0yO3ZhciByPWtjKCk7KHEhPT1lfHxlZSE9PXQpJiYoQmU9bnVsbCxfdChlLHQpKTtkbyB0cnl7dXAoKTticmVha31jYXRjaChsKXtTYyhlLGwpfXdoaWxlKCEwKTtpZihOdSgpLEk9bixvbC5jdXJyZW50PXIsSyE9PW51bGwpdGhyb3cgRXJyb3IoZygyNjEpKTtyZXR1cm4gcT1udWxsLGVlPTAsWH1mdW5jdGlvbiB1cCgpe2Zvcig7SyE9PW51bGw7KUVjKEspfWZ1bmN0aW9uIGlwKCl7Zm9yKDtLIT09bnVsbCYmIU9mKCk7KUVjKEspfWZ1bmN0aW9uIEVjKGUpe3ZhciB0PV9jKGUuYWx0ZXJuYXRlLGUsdmUpO2UubWVtb2l6ZWRQcm9wcz1lLnBlbmRpbmdQcm9wcyx0PT09bnVsbD94YyhlKTpLPXQsQXUuY3VycmVudD1udWxsfWZ1bmN0aW9uIHhjKGUpe3ZhciB0PWU7ZG97dmFyIG49dC5hbHRlcm5hdGU7aWYoZT10LnJldHVybix0LmZsYWdzJjMyNzY4KXtpZihuPWVwKG4sdCksbiE9PW51bGwpe24uZmxhZ3MmPTMyNzY3LEs9bjtyZXR1cm59aWYoZSE9PW51bGwpZS5mbGFnc3w9MzI3NjgsZS5zdWJ0cmVlRmxhZ3M9MCxlLmRlbGV0aW9ucz1udWxsO2Vsc2V7WD02LEs9bnVsbDtyZXR1cm59fWVsc2UgaWYobj1iZChuLHQsdmUpLG4hPT1udWxsKXtLPW47cmV0dXJufWlmKHQ9dC5zaWJsaW5nLHQhPT1udWxsKXtLPXQ7cmV0dXJufUs9dD1lfXdoaWxlKHQhPT1udWxsKTtYPT09MCYmKFg9NSl9ZnVuY3Rpb24ga3QoZSx0LG4pe3ZhciByPU0sbD1fZS50cmFuc2l0aW9uO3RyeXtfZS50cmFuc2l0aW9uPW51bGwsTT0xLHNwKGUsdCxuLHIpfWZpbmFsbHl7X2UudHJhbnNpdGlvbj1sLE09cn1yZXR1cm4gbnVsbH1mdW5jdGlvbiBzcChlLHQsbixyKXtkbyBybigpO3doaWxlKHJ0IT09bnVsbCk7aWYoSSY2KXRocm93IEVycm9yKGcoMzI3KSk7bj1lLmZpbmlzaGVkV29yazt2YXIgbD1lLmZpbmlzaGVkTGFuZXM7aWYobj09PW51bGwpcmV0dXJuIG51bGw7aWYoZS5maW5pc2hlZFdvcms9bnVsbCxlLmZpbmlzaGVkTGFuZXM9MCxuPT09ZS5jdXJyZW50KXRocm93IEVycm9yKGcoMTc3KSk7ZS5jYWxsYmFja05vZGU9bnVsbCxlLmNhbGxiYWNrUHJpb3JpdHk9MDt2YXIgbz1uLmxhbmVzfG4uY2hpbGRMYW5lcztpZihWZihlLG8pLGU9PT1xJiYoSz1xPW51bGwsZWU9MCksIShuLnN1YnRyZWVGbGFncyYyMDY0KSYmIShuLmZsYWdzJjIwNjQpfHxQcnx8KFByPSEwLFBjKFdyLGZ1bmN0aW9uKCl7cmV0dXJuIHJuKCksbnVsbH0pKSxvPShuLmZsYWdzJjE1OTkwKSE9PTAsbi5zdWJ0cmVlRmxhZ3MmMTU5OTB8fG8pe289X2UudHJhbnNpdGlvbixfZS50cmFuc2l0aW9uPW51bGw7dmFyIHU9TTtNPTE7dmFyIGk9STtJfD00LEF1LmN1cnJlbnQ9bnVsbCxucChlLG4pLHljKG4sZSksemQoUm8pLFFyPSEhTG8sUm89TG89bnVsbCxlLmN1cnJlbnQ9bixycChuKSxJZigpLEk9aSxNPXUsX2UudHJhbnNpdGlvbj1vfWVsc2UgZS5jdXJyZW50PW47aWYoUHImJihQcj0hMSxydD1lLGlsPWwpLG89ZS5wZW5kaW5nTGFuZXMsbz09PTAmJihjdD1udWxsKSxqZihuLnN0YXRlTm9kZSksbWUoZSxRKCkpLHQhPT1udWxsKWZvcihyPWUub25SZWNvdmVyYWJsZUVycm9yLG49MDtuPHQubGVuZ3RoO24rKylsPXRbbl0scihsLnZhbHVlLHtjb21wb25lbnRTdGFjazpsLnN0YWNrLGRpZ2VzdDpsLmRpZ2VzdH0pO2lmKHVsKXRocm93IHVsPSExLGU9Wm8sWm89bnVsbCxlO3JldHVybiBpbCYxJiZlLnRhZyE9PTAmJnJuKCksbz1lLnBlbmRpbmdMYW5lcyxvJjE/ZT09PUpvP0ZuKys6KEZuPTAsSm89ZSk6Rm49MCx5dCgpLG51bGx9ZnVuY3Rpb24gcm4oKXtpZihydCE9PW51bGwpe3ZhciBlPXJhKGlsKSx0PV9lLnRyYW5zaXRpb24sbj1NO3RyeXtpZihfZS50cmFuc2l0aW9uPW51bGwsTT0xNj5lPzE2OmUscnQ9PT1udWxsKXZhciByPSExO2Vsc2V7aWYoZT1ydCxydD1udWxsLGlsPTAsSSY2KXRocm93IEVycm9yKGcoMzMxKSk7dmFyIGw9STtmb3IoSXw9NCx4PWUuY3VycmVudDt4IT09bnVsbDspe3ZhciBvPXgsdT1vLmNoaWxkO2lmKHguZmxhZ3MmMTYpe3ZhciBpPW8uZGVsZXRpb25zO2lmKGkhPT1udWxsKXtmb3IodmFyIHM9MDtzPGkubGVuZ3RoO3MrKyl7dmFyIGE9aVtzXTtmb3IoeD1hO3ghPT1udWxsOyl7dmFyIGg9eDtzd2l0Y2goaC50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6RG4oOCxoLG8pfXZhciBkPWguY2hpbGQ7aWYoZCE9PW51bGwpZC5yZXR1cm49aCx4PWQ7ZWxzZSBmb3IoO3ghPT1udWxsOyl7aD14O3ZhciBtPWguc2libGluZyx5PWgucmV0dXJuO2lmKGhjKGgpLGg9PT1hKXt4PW51bGw7YnJlYWt9aWYobSE9PW51bGwpe20ucmV0dXJuPXkseD1tO2JyZWFrfXg9eX19fXZhciB3PW8uYWx0ZXJuYXRlO2lmKHchPT1udWxsKXt2YXIgUz13LmNoaWxkO2lmKFMhPT1udWxsKXt3LmNoaWxkPW51bGw7ZG97dmFyIEU9Uy5zaWJsaW5nO1Muc2libGluZz1udWxsLFM9RX13aGlsZShTIT09bnVsbCl9fXg9b319aWYoby5zdWJ0cmVlRmxhZ3MmMjA2NCYmdSE9PW51bGwpdS5yZXR1cm49byx4PXU7ZWxzZSBlOmZvcig7eCE9PW51bGw7KXtpZihvPXgsby5mbGFncyYyMDQ4KXN3aXRjaChvLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTpEbig5LG8sby5yZXR1cm4pfXZhciBmPW8uc2libGluZztpZihmIT09bnVsbCl7Zi5yZXR1cm49by5yZXR1cm4seD1mO2JyZWFrIGV9eD1vLnJldHVybn19dmFyIGM9ZS5jdXJyZW50O2Zvcih4PWM7eCE9PW51bGw7KXt1PXg7dmFyIHA9dS5jaGlsZDtpZih1LnN1YnRyZWVGbGFncyYyMDY0JiZwIT09bnVsbClwLnJldHVybj11LHg9cDtlbHNlIGU6Zm9yKHU9Yzt4IT09bnVsbDspe2lmKGk9eCxpLmZsYWdzJjIwNDgpdHJ5e3N3aXRjaChpLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTp3bCg5LGkpfX1jYXRjaChrKXtWKGksaS5yZXR1cm4sayl9aWYoaT09PXUpe3g9bnVsbDticmVhayBlfXZhciB2PWkuc2libGluZztpZih2IT09bnVsbCl7di5yZXR1cm49aS5yZXR1cm4seD12O2JyZWFrIGV9eD1pLnJldHVybn19aWYoST1sLHl0KCksJGUmJnR5cGVvZiAkZS5vblBvc3RDb21taXRGaWJlclJvb3Q9PSJmdW5jdGlvbiIpdHJ5eyRlLm9uUG9zdENvbW1pdEZpYmVyUm9vdChmbCxlKX1jYXRjaHt9cj0hMH1yZXR1cm4gcn1maW5hbGx5e009bixfZS50cmFuc2l0aW9uPXR9fXJldHVybiExfWZ1bmN0aW9uIHVzKGUsdCxuKXt0PWNuKG4sdCksdD1yYyhlLHQsMSksZT1hdChlLHQsMSksdD1zZSgpLGUhPT1udWxsJiYob3IoZSwxLHQpLG1lKGUsdCkpfWZ1bmN0aW9uIFYoZSx0LG4pe2lmKGUudGFnPT09Myl1cyhlLGUsbik7ZWxzZSBmb3IoO3QhPT1udWxsOyl7aWYodC50YWc9PT0zKXt1cyh0LGUsbik7YnJlYWt9ZWxzZSBpZih0LnRhZz09PTEpe3ZhciByPXQuc3RhdGVOb2RlO2lmKHR5cGVvZiB0LnR5cGUuZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yPT0iZnVuY3Rpb24ifHx0eXBlb2Ygci5jb21wb25lbnREaWRDYXRjaD09ImZ1bmN0aW9uIiYmKGN0PT09bnVsbHx8IWN0LmhhcyhyKSkpe2U9Y24obixlKSxlPWxjKHQsZSwxKSx0PWF0KHQsZSwxKSxlPXNlKCksdCE9PW51bGwmJihvcih0LDEsZSksbWUodCxlKSk7YnJlYWt9fXQ9dC5yZXR1cm59fWZ1bmN0aW9uIGFwKGUsdCxuKXt2YXIgcj1lLnBpbmdDYWNoZTtyIT09bnVsbCYmci5kZWxldGUodCksdD1zZSgpLGUucGluZ2VkTGFuZXN8PWUuc3VzcGVuZGVkTGFuZXMmbixxPT09ZSYmKGVlJm4pPT09biYmKFg9PT00fHxYPT09MyYmKGVlJjEzMDAyMzQyNCk9PT1lZSYmNTAwPlEoKS1WdT9fdChlLDApOkJ1fD1uKSxtZShlLHQpfWZ1bmN0aW9uIENjKGUsdCl7dD09PTAmJihlLm1vZGUmMT8odD12cix2cjw8PTEsISh2ciYxMzAwMjM0MjQpJiYodnI9NDE5NDMwNCkpOnQ9MSk7dmFyIG49c2UoKTtlPVhlKGUsdCksZSE9PW51bGwmJihvcihlLHQsbiksbWUoZSxuKSl9ZnVuY3Rpb24gY3AoZSl7dmFyIHQ9ZS5tZW1vaXplZFN0YXRlLG49MDt0IT09bnVsbCYmKG49dC5yZXRyeUxhbmUpLENjKGUsbil9ZnVuY3Rpb24gZnAoZSx0KXt2YXIgbj0wO3N3aXRjaChlLnRhZyl7Y2FzZSAxMzp2YXIgcj1lLnN0YXRlTm9kZSxsPWUubWVtb2l6ZWRTdGF0ZTtsIT09bnVsbCYmKG49bC5yZXRyeUxhbmUpO2JyZWFrO2Nhc2UgMTk6cj1lLnN0YXRlTm9kZTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKGcoMzE0KSl9ciE9PW51bGwmJnIuZGVsZXRlKHQpLENjKGUsbil9dmFyIF9jO19jPWZ1bmN0aW9uKGUsdCxuKXtpZihlIT09bnVsbClpZihlLm1lbW9pemVkUHJvcHMhPT10LnBlbmRpbmdQcm9wc3x8cGUuY3VycmVudClkZT0hMDtlbHNle2lmKCEoZS5sYW5lcyZuKSYmISh0LmZsYWdzJjEyOCkpcmV0dXJuIGRlPSExLHFkKGUsdCxuKTtkZT0hIShlLmZsYWdzJjEzMTA3Mil9ZWxzZSBkZT0hMSxVJiZ0LmZsYWdzJjEwNDg1NzYmJkxhKHQscXIsdC5pbmRleCk7c3dpdGNoKHQubGFuZXM9MCx0LnRhZyl7Y2FzZSAyOnZhciByPXQudHlwZTtqcihlLHQpLGU9dC5wZW5kaW5nUHJvcHM7dmFyIGw9b24odCxvZS5jdXJyZW50KTtubih0LG4pLGw9RHUobnVsbCx0LHIsZSxsLG4pO3ZhciBvPWp1KCk7cmV0dXJuIHQuZmxhZ3N8PTEsdHlwZW9mIGw9PSJvYmplY3QiJiZsIT09bnVsbCYmdHlwZW9mIGwucmVuZGVyPT0iZnVuY3Rpb24iJiZsLiQkdHlwZW9mPT09dm9pZCAwPyh0LnRhZz0xLHQubWVtb2l6ZWRTdGF0ZT1udWxsLHQudXBkYXRlUXVldWU9bnVsbCxoZShyKT8obz0hMCxacih0KSk6bz0hMSx0Lm1lbW9pemVkU3RhdGU9bC5zdGF0ZSE9PW51bGwmJmwuc3RhdGUhPT12b2lkIDA/bC5zdGF0ZTpudWxsLFJ1KHQpLGwudXBkYXRlcj1nbCx0LnN0YXRlTm9kZT1sLGwuX3JlYWN0SW50ZXJuYWxzPXQsJG8odCxyLGUsbiksdD1WbyhudWxsLHQsciwhMCxvLG4pKToodC50YWc9MCxVJiZvJiZ4dSh0KSxpZShudWxsLHQsbCxuKSx0PXQuY2hpbGQpLHQ7Y2FzZSAxNjpyPXQuZWxlbWVudFR5cGU7ZTp7c3dpdGNoKGpyKGUsdCksZT10LnBlbmRpbmdQcm9wcyxsPXIuX2luaXQscj1sKHIuX3BheWxvYWQpLHQudHlwZT1yLGw9dC50YWc9cHAociksZT1SZShyLGUpLGwpe2Nhc2UgMDp0PUJvKG51bGwsdCxyLGUsbik7YnJlYWsgZTtjYXNlIDE6dD1aaShudWxsLHQscixlLG4pO2JyZWFrIGU7Y2FzZSAxMTp0PVhpKG51bGwsdCxyLGUsbik7YnJlYWsgZTtjYXNlIDE0OnQ9R2kobnVsbCx0LHIsUmUoci50eXBlLGUpLG4pO2JyZWFrIGV9dGhyb3cgRXJyb3IoZygzMDYsciwiIikpfXJldHVybiB0O2Nhc2UgMDpyZXR1cm4gcj10LnR5cGUsbD10LnBlbmRpbmdQcm9wcyxsPXQuZWxlbWVudFR5cGU9PT1yP2w6UmUocixsKSxCbyhlLHQscixsLG4pO2Nhc2UgMTpyZXR1cm4gcj10LnR5cGUsbD10LnBlbmRpbmdQcm9wcyxsPXQuZWxlbWVudFR5cGU9PT1yP2w6UmUocixsKSxaaShlLHQscixsLG4pO2Nhc2UgMzplOntpZihzYyh0KSxlPT09bnVsbCl0aHJvdyBFcnJvcihnKDM4NykpO3I9dC5wZW5kaW5nUHJvcHMsbz10Lm1lbW9pemVkU3RhdGUsbD1vLmVsZW1lbnQsRGEoZSx0KSx0bCh0LHIsbnVsbCxuKTt2YXIgdT10Lm1lbW9pemVkU3RhdGU7aWYocj11LmVsZW1lbnQsby5pc0RlaHlkcmF0ZWQpaWYobz17ZWxlbWVudDpyLGlzRGVoeWRyYXRlZDohMSxjYWNoZTp1LmNhY2hlLHBlbmRpbmdTdXNwZW5zZUJvdW5kYXJpZXM6dS5wZW5kaW5nU3VzcGVuc2VCb3VuZGFyaWVzLHRyYW5zaXRpb25zOnUudHJhbnNpdGlvbnN9LHQudXBkYXRlUXVldWUuYmFzZVN0YXRlPW8sdC5tZW1vaXplZFN0YXRlPW8sdC5mbGFncyYyNTYpe2w9Y24oRXJyb3IoZyg0MjMpKSx0KSx0PUppKGUsdCxyLG4sbCk7YnJlYWsgZX1lbHNlIGlmKHIhPT1sKXtsPWNuKEVycm9yKGcoNDI0KSksdCksdD1KaShlLHQscixuLGwpO2JyZWFrIGV9ZWxzZSBmb3IoeWU9c3QodC5zdGF0ZU5vZGUuY29udGFpbmVySW5mby5maXJzdENoaWxkKSxnZT10LFU9ITAsT2U9bnVsbCxuPUlhKHQsbnVsbCxyLG4pLHQuY2hpbGQ9bjtuOyluLmZsYWdzPW4uZmxhZ3MmLTN8NDA5NixuPW4uc2libGluZztlbHNle2lmKHVuKCkscj09PWwpe3Q9R2UoZSx0LG4pO2JyZWFrIGV9aWUoZSx0LHIsbil9dD10LmNoaWxkfXJldHVybiB0O2Nhc2UgNTpyZXR1cm4gamEodCksZT09PW51bGwmJmpvKHQpLHI9dC50eXBlLGw9dC5wZW5kaW5nUHJvcHMsbz1lIT09bnVsbD9lLm1lbW9pemVkUHJvcHM6bnVsbCx1PWwuY2hpbGRyZW4sVG8ocixsKT91PW51bGw6byE9PW51bGwmJlRvKHIsbykmJih0LmZsYWdzfD0zMiksaWMoZSx0KSxpZShlLHQsdSxuKSx0LmNoaWxkO2Nhc2UgNjpyZXR1cm4gZT09PW51bGwmJmpvKHQpLG51bGw7Y2FzZSAxMzpyZXR1cm4gYWMoZSx0LG4pO2Nhc2UgNDpyZXR1cm4gVHUodCx0LnN0YXRlTm9kZS5jb250YWluZXJJbmZvKSxyPXQucGVuZGluZ1Byb3BzLGU9PT1udWxsP3QuY2hpbGQ9c24odCxudWxsLHIsbik6aWUoZSx0LHIsbiksdC5jaGlsZDtjYXNlIDExOnJldHVybiByPXQudHlwZSxsPXQucGVuZGluZ1Byb3BzLGw9dC5lbGVtZW50VHlwZT09PXI/bDpSZShyLGwpLFhpKGUsdCxyLGwsbik7Y2FzZSA3OnJldHVybiBpZShlLHQsdC5wZW5kaW5nUHJvcHMsbiksdC5jaGlsZDtjYXNlIDg6cmV0dXJuIGllKGUsdCx0LnBlbmRpbmdQcm9wcy5jaGlsZHJlbixuKSx0LmNoaWxkO2Nhc2UgMTI6cmV0dXJuIGllKGUsdCx0LnBlbmRpbmdQcm9wcy5jaGlsZHJlbixuKSx0LmNoaWxkO2Nhc2UgMTA6ZTp7aWYocj10LnR5cGUuX2NvbnRleHQsbD10LnBlbmRpbmdQcm9wcyxvPXQubWVtb2l6ZWRQcm9wcyx1PWwudmFsdWUsRChicixyLl9jdXJyZW50VmFsdWUpLHIuX2N1cnJlbnRWYWx1ZT11LG8hPT1udWxsKWlmKERlKG8udmFsdWUsdSkpe2lmKG8uY2hpbGRyZW49PT1sLmNoaWxkcmVuJiYhcGUuY3VycmVudCl7dD1HZShlLHQsbik7YnJlYWsgZX19ZWxzZSBmb3Iobz10LmNoaWxkLG8hPT1udWxsJiYoby5yZXR1cm49dCk7byE9PW51bGw7KXt2YXIgaT1vLmRlcGVuZGVuY2llcztpZihpIT09bnVsbCl7dT1vLmNoaWxkO2Zvcih2YXIgcz1pLmZpcnN0Q29udGV4dDtzIT09bnVsbDspe2lmKHMuY29udGV4dD09PXIpe2lmKG8udGFnPT09MSl7cz1RZSgtMSxuJi1uKSxzLnRhZz0yO3ZhciBhPW8udXBkYXRlUXVldWU7aWYoYSE9PW51bGwpe2E9YS5zaGFyZWQ7dmFyIGg9YS5wZW5kaW5nO2g9PT1udWxsP3MubmV4dD1zOihzLm5leHQ9aC5uZXh0LGgubmV4dD1zKSxhLnBlbmRpbmc9c319by5sYW5lc3w9bixzPW8uYWx0ZXJuYXRlLHMhPT1udWxsJiYocy5sYW5lc3w9biksRm8oby5yZXR1cm4sbix0KSxpLmxhbmVzfD1uO2JyZWFrfXM9cy5uZXh0fX1lbHNlIGlmKG8udGFnPT09MTApdT1vLnR5cGU9PT10LnR5cGU/bnVsbDpvLmNoaWxkO2Vsc2UgaWYoby50YWc9PT0xOCl7aWYodT1vLnJldHVybix1PT09bnVsbCl0aHJvdyBFcnJvcihnKDM0MSkpO3UubGFuZXN8PW4saT11LmFsdGVybmF0ZSxpIT09bnVsbCYmKGkubGFuZXN8PW4pLEZvKHUsbix0KSx1PW8uc2libGluZ31lbHNlIHU9by5jaGlsZDtpZih1IT09bnVsbCl1LnJldHVybj1vO2Vsc2UgZm9yKHU9bzt1IT09bnVsbDspe2lmKHU9PT10KXt1PW51bGw7YnJlYWt9aWYobz11LnNpYmxpbmcsbyE9PW51bGwpe28ucmV0dXJuPXUucmV0dXJuLHU9bzticmVha311PXUucmV0dXJufW89dX1pZShlLHQsbC5jaGlsZHJlbixuKSx0PXQuY2hpbGR9cmV0dXJuIHQ7Y2FzZSA5OnJldHVybiBsPXQudHlwZSxyPXQucGVuZGluZ1Byb3BzLmNoaWxkcmVuLG5uKHQsbiksbD1QZShsKSxyPXIobCksdC5mbGFnc3w9MSxpZShlLHQscixuKSx0LmNoaWxkO2Nhc2UgMTQ6cmV0dXJuIHI9dC50eXBlLGw9UmUocix0LnBlbmRpbmdQcm9wcyksbD1SZShyLnR5cGUsbCksR2koZSx0LHIsbCxuKTtjYXNlIDE1OnJldHVybiBvYyhlLHQsdC50eXBlLHQucGVuZGluZ1Byb3BzLG4pO2Nhc2UgMTc6cmV0dXJuIHI9dC50eXBlLGw9dC5wZW5kaW5nUHJvcHMsbD10LmVsZW1lbnRUeXBlPT09cj9sOlJlKHIsbCksanIoZSx0KSx0LnRhZz0xLGhlKHIpPyhlPSEwLFpyKHQpKTplPSExLG5uKHQsbiksbmModCxyLGwpLCRvKHQscixsLG4pLFZvKG51bGwsdCxyLCEwLGUsbik7Y2FzZSAxOTpyZXR1cm4gY2MoZSx0LG4pO2Nhc2UgMjI6cmV0dXJuIHVjKGUsdCxuKX10aHJvdyBFcnJvcihnKDE1Nix0LnRhZykpfTtmdW5jdGlvbiBQYyhlLHQpe3JldHVybiBicyhlLHQpfWZ1bmN0aW9uIGRwKGUsdCxuLHIpe3RoaXMudGFnPWUsdGhpcy5rZXk9bix0aGlzLnNpYmxpbmc9dGhpcy5jaGlsZD10aGlzLnJldHVybj10aGlzLnN0YXRlTm9kZT10aGlzLnR5cGU9dGhpcy5lbGVtZW50VHlwZT1udWxsLHRoaXMuaW5kZXg9MCx0aGlzLnJlZj1udWxsLHRoaXMucGVuZGluZ1Byb3BzPXQsdGhpcy5kZXBlbmRlbmNpZXM9dGhpcy5tZW1vaXplZFN0YXRlPXRoaXMudXBkYXRlUXVldWU9dGhpcy5tZW1vaXplZFByb3BzPW51bGwsdGhpcy5tb2RlPXIsdGhpcy5zdWJ0cmVlRmxhZ3M9dGhpcy5mbGFncz0wLHRoaXMuZGVsZXRpb25zPW51bGwsdGhpcy5jaGlsZExhbmVzPXRoaXMubGFuZXM9MCx0aGlzLmFsdGVybmF0ZT1udWxsfWZ1bmN0aW9uIENlKGUsdCxuLHIpe3JldHVybiBuZXcgZHAoZSx0LG4scil9ZnVuY3Rpb24gS3UoZSl7cmV0dXJuIGU9ZS5wcm90b3R5cGUsISghZXx8IWUuaXNSZWFjdENvbXBvbmVudCl9ZnVuY3Rpb24gcHAoZSl7aWYodHlwZW9mIGU9PSJmdW5jdGlvbiIpcmV0dXJuIEt1KGUpPzE6MDtpZihlIT1udWxsKXtpZihlPWUuJCR0eXBlb2YsZT09PWZ1KXJldHVybiAxMTtpZihlPT09ZHUpcmV0dXJuIDE0fXJldHVybiAyfWZ1bmN0aW9uIGR0KGUsdCl7dmFyIG49ZS5hbHRlcm5hdGU7cmV0dXJuIG49PT1udWxsPyhuPUNlKGUudGFnLHQsZS5rZXksZS5tb2RlKSxuLmVsZW1lbnRUeXBlPWUuZWxlbWVudFR5cGUsbi50eXBlPWUudHlwZSxuLnN0YXRlTm9kZT1lLnN0YXRlTm9kZSxuLmFsdGVybmF0ZT1lLGUuYWx0ZXJuYXRlPW4pOihuLnBlbmRpbmdQcm9wcz10LG4udHlwZT1lLnR5cGUsbi5mbGFncz0wLG4uc3VidHJlZUZsYWdzPTAsbi5kZWxldGlvbnM9bnVsbCksbi5mbGFncz1lLmZsYWdzJjE0NjgwMDY0LG4uY2hpbGRMYW5lcz1lLmNoaWxkTGFuZXMsbi5sYW5lcz1lLmxhbmVzLG4uY2hpbGQ9ZS5jaGlsZCxuLm1lbW9pemVkUHJvcHM9ZS5tZW1vaXplZFByb3BzLG4ubWVtb2l6ZWRTdGF0ZT1lLm1lbW9pemVkU3RhdGUsbi51cGRhdGVRdWV1ZT1lLnVwZGF0ZVF1ZXVlLHQ9ZS5kZXBlbmRlbmNpZXMsbi5kZXBlbmRlbmNpZXM9dD09PW51bGw/bnVsbDp7bGFuZXM6dC5sYW5lcyxmaXJzdENvbnRleHQ6dC5maXJzdENvbnRleHR9LG4uc2libGluZz1lLnNpYmxpbmcsbi5pbmRleD1lLmluZGV4LG4ucmVmPWUucmVmLG59ZnVuY3Rpb24gJHIoZSx0LG4scixsLG8pe3ZhciB1PTI7aWYocj1lLHR5cGVvZiBlPT0iZnVuY3Rpb24iKUt1KGUpJiYodT0xKTtlbHNlIGlmKHR5cGVvZiBlPT0ic3RyaW5nIil1PTU7ZWxzZSBlOnN3aXRjaChlKXtjYXNlIEJ0OnJldHVybiBQdChuLmNoaWxkcmVuLGwsbyx0KTtjYXNlIGN1OnU9OCxsfD04O2JyZWFrO2Nhc2Ugc286cmV0dXJuIGU9Q2UoMTIsbix0LGx8MiksZS5lbGVtZW50VHlwZT1zbyxlLmxhbmVzPW8sZTtjYXNlIGFvOnJldHVybiBlPUNlKDEzLG4sdCxsKSxlLmVsZW1lbnRUeXBlPWFvLGUubGFuZXM9byxlO2Nhc2UgY286cmV0dXJuIGU9Q2UoMTksbix0LGwpLGUuZWxlbWVudFR5cGU9Y28sZS5sYW5lcz1vLGU7Y2FzZSBqczpyZXR1cm4ga2wobixsLG8sdCk7ZGVmYXVsdDppZih0eXBlb2YgZT09Im9iamVjdCImJmUhPT1udWxsKXN3aXRjaChlLiQkdHlwZW9mKXtjYXNlIE1zOnU9MTA7YnJlYWsgZTtjYXNlIERzOnU9OTticmVhayBlO2Nhc2UgZnU6dT0xMTticmVhayBlO2Nhc2UgZHU6dT0xNDticmVhayBlO2Nhc2UgcWU6dT0xNixyPW51bGw7YnJlYWsgZX10aHJvdyBFcnJvcihnKDEzMCxlPT1udWxsP2U6dHlwZW9mIGUsIiIpKX1yZXR1cm4gdD1DZSh1LG4sdCxsKSx0LmVsZW1lbnRUeXBlPWUsdC50eXBlPXIsdC5sYW5lcz1vLHR9ZnVuY3Rpb24gUHQoZSx0LG4scil7cmV0dXJuIGU9Q2UoNyxlLHIsdCksZS5sYW5lcz1uLGV9ZnVuY3Rpb24ga2woZSx0LG4scil7cmV0dXJuIGU9Q2UoMjIsZSxyLHQpLGUuZWxlbWVudFR5cGU9anMsZS5sYW5lcz1uLGUuc3RhdGVOb2RlPXtpc0hpZGRlbjohMX0sZX1mdW5jdGlvbiBybyhlLHQsbil7cmV0dXJuIGU9Q2UoNixlLG51bGwsdCksZS5sYW5lcz1uLGV9ZnVuY3Rpb24gbG8oZSx0LG4pe3JldHVybiB0PUNlKDQsZS5jaGlsZHJlbiE9PW51bGw/ZS5jaGlsZHJlbjpbXSxlLmtleSx0KSx0LmxhbmVzPW4sdC5zdGF0ZU5vZGU9e2NvbnRhaW5lckluZm86ZS5jb250YWluZXJJbmZvLHBlbmRpbmdDaGlsZHJlbjpudWxsLGltcGxlbWVudGF0aW9uOmUuaW1wbGVtZW50YXRpb259LHR9ZnVuY3Rpb24gaHAoZSx0LG4scixsKXt0aGlzLnRhZz10LHRoaXMuY29udGFpbmVySW5mbz1lLHRoaXMuZmluaXNoZWRXb3JrPXRoaXMucGluZ0NhY2hlPXRoaXMuY3VycmVudD10aGlzLnBlbmRpbmdDaGlsZHJlbj1udWxsLHRoaXMudGltZW91dEhhbmRsZT0tMSx0aGlzLmNhbGxiYWNrTm9kZT10aGlzLnBlbmRpbmdDb250ZXh0PXRoaXMuY29udGV4dD1udWxsLHRoaXMuY2FsbGJhY2tQcmlvcml0eT0wLHRoaXMuZXZlbnRUaW1lcz1VbCgwKSx0aGlzLmV4cGlyYXRpb25UaW1lcz1VbCgtMSksdGhpcy5lbnRhbmdsZWRMYW5lcz10aGlzLmZpbmlzaGVkTGFuZXM9dGhpcy5tdXRhYmxlUmVhZExhbmVzPXRoaXMuZXhwaXJlZExhbmVzPXRoaXMucGluZ2VkTGFuZXM9dGhpcy5zdXNwZW5kZWRMYW5lcz10aGlzLnBlbmRpbmdMYW5lcz0wLHRoaXMuZW50YW5nbGVtZW50cz1VbCgwKSx0aGlzLmlkZW50aWZpZXJQcmVmaXg9cix0aGlzLm9uUmVjb3ZlcmFibGVFcnJvcj1sLHRoaXMubXV0YWJsZVNvdXJjZUVhZ2VySHlkcmF0aW9uRGF0YT1udWxsfWZ1bmN0aW9uIFl1KGUsdCxuLHIsbCxvLHUsaSxzKXtyZXR1cm4gZT1uZXcgaHAoZSx0LG4saSxzKSx0PT09MT8odD0xLG89PT0hMCYmKHR8PTgpKTp0PTAsbz1DZSgzLG51bGwsbnVsbCx0KSxlLmN1cnJlbnQ9byxvLnN0YXRlTm9kZT1lLG8ubWVtb2l6ZWRTdGF0ZT17ZWxlbWVudDpyLGlzRGVoeWRyYXRlZDpuLGNhY2hlOm51bGwsdHJhbnNpdGlvbnM6bnVsbCxwZW5kaW5nU3VzcGVuc2VCb3VuZGFyaWVzOm51bGx9LFJ1KG8pLGV9ZnVuY3Rpb24gbXAoZSx0LG4pe3ZhciByPTM8YXJndW1lbnRzLmxlbmd0aCYmYXJndW1lbnRzWzNdIT09dm9pZCAwP2FyZ3VtZW50c1szXTpudWxsO3JldHVybnskJHR5cGVvZjpBdCxrZXk6cj09bnVsbD9udWxsOiIiK3IsY2hpbGRyZW46ZSxjb250YWluZXJJbmZvOnQsaW1wbGVtZW50YXRpb246bn19ZnVuY3Rpb24gTmMoZSl7aWYoIWUpcmV0dXJuIGh0O2U9ZS5fcmVhY3RJbnRlcm5hbHM7ZTp7aWYoRHQoZSkhPT1lfHxlLnRhZyE9PTEpdGhyb3cgRXJyb3IoZygxNzApKTt2YXIgdD1lO2Rve3N3aXRjaCh0LnRhZyl7Y2FzZSAzOnQ9dC5zdGF0ZU5vZGUuY29udGV4dDticmVhayBlO2Nhc2UgMTppZihoZSh0LnR5cGUpKXt0PXQuc3RhdGVOb2RlLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWVyZ2VkQ2hpbGRDb250ZXh0O2JyZWFrIGV9fXQ9dC5yZXR1cm59d2hpbGUodCE9PW51bGwpO3Rocm93IEVycm9yKGcoMTcxKSl9aWYoZS50YWc9PT0xKXt2YXIgbj1lLnR5cGU7aWYoaGUobikpcmV0dXJuIE5hKGUsbix0KX1yZXR1cm4gdH1mdW5jdGlvbiB6YyhlLHQsbixyLGwsbyx1LGkscyl7cmV0dXJuIGU9WXUobixyLCEwLGUsbCxvLHUsaSxzKSxlLmNvbnRleHQ9TmMobnVsbCksbj1lLmN1cnJlbnQscj1zZSgpLGw9ZnQobiksbz1RZShyLGwpLG8uY2FsbGJhY2s9dD8/bnVsbCxhdChuLG8sbCksZS5jdXJyZW50LmxhbmVzPWwsb3IoZSxsLHIpLG1lKGUsciksZX1mdW5jdGlvbiBFbChlLHQsbixyKXt2YXIgbD10LmN1cnJlbnQsbz1zZSgpLHU9ZnQobCk7cmV0dXJuIG49TmMobiksdC5jb250ZXh0PT09bnVsbD90LmNvbnRleHQ9bjp0LnBlbmRpbmdDb250ZXh0PW4sdD1RZShvLHUpLHQucGF5bG9hZD17ZWxlbWVudDplfSxyPXI9PT12b2lkIDA/bnVsbDpyLHIhPT1udWxsJiYodC5jYWxsYmFjaz1yKSxlPWF0KGwsdCx1KSxlIT09bnVsbCYmKE1lKGUsbCx1LG8pLElyKGUsbCx1KSksdX1mdW5jdGlvbiBhbChlKXtpZihlPWUuY3VycmVudCwhZS5jaGlsZClyZXR1cm4gbnVsbDtzd2l0Y2goZS5jaGlsZC50YWcpe2Nhc2UgNTpyZXR1cm4gZS5jaGlsZC5zdGF0ZU5vZGU7ZGVmYXVsdDpyZXR1cm4gZS5jaGlsZC5zdGF0ZU5vZGV9fWZ1bmN0aW9uIGlzKGUsdCl7aWYoZT1lLm1lbW9pemVkU3RhdGUsZSE9PW51bGwmJmUuZGVoeWRyYXRlZCE9PW51bGwpe3ZhciBuPWUucmV0cnlMYW5lO2UucmV0cnlMYW5lPW4hPT0wJiZuPHQ/bjp0fX1mdW5jdGlvbiBYdShlLHQpe2lzKGUsdCksKGU9ZS5hbHRlcm5hdGUpJiZpcyhlLHQpfWZ1bmN0aW9uIHZwKCl7cmV0dXJuIG51bGx9dmFyIExjPXR5cGVvZiByZXBvcnRFcnJvcj09ImZ1bmN0aW9uIj9yZXBvcnRFcnJvcjpmdW5jdGlvbihlKXtjb25zb2xlLmVycm9yKGUpfTtmdW5jdGlvbiBHdShlKXt0aGlzLl9pbnRlcm5hbFJvb3Q9ZX14bC5wcm90b3R5cGUucmVuZGVyPUd1LnByb3RvdHlwZS5yZW5kZXI9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5faW50ZXJuYWxSb290O2lmKHQ9PT1udWxsKXRocm93IEVycm9yKGcoNDA5KSk7RWwoZSx0LG51bGwsbnVsbCl9O3hsLnByb3RvdHlwZS51bm1vdW50PUd1LnByb3RvdHlwZS51bm1vdW50PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5faW50ZXJuYWxSb290O2lmKGUhPT1udWxsKXt0aGlzLl9pbnRlcm5hbFJvb3Q9bnVsbDt2YXIgdD1lLmNvbnRhaW5lckluZm87T3QoZnVuY3Rpb24oKXtFbChudWxsLGUsbnVsbCxudWxsKX0pLHRbWWVdPW51bGx9fTtmdW5jdGlvbiB4bChlKXt0aGlzLl9pbnRlcm5hbFJvb3Q9ZX14bC5wcm90b3R5cGUudW5zdGFibGVfc2NoZWR1bGVIeWRyYXRpb249ZnVuY3Rpb24oZSl7aWYoZSl7dmFyIHQ9dWEoKTtlPXtibG9ja2VkT246bnVsbCx0YXJnZXQ6ZSxwcmlvcml0eTp0fTtmb3IodmFyIG49MDtuPGV0Lmxlbmd0aCYmdCE9PTAmJnQ8ZXRbbl0ucHJpb3JpdHk7bisrKTtldC5zcGxpY2UobiwwLGUpLG49PT0wJiZzYShlKX19O2Z1bmN0aW9uIFp1KGUpe3JldHVybiEoIWV8fGUubm9kZVR5cGUhPT0xJiZlLm5vZGVUeXBlIT09OSYmZS5ub2RlVHlwZSE9PTExKX1mdW5jdGlvbiBDbChlKXtyZXR1cm4hKCFlfHxlLm5vZGVUeXBlIT09MSYmZS5ub2RlVHlwZSE9PTkmJmUubm9kZVR5cGUhPT0xMSYmKGUubm9kZVR5cGUhPT04fHxlLm5vZGVWYWx1ZSE9PSIgcmVhY3QtbW91bnQtcG9pbnQtdW5zdGFibGUgIikpfWZ1bmN0aW9uIHNzKCl7fWZ1bmN0aW9uIHlwKGUsdCxuLHIsbCl7aWYobCl7aWYodHlwZW9mIHI9PSJmdW5jdGlvbiIpe3ZhciBvPXI7cj1mdW5jdGlvbigpe3ZhciBhPWFsKHUpO28uY2FsbChhKX19dmFyIHU9emModCxyLGUsMCxudWxsLCExLCExLCIiLHNzKTtyZXR1cm4gZS5fcmVhY3RSb290Q29udGFpbmVyPXUsZVtZZV09dS5jdXJyZW50LEtuKGUubm9kZVR5cGU9PT04P2UucGFyZW50Tm9kZTplKSxPdCgpLHV9Zm9yKDtsPWUubGFzdENoaWxkOyllLnJlbW92ZUNoaWxkKGwpO2lmKHR5cGVvZiByPT0iZnVuY3Rpb24iKXt2YXIgaT1yO3I9ZnVuY3Rpb24oKXt2YXIgYT1hbChzKTtpLmNhbGwoYSl9fXZhciBzPVl1KGUsMCwhMSxudWxsLG51bGwsITEsITEsIiIsc3MpO3JldHVybiBlLl9yZWFjdFJvb3RDb250YWluZXI9cyxlW1llXT1zLmN1cnJlbnQsS24oZS5ub2RlVHlwZT09PTg/ZS5wYXJlbnROb2RlOmUpLE90KGZ1bmN0aW9uKCl7RWwodCxzLG4scil9KSxzfWZ1bmN0aW9uIF9sKGUsdCxuLHIsbCl7dmFyIG89bi5fcmVhY3RSb290Q29udGFpbmVyO2lmKG8pe3ZhciB1PW87aWYodHlwZW9mIGw9PSJmdW5jdGlvbiIpe3ZhciBpPWw7bD1mdW5jdGlvbigpe3ZhciBzPWFsKHUpO2kuY2FsbChzKX19RWwodCx1LGUsbCl9ZWxzZSB1PXlwKG4sdCxlLGwscik7cmV0dXJuIGFsKHUpfWxhPWZ1bmN0aW9uKGUpe3N3aXRjaChlLnRhZyl7Y2FzZSAzOnZhciB0PWUuc3RhdGVOb2RlO2lmKHQuY3VycmVudC5tZW1vaXplZFN0YXRlLmlzRGVoeWRyYXRlZCl7dmFyIG49Tm4odC5wZW5kaW5nTGFuZXMpO24hPT0wJiYobXUodCxufDEpLG1lKHQsUSgpKSwhKEkmNikmJihmbj1RKCkrNTAwLHl0KCkpKX1icmVhaztjYXNlIDEzOk90KGZ1bmN0aW9uKCl7dmFyIHI9WGUoZSwxKTtpZihyIT09bnVsbCl7dmFyIGw9c2UoKTtNZShyLGUsMSxsKX19KSxYdShlLDEpfX07dnU9ZnVuY3Rpb24oZSl7aWYoZS50YWc9PT0xMyl7dmFyIHQ9WGUoZSwxMzQyMTc3MjgpO2lmKHQhPT1udWxsKXt2YXIgbj1zZSgpO01lKHQsZSwxMzQyMTc3Mjgsbil9WHUoZSwxMzQyMTc3MjgpfX07b2E9ZnVuY3Rpb24oZSl7aWYoZS50YWc9PT0xMyl7dmFyIHQ9ZnQoZSksbj1YZShlLHQpO2lmKG4hPT1udWxsKXt2YXIgcj1zZSgpO01lKG4sZSx0LHIpfVh1KGUsdCl9fTt1YT1mdW5jdGlvbigpe3JldHVybiBNfTtpYT1mdW5jdGlvbihlLHQpe3ZhciBuPU07dHJ5e3JldHVybiBNPWUsdCgpfWZpbmFsbHl7TT1ufX07a289ZnVuY3Rpb24oZSx0LG4pe3N3aXRjaCh0KXtjYXNlImlucHV0IjppZihobyhlLG4pLHQ9bi5uYW1lLG4udHlwZT09PSJyYWRpbyImJnQhPW51bGwpe2ZvcihuPWU7bi5wYXJlbnROb2RlOyluPW4ucGFyZW50Tm9kZTtmb3Iobj1uLnF1ZXJ5U2VsZWN0b3JBbGwoImlucHV0W25hbWU9IitKU09OLnN0cmluZ2lmeSgiIit0KSsnXVt0eXBlPSJyYWRpbyJdJyksdD0wO3Q8bi5sZW5ndGg7dCsrKXt2YXIgcj1uW3RdO2lmKHIhPT1lJiZyLmZvcm09PT1lLmZvcm0pe3ZhciBsPW1sKHIpO2lmKCFsKXRocm93IEVycm9yKGcoOTApKTtVcyhyKSxobyhyLGwpfX19YnJlYWs7Y2FzZSJ0ZXh0YXJlYSI6QXMoZSxuKTticmVhaztjYXNlInNlbGVjdCI6dD1uLnZhbHVlLHQhPW51bGwmJnF0KGUsISFuLm11bHRpcGxlLHQsITEpfX07WXM9V3U7WHM9T3Q7dmFyIGdwPXt1c2luZ0NsaWVudEVudHJ5UG9pbnQ6ITEsRXZlbnRzOltpcixRdCxtbCxRcyxLcyxXdV19LENuPXtmaW5kRmliZXJCeUhvc3RJbnN0YW5jZTpFdCxidW5kbGVUeXBlOjAsdmVyc2lvbjoiMTguMy4xIixyZW5kZXJlclBhY2thZ2VOYW1lOiJyZWFjdC1kb20ifSx3cD17YnVuZGxlVHlwZTpDbi5idW5kbGVUeXBlLHZlcnNpb246Q24udmVyc2lvbixyZW5kZXJlclBhY2thZ2VOYW1lOkNuLnJlbmRlcmVyUGFja2FnZU5hbWUscmVuZGVyZXJDb25maWc6Q24ucmVuZGVyZXJDb25maWcsb3ZlcnJpZGVIb29rU3RhdGU6bnVsbCxvdmVycmlkZUhvb2tTdGF0ZURlbGV0ZVBhdGg6bnVsbCxvdmVycmlkZUhvb2tTdGF0ZVJlbmFtZVBhdGg6bnVsbCxvdmVycmlkZVByb3BzOm51bGwsb3ZlcnJpZGVQcm9wc0RlbGV0ZVBhdGg6bnVsbCxvdmVycmlkZVByb3BzUmVuYW1lUGF0aDpudWxsLHNldEVycm9ySGFuZGxlcjpudWxsLHNldFN1c3BlbnNlSGFuZGxlcjpudWxsLHNjaGVkdWxlVXBkYXRlOm51bGwsY3VycmVudERpc3BhdGNoZXJSZWY6WmUuUmVhY3RDdXJyZW50RGlzcGF0Y2hlcixmaW5kSG9zdEluc3RhbmNlQnlGaWJlcjpmdW5jdGlvbihlKXtyZXR1cm4gZT1KcyhlKSxlPT09bnVsbD9udWxsOmUuc3RhdGVOb2RlfSxmaW5kRmliZXJCeUhvc3RJbnN0YW5jZTpDbi5maW5kRmliZXJCeUhvc3RJbnN0YW5jZXx8dnAsZmluZEhvc3RJbnN0YW5jZXNGb3JSZWZyZXNoOm51bGwsc2NoZWR1bGVSZWZyZXNoOm51bGwsc2NoZWR1bGVSb290Om51bGwsc2V0UmVmcmVzaEhhbmRsZXI6bnVsbCxnZXRDdXJyZW50RmliZXI6bnVsbCxyZWNvbmNpbGVyVmVyc2lvbjoiMTguMy4xLW5leHQtZjEzMzhmODA4MC0yMDI0MDQyNiJ9O2lmKHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX188InUiKXt2YXIgTnI9X19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fO2lmKCFOci5pc0Rpc2FibGVkJiZOci5zdXBwb3J0c0ZpYmVyKXRyeXtmbD1Oci5pbmplY3Qod3ApLCRlPU5yfWNhdGNoe319U2UuX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQ9Z3A7U2UuY3JlYXRlUG9ydGFsPWZ1bmN0aW9uKGUsdCl7dmFyIG49Mjxhcmd1bWVudHMubGVuZ3RoJiZhcmd1bWVudHNbMl0hPT12b2lkIDA/YXJndW1lbnRzWzJdOm51bGw7aWYoIVp1KHQpKXRocm93IEVycm9yKGcoMjAwKSk7cmV0dXJuIG1wKGUsdCxudWxsLG4pfTtTZS5jcmVhdGVSb290PWZ1bmN0aW9uKGUsdCl7aWYoIVp1KGUpKXRocm93IEVycm9yKGcoMjk5KSk7dmFyIG49ITEscj0iIixsPUxjO3JldHVybiB0IT1udWxsJiYodC51bnN0YWJsZV9zdHJpY3RNb2RlPT09ITAmJihuPSEwKSx0LmlkZW50aWZpZXJQcmVmaXghPT12b2lkIDAmJihyPXQuaWRlbnRpZmllclByZWZpeCksdC5vblJlY292ZXJhYmxlRXJyb3IhPT12b2lkIDAmJihsPXQub25SZWNvdmVyYWJsZUVycm9yKSksdD1ZdShlLDEsITEsbnVsbCxudWxsLG4sITEscixsKSxlW1llXT10LmN1cnJlbnQsS24oZS5ub2RlVHlwZT09PTg/ZS5wYXJlbnROb2RlOmUpLG5ldyBHdSh0KX07U2UuZmluZERPTU5vZGU9ZnVuY3Rpb24oZSl7aWYoZT09bnVsbClyZXR1cm4gbnVsbDtpZihlLm5vZGVUeXBlPT09MSlyZXR1cm4gZTt2YXIgdD1lLl9yZWFjdEludGVybmFscztpZih0PT09dm9pZCAwKXRocm93IHR5cGVvZiBlLnJlbmRlcj09ImZ1bmN0aW9uIj9FcnJvcihnKDE4OCkpOihlPU9iamVjdC5rZXlzKGUpLmpvaW4oIiwiKSxFcnJvcihnKDI2OCxlKSkpO3JldHVybiBlPUpzKHQpLGU9ZT09PW51bGw/bnVsbDplLnN0YXRlTm9kZSxlfTtTZS5mbHVzaFN5bmM9ZnVuY3Rpb24oZSl7cmV0dXJuIE90KGUpfTtTZS5oeWRyYXRlPWZ1bmN0aW9uKGUsdCxuKXtpZighQ2wodCkpdGhyb3cgRXJyb3IoZygyMDApKTtyZXR1cm4gX2wobnVsbCxlLHQsITAsbil9O1NlLmh5ZHJhdGVSb290PWZ1bmN0aW9uKGUsdCxuKXtpZighWnUoZSkpdGhyb3cgRXJyb3IoZyg0MDUpKTt2YXIgcj1uIT1udWxsJiZuLmh5ZHJhdGVkU291cmNlc3x8bnVsbCxsPSExLG89IiIsdT1MYztpZihuIT1udWxsJiYobi51bnN0YWJsZV9zdHJpY3RNb2RlPT09ITAmJihsPSEwKSxuLmlkZW50aWZpZXJQcmVmaXghPT12b2lkIDAmJihvPW4uaWRlbnRpZmllclByZWZpeCksbi5vblJlY292ZXJhYmxlRXJyb3IhPT12b2lkIDAmJih1PW4ub25SZWNvdmVyYWJsZUVycm9yKSksdD16Yyh0LG51bGwsZSwxLG4/P251bGwsbCwhMSxvLHUpLGVbWWVdPXQuY3VycmVudCxLbihlKSxyKWZvcihlPTA7ZTxyLmxlbmd0aDtlKyspbj1yW2VdLGw9bi5fZ2V0VmVyc2lvbixsPWwobi5fc291cmNlKSx0Lm11dGFibGVTb3VyY2VFYWdlckh5ZHJhdGlvbkRhdGE9PW51bGw/dC5tdXRhYmxlU291cmNlRWFnZXJIeWRyYXRpb25EYXRhPVtuLGxdOnQubXV0YWJsZVNvdXJjZUVhZ2VySHlkcmF0aW9uRGF0YS5wdXNoKG4sbCk7cmV0dXJuIG5ldyB4bCh0KX07U2UucmVuZGVyPWZ1bmN0aW9uKGUsdCxuKXtpZighQ2wodCkpdGhyb3cgRXJyb3IoZygyMDApKTtyZXR1cm4gX2wobnVsbCxlLHQsITEsbil9O1NlLnVubW91bnRDb21wb25lbnRBdE5vZGU9ZnVuY3Rpb24oZSl7aWYoIUNsKGUpKXRocm93IEVycm9yKGcoNDApKTtyZXR1cm4gZS5fcmVhY3RSb290Q29udGFpbmVyPyhPdChmdW5jdGlvbigpe19sKG51bGwsbnVsbCxlLCExLGZ1bmN0aW9uKCl7ZS5fcmVhY3RSb290Q29udGFpbmVyPW51bGwsZVtZZV09bnVsbH0pfSksITApOiExfTtTZS51bnN0YWJsZV9iYXRjaGVkVXBkYXRlcz1XdTtTZS51bnN0YWJsZV9yZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcj1mdW5jdGlvbihlLHQsbixyKXtpZighQ2wobikpdGhyb3cgRXJyb3IoZygyMDApKTtpZihlPT1udWxsfHxlLl9yZWFjdEludGVybmFscz09PXZvaWQgMCl0aHJvdyBFcnJvcihnKDM4KSk7cmV0dXJuIF9sKGUsdCxuLCExLHIpfTtTZS52ZXJzaW9uPSIxOC4zLjEtbmV4dC1mMTMzOGY4MDgwLTIwMjQwNDI2IjtmdW5jdGlvbiBSYygpe2lmKCEodHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXz4idSJ8fHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UhPSJmdW5jdGlvbiIpKXRyeXtfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UoUmMpfWNhdGNoKGUpe2NvbnNvbGUuZXJyb3IoZSl9fVJjKCksUnMuZXhwb3J0cz1TZTt2YXIgU3A9UnMuZXhwb3J0cyxhcz1TcDt1by5jcmVhdGVSb290PWFzLmNyZWF0ZVJvb3QsdW8uaHlkcmF0ZVJvb3Q9YXMuaHlkcmF0ZVJvb3Q7LyoqCiAqIEByZW1peC1ydW4vcm91dGVyIHYxLjIzLjMKICoKICogQ29weXJpZ2h0IChjKSBSZW1peCBTb2Z0d2FyZSBJbmMuCiAqCiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZQogKiBMSUNFTlNFLm1kIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuCiAqCiAqIEBsaWNlbnNlIE1JVAogKi9mdW5jdGlvbiB0cigpe3JldHVybiB0cj1PYmplY3QuYXNzaWduP09iamVjdC5hc3NpZ24uYmluZCgpOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0xO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspe3ZhciBuPWFyZ3VtZW50c1t0XTtmb3IodmFyIHIgaW4gbikoe30pLmhhc093blByb3BlcnR5LmNhbGwobixyKSYmKGVbcl09bltyXSl9cmV0dXJuIGV9LHRyLmFwcGx5KG51bGwsYXJndW1lbnRzKX12YXIgbHQ7KGZ1bmN0aW9uKGUpe2UuUG9wPSJQT1AiLGUuUHVzaD0iUFVTSCIsZS5SZXBsYWNlPSJSRVBMQUNFIn0pKGx0fHwobHQ9e30pKTtjb25zdCBjcz0icG9wc3RhdGUiO2Z1bmN0aW9uIGtwKGUpe2U9PT12b2lkIDAmJihlPXt9KTtmdW5jdGlvbiB0KGwsbyl7bGV0e3BhdGhuYW1lOnU9Ii8iLHNlYXJjaDppPSIiLGhhc2g6cz0iIn09anQobC5sb2NhdGlvbi5oYXNoLnN1YnN0cigxKSk7cmV0dXJuIXUuc3RhcnRzV2l0aCgiLyIpJiYhdS5zdGFydHNXaXRoKCIuIikmJih1PSIvIit1KSxldSgiIix7cGF0aG5hbWU6dSxzZWFyY2g6aSxoYXNoOnN9LG8uc3RhdGUmJm8uc3RhdGUudXNyfHxudWxsLG8uc3RhdGUmJm8uc3RhdGUua2V5fHwiZGVmYXVsdCIpfWZ1bmN0aW9uIG4obCxvKXtsZXQgdT1sLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImJhc2UiKSxpPSIiO2lmKHUmJnUuZ2V0QXR0cmlidXRlKCJocmVmIikpe2xldCBzPWwubG9jYXRpb24uaHJlZixhPXMuaW5kZXhPZigiIyIpO2k9YT09PS0xP3M6cy5zbGljZSgwLGEpfXJldHVybiBpKyIjIisodHlwZW9mIG89PSJzdHJpbmciP286VGMobykpfWZ1bmN0aW9uIHIobCxvKXtQbChsLnBhdGhuYW1lLmNoYXJBdCgwKT09PSIvIiwicmVsYXRpdmUgcGF0aG5hbWVzIGFyZSBub3Qgc3VwcG9ydGVkIGluIGhhc2ggaGlzdG9yeS5wdXNoKCIrSlNPTi5zdHJpbmdpZnkobykrIikiKX1yZXR1cm4geHAodCxuLHIsZSl9ZnVuY3Rpb24gRyhlLHQpe2lmKGU9PT0hMXx8ZT09PW51bGx8fHR5cGVvZiBlPiJ1Iil0aHJvdyBuZXcgRXJyb3IodCl9ZnVuY3Rpb24gUGwoZSx0KXtpZighZSl7dHlwZW9mIGNvbnNvbGU8InUiJiZjb25zb2xlLndhcm4odCk7dHJ5e3Rocm93IG5ldyBFcnJvcih0KX1jYXRjaHt9fX1mdW5jdGlvbiBFcCgpe3JldHVybiBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHIoMiw4KX1mdW5jdGlvbiBmcyhlLHQpe3JldHVybnt1c3I6ZS5zdGF0ZSxrZXk6ZS5rZXksaWR4OnR9fWZ1bmN0aW9uIGV1KGUsdCxuLHIpe3JldHVybiBuPT09dm9pZCAwJiYobj1udWxsKSx0cih7cGF0aG5hbWU6dHlwZW9mIGU9PSJzdHJpbmciP2U6ZS5wYXRobmFtZSxzZWFyY2g6IiIsaGFzaDoiIn0sdHlwZW9mIHQ9PSJzdHJpbmciP2p0KHQpOnQse3N0YXRlOm4sa2V5OnQmJnQua2V5fHxyfHxFcCgpfSl9ZnVuY3Rpb24gVGMoZSl7bGV0e3BhdGhuYW1lOnQ9Ii8iLHNlYXJjaDpuPSIiLGhhc2g6cj0iIn09ZTtyZXR1cm4gbiYmbiE9PSI/IiYmKHQrPW4uY2hhckF0KDApPT09Ij8iP246Ij8iK24pLHImJnIhPT0iIyImJih0Kz1yLmNoYXJBdCgwKT09PSIjIj9yOiIjIityKSx0fWZ1bmN0aW9uIGp0KGUpe2xldCB0PXt9O2lmKGUpe2xldCBuPWUuaW5kZXhPZigiIyIpO24+PTAmJih0Lmhhc2g9ZS5zdWJzdHIobiksZT1lLnN1YnN0cigwLG4pKTtsZXQgcj1lLmluZGV4T2YoIj8iKTtyPj0wJiYodC5zZWFyY2g9ZS5zdWJzdHIociksZT1lLnN1YnN0cigwLHIpKSxlJiYodC5wYXRobmFtZT1lKX1yZXR1cm4gdH1mdW5jdGlvbiB4cChlLHQsbixyKXtyPT09dm9pZCAwJiYocj17fSk7bGV0e3dpbmRvdzpsPWRvY3VtZW50LmRlZmF1bHRWaWV3LHY1Q29tcGF0Om89ITF9PXIsdT1sLmhpc3RvcnksaT1sdC5Qb3Ascz1udWxsLGE9aCgpO2E9PW51bGwmJihhPTAsdS5yZXBsYWNlU3RhdGUodHIoe30sdS5zdGF0ZSx7aWR4OmF9KSwiIikpO2Z1bmN0aW9uIGgoKXtyZXR1cm4odS5zdGF0ZXx8e2lkeDpudWxsfSkuaWR4fWZ1bmN0aW9uIGQoKXtpPWx0LlBvcDtsZXQgRT1oKCksZj1FPT1udWxsP251bGw6RS1hO2E9RSxzJiZzKHthY3Rpb246aSxsb2NhdGlvbjpTLmxvY2F0aW9uLGRlbHRhOmZ9KX1mdW5jdGlvbiBtKEUsZil7aT1sdC5QdXNoO2xldCBjPWV1KFMubG9jYXRpb24sRSxmKTtuJiZuKGMsRSksYT1oKCkrMTtsZXQgcD1mcyhjLGEpLHY9Uy5jcmVhdGVIcmVmKGMpO3RyeXt1LnB1c2hTdGF0ZShwLCIiLHYpfWNhdGNoKGspe2lmKGsgaW5zdGFuY2VvZiBET01FeGNlcHRpb24mJmsubmFtZT09PSJEYXRhQ2xvbmVFcnJvciIpdGhyb3cgaztsLmxvY2F0aW9uLmFzc2lnbih2KX1vJiZzJiZzKHthY3Rpb246aSxsb2NhdGlvbjpTLmxvY2F0aW9uLGRlbHRhOjF9KX1mdW5jdGlvbiB5KEUsZil7aT1sdC5SZXBsYWNlO2xldCBjPWV1KFMubG9jYXRpb24sRSxmKTtuJiZuKGMsRSksYT1oKCk7bGV0IHA9ZnMoYyxhKSx2PVMuY3JlYXRlSHJlZihjKTt1LnJlcGxhY2VTdGF0ZShwLCIiLHYpLG8mJnMmJnMoe2FjdGlvbjppLGxvY2F0aW9uOlMubG9jYXRpb24sZGVsdGE6MH0pfWZ1bmN0aW9uIHcoRSl7bGV0IGY9bC5sb2NhdGlvbi5vcmlnaW4hPT0ibnVsbCI/bC5sb2NhdGlvbi5vcmlnaW46bC5sb2NhdGlvbi5ocmVmLGM9dHlwZW9mIEU9PSJzdHJpbmciP0U6VGMoRSk7cmV0dXJuIGM9Yy5yZXBsYWNlKC8gJC8sIiUyMCIpLEcoZiwiTm8gd2luZG93LmxvY2F0aW9uLihvcmlnaW58aHJlZikgYXZhaWxhYmxlIHRvIGNyZWF0ZSBVUkwgZm9yIGhyZWY6ICIrYyksbmV3IFVSTChjLGYpfWxldCBTPXtnZXQgYWN0aW9uKCl7cmV0dXJuIGl9LGdldCBsb2NhdGlvbigpe3JldHVybiBlKGwsdSl9LGxpc3RlbihFKXtpZihzKXRocm93IG5ldyBFcnJvcigiQSBoaXN0b3J5IG9ubHkgYWNjZXB0cyBvbmUgYWN0aXZlIGxpc3RlbmVyIik7cmV0dXJuIGwuYWRkRXZlbnRMaXN0ZW5lcihjcyxkKSxzPUUsKCk9PntsLnJlbW92ZUV2ZW50TGlzdGVuZXIoY3MsZCkscz1udWxsfX0sY3JlYXRlSHJlZihFKXtyZXR1cm4gdChsLEUpfSxjcmVhdGVVUkw6dyxlbmNvZGVMb2NhdGlvbihFKXtsZXQgZj13KEUpO3JldHVybntwYXRobmFtZTpmLnBhdGhuYW1lLHNlYXJjaDpmLnNlYXJjaCxoYXNoOmYuaGFzaH19LHB1c2g6bSxyZXBsYWNlOnksZ28oRSl7cmV0dXJuIHUuZ28oRSl9fTtyZXR1cm4gU312YXIgZHM7KGZ1bmN0aW9uKGUpe2UuZGF0YT0iZGF0YSIsZS5kZWZlcnJlZD0iZGVmZXJyZWQiLGUucmVkaXJlY3Q9InJlZGlyZWN0IixlLmVycm9yPSJlcnJvciJ9KShkc3x8KGRzPXt9KSk7ZnVuY3Rpb24gQ3AoZSx0LG4pe3JldHVybiBuPT09dm9pZCAwJiYobj0iLyIpLF9wKGUsdCxuKX1mdW5jdGlvbiBfcChlLHQsbixyKXtsZXQgbD10eXBlb2YgdD09InN0cmluZyI/anQodCk6dCxvPU1jKGwucGF0aG5hbWV8fCIvIixuKTtpZihvPT1udWxsKXJldHVybiBudWxsO2xldCB1PU9jKGUpO1BwKHUpO2xldCBpPW51bGwscz1VcChvKTtmb3IobGV0IGE9MDtpPT1udWxsJiZhPHUubGVuZ3RoOysrYSlpPURwKHVbYV0scyk7cmV0dXJuIGl9ZnVuY3Rpb24gT2MoZSx0LG4scil7dD09PXZvaWQgMCYmKHQ9W10pLG49PT12b2lkIDAmJihuPVtdKSxyPT09dm9pZCAwJiYocj0iIik7bGV0IGw9KG8sdSxpKT0+e2xldCBzPXtyZWxhdGl2ZVBhdGg6aT09PXZvaWQgMD9vLnBhdGh8fCIiOmksY2FzZVNlbnNpdGl2ZTpvLmNhc2VTZW5zaXRpdmU9PT0hMCxjaGlsZHJlbkluZGV4OnUscm91dGU6b307cy5yZWxhdGl2ZVBhdGguc3RhcnRzV2l0aCgiLyIpJiYoRyhzLnJlbGF0aXZlUGF0aC5zdGFydHNXaXRoKHIpLCdBYnNvbHV0ZSByb3V0ZSBwYXRoICInK3MucmVsYXRpdmVQYXRoKyciIG5lc3RlZCB1bmRlciBwYXRoICcrKCciJytyKyciIGlzIG5vdCB2YWxpZC4gQW4gYWJzb2x1dGUgY2hpbGQgcm91dGUgcGF0aCAnKSsibXVzdCBzdGFydCB3aXRoIHRoZSBjb21iaW5lZCBwYXRoIG9mIGFsbCBpdHMgcGFyZW50IHJvdXRlcy4iKSxzLnJlbGF0aXZlUGF0aD1zLnJlbGF0aXZlUGF0aC5zbGljZShyLmxlbmd0aCkpO2xldCBhPU50KFtyLHMucmVsYXRpdmVQYXRoXSksaD1uLmNvbmNhdChzKTtvLmNoaWxkcmVuJiZvLmNoaWxkcmVuLmxlbmd0aD4wJiYoRyhvLmluZGV4IT09ITAsIkluZGV4IHJvdXRlcyBtdXN0IG5vdCBoYXZlIGNoaWxkIHJvdXRlcy4gUGxlYXNlIHJlbW92ZSAiKygnYWxsIGNoaWxkIHJvdXRlcyBmcm9tIHJvdXRlIHBhdGggIicrYSsnIi4nKSksT2Moby5jaGlsZHJlbix0LGgsYSkpLCEoby5wYXRoPT1udWxsJiYhby5pbmRleCkmJnQucHVzaCh7cGF0aDphLHNjb3JlOklwKGEsby5pbmRleCkscm91dGVzTWV0YTpofSl9O3JldHVybiBlLmZvckVhY2goKG8sdSk9Pnt2YXIgaTtpZihvLnBhdGg9PT0iInx8ISgoaT1vLnBhdGgpIT1udWxsJiZpLmluY2x1ZGVzKCI/IikpKWwobyx1KTtlbHNlIGZvcihsZXQgcyBvZiBJYyhvLnBhdGgpKWwobyx1LHMpfSksdH1mdW5jdGlvbiBJYyhlKXtsZXQgdD1lLnNwbGl0KCIvIik7aWYodC5sZW5ndGg9PT0wKXJldHVybltdO2xldFtuLC4uLnJdPXQsbD1uLmVuZHNXaXRoKCI/Iiksbz1uLnJlcGxhY2UoL1w/JC8sIiIpO2lmKHIubGVuZ3RoPT09MClyZXR1cm4gbD9bbywiIl06W29dO2xldCB1PUljKHIuam9pbigiLyIpKSxpPVtdO3JldHVybiBpLnB1c2goLi4udS5tYXAocz0+cz09PSIiP286W28sc10uam9pbigiLyIpKSksbCYmaS5wdXNoKC4uLnUpLGkubWFwKHM9PmUuc3RhcnRzV2l0aCgiLyIpJiZzPT09IiI/Ii8iOnMpfWZ1bmN0aW9uIFBwKGUpe2Uuc29ydCgodCxuKT0+dC5zY29yZSE9PW4uc2NvcmU/bi5zY29yZS10LnNjb3JlOk1wKHQucm91dGVzTWV0YS5tYXAocj0+ci5jaGlsZHJlbkluZGV4KSxuLnJvdXRlc01ldGEubWFwKHI9PnIuY2hpbGRyZW5JbmRleCkpKX1jb25zdCBOcD0vXjpbXHctXSskLyx6cD0zLExwPTIsUnA9MSxUcD0xMCxPcD0tMixwcz1lPT5lPT09IioiO2Z1bmN0aW9uIElwKGUsdCl7bGV0IG49ZS5zcGxpdCgiLyIpLHI9bi5sZW5ndGg7cmV0dXJuIG4uc29tZShwcykmJihyKz1PcCksdCYmKHIrPUxwKSxuLmZpbHRlcihsPT4hcHMobCkpLnJlZHVjZSgobCxvKT0+bCsoTnAudGVzdChvKT96cDpvPT09IiI/UnA6VHApLHIpfWZ1bmN0aW9uIE1wKGUsdCl7cmV0dXJuIGUubGVuZ3RoPT09dC5sZW5ndGgmJmUuc2xpY2UoMCwtMSkuZXZlcnkoKHIsbCk9PnI9PT10W2xdKT9lW2UubGVuZ3RoLTFdLXRbdC5sZW5ndGgtMV06MH1mdW5jdGlvbiBEcChlLHQsbil7bGV0e3JvdXRlc01ldGE6cn09ZSxsPXt9LG89Ii8iLHU9W107Zm9yKGxldCBpPTA7aTxyLmxlbmd0aDsrK2kpe2xldCBzPXJbaV0sYT1pPT09ci5sZW5ndGgtMSxoPW89PT0iLyI/dDp0LnNsaWNlKG8ubGVuZ3RoKXx8Ii8iLGQ9anAoe3BhdGg6cy5yZWxhdGl2ZVBhdGgsY2FzZVNlbnNpdGl2ZTpzLmNhc2VTZW5zaXRpdmUsZW5kOmF9LGgpLG09cy5yb3V0ZTtpZighZClyZXR1cm4gbnVsbDtPYmplY3QuYXNzaWduKGwsZC5wYXJhbXMpLHUucHVzaCh7cGFyYW1zOmwscGF0aG5hbWU6TnQoW28sZC5wYXRobmFtZV0pLHBhdGhuYW1lQmFzZTpRcChOdChbbyxkLnBhdGhuYW1lQmFzZV0pKSxyb3V0ZTptfSksZC5wYXRobmFtZUJhc2UhPT0iLyImJihvPU50KFtvLGQucGF0aG5hbWVCYXNlXSkpfXJldHVybiB1fWZ1bmN0aW9uIGpwKGUsdCl7dHlwZW9mIGU9PSJzdHJpbmciJiYoZT17cGF0aDplLGNhc2VTZW5zaXRpdmU6ITEsZW5kOiEwfSk7bGV0W24scl09RnAoZS5wYXRoLGUuY2FzZVNlbnNpdGl2ZSxlLmVuZCksbD10Lm1hdGNoKG4pO2lmKCFsKXJldHVybiBudWxsO2xldCBvPWxbMF0sdT1vLnJlcGxhY2UoLyguKVwvKyQvLCIkMSIpLGk9bC5zbGljZSgxKTtyZXR1cm57cGFyYW1zOnIucmVkdWNlKChhLGgsZCk9PntsZXR7cGFyYW1OYW1lOm0saXNPcHRpb25hbDp5fT1oO2lmKG09PT0iKiIpe2xldCBTPWlbZF18fCIiO3U9by5zbGljZSgwLG8ubGVuZ3RoLVMubGVuZ3RoKS5yZXBsYWNlKC8oLilcLyskLywiJDEiKX1jb25zdCB3PWlbZF07cmV0dXJuIHkmJiF3P2FbbV09dm9pZCAwOmFbbV09KHd8fCIiKS5yZXBsYWNlKC8lMkYvZywiLyIpLGF9LHt9KSxwYXRobmFtZTpvLHBhdGhuYW1lQmFzZTp1LHBhdHRlcm46ZX19ZnVuY3Rpb24gRnAoZSx0LG4pe3Q9PT12b2lkIDAmJih0PSExKSxuPT09dm9pZCAwJiYobj0hMCksUGwoZT09PSIqInx8IWUuZW5kc1dpdGgoIioiKXx8ZS5lbmRzV2l0aCgiLyoiKSwnUm91dGUgcGF0aCAiJytlKyciIHdpbGwgYmUgdHJlYXRlZCBhcyBpZiBpdCB3ZXJlICcrKCciJytlLnJlcGxhY2UoL1wqJC8sIi8qIikrJyIgYmVjYXVzZSB0aGUgYCpgIGNoYXJhY3RlciBtdXN0ICcpKyJhbHdheXMgZm9sbG93IGEgYC9gIGluIHRoZSBwYXR0ZXJuLiBUbyBnZXQgcmlkIG9mIHRoaXMgd2FybmluZywgIisoJ3BsZWFzZSBjaGFuZ2UgdGhlIHJvdXRlIHBhdGggdG8gIicrZS5yZXBsYWNlKC9cKiQvLCIvKiIpKyciLicpKTtsZXQgcj1bXSxsPSJeIitlLnJlcGxhY2UoL1wvKlwqPyQvLCIiKS5yZXBsYWNlKC9eXC8qLywiLyIpLnJlcGxhY2UoL1tcXC4qK14ke318KClbXF1dL2csIlxcJCYiKS5yZXBsYWNlKC9cLzooW1x3LV0rKShcPyk/L2csKHUsaSxzKT0+KHIucHVzaCh7cGFyYW1OYW1lOmksaXNPcHRpb25hbDpzIT1udWxsfSkscz8iLz8oW15cXC9dKyk/IjoiLyhbXlxcL10rKSIpKTtyZXR1cm4gZS5lbmRzV2l0aCgiKiIpPyhyLnB1c2goe3BhcmFtTmFtZToiKiJ9KSxsKz1lPT09IioifHxlPT09Ii8qIj8iKC4qKSQiOiIoPzpcXC8oLispfFxcLyopJCIpOm4/bCs9IlxcLyokIjplIT09IiImJmUhPT0iLyImJihsKz0iKD86KD89XFwvfCQpKSIpLFtuZXcgUmVnRXhwKGwsdD92b2lkIDA6ImkiKSxyXX1mdW5jdGlvbiBVcChlKXt0cnl7cmV0dXJuIGUuc3BsaXQoIi8iKS5tYXAodD0+ZGVjb2RlVVJJQ29tcG9uZW50KHQpLnJlcGxhY2UoL1wvL2csIiUyRiIpKS5qb2luKCIvIil9Y2F0Y2godCl7cmV0dXJuIFBsKCExLCdUaGUgVVJMIHBhdGggIicrZSsnIiBjb3VsZCBub3QgYmUgZGVjb2RlZCBiZWNhdXNlIGl0IGlzIGlzIGEgbWFsZm9ybWVkIFVSTCBzZWdtZW50LiBUaGlzIGlzIHByb2JhYmx5IGR1ZSB0byBhIGJhZCBwZXJjZW50ICcrKCJlbmNvZGluZyAoIit0KyIpLiIpKSxlfX1mdW5jdGlvbiBNYyhlLHQpe2lmKHQ9PT0iLyIpcmV0dXJuIGU7aWYoIWUudG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKHQudG9Mb3dlckNhc2UoKSkpcmV0dXJuIG51bGw7bGV0IG49dC5lbmRzV2l0aCgiLyIpP3QubGVuZ3RoLTE6dC5sZW5ndGgscj1lLmNoYXJBdChuKTtyZXR1cm4gciYmciE9PSIvIj9udWxsOmUuc2xpY2Uobil8fCIvIn1jb25zdCAkcD0vXig/OlthLXpdW2EtejAtOSsuLV0qOnxcL1wvKS9pLEFwPWU9PiRwLnRlc3QoZSk7ZnVuY3Rpb24gQnAoZSx0KXt0PT09dm9pZCAwJiYodD0iLyIpO2xldHtwYXRobmFtZTpuLHNlYXJjaDpyPSIiLGhhc2g6bD0iIn09dHlwZW9mIGU9PSJzdHJpbmciP2p0KGUpOmUsbztpZihuKWlmKEFwKG4pKW89bjtlbHNle2lmKG4uaW5jbHVkZXMoIi8vIikpe2xldCB1PW47bj1EYyhuKSxQbCghMSwiUGF0aG5hbWVzIGNhbm5vdCBoYXZlIGVtYmVkZGVkIGRvdWJsZSBzbGFzaGVzIC0gbm9ybWFsaXppbmcgIisodSsiIC0+ICIrbikpfW4uc3RhcnRzV2l0aCgiLyIpP289aHMobi5zdWJzdHJpbmcoMSksIi8iKTpvPWhzKG4sdCl9ZWxzZSBvPXQ7cmV0dXJue3BhdGhuYW1lOm8sc2VhcmNoOktwKHIpLGhhc2g6WXAobCl9fWZ1bmN0aW9uIGhzKGUsdCl7bGV0IG49dC5yZXBsYWNlKC9cLyskLywiIikuc3BsaXQoIi8iKTtyZXR1cm4gZS5zcGxpdCgiLyIpLmZvckVhY2gobD0+e2w9PT0iLi4iP24ubGVuZ3RoPjEmJm4ucG9wKCk6bCE9PSIuIiYmbi5wdXNoKGwpfSksbi5sZW5ndGg+MT9uLmpvaW4oIi8iKToiLyJ9ZnVuY3Rpb24gb28oZSx0LG4scil7cmV0dXJuIkNhbm5vdCBpbmNsdWRlIGEgJyIrZSsiJyBjaGFyYWN0ZXIgaW4gYSBtYW51YWxseSBzcGVjaWZpZWQgIisoImB0by4iK3QrImAgZmllbGQgWyIrSlNPTi5zdHJpbmdpZnkocikrIl0uICBQbGVhc2Ugc2VwYXJhdGUgaXQgb3V0IHRvIHRoZSAiKSsoImB0by4iK24rImAgZmllbGQuIEFsdGVybmF0aXZlbHkgeW91IG1heSBwcm92aWRlIHRoZSBmdWxsIHBhdGggYXMgIikrJ2Egc3RyaW5nIGluIDxMaW5rIHRvPSIuLi4iPiBhbmQgdGhlIHJvdXRlciB3aWxsIHBhcnNlIGl0IGZvciB5b3UuJ31mdW5jdGlvbiBWcChlKXtyZXR1cm4gZS5maWx0ZXIoKHQsbik9Pm49PT0wfHx0LnJvdXRlLnBhdGgmJnQucm91dGUucGF0aC5sZW5ndGg+MCl9ZnVuY3Rpb24gV3AoZSx0KXtsZXQgbj1WcChlKTtyZXR1cm4gdD9uLm1hcCgocixsKT0+bD09PW4ubGVuZ3RoLTE/ci5wYXRobmFtZTpyLnBhdGhuYW1lQmFzZSk6bi5tYXAocj0+ci5wYXRobmFtZUJhc2UpfWZ1bmN0aW9uIEhwKGUsdCxuLHIpe3I9PT12b2lkIDAmJihyPSExKTtsZXQgbDt0eXBlb2YgZT09InN0cmluZyI/bD1qdChlKToobD10cih7fSxlKSxHKCFsLnBhdGhuYW1lfHwhbC5wYXRobmFtZS5pbmNsdWRlcygiPyIpLG9vKCI/IiwicGF0aG5hbWUiLCJzZWFyY2giLGwpKSxHKCFsLnBhdGhuYW1lfHwhbC5wYXRobmFtZS5pbmNsdWRlcygiIyIpLG9vKCIjIiwicGF0aG5hbWUiLCJoYXNoIixsKSksRyghbC5zZWFyY2h8fCFsLnNlYXJjaC5pbmNsdWRlcygiIyIpLG9vKCIjIiwic2VhcmNoIiwiaGFzaCIsbCkpKTtsZXQgbz1lPT09IiJ8fGwucGF0aG5hbWU9PT0iIix1PW8/Ii8iOmwucGF0aG5hbWUsaTtpZih1PT1udWxsKWk9bjtlbHNle2xldCBkPXQubGVuZ3RoLTE7aWYoIXImJnUuc3RhcnRzV2l0aCgiLi4iKSl7bGV0IG09dS5zcGxpdCgiLyIpO2Zvcig7bVswXT09PSIuLiI7KW0uc2hpZnQoKSxkLT0xO2wucGF0aG5hbWU9bS5qb2luKCIvIil9aT1kPj0wP3RbZF06Ii8ifWxldCBzPUJwKGwsaSksYT11JiZ1IT09Ii8iJiZ1LmVuZHNXaXRoKCIvIiksaD0ob3x8dT09PSIuIikmJm4uZW5kc1dpdGgoIi8iKTtyZXR1cm4hcy5wYXRobmFtZS5lbmRzV2l0aCgiLyIpJiYoYXx8aCkmJihzLnBhdGhuYW1lKz0iLyIpLHN9Y29uc3QgRGM9ZT0+ZS5yZXBsYWNlKC9cL1wvKy9nLCIvIiksTnQ9ZT0+RGMoZS5qb2luKCIvIikpLFFwPWU9PmUucmVwbGFjZSgvXC8rJC8sIiIpLnJlcGxhY2UoL15cLyovLCIvIiksS3A9ZT0+IWV8fGU9PT0iPyI/IiI6ZS5zdGFydHNXaXRoKCI/Iik/ZToiPyIrZSxZcD1lPT4hZXx8ZT09PSIjIj8iIjplLnN0YXJ0c1dpdGgoIiMiKT9lOiIjIitlO2Z1bmN0aW9uIFhwKGUpe3JldHVybiBlIT1udWxsJiZ0eXBlb2YgZS5zdGF0dXM9PSJudW1iZXIiJiZ0eXBlb2YgZS5zdGF0dXNUZXh0PT0ic3RyaW5nIiYmdHlwZW9mIGUuaW50ZXJuYWw9PSJib29sZWFuIiYmImRhdGEiaW4gZX1jb25zdCBqYz1bInBvc3QiLCJwdXQiLCJwYXRjaCIsImRlbGV0ZSJdO25ldyBTZXQoamMpO2NvbnN0IEdwPVsiZ2V0IiwuLi5qY107bmV3IFNldChHcCk7LyoqCiAqIFJlYWN0IFJvdXRlciB2Ni4zMC40CiAqCiAqIENvcHlyaWdodCAoYykgUmVtaXggU29mdHdhcmUgSW5jLgogKgogKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGUKICogTElDRU5TRS5tZCBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLgogKgogKiBAbGljZW5zZSBNSVQKICovZnVuY3Rpb24gbnIoKXtyZXR1cm4gbnI9T2JqZWN0LmFzc2lnbj9PYmplY3QuYXNzaWduLmJpbmQoKTpmdW5jdGlvbihlKXtmb3IodmFyIHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgbj1hcmd1bWVudHNbdF07Zm9yKHZhciByIGluIG4pKHt9KS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4scikmJihlW3JdPW5bcl0pfXJldHVybiBlfSxuci5hcHBseShudWxsLGFyZ3VtZW50cyl9Y29uc3QgSnU9Xy5jcmVhdGVDb250ZXh0KG51bGwpLFpwPV8uY3JlYXRlQ29udGV4dChudWxsKSxObD1fLmNyZWF0ZUNvbnRleHQobnVsbCksemw9Xy5jcmVhdGVDb250ZXh0KG51bGwpLEZ0PV8uY3JlYXRlQ29udGV4dCh7b3V0bGV0Om51bGwsbWF0Y2hlczpbXSxpc0RhdGFSb3V0ZTohMX0pLEZjPV8uY3JlYXRlQ29udGV4dChudWxsKTtmdW5jdGlvbiBMbCgpe3JldHVybiBfLnVzZUNvbnRleHQoemwpIT1udWxsfWZ1bmN0aW9uIHF1KCl7cmV0dXJuIExsKCl8fEcoITEpLF8udXNlQ29udGV4dCh6bCkubG9jYXRpb259ZnVuY3Rpb24gVWMoZSl7Xy51c2VDb250ZXh0KE5sKS5zdGF0aWN8fF8udXNlTGF5b3V0RWZmZWN0KGUpfWZ1bmN0aW9uIEpwKCl7bGV0e2lzRGF0YVJvdXRlOmV9PV8udXNlQ29udGV4dChGdCk7cmV0dXJuIGU/Y2goKTpxcCgpfWZ1bmN0aW9uIHFwKCl7TGwoKXx8RyghMSk7bGV0IGU9Xy51c2VDb250ZXh0KEp1KSx7YmFzZW5hbWU6dCxmdXR1cmU6bixuYXZpZ2F0b3I6cn09Xy51c2VDb250ZXh0KE5sKSx7bWF0Y2hlczpsfT1fLnVzZUNvbnRleHQoRnQpLHtwYXRobmFtZTpvfT1xdSgpLHU9SlNPTi5zdHJpbmdpZnkoV3AobCxuLnY3X3JlbGF0aXZlU3BsYXRQYXRoKSksaT1fLnVzZVJlZighMSk7cmV0dXJuIFVjKCgpPT57aS5jdXJyZW50PSEwfSksXy51c2VDYWxsYmFjayhmdW5jdGlvbihhLGgpe2lmKGg9PT12b2lkIDAmJihoPXt9KSwhaS5jdXJyZW50KXJldHVybjtpZih0eXBlb2YgYT09Im51bWJlciIpe3IuZ28oYSk7cmV0dXJufWxldCBkPUhwKGEsSlNPTi5wYXJzZSh1KSxvLGgucmVsYXRpdmU9PT0icGF0aCIpO2U9PW51bGwmJnQhPT0iLyImJihkLnBhdGhuYW1lPWQucGF0aG5hbWU9PT0iLyI/dDpOdChbdCxkLnBhdGhuYW1lXSkpLChoLnJlcGxhY2U/ci5yZXBsYWNlOnIucHVzaCkoZCxoLnN0YXRlLGgpfSxbdCxyLHUsbyxlXSl9ZnVuY3Rpb24gQ2goKXtsZXR7bWF0Y2hlczplfT1fLnVzZUNvbnRleHQoRnQpLHQ9ZVtlLmxlbmd0aC0xXTtyZXR1cm4gdD90LnBhcmFtczp7fX1mdW5jdGlvbiBicChlLHQpe3JldHVybiBlaChlLHQpfWZ1bmN0aW9uIGVoKGUsdCxuLHIpe0xsKCl8fEcoITEpO2xldHtuYXZpZ2F0b3I6bH09Xy51c2VDb250ZXh0KE5sKSx7bWF0Y2hlczpvfT1fLnVzZUNvbnRleHQoRnQpLHU9b1tvLmxlbmd0aC0xXSxpPXU/dS5wYXJhbXM6e307dSYmdS5wYXRobmFtZTtsZXQgcz11P3UucGF0aG5hbWVCYXNlOiIvIjt1JiZ1LnJvdXRlO2xldCBhPXF1KCksaDtpZih0KXt2YXIgZDtsZXQgRT10eXBlb2YgdD09InN0cmluZyI/anQodCk6dDtzPT09Ii8ifHwoZD1FLnBhdGhuYW1lKSE9bnVsbCYmZC5zdGFydHNXaXRoKHMpfHxHKCExKSxoPUV9ZWxzZSBoPWE7bGV0IG09aC5wYXRobmFtZXx8Ii8iLHk9bTtpZihzIT09Ii8iKXtsZXQgRT1zLnJlcGxhY2UoL15cLy8sIiIpLnNwbGl0KCIvIik7eT0iLyIrbS5yZXBsYWNlKC9eXC8vLCIiKS5zcGxpdCgiLyIpLnNsaWNlKEUubGVuZ3RoKS5qb2luKCIvIil9bGV0IHc9Q3AoZSx7cGF0aG5hbWU6eX0pLFM9b2godyYmdy5tYXAoRT0+T2JqZWN0LmFzc2lnbih7fSxFLHtwYXJhbXM6T2JqZWN0LmFzc2lnbih7fSxpLEUucGFyYW1zKSxwYXRobmFtZTpOdChbcyxsLmVuY29kZUxvY2F0aW9uP2wuZW5jb2RlTG9jYXRpb24oRS5wYXRobmFtZSkucGF0aG5hbWU6RS5wYXRobmFtZV0pLHBhdGhuYW1lQmFzZTpFLnBhdGhuYW1lQmFzZT09PSIvIj9zOk50KFtzLGwuZW5jb2RlTG9jYXRpb24/bC5lbmNvZGVMb2NhdGlvbihFLnBhdGhuYW1lQmFzZSkucGF0aG5hbWU6RS5wYXRobmFtZUJhc2VdKX0pKSxvLG4scik7cmV0dXJuIHQmJlM/Xy5jcmVhdGVFbGVtZW50KHpsLlByb3ZpZGVyLHt2YWx1ZTp7bG9jYXRpb246bnIoe3BhdGhuYW1lOiIvIixzZWFyY2g6IiIsaGFzaDoiIixzdGF0ZTpudWxsLGtleToiZGVmYXVsdCJ9LGgpLG5hdmlnYXRpb25UeXBlOmx0LlBvcH19LFMpOlN9ZnVuY3Rpb24gdGgoKXtsZXQgZT1haCgpLHQ9WHAoZSk/ZS5zdGF0dXMrIiAiK2Uuc3RhdHVzVGV4dDplIGluc3RhbmNlb2YgRXJyb3I/ZS5tZXNzYWdlOkpTT04uc3RyaW5naWZ5KGUpLG49ZSBpbnN0YW5jZW9mIEVycm9yP2Uuc3RhY2s6bnVsbCxsPXtwYWRkaW5nOiIwLjVyZW0iLGJhY2tncm91bmRDb2xvcjoicmdiYSgyMDAsMjAwLDIwMCwgMC41KSJ9O3JldHVybiBfLmNyZWF0ZUVsZW1lbnQoXy5GcmFnbWVudCxudWxsLF8uY3JlYXRlRWxlbWVudCgiaDIiLG51bGwsIlVuZXhwZWN0ZWQgQXBwbGljYXRpb24gRXJyb3IhIiksXy5jcmVhdGVFbGVtZW50KCJoMyIse3N0eWxlOntmb250U3R5bGU6Iml0YWxpYyJ9fSx0KSxuP18uY3JlYXRlRWxlbWVudCgicHJlIix7c3R5bGU6bH0sbik6bnVsbCxudWxsKX1jb25zdCBuaD1fLmNyZWF0ZUVsZW1lbnQodGgsbnVsbCk7Y2xhc3MgcmggZXh0ZW5kcyBfLkNvbXBvbmVudHtjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KSx0aGlzLnN0YXRlPXtsb2NhdGlvbjp0LmxvY2F0aW9uLHJldmFsaWRhdGlvbjp0LnJldmFsaWRhdGlvbixlcnJvcjp0LmVycm9yfX1zdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yKHQpe3JldHVybntlcnJvcjp0fX1zdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKHQsbil7cmV0dXJuIG4ubG9jYXRpb24hPT10LmxvY2F0aW9ufHxuLnJldmFsaWRhdGlvbiE9PSJpZGxlIiYmdC5yZXZhbGlkYXRpb249PT0iaWRsZSI/e2Vycm9yOnQuZXJyb3IsbG9jYXRpb246dC5sb2NhdGlvbixyZXZhbGlkYXRpb246dC5yZXZhbGlkYXRpb259OntlcnJvcjp0LmVycm9yIT09dm9pZCAwP3QuZXJyb3I6bi5lcnJvcixsb2NhdGlvbjpuLmxvY2F0aW9uLHJldmFsaWRhdGlvbjp0LnJldmFsaWRhdGlvbnx8bi5yZXZhbGlkYXRpb259fWNvbXBvbmVudERpZENhdGNoKHQsbil7Y29uc29sZS5lcnJvcigiUmVhY3QgUm91dGVyIGNhdWdodCB0aGUgZm9sbG93aW5nIGVycm9yIGR1cmluZyByZW5kZXIiLHQsbil9cmVuZGVyKCl7cmV0dXJuIHRoaXMuc3RhdGUuZXJyb3IhPT12b2lkIDA/Xy5jcmVhdGVFbGVtZW50KEZ0LlByb3ZpZGVyLHt2YWx1ZTp0aGlzLnByb3BzLnJvdXRlQ29udGV4dH0sXy5jcmVhdGVFbGVtZW50KEZjLlByb3ZpZGVyLHt2YWx1ZTp0aGlzLnN0YXRlLmVycm9yLGNoaWxkcmVuOnRoaXMucHJvcHMuY29tcG9uZW50fSkpOnRoaXMucHJvcHMuY2hpbGRyZW59fWZ1bmN0aW9uIGxoKGUpe2xldHtyb3V0ZUNvbnRleHQ6dCxtYXRjaDpuLGNoaWxkcmVuOnJ9PWUsbD1fLnVzZUNvbnRleHQoSnUpO3JldHVybiBsJiZsLnN0YXRpYyYmbC5zdGF0aWNDb250ZXh0JiYobi5yb3V0ZS5lcnJvckVsZW1lbnR8fG4ucm91dGUuRXJyb3JCb3VuZGFyeSkmJihsLnN0YXRpY0NvbnRleHQuX2RlZXBlc3RSZW5kZXJlZEJvdW5kYXJ5SWQ9bi5yb3V0ZS5pZCksXy5jcmVhdGVFbGVtZW50KEZ0LlByb3ZpZGVyLHt2YWx1ZTp0fSxyKX1mdW5jdGlvbiBvaChlLHQsbixyKXt2YXIgbDtpZih0PT09dm9pZCAwJiYodD1bXSksbj09PXZvaWQgMCYmKG49bnVsbCkscj09PXZvaWQgMCYmKHI9bnVsbCksZT09bnVsbCl7dmFyIG87aWYoIW4pcmV0dXJuIG51bGw7aWYobi5lcnJvcnMpZT1uLm1hdGNoZXM7ZWxzZSBpZigobz1yKSE9bnVsbCYmby52N19wYXJ0aWFsSHlkcmF0aW9uJiZ0Lmxlbmd0aD09PTAmJiFuLmluaXRpYWxpemVkJiZuLm1hdGNoZXMubGVuZ3RoPjApZT1uLm1hdGNoZXM7ZWxzZSByZXR1cm4gbnVsbH1sZXQgdT1lLGk9KGw9bik9PW51bGw/dm9pZCAwOmwuZXJyb3JzO2lmKGkhPW51bGwpe2xldCBoPXUuZmluZEluZGV4KGQ9PmQucm91dGUuaWQmJihpPT1udWxsP3ZvaWQgMDppW2Qucm91dGUuaWRdKSE9PXZvaWQgMCk7aD49MHx8RyghMSksdT11LnNsaWNlKDAsTWF0aC5taW4odS5sZW5ndGgsaCsxKSl9bGV0IHM9ITEsYT0tMTtpZihuJiZyJiZyLnY3X3BhcnRpYWxIeWRyYXRpb24pZm9yKGxldCBoPTA7aDx1Lmxlbmd0aDtoKyspe2xldCBkPXVbaF07aWYoKGQucm91dGUuSHlkcmF0ZUZhbGxiYWNrfHxkLnJvdXRlLmh5ZHJhdGVGYWxsYmFja0VsZW1lbnQpJiYoYT1oKSxkLnJvdXRlLmlkKXtsZXR7bG9hZGVyRGF0YTptLGVycm9yczp5fT1uLHc9ZC5yb3V0ZS5sb2FkZXImJm1bZC5yb3V0ZS5pZF09PT12b2lkIDAmJigheXx8eVtkLnJvdXRlLmlkXT09PXZvaWQgMCk7aWYoZC5yb3V0ZS5sYXp5fHx3KXtzPSEwLGE+PTA/dT11LnNsaWNlKDAsYSsxKTp1PVt1WzBdXTticmVha319fXJldHVybiB1LnJlZHVjZVJpZ2h0KChoLGQsbSk9PntsZXQgeSx3PSExLFM9bnVsbCxFPW51bGw7biYmKHk9aSYmZC5yb3V0ZS5pZD9pW2Qucm91dGUuaWRdOnZvaWQgMCxTPWQucm91dGUuZXJyb3JFbGVtZW50fHxuaCxzJiYoYTwwJiZtPT09MD8oZmgoInJvdXRlLWZhbGxiYWNrIiksdz0hMCxFPW51bGwpOmE9PT1tJiYodz0hMCxFPWQucm91dGUuaHlkcmF0ZUZhbGxiYWNrRWxlbWVudHx8bnVsbCkpKTtsZXQgZj10LmNvbmNhdCh1LnNsaWNlKDAsbSsxKSksYz0oKT0+e2xldCBwO3JldHVybiB5P3A9Uzp3P3A9RTpkLnJvdXRlLkNvbXBvbmVudD9wPV8uY3JlYXRlRWxlbWVudChkLnJvdXRlLkNvbXBvbmVudCxudWxsKTpkLnJvdXRlLmVsZW1lbnQ/cD1kLnJvdXRlLmVsZW1lbnQ6cD1oLF8uY3JlYXRlRWxlbWVudChsaCx7bWF0Y2g6ZCxyb3V0ZUNvbnRleHQ6e291dGxldDpoLG1hdGNoZXM6Zixpc0RhdGFSb3V0ZTpuIT1udWxsfSxjaGlsZHJlbjpwfSl9O3JldHVybiBuJiYoZC5yb3V0ZS5FcnJvckJvdW5kYXJ5fHxkLnJvdXRlLmVycm9yRWxlbWVudHx8bT09PTApP18uY3JlYXRlRWxlbWVudChyaCx7bG9jYXRpb246bi5sb2NhdGlvbixyZXZhbGlkYXRpb246bi5yZXZhbGlkYXRpb24sY29tcG9uZW50OlMsZXJyb3I6eSxjaGlsZHJlbjpjKCkscm91dGVDb250ZXh0OntvdXRsZXQ6bnVsbCxtYXRjaGVzOmYsaXNEYXRhUm91dGU6ITB9fSk6YygpfSxudWxsKX12YXIgJGM9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuVXNlQmxvY2tlcj0idXNlQmxvY2tlciIsZS5Vc2VSZXZhbGlkYXRvcj0idXNlUmV2YWxpZGF0b3IiLGUuVXNlTmF2aWdhdGVTdGFibGU9InVzZU5hdmlnYXRlIixlfSgkY3x8e30pLEFjPWZ1bmN0aW9uKGUpe3JldHVybiBlLlVzZUJsb2NrZXI9InVzZUJsb2NrZXIiLGUuVXNlTG9hZGVyRGF0YT0idXNlTG9hZGVyRGF0YSIsZS5Vc2VBY3Rpb25EYXRhPSJ1c2VBY3Rpb25EYXRhIixlLlVzZVJvdXRlRXJyb3I9InVzZVJvdXRlRXJyb3IiLGUuVXNlTmF2aWdhdGlvbj0idXNlTmF2aWdhdGlvbiIsZS5Vc2VSb3V0ZUxvYWRlckRhdGE9InVzZVJvdXRlTG9hZGVyRGF0YSIsZS5Vc2VNYXRjaGVzPSJ1c2VNYXRjaGVzIixlLlVzZVJldmFsaWRhdG9yPSJ1c2VSZXZhbGlkYXRvciIsZS5Vc2VOYXZpZ2F0ZVN0YWJsZT0idXNlTmF2aWdhdGUiLGUuVXNlUm91dGVJZD0idXNlUm91dGVJZCIsZX0oQWN8fHt9KTtmdW5jdGlvbiB1aChlKXtsZXQgdD1fLnVzZUNvbnRleHQoSnUpO3JldHVybiB0fHxHKCExKSx0fWZ1bmN0aW9uIGloKGUpe2xldCB0PV8udXNlQ29udGV4dChacCk7cmV0dXJuIHR8fEcoITEpLHR9ZnVuY3Rpb24gc2goZSl7bGV0IHQ9Xy51c2VDb250ZXh0KEZ0KTtyZXR1cm4gdHx8RyghMSksdH1mdW5jdGlvbiBCYyhlKXtsZXQgdD1zaCgpLG49dC5tYXRjaGVzW3QubWF0Y2hlcy5sZW5ndGgtMV07cmV0dXJuIG4ucm91dGUuaWR8fEcoITEpLG4ucm91dGUuaWR9ZnVuY3Rpb24gYWgoKXt2YXIgZTtsZXQgdD1fLnVzZUNvbnRleHQoRmMpLG49aWgoKSxyPUJjKCk7cmV0dXJuIHQhPT12b2lkIDA/dDooZT1uLmVycm9ycyk9PW51bGw/dm9pZCAwOmVbcl19ZnVuY3Rpb24gY2goKXtsZXR7cm91dGVyOmV9PXVoKCRjLlVzZU5hdmlnYXRlU3RhYmxlKSx0PUJjKEFjLlVzZU5hdmlnYXRlU3RhYmxlKSxuPV8udXNlUmVmKCExKTtyZXR1cm4gVWMoKCk9PntuLmN1cnJlbnQ9ITB9KSxfLnVzZUNhbGxiYWNrKGZ1bmN0aW9uKGwsbyl7bz09PXZvaWQgMCYmKG89e30pLG4uY3VycmVudCYmKHR5cGVvZiBsPT0ibnVtYmVyIj9lLm5hdmlnYXRlKGwpOmUubmF2aWdhdGUobCxucih7ZnJvbVJvdXRlSWQ6dH0sbykpKX0sW2UsdF0pfWNvbnN0IG1zPXt9O2Z1bmN0aW9uIGZoKGUsdCxuKXttc1tlXXx8KG1zW2VdPSEwKX1mdW5jdGlvbiBkaChlLHQpe2U9PW51bGx8fGUudjdfc3RhcnRUcmFuc2l0aW9uLGU9PW51bGx8fGUudjdfcmVsYXRpdmVTcGxhdFBhdGh9ZnVuY3Rpb24gJHQoZSl7RyghMSl9ZnVuY3Rpb24gcGgoZSl7bGV0e2Jhc2VuYW1lOnQ9Ii8iLGNoaWxkcmVuOm49bnVsbCxsb2NhdGlvbjpyLG5hdmlnYXRpb25UeXBlOmw9bHQuUG9wLG5hdmlnYXRvcjpvLHN0YXRpYzp1PSExLGZ1dHVyZTppfT1lO0xsKCkmJkcoITEpO2xldCBzPXQucmVwbGFjZSgvXlwvKi8sIi8iKSxhPV8udXNlTWVtbygoKT0+KHtiYXNlbmFtZTpzLG5hdmlnYXRvcjpvLHN0YXRpYzp1LGZ1dHVyZTpucih7djdfcmVsYXRpdmVTcGxhdFBhdGg6ITF9LGkpfSksW3MsaSxvLHVdKTt0eXBlb2Ygcj09InN0cmluZyImJihyPWp0KHIpKTtsZXR7cGF0aG5hbWU6aD0iLyIsc2VhcmNoOmQ9IiIsaGFzaDptPSIiLHN0YXRlOnk9bnVsbCxrZXk6dz0iZGVmYXVsdCJ9PXIsUz1fLnVzZU1lbW8oKCk9PntsZXQgRT1NYyhoLHMpO3JldHVybiBFPT1udWxsP251bGw6e2xvY2F0aW9uOntwYXRobmFtZTpFLHNlYXJjaDpkLGhhc2g6bSxzdGF0ZTp5LGtleTp3fSxuYXZpZ2F0aW9uVHlwZTpsfX0sW3MsaCxkLG0seSx3LGxdKTtyZXR1cm4gUz09bnVsbD9udWxsOl8uY3JlYXRlRWxlbWVudChObC5Qcm92aWRlcix7dmFsdWU6YX0sXy5jcmVhdGVFbGVtZW50KHpsLlByb3ZpZGVyLHtjaGlsZHJlbjpuLHZhbHVlOlN9KSl9ZnVuY3Rpb24gaGgoZSl7bGV0e2NoaWxkcmVuOnQsbG9jYXRpb246bn09ZTtyZXR1cm4gYnAodHUodCksbil9bmV3IFByb21pc2UoKCk9Pnt9KTtmdW5jdGlvbiB0dShlLHQpe3Q9PT12b2lkIDAmJih0PVtdKTtsZXQgbj1bXTtyZXR1cm4gXy5DaGlsZHJlbi5mb3JFYWNoKGUsKHIsbCk9PntpZighXy5pc1ZhbGlkRWxlbWVudChyKSlyZXR1cm47bGV0IG89Wy4uLnQsbF07aWYoci50eXBlPT09Xy5GcmFnbWVudCl7bi5wdXNoLmFwcGx5KG4sdHUoci5wcm9wcy5jaGlsZHJlbixvKSk7cmV0dXJufXIudHlwZSE9PSR0JiZHKCExKSwhci5wcm9wcy5pbmRleHx8IXIucHJvcHMuY2hpbGRyZW58fEcoITEpO2xldCB1PXtpZDpyLnByb3BzLmlkfHxvLmpvaW4oIi0iKSxjYXNlU2Vuc2l0aXZlOnIucHJvcHMuY2FzZVNlbnNpdGl2ZSxlbGVtZW50OnIucHJvcHMuZWxlbWVudCxDb21wb25lbnQ6ci5wcm9wcy5Db21wb25lbnQsaW5kZXg6ci5wcm9wcy5pbmRleCxwYXRoOnIucHJvcHMucGF0aCxsb2FkZXI6ci5wcm9wcy5sb2FkZXIsYWN0aW9uOnIucHJvcHMuYWN0aW9uLGVycm9yRWxlbWVudDpyLnByb3BzLmVycm9yRWxlbWVudCxFcnJvckJvdW5kYXJ5OnIucHJvcHMuRXJyb3JCb3VuZGFyeSxoYXNFcnJvckJvdW5kYXJ5OnIucHJvcHMuRXJyb3JCb3VuZGFyeSE9bnVsbHx8ci5wcm9wcy5lcnJvckVsZW1lbnQhPW51bGwsc2hvdWxkUmV2YWxpZGF0ZTpyLnByb3BzLnNob3VsZFJldmFsaWRhdGUsaGFuZGxlOnIucHJvcHMuaGFuZGxlLGxhenk6ci5wcm9wcy5sYXp5fTtyLnByb3BzLmNoaWxkcmVuJiYodS5jaGlsZHJlbj10dShyLnByb3BzLmNoaWxkcmVuLG8pKSxuLnB1c2godSl9KSxufS8qKgogKiBSZWFjdCBSb3V0ZXIgRE9NIHY2LjMwLjQKICoKICogQ29weXJpZ2h0IChjKSBSZW1peCBTb2Z0d2FyZSBJbmMuCiAqCiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZQogKiBMSUNFTlNFLm1kIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuCiAqCiAqIEBsaWNlbnNlIE1JVAogKi9mdW5jdGlvbiBudShlKXtyZXR1cm4gZT09PXZvaWQgMCYmKGU9IiIpLG5ldyBVUkxTZWFyY2hQYXJhbXModHlwZW9mIGU9PSJzdHJpbmcifHxBcnJheS5pc0FycmF5KGUpfHxlIGluc3RhbmNlb2YgVVJMU2VhcmNoUGFyYW1zP2U6T2JqZWN0LmtleXMoZSkucmVkdWNlKCh0LG4pPT57bGV0IHI9ZVtuXTtyZXR1cm4gdC5jb25jYXQoQXJyYXkuaXNBcnJheShyKT9yLm1hcChsPT5bbixsXSk6W1tuLHJdXSl9LFtdKSl9ZnVuY3Rpb24gbWgoZSx0KXtsZXQgbj1udShlKTtyZXR1cm4gdCYmdC5mb3JFYWNoKChyLGwpPT57bi5oYXMobCl8fHQuZ2V0QWxsKGwpLmZvckVhY2gobz0+e24uYXBwZW5kKGwsbyl9KX0pLG59Y29uc3Qgdmg9IjYiO3RyeXt3aW5kb3cuX19yZWFjdFJvdXRlclZlcnNpb249dmh9Y2F0Y2h7fWNvbnN0IHloPSJzdGFydFRyYW5zaXRpb24iLHZzPWFmW3loXTtmdW5jdGlvbiBnaChlKXtsZXR7YmFzZW5hbWU6dCxjaGlsZHJlbjpuLGZ1dHVyZTpyLHdpbmRvdzpsfT1lLG89Xy51c2VSZWYoKTtvLmN1cnJlbnQ9PW51bGwmJihvLmN1cnJlbnQ9a3Aoe3dpbmRvdzpsLHY1Q29tcGF0OiEwfSkpO2xldCB1PW8uY3VycmVudCxbaSxzXT1fLnVzZVN0YXRlKHthY3Rpb246dS5hY3Rpb24sbG9jYXRpb246dS5sb2NhdGlvbn0pLHt2N19zdGFydFRyYW5zaXRpb246YX09cnx8e30saD1fLnVzZUNhbGxiYWNrKGQ9PnthJiZ2cz92cygoKT0+cyhkKSk6cyhkKX0sW3MsYV0pO3JldHVybiBfLnVzZUxheW91dEVmZmVjdCgoKT0+dS5saXN0ZW4oaCksW3UsaF0pLF8udXNlRWZmZWN0KCgpPT5kaChyKSxbcl0pLF8uY3JlYXRlRWxlbWVudChwaCx7YmFzZW5hbWU6dCxjaGlsZHJlbjpuLGxvY2F0aW9uOmkubG9jYXRpb24sbmF2aWdhdGlvblR5cGU6aS5hY3Rpb24sbmF2aWdhdG9yOnUsZnV0dXJlOnJ9KX12YXIgeXM7KGZ1bmN0aW9uKGUpe2UuVXNlU2Nyb2xsUmVzdG9yYXRpb249InVzZVNjcm9sbFJlc3RvcmF0aW9uIixlLlVzZVN1Ym1pdD0idXNlU3VibWl0IixlLlVzZVN1Ym1pdEZldGNoZXI9InVzZVN1Ym1pdEZldGNoZXIiLGUuVXNlRmV0Y2hlcj0idXNlRmV0Y2hlciIsZS51c2VWaWV3VHJhbnNpdGlvblN0YXRlPSJ1c2VWaWV3VHJhbnNpdGlvblN0YXRlIn0pKHlzfHwoeXM9e30pKTt2YXIgZ3M7KGZ1bmN0aW9uKGUpe2UuVXNlRmV0Y2hlcj0idXNlRmV0Y2hlciIsZS5Vc2VGZXRjaGVycz0idXNlRmV0Y2hlcnMiLGUuVXNlU2Nyb2xsUmVzdG9yYXRpb249InVzZVNjcm9sbFJlc3RvcmF0aW9uIn0pKGdzfHwoZ3M9e30pKTtmdW5jdGlvbiBfaChlKXtsZXQgdD1fLnVzZVJlZihudShlKSksbj1fLnVzZVJlZighMSkscj1xdSgpLGw9Xy51c2VNZW1vKCgpPT5taChyLnNlYXJjaCxuLmN1cnJlbnQ/bnVsbDp0LmN1cnJlbnQpLFtyLnNlYXJjaF0pLG89SnAoKSx1PV8udXNlQ2FsbGJhY2soKGkscyk9Pntjb25zdCBhPW51KHR5cGVvZiBpPT0iZnVuY3Rpb24iP2kobCk6aSk7bi5jdXJyZW50PSEwLG8oIj8iK2Escyl9LFtvLGxdKTtyZXR1cm5bbCx1XX1jb25zdCB3aD1JdC5sYXp5KCgpPT5ycigoKT0+aW1wb3J0KCJ2aXJ0dWFsOlNpdGVBcHAtQnNBSnhYVlcuanMiKSxfX3ZpdGVfX21hcERlcHMoWzAsMV0pKSksU2g9SXQubGF6eSgoKT0+cnIoKCk9PmltcG9ydCgidmlydHVhbDpEZW1vU2NyZWVuLUREaWFyY05ILmpzIikudGhlbihlPT5lLkQpLF9fdml0ZV9fbWFwRGVwcyhbMiwzXSkpKSxraD1JdC5sYXp5KCgpPT5ycigoKT0+aW1wb3J0KCJ2aXJ0dWFsOkRlbW9WaWRlb1BhZ2UtVkc4TkVBZ04uanMiKSxfX3ZpdGVfX21hcERlcHMoWzQsMiwzXSkpKSxFaD1JdC5sYXp5KCgpPT5ycigoKT0+aW1wb3J0KCJ2aXJ0dWFsOlRocmVhdERlbW9zU2xpZGVyLUI1MDI0SmgwLmpzIiksX192aXRlX19tYXBEZXBzKFs1LDYsMiwzXSkpKSx4aD1JdC5sYXp5KCgpPT5ycigoKT0+aW1wb3J0KCJ2aXJ0dWFsOlRocmVhdERlbW9QbGF5ZXJQYWdlLURrT1pUcWVCLmpzIiksX192aXRlX19tYXBEZXBzKFs3LDYsMiwzXSkpKTt1by5jcmVhdGVSb290KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyb290IikpLnJlbmRlcih1ZS5qc3goSXQuU3RyaWN0TW9kZSx7Y2hpbGRyZW46dWUuanN4KGdoLHtjaGlsZHJlbjp1ZS5qc3goXy5TdXNwZW5zZSx7ZmFsbGJhY2s6dWUuanN4KCJkaXYiLHtzdHlsZTp7bWluSGVpZ2h0OiIxMDB2aCIsYmFja2dyb3VuZDoiIzAxM0I0OSJ9fSksY2hpbGRyZW46dWUuanN4cyhoaCx7Y2hpbGRyZW46W3VlLmpzeCgkdCx7cGF0aDoiL3RocmVhdC1kZW1vcyIsZWxlbWVudDp1ZS5qc3goRWgse30pfSksdWUuanN4KCR0LHtwYXRoOiIvdGhyZWF0LWRlbW8vOmlkIixlbGVtZW50OnVlLmpzeCh4aCx7fSl9KSx1ZS5qc3goJHQse3BhdGg6Ii9kZW1vLXZpZGVvIixlbGVtZW50OnVlLmpzeChraCx7fSl9KSx1ZS5qc3goJHQse3BhdGg6Ii9kZW1vIixlbGVtZW50OnVlLmpzeChTaCx7fSl9KSx1ZS5qc3goJHQse3BhdGg6IioiLGVsZW1lbnQ6dWUuanN4KHdoLHt9KX0pXX0pfSl9KX0pKTtleHBvcnR7SXQgYXMgUixDaCBhcyBhLF9oIGFzIGIsdWUgYXMgaixfIGFzIHIsSnAgYXMgdX07Cg==","virtual:SiteApp-BsAJxXVW.js":"data:text/javascript;base64,aW1wb3J0e3UgYXMgbSxyIGFzIGcsaiBhcyBNfWZyb20idmlydHVhbDppbmRleC1xbjBGY0JDdy5qcyI7Y29uc3Qgdz1gICA8IS0tIE5BViAtLT4KICA8bmF2IGlkPSJiZC1uYXYiIGNsYXNzPSJiZC1uYXYiIHN0eWxlPSJiYWNrZ3JvdW5kOnJnYmEoMSw1OSw3MywuNCk7Ym9yZGVyLWJvdHRvbS1jb2xvcjp0cmFuc3BhcmVudCI+CiAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O2N1cnNvcjpwb2ludGVyOyIgb25jbGljaz0iZ29Ib21lKCkiPgogICAgICA8c3ZnIHZpZXdCb3g9IjAgMCA2NCA2NCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIiBzdHJva2U9InZhcigtLWF4KSIgc3Ryb2tlLXdpZHRoPSIzIgogICAgICAgIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7ZmxleC1zaHJpbms6MDsiPgogICAgICAgIDxwYXRoIGQ9Ik0zMiA2IEw1NiAyMCBMNTYgNDYgTDMyIDYwIEw4IDQ2IEw4IDIwIFoiPjwvcGF0aD4KICAgICAgICA8cGF0aCBkPSJNMzIgNiBMMzIgMzIgTTggMjAgTDMyIDMyIE01NiAyMCBMMzIgMzIiPjwvcGF0aD4KICAgICAgICA8Y2lyY2xlIGN4PSIyMCIgY3k9IjI2IiByPSIyLjQiIGZpbGw9InZhcigtLWF4KSIgc3Ryb2tlPSJub25lIj48L2NpcmNsZT4KICAgICAgICA8Y2lyY2xlIGN4PSIyMCIgY3k9IjM0IiByPSIyLjQiIGZpbGw9InZhcigtLWF4KSIgc3Ryb2tlPSJub25lIj48L2NpcmNsZT4KICAgICAgICA8Y2lyY2xlIGN4PSI0NCIgY3k9IjM0IiByPSIyLjQiIGZpbGw9InZhcigtLWF4KSIgc3Ryb2tlPSJub25lIj48L2NpcmNsZT4KICAgICAgPC9zdmc+CiAgICAgIDxzcGFuCiAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OidVYnVudHUnLHN5c3RlbS11aSxzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6MTdweDtsZXR0ZXItc3BhY2luZzotLjNweDtjb2xvcjp2YXIoLS10eHQpIj5CbGFja0RpY2U8L3NwYW4+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImJkLW5hdi1saW5rcyI+CiAgICAgIDxidXR0b24gY2xhc3M9ImJkLW5sIiBkYXRhLW5hdj0icDEiIGRhdGEtcGFnZT0icDEiIG9uY2xpY2s9ImdvUGFnZShldmVudCkiPkhvbWU8L2J1dHRvbj4KICAgICAgPGJ1dHRvbiBjbGFzcz0iYmQtbmwiIGRhdGEtbmF2PSJwMiIgZGF0YS1wYWdlPSJwMiIgb25jbGljaz0iZ29QYWdlKGV2ZW50KSI+TW9iaWxlIFNESzwvYnV0dG9uPgogICAgICA8YnV0dG9uIGNsYXNzPSJiZC1ubCIgZGF0YS1uYXY9InAxMCIgZGF0YS1wYWdlPSJwMTAiIG9uY2xpY2s9ImdvUGFnZShldmVudCkiPkROUyBQcm90ZWN0PC9idXR0b24+CiAgICAgIDxidXR0b24gY2xhc3M9ImJkLW5sIiBkYXRhLW5hdj0icDMiIGRhdGEtcGFnZT0icDMiIG9uY2xpY2s9ImdvUGFnZShldmVudCkiPkhhbG8gQ1BFPC9idXR0b24+CiAgICAgIDxidXR0b24gY2xhc3M9ImJkLW5sIiBkYXRhLW5hdj0icDQiIGRhdGEtcGFnZT0icDQiIG9uY2xpY2s9ImdvUGFnZShldmVudCkiPkZvciBPcGVyYXRvcnM8L2J1dHRvbj4KICAgICAgPGJ1dHRvbiBjbGFzcz0iYmQtbmwiIGRhdGEtbmF2PSJwNSIgZGF0YS1wYWdlPSJwNSIgb25jbGljaz0iZ29QYWdlKGV2ZW50KSI+RmluYW5jaWFsIFNlcnZpY2VzPC9idXR0b24+CiAgICAgIDxkaXYgY2xhc3M9ImJkLWRyb3AiPgogICAgICAgIDxidXR0b24gaWQ9Im5hdi1jbyIgY2xhc3M9ImJkLW5sIj5Db21wYW55IOKWvjwvYnV0dG9uPgogICAgICAgIDxkaXYgY2xhc3M9ImJkLWRyb3AtbWVudSI+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJiZC1kaSIgZGF0YS1uYXY9InA2IiBkYXRhLXBhZ2U9InA2IiBvbmNsaWNrPSJnb1BhZ2UoZXZlbnQpIj5XaHkgQmxhY2tEaWNlPzwvYnV0dG9uPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYmQtZGkiIGRhdGEtbmF2PSJwNyIgZGF0YS1wYWdlPSJwNyIgb25jbGljaz0iZ29QYWdlKGV2ZW50KSI+TmV3czwvYnV0dG9uPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYmQtZGkiIGRhdGEtbmF2PSJwOCIgZGF0YS1wYWdlPSJwOCIgb25jbGljaz0iZ29QYWdlKGV2ZW50KSI+SW52ZXN0b3JzPC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJiZC1kaSIgZGF0YS1uYXY9InA5IiBkYXRhLXBhZ2U9InA5IiBvbmNsaWNrPSJnb1BhZ2UoZXZlbnQpIj5Db250YWN0PC9idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8YnV0dG9uIGNsYXNzPSJiZC1ubCBiZC1uYXYtY3RhIiBvbmNsaWNrPSJzaG93RGVtbygpIj5UYWxrIHRvIHVzPC9idXR0b24+CiAgICA8L2Rpdj4KICAgIDxidXR0b24gY2xhc3M9ImJkLWhhbSIgb25jbGljaz0idG9nZ2xlTW9iKCkiIGFyaWEtbGFiZWw9Ik1lbnUiPjxzcGFuPjwvc3Bhbj48c3Bhbj48L3NwYW4+PHNwYW4+PC9zcGFuPjwvYnV0dG9uPgogIDwvbmF2PgoKICA8IS0tIE1PQklMRSBOQVYgLS0+CiAgPGRpdiBpZD0ibW9iLW5hdiIgY2xhc3M9ImJkLW1vYiIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+CiAgICA8c3BhbiBjbGFzcz0iYmQtbW9iLXNsIj5QUk9EVUNUUzwvc3Bhbj4KICAgIDxidXR0b24gZGF0YS1wYWdlPSJwMSIgb25jbGljaz0iZ29QYWdlKGV2ZW50KSI+SG9tZTwvYnV0dG9uPgogICAgPGJ1dHRvbiBkYXRhLXBhZ2U9InAyIiBvbmNsaWNrPSJnb1BhZ2UoZXZlbnQpIj5Nb2JpbGUgU0RLPC9idXR0b24+CiAgICA8YnV0dG9uIGRhdGEtcGFnZT0icDEwIiBvbmNsaWNrPSJnb1BhZ2UoZXZlbnQpIj5ETlMgUHJvdGVjdDwvYnV0dG9uPgogICAgPGJ1dHRvbiBkYXRhLXBhZ2U9InAzIiBvbmNsaWNrPSJnb1BhZ2UoZXZlbnQpIj5IYWxvIENQRTwvYnV0dG9uPgogICAgPHNwYW4gY2xhc3M9ImJkLW1vYi1zbCI+QVVESUVOQ0VTPC9zcGFuPgogICAgPGJ1dHRvbiBkYXRhLXBhZ2U9InA0IiBvbmNsaWNrPSJnb1BhZ2UoZXZlbnQpIj5Gb3IgT3BlcmF0b3JzPC9idXR0b24+CiAgICA8YnV0dG9uIGRhdGEtcGFnZT0icDUiIG9uY2xpY2s9ImdvUGFnZShldmVudCkiPkZpbmFuY2lhbCBTZXJ2aWNlczwvYnV0dG9uPgogICAgPHNwYW4gY2xhc3M9ImJkLW1vYi1zbCI+Q09NUEFOWTwvc3Bhbj4KICAgIDxidXR0b24gZGF0YS1wYWdlPSJwNiIgb25jbGljaz0iZ29QYWdlKGV2ZW50KSI+V2h5IEJsYWNrRGljZT88L2J1dHRvbj4KICAgIDxidXR0b24gZGF0YS1wYWdlPSJwNyIgb25jbGljaz0iZ29QYWdlKGV2ZW50KSI+TmV3czwvYnV0dG9uPgogICAgPGJ1dHRvbiBkYXRhLXBhZ2U9InA4IiBvbmNsaWNrPSJnb1BhZ2UoZXZlbnQpIj5JbnZlc3RvcnM8L2J1dHRvbj4KICAgIDxidXR0b24gZGF0YS1wYWdlPSJwOSIgb25jbGljaz0iZ29QYWdlKGV2ZW50KSI+Q29udGFjdDwvYnV0dG9uPgogICAgPGJ1dHRvbiBjbGFzcz0iYmQtbW9iLWN0YSIgb25jbGljaz0ic2hvd0RlbW8oKSI+VGFsayB0byB1czwvYnV0dG9uPgogIDwvZGl2PgoKICA8IS0tIFNDUk9MTCBISU5UIC0tPgogIDxkaXYgY2xhc3M9InNjcm9sbC1oaW50IiBpZD0ic2Nyb2xsLWhpbnQtYnRuIiBvbmNsaWNrPSJzY3JvbGxEb3duKCkiPgogICAgPHNwYW4gY2xhc3M9InNoLWxibCI+U0NST0xMPC9zcGFuPgogICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjIgMTQiIHdpZHRoPSIyMiIgaGVpZ2h0PSIxNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJyZ2JhKDI1NSwyNTUsMjU1LC44KSIgc3Ryb2tlLXdpZHRoPSIyLjUiCiAgICAgIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+CiAgICAgIDxwb2x5bGluZSBwb2ludHM9IjIsMiAxMSwxMSAyMCwyIj48L3BvbHlsaW5lPgogICAgPC9zdmc+CiAgPC9kaXY+CgogIDwhLS0g4pWQ4pWQ4pWQIFAxOiBIT01FIOKVkOKVkOKVkCAtLT4KICA8ZGl2IGlkPSJwZy1wMSIgY2xhc3M9InBnIiBzdHlsZT0iZGlzcGxheTpub25lIj4KICAgIDxzZWN0aW9uIGNsYXNzPSJiZC1oZXJvIj4KICAgICAgPGRpdiBjbGFzcz0iYmQtaGV4LW1vdGlmIj48c3ZnIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAzODAgODI0IgogICAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7Ij4KICAgICAgICAgIDxnIG9wYWNpdHk9IjEiPgogICAgICAgICAgICA8cGF0aCBkPSJNMzEwLjAgMzYuMCBMMzMwLjggNDguMCBMMzMwLjggNzIuMCBMMzEwLjAgODQuMCBMMjg5LjIgNzIuMCBMMjg5LjIgNDguMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTMxMC4wIDM2LjAgTDMxMC4wIDYwLjAgTTMzMC44IDcyLjAgTDMxMC4wIDYwLjAgTTI4OS4yIDcyLjAgTDMxMC4wIDYwLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC45Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTM1MS42IDM2LjAgTDM3Mi40IDQ4LjAgTDM3Mi40IDcyLjAgTDM1MS42IDg0LjAgTDMzMC44IDcyLjAgTDMzMC44IDQ4LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zNTEuNiAzNi4wIEwzNTEuNiA2MC4wIE0zNzIuNCA3Mi4wIEwzNTEuNiA2MC4wIE0zMzAuOCA3Mi4wIEwzNTEuNiA2MC4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNyI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zMzAuOCA3Mi4wIEwzNTEuNiA4NC4wIEwzNTEuNiAxMDguMCBMMzMwLjggMTIwLjAgTDMxMC4wIDEwOC4wIEwzMTAuMCA4NC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMzMwLjggNzIuMCBMMzMwLjggOTYuMCBNMzUxLjYgMTA4LjAgTDMzMC44IDk2LjAgTTMxMC4wIDEwOC4wIEwzMzAuOCA5Ni4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuOCI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zNzIuNCA3Mi4wIEwzOTMuMSA4NC4wIEwzOTMuMSAxMDguMCBMMzcyLjQgMTIwLjAgTDM1MS42IDEwOC4wIEwzNTEuNiA4NC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMzcyLjQgNzIuMCBMMzcyLjQgOTYuMCBNMzkzLjEgMTA4LjAgTDM3Mi40IDk2LjAgTTM1MS42IDEwOC4wIEwzNzIuNCA5Ni4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0yODkuMiA3Mi4wIEwzMTAuMCA4NC4wIEwzMTAuMCAxMDguMCBMMjg5LjIgMTIwLjAgTDI2OC40IDEwOC4wIEwyNjguNCA4NC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMjg5LjIgNzIuMCBMMjg5LjIgOTYuMCBNMzEwLjAgMTA4LjAgTDI4OS4yIDk2LjAgTTI2OC40IDEwOC4wIEwyODkuMiA5Ni4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuMzUiPgogICAgICAgICAgICA8cGF0aCBkPSJNMzEwLjAgMTA4LjAgTDMzMC44IDEyMC4wIEwzMzAuOCAxNDQuMCBMMzEwLjAgMTU2LjAgTDI4OS4yIDE0NC4wIEwyODkuMiAxMjAuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTMxMC4wIDEwOC4wIEwzMTAuMCAxMzIuMCBNMzMwLjggMTQ0LjAgTDMxMC4wIDEzMi4wIE0yODkuMiAxNDQuMCBMMzEwLjAgMTMyLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC40Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTM1MS42IDEwOC4wIEwzNzIuNCAxMjAuMCBMMzcyLjQgMTQ0LjAgTDM1MS42IDE1Ni4wIEwzMzAuOCAxNDQuMCBMMzMwLjggMTIwLjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zNTEuNiAxMDguMCBMMzUxLjYgMTMyLjAgTTM3Mi40IDE0NC4wIEwzNTEuNiAxMzIuMCBNMzMwLjggMTQ0LjAgTDM1MS42IDEzMi4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNTUiPgogICAgICAgICAgICA8cGF0aCBkPSJNNDEzLjkgNzIuMCBMNDM0LjcgODQuMCBMNDM0LjcgMTA4LjAgTDQxMy45IDEyMC4wIEwzOTMuMSAxMDguMCBMMzkzLjEgODQuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTQxMy45IDcyLjAgTDQxMy45IDk2LjAgTTQzNC43IDEwOC4wIEw0MTMuOSA5Ni4wIE0zOTMuMSAxMDguMCBMNDEzLjkgOTYuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjU1Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTgwLjAgMzQ2LjAgTDEwMC44IDM1OC4wIEwxMDAuOCAzODIuMCBMODAuMCAzOTQuMCBMNTkuMiAzODIuMCBMNTkuMiAzNTguMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTgwLjAgMzQ2LjAgTDgwLjAgMzcwLjAgTTEwMC44IDM4Mi4wIEw4MC4wIDM3MC4wIE01OS4yIDM4Mi4wIEw4MC4wIDM3MC4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuMzUiPgogICAgICAgICAgICA8cGF0aCBkPSJNMTIxLjYgMzQ2LjAgTDE0Mi40IDM1OC4wIEwxNDIuNCAzODIuMCBMMTIxLjYgMzk0LjAgTDEwMC44IDM4Mi4wIEwxMDAuOCAzNTguMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTEyMS42IDM0Ni4wIEwxMjEuNiAzNzAuMCBNMTQyLjQgMzgyLjAgTDEyMS42IDM3MC4wIE0xMDAuOCAzODIuMCBMMTIxLjYgMzcwLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC40NSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMDAuOCAzODIuMCBMMTIxLjYgMzk0LjAgTDEyMS42IDQxOC4wIEwxMDAuOCA0MzAuMCBMODAuMCA0MTguMCBMODAuMCAzOTQuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTEwMC44IDM4Mi4wIEwxMDAuOCA0MDYuMCBNMTIxLjYgNDE4LjAgTDEwMC44IDQwNi4wIE04MC4wIDQxOC4wIEwxMDAuOCA0MDYuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjM1Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTE0Mi40IDM4Mi4wIEwxNjMuMSAzOTQuMCBMMTYzLjEgNDE4LjAgTDE0Mi40IDQzMC4wIEwxMjEuNiA0MTguMCBMMTIxLjYgMzk0LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNDIuNCAzODIuMCBMMTQyLjQgNDA2LjAgTTE2My4xIDQxOC4wIEwxNDIuNCA0MDYuMCBNMTIxLjYgNDE4LjAgTDE0Mi40IDQwNi4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuMjUiPgogICAgICAgICAgICA8cGF0aCBkPSJNNTkuMiAzODIuMCBMODAuMCAzOTQuMCBMODAuMCA0MTguMCBMNTkuMiA0MzAuMCBMMzguNCA0MTguMCBMMzguNCAzOTQuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTU5LjIgMzgyLjAgTDU5LjIgNDA2LjAgTTgwLjAgNDE4LjAgTDU5LjIgNDA2LjAgTTM4LjQgNDE4LjAgTDU5LjIgNDA2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC4zIj4KICAgICAgICAgICAgPHBhdGggZD0iTTE2My4xIDM0Ni4wIEwxODMuOSAzNTguMCBMMTgzLjkgMzgyLjAgTDE2My4xIDM5NC4wIEwxNDIuNCAzODIuMCBMMTQyLjQgMzU4LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNjMuMSAzNDYuMCBMMTYzLjEgMzcwLjAgTTE4My45IDM4Mi4wIEwxNjMuMSAzNzAuMCBNMTQyLjQgMzgyLjAgTDE2My4xIDM3MC4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuODUiPgogICAgICAgICAgICA8cGF0aCBkPSJNODAuMCA2MjYuMCBMMTAwLjggNjM4LjAgTDEwMC44IDY2Mi4wIEw4MC4wIDY3NC4wIEw1OS4yIDY2Mi4wIEw1OS4yIDYzOC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNODAuMCA2MjYuMCBMODAuMCA2NTAuMCBNMTAwLjggNjYyLjAgTDgwLjAgNjUwLjAgTTU5LjIgNjYyLjAgTDgwLjAgNjUwLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC43Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTEyMS42IDYyNi4wIEwxNDIuNCA2MzguMCBMMTQyLjQgNjYyLjAgTDEyMS42IDY3NC4wIEwxMDAuOCA2NjIuMCBMMTAwLjggNjM4LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMjEuNiA2MjYuMCBMMTIxLjYgNjUwLjAgTTE0Mi40IDY2Mi4wIEwxMjEuNiA2NTAuMCBNMTAwLjggNjYyLjAgTDEyMS42IDY1MC4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNTUiPgogICAgICAgICAgICA8cGF0aCBkPSJNMTAwLjggNjYyLjAgTDEyMS42IDY3NC4wIEwxMjEuNiA2OTguMCBMMTAwLjggNzEwLjAgTDgwLjAgNjk4LjAgTDgwLjAgNjc0LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMDAuOCA2NjIuMCBMMTAwLjggNjg2LjAgTTEyMS42IDY5OC4wIEwxMDAuOCA2ODYuMCBNODAuMCA2OTguMCBMMTAwLjggNjg2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC42NSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNDIuNCA2NjIuMCBMMTYzLjEgNjc0LjAgTDE2My4xIDY5OC4wIEwxNDIuNCA3MTAuMCBMMTIxLjYgNjk4LjAgTDEyMS42IDY3NC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMTQyLjQgNjYyLjAgTDE0Mi40IDY4Ni4wIE0xNjMuMSA2OTguMCBMMTQyLjQgNjg2LjAgTTEyMS42IDY5OC4wIEwxNDIuNCA2ODYuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjYiPgogICAgICAgICAgICA8cGF0aCBkPSJNMTYzLjEgNjI2LjAgTDE4My45IDYzOC4wIEwxODMuOSA2NjIuMCBMMTYzLjEgNjc0LjAgTDE0Mi40IDY2Mi4wIEwxNDIuNCA2MzguMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTE2My4xIDYyNi4wIEwxNjMuMSA2NTAuMCBNMTgzLjkgNjYyLjAgTDE2My4xIDY1MC4wIE0xNDIuNCA2NjIuMCBMMTYzLjEgNjUwLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC40Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTU5LjIgNjYyLjAgTDgwLjAgNjc0LjAgTDgwLjAgNjk4LjAgTDU5LjIgNzEwLjAgTDM4LjQgNjk4LjAgTDM4LjQgNjc0LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik01OS4yIDY2Mi4wIEw1OS4yIDY4Ni4wIE04MC4wIDY5OC4wIEw1OS4yIDY4Ni4wIE0zOC40IDY5OC4wIEw1OS4yIDY4Ni4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik04MC4wIDY5OC4wIEwxMDAuOCA3MTAuMCBMMTAwLjggNzM0LjAgTDgwLjAgNzQ2LjAgTDU5LjIgNzM0LjAgTDU5LjIgNzEwLjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik04MC4wIDY5OC4wIEw4MC4wIDcyMi4wIE0xMDAuOCA3MzQuMCBMODAuMCA3MjIuMCBNNTkuMiA3MzQuMCBMODAuMCA3MjIuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjQiPgogICAgICAgICAgICA8cGF0aCBkPSJNMTIxLjYgNjk4LjAgTDE0Mi40IDcxMC4wIEwxNDIuNCA3MzQuMCBMMTIxLjYgNzQ2LjAgTDEwMC44IDczNC4wIEwxMDAuOCA3MTAuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTEyMS42IDY5OC4wIEwxMjEuNiA3MjIuMCBNMTQyLjQgNzM0LjAgTDEyMS42IDcyMi4wIE0xMDAuOCA3MzQuMCBMMTIxLjYgNzIyLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC41Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTE4My45IDY2Mi4wIEwyMDQuNyA2NzQuMCBMMjA0LjcgNjk4LjAgTDE4My45IDcxMC4wIEwxNjMuMSA2OTguMCBMMTYzLjEgNjc0LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xODMuOSA2NjIuMCBMMTgzLjkgNjg2LjAgTTIwNC43IDY5OC4wIEwxODMuOSA2ODYuMCBNMTYzLjEgNjk4LjAgTDE4My45IDY4Ni4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuMzUiPgogICAgICAgICAgICA8cGF0aCBkPSJNMTYzLjEgNjk4LjAgTDE4My45IDcxMC4wIEwxODMuOSA3MzQuMCBMMTYzLjEgNzQ2LjAgTDE0Mi40IDczNC4wIEwxNDIuNCA3MTAuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTE2My4xIDY5OC4wIEwxNjMuMSA3MjIuMCBNMTgzLjkgNzM0LjAgTDE2My4xIDcyMi4wIE0xNDIuNCA3MzQuMCBMMTYzLjEgNzIyLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGNpcmNsZSBjeD0iMzEwLjAiIGN5PSIzNi4wIiByPSIyLjYiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIxIiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iMzUxLjYiIGN5PSIzNi4wIiByPSIyLjYiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjkiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIzNzIuNCIgY3k9IjcyLjAiIHI9IjIuNiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuOCIgLz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjQxMy45IiBjeT0iNzIuMCIgcj0iMi42IiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC41NSIgLz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjgwLjAiIGN5PSIzNDYuMCIgcj0iMi42IiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC41NSIgLz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjE0Mi40IiBjeT0iMzgyLjAiIHI9IjIuNiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuMzUiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSI4MC4wIiBjeT0iNjI2LjAiIHI9IjIuNiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuODUiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIxMjEuNiIgY3k9IjYyNi4wIiByPSIyLjYiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjciIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIxNDIuNCIgY3k9IjY2Mi4wIiByPSIyLjYiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjY1IiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iMTYzLjEiIGN5PSI2MjYuMCIgcj0iMi42IiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC42IiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iMTIxLjYiIGN5PSI2OTguMCIgcj0iMi42IiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC40IiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iMzMwLjgiIGN5PSI0OC4wIiByPSIyLjIiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjcwIiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iMzcyLjQiIGN5PSI0OC4wIiByPSIyLjIiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjYzIiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iMzkzLjEiIGN5PSI4NC4wIiByPSIyLjIiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjU2IiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iNDM0LjciIGN5PSI4NC4wIiByPSIyLjIiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjM5IiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iMTAwLjgiIGN5PSIzNTguMCIgcj0iMi4yIiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC4zOSIgLz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjE2My4xIiBjeT0iMzk0LjAiIHI9IjIuMiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuMjQiIC8+CiAgICAgICAgPC9zdmc+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImJkLWhlcm8tZ2wiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJiZC1oZXJvLWdyIj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iYmQtaGVyby1pbiI+CiAgICAgICAgPGRpdj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJleSBsdCI+QkxBQ0tESUNFIENZQkVSPC9zcGFuPgogICAgICAgICAgPGgxIGNsYXNzPSJoMSI+Q3liZXIgZGVmZW5jZTxicj5hdCBuZXR3b3JrIDxlbT5zY2FsZS48L2VtPjwvaDE+CiAgICAgICAgICA8cCBjbGFzcz0iaGVyby1zdWIiPlRocmVlIGRlcGxveW1lbnQgdGllcnMgZnJvbSBsaWdodHdlaWdodCBETlMgdG8gZnVsbCBjYXJyaWVyLWdyYWRlIGludGVsbGlnZW5jZSDigJQgc2hhcmluZwogICAgICAgICAgICBvbmUgdW5kZXJseWluZyBBSSBlbmdpbmUuIDxzdHJvbmc+U3RhcnQgd2hlcmUgeW91ciBpbmZyYXN0cnVjdHVyZSBpcy4gU2NhbGUgd2hlbiB5b3UncmUgcmVhZHkuPC9zdHJvbmc+PC9wPgogICAgICAgICAgPGRpdiBjbGFzcz0iYnRuLXJvdyI+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0bi1wIiBvbmNsaWNrPSJzaG93RGVtbygpIj5SZXF1ZXN0IGEgZGVtb25zdHJhdGlvbjwvYnV0dG9uPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4tZyIgZGF0YS1wYWdlPSJwNiIgb25jbGljaz0iZ29QYWdlKGV2ZW50KSI+RXhwbG9yZSBwbGF0Zm9ybTwvYnV0dG9uPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImJkLWZlZWQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmZWVkLWhkIj48c3BhbiBjbGFzcz0iZmVlZC10aXRsZSI+TkVUV09SSyBJTlRFTExJR0VOQ0UgTElWRTwvc3Bhbj48c3BhbiBjbGFzcz0ibGl2ZS1iYWRnZSI+PHNwYW4KICAgICAgICAgICAgICAgICAgY2xhc3M9ImxpdmUtZG90Ij48L3NwYW4+TElWRTwvc3Bhbj48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmVlZC1ib2R5Ij4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmZWVkLXJvdyI+PHNwYW4gY2xhc3M9ImZlZWQtbGJsIj5ETlMgZXhmaWx0cmF0aW9uLCBJb1QgZGV2aWNlLCBTdWJzY3JpYmVyICM0NDcxODIxPC9zcGFuPjxzcGFuCiAgICAgICAgICAgICAgICAgIGNsYXNzPSJmZWVkLXJpc2sgaCI+SElHSDwvc3Bhbj48c3BhbiBjbGFzcz0iZmVlZC1iZGcgYmxvY2tlZCI+QkxPQ0tFRDwvc3Bhbj48L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmZWVkLXJvdyI+PHNwYW4gY2xhc3M9ImZlZWQtbGJsIj5CZWhhdmlvdXJhbCBhbm9tYWx5IG5ldyBkZXZpY2UsIDNhbSB0cmFmZmljIHNwaWtlPC9zcGFuPjxzcGFuCiAgICAgICAgICAgICAgICAgIGNsYXNzPSJmZWVkLXJpc2sgbSI+TUVEPC9zcGFuPjxzcGFuIGNsYXNzPSJmZWVkLWJkZyBtb24iPk1PTklUT1JJTkc8L3NwYW4+PC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmVlZC1yb3ciPjxzcGFuIGNsYXNzPSJmZWVkLWxibCI+QzIgY2FsbGJhY2sgYXR0ZW1wdCwgWmVyb0RheSB2YXJpYW50IGRldGVjdGVkPC9zcGFuPjxzcGFuCiAgICAgICAgICAgICAgICAgIGNsYXNzPSJmZWVkLXJpc2sgaCI+SElHSDwvc3Bhbj48c3BhbiBjbGFzcz0iZmVlZC1iZGcgYmxvY2tlZCI+TkVVVFJBTElTRUQ8L3NwYW4+PC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmVlZC1yb3ciPjxzcGFuIGNsYXNzPSJmZWVkLWxibCI+UmVtb3RlIGFjY2VzcyBhcHAgYWN0aXZlIGR1cmluZyBiYW5raW5nIHNlc3Npb248L3NwYW4+PHNwYW4KICAgICAgICAgICAgICAgICAgY2xhc3M9ImZlZWQtcmlzayBoIj5ISUdIPC9zcGFuPjxzcGFuIGNsYXNzPSJmZWVkLWJkZyBibG9ja2VkIj5CTE9DS0VEPC9zcGFuPjwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZlZWQtcm93Ij48c3BhbiBjbGFzcz0iZmVlZC1sYmwiPlN0YW5kYXJkIHNlc3Npb24sIGRldmljZSBpbnRlZ3JpdHkgY2xlYXI8L3NwYW4+PHNwYW4KICAgICAgICAgICAgICAgICAgY2xhc3M9ImZlZWQtcmlzayBsIj5MT1c8L3NwYW4+PHNwYW4gY2xhc3M9ImZlZWQtYmRnIGNsZWFyIj5DTEVBUjwvc3Bhbj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L3NlY3Rpb24+CgogICAgPGRpdiBjbGFzcz0idHJ1c3QtYmFyIj4KICAgICAgPGRpdiBjbGFzcz0idHJ1c3QtaW4iPgogICAgICAgIDxzcGFuIGNsYXNzPSJ0cnVzdC1sYmwiPlBBVEVOVFM8L3NwYW4+CiAgICAgICAgPGRpdiBjbGFzcz0idHJ1c3QtaXRlbXMiPgogICAgICAgICAgPHNwYW4gY2xhc3M9InRydXN0LWl0ZW0iPkVQMzIzMTE1M0IxPC9zcGFuPgogICAgICAgICAgPHNwYW4gY2xhc3M9InRydXN0LWl0ZW0iPkdCMjUzMzEwMTwvc3Bhbj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0cnVzdC1pdGVtIj5BVTIwMTUzNTkxODI8L3NwYW4+CiAgICAgICAgICA8c3BhbiBjbGFzcz0idHJ1c3QtaXRlbSBoaSIgc3R5bGU9ImJvcmRlci1sZWZ0OjFweCBzb2xpZCB2YXIoLS1iZHIpO3BhZGRpbmctbGVmdDozMnB4OyI+VHJ1c3RlZCBieSBUaWVyLTEKICAgICAgICAgICAgT3BlcmF0b3JzICZhbXA7IEZpbmFuY2lhbCBJbnN0aXR1dGlvbnM8L3NwYW4+CiAgICAgICAgICA8c3BhbiBjbGFzcz0idHJ1c3QtaXRlbSBoaSI+TklTMiBBbGlnbmVkPC9zcGFuPgogICAgICAgICAgPHNwYW4gY2xhc3M9InRydXN0LWl0ZW0gaGkiPlVLIEZyYXVkIFN0cmF0ZWd5IDIwMjbigJMyMDI5PC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxzZWN0aW9uIGNsYXNzPSJiZC1zZWN0IHQiIHN0eWxlPSJiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjAxMik7Ij4KICAgICAgPGRpdiBjbGFzcz0iYmQtc2kiPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3QtaGQiPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImV5Ij5USFJFRSBERVBMT1lNRU5UIFRJRVJTPC9zcGFuPgogICAgICAgICAgPGgyIGNsYXNzPSJoMiI+VGhlIHNhbWUgaW50ZWxsaWdlbmNlIGVuZ2luZS4gPGVtPlRocmVlIHBhdGhzIHRvIGl0LjwvZW0+PC9oMj4KICAgICAgICAgIDxwPkV2ZXJ5IHRpZXIgc2hhcmVzIEJsYWNrRGljZSBJUSDigJQgdGhlIHNhbWUgZmVkZXJhdGVkIEFJIGVuZ2luZSDigJQgYW5kIHVwZ3JhZGVzIHdpdGhvdXQgcmUtcGxhdGZvcm1pbmcuPC9wPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InRpZXItbGlzdCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aWVyLXJvdyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpZXItYmFkZ2UiPgogICAgICAgICAgICAgIDxkaXYgc3R5bGU9IndpZHRoOjI4cHg7aGVpZ2h0OjNweDtiYWNrZ3JvdW5kOnZhcigtLWF4KTttYXJnaW4tYm90dG9tOjE0cHg7Ij48L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aWVyLW4iPlRJRVIgMDE8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aWVyLW5tIj5Nb2JpbGUgU0RLPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGllci10ZyI+RklOQU5DSUFMIFNFUlZJQ0VTPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aWVyLWJvZHkiPgogICAgICAgICAgICAgIDxoMz5TZWN1cml0eSBhbmQgZnJhdWQgc2lnbmFscyBlbWJlZGRlZCBpbnRvIHlvdXIgYXBwbGljYXRpb248L2gzPgogICAgICAgICAgICAgIDxwPlJlYWwtdGltZSBiZWhhdmlvdXJhbCBpbnRlbGxpZ2VuY2UsIHNlc3Npb24gcmlzayBzY29yaW5nLCBzY2FtIGRldGVjdGlvbiBhbmQgZGV2aWNlIGludGVncml0eSBzaWduYWxzLAogICAgICAgICAgICAgICAgZGVsaXZlcmVkIHZpYSBBUEkgZGlyZWN0bHkgaW50byB5b3VyIGV4aXN0aW5nIG1vYmlsZSBhcHAuIE5vIGluZnJhc3RydWN0dXJlIG93bmVyc2hpcC4gTm8gc3Vic2NyaWJlcgogICAgICAgICAgICAgICAgZnJpY3Rpb24uPC9wPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpZXItdGFncyI+PHNwYW4gY2xhc3M9InRpZXItdGFnaSI+RmluYW5jaWFsIHNlcnZpY2VzPC9zcGFuPjxzcGFuIGNsYXNzPSJ0aWVyLXRhZ2kiPlJldGFpbAogICAgICAgICAgICAgICAgICBiYW5rczwvc3Bhbj48c3BhbiBjbGFzcz0idGllci10YWdpIj5Nb2JpbGUgb3BlcmF0b3JzPC9zcGFuPjxzcGFuIGNsYXNzPSJ0aWVyLXRhZ2kiPkZpbnRlY2g8L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aWVyLWN0YSI+PGJ1dHRvbiBjbGFzcz0iYnRuLXAgYnRuLXNtIiBkYXRhLXBhZ2U9InAyIiBvbmNsaWNrPSJnb1BhZ2UoZXZlbnQpIj5Nb2JpbGUgU0RLCiAgICAgICAgICAgICAgICDihpI8L2J1dHRvbj48L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0idGllci1yb3ciPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aWVyLWJhZGdlIj4KICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJ3aWR0aDoyOHB4O2hlaWdodDozcHg7YmFja2dyb3VuZDp2YXIoLS1heCk7bWFyZ2luLWJvdHRvbToxNHB4OyI+PC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGllci1uIj5USUVSIDAyPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGllci1ubSI+RE5TIFByb3RlY3Q8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aWVyLXRnIj5JU1BzIC8gTVZOT3M8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpZXItYm9keSI+CiAgICAgICAgICAgICAgPGgzPlJhcGlkLWRlcGxveSBETlMgc2VjdXJpdHkgd2l0aCB6ZXJvIGhhcmR3YXJlIGRlcGVuZGVuY3k8L2gzPgogICAgICAgICAgICAgIDxwPk5ldHdvcmstbGV2ZWwgZG9tYWluIGJsb2NraW5nIGFjcm9zcyB5b3VyIGZ1bGwgc3Vic2NyaWJlciBiYXNlIOKAlCBpbmNsdWRpbmcgSW9UIGRldmljZXMg4oCUIHBvd2VyZWQgYnkgdGhlCiAgICAgICAgICAgICAgICBzYW1lIEJsYWNrRGljZSBJUSB0aHJlYXQgaW50ZWxsaWdlbmNlIGFzIHRoZSBmdWxsIENQRSBwbGF0Zm9ybS4gRGVwbG95YWJsZSBpbiBkYXlzLjwvcD4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aWVyLXRhZ3MiPjxzcGFuIGNsYXNzPSJ0aWVyLXRhZ2kiPklTUHM8L3NwYW4+PHNwYW4gY2xhc3M9InRpZXItdGFnaSI+TVZOT3M8L3NwYW4+PHNwYW4KICAgICAgICAgICAgICAgICAgY2xhc3M9InRpZXItdGFnaSI+UmVnaW9uYWwgdGVsY29zPC9zcGFuPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGllci1jdGEiPjxidXR0b24gY2xhc3M9ImJ0bi1wIGJ0bi1zbSIgZGF0YS1wYWdlPSJwMTAiIG9uY2xpY2s9ImdvUGFnZShldmVudCkiPkROUyBQcm90ZWN0CiAgICAgICAgICAgICAgICDihpI8L2J1dHRvbj48L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0idGllci1yb3ciPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aWVyLWJhZGdlIj4KICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJ3aWR0aDoyOHB4O2hlaWdodDozcHg7YmFja2dyb3VuZDp2YXIoLS1heCk7bWFyZ2luLWJvdHRvbToxNHB4OyI+PC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGllci1uIj5USUVSIDAzPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGllci1ubSI+SGFsbyBDUEU8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aWVyLXRnIj5USUVSLTEgT1BFUkFUT1JTPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aWVyLWJvZHkiPgogICAgICAgICAgICAgIDxoMz5GdWxsIGNhcnJpZXItZ3JhZGUgY3liZXIgZGVmZW5jZSBlbWJlZGRlZCBhdCB0aGUgbmV0d29yayBlZGdlPC9oMz4KICAgICAgICAgICAgICA8cD5BIGxpZ2h0d2VpZ2h0IGZpcm13YXJlIGFnZW50IGVtYmVkZGVkIGRpcmVjdGx5IGludG8geW91ciBleGlzdGluZyBDUEUgdmlhIFRSLTA2OS8zNjkgb3IgY29udGFpbmVyaXNlZAogICAgICAgICAgICAgICAgZGVwbG95bWVudC4gRnVsbCBEUEksIGFsbC1kZXZpY2UgSW9UIHByb3RlY3Rpb24sIHplcm8tZGF5IGJlaGF2aW91cmFsIGRldGVjdGlvbi4gWmVybyBoYXJkd2FyZSBjaGFuZ2VzLgogICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aWVyLXRhZ3MiPjxzcGFuIGNsYXNzPSJ0aWVyLXRhZ2kiPlRpZXItMSBvcGVyYXRvcnM8L3NwYW4+PHNwYW4gY2xhc3M9InRpZXItdGFnaSI+TmF0aW9uYWwKICAgICAgICAgICAgICAgICAgSVNQczwvc3Bhbj48c3BhbiBjbGFzcz0idGllci10YWdpIj5DUEUgdmVuZG9yczwvc3Bhbj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpZXItY3RhIj48YnV0dG9uIGNsYXNzPSJidG4tcCBidG4tc20iIGRhdGEtcGFnZT0icDMiIG9uY2xpY2s9ImdvUGFnZShldmVudCkiPkhhbG8gQ1BFCiAgICAgICAgICAgICAgICDihpI8L2J1dHRvbj48L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KCiAgICA8ZGl2IGNsYXNzPSJwbS1zdHJpcCI+CiAgICAgIDxkaXYgY2xhc3M9InBtLWluIj4KICAgICAgICA8c3BhbiBjbGFzcz0iZXkiPkhPVyBFQUNIIFRJRVIgTUFQUyBUTyBUSEUgVEhSRUUgUElMTEFSUzwvc3Bhbj4KICAgICAgICA8ZGl2IGNsYXNzPSJwbS1yb3ciPgogICAgICAgICAgPGRpdiBjbGFzcz0icG0tY2VsbCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InBtLWRvdCI+PC9kaXY+CiAgICAgICAgICAgIDxkaXY+PHN0cm9uZz5Db25maWRlbmNlIHdoaWxlIGNvbm5lY3RlZDwvc3Ryb25nPjxzcGFuPlNESzogc3Vic2NyaWJlci1sZXZlbCBmcmF1ZCBwcmV2ZW50aW9uIGJ1aWxkcyB0cnVzdCBhdAogICAgICAgICAgICAgICAgZXZlcnkgaW50ZXJhY3Rpb24g4oCUIGJhbmtpbmcsIHBheW1lbnRzLCBjb21tdW5pY2F0aW9ucy48L3NwYW4+PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InBtLWNlbGwiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwbS1kb3QiPjwvZGl2PgogICAgICAgICAgICA8ZGl2PjxzdHJvbmc+U2VjdXJpdHkgb2YgZXhwZXJpZW5jZTwvc3Ryb25nPjxzcGFuPkROUzogdW5pbnRlcnJ1cHRlZCBkaWdpdGFsIGV4cGVyaWVuY2UgdGhyb3VnaCBkb21haW4tbGV2ZWwKICAgICAgICAgICAgICAgIGJsb2NraW5nIGFjcm9zcyBhbGwgZGV2aWNlcyB3aXRoIG5vIHN1YnNjcmliZXIgZnJpY3Rpb24uPC9zcGFuPjwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJwbS1jZWxsIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icG0tZG90Ij48L2Rpdj4KICAgICAgICAgICAgPGRpdj48c3Ryb25nPlNlY3VyaXR5IG9mIGVjb25vbWljczwvc3Ryb25nPjxzcGFuPkNQRTogZnVsbCBiZWhhdmlvdXJhbCBpbnRlbGxpZ2VuY2UgcmVkdWNlcyBzdXBwb3J0IGNvc3QsCiAgICAgICAgICAgICAgICBjaHVybiBhbmQgcmVndWxhdG9yeSBleHBvc3VyZSB3aGlsZSBtb25ldGlzaW5nIHRoZSByb3V0ZXIgZXN0YXRlLjwvc3Bhbj48L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDwhLS0gUkVUSU5BIERBU0hCT0FSRCBTRUNUSU9OIC0tPgogICAgPHNlY3Rpb24gY2xhc3M9ImJkLXNlY3QgdCI+CiAgICAgIDxkaXYgY2xhc3M9ImJkLXNpIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0d28tY29sIGMiIHN0eWxlPSJtYXJnaW4tYm90dG9tOjUycHg7Ij4KICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJleSBheCI+QkxBQ0tESUNFIFJFVElOQeKEojwvc3Bhbj4KICAgICAgICAgICAgPGgyIGNsYXNzPSJoMiI+Q2Fycmllci1ncmFkZSBpbnRlbGxpZ2VuY2UuIDxlbT5CdWlsdCBhdCBvcGVyYXRvciBzY2FsZS48L2VtPjwvaDI+CiAgICAgICAgICAgIDxwIHN0eWxlPSJmb250LXNpemU6MTZweDtjb2xvcjp2YXIoLS10Mik7bGluZS1oZWlnaHQ6MS43NTttYXJnaW4tdG9wOjE2cHg7Ij5CbGFja0RpY2UgUmV0aW5hIHRyYW5zbGF0ZXMgcmF3CiAgICAgICAgICAgICAgbmV0d29yayB0ZWxlbWV0cnkgaW50byBhY3Rpb25hYmxlIGJ1c2luZXNzIGludGVsbGlnZW5jZSDigJQgcmVhbC10aW1lIHRocmVhdCB2aXNpYmlsaXR5LCBRb0UgbGlua2FnZSwgY2h1cm4KICAgICAgICAgICAgICBpbmRpY2F0b3JzLCBhbmQgcG9saWN5IGNvbnRyb2wuIEJ1aWx0IGZvciBvcGVyYXRvcnMsIG5vdCBhZGFwdGVkIGZyb20gZW50ZXJwcmlzZSB0b29scy48L3A+CiAgICAgICAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6ZmxleDtnYXA6NDBweDttYXJnaW4tdG9wOjI4cHg7Ij4KICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjM2cHg7Zm9udC13ZWlnaHQ6ODAwO2NvbG9yOnZhcigtLWF4KTtsaW5lLWhlaWdodDoxOyIgZGF0YS1jb3VudD0iNSIKICAgICAgICAgICAgICAgICAgZGF0YS1zdWZmaXg9IiI+NTwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjEzcHg7Y29sb3I6dmFyKC0tdDIpO21hcmdpbi10b3A6NnB4OyI+RGF0YSBsYXllcnMgdmlzaWJsZSBzaW11bHRhbmVvdXNseTwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MzZweDtmb250LXdlaWdodDo4MDA7Y29sb3I6dmFyKC0tYXgyKTtsaW5lLWhlaWdodDoxOyI+Jmx0OzJtczwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjEzcHg7Y29sb3I6dmFyKC0tdDIpO21hcmdpbi10b3A6NnB4OyI+RWRnZSBlbmZvcmNlbWVudCBsYXRlbmN5PC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWNzLWdyaWQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYyI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWMtdmFsIGF4IiBkYXRhLWNvdW50PSIwIiBkYXRhLXN1ZmZpeD0iIj4wPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWMtbGJsIj5IQVJEV0FSRSBDSEFOR0VTPGJyPlJFUVVJUkVEPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYyI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWMtdmFsIj4xMDAlPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWMtbGJsIj5Jb1QgREVWSUNFIENPVkVSQUdFPGJyPk5PIENMSUVOVCBTT0ZUV0FSRTwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWMiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1jLXZhbCBheCIgZGF0YS1jb3VudD0iMjUiIGRhdGEtc3VmZml4PSIrIj4yNSs8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYy1sYmwiPkNPTk5FQ1RFRCBERVZJQ0VTPGJyPlBFUiBIT1VTRUhPTEQ8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1jIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYy12YWwiIHN0eWxlPSJmb250LXNpemU6MzJweDsiPiQyVDwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1jLWxibCI+VE9UQUwgQUREUkVTU0FCTEU8YnI+TUFSS0VUPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZGFzaC1mcmFtZSI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkYXNoLWJhciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRhc2gtZG90cyI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZC1kb3QiIHN0eWxlPSJiYWNrZ3JvdW5kOiNGODcxNzE7Ij48L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkLWRvdCIgc3R5bGU9ImJhY2tncm91bmQ6I0ZCQkYyNDsiPjwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImQtZG90IiBzdHlsZT0iYmFja2dyb3VuZDojMzREMzk5OyI+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGFzaC10aXRsZSI+QkxBQ0tESUNFIFJFVElOQeKEoiDigJQgTkVUV09SSyBJTlRFTExJR0VOQ0UgQ09OU09MRSDigJQgT1BFUkFUT1IgVklFVzwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZGFzaC1ib2R5Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGFzaC1zaWRlIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkcy1sYmwiPk5FVFdPUksgU1RBVFVTPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGFzaC1tZXRyaWMiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZG0tdmFsIiBzdHlsZT0iY29sb3I6dmFyKC0tYXgpOyI+Mi40TTwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZG0tbGJsIj5BQ1RJVkUgU1VCU0NSSUJFUlM8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRtLXRyZW5kIiBzdHlsZT0iY29sb3I6dmFyKC0tYXgpOyI+4oaRIDMuMiUgdGhpcyBtb250aDwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRhc2gtbWV0cmljIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRtLXZhbCIgc3R5bGU9ImNvbG9yOiNGODcxNzE7Ij4xNCwzMDI8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRtLWxibCI+VEhSRUFUUyBCTE9DS0VEIFRPREFZPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkbS10cmVuZCIgc3R5bGU9ImNvbG9yOiNGODcxNzE7Ij7ihpEgOCUgdnMgeWVzdGVyZGF5PC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGFzaC1tZXRyaWMiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZG0tdmFsIiBzdHlsZT0iY29sb3I6I0ZCQkYyNDsiPjg0NzwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZG0tbGJsIj5VTkRFUiBNT05JVE9SSU5HPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkbS10cmVuZCIgc3R5bGU9ImNvbG9yOnZhcigtLWF4KTsiPuKGkyAxMiUgdGhpcyBob3VyPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGFzaC1tZXRyaWMiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZG0tdmFsIiBzdHlsZT0iY29sb3I6dmFyKC0tYXgpOyI+OTkuOTclPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkbS1sYmwiPlBMQVRGT1JNIFVQVElNRTwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZG0tdHJlbmQiIHN0eWxlPSJjb2xvcjp2YXIoLS10Myk7Ij4zMC1kYXkgcm9sbGluZzwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGFzaC1tYWluIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkcy1sYmwiPlRIUkVBVCBBQ1RJVklUWSDigJQgTEFTVCAyNCBIT1VSUzwvZGl2PgogICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDUyMCAxNTUiIHN0eWxlPSJ3aWR0aDoxMDAlO2hlaWdodDoxNDBweDsiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPgogICAgICAgICAgICAgICAgPGRlZnM+CiAgICAgICAgICAgICAgICAgIDxsaW5lYXJHcmFkaWVudCBpZD0iYmRnMSIgeDE9IjAiIHkxPSIwIiB4Mj0iMCIgeTI9IjEiPgogICAgICAgICAgICAgICAgICAgIDxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9IiMzQkI1ODYiIHN0b3Atb3BhY2l0eT0iLjIyIiAvPgogICAgICAgICAgICAgICAgICAgIDxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzNCQjU4NiIgc3RvcC1vcGFjaXR5PSIwIiAvPgogICAgICAgICAgICAgICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgICAgICAgICAgICAgPC9kZWZzPgogICAgICAgICAgICAgICAgPGxpbmUgeDE9IjAiIHkxPSIzMSIgeDI9IjUyMCIgeTI9IjMxIiBzdHJva2U9InJnYmEoMjU1LDI1NSwyNTUsLjA1KSIgc3Ryb2tlLXdpZHRoPSIxIiAvPgogICAgICAgICAgICAgICAgPGxpbmUgeDE9IjAiIHkxPSI2MiIgeDI9IjUyMCIgeTI9IjYyIiBzdHJva2U9InJnYmEoMjU1LDI1NSwyNTUsLjA1KSIgc3Ryb2tlLXdpZHRoPSIxIiAvPgogICAgICAgICAgICAgICAgPGxpbmUgeDE9IjAiIHkxPSI5MyIgeDI9IjUyMCIgeTI9IjkzIiBzdHJva2U9InJnYmEoMjU1LDI1NSwyNTUsLjA1KSIgc3Ryb2tlLXdpZHRoPSIxIiAvPgogICAgICAgICAgICAgICAgPGxpbmUgeDE9IjAiIHkxPSIxMjQiIHgyPSI1MjAiIHkyPSIxMjQiIHN0cm9rZT0icmdiYSgyNTUsMjU1LDI1NSwuMDUpIiBzdHJva2Utd2lkdGg9IjEiIC8+CiAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICBkPSJNMCAxMTggQzMwIDk4LDY1IDEwOCw5NSA4MiBDMTIwIDYyLDE1MCA3NCwxODUgNTIgQzIxNSAzNCwyNDggNDYsMjc1IDI0IEMzMDIgOCwzMzIgMTgsMzYyIDYgQzM5MCAtMiw0MjAgMTAsNDU1IDYgQzQ4MCAyLDUwNSA4LDUyMCA0IEw1MjAgMTU1IEwwIDE1NVoiCiAgICAgICAgICAgICAgICAgIGZpbGw9InVybCgjYmRnMSkiIC8+CiAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICBkPSJNMCAxMTggQzMwIDk4LDY1IDEwOCw5NSA4MiBDMTIwIDYyLDE1MCA3NCwxODUgNTIgQzIxNSAzNCwyNDggNDYsMjc1IDI0IEMzMDIgOCwzMzIgMTgsMzYyIDYgQzM5MCAtMiw0MjAgMTAsNDU1IDYgQzQ4MCAyLDUwNSA4LDUyMCA0IgogICAgICAgICAgICAgICAgICBmaWxsPSJub25lIiBzdHJva2U9IiMzQkI1ODYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiAvPgogICAgICAgICAgICAgICAgPHBhdGgKICAgICAgICAgICAgICAgICAgZD0iTTAgMTM2IEM0MCAxMjgsOTUgMTIyLDE0NSAxMTUgQzE5MCAxMDgsMjM1IDEwMiwyNzUgODYgQzMwNSA3MywzMzUgOTgsMzY1IDkwIEMzOTMgODIsNDQ1IDExNiw1MjAgMTEyIgogICAgICAgICAgICAgICAgICBmaWxsPSJub25lIiBzdHJva2U9IiNGODcxNzEiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtZGFzaGFycmF5PSI0IDMiIG9wYWNpdHk9Ii42IiAvPgogICAgICAgICAgICAgICAgPGNpcmNsZSBjeD0iMjc1IiBjeT0iMjQiIHI9IjQiIGZpbGw9IiMzQkI1ODYiIC8+CiAgICAgICAgICAgICAgICA8bGluZSB4MT0iMjc1IiB5MT0iMiIgeDI9IjI3NSIgeTI9IjI0IiBzdHJva2U9IiMzQkI1ODYiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWRhc2hhcnJheT0iMyAzIgogICAgICAgICAgICAgICAgICBvcGFjaXR5PSIuNSIgLz4KICAgICAgICAgICAgICAgIDx0ZXh0IHg9IjI4MCIgeT0iMTAiIGZvbnQtc2l6ZT0iOSIgZm9udC1mYW1pbHk9IklCTSBQbGV4IE1vbm8sbW9ub3NwYWNlIiBmaWxsPSJyZ2JhKDU5LDE4MSwxMzQsLjkpIj5QRUFLCiAgICAgICAgICAgICAgICAgIDIzOjQxPC90ZXh0PgogICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6ZmxleDtnYXA6MjBweDttYXJnaW4tdG9wOjhweDttYXJnaW4tYm90dG9tOjE2cHg7Ij4KICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDsiPgogICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJ3aWR0aDoxNnB4O2hlaWdodDoycHg7YmFja2dyb3VuZDp2YXIoLS1heCk7Ij48L2Rpdj48c3BhbgogICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTBweDtjb2xvcjp2YXIoLS10Myk7Zm9udC1mYW1pbHk6dmFyKC0tZm0pOyI+QUxMIFRIUkVBVFM8L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDsiPgogICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJ3aWR0aDoxNnB4O2hlaWdodDoycHg7YmFja2dyb3VuZDojRjg3MTcxOyI+PC9kaXY+PHNwYW4KICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwcHg7Y29sb3I6dmFyKC0tdDMpO2ZvbnQtZmFtaWx5OnZhcigtLWZtKTsiPkhJR0ggU0VWRVJJVFk8L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkcy1sYmwiPlRIUkVBVCBDQVRFR09SSUVTIOKAlCBUT0RBWTwvZGl2PgogICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDUyMCA2OCIgc3R5bGU9IndpZHRoOjEwMCU7aGVpZ2h0OjY4cHg7IiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIj4KICAgICAgICAgICAgICAgIDxyZWN0IHg9IjQiIHk9IjEyIiB3aWR0aD0iNTYiIGhlaWdodD0iNTYiIGZpbGw9InJnYmEoNTksMTgxLDEzNCwuNDUpIiByeD0iMSIgLz48dGV4dCB4PSI0IiB5PSI5IgogICAgICAgICAgICAgICAgICBmb250LXNpemU9IjgiIGZvbnQtZmFtaWx5PSJJQk0gUGxleCBNb25vLG1vbm9zcGFjZSIgZmlsbD0icmdiYSgyMzIsMjQ0LDI0MywuMzUpIj5ETlMgRVhGPC90ZXh0PgogICAgICAgICAgICAgICAgPHJlY3QgeD0iNzQiIHk9IjI0IiB3aWR0aD0iNTYiIGhlaWdodD0iNDQiIGZpbGw9InJnYmEoNTksMTgxLDEzNCwuMzUpIiByeD0iMSIgLz48dGV4dCB4PSI3NCIgeT0iOSIKICAgICAgICAgICAgICAgICAgZm9udC1zaXplPSI4IiBmb250LWZhbWlseT0iSUJNIFBsZXggTW9ubyxtb25vc3BhY2UiIGZpbGw9InJnYmEoMjMyLDI0NCwyNDMsLjM1KSI+TUFMV0FSRTwvdGV4dD4KICAgICAgICAgICAgICAgIDxyZWN0IHg9IjE0NCIgeT0iMzQiIHdpZHRoPSI1NiIgaGVpZ2h0PSIzNCIgZmlsbD0icmdiYSg1OSwxODEsMTM0LC4zKSIgcng9IjEiIC8+PHRleHQgeD0iMTQ0IiB5PSI5IgogICAgICAgICAgICAgICAgICBmb250LXNpemU9IjgiIGZvbnQtZmFtaWx5PSJJQk0gUGxleCBNb25vLG1vbm9zcGFjZSIgZmlsbD0icmdiYSgyMzIsMjQ0LDI0MywuMzUpIj5CT1RORVQ8L3RleHQ+CiAgICAgICAgICAgICAgICA8cmVjdCB4PSIyMTQiIHk9IjUiIHdpZHRoPSI1NiIgaGVpZ2h0PSI2MyIgZmlsbD0icmdiYSgyNDgsMTEzLDExMywuNDUpIiByeD0iMSIgLz48dGV4dCB4PSIyMTQiIHk9IjkiCiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZT0iOCIgZm9udC1mYW1pbHk9IklCTSBQbGV4IE1vbm8sbW9ub3NwYWNlIiBmaWxsPSJyZ2JhKDI0OCwxMTMsMTEzLC43KSI+QVBQIEZSQVVEPC90ZXh0PgogICAgICAgICAgICAgICAgPHJlY3QgeD0iMjg0IiB5PSIxOCIgd2lkdGg9IjU2IiBoZWlnaHQ9IjUwIiBmaWxsPSJyZ2JhKDI1MSwxOTEsMzYsLjM1KSIgcng9IjEiIC8+PHRleHQgeD0iMjg0IiB5PSI5IgogICAgICAgICAgICAgICAgICBmb250LXNpemU9IjgiIGZvbnQtZmFtaWx5PSJJQk0gUGxleCBNb25vLG1vbm9zcGFjZSIgZmlsbD0icmdiYSgyNTEsMTkxLDM2LC43KSI+UEhJU0hJTkc8L3RleHQ+CiAgICAgICAgICAgICAgICA8cmVjdCB4PSIzNTQiIHk9IjQwIiB3aWR0aD0iNTYiIGhlaWdodD0iMjgiIGZpbGw9InJnYmEoNTksMTgxLDEzNCwuMjUpIiByeD0iMSIgLz48dGV4dCB4PSIzNTQiIHk9IjkiCiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZT0iOCIgZm9udC1mYW1pbHk9IklCTSBQbGV4IE1vbm8sbW9ub3NwYWNlIiBmaWxsPSJyZ2JhKDIzMiwyNDQsMjQzLC4zNSkiPkMyIENBTExTPC90ZXh0PgogICAgICAgICAgICAgICAgPHJlY3QgeD0iNDI0IiB5PSI0NiIgd2lkdGg9IjU2IiBoZWlnaHQ9IjIyIiBmaWxsPSJyZ2JhKDI0MywxMjUsMzAsLjMpIiByeD0iMSIgLz48dGV4dCB4PSI0MjQiIHk9IjkiCiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZT0iOCIgZm9udC1mYW1pbHk9IklCTSBQbGV4IE1vbm8sbW9ub3NwYWNlIiBmaWxsPSJyZ2JhKDI0MywxMjUsMzAsLjcpIj5aRVJPLURBWTwvdGV4dD4KICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRhc2gtcmlnaHQiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRzLWxibCI+TElWRSBUSFJFQVQgRkVFRDwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyLXJvdyI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkci1kb3QiIHN0eWxlPSJiYWNrZ3JvdW5kOiNGODcxNzE7Ij48L2Rpdj48c3BhbiBjbGFzcz0iZHItdHh0Ij5ETlMgZXhmaWx0cmF0aW9uIElvVCBjbHVzdGVyCiAgICAgICAgICAgICAgICAgICM0NDcxPC9zcGFuPjxzcGFuIGNsYXNzPSJkci1iZGciCiAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojRjg3MTcxO2JvcmRlci1jb2xvcjpyZ2JhKDI0OCwxMTMsMTEzLC4zKTtiYWNrZ3JvdW5kOnJnYmEoMjQ4LDExMywxMTMsLjA3KTsiPkhJR0g8L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZHItcm93Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyLWRvdCIgc3R5bGU9ImJhY2tncm91bmQ6I0ZCQkYyNDsiPjwvZGl2PjxzcGFuIGNsYXNzPSJkci10eHQiPkFub21hbHkgc3Vic2NyaWJlcgogICAgICAgICAgICAgICAgICAjODgxMjAzPC9zcGFuPjxzcGFuIGNsYXNzPSJkci1iZGciCiAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojRkJCRjI0O2JvcmRlci1jb2xvcjpyZ2JhKDI1MSwxOTEsMzYsLjMpO2JhY2tncm91bmQ6cmdiYSgyNTEsMTkxLDM2LC4wNyk7Ij5NRUQ8L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZHItcm93Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyLWRvdCIgc3R5bGU9ImJhY2tncm91bmQ6I0Y4NzE3MTsiPjwvZGl2PjxzcGFuIGNsYXNzPSJkci10eHQiPlplcm9EYXkgQzIgY2FsbGJhY2sKICAgICAgICAgICAgICAgICAgYmxvY2tlZDwvc3Bhbj48c3BhbiBjbGFzcz0iZHItYmRnIgogICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6I0Y4NzE3MTtib3JkZXItY29sb3I6cmdiYSgyNDgsMTEzLDExMywuMyk7YmFja2dyb3VuZDpyZ2JhKDI0OCwxMTMsMTEzLC4wNyk7Ij5ISUdIPC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyLXJvdyI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkci1kb3QiIHN0eWxlPSJiYWNrZ3JvdW5kOnZhcigtLWF4KTsiPjwvZGl2PjxzcGFuIGNsYXNzPSJkci10eHQiPlNlc3Npb24gY2xlYXJlZCwgaW50ZWdyaXR5CiAgICAgICAgICAgICAgICAgIE9LPC9zcGFuPjxzcGFuIGNsYXNzPSJkci1iZGciCiAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjp2YXIoLS1heCk7Ym9yZGVyLWNvbG9yOnZhcigtLWF4Yik7YmFja2dyb3VuZDp2YXIoLS1heGQpOyI+TE9XPC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyLXJvdyI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkci1kb3QiIHN0eWxlPSJiYWNrZ3JvdW5kOiNGODcxNzE7Ij48L2Rpdj48c3BhbiBjbGFzcz0iZHItdHh0Ij5BUFAgZnJhdWQgc2lnbmFsIOKAlCByZW1vdGUKICAgICAgICAgICAgICAgICAgYWNjZXNzPC9zcGFuPjxzcGFuIGNsYXNzPSJkci1iZGciCiAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojRjg3MTcxO2JvcmRlci1jb2xvcjpyZ2JhKDI0OCwxMTMsMTEzLC4zKTtiYWNrZ3JvdW5kOnJnYmEoMjQ4LDExMywxMTMsLjA3KTsiPkhJR0g8L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZHItcm93Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyLWRvdCIgc3R5bGU9ImJhY2tncm91bmQ6I0ZCQkYyNDsiPjwvZGl2PjxzcGFuIGNsYXNzPSJkci10eHQiPk5ldyBkb21haW4gcmVnaXN0ZXJlZCwKICAgICAgICAgICAgICAgICAgZmxhZ2dlZDwvc3Bhbj48c3BhbiBjbGFzcz0iZHItYmRnIgogICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6I0ZCQkYyNDtib3JkZXItY29sb3I6cmdiYSgyNTEsMTkxLDM2LC4zKTtiYWNrZ3JvdW5kOnJnYmEoMjUxLDE5MSwzNiwuMDcpOyI+TUVEPC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyLXJvdyI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkci1kb3QiIHN0eWxlPSJiYWNrZ3JvdW5kOiNGODcxNzE7Ij48L2Rpdj48c3BhbiBjbGFzcz0iZHItdHh0Ij5Cb3RuZXQgQzIgbG9va3VwIOKAlCBzbWFydAogICAgICAgICAgICAgICAgICBUVjwvc3Bhbj48c3BhbiBjbGFzcz0iZHItYmRnIgogICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6I0Y4NzE3MTtib3JkZXItY29sb3I6cmdiYSgyNDgsMTEzLDExMywuMyk7YmFja2dyb3VuZDpyZ2JhKDI0OCwxMTMsMTEzLC4wNyk7Ij5ISUdIPC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KCiAgICA8IS0tIFNUQVRTIC0tPgogICAgPHNlY3Rpb24gY2xhc3M9ImJkLXNlY3QgdCIKICAgICAgc3R5bGU9ImJhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMDE4KTtib3JkZXItdG9wOjFweCBzb2xpZCB2YXIoLS1iZHIpO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWJkcik7Ij4KICAgICAgPGRpdiBjbGFzcz0iYmQtc2kiPgogICAgICAgIDxkaXYgY2xhc3M9InN0YXRzLWJhciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0LWNlbGwiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0LXZhbCIgZGF0YS1jb3VudD0iNCIgZGF0YS1zdWZmaXg9IsOXIj40w5c8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdC1sYmwiPlJhbnNvbXdhcmUgYXR0YWNrcyBvbiB0ZWxjb3Mgc2luY2UgMjAyMjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0LWRlc2MiPk9wZXJhdG9ycyBhcmUgZGlyZWN0IHRhcmdldHMgb2YgaW5jcmVhc2luZ2x5IHNvcGhpc3RpY2F0ZWQgYXR0YWNrcyBvbiBjcml0aWNhbAogICAgICAgICAgICAgIGluZnJhc3RydWN0dXJlLjwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0LWNlbGwiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0LXZhbCBhbSI+MiU8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdC1sYmwiPk1heGltdW0gTklTMiBmaW5lIG9mIGdsb2JhbCB0dXJub3ZlcjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0LWRlc2MiPkVVIE5JUzIgaW50cm9kdWNlcyBib2FyZC1sZXZlbCBhY2NvdW50YWJpbGl0eSBhbmQgbWF0ZXJpYWwgZmluYW5jaWFsIHBlbmFsdGllcy48L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdC1jZWxsIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdC12YWwiIGRhdGEtY291bnQ9Ijc2IiBkYXRhLXN1ZmZpeD0iJSI+NzYlPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXQtbGJsIj5PZiBBUFAgZnJhdWQgaW52b2x2ZXMgYSBzY2FtIGNhbGw8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdC1kZXNjIj5UaGUgcGVycGV0cmF0b3IgaXMgdHlwaWNhbGx5IGluIHZvaWNlIG9yIFNNUyBjb250YWN0IHdpdGggdGhlIHZpY3RpbSBhdCB0aGUgbW9tZW50IG9mCiAgICAgICAgICAgICAgZnJhdWQuPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXQtY2VsbCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXQtdmFsIGFtIj4xc3Q8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdC1sYmwiPlllYXIgdGVsZWNvbXMgbmFtZWQgYXMgY3JpdGljYWwgZnJhdWQgY29udHJvbCBwb2ludHM8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdC1kZXNjIj5VSyBGcmF1ZCBTdHJhdGVneSAyMDI24oCTMjAyOSBuYW1lcyB0ZWxlY29tcyBvcGVyYXRvcnMgYXMgY3JpdGljYWwgY29udHJvbCBwb2ludHMgZm9yCiAgICAgICAgICAgICAgdGhlIGZpcnN0IHRpbWUuPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L3NlY3Rpb24+CgogICAgPCEtLSBDT01QQVJFIFRBQkxFIC0tPgogICAgPHNlY3Rpb24gY2xhc3M9ImJkLXNlY3QgdCI+CiAgICAgIDxkaXYgY2xhc3M9ImJkLXNpIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0LWhkIj4KICAgICAgICAgIDxoMiBjbGFzcz0iaDIiPkhvdyB0aGUgdGllcnMgY29tcGFyZTwvaDI+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPHRhYmxlIGNsYXNzPSJjdGJsIj4KICAgICAgICAgIDx0aGVhZD4KICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgIDx0aD5DYXBhYmlsaXR5PC90aD4KICAgICAgICAgICAgICA8dGggY2xhc3M9ImhsIj5NT0JJTEUgU0RLPC90aD4KICAgICAgICAgICAgICA8dGggY2xhc3M9ImhsIj5ETlMgUFJPVEVDVDwvdGg+CiAgICAgICAgICAgICAgPHRoIGNsYXNzPSJobCI+SEFMTyBDUEU8L3RoPgogICAgICAgICAgICA8L3RyPgogICAgICAgICAgPC90aGVhZD4KICAgICAgICAgIDx0Ym9keT4KICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgIDx0ZCBjbGFzcz0ibGJsIj5FbmNyeXB0ZWQgdHJhZmZpYyB2aXNpYmlsaXR5PC90ZD4KICAgICAgICAgICAgICA8dGQ+QXBwIGxheWVyIG9ubHk8L3RkPgogICAgICAgICAgICAgIDx0ZCBjbGFzcz0ibm8iPk5vPC90ZD4KICAgICAgICAgICAgICA8dGQgY2xhc3M9InllcyI+RnVsbCBEUEk8L3RkPgogICAgICAgICAgICA8L3RyPgogICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgPHRkIGNsYXNzPSJsYmwiPlVubWFuYWdlZCBJb1QgcHJvdGVjdGlvbjwvdGQ+CiAgICAgICAgICAgICAgPHRkIGNsYXNzPSJubyI+Tm88L3RkPgogICAgICAgICAgICAgIDx0ZD5ETlMgYmxvY2tpbmcgb25seTwvdGQ+CiAgICAgICAgICAgICAgPHRkIGNsYXNzPSJ5ZXMiPkFsbCBkZXZpY2VzLCBhbGwgdHJhZmZpYzwvdGQ+CiAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICA8dGQgY2xhc3M9ImxibCI+TW9iaWxlIGZyYXVkIHNpZ25hbHM8L3RkPgogICAgICAgICAgICAgIDx0ZCBjbGFzcz0ieWVzIj5GdWxsIHNlc3Npb24gKyBkZXZpY2U8L3RkPgogICAgICAgICAgICAgIDx0ZCBjbGFzcz0ibm8iPk5vPC90ZD4KICAgICAgICAgICAgICA8dGQ+VmlhIG1vYmlsZSBTREsgbGF5ZXI8L3RkPgogICAgICAgICAgICA8L3RyPgogICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgPHRkIGNsYXNzPSJsYmwiPlplcm8tZGF5IGJlaGF2aW91cmFsIGRldGVjdGlvbjwvdGQ+CiAgICAgICAgICAgICAgPHRkPlNlc3Npb24tbGV2ZWwgc2lnbmFsczwvdGQ+CiAgICAgICAgICAgICAgPHRkPklRIHRocmVhdCBpbnRlbGxpZ2VuY2U8L3RkPgogICAgICAgICAgICAgIDx0ZCBjbGFzcz0ieWVzIj5GdWxsIGJlaGF2aW91cmFsIEFJPC90ZD4KICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgIDx0ZCBjbGFzcz0ibGJsIj5IYXJkd2FyZSByZXF1aXJlZDwvdGQ+CiAgICAgICAgICAgICAgPHRkIGNsYXNzPSJ5ZXMiPk5vbmU8L3RkPgogICAgICAgICAgICAgIDx0ZCBjbGFzcz0ieWVzIj5Ob25lPC90ZD4KICAgICAgICAgICAgICA8dGQgY2xhc3M9InllcyI+RXhpc3RpbmcgQ1BFIG9ubHk8L3RkPgogICAgICAgICAgICA8L3RyPgogICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgPHRkIGNsYXNzPSJsYmwiPkRlcGxveW1lbnQgdGltZWxpbmU8L3RkPgogICAgICAgICAgICAgIDx0ZD5EYXlzPC90ZD4KICAgICAgICAgICAgICA8dGQ+RGF5cyB0byB3ZWVrczwvdGQ+CiAgICAgICAgICAgICAgPHRkPldlZWtzIHRvIG1vbnRoczwvdGQ+CiAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICA8dGQgY2xhc3M9ImxibCI+T3BlcmF0b3IgUmV0aW5hIGNvbnNvbGU8L3RkPgogICAgICAgICAgICAgIDx0ZCBjbGFzcz0ibm8iPk5vPC90ZD4KICAgICAgICAgICAgICA8dGQgY2xhc3M9InllcyI+WWVzPC90ZD4KICAgICAgICAgICAgICA8dGQgY2xhc3M9InllcyI+RnVsbCBjYXJyaWVyLWdyYWRlIGFuYWx5dGljczwvdGQ+CiAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICA8dGQgY2xhc3M9ImxibCI+U3Vic2NyaWJlciBhcHAgKEFuZ2VsKTwvdGQ+CiAgICAgICAgICAgICAgPHRkPkVtYmVkZGVkIGluIGhvc3QgYXBwPC90ZD4KICAgICAgICAgICAgICA8dGQgY2xhc3M9InllcyI+V2hpdGUtbGFiZWwgQW5nZWw8L3RkPgogICAgICAgICAgICAgIDx0ZCBjbGFzcz0ieWVzIj5GdWxsIHdoaXRlLWxhYmVsIEFuZ2VsPC90ZD4KICAgICAgICAgICAgPC90cj4KICAgICAgICAgIDwvdGJvZHk+CiAgICAgICAgPC90YWJsZT4KICAgICAgPC9kaXY+CiAgICA8L3NlY3Rpb24+CgogICAgPCEtLSBDVEEgQ0FSRFMgLS0+CiAgICA8c2VjdGlvbiBjbGFzcz0iYmQtc2VjdCB0IiBzdHlsZT0iYmFja2dyb3VuZDpyZ2JhKDEsNDcsNTksLjYpO2JvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLWJkcik7Ij4KICAgICAgPGRpdiBjbGFzcz0iYmQtc2kiPgogICAgICAgIDxkaXYgY2xhc3M9ImN0YS1jYXJkcyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjdGEtY2FyZCI+PHNwYW4gY2xhc3M9ImV5IGF4Ij5NT0JJTEUgU0RLIMK3IEZJTkFOQ0lBTCBTRVJWSUNFUzwvc3Bhbj4KICAgICAgICAgICAgPGgzPkZyYXVkIHByZXZlbnRpb24gdGhhdCB3b3JrcyBhdCB0aGUgc2Vzc2lvbiBsZXZlbDwvaDM+CiAgICAgICAgICAgIDxwPkZvciBiYW5rcywgZmludGVjaHMgYW5kIG1vYmlsZSBvcGVyYXRvcnMgd2hvIG5lZWQgb24tZGV2aWNlIGludGVsbGlnZW5jZSB3aXRob3V0IG93bmluZyBuZXR3b3JrCiAgICAgICAgICAgICAgaW5mcmFzdHJ1Y3R1cmUuIEludGVncmF0ZSBpbiBkYXlzLiBSZWR1Y2UgQVBQIGZyYXVkIGxpYWJpbGl0eSBub3cuPC9wPjxidXR0b24gY2xhc3M9ImJ0bi1wIGJ0bi1zbSIKICAgICAgICAgICAgICBvbmNsaWNrPSJzaG93RGVtbygpIj5SZXF1ZXN0IGEgZGVtb25zdHJhdGlvbjwvYnV0dG9uPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjdGEtY2FyZCI+PHNwYW4gY2xhc3M9ImV5IGF4Ij5ETlMgUFJPVEVDVCDCtyBPUEVSQVRPUlMgJmFtcDsgSVNQczwvc3Bhbj4KICAgICAgICAgICAgPGgzPlRoZSBmYXN0ZXN0IHBhdGggdG8gYSBsaXZlIHNlY3VyaXR5IHByb3Bvc2l0aW9uPC9oMz4KICAgICAgICAgICAgPHA+Tm8gaGFyZHdhcmUgZGVwZW5kZW5jeS4gTm8gQ1BFIHByb2N1cmVtZW50IGN5Y2xlLiBEZXBsb3kgYWNyb3NzIHlvdXIgZnVsbCBzdWJzY3JpYmVyIGJhc2UgaW4gZGF5cyBhbmQKICAgICAgICAgICAgICBzdGFydCBkZWxpdmVyaW5nIG1lYXN1cmFibGUgc2VjdXJpdHkgdmFsdWUgaW1tZWRpYXRlbHkuPC9wPjxidXR0b24gY2xhc3M9ImJ0bi1wIGJ0bi1zbSIKICAgICAgICAgICAgICBvbmNsaWNrPSJzaG93RGVtbygpIj5SZXF1ZXN0IGEgZGVtb25zdHJhdGlvbjwvYnV0dG9uPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjdGEtY2FyZCI+PHNwYW4gY2xhc3M9ImV5IGF4Ij5IQUxPIENQRSDCtyBUSUVSLTEgT1BFUkFUT1JTPC9zcGFuPgogICAgICAgICAgICA8aDM+Q2Fycmllci1ncmFkZSBjeWJlciBkZWZlbmNlIGF0IHN1YnNjcmliZXIgc2NhbGU8L2gzPgogICAgICAgICAgICA8cD5GdWxsIERQSSwgYWxsLWRldmljZSBJb1QgcHJvdGVjdGlvbiwgemVyby1kYXkgYmVoYXZpb3VyYWwgZGV0ZWN0aW9uLiBUaGUgY29tcGxldGUgcGxhdGZvcm0gZW1iZWRkZWQgaW4KICAgICAgICAgICAgICB5b3VyIGV4aXN0aW5nIENQRSBlc3RhdGUgd2l0aCBubyBoYXJkd2FyZSBjaGFuZ2VzLjwvcD48YnV0dG9uIGNsYXNzPSJidG4tcCBidG4tc20iCiAgICAgICAgICAgICAgb25jbGljaz0ic2hvd0RlbW8oKSI+UmVxdWVzdCBhIGRlbW9uc3RyYXRpb248L2J1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KICAgIDxmb290ZXIgY2xhc3M9ImJkLWZvb3RlciI+PHN2ZyB2aWV3Qm94PSIwIDAgNjQgNjQiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJ2YXIoLS1heCkiCiAgICAgICAgc3Ryb2tlLXdpZHRoPSIzIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0eWxlPSJkaXNwbGF5OmJsb2NrO29wYWNpdHk6Ljc1OyI+CiAgICAgICAgPHBhdGggZD0iTTMyIDYgTDU2IDIwIEw1NiA0NiBMMzIgNjAgTDggNDYgTDggMjAgWiI+PC9wYXRoPgogICAgICAgIDxwYXRoIGQ9Ik0zMiA2IEwzMiAzMiBNOCAyMCBMMzIgMzIgTTU2IDIwIEwzMiAzMiI+PC9wYXRoPgogICAgICAgIDxjaXJjbGUgY3g9IjIwIiBjeT0iMjYiIHI9IjIuNCIgZmlsbD0idmFyKC0tYXgpIiBzdHJva2U9Im5vbmUiPjwvY2lyY2xlPgogICAgICAgIDxjaXJjbGUgY3g9IjIwIiBjeT0iMzQiIHI9IjIuNCIgZmlsbD0idmFyKC0tYXgpIiBzdHJva2U9Im5vbmUiPjwvY2lyY2xlPgogICAgICAgIDxjaXJjbGUgY3g9IjQ0IiBjeT0iMzQiIHI9IjIuNCIgZmlsbD0idmFyKC0tYXgpIiBzdHJva2U9Im5vbmUiPjwvY2lyY2xlPgogICAgICA8L3N2Zz48c3BhbgogICAgICAgIHN0eWxlPSJmb250LWZhbWlseTonVWJ1bnR1JyxzeXN0ZW0tdWksc2Fucy1zZXJpZjtmb250LXdlaWdodDo3MDA7Zm9udC1zaXplOjE0cHg7bGV0dGVyLXNwYWNpbmc6LS4ycHg7Y29sb3I6cmdiYSgyMzIsMjQ0LDI0MywuNTUpIj5CbGFja0RpY2U8L3NwYW4+CiAgICAgIDxkaXYgY2xhc3M9ImZ0ci1saW5rcyI+PGJ1dHRvbiBjbGFzcz0iZnRyLWxpbmsiIGRhdGEtcGFnZT0icDExIiBvbmNsaWNrPSJnb1BhZ2UoZXZlbnQpIj5Db29raWUKICAgICAgICAgIHBvbGljeTwvYnV0dG9uPjxidXR0b24gY2xhc3M9ImZ0ci1saW5rIiBkYXRhLXBhZ2U9InAxMiIgb25jbGljaz0iZ29QYWdlKGV2ZW50KSI+UHJpdmFjeSBwb2xpY3k8L2J1dHRvbj48L2Rpdj4KICAgICAgPHNwYW4gY2xhc3M9ImZ0ci1jb3B5Ij7CqSAyMDI2IEJMQUNLRElDRSBDWUJFUiBMVEQuPC9zcGFuPgogICAgPC9mb290ZXI+CiAgPC9kaXY+CgogIDwhLS0g4pWQ4pWQ4pWQIFAyOiBNT0JJTEUgU0RLIOKVkOKVkOKVkCAtLT4KICA8ZGl2IGlkPSJwZy1wMiIgY2xhc3M9InBnIiBzdHlsZT0iZGlzcGxheTpub25lIj4KICAgIDxzZWN0aW9uIGNsYXNzPSJiZC1oZXJvLXNoIj4KICAgICAgPGRpdiBjbGFzcz0iYmQtaGV4LW1vdGlmIj48c3ZnIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAzODAgODI0IgogICAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7Ij4KICAgICAgICAgIDxnIG9wYWNpdHk9IjEiPgogICAgICAgICAgICA8cGF0aCBkPSJNMzEwLjAgMzYuMCBMMzMwLjggNDguMCBMMzMwLjggNzIuMCBMMzEwLjAgODQuMCBMMjg5LjIgNzIuMCBMMjg5LjIgNDguMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTMxMC4wIDM2LjAgTDMxMC4wIDYwLjAgTTMzMC44IDcyLjAgTDMxMC4wIDYwLjAgTTI4OS4yIDcyLjAgTDMxMC4wIDYwLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC45Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTM1MS42IDM2LjAgTDM3Mi40IDQ4LjAgTDM3Mi40IDcyLjAgTDM1MS42IDg0LjAgTDMzMC44IDcyLjAgTDMzMC44IDQ4LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zNTEuNiAzNi4wIEwzNTEuNiA2MC4wIE0zNzIuNCA3Mi4wIEwzNTEuNiA2MC4wIE0zMzAuOCA3Mi4wIEwzNTEuNiA2MC4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNyI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zMzAuOCA3Mi4wIEwzNTEuNiA4NC4wIEwzNTEuNiAxMDguMCBMMzMwLjggMTIwLjAgTDMxMC4wIDEwOC4wIEwzMTAuMCA4NC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMzMwLjggNzIuMCBMMzMwLjggOTYuMCBNMzUxLjYgMTA4LjAgTDMzMC44IDk2LjAgTTMxMC4wIDEwOC4wIEwzMzAuOCA5Ni4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuOCI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zNzIuNCA3Mi4wIEwzOTMuMSA4NC4wIEwzOTMuMSAxMDguMCBMMzcyLjQgMTIwLjAgTDM1MS42IDEwOC4wIEwzNTEuNiA4NC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMzcyLjQgNzIuMCBMMzcyLjQgOTYuMCBNMzkzLjEgMTA4LjAgTDM3Mi40IDk2LjAgTTM1MS42IDEwOC4wIEwzNzIuNCA5Ni4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0yODkuMiA3Mi4wIEwzMTAuMCA4NC4wIEwzMTAuMCAxMDguMCBMMjg5LjIgMTIwLjAgTDI2OC40IDEwOC4wIEwyNjguNCA4NC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMjg5LjIgNzIuMCBMMjg5LjIgOTYuMCBNMzEwLjAgMTA4LjAgTDI4OS4yIDk2LjAgTTI2OC40IDEwOC4wIEwyODkuMiA5Ni4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuMzUiPgogICAgICAgICAgICA8cGF0aCBkPSJNMzEwLjAgMTA4LjAgTDMzMC44IDEyMC4wIEwzMzAuOCAxNDQuMCBMMzEwLjAgMTU2LjAgTDI4OS4yIDE0NC4wIEwyODkuMiAxMjAuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTMxMC4wIDEwOC4wIEwzMTAuMCAxMzIuMCBNMzMwLjggMTQ0LjAgTDMxMC4wIDEzMi4wIE0yODkuMiAxNDQuMCBMMzEwLjAgMTMyLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC40Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTM1MS42IDEwOC4wIEwzNzIuNCAxMjAuMCBMMzcyLjQgMTQ0LjAgTDM1MS42IDE1Ni4wIEwzMzAuOCAxNDQuMCBMMzMwLjggMTIwLjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zNTEuNiAxMDguMCBMMzUxLjYgMTMyLjAgTTM3Mi40IDE0NC4wIEwzNTEuNiAxMzIuMCBNMzMwLjggMTQ0LjAgTDM1MS42IDEzMi4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNTUiPgogICAgICAgICAgICA8cGF0aCBkPSJNNDEzLjkgNzIuMCBMNDM0LjcgODQuMCBMNDM0LjcgMTA4LjAgTDQxMy45IDEyMC4wIEwzOTMuMSAxMDguMCBMMzkzLjEgODQuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTQxMy45IDcyLjAgTDQxMy45IDk2LjAgTTQzNC43IDEwOC4wIEw0MTMuOSA5Ni4wIE0zOTMuMSAxMDguMCBMNDEzLjkgOTYuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjU1Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTgwLjAgMzQ2LjAgTDEwMC44IDM1OC4wIEwxMDAuOCAzODIuMCBMODAuMCAzOTQuMCBMNTkuMiAzODIuMCBMNTkuMiAzNTguMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTgwLjAgMzQ2LjAgTDgwLjAgMzcwLjAgTTEwMC44IDM4Mi4wIEw4MC4wIDM3MC4wIE01OS4yIDM4Mi4wIEw4MC4wIDM3MC4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuMzUiPgogICAgICAgICAgICA8cGF0aCBkPSJNMTIxLjYgMzQ2LjAgTDE0Mi40IDM1OC4wIEwxNDIuNCAzODIuMCBMMTIxLjYgMzk0LjAgTDEwMC44IDM4Mi4wIEwxMDAuOCAzNTguMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTEyMS42IDM0Ni4wIEwxMjEuNiAzNzAuMCBNMTQyLjQgMzgyLjAgTDEyMS42IDM3MC4wIE0xMDAuOCAzODIuMCBMMTIxLjYgMzcwLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC40NSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMDAuOCAzODIuMCBMMTIxLjYgMzk0LjAgTDEyMS42IDQxOC4wIEwxMDAuOCA0MzAuMCBMODAuMCA0MTguMCBMODAuMCAzOTQuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTEwMC44IDM4Mi4wIEwxMDAuOCA0MDYuMCBNMTIxLjYgNDE4LjAgTDEwMC44IDQwNi4wIE04MC4wIDQxOC4wIEwxMDAuOCA0MDYuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjM1Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTE0Mi40IDM4Mi4wIEwxNjMuMSAzOTQuMCBMMTYzLjEgNDE4LjAgTDE0Mi40IDQzMC4wIEwxMjEuNiA0MTguMCBMMTIxLjYgMzk0LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNDIuNCAzODIuMCBMMTQyLjQgNDA2LjAgTTE2My4xIDQxOC4wIEwxNDIuNCA0MDYuMCBNMTIxLjYgNDE4LjAgTDE0Mi40IDQwNi4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuMjUiPgogICAgICAgICAgICA8cGF0aCBkPSJNNTkuMiAzODIuMCBMODAuMCAzOTQuMCBMODAuMCA0MTguMCBMNTkuMiA0MzAuMCBMMzguNCA0MTguMCBMMzguNCAzOTQuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTU5LjIgMzgyLjAgTDU5LjIgNDA2LjAgTTgwLjAgNDE4LjAgTDU5LjIgNDA2LjAgTTM4LjQgNDE4LjAgTDU5LjIgNDA2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC4zIj4KICAgICAgICAgICAgPHBhdGggZD0iTTE2My4xIDM0Ni4wIEwxODMuOSAzNTguMCBMMTgzLjkgMzgyLjAgTDE2My4xIDM5NC4wIEwxNDIuNCAzODIuMCBMMTQyLjQgMzU4LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNjMuMSAzNDYuMCBMMTYzLjEgMzcwLjAgTTE4My45IDM4Mi4wIEwxNjMuMSAzNzAuMCBNMTQyLjQgMzgyLjAgTDE2My4xIDM3MC4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuODUiPgogICAgICAgICAgICA8cGF0aCBkPSJNODAuMCA2MjYuMCBMMTAwLjggNjM4LjAgTDEwMC44IDY2Mi4wIEw4MC4wIDY3NC4wIEw1OS4yIDY2Mi4wIEw1OS4yIDYzOC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNODAuMCA2MjYuMCBMODAuMCA2NTAuMCBNMTAwLjggNjYyLjAgTDgwLjAgNjUwLjAgTTU5LjIgNjYyLjAgTDgwLjAgNjUwLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC43Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTEyMS42IDYyNi4wIEwxNDIuNCA2MzguMCBMMTQyLjQgNjYyLjAgTDEyMS42IDY3NC4wIEwxMDAuOCA2NjIuMCBMMTAwLjggNjM4LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMjEuNiA2MjYuMCBMMTIxLjYgNjUwLjAgTTE0Mi40IDY2Mi4wIEwxMjEuNiA2NTAuMCBNMTAwLjggNjYyLjAgTDEyMS42IDY1MC4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNTUiPgogICAgICAgICAgICA8cGF0aCBkPSJNMTAwLjggNjYyLjAgTDEyMS42IDY3NC4wIEwxMjEuNiA2OTguMCBMMTAwLjggNzEwLjAgTDgwLjAgNjk4LjAgTDgwLjAgNjc0LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMDAuOCA2NjIuMCBMMTAwLjggNjg2LjAgTTEyMS42IDY5OC4wIEwxMDAuOCA2ODYuMCBNODAuMCA2OTguMCBMMTAwLjggNjg2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC42NSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNDIuNCA2NjIuMCBMMTYzLjEgNjc0LjAgTDE2My4xIDY5OC4wIEwxNDIuNCA3MTAuMCBMMTIxLjYgNjk4LjAgTDEyMS42IDY3NC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMTQyLjQgNjYyLjAgTDE0Mi40IDY4Ni4wIE0xNjMuMSA2OTguMCBMMTQyLjQgNjg2LjAgTTEyMS42IDY5OC4wIEwxNDIuNCA2ODYuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjYiPgogICAgICAgICAgICA8cGF0aCBkPSJNMTYzLjEgNjI2LjAgTDE4My45IDYzOC4wIEwxODMuOSA2NjIuMCBMMTYzLjEgNjc0LjAgTDE0Mi40IDY2Mi4wIEwxNDIuNCA2MzguMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTE2My4xIDYyNi4wIEwxNjMuMSA2NTAuMCBNMTgzLjkgNjYyLjAgTDE2My4xIDY1MC4wIE0xNDIuNCA2NjIuMCBMMTYzLjEgNjUwLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC40Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTU5LjIgNjYyLjAgTDgwLjAgNjc0LjAgTDgwLjAgNjk4LjAgTDU5LjIgNzEwLjAgTDM4LjQgNjk4LjAgTDM4LjQgNjc0LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik01OS4yIDY2Mi4wIEw1OS4yIDY4Ni4wIE04MC4wIDY5OC4wIEw1OS4yIDY4Ni4wIE0zOC40IDY5OC4wIEw1OS4yIDY4Ni4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik04MC4wIDY5OC4wIEwxMDAuOCA3MTAuMCBMMTAwLjggNzM0LjAgTDgwLjAgNzQ2LjAgTDU5LjIgNzM0LjAgTDU5LjIgNzEwLjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik04MC4wIDY5OC4wIEw4MC4wIDcyMi4wIE0xMDAuOCA3MzQuMCBMODAuMCA3MjIuMCBNNTkuMiA3MzQuMCBMODAuMCA3MjIuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjQiPgogICAgICAgICAgICA8cGF0aCBkPSJNMTIxLjYgNjk4LjAgTDE0Mi40IDcxMC4wIEwxNDIuNCA3MzQuMCBMMTIxLjYgNzQ2LjAgTDEwMC44IDczNC4wIEwxMDAuOCA3MTAuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTEyMS42IDY5OC4wIEwxMjEuNiA3MjIuMCBNMTQyLjQgNzM0LjAgTDEyMS42IDcyMi4wIE0xMDAuOCA3MzQuMCBMMTIxLjYgNzIyLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC41Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTE4My45IDY2Mi4wIEwyMDQuNyA2NzQuMCBMMjA0LjcgNjk4LjAgTDE4My45IDcxMC4wIEwxNjMuMSA2OTguMCBMMTYzLjEgNjc0LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xODMuOSA2NjIuMCBMMTgzLjkgNjg2LjAgTTIwNC43IDY5OC4wIEwxODMuOSA2ODYuMCBNMTYzLjEgNjk4LjAgTDE4My45IDY4Ni4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuMzUiPgogICAgICAgICAgICA8cGF0aCBkPSJNMTYzLjEgNjk4LjAgTDE4My45IDcxMC4wIEwxODMuOSA3MzQuMCBMMTYzLjEgNzQ2LjAgTDE0Mi40IDczNC4wIEwxNDIuNCA3MTAuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTE2My4xIDY5OC4wIEwxNjMuMSA3MjIuMCBNMTgzLjkgNzM0LjAgTDE2My4xIDcyMi4wIE0xNDIuNCA3MzQuMCBMMTYzLjEgNzIyLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGNpcmNsZSBjeD0iMzEwLjAiIGN5PSIzNi4wIiByPSIyLjYiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIxIiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iMzUxLjYiIGN5PSIzNi4wIiByPSIyLjYiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjkiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIzNzIuNCIgY3k9IjcyLjAiIHI9IjIuNiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuOCIgLz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjQxMy45IiBjeT0iNzIuMCIgcj0iMi42IiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC41NSIgLz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjgwLjAiIGN5PSIzNDYuMCIgcj0iMi42IiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC41NSIgLz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjE0Mi40IiBjeT0iMzgyLjAiIHI9IjIuNiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuMzUiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSI4MC4wIiBjeT0iNjI2LjAiIHI9IjIuNiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuODUiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIxMjEuNiIgY3k9IjYyNi4wIiByPSIyLjYiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjciIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIxNDIuNCIgY3k9IjY2Mi4wIiByPSIyLjYiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjY1IiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iMTYzLjEiIGN5PSI2MjYuMCIgcj0iMi42IiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC42IiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iMTIxLjYiIGN5PSI2OTguMCIgcj0iMi42IiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC40IiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iMzMwLjgiIGN5PSI0OC4wIiByPSIyLjIiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjcwIiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iMzcyLjQiIGN5PSI0OC4wIiByPSIyLjIiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjYzIiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iMzkzLjEiIGN5PSI4NC4wIiByPSIyLjIiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjU2IiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iNDM0LjciIGN5PSI4NC4wIiByPSIyLjIiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjM5IiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iMTAwLjgiIGN5PSIzNTguMCIgcj0iMi4yIiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC4zOSIgLz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjE2My4xIiBjeT0iMzk0LjAiIHI9IjIuMiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuMjQiIC8+CiAgICAgICAgPC9zdmc+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImJkLWhlcm8tZ2wiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJiZC1oZXJvLWluIj4KICAgICAgICA8ZGl2PjxzcGFuIGNsYXNzPSJleSBsdCI+QkxBQ0tESUNFIE1PQklMRSBTREsgwrcgRklOQU5DSUFMIFNFUlZJQ0VTPC9zcGFuPgogICAgICAgICAgPGgxIGNsYXNzPSJoMSI+UmVhbC10aW1lPGJyPmZyYXVkIHNpZ25hbHMuPGJyPkVtYmVkZGVkIGluIHlvdXIgPGVtPmFwcGxpY2F0aW9uLjwvZW0+PC9oMT4KICAgICAgICAgIDxwIGNsYXNzPSJoZXJvLXN1YiI+VGhlIEJsYWNrRGljZSBNb2JpbGUgU0RLIGJyaW5ncyBiZWhhdmlvdXJhbCBpbnRlbGxpZ2VuY2UgZGlyZWN0bHkgaW50byB5b3VyIGFwcC4gU2Vzc2lvbgogICAgICAgICAgICByaXNrIHNjb3JpbmcsIGRldmljZSBpbnRlZ3JpdHkgc2lnbmFscyBhbmQgc2NhbSBkZXRlY3Rpb24g4oCUIGRlbGl2ZXJlZCBpbiByZWFsIHRpbWUgd2l0aCBubyBpbmZyYXN0cnVjdHVyZQogICAgICAgICAgICBpbnZlc3RtZW50LjwvcD4KICAgICAgICAgIDxkaXYgY2xhc3M9ImJ0bi1yb3ciPjxidXR0b24gY2xhc3M9ImJ0bi1wIiBvbmNsaWNrPSJzaG93RGVtbygpIj5SZXF1ZXN0IGEgZGVtb25zdHJhdGlvbjwvYnV0dG9uPjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJiZC1mZWVkIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmVlZC1oZCI+PHNwYW4gY2xhc3M9ImZlZWQtdGl0bGUiPlJFQUwtVElNRSBTSUdOQUwgRkVFRDwvc3Bhbj48c3BhbiBjbGFzcz0ibGl2ZS1iYWRnZSI+PHNwYW4KICAgICAgICAgICAgICAgICAgY2xhc3M9ImxpdmUtZG90Ij48L3NwYW4+TElWRSBTQ09SSU5HPC9zcGFuPjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmZWVkLWJvZHkiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZlZWQtcm93Ij48c3BhbiBjbGFzcz0iZmVlZC1sYmwiPlJlbW90ZSBhY2Nlc3MgYXBwIGRldGVjdGVkIGR1cmluZyBiYW5raW5nIHNlc3Npb248L3NwYW4+PHNwYW4KICAgICAgICAgICAgICAgICAgY2xhc3M9ImZlZWQtcmlzayBoIj5ISUdIPC9zcGFuPjxzcGFuIGNsYXNzPSJmZWVkLWJkZyBibG9ja2VkIj5CTE9DS0VEPC9zcGFuPjwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZlZWQtcm93Ij48c3BhbiBjbGFzcz0iZmVlZC1sYmwiPkluY29taW5nIGNhbGwg4oCUIGtub3duIHNjYW0gbnVtYmVyIHBhdHRlcm48L3NwYW4+PHNwYW4KICAgICAgICAgICAgICAgICAgY2xhc3M9ImZlZWQtcmlzayBoIj5ISUdIPC9zcGFuPjxzcGFuIGNsYXNzPSJmZWVkLWJkZyBmbGFnIj5GTEFHR0VEPC9zcGFuPjwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZlZWQtcm93Ij48c3BhbiBjbGFzcz0iZmVlZC1sYmwiPkRldmljZSBpbnRlZ3JpdHkg4oCUIG5vIGFub21hbGllcyBkZXRlY3RlZDwvc3Bhbj48c3BhbgogICAgICAgICAgICAgICAgICBjbGFzcz0iZmVlZC1yaXNrIGwiPkxPVzwvc3Bhbj48c3BhbiBjbGFzcz0iZmVlZC1iZGcgY2xlYXIiPkNMRUFSPC9zcGFuPjwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZlZWQtcm93Ij48c3BhbiBjbGFzcz0iZmVlZC1sYmwiPk5ldHdvcmsgc3dpdGNoIFdpLUZpIOKGkiBjZWxsdWxhciAocm9ndWUgQVAKICAgICAgICAgICAgICAgICAgYWRqYWNlbnQpPC9zcGFuPjxzcGFuIGNsYXNzPSJmZWVkLXJpc2sgbSI+TUVEPC9zcGFuPjxzcGFuIGNsYXNzPSJmZWVkLWJkZyBtb24iPk1PTklUT1JJTkc8L3NwYW4+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgogICAgPGRpdiBjbGFzcz0iYXVkLXN0cmlwIj48c3BhbiBjbGFzcz0iYXVkLWxibCI+QlVJTFQgRk9SPC9zcGFuPgogICAgICA8ZGl2IGNsYXNzPSJhdWQtdGFncyI+PHNwYW4gY2xhc3M9ImF1ZC10YWciPlJldGFpbCBiYW5rczwvc3Bhbj48c3BhbiBjbGFzcz0iYXVkLXRhZyI+RGlnaXRhbC1maXJzdCBiYW5rcyAmYW1wOwogICAgICAgICAgZmludGVjaDwvc3Bhbj48c3BhbiBjbGFzcz0iYXVkLXRhZyI+TW9iaWxlIG9wZXJhdG9ycyB3aXRoIEZTIGV4cG9zdXJlPC9zcGFuPjxzcGFuIGNsYXNzPSJhdWQtdGFnIj5JbnN1cmFuY2UKICAgICAgICAgIHByb3ZpZGVyczwvc3Bhbj48c3BhbiBjbGFzcz0iYXVkLXRhZyI+UGF5bWVudCBwbGF0Zm9ybXM8L3NwYW4+PC9kaXY+CiAgICA8L2Rpdj4KICAgIDxzZWN0aW9uIGNsYXNzPSJiZC1zZWN0IHQiIHN0eWxlPSJiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjAxMik7Ij4KICAgICAgPGRpdiBjbGFzcz0iYmQtc2kiPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3QtaGQiPjxzcGFuIGNsYXNzPSJleSI+VEhSRUUgUFJPQkxFTVMgSVQgU09MVkVTIFRPREFZPC9zcGFuPgogICAgICAgICAgPGgyIGNsYXNzPSJoMiI+RnJhdWQgaGFzIGV2b2x2ZWQgYmV5b25kIHdoYXQgYXV0aGVudGljYXRpb24gYWxvbmUgPGVtPmNhbiBkZXRlY3QuPC9lbT48L2gyPgogICAgICAgICAgPHA+VGhlIEJsYWNrRGljZSBTREsgYWRkcyBhIGJlaGF2aW91cmFsIGludGVsbGlnZW5jZSBsYXllciB0aGF0IHNlZXMgd2hhdCBhdXRoZW50aWNhdGlvbiBjYW5ub3Qg4oCUIHdoYXQgaXMKICAgICAgICAgICAgaGFwcGVuaW5nIG9uIGFuZCBhcm91bmQgdGhlIGRldmljZSBhdCB0aGUgbW9tZW50IG9mIHJpc2suPC9wPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImczIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImJkLWNhcmQiPjxzcGFuIGNsYXNzPSJleSBheCI+VVNFIENBU0UgMDE8L3NwYW4+CiAgICAgICAgICAgIDxoMyBzdHlsZT0iZm9udC1zaXplOjE3cHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOnZhcigtLXR4dCk7bWFyZ2luLWJvdHRvbToxMHB4O21hcmdpbi10b3A6OHB4OyI+QXV0aG9yaXNlZAogICAgICAgICAgICAgIHB1c2ggcGF5bWVudCBmcmF1ZDwvaDM+CiAgICAgICAgICAgIDxwIHN0eWxlPSJmb250LXNpemU6MTRweDtjb2xvcjp2YXIoLS10Mik7bGluZS1oZWlnaHQ6MS43OyI+V2hlbiBhIGZyYXVkc3RlciBwZXJzdWFkZXMgYSBjdXN0b21lciB0byBpbml0aWF0ZQogICAgICAgICAgICAgIGEgcGF5bWVudCB0aGVtc2VsdmVzLCBhdXRoZW50aWNhdGlvbiBwYXNzZXMgd2l0aG91dCBmcmljdGlvbi4gQmxhY2tEaWNlIGRldGVjdHMgdGhlIGJlaGF2aW91cmFsIHNpZ25hbHMKICAgICAgICAgICAgICB0aGF0IHByZWNlZGUgQVBQIGZyYXVkIOKAlCBhIHNjYW0gY2FsbCBpbiBwcm9ncmVzcywgYSByZW1vdGUgYWNjZXNzIGFwcCBhY3RpdmUsIGFuIHVudXN1YWwgcGF5bWVudCBzZXF1ZW5jZQogICAgICAgICAgICAgIOKAlCBhbmQgc3VyZmFjZXMgYSByaXNrIHNjb3JlIGJlZm9yZSB0aGUgdHJhbnNhY3Rpb24gaXMgY29uZmlybWVkLjwvcD4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYy10YWdzIj48c3BhbiBjbGFzcz0iYy10YWciPlNjYW0gY2FsbCBkZXRlY3Rpb248L3NwYW4+PHNwYW4gY2xhc3M9ImMtdGFnIj5TZXNzaW9uCiAgICAgICAgICAgICAgICBjb250ZXh0PC9zcGFuPjxzcGFuIGNsYXNzPSJjLXRhZyI+UmVtb3RlIGFjY2VzcyBzaWduYWxzPC9zcGFuPjwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJiZC1jYXJkIj48c3BhbiBjbGFzcz0iZXkgYXgiPlVTRSBDQVNFIDAyPC9zcGFuPgogICAgICAgICAgICA8aDMgc3R5bGU9ImZvbnQtc2l6ZToxN3B4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjp2YXIoLS10eHQpO21hcmdpbi1ib3R0b206MTBweDttYXJnaW4tdG9wOjhweDsiPkFjY291bnQKICAgICAgICAgICAgICB0YWtlb3ZlciBhbmQgY3JlZGVudGlhbCBjb21wcm9taXNlPC9oMz4KICAgICAgICAgICAgPHAgc3R5bGU9ImZvbnQtc2l6ZToxNHB4O2NvbG9yOnZhcigtLXQyKTtsaW5lLWhlaWdodDoxLjc7Ij5BY2NvdW50IHRha2VvdmVyIG9mdGVuIGJlZ2lucyB3aXRoIGEgY29tcHJvbWlzZWQKICAgICAgICAgICAgICBkZXZpY2UuIEJsYWNrRGljZSBpZGVudGlmaWVzIGRldmljZSBpbnRlZ3JpdHkgYW5vbWFsaWVzIGJlZm9yZSB0aGUgbG9naW4gYXR0ZW1wdCByZWFjaGVzIHlvdXIKICAgICAgICAgICAgICBhdXRoZW50aWNhdGlvbiBsYXllciDigJQgZW5hYmxpbmcgc3RlcC11cCBjaGFsbGVuZ2VzIG9yIHNlc3Npb24gdGVybWluYXRpb24gYmVmb3JlIGNvbXByb21pc2Ugb2NjdXJzLjwvcD4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYy10YWdzIj48c3BhbiBjbGFzcz0iYy10YWciPkRldmljZSBpbnRlZ3JpdHk8L3NwYW4+PHNwYW4gY2xhc3M9ImMtdGFnIj5Sb290ZWQgZGV2aWNlCiAgICAgICAgICAgICAgICBkZXRlY3Rpb248L3NwYW4+PHNwYW4gY2xhc3M9ImMtdGFnIj5NYWx3YXJlIHNpZ25hbHM8L3NwYW4+PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImJkLWNhcmQiPjxzcGFuIGNsYXNzPSJleSBheCI+VVNFIENBU0UgMDM8L3NwYW4+CiAgICAgICAgICAgIDxoMyBzdHlsZT0iZm9udC1zaXplOjE3cHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOnZhcigtLXR4dCk7bWFyZ2luLWJvdHRvbToxMHB4O21hcmdpbi10b3A6OHB4OyI+U2NhbSBjYWxsCiAgICAgICAgICAgICAgaW50ZXJjZXB0aW9uIGFuZCBTTVMgcGhpc2hpbmc8L2gzPgogICAgICAgICAgICA8cCBzdHlsZT0iZm9udC1zaXplOjE0cHg7Y29sb3I6dmFyKC0tdDIpO2xpbmUtaGVpZ2h0OjEuNzsiPlRoZSBTREsgaWRlbnRpZmllcyBrbm93biBzY2FtIG51bWJlciBwYXR0ZXJucywKICAgICAgICAgICAgICByZWFsLXRpbWUgY2FsbCBhY3Rpdml0eSBhbmQgc3VzcGljaW91cyBTTVMgYmVoYXZpb3VyIOKAlCBlbmFibGluZyBiYW5rcyBhbmQgb3BlcmF0b3JzIHRvIGFsZXJ0IGN1c3RvbWVycyBvcgogICAgICAgICAgICAgIHN1cHByZXNzIGZyYXVkdWxlbnQgaW50ZXJhY3Rpb25zIGJlZm9yZSB0aGV5IGVzY2FsYXRlLjwvcD4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYy10YWdzIj48c3BhbiBjbGFzcz0iYy10YWciPkNhbGwgcmlzayBzY29yaW5nPC9zcGFuPjxzcGFuIGNsYXNzPSJjLXRhZyI+U01TIHBoaXNoaW5nPC9zcGFuPjxzcGFuCiAgICAgICAgICAgICAgICBjbGFzcz0iYy10YWciPlNvY2lhbCBlbmdpbmVlcmluZzwvc3Bhbj48L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KICAgIDxzZWN0aW9uIGNsYXNzPSJiZC1zZWN0IHQiPgogICAgICA8ZGl2IGNsYXNzPSJiZC1zaSB0d28tY29sIj4KICAgICAgICA8ZGl2PjxzcGFuIGNsYXNzPSJleSI+Rk9VUiBTSUdOQUwgRElNRU5TSU9OUzwvc3Bhbj4KICAgICAgICAgIDxoMiBjbGFzcz0iaDIiPldoYXQgdGhlIFNESyByZWFkcyBhbmQgPGVtPndoeSBjb3JyZWxhdGlvbiBtYXR0ZXJzLjwvZW0+PC9oMj4KICAgICAgICAgIDxwIHN0eWxlPSJmb250LXNpemU6MTZweDtjb2xvcjp2YXIoLS10Mik7bGluZS1oZWlnaHQ6MS43NTttYXJnaW4tdG9wOjE2cHg7Ij5FYWNoIHNpZ25hbCBtYXkgYXBwZWFyIGJlbmlnbiBpbgogICAgICAgICAgICBpc29sYXRpb24uIFRvZ2V0aGVyLCB0aGV5IGZvcm0gdGhlIGhpZ2gtY29uZmlkZW5jZSByaXNrIHBpY3R1cmUgdGhhdCBzaW5nbGUtbGF5ZXIgdG9vbHMgY2Fubm90IHByb2R1Y2UuPC9wPgogICAgICAgICAgPGRpdiBjbGFzcz0iZXgtYm94Ij48bGFiZWw+Q09NUE9TSVRFIFNJR05BTCBFWEFNUExFPC9sYWJlbD4KICAgICAgICAgICAgPHA+QSByZW1vdGUgYWNjZXNzIGFwcGxpY2F0aW9uIGFjdGl2ZSBkdXJpbmcgYSBiYW5raW5nIHNlc3Npb24g4oCUIGluZGl2aWR1YWxseSB1bnJlbWFya2FibGUuIENvbWJpbmVkIHdpdGggYQogICAgICAgICAgICAgIHNjYW0gY2FsbCBpbiBwcm9ncmVzcyBhbmQgYW4gdW51c3VhbCBwYXltZW50IHNlcXVlbmNlLCB0aGV5IGluZGljYXRlIGEgcHJvYmFibGUgc29jaWFsIGVuZ2luZWVyaW5nIGF0dGFjay4KICAgICAgICAgICAgICBCbGFja0RpY2Ugc3VyZmFjZXMgdGhpcyBjb21wb3NpdGUgcmlzayBzY29yZSBpbiByZWFsIHRpbWUsIGVuYWJsaW5nIHlvdXIgYXBwIHRvIGNoYWxsZW5nZSBvciBibG9jayBiZWZvcmUKICAgICAgICAgICAgICBmdW5kcyBtb3ZlLjwvcD4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNpZy1kZXRhaWwiPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2lnLWl0ZW0iPjxzcGFuIGNsYXNzPSJzaWctbiI+MDE8L3NwYW4+CiAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgPGg0PkFwcGxpY2F0aW9uIGJlaGF2aW91cmFsIHNpZ25hbHM8L2g0PgogICAgICAgICAgICAgIDxwPkFwcCB1c2FnZSBwYXR0ZXJucywgc2Vzc2lvbiBjb250ZXh0IGFuZCBpbnRlcmFjdGlvbiBiZWhhdmlvdXJzLiBEZXRlY3RzIGFub21hbG91cyBjby1vY2N1cnJlbmNlIOKAlAogICAgICAgICAgICAgICAgcmVtb3RlIGFjY2VzcyB0b29scyBvciBzY3JlZW4gcmVjb3JkZXJzIHJ1bm5pbmcgc2ltdWx0YW5lb3VzbHkgd2l0aCBiYW5raW5nIHNlc3Npb25zLjwvcD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNpZy1pdGVtIj48c3BhbiBjbGFzcz0ic2lnLW4iPjAyPC9zcGFuPgogICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgIDxoND5GcmF1ZCBhbmQgc2NhbSBpbmRpY2F0b3JzPC9oND4KICAgICAgICAgICAgICA8cD5SZWFsLXRpbWUgcmlzayBzY29yaW5nIGZvciBpbmNvbWluZyBjb21tdW5pY2F0aW9ucy4gSWRlbnRpZmllcyBrbm93biBzY2FtIGNhbGwgcGF0dGVybnMsIHBoaXNoaW5nIFNNUwogICAgICAgICAgICAgICAgYW5kIHNvY2lhbCBlbmdpbmVlcmluZyBzaWduYXR1cmVzIOKAlCBmbGFnZ2VkIGJlZm9yZSB0aGUgc3Vic2NyaWJlciBhY3RzLjwvcD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNpZy1pdGVtIj48c3BhbiBjbGFzcz0ic2lnLW4iPjAzPC9zcGFuPgogICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgIDxoND5EZXZpY2UgaW50ZWdyaXR5IHNpZ25hbHM8L2g0PgogICAgICAgICAgICAgIDxwPkRldGVjdGlvbiBvZiBqYWlsYnJva2VuIG9yIHJvb3RlZCBkZXZpY2VzLCBhbm9tYWxvdXMgc3lzdGVtIGJlaGF2aW91ciwgdW5hdXRob3Jpc2VkIGFjY2Vzc2liaWxpdHkKICAgICAgICAgICAgICAgIHNlcnZpY2UgdXNhZ2UgYW5kIGluZGljYXRvcnMgb2YgZGV2aWNlIGNvbXByb21pc2Ug4oCUIHN1cmZhY2VkIGF0IHNlc3Npb24gaW5pdGlhdGlvbi48L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzaWctaXRlbSI+PHNwYW4gY2xhc3M9InNpZy1uIj4wNDwvc3Bhbj4KICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICA8aDQ+TmV0d29yayBjb250ZXh0IHNpZ25hbHM8L2g0PgogICAgICAgICAgICAgIDxwPldpLUZpIHZzLiBjZWxsdWxhciBzd2l0Y2hpbmcsIHJvZ3VlIGFjY2VzcyBwb2ludCBwcm94aW1pdHksIG5ldHdvcmstbGV2ZWwgdGhyZWF0IGV4cG9zdXJlIGFuZAogICAgICAgICAgICAgICAgY29ubmVjdGl2aXR5IGFub21hbGllcyB0aGF0IGluZGljYXRlIHJpc2sgd2l0aG91dCByZXF1aXJpbmcgbmV0d29yayBpbmZyYXN0cnVjdHVyZSBhY2Nlc3MuPC9wPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KICAgIDxzZWN0aW9uIGNsYXNzPSJiZC1zZWN0IHQiIHN0eWxlPSJiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjAxMik7Ij4KICAgICAgPGRpdiBjbGFzcz0iYmQtc2kiPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3QtaGQiPjxzcGFuIGNsYXNzPSJleSI+UkVHVUxBVE9SWSBBTElHTk1FTlQ8L3NwYW4+CiAgICAgICAgICA8aDIgY2xhc3M9ImgyIj5UaGUgY29tcGxpYW5jZSBsYW5kc2NhcGUgaGFzIHNoaWZ0ZWQuIDxlbT5UaGUgU0RLIHBvc2l0aW9ucyB5b3UgYWhlYWQgb2YgaXQuPC9lbT48L2gyPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImczIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImJkLWNhcmQiPjxzcGFuIGNsYXNzPSJleSBheCI+VUsgRlJBVUQgU1RSQVRFR1kgMjAyNuKAkzIwMjk8L3NwYW4+CiAgICAgICAgICAgIDxoMyBzdHlsZT0iZm9udC1zaXplOjE3cHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOnZhcigtLXR4dCk7bWFyZ2luLWJvdHRvbToxMHB4O21hcmdpbi10b3A6OHB4OyI+VGVsZWNvbXMgYW5kCiAgICAgICAgICAgICAgRlMgYXMgY3JpdGljYWwgY29udHJvbCBwb2ludHM8L2gzPgogICAgICAgICAgICA8cCBzdHlsZT0iZm9udC1zaXplOjE0cHg7Y29sb3I6dmFyKC0tdDIpO2xpbmUtaGVpZ2h0OjEuNzsiPlRoZSBVSyBGcmF1ZCBTdHJhdGVneSAyMDI24oCTMjAyOSBuYW1lcyB0ZWxlY29tcwogICAgICAgICAgICAgIG9wZXJhdG9ycyBhbmQgZmluYW5jaWFsIGluc3RpdHV0aW9ucyBhcyBjcml0aWNhbCBjb250cm9sIHBvaW50cyBpbiB0aGUgbmF0aW9uYWwgZnJhdWQgcmVzcG9uc2UgZm9yIHRoZQogICAgICAgICAgICAgIGZpcnN0IHRpbWUuIFRoZSBCbGFja0RpY2UgU0RLIHByb3ZpZGVzIHRoZSBhdWRpdGFibGUsIHJlYWwtdGltZSBmcmF1ZCBzaWduYWwgZGF0YSB0byBkZW1vbnN0cmF0ZQogICAgICAgICAgICAgIGNvbXBsaWFuY2UuPC9wPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJiZC1jYXJkIj48c3BhbiBjbGFzcz0iZXkgYXgiPlBTRDIgLyBTVFJPTkcgQ1VTVE9NRVIgQVVUSEVOVElDQVRJT048L3NwYW4+CiAgICAgICAgICAgIDxoMyBzdHlsZT0iZm9udC1zaXplOjE3cHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOnZhcigtLXR4dCk7bWFyZ2luLWJvdHRvbToxMHB4O21hcmdpbi10b3A6OHB4OyI+QmVoYXZpb3VyYWwKICAgICAgICAgICAgICBpbnRlbGxpZ2VuY2UgYXMgYSBTQ0EgZmFjdG9yPC9oMz4KICAgICAgICAgICAgPHAgc3R5bGU9ImZvbnQtc2l6ZToxNHB4O2NvbG9yOnZhcigtLXQyKTtsaW5lLWhlaWdodDoxLjc7Ij5QU0QyIFNDQSByZXF1aXJlbWVudHMgZGVtYW5kIHJpc2stYmFzZWQKICAgICAgICAgICAgICBhdXRoZW50aWNhdGlvbi4gVGhlIFNESyBwcm92aWRlcyBhIHJlYWwtdGltZSBiZWhhdmlvdXJhbCByaXNrIHNpZ25hbCB0aGF0IGluZm9ybXMgZHluYW1pYyBhdXRoZW50aWNhdGlvbgogICAgICAgICAgICAgIGRlY2lzaW9ucyDigJQgcmVkdWNpbmcgZnJpY3Rpb24gZm9yIGxvdy1yaXNrIHNlc3Npb25zIHdoaWxlIGluY3JlYXNpbmcgc2NydXRpbnkgd2hlcmUgc2lnbmFscyBpbmRpY2F0ZQogICAgICAgICAgICAgIGVsZXZhdGVkIHJpc2suPC9wPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJiZC1jYXJkIj48c3BhbiBjbGFzcz0iZXkgYXgiPkZDQSBDT05TVU1FUiBEVVRZPC9zcGFuPgogICAgICAgICAgICA8aDMgc3R5bGU9ImZvbnQtc2l6ZToxN3B4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjp2YXIoLS10eHQpO21hcmdpbi1ib3R0b206MTBweDttYXJnaW4tdG9wOjhweDsiPkRlbW9uc3RyYWJsZQogICAgICAgICAgICAgIGFjdGlvbiBvbiBmcmF1ZCB2dWxuZXJhYmlsaXR5PC9oMz4KICAgICAgICAgICAgPHAgc3R5bGU9ImZvbnQtc2l6ZToxNHB4O2NvbG9yOnZhcigtLXQyKTtsaW5lLWhlaWdodDoxLjc7Ij5Db25zdW1lciBEdXR5IHJlcXVpcmVzIGZpcm1zIHRvIGRlbW9uc3RyYXRlIHRoZXkKICAgICAgICAgICAgICBhcmUgYWN0aXZlbHkgcHJvdGVjdGluZyB2dWxuZXJhYmxlIGN1c3RvbWVycyBmcm9tIGZvcmVzZWVhYmxlIGhhcm0uIFRoZSBTREsgcHJvdmlkZXMgdGhlIGV2aWRlbnRpYWwgbGF5ZXI6CiAgICAgICAgICAgICAgbG9nZ2VkIHJpc2sgc2lnbmFscywgaW50ZXJ2ZW50aW9uIHRyaWdnZXJzIGFuZCBvdXRjb21lIGRhdGEgdGhhdCBzdXBwb3J0cyBGQ0EgcmVwb3J0aW5nLjwvcD4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KICAgIDxzZWN0aW9uIGNsYXNzPSJiZC1zZWN0IHQiPgogICAgICA8ZGl2IGNsYXNzPSJiZC1zaSB0d28tY29sIj4KICAgICAgICA8ZGl2PjxzcGFuIGNsYXNzPSJleSI+REVQTE9ZTUVOVCBJTiBEQVlTLCBOT1QgTU9OVEhTPC9zcGFuPgogICAgICAgICAgPGgyIGNsYXNzPSJoMiI+Tm8gaW5mcmFzdHJ1Y3R1cmUgb3duZXJzaGlwIDxlbT5yZXF1aXJlZC48L2VtPjwvaDI+CiAgICAgICAgICA8cCBzdHlsZT0iZm9udC1zaXplOjE2cHg7Y29sb3I6dmFyKC0tdDIpO2xpbmUtaGVpZ2h0OjEuNzU7bWFyZ2luLXRvcDoxNnB4OyI+VGhlIFNESyBpbnRlZ3JhdGVzIGludG8geW91cgogICAgICAgICAgICBleGlzdGluZyBtb2JpbGUgYXBwbGljYXRpb24uIEl0IGRvZXMgbm90IHJlcXVpcmUgbmV0d29yayBhY2Nlc3MgYWdyZWVtZW50cyBvciBvcGVyYXRvciBwYXJ0bmVyc2hpcHMgdG8KICAgICAgICAgICAgZGVsaXZlciB2YWx1ZSBmcm9tIGRheSBvbmUuPC9wPgogICAgICAgICAgPGRpdiBjbGFzcz0iZGVwLXN0ZXBzIiBzdHlsZT0ibWFyZ2luLXRvcDoyOHB4OyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRlcC1zdGVwIj48c3BhbiBjbGFzcz0iZGVwLW4iPjAxPC9zcGFuPgogICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICA8aDQ+U0RLIGludGVncmF0aW9uPC9oND4KICAgICAgICAgICAgICAgIDxwPkFuZHJvaWQgYW5kIGlPUyBwYWNrYWdlcyBkZWxpdmVyZWQgdmlhIHN0YW5kYXJkIHBhY2thZ2UgbWFuYWdlbWVudC4gSW50ZWdyYXRpb24gaW50byB5b3VyIGV4aXN0aW5nCiAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uIGluIGRheXMgdmlhIGRvY3VtZW50ZWQgQVBJcy48L3A+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXAtc3RlcCI+PHNwYW4gY2xhc3M9ImRlcC1uIj4wMjwvc3Bhbj4KICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGg0PlNpZ25hbCBjb25maWd1cmF0aW9uPC9oND4KICAgICAgICAgICAgICAgIDxwPkNvbmZpZ3VyZSB3aGljaCBzaWduYWwgY2F0ZWdvcmllcyB0byBhY3RpdmF0ZSDigJQgZnJhdWQgaW5kaWNhdG9ycywgZGV2aWNlIGludGVncml0eSwgc2Vzc2lvbiByaXNrLAogICAgICAgICAgICAgICAgICBuZXR3b3JrIGNvbnRleHQg4oCUIGJhc2VkIG9uIHlvdXIgcmlzayBhcHBldGl0ZSBhbmQgdXNlIGNhc2UuPC9wPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGVwLXN0ZXAiPjxzcGFuIGNsYXNzPSJkZXAtbiI+MDM8L3NwYW4+CiAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgIDxoND5SaXNrIHNjb3JlIGludGVncmF0aW9uPC9oND4KICAgICAgICAgICAgICAgIDxwPlJlYWwtdGltZSByaXNrIHNjb3JlcyBkZWxpdmVyZWQgdmlhIEFQSS4gSW50ZWdyYXRlIHdpdGggeW91ciBleGlzdGluZyBmcmF1ZCBkZWNpc2lvbmluZyBlbmdpbmUsCiAgICAgICAgICAgICAgICAgIHN0ZXAtdXAgYXV0aGVudGljYXRpb24gb3IgdHJhbnNhY3Rpb24gbW9uaXRvcmluZyBzeXN0ZW0uPC9wPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGVwLXN0ZXAiPjxzcGFuIGNsYXNzPSJkZXAtbiI+MDQ8L3NwYW4+CiAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgIDxoND5HbyBsaXZlPC9oND4KICAgICAgICAgICAgICAgIDxwPk5vIHN1YnNjcmliZXItZmFjaW5nIGNoYW5nZXMgcmVxdWlyZWQuIFByb3RlY3Rpb24gaXMgYWN0aXZlIGZyb20gdGhlIG1vbWVudCB0aGUgdXBkYXRlZCBhcHAgcmVhY2hlcwogICAgICAgICAgICAgICAgICB5b3VyIHVzZXJzLjwvcD4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2PjxzcGFuIGNsYXNzPSJleSIgc3R5bGU9Im1hcmdpbi1ib3R0b206MjBweDsiPlRFQ0hOSUNBTCBTUEVDSUZJQ0FUSU9OUzwvc3Bhbj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNwZWMtdGJsIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3BlYy1yIj48bGFiZWw+UGxhdGZvcm0gc3VwcG9ydDwvbGFiZWw+PHNwYW4+QW5kcm9pZCwgaU9TPC9zcGFuPjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGVjLXIiPjxsYWJlbD5JbnRlZ3JhdGlvbiBtZXRob2Q8L2xhYmVsPjxzcGFuPlNESyArIFJFU1QgQVBJPC9zcGFuPjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGVjLXIiPjxsYWJlbD5TaWduYWwgZGVsaXZlcnk8L2xhYmVsPjxzcGFuPlJlYWwtdGltZSwgJmx0OzUwbXMgbGF0ZW5jeTwvc3Bhbj48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3BlYy1yIj48bGFiZWw+RGF0YSByZXNpZGVuY3k8L2xhYmVsPjxzcGFuPk9wZXJhdG9yIGVudmlyb25tZW50IOKAlCBubyB0aGlyZC1wYXJ0eSBjbG91ZDwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNwZWMtciI+PGxhYmVsPlByaXZhY3kgbW9kZWw8L2xhYmVsPjxzcGFuPkFub255bWlzZWQgc2lnbmFscywgbm8gUElJIHRyYW5zbWl0dGVkPC9zcGFuPjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGVjLXIiPjxsYWJlbD5EZXBsb3ltZW50IHRpbWU8L2xhYmVsPjxzcGFuPkRheXMgdG8gaW50ZWdyYXRpb24sIHdlZWtzIHRvIHByb2R1Y3Rpb248L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgogICAgPGRpdiBjbGFzcz0iY3RhLWJhbmQiPgogICAgICA8ZGl2IGNsYXNzPSJjdGEtYmFuZC1pbiI+CiAgICAgICAgPGRpdj4KICAgICAgICAgIDxoMiBjbGFzcz0iaDIiPkFQUCBmcmF1ZCBpcyBub3QgYSB0ZWNobm9sb2d5IHByb2JsZW0uIEl0IGlzIGFuIDxlbT5pbnRlbGxpZ2VuY2UgZ2FwLjwvZW0+PC9oMj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2PgogICAgICAgICAgPHA+TW9zdCBmcmF1ZCBwcmV2ZW50aW9uIHRvb2xzIGF1dGhlbnRpY2F0ZSB0aGUgY3VzdG9tZXIuIFRoZSBCbGFja0RpY2UgU0RLIHVuZGVyc3RhbmRzIHRoZSBjb250ZXh0CiAgICAgICAgICAgIHN1cnJvdW5kaW5nIHRoZSBjdXN0b21lciDigJQgYW5kIHRoYXQgaXMgd2hlcmUgZnJhdWQgYWN0dWFsbHkgYmVnaW5zLjwvcD4KICAgICAgICAgIDxkaXYgY2xhc3M9ImJ0bi1yb3ciPjxidXR0b24gY2xhc3M9ImJ0bi1wIiBvbmNsaWNrPSJzaG93RGVtbygpIj5SZXF1ZXN0IGEgZGVtb25zdHJhdGlvbjwvYnV0dG9uPjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPGZvb3RlciBjbGFzcz0iYmQtZm9vdGVyIj48c3ZnIHZpZXdCb3g9IjAgMCA2NCA2NCIgd2lkdGg9IjIyIiBoZWlnaHQ9IjIyIiBmaWxsPSJub25lIiBzdHJva2U9InZhcigtLWF4KSIKICAgICAgICBzdHJva2Utd2lkdGg9IjMiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7b3BhY2l0eTouNzU7Ij4KICAgICAgICA8cGF0aCBkPSJNMzIgNiBMNTYgMjAgTDU2IDQ2IEwzMiA2MCBMOCA0NiBMOCAyMCBaIj48L3BhdGg+CiAgICAgICAgPHBhdGggZD0iTTMyIDYgTDMyIDMyIE04IDIwIEwzMiAzMiBNNTYgMjAgTDMyIDMyIj48L3BhdGg+CiAgICAgICAgPGNpcmNsZSBjeD0iMjAiIGN5PSIyNiIgcj0iMi40IiBmaWxsPSJ2YXIoLS1heCkiIHN0cm9rZT0ibm9uZSI+PC9jaXJjbGU+CiAgICAgICAgPGNpcmNsZSBjeD0iMjAiIGN5PSIzNCIgcj0iMi40IiBmaWxsPSJ2YXIoLS1heCkiIHN0cm9rZT0ibm9uZSI+PC9jaXJjbGU+CiAgICAgICAgPGNpcmNsZSBjeD0iNDQiIGN5PSIzNCIgcj0iMi40IiBmaWxsPSJ2YXIoLS1heCkiIHN0cm9rZT0ibm9uZSI+PC9jaXJjbGU+CiAgICAgIDwvc3ZnPjxzcGFuCiAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OidVYnVudHUnLHN5c3RlbS11aSxzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6MTRweDtsZXR0ZXItc3BhY2luZzotLjJweDtjb2xvcjpyZ2JhKDIzMiwyNDQsMjQzLC41NSkiPkJsYWNrRGljZTwvc3Bhbj4KICAgICAgPGRpdiBjbGFzcz0iZnRyLWxpbmtzIj48YnV0dG9uIGNsYXNzPSJmdHItbGluayIgZGF0YS1wYWdlPSJwMTEiIG9uY2xpY2s9ImdvUGFnZShldmVudCkiPkNvb2tpZQogICAgICAgICAgcG9saWN5PC9idXR0b24+PGJ1dHRvbiBjbGFzcz0iZnRyLWxpbmsiIGRhdGEtcGFnZT0icDEyIiBvbmNsaWNrPSJnb1BhZ2UoZXZlbnQpIj5Qcml2YWN5IHBvbGljeTwvYnV0dG9uPjwvZGl2PgogICAgICA8c3BhbiBjbGFzcz0iZnRyLWNvcHkiPsKpIDIwMjYgQkxBQ0tESUNFIENZQkVSIExURC48L3NwYW4+CiAgICA8L2Zvb3Rlcj4KICA8L2Rpdj4KCiAgPCEtLSDilZDilZDilZAgUDEwOiBETlMgUFJPVEVDVCDilZDilZDilZAgLS0+CiAgPGRpdiBpZD0icGctcDEwIiBjbGFzcz0icGciIHN0eWxlPSJkaXNwbGF5Om5vbmUiPgogICAgPHNlY3Rpb24gY2xhc3M9ImJkLWhlcm8tc2giPgogICAgICA8ZGl2IGNsYXNzPSJiZC1oZXgtbW90aWYiPjxzdmcgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDM4MCA4MjQiCiAgICAgICAgICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBzbGljZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDsiPgogICAgICAgICAgPGcgb3BhY2l0eT0iMSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zMTAuMCAzNi4wIEwzMzAuOCA0OC4wIEwzMzAuOCA3Mi4wIEwzMTAuMCA4NC4wIEwyODkuMiA3Mi4wIEwyODkuMiA0OC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMzEwLjAgMzYuMCBMMzEwLjAgNjAuMCBNMzMwLjggNzIuMCBMMzEwLjAgNjAuMCBNMjg5LjIgNzIuMCBMMzEwLjAgNjAuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjkiPgogICAgICAgICAgICA8cGF0aCBkPSJNMzUxLjYgMzYuMCBMMzcyLjQgNDguMCBMMzcyLjQgNzIuMCBMMzUxLjYgODQuMCBMMzMwLjggNzIuMCBMMzMwLjggNDguMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTM1MS42IDM2LjAgTDM1MS42IDYwLjAgTTM3Mi40IDcyLjAgTDM1MS42IDYwLjAgTTMzMC44IDcyLjAgTDM1MS42IDYwLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC43Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTMzMC44IDcyLjAgTDM1MS42IDg0LjAgTDM1MS42IDEwOC4wIEwzMzAuOCAxMjAuMCBMMzEwLjAgMTA4LjAgTDMxMC4wIDg0LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zMzAuOCA3Mi4wIEwzMzAuOCA5Ni4wIE0zNTEuNiAxMDguMCBMMzMwLjggOTYuMCBNMzEwLjAgMTA4LjAgTDMzMC44IDk2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC44Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTM3Mi40IDcyLjAgTDM5My4xIDg0LjAgTDM5My4xIDEwOC4wIEwzNzIuNCAxMjAuMCBMMzUxLjYgMTA4LjAgTDM1MS42IDg0LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zNzIuNCA3Mi4wIEwzNzIuNCA5Ni4wIE0zOTMuMSAxMDguMCBMMzcyLjQgOTYuMCBNMzUxLjYgMTA4LjAgTDM3Mi40IDk2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC41Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTI4OS4yIDcyLjAgTDMxMC4wIDg0LjAgTDMxMC4wIDEwOC4wIEwyODkuMiAxMjAuMCBMMjY4LjQgMTA4LjAgTDI2OC40IDg0LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0yODkuMiA3Mi4wIEwyODkuMiA5Ni4wIE0zMTAuMCAxMDguMCBMMjg5LjIgOTYuMCBNMjY4LjQgMTA4LjAgTDI4OS4yIDk2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC4zNSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zMTAuMCAxMDguMCBMMzMwLjggMTIwLjAgTDMzMC44IDE0NC4wIEwzMTAuMCAxNTYuMCBMMjg5LjIgMTQ0LjAgTDI4OS4yIDEyMC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMzEwLjAgMTA4LjAgTDMxMC4wIDEzMi4wIE0zMzAuOCAxNDQuMCBMMzEwLjAgMTMyLjAgTTI4OS4yIDE0NC4wIEwzMTAuMCAxMzIuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjQiPgogICAgICAgICAgICA8cGF0aCBkPSJNMzUxLjYgMTA4LjAgTDM3Mi40IDEyMC4wIEwzNzIuNCAxNDQuMCBMMzUxLjYgMTU2LjAgTDMzMC44IDE0NC4wIEwzMzAuOCAxMjAuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTM1MS42IDEwOC4wIEwzNTEuNiAxMzIuMCBNMzcyLjQgMTQ0LjAgTDM1MS42IDEzMi4wIE0zMzAuOCAxNDQuMCBMMzUxLjYgMTMyLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC41NSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik00MTMuOSA3Mi4wIEw0MzQuNyA4NC4wIEw0MzQuNyAxMDguMCBMNDEzLjkgMTIwLjAgTDM5My4xIDEwOC4wIEwzOTMuMSA4NC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNNDEzLjkgNzIuMCBMNDEzLjkgOTYuMCBNNDM0LjcgMTA4LjAgTDQxMy45IDk2LjAgTTM5My4xIDEwOC4wIEw0MTMuOSA5Ni4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNTUiPgogICAgICAgICAgICA8cGF0aCBkPSJNODAuMCAzNDYuMCBMMTAwLjggMzU4LjAgTDEwMC44IDM4Mi4wIEw4MC4wIDM5NC4wIEw1OS4yIDM4Mi4wIEw1OS4yIDM1OC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNODAuMCAzNDYuMCBMODAuMCAzNzAuMCBNMTAwLjggMzgyLjAgTDgwLjAgMzcwLjAgTTU5LjIgMzgyLjAgTDgwLjAgMzcwLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC4zNSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMjEuNiAzNDYuMCBMMTQyLjQgMzU4LjAgTDE0Mi40IDM4Mi4wIEwxMjEuNiAzOTQuMCBMMTAwLjggMzgyLjAgTDEwMC44IDM1OC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMTIxLjYgMzQ2LjAgTDEyMS42IDM3MC4wIE0xNDIuNCAzODIuMCBMMTIxLjYgMzcwLjAgTTEwMC44IDM4Mi4wIEwxMjEuNiAzNzAuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjQ1Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTEwMC44IDM4Mi4wIEwxMjEuNiAzOTQuMCBMMTIxLjYgNDE4LjAgTDEwMC44IDQzMC4wIEw4MC4wIDQxOC4wIEw4MC4wIDM5NC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMTAwLjggMzgyLjAgTDEwMC44IDQwNi4wIE0xMjEuNiA0MTguMCBMMTAwLjggNDA2LjAgTTgwLjAgNDE4LjAgTDEwMC44IDQwNi4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuMzUiPgogICAgICAgICAgICA8cGF0aCBkPSJNMTQyLjQgMzgyLjAgTDE2My4xIDM5NC4wIEwxNjMuMSA0MTguMCBMMTQyLjQgNDMwLjAgTDEyMS42IDQxOC4wIEwxMjEuNiAzOTQuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTE0Mi40IDM4Mi4wIEwxNDIuNCA0MDYuMCBNMTYzLjEgNDE4LjAgTDE0Mi40IDQwNi4wIE0xMjEuNiA0MTguMCBMMTQyLjQgNDA2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC4yNSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik01OS4yIDM4Mi4wIEw4MC4wIDM5NC4wIEw4MC4wIDQxOC4wIEw1OS4yIDQzMC4wIEwzOC40IDQxOC4wIEwzOC40IDM5NC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNNTkuMiAzODIuMCBMNTkuMiA0MDYuMCBNODAuMCA0MTguMCBMNTkuMiA0MDYuMCBNMzguNCA0MTguMCBMNTkuMiA0MDYuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjMiPgogICAgICAgICAgICA8cGF0aCBkPSJNMTYzLjEgMzQ2LjAgTDE4My45IDM1OC4wIEwxODMuOSAzODIuMCBMMTYzLjEgMzk0LjAgTDE0Mi40IDM4Mi4wIEwxNDIuNCAzNTguMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTE2My4xIDM0Ni4wIEwxNjMuMSAzNzAuMCBNMTgzLjkgMzgyLjAgTDE2My4xIDM3MC4wIE0xNDIuNCAzODIuMCBMMTYzLjEgMzcwLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC44NSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik04MC4wIDYyNi4wIEwxMDAuOCA2MzguMCBMMTAwLjggNjYyLjAgTDgwLjAgNjc0LjAgTDU5LjIgNjYyLjAgTDU5LjIgNjM4LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik04MC4wIDYyNi4wIEw4MC4wIDY1MC4wIE0xMDAuOCA2NjIuMCBMODAuMCA2NTAuMCBNNTkuMiA2NjIuMCBMODAuMCA2NTAuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjciPgogICAgICAgICAgICA8cGF0aCBkPSJNMTIxLjYgNjI2LjAgTDE0Mi40IDYzOC4wIEwxNDIuNCA2NjIuMCBMMTIxLjYgNjc0LjAgTDEwMC44IDY2Mi4wIEwxMDAuOCA2MzguMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTEyMS42IDYyNi4wIEwxMjEuNiA2NTAuMCBNMTQyLjQgNjYyLjAgTDEyMS42IDY1MC4wIE0xMDAuOCA2NjIuMCBMMTIxLjYgNjUwLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC41NSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMDAuOCA2NjIuMCBMMTIxLjYgNjc0LjAgTDEyMS42IDY5OC4wIEwxMDAuOCA3MTAuMCBMODAuMCA2OTguMCBMODAuMCA2NzQuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTEwMC44IDY2Mi4wIEwxMDAuOCA2ODYuMCBNMTIxLjYgNjk4LjAgTDEwMC44IDY4Ni4wIE04MC4wIDY5OC4wIEwxMDAuOCA2ODYuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjY1Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTE0Mi40IDY2Mi4wIEwxNjMuMSA2NzQuMCBMMTYzLjEgNjk4LjAgTDE0Mi40IDcxMC4wIEwxMjEuNiA2OTguMCBMMTIxLjYgNjc0LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNDIuNCA2NjIuMCBMMTQyLjQgNjg2LjAgTTE2My4xIDY5OC4wIEwxNDIuNCA2ODYuMCBNMTIxLjYgNjk4LjAgTDE0Mi40IDY4Ni4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNiI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNjMuMSA2MjYuMCBMMTgzLjkgNjM4LjAgTDE4My45IDY2Mi4wIEwxNjMuMSA2NzQuMCBMMTQyLjQgNjYyLjAgTDE0Mi40IDYzOC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMTYzLjEgNjI2LjAgTDE2My4xIDY1MC4wIE0xODMuOSA2NjIuMCBMMTYzLjEgNjUwLjAgTTE0Mi40IDY2Mi4wIEwxNjMuMSA2NTAuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjQiPgogICAgICAgICAgICA8cGF0aCBkPSJNNTkuMiA2NjIuMCBMODAuMCA2NzQuMCBMODAuMCA2OTguMCBMNTkuMiA3MTAuMCBMMzguNCA2OTguMCBMMzguNCA2NzQuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTU5LjIgNjYyLjAgTDU5LjIgNjg2LjAgTTgwLjAgNjk4LjAgTDU5LjIgNjg2LjAgTTM4LjQgNjk4LjAgTDU5LjIgNjg2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC41Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTgwLjAgNjk4LjAgTDEwMC44IDcxMC4wIEwxMDAuOCA3MzQuMCBMODAuMCA3NDYuMCBMNTkuMiA3MzQuMCBMNTkuMiA3MTAuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTgwLjAgNjk4LjAgTDgwLjAgNzIyLjAgTTEwMC44IDczNC4wIEw4MC4wIDcyMi4wIE01OS4yIDczNC4wIEw4MC4wIDcyMi4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNCI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMjEuNiA2OTguMCBMMTQyLjQgNzEwLjAgTDE0Mi40IDczNC4wIEwxMjEuNiA3NDYuMCBMMTAwLjggNzM0LjAgTDEwMC44IDcxMC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMTIxLjYgNjk4LjAgTDEyMS42IDcyMi4wIE0xNDIuNCA3MzQuMCBMMTIxLjYgNzIyLjAgTTEwMC44IDczNC4wIEwxMjEuNiA3MjIuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjUiPgogICAgICAgICAgICA8cGF0aCBkPSJNMTgzLjkgNjYyLjAgTDIwNC43IDY3NC4wIEwyMDQuNyA2OTguMCBMMTgzLjkgNzEwLjAgTDE2My4xIDY5OC4wIEwxNjMuMSA2NzQuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTE4My45IDY2Mi4wIEwxODMuOSA2ODYuMCBNMjA0LjcgNjk4LjAgTDE4My45IDY4Ni4wIE0xNjMuMSA2OTguMCBMMTgzLjkgNjg2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC4zNSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNjMuMSA2OTguMCBMMTgzLjkgNzEwLjAgTDE4My45IDczNC4wIEwxNjMuMSA3NDYuMCBMMTQyLjQgNzM0LjAgTDE0Mi40IDcxMC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMTYzLjEgNjk4LjAgTDE2My4xIDcyMi4wIE0xODMuOSA3MzQuMCBMMTYzLjEgNzIyLjAgTTE0Mi40IDczNC4wIEwxNjMuMSA3MjIuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIzMTAuMCIgY3k9IjM2LjAiIHI9IjIuNiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjEiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIzNTEuNiIgY3k9IjM2LjAiIHI9IjIuNiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuOSIgLz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjM3Mi40IiBjeT0iNzIuMCIgcj0iMi42IiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC44IiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iNDEzLjkiIGN5PSI3Mi4wIiByPSIyLjYiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjU1IiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iODAuMCIgY3k9IjM0Ni4wIiByPSIyLjYiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjU1IiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iMTQyLjQiIGN5PSIzODIuMCIgcj0iMi42IiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC4zNSIgLz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjgwLjAiIGN5PSI2MjYuMCIgcj0iMi42IiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC44NSIgLz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjEyMS42IiBjeT0iNjI2LjAiIHI9IjIuNiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuNyIgLz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjE0Mi40IiBjeT0iNjYyLjAiIHI9IjIuNiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuNjUiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIxNjMuMSIgY3k9IjYyNi4wIiByPSIyLjYiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjYiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIxMjEuNiIgY3k9IjY5OC4wIiByPSIyLjYiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjQiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIzMzAuOCIgY3k9IjQ4LjAiIHI9IjIuMiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuNzAiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIzNzIuNCIgY3k9IjQ4LjAiIHI9IjIuMiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuNjMiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIzOTMuMSIgY3k9Ijg0LjAiIHI9IjIuMiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuNTYiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSI0MzQuNyIgY3k9Ijg0LjAiIHI9IjIuMiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuMzkiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIxMDAuOCIgY3k9IjM1OC4wIiByPSIyLjIiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjM5IiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iMTYzLjEiIGN5PSIzOTQuMCIgcj0iMi4yIiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC4yNCIgLz4KICAgICAgICA8L3N2Zz48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iYmQtaGVyby1nbCI+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImJkLWhlcm8taW4iPgogICAgICAgIDxkaXY+PHNwYW4gY2xhc3M9ImV5IGx0Ij5CTEFDS0RJQ0UgRE5TIFBST1RFQ1QgwrcgVElFUiAwMiDCtyBORVRXT1JLLUxFVkVMPC9zcGFuPgogICAgICAgICAgPGgxIGNsYXNzPSJoMSI+RE5TLWxheWVyIHByb3RlY3Rpb24uPGJyPkV2ZXJ5IHN1YnNjcmliZXIuPGJyPkxpdmUgaW4gPGVtPmRheXMuPC9lbT48L2gxPgogICAgICAgICAgPHAgY2xhc3M9Imhlcm8tc3ViIj5CbG9ja3MgcGhpc2hpbmcsIG1hbHdhcmUgYW5kIGJvdG5ldCBkb21haW5zIGF0IHRoZSBwb2ludCBvZiByZXNvbHV0aW9uIOKAlCBpbnNpZGUgeW91cgogICAgICAgICAgICBuZXR3b3JrLiBObyBoYXJkd2FyZSBkZXBlbmRlbmN5LCBubyBDUEUgcHJvY3VyZW1lbnQgY3ljbGUsIG5vIGNsaWVudCBzb2Z0d2FyZSwgbm8gc3Vic2NyaWJlciBhY3Rpb24uPC9wPgogICAgICAgICAgPGRpdiBjbGFzcz0iYnRuLXJvdyI+PGJ1dHRvbiBjbGFzcz0iYnRuLXAiIG9uY2xpY2s9InNob3dEZW1vKCkiPlJlcXVlc3QgYSBkZW1vbnN0cmF0aW9uPC9idXR0b24+PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImJkLWZlZWQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmZWVkLWhkIj48c3BhbiBjbGFzcz0iZmVlZC10aXRsZSI+RE5TIFJFU09MVVRJT04gRkVFRDwvc3Bhbj48c3BhbiBjbGFzcz0ibGl2ZS1iYWRnZSI+PHNwYW4KICAgICAgICAgICAgICAgICAgY2xhc3M9ImxpdmUtZG90Ij48L3NwYW4+TElWRSBCTE9DS0lORzwvc3Bhbj48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmVlZC1ib2R5Ij4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmZWVkLXJvdyI+PHNwYW4gY2xhc3M9ImZlZWQtbGJsIj5QaGlzaGluZyBkb21haW4gYmxvY2tlZCDigJQgbG9va2FsaWtlIGJhbmtpbmcgc2l0ZTwvc3Bhbj48c3BhbgogICAgICAgICAgICAgICAgICBjbGFzcz0iZmVlZC1yaXNrIGgiPkhJR0g8L3NwYW4+PHNwYW4gY2xhc3M9ImZlZWQtYmRnIGJsb2NrZWQiPkJMT0NLRUQ8L3NwYW4+PC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmVlZC1yb3ciPjxzcGFuIGNsYXNzPSJmZWVkLWxibCI+Qm90bmV0IEMyIGxvb2t1cCDigJQgc21hcnQgVFY8L3NwYW4+PHNwYW4KICAgICAgICAgICAgICAgICAgY2xhc3M9ImZlZWQtcmlzayBoIj5ISUdIPC9zcGFuPjxzcGFuIGNsYXNzPSJmZWVkLWJkZyBibG9ja2VkIj5CTE9DS0VEPC9zcGFuPjwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZlZWQtcm93Ij48c3BhbiBjbGFzcz0iZmVlZC1sYmwiPk1hbHdhcmUgZGlzdHJpYnV0aW9uIGRvbWFpbiDigJQgSW9UIGNhbWVyYTwvc3Bhbj48c3BhbgogICAgICAgICAgICAgICAgICBjbGFzcz0iZmVlZC1yaXNrIG0iPk1FRDwvc3Bhbj48c3BhbiBjbGFzcz0iZmVlZC1iZGcgYmxvY2tlZCI+QkxPQ0tFRDwvc3Bhbj48L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmZWVkLXJvdyI+PHNwYW4gY2xhc3M9ImZlZWQtbGJsIj5OZXdseSByZWdpc3RlcmVkIGRvbWFpbiBmbGFnZ2VkIGZvciBhbmFseXNpczwvc3Bhbj48c3BhbgogICAgICAgICAgICAgICAgICBjbGFzcz0iZmVlZC1yaXNrIG0iPk1FRDwvc3Bhbj48c3BhbiBjbGFzcz0iZmVlZC1iZGcgbW9uIj5NT05JVE9SSU5HPC9zcGFuPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KICAgIDxzZWN0aW9uIGNsYXNzPSJiZC1zZWN0IHQiIHN0eWxlPSJiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjAxMik7Ij4KICAgICAgPGRpdiBjbGFzcz0iYmQtc2kiPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3QtaGQiPjxzcGFuIGNsYXNzPSJleSI+V0hBVCBJVCBET0VTPC9zcGFuPgogICAgICAgICAgPGgyIGNsYXNzPSJoMiI+UHJvdGVjdGlvbiBhdCB0aGUgcG9pbnQgd2hlcmUgZXZlcnkgY29ubmVjdGlvbiA8ZW0+YmVnaW5zLjwvZW0+PC9oMj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJnMyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJiZC1jYXJkIj48c3BhbiBjbGFzcz0iZXkgYXgiPkNBUEFCSUxJVFkgMDE8L3NwYW4+CiAgICAgICAgICAgIDxoMyBzdHlsZT0iZm9udC1zaXplOjE3cHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOnZhcigtLXR4dCk7bWFyZ2luLWJvdHRvbToxMHB4O21hcmdpbi10b3A6OHB4OyI+QmxvY2tzCiAgICAgICAgICAgICAgdGhyZWF0cyBiZWZvcmUgYSBjb25uZWN0aW9uIGlzIG1hZGU8L2gzPgogICAgICAgICAgICA8cCBzdHlsZT0iZm9udC1zaXplOjE0cHg7Y29sb3I6dmFyKC0tdDIpO2xpbmUtaGVpZ2h0OjEuNzsiPkV2ZXJ5IGludGVybmV0IGNvbm5lY3Rpb24gYmVnaW5zIHdpdGggYSBETlMKICAgICAgICAgICAgICBsb29rdXAuIEROUyBQcm90ZWN0IGNoZWNrcyBlYWNoIHJlc29sdXRpb24gYWdhaW5zdCBjb250aW51b3VzbHkgdXBkYXRlZCBCbGFja0RpY2UgSVEgdGhyZWF0IGludGVsbGlnZW5jZQogICAgICAgICAgICAgIGFuZCBibG9ja3MgcGhpc2hpbmcsIG1hbHdhcmUgZGlzdHJpYnV0aW9uIGFuZCBib3RuZXQgQzIgZG9tYWlucyBiZWZvcmUgdGhlIGNvbm5lY3Rpb24gaXMgZXN0YWJsaXNoZWQuPC9wPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjLXRhZ3MiPjxzcGFuIGNsYXNzPSJjLXRhZyI+UGhpc2hpbmc8L3NwYW4+PHNwYW4gY2xhc3M9ImMtdGFnIj5NYWx3YXJlIGRvbWFpbnM8L3NwYW4+PHNwYW4KICAgICAgICAgICAgICAgIGNsYXNzPSJjLXRhZyI+Qm90bmV0IEMyPC9zcGFuPjwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJiZC1jYXJkIj48c3BhbiBjbGFzcz0iZXkgYXgiPkNBUEFCSUxJVFkgMDI8L3NwYW4+CiAgICAgICAgICAgIDxoMyBzdHlsZT0iZm9udC1zaXplOjE3cHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOnZhcigtLXR4dCk7bWFyZ2luLWJvdHRvbToxMHB4O21hcmdpbi10b3A6OHB4OyI+Q292ZXJzIGV2ZXJ5CiAgICAgICAgICAgICAgZGV2aWNlIGF1dG9tYXRpY2FsbHk8L2gzPgogICAgICAgICAgICA8cCBzdHlsZT0iZm9udC1zaXplOjE0cHg7Y29sb3I6dmFyKC0tdDIpO2xpbmUtaGVpZ2h0OjEuNzsiPkJlY2F1c2UgZW5mb3JjZW1lbnQgaGFwcGVucyBhdCB0aGUgbmV0d29yayBsZXZlbCwKICAgICAgICAgICAgICBldmVyeSBkZXZpY2UgaXMgcHJvdGVjdGVkIGZyb20gdGhlIG1vbWVudCBpdCBqb2lucyDigJQgaW5jbHVkaW5nIHNtYXJ0IFRWcywgY2FtZXJhcyBhbmQgb3RoZXIgSW9UIGRldmljZXMKICAgICAgICAgICAgICB0aGF0IGhhdmUgbm8gaW50ZXJmYWNlIGFuZCBjYW4gcnVuIG5vIHNvZnR3YXJlLiBOb3RoaW5nIHRvIGluc3RhbGwsIG5vdGhpbmcgZm9yIHRoZSBzdWJzY3JpYmVyIHRvCiAgICAgICAgICAgICAgY29uZmlndXJlLjwvcD4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYy10YWdzIj48c3BhbiBjbGFzcz0iYy10YWciPklvVCBpbmNsdWRlZDwvc3Bhbj48c3BhbiBjbGFzcz0iYy10YWciPk5vIGNsaWVudAogICAgICAgICAgICAgICAgc29mdHdhcmU8L3NwYW4+PHNwYW4gY2xhc3M9ImMtdGFnIj5aZXJvIHN1YnNjcmliZXIgZnJpY3Rpb248L3NwYW4+PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImJkLWNhcmQiPjxzcGFuIGNsYXNzPSJleSBheCI+Q0FQQUJJTElUWSAwMzwvc3Bhbj4KICAgICAgICAgICAgPGgzIHN0eWxlPSJmb250LXNpemU6MTdweDtmb250LXdlaWdodDo3MDA7Y29sb3I6dmFyKC0tdHh0KTttYXJnaW4tYm90dG9tOjEwcHg7bWFyZ2luLXRvcDo4cHg7Ij5EZXBsb3lzCiAgICAgICAgICAgICAgaW5zaWRlIHlvdXIgbmV0d29yazwvaDM+CiAgICAgICAgICAgIDxwIHN0eWxlPSJmb250LXNpemU6MTRweDtjb2xvcjp2YXIoLS10Mik7bGluZS1oZWlnaHQ6MS43OyI+RE5TIFByb3RlY3QgcnVucyB3aXRoaW4gb3BlcmF0b3IgaW5mcmFzdHJ1Y3R1cmUKICAgICAgICAgICAgICByYXRoZXIgdGhhbiByZWRpcmVjdGluZyByZXNvbHV0aW9uIHRvIGEgdGhpcmQtcGFydHkgY2xvdWQuIFRyYWZmaWMgc3RheXMgaW4geW91ciBuZXR3b3JrLCBkYXRhIHNvdmVyZWlnbnR5CiAgICAgICAgICAgICAgaXMgbWFpbnRhaW5lZCwgYW5kIHBvbGljeSByZW1haW5zIHVuZGVyIHlvdXIgY29udHJvbCDigJQgd2l0aCBibG9jaywgZmxhZyBhbmQgbW9uaXRvciBhY3Rpb25zIG1hbmFnZWQKICAgICAgICAgICAgICBjZW50cmFsbHkuPC9wPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjLXRhZ3MiPjxzcGFuIGNsYXNzPSJjLXRhZyI+T3BlcmF0b3IgaW5mcmFzdHJ1Y3R1cmU8L3NwYW4+PHNwYW4gY2xhc3M9ImMtdGFnIj5EYXRhCiAgICAgICAgICAgICAgICBzb3ZlcmVpZ250eTwvc3Bhbj48c3BhbiBjbGFzcz0iYy10YWciPkNlbnRyYWwgcG9saWN5IGNvbnRyb2w8L3NwYW4+PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L3NlY3Rpb24+CiAgICA8c2VjdGlvbiBjbGFzcz0iYmQtc2VjdCB0Ij4KICAgICAgPGRpdiBjbGFzcz0iYmQtc2kgdHdvLWNvbCI+CiAgICAgICAgPGRpdj48c3BhbiBjbGFzcz0iZXkiPldIRVJFIElUIEZJVFM8L3NwYW4+CiAgICAgICAgICA8aDIgY2xhc3M9ImgyIj5BIGZpcnN0IGxheWVyLCA8ZW0+YnkgZGVzaWduLjwvZW0+PC9oMj4KICAgICAgICAgIDxwIHN0eWxlPSJmb250LXNpemU6MTZweDtjb2xvcjp2YXIoLS10Mik7bGluZS1oZWlnaHQ6MS43NTttYXJnaW4tdG9wOjE2cHg7Ij5ETlMtbGF5ZXIgYmxvY2tpbmcgaXMgdGhlIGZhc3Rlc3QKICAgICAgICAgICAgcHJvdGVjdGlvbiBhbiBvcGVyYXRvciBjYW4gc3dpdGNoIG9uLiBJdCBpcyBhbHNvLCBkZWxpYmVyYXRlbHksIGEgZmlyc3QgbGF5ZXI6IGl0IGJsb2NrcyBrbm93biBtYWxpY2lvdXMKICAgICAgICAgICAgZG9tYWlucyBmb3IgZXZlcnkgZGV2aWNlLCBidXQgaXQgY2Fubm90IHNlZSBpbnNpZGUgZW5jcnlwdGVkIHRyYWZmaWMgYW5kIGl0IGFjdHMgb24gdGhyZWF0cyBvbmNlIHRoZXkgYXJlCiAgICAgICAgICAgIGtub3duLiBXZSBzYXkgdGhhdCBwbGFpbmx5IGJlY2F1c2UgdGhlIGFyY2hpdGVjdHVyZSBpcyBkZXNpZ25lZCBhcm91bmQgaXQuPC9wPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXY+CiAgICAgICAgICA8cCBzdHlsZT0iZm9udC1zaXplOjE1cHg7Y29sb3I6dmFyKC0tdDIpO2xpbmUtaGVpZ2h0OjEuODttYXJnaW4tYm90dG9tOjIwcHg7Ij5ETlMgUHJvdGVjdCBydW5zIG9uIHRoZSBzYW1lCiAgICAgICAgICAgIEJsYWNrRGljZSBJUSB0aHJlYXQgaW50ZWxsaWdlbmNlIGFzIHRoZSBmdWxsIGVkZ2UgcGxhdGZvcm0sIHNvIGV2ZXJ5IGRlcGxveW1lbnQgaXMgYSBmb3VuZGF0aW9uIHJhdGhlciB0aGFuCiAgICAgICAgICAgIGEgZGVhZCBlbmQuIE9wZXJhdG9ycyB0eXBpY2FsbHkgbGF1bmNoIEROUyBQcm90ZWN0IGFjcm9zcyB0aGVpciBmdWxsIHN1YnNjcmliZXIgYmFzZSBpbiBkYXlzLCB0aGVuIGV4dGVuZCB0bwogICAgICAgICAgICBCbGFja0RpY2UgSGFsbyBvbiB0aGUgcm91dGVyIOKAlCBhZGRpbmcgZGVlcCBwYWNrZXQgaW5zcGVjdGlvbiwgZGV2aWNlIGZpbmdlcnByaW50aW5nIGFuZCBiZWhhdmlvdXJhbAogICAgICAgICAgICBjb3JyZWxhdGlvbiB3aGVyZSBDUEUgaW50ZWdyYXRpb24gYWxsb3dzLjwvcD48YnV0dG9uIGNsYXNzPSJidG4tcCIgZGF0YS1wYWdlPSJwMyIKICAgICAgICAgICAgb25jbGljaz0iZ29QYWdlKGV2ZW50KSI+U2VlIEhhbG8gQ1BFIOKGkjwvYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KICAgIDxzZWN0aW9uIGNsYXNzPSJiZC1zZWN0IHQiIHN0eWxlPSJiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjAxMik7Ij4KICAgICAgPGRpdiBjbGFzcz0iYmQtc2kiPjxzcGFuIGNsYXNzPSJleSIgc3R5bGU9Im1hcmdpbi1ib3R0b206MjBweDsiPlRFQ0hOSUNBTCBTUEVDSUZJQ0FUSU9OUzwvc3Bhbj4KICAgICAgICA8ZGl2IGNsYXNzPSJzcGVjLXRibCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGVjLXIiPjxsYWJlbD5EZXBsb3ltZW50IGxheWVyPC9sYWJlbD48c3Bhbj5OZXR3b3JrLWxldmVsIEROUyByZXNvbHV0aW9uPC9zcGFuPjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic3BlYy1yIj48bGFiZWw+SGFyZHdhcmUgZGVwZW5kZW5jeTwvbGFiZWw+PHNwYW4+Tm9uZSDigJQgbm8gQ1BFIGludGVncmF0aW9uIHJlcXVpcmVkPC9zcGFuPjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic3BlYy1yIj48bGFiZWw+Q2xpZW50IHNvZnR3YXJlPC9sYWJlbD48c3Bhbj5Ob25lPC9zcGFuPjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic3BlYy1yIj48bGFiZWw+Q292ZXJhZ2U8L2xhYmVsPjxzcGFuPkV2ZXJ5IGRldmljZSBvbiB0aGUgbmV0d29yaywgaW5jbHVkaW5nIHVubWFuYWdlZCBJb1Q8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNwZWMtciI+PGxhYmVsPlRocmVhdCBpbnRlbGxpZ2VuY2U8L2xhYmVsPjxzcGFuPkJsYWNrRGljZSBJUSwgc2hhcmVkIHdpdGggdGhlIGZ1bGwgQ1BFCiAgICAgICAgICAgICAgcGxhdGZvcm08L3NwYW4+PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGVjLXIiPjxsYWJlbD5FbmZvcmNlbWVudCBhY3Rpb25zPC9sYWJlbD48c3Bhbj5CbG9jaywgZmxhZyBvciBtb25pdG9yIGJ5IG9wZXJhdG9yIHBvbGljeTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic3BlYy1yIj48bGFiZWw+RGVwbG95bWVudCB0aW1lPC9sYWJlbD48c3Bhbj5EYXlzIGFjcm9zcyB0aGUgZnVsbCBzdWJzY3JpYmVyIGJhc2U8L3NwYW4+PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGVjLXIiPjxsYWJlbD5EZXNpZ25lZCBmb3I8L2xhYmVsPjxzcGFuPklTUHMsIE1WTk9zIGFuZCByZWdpb25hbCB0ZWxlY29tcyBvcGVyYXRvcnM8L3NwYW4+PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgogICAgPGRpdiBjbGFzcz0iY3RhLWJhbmQiPgogICAgICA8ZGl2IGNsYXNzPSJjdGEtYmFuZC1pbiI+CiAgICAgICAgPGRpdj4KICAgICAgICAgIDxoMiBjbGFzcz0iaDIiPlN3aXRjaCBvbiBwcm90ZWN0aW9uIGZvciBldmVyeSBzdWJzY3JpYmVyLiBUaGVuIDxlbT5idWlsZCBmcm9tIHRoZXJlLjwvZW0+PC9oMj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2PgogICAgICAgICAgPHA+RE5TIFByb3RlY3QgZGVsaXZlcnMgbWVhc3VyYWJsZSBzZWN1cml0eSB2YWx1ZSB3aXRob3V0IHRvdWNoaW5nIGEgc2luZ2xlIHJvdXRlci4gV2hlbiB5b3UgYXJlIHJlYWR5IGZvcgogICAgICAgICAgICBiZWhhdmlvdXJhbCBpbnRlbGxpZ2VuY2UgYXQgdGhlIGVkZ2UsIHRoZSBpbnRlbGxpZ2VuY2UgbGF5ZXIgaXMgYWxyZWFkeSBpbiBwbGFjZS48L3A+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJidG4tcm93Ij48YnV0dG9uIGNsYXNzPSJidG4tcCIgb25jbGljaz0ic2hvd0RlbW8oKSI+UmVxdWVzdCBhIGRlbW9uc3RyYXRpb248L2J1dHRvbj48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxmb290ZXIgY2xhc3M9ImJkLWZvb3RlciI+PHN2ZyB2aWV3Qm94PSIwIDAgNjQgNjQiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJ2YXIoLS1heCkiCiAgICAgICAgc3Ryb2tlLXdpZHRoPSIzIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0eWxlPSJkaXNwbGF5OmJsb2NrO29wYWNpdHk6Ljc1OyI+CiAgICAgICAgPHBhdGggZD0iTTMyIDYgTDU2IDIwIEw1NiA0NiBMMzIgNjAgTDggNDYgTDggMjAgWiI+PC9wYXRoPgogICAgICAgIDxwYXRoIGQ9Ik0zMiA2IEwzMiAzMiBNOCAyMCBMMzIgMzIgTTU2IDIwIEwzMiAzMiI+PC9wYXRoPgogICAgICAgIDxjaXJjbGUgY3g9IjIwIiBjeT0iMjYiIHI9IjIuNCIgZmlsbD0idmFyKC0tYXgpIiBzdHJva2U9Im5vbmUiPjwvY2lyY2xlPgogICAgICAgIDxjaXJjbGUgY3g9IjIwIiBjeT0iMzQiIHI9IjIuNCIgZmlsbD0idmFyKC0tYXgpIiBzdHJva2U9Im5vbmUiPjwvY2lyY2xlPgogICAgICAgIDxjaXJjbGUgY3g9IjQ0IiBjeT0iMzQiIHI9IjIuNCIgZmlsbD0idmFyKC0tYXgpIiBzdHJva2U9Im5vbmUiPjwvY2lyY2xlPgogICAgICA8L3N2Zz48c3BhbgogICAgICAgIHN0eWxlPSJmb250LWZhbWlseTonVWJ1bnR1JyxzeXN0ZW0tdWksc2Fucy1zZXJpZjtmb250LXdlaWdodDo3MDA7Zm9udC1zaXplOjE0cHg7bGV0dGVyLXNwYWNpbmc6LS4ycHg7Y29sb3I6cmdiYSgyMzIsMjQ0LDI0MywuNTUpIj5CbGFja0RpY2U8L3NwYW4+CiAgICAgIDxkaXYgY2xhc3M9ImZ0ci1saW5rcyI+PGJ1dHRvbiBjbGFzcz0iZnRyLWxpbmsiIGRhdGEtcGFnZT0icDExIiBvbmNsaWNrPSJnb1BhZ2UoZXZlbnQpIj5Db29raWUKICAgICAgICAgIHBvbGljeTwvYnV0dG9uPjxidXR0b24gY2xhc3M9ImZ0ci1saW5rIiBkYXRhLXBhZ2U9InAxMiIgb25jbGljaz0iZ29QYWdlKGV2ZW50KSI+UHJpdmFjeSBwb2xpY3k8L2J1dHRvbj48L2Rpdj4KICAgICAgPHNwYW4gY2xhc3M9ImZ0ci1jb3B5Ij7CqSAyMDI2IEJMQUNLRElDRSBDWUJFUiBMVEQuPC9zcGFuPgogICAgPC9mb290ZXI+CiAgPC9kaXY+CgogIDwhLS0g4pWQ4pWQ4pWQIFAzOiBIQUxPIENQRSDilZDilZDilZAgLS0+CiAgPGRpdiBpZD0icGctcDMiIGNsYXNzPSJwZyIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+CiAgICA8c2VjdGlvbiBjbGFzcz0iYmQtaGVyby1zaCI+CiAgICAgIDxkaXYgY2xhc3M9ImJkLWhleC1tb3RpZiI+PHN2ZyB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiB2aWV3Qm94PSIwIDAgMzgwIDgyNCIKICAgICAgICAgIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIHNsaWNlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowOyI+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIxIj4KICAgICAgICAgICAgPHBhdGggZD0iTTMxMC4wIDM2LjAgTDMzMC44IDQ4LjAgTDMzMC44IDcyLjAgTDMxMC4wIDg0LjAgTDI4OS4yIDcyLjAgTDI4OS4yIDQ4LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zMTAuMCAzNi4wIEwzMTAuMCA2MC4wIE0zMzAuOCA3Mi4wIEwzMTAuMCA2MC4wIE0yODkuMiA3Mi4wIEwzMTAuMCA2MC4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuOSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zNTEuNiAzNi4wIEwzNzIuNCA0OC4wIEwzNzIuNCA3Mi4wIEwzNTEuNiA4NC4wIEwzMzAuOCA3Mi4wIEwzMzAuOCA0OC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMzUxLjYgMzYuMCBMMzUxLjYgNjAuMCBNMzcyLjQgNzIuMCBMMzUxLjYgNjAuMCBNMzMwLjggNzIuMCBMMzUxLjYgNjAuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjciPgogICAgICAgICAgICA8cGF0aCBkPSJNMzMwLjggNzIuMCBMMzUxLjYgODQuMCBMMzUxLjYgMTA4LjAgTDMzMC44IDEyMC4wIEwzMTAuMCAxMDguMCBMMzEwLjAgODQuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTMzMC44IDcyLjAgTDMzMC44IDk2LjAgTTM1MS42IDEwOC4wIEwzMzAuOCA5Ni4wIE0zMTAuMCAxMDguMCBMMzMwLjggOTYuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjgiPgogICAgICAgICAgICA8cGF0aCBkPSJNMzcyLjQgNzIuMCBMMzkzLjEgODQuMCBMMzkzLjEgMTA4LjAgTDM3Mi40IDEyMC4wIEwzNTEuNiAxMDguMCBMMzUxLjYgODQuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTM3Mi40IDcyLjAgTDM3Mi40IDk2LjAgTTM5My4xIDEwOC4wIEwzNzIuNCA5Ni4wIE0zNTEuNiAxMDguMCBMMzcyLjQgOTYuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjUiPgogICAgICAgICAgICA8cGF0aCBkPSJNMjg5LjIgNzIuMCBMMzEwLjAgODQuMCBMMzEwLjAgMTA4LjAgTDI4OS4yIDEyMC4wIEwyNjguNCAxMDguMCBMMjY4LjQgODQuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTI4OS4yIDcyLjAgTDI4OS4yIDk2LjAgTTMxMC4wIDEwOC4wIEwyODkuMiA5Ni4wIE0yNjguNCAxMDguMCBMMjg5LjIgOTYuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjM1Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTMxMC4wIDEwOC4wIEwzMzAuOCAxMjAuMCBMMzMwLjggMTQ0LjAgTDMxMC4wIDE1Ni4wIEwyODkuMiAxNDQuMCBMMjg5LjIgMTIwLjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zMTAuMCAxMDguMCBMMzEwLjAgMTMyLjAgTTMzMC44IDE0NC4wIEwzMTAuMCAxMzIuMCBNMjg5LjIgMTQ0LjAgTDMxMC4wIDEzMi4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNCI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zNTEuNiAxMDguMCBMMzcyLjQgMTIwLjAgTDM3Mi40IDE0NC4wIEwzNTEuNiAxNTYuMCBMMzMwLjggMTQ0LjAgTDMzMC44IDEyMC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMzUxLjYgMTA4LjAgTDM1MS42IDEzMi4wIE0zNzIuNCAxNDQuMCBMMzUxLjYgMTMyLjAgTTMzMC44IDE0NC4wIEwzNTEuNiAxMzIuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjU1Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTQxMy45IDcyLjAgTDQzNC43IDg0LjAgTDQzNC43IDEwOC4wIEw0MTMuOSAxMjAuMCBMMzkzLjEgMTA4LjAgTDM5My4xIDg0LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik00MTMuOSA3Mi4wIEw0MTMuOSA5Ni4wIE00MzQuNyAxMDguMCBMNDEzLjkgOTYuMCBNMzkzLjEgMTA4LjAgTDQxMy45IDk2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC41NSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik04MC4wIDM0Ni4wIEwxMDAuOCAzNTguMCBMMTAwLjggMzgyLjAgTDgwLjAgMzk0LjAgTDU5LjIgMzgyLjAgTDU5LjIgMzU4LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik04MC4wIDM0Ni4wIEw4MC4wIDM3MC4wIE0xMDAuOCAzODIuMCBMODAuMCAzNzAuMCBNNTkuMiAzODIuMCBMODAuMCAzNzAuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjM1Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTEyMS42IDM0Ni4wIEwxNDIuNCAzNTguMCBMMTQyLjQgMzgyLjAgTDEyMS42IDM5NC4wIEwxMDAuOCAzODIuMCBMMTAwLjggMzU4LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMjEuNiAzNDYuMCBMMTIxLjYgMzcwLjAgTTE0Mi40IDM4Mi4wIEwxMjEuNiAzNzAuMCBNMTAwLjggMzgyLjAgTDEyMS42IDM3MC4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNDUiPgogICAgICAgICAgICA8cGF0aCBkPSJNMTAwLjggMzgyLjAgTDEyMS42IDM5NC4wIEwxMjEuNiA0MTguMCBMMTAwLjggNDMwLjAgTDgwLjAgNDE4LjAgTDgwLjAgMzk0LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMDAuOCAzODIuMCBMMTAwLjggNDA2LjAgTTEyMS42IDQxOC4wIEwxMDAuOCA0MDYuMCBNODAuMCA0MTguMCBMMTAwLjggNDA2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC4zNSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNDIuNCAzODIuMCBMMTYzLjEgMzk0LjAgTDE2My4xIDQxOC4wIEwxNDIuNCA0MzAuMCBMMTIxLjYgNDE4LjAgTDEyMS42IDM5NC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMTQyLjQgMzgyLjAgTDE0Mi40IDQwNi4wIE0xNjMuMSA0MTguMCBMMTQyLjQgNDA2LjAgTTEyMS42IDQxOC4wIEwxNDIuNCA0MDYuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjI1Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTU5LjIgMzgyLjAgTDgwLjAgMzk0LjAgTDgwLjAgNDE4LjAgTDU5LjIgNDMwLjAgTDM4LjQgNDE4LjAgTDM4LjQgMzk0LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik01OS4yIDM4Mi4wIEw1OS4yIDQwNi4wIE04MC4wIDQxOC4wIEw1OS4yIDQwNi4wIE0zOC40IDQxOC4wIEw1OS4yIDQwNi4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuMyI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNjMuMSAzNDYuMCBMMTgzLjkgMzU4LjAgTDE4My45IDM4Mi4wIEwxNjMuMSAzOTQuMCBMMTQyLjQgMzgyLjAgTDE0Mi40IDM1OC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMTYzLjEgMzQ2LjAgTDE2My4xIDM3MC4wIE0xODMuOSAzODIuMCBMMTYzLjEgMzcwLjAgTTE0Mi40IDM4Mi4wIEwxNjMuMSAzNzAuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjg1Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTgwLjAgNjI2LjAgTDEwMC44IDYzOC4wIEwxMDAuOCA2NjIuMCBMODAuMCA2NzQuMCBMNTkuMiA2NjIuMCBMNTkuMiA2MzguMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTgwLjAgNjI2LjAgTDgwLjAgNjUwLjAgTTEwMC44IDY2Mi4wIEw4MC4wIDY1MC4wIE01OS4yIDY2Mi4wIEw4MC4wIDY1MC4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNyI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMjEuNiA2MjYuMCBMMTQyLjQgNjM4LjAgTDE0Mi40IDY2Mi4wIEwxMjEuNiA2NzQuMCBMMTAwLjggNjYyLjAgTDEwMC44IDYzOC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMTIxLjYgNjI2LjAgTDEyMS42IDY1MC4wIE0xNDIuNCA2NjIuMCBMMTIxLjYgNjUwLjAgTTEwMC44IDY2Mi4wIEwxMjEuNiA2NTAuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjU1Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTEwMC44IDY2Mi4wIEwxMjEuNiA2NzQuMCBMMTIxLjYgNjk4LjAgTDEwMC44IDcxMC4wIEw4MC4wIDY5OC4wIEw4MC4wIDY3NC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMTAwLjggNjYyLjAgTDEwMC44IDY4Ni4wIE0xMjEuNiA2OTguMCBMMTAwLjggNjg2LjAgTTgwLjAgNjk4LjAgTDEwMC44IDY4Ni4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNjUiPgogICAgICAgICAgICA8cGF0aCBkPSJNMTQyLjQgNjYyLjAgTDE2My4xIDY3NC4wIEwxNjMuMSA2OTguMCBMMTQyLjQgNzEwLjAgTDEyMS42IDY5OC4wIEwxMjEuNiA2NzQuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTE0Mi40IDY2Mi4wIEwxNDIuNCA2ODYuMCBNMTYzLjEgNjk4LjAgTDE0Mi40IDY4Ni4wIE0xMjEuNiA2OTguMCBMMTQyLjQgNjg2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC42Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTE2My4xIDYyNi4wIEwxODMuOSA2MzguMCBMMTgzLjkgNjYyLjAgTDE2My4xIDY3NC4wIEwxNDIuNCA2NjIuMCBMMTQyLjQgNjM4LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNjMuMSA2MjYuMCBMMTYzLjEgNjUwLjAgTTE4My45IDY2Mi4wIEwxNjMuMSA2NTAuMCBNMTQyLjQgNjYyLjAgTDE2My4xIDY1MC4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNCI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik01OS4yIDY2Mi4wIEw4MC4wIDY3NC4wIEw4MC4wIDY5OC4wIEw1OS4yIDcxMC4wIEwzOC40IDY5OC4wIEwzOC40IDY3NC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNNTkuMiA2NjIuMCBMNTkuMiA2ODYuMCBNODAuMCA2OTguMCBMNTkuMiA2ODYuMCBNMzguNCA2OTguMCBMNTkuMiA2ODYuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjUiPgogICAgICAgICAgICA8cGF0aCBkPSJNODAuMCA2OTguMCBMMTAwLjggNzEwLjAgTDEwMC44IDczNC4wIEw4MC4wIDc0Ni4wIEw1OS4yIDczNC4wIEw1OS4yIDcxMC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNODAuMCA2OTguMCBMODAuMCA3MjIuMCBNMTAwLjggNzM0LjAgTDgwLjAgNzIyLjAgTTU5LjIgNzM0LjAgTDgwLjAgNzIyLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC40Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTEyMS42IDY5OC4wIEwxNDIuNCA3MTAuMCBMMTQyLjQgNzM0LjAgTDEyMS42IDc0Ni4wIEwxMDAuOCA3MzQuMCBMMTAwLjggNzEwLjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMjEuNiA2OTguMCBMMTIxLjYgNzIyLjAgTTE0Mi40IDczNC4wIEwxMjEuNiA3MjIuMCBNMTAwLjggNzM0LjAgTDEyMS42IDcyMi4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xODMuOSA2NjIuMCBMMjA0LjcgNjc0LjAgTDIwNC43IDY5OC4wIEwxODMuOSA3MTAuMCBMMTYzLjEgNjk4LjAgTDE2My4xIDY3NC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMTgzLjkgNjYyLjAgTDE4My45IDY4Ni4wIE0yMDQuNyA2OTguMCBMMTgzLjkgNjg2LjAgTTE2My4xIDY5OC4wIEwxODMuOSA2ODYuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjM1Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTE2My4xIDY5OC4wIEwxODMuOSA3MTAuMCBMMTgzLjkgNzM0LjAgTDE2My4xIDc0Ni4wIEwxNDIuNCA3MzQuMCBMMTQyLjQgNzEwLjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNjMuMSA2OTguMCBMMTYzLjEgNzIyLjAgTTE4My45IDczNC4wIEwxNjMuMSA3MjIuMCBNMTQyLjQgNzM0LjAgTDE2My4xIDcyMi4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjMxMC4wIiBjeT0iMzYuMCIgcj0iMi42IiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMSIgLz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjM1MS42IiBjeT0iMzYuMCIgcj0iMi42IiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC45IiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iMzcyLjQiIGN5PSI3Mi4wIiByPSIyLjYiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjgiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSI0MTMuOSIgY3k9IjcyLjAiIHI9IjIuNiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuNTUiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSI4MC4wIiBjeT0iMzQ2LjAiIHI9IjIuNiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuNTUiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIxNDIuNCIgY3k9IjM4Mi4wIiByPSIyLjYiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjM1IiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iODAuMCIgY3k9IjYyNi4wIiByPSIyLjYiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjg1IiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iMTIxLjYiIGN5PSI2MjYuMCIgcj0iMi42IiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC43IiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iMTQyLjQiIGN5PSI2NjIuMCIgcj0iMi42IiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC42NSIgLz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjE2My4xIiBjeT0iNjI2LjAiIHI9IjIuNiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuNiIgLz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjEyMS42IiBjeT0iNjk4LjAiIHI9IjIuNiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuNCIgLz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjMzMC44IiBjeT0iNDguMCIgcj0iMi4yIiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC43MCIgLz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjM3Mi40IiBjeT0iNDguMCIgcj0iMi4yIiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC42MyIgLz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjM5My4xIiBjeT0iODQuMCIgcj0iMi4yIiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC41NiIgLz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjQzNC43IiBjeT0iODQuMCIgcj0iMi4yIiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC4zOSIgLz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjEwMC44IiBjeT0iMzU4LjAiIHI9IjIuMiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuMzkiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIxNjMuMSIgY3k9IjM5NC4wIiByPSIyLjIiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjI0IiAvPgogICAgICAgIDwvc3ZnPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJiZC1oZXJvLWdsIj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iYmQtaGVyby1pbiI+CiAgICAgICAgPGRpdj48c3BhbiBjbGFzcz0iZXkgbHQiPkJMQUNLRElDRSBIQUxPIENQRSDCtyBDQVJSSUVSLUdSQURFIERFUExPWU1FTlQ8L3NwYW4+CiAgICAgICAgICA8aDEgY2xhc3M9ImgxIj5JbmR1c3RyaWFsLWdyYWRlPGJyPmN5YmVyIGRlZmVuY2UuPGJyPjxlbT5aZXJvIGhhcmR3YXJlIGNoYW5nZXMuPC9lbT48L2gxPgogICAgICAgICAgPHAgY2xhc3M9Imhlcm8tc3ViIj5CbGFja0RpY2UgSGFsbyBlbWJlZHMgZGlyZWN0bHkgaW50byB5b3VyIGV4aXN0aW5nIENQRSBlc3RhdGUgdmlhIGZpcm13YXJlLCBUUi0wNjkvMzY5IG9yCiAgICAgICAgICAgIGNvbnRhaW5lcmlzZWQgZGVwbG95bWVudC4gRnVsbCBEUEksIGFsbC1kZXZpY2UgSW9UIHByb3RlY3Rpb24gYW5kIHplcm8tZGF5IGJlaGF2aW91cmFsIGRldGVjdGlvbiBhdAogICAgICAgICAgICBzdWJzY3JpYmVyIHNjYWxlIOKAlCB3aXRoIG5vIGxhdGVuY3kgaW1wYWN0IGFuZCBubyB1c2VyIGZyaWN0aW9uLjwvcD4KICAgICAgICAgIDxkaXYgY2xhc3M9ImJ0bi1yb3ciPjxidXR0b24gY2xhc3M9ImJ0bi1wIiBvbmNsaWNrPSJzaG93RGVtbygpIj5SZXF1ZXN0IGEgZGVtb25zdHJhdGlvbjwvYnV0dG9uPjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWNzLWdyaWQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYyI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWMtdmFsIGF4IiBkYXRhLWNvdW50PSI1IiBkYXRhLXN1ZmZpeD0iIj41PC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWMtbGJsIj5EQVRBIExBWUVSUyBWSVNJQkxFPGJyPlNJTVVMVEFORU9VU0xZPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYyI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWMtdmFsIj4mbHQ7Mm1zPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWMtbGJsIj5FREdFIEVORk9SQ0VNRU5UPGJyPkxBVEVOQ1k8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1jIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYy12YWwgYXgiPjA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYy1sYmwiPkhBUkRXQVJFIENIQU5HRVM8YnI+UkVRVUlSRUQ8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1jIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYy12YWwiPjEwMCU8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYy1sYmwiPklvVCBERVZJQ0UgQ09WRVJBR0U8YnI+Tk8gQ0xJRU5UIFNPRlRXQVJFPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgogICAgPHNlY3Rpb24gY2xhc3M9ImJkLXNlY3QgdCIgc3R5bGU9ImJhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMDEyKTsiPgogICAgICA8ZGl2IGNsYXNzPSJiZC1zaSI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdC1oZCI+PHNwYW4gY2xhc3M9ImV5Ij5QTEFURk9STSBBUkNISVRFQ1RVUkU8L3NwYW4+CiAgICAgICAgICA8aDIgY2xhc3M9ImgyIj5Ib3cgdGhlIHBsYXRmb3JtIDxlbT5pcyBidWlsdC48L2VtPjwvaDI+CiAgICAgICAgICA8cD5CbGFja0RpY2UgSGFsbyBvcGVyYXRlcyBhcyBhIGxheWVyZWQgaW50ZWxsaWdlbmNlIGFyY2hpdGVjdHVyZS4gRWFjaCBsYXllciBhZGRzIGEgZGltZW5zaW9uIG9mIHZpc2liaWxpdHkKICAgICAgICAgICAgYW5kIGNvbnRyb2wg4oCUIHRvZ2V0aGVyIHRoZXkgY3JlYXRlIGEgZGV0ZWN0aW9uIGNhcGFiaWxpdHkgdGhhdCBubyBzaW5nbGUtbGF5ZXIgYXBwcm9hY2ggY2FuIHJlcGxpY2F0ZS48L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iYXJjaC1sYXllcnMiPgogICAgICAgICAgPGRpdiBjbGFzcz0iYXJjaC1sYXllciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFyY2gtbGJsIj5FREdFPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFyY2gtYm9keSI+CiAgICAgICAgICAgICAgPGgzPkVkZ2UgYWdlbnQgZW1iZWRkZWQgaW4gQ1BFIGZpcm13YXJlPC9oMz4KICAgICAgICAgICAgICA8cD5BIGxpZ2h0d2VpZ2h0IHNvZnR3YXJlIGFnZW50IGRlcGxveWVkIGRpcmVjdGx5IGludG8gdGhlIHJvdXRlciB2aWEgVFItMDY5LzM2OSwgZmlybXdhcmUgU0RLIG9yCiAgICAgICAgICAgICAgICBjb250YWluZXJpc2VkIGVudmlyb25tZW50LiBPcGVyYXRlcyBpbmxpbmUgYXQgdGhlIHBhY2tldCBpbnNwZWN0aW9uIGxheWVyLCBlbmZvcmNpbmcgcHJvdGVjdGlvbiBsb2NhbGx5CiAgICAgICAgICAgICAgICBldmVuIHdoZW4gY2xvdWQgY29ubmVjdGl2aXR5IGlzIGludGVycnVwdGVkLiBPYnNlcnZlcyBhbGwgdHJhZmZpYyBmcm9tIGFsbCBkZXZpY2VzIGZyb20gdGhlIG1vbWVudCB0aGV5CiAgICAgICAgICAgICAgICBjb25uZWN0LjwvcD4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhcmNoLWNhcHMiPjxzcGFuIGNsYXNzPSJhcmNoLWNhcCI+VFItMDY5IC8gMzY5PC9zcGFuPjxzcGFuIGNsYXNzPSJhcmNoLWNhcCI+RmlybXdhcmUKICAgICAgICAgICAgICAgICAgU0RLPC9zcGFuPjxzcGFuIGNsYXNzPSJhcmNoLWNhcCI+Q29udGFpbmVyaXNlZDwvc3Bhbj48c3BhbgogICAgICAgICAgICAgICAgICBjbGFzcz0iYXJjaC1jYXAiPkhhcmR3YXJlLWFnbm9zdGljPC9zcGFuPjxzcGFuIGNsYXNzPSJhcmNoLWNhcCI+TG9jYWwgZW5mb3JjZW1lbnQ8L3NwYW4+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJhcmNoLWxheWVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYXJjaC1sYmwiPklOVEVMTElHRU5DRTwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJhcmNoLWJvZHkiPgogICAgICAgICAgICAgIDxoMz5CbGFja0RpY2UgSVHihKIgZmVkZXJhdGVkIEFJIGVuZ2luZTwvaDM+CiAgICAgICAgICAgICAgPHA+QWdncmVnYXRlcyBhbm9ueW1pc2VkIHRlbGVtZXRyeSBmcm9tIGFjcm9zcyBhbGwgZGVwbG95bWVudHMsIGFwcGxpZXMgYmVoYXZpb3VyYWwgYW5hbHlzaXMgdmlhIGZlZGVyYXRlZAogICAgICAgICAgICAgICAgbWFjaGluZSBsZWFybmluZywgYW5kIGdlbmVyYXRlcyByaXNrIGFzc2Vzc21lbnRzIGFuZCBwb2xpY3kgZGVjaXNpb25zLiBDb250aW51b3VzbHkgbGVhcm5zIHdpdGhvdXQKICAgICAgICAgICAgICAgIGNlbnRyYWxpc2luZyByYXcgc3Vic2NyaWJlciBkYXRhLiBEZXRlY3RzIHplcm8tZGF5IHRocmVhdHMgYnkgaWRlbnRpZnlpbmcgZGV2aWF0aW9uIGZyb20gZXN0YWJsaXNoZWQKICAgICAgICAgICAgICAgIGJlaGF2aW91cmFsIGJhc2VsaW5lcyDigJQgbm90IGJ5IHdhaXRpbmcgZm9yIHNpZ25hdHVyZSBkYXRhYmFzZSB1cGRhdGVzLjwvcD4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhcmNoLWNhcHMiPjxzcGFuIGNsYXNzPSJhcmNoLWNhcCI+RmVkZXJhdGVkIGxlYXJuaW5nPC9zcGFuPjxzcGFuIGNsYXNzPSJhcmNoLWNhcCI+WmVyby1kYXkKICAgICAgICAgICAgICAgICAgZGV0ZWN0aW9uPC9zcGFuPjxzcGFuIGNsYXNzPSJhcmNoLWNhcCI+QmVoYXZpb3VyYWwgYmFzZWxpbmVzPC9zcGFuPjxzcGFuIGNsYXNzPSJhcmNoLWNhcCI+Tm8gcmF3IGRhdGEKICAgICAgICAgICAgICAgICAgY2VudHJhbGlzYXRpb248L3NwYW4+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJhcmNoLWxheWVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYXJjaC1sYmwiPk9QRVJBVE9SPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFyY2gtYm9keSI+CiAgICAgICAgICAgICAgPGgzPkJsYWNrRGljZSBSZXRpbmHihKIgY2Fycmllci1ncmFkZSBvcGVyYXRvciBjb25zb2xlPC9oMz4KICAgICAgICAgICAgICA8cD5UcmFuc2xhdGVzIHJhdyBuZXR3b3JrIHRlbGVtZXRyeSBpbnRvIGFjdGlvbmFibGUgYnVzaW5lc3MgaW50ZWxsaWdlbmNlLiBSZWFsLXRpbWUgdGhyZWF0IHZpc2liaWxpdHkKICAgICAgICAgICAgICAgIGFjcm9zcyByb3V0ZXJzIGFuZCBkZXZpY2VzLCBuZXR3b3JrIGFuZCBzZWN1cml0eSB0ZWxlbWV0cnkgbGlua2VkIHRvIFFvRSBhbmQgY2h1cm4gaW5kaWNhdG9ycywKICAgICAgICAgICAgICAgIGFjdGlvbmFibGUgaW5zaWdodHMgZm9yIHNlZ21lbnRhdGlvbiwgbW9uZXRpc2F0aW9uIGFuZCBwb2xpY3kgY29udHJvbC4gQnVpbHQgYXQgb3BlcmF0b3Igc2NhbGUg4oCUIG5vdAogICAgICAgICAgICAgICAgYWRhcHRlZCBmcm9tIGVudGVycHJpc2UgdG9vbHMuPC9wPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFyY2gtY2FwcyI+PHNwYW4gY2xhc3M9ImFyY2gtY2FwIj5SZWFsLXRpbWUgdGhyZWF0IHZpc2liaWxpdHk8L3NwYW4+PHNwYW4gY2xhc3M9ImFyY2gtY2FwIj5Rb0UKICAgICAgICAgICAgICAgICAgbGlua2FnZTwvc3Bhbj48c3BhbiBjbGFzcz0iYXJjaC1jYXAiPkNodXJuIGluZGljYXRvcnM8L3NwYW4+PHNwYW4gY2xhc3M9ImFyY2gtY2FwIj5Qb2xpY3kKICAgICAgICAgICAgICAgICAgY29udHJvbDwvc3Bhbj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImFyY2gtbGF5ZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJhcmNoLWxibCI+U1VCU0NSSUJFUjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJhcmNoLWJvZHkiPgogICAgICAgICAgICAgIDxoMz5CbGFja0RpY2UgQW5nZWzihKIgc3Vic2NyaWJlci1mYWNpbmcgYXBwbGljYXRpb248L2gzPgogICAgICAgICAgICAgIDxwPkEgd2hpdGUtbGFiZWxsZWQgY29uc3VtZXIgYXBwbGljYXRpb24gZ2l2aW5nIGZhbWlsaWVzIGFuZCBidXNpbmVzc2VzIGludHVpdGl2ZSBjb250cm9sIG92ZXIgdGhlaXIKICAgICAgICAgICAgICAgIGRpZ2l0YWwgc2VjdXJpdHkuIENsZWFyIHNlY3VyaXR5IHNjb3JlcywgcGxhaW4tbGFuZ3VhZ2UgZXhwbGFuYXRpb25zIG9mIHRocmVhdHMgYmxvY2tlZCwgb25lLXRhcAogICAgICAgICAgICAgICAgcmVtZWRpYXRpb24gYW5kIGZhbWlseSBjb250cm9scy4gVHVybnMgc2VjdXJpdHkgZnJvbSBhbiBpbnZpc2libGUgc2VydmljZSBpbnRvIHNvbWV0aGluZyBzdWJzY3JpYmVycyBjYW4KICAgICAgICAgICAgICAgIHNlZSwgdmFsdWUgYW5kIHN0YXkgZm9yLjwvcD4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhcmNoLWNhcHMiPjxzcGFuIGNsYXNzPSJhcmNoLWNhcCI+V2hpdGUtbGFiZWw8L3NwYW4+PHNwYW4gY2xhc3M9ImFyY2gtY2FwIj5TZWN1cml0eQogICAgICAgICAgICAgICAgICBzY29yZXM8L3NwYW4+PHNwYW4gY2xhc3M9ImFyY2gtY2FwIj5PbmUtdGFwIHJlbWVkaWF0aW9uPC9zcGFuPjxzcGFuIGNsYXNzPSJhcmNoLWNhcCI+RmFtaWx5CiAgICAgICAgICAgICAgICAgIGNvbnRyb2xzPC9zcGFuPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KICAgIDxzZWN0aW9uIGNsYXNzPSJiZC1zZWN0IHQiPgogICAgICA8ZGl2IGNsYXNzPSJiZC1zaSI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdC1oZCI+PHNwYW4gY2xhc3M9ImV5Ij5GSVZFIERBVEEgTEFZRVJTIFNJTVVMVEFORU9VU0xZPC9zcGFuPgogICAgICAgICAgPGgyIGNsYXNzPSJoMiI+VGhlIG9ubHkgcGxhdGZvcm0gd2l0aCB2aXNpYmlsaXR5IGFjcm9zcyA8ZW0+YWxsIGZpdmUgbGF5ZXJzPC9lbT4gYXQgZGVwbG95bWVudC48L2gyPgogICAgICAgICAgPHA+VGhpcyBpcyBub3QgYW4gYXJjaGl0ZWN0dXJhbCBhc3BpcmF0aW9uIOKAlCBpdCBpcyB0aGUgcHJvZHVjdGlvbiByZWFsaXR5IG9mIGV2ZXJ5IENQRSBkZXBsb3ltZW50LjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJnMyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJiZC1jYXJkIj48c3BhbiBjbGFzcz0iZXkgYXgiPkxBWUVSIDAxPC9zcGFuPgogICAgICAgICAgICA8aDMgc3R5bGU9ImZvbnQtc2l6ZToxN3B4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjp2YXIoLS10eHQpO21hcmdpbi1ib3R0b206MTBweDttYXJnaW4tdG9wOjhweDsiPkROUyBxdWVyeQogICAgICAgICAgICAgIHN0cmVhbXM8L2gzPgogICAgICAgICAgICA8cCBzdHlsZT0iZm9udC1zaXplOjE0cHg7Y29sb3I6dmFyKC0tdDIpO2xpbmUtaGVpZ2h0OjEuNzsiPkV2ZXJ5IGRvbWFpbiByZXNvbHV0aW9uIHJlcXVlc3QgZnJvbSBldmVyeSBkZXZpY2UKICAgICAgICAgICAgICDigJQgaW5jbHVkaW5nIElvVCBkZXZpY2VzLCBzbWFydCBUVnMgYW5kIGdhbWluZyBjb25zb2xlcyB3aXRoIG5vIHVzZXItZmFjaW5nIGludGVyZmFjZS4gSW50ZW50IHNpZ25hbHMgYXQKICAgICAgICAgICAgICBzb3VyY2UuPC9wPgogICAgICAgICAgICA8cCBzdHlsZT0ibWFyZ2luLXRvcDoxMnB4O2ZvbnQtc2l6ZToxM3B4O2NvbG9yOnZhcigtLWF4KTsiPlZpc2libGUgdG8gRE5TLW9ubHkgc29sdXRpb25zLCBidXQgdGhpcyBpcyB3aGVyZQogICAgICAgICAgICAgIHRoZWlyIHZpc2liaWxpdHkgZW5kcy48L3A+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImJkLWNhcmQiPjxzcGFuIGNsYXNzPSJleSBheCI+TEFZRVIgMDI8L3NwYW4+CiAgICAgICAgICAgIDxoMyBzdHlsZT0iZm9udC1zaXplOjE3cHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOnZhcigtLXR4dCk7bWFyZ2luLWJvdHRvbToxMHB4O21hcmdpbi10b3A6OHB4OyI+RGVlcCBwYWNrZXQKICAgICAgICAgICAgICBpbnNwZWN0aW9uIG1ldGFkYXRhPC9oMz4KICAgICAgICAgICAgPHAgc3R5bGU9ImZvbnQtc2l6ZToxNHB4O2NvbG9yOnZhcigtLXQyKTtsaW5lLWhlaWdodDoxLjc7Ij5Qcm90b2NvbC1sZXZlbCB0cmFmZmljIGNsYXNzaWZpY2F0aW9uIGluY2x1ZGluZwogICAgICAgICAgICAgIGVuY3J5cHRlZCBzZXJ2aWNlIGlkZW50aWZpY2F0aW9uLCB3aXRob3V0IGRlY3J5cHRpbmcgcGF5bG9hZCBjb250ZW50LiBJZGVudGlmaWVzIGFwcGxpY2F0aW9uIGJlaGF2aW91cgogICAgICAgICAgICAgIHBhdHRlcm5zIGNvbXBsZXRlbHkgaW52aXNpYmxlIHRvIEROUy1vbmx5IHNvbHV0aW9ucy48L3A+CiAgICAgICAgICAgIDxwIHN0eWxlPSJtYXJnaW4tdG9wOjEycHg7Zm9udC1zaXplOjEzcHg7Y29sb3I6dmFyKC0tYXgpOyI+Tm90IHZpc2libGUgdG8gRE5TLW9ubHkgY29tcGV0aXRvcnMuIFRoaXMgaXMgdGhlCiAgICAgICAgICAgICAgZmlyc3QgZGlmZmVyZW50aWF0aW5nIGxheWVyLjwvcD4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iYmQtY2FyZCI+PHNwYW4gY2xhc3M9ImV5IGF4Ij5MQVlFUiAwMzwvc3Bhbj4KICAgICAgICAgICAgPGgzIHN0eWxlPSJmb250LXNpemU6MTdweDtmb250LXdlaWdodDo3MDA7Y29sb3I6dmFyKC0tdHh0KTttYXJnaW4tYm90dG9tOjEwcHg7bWFyZ2luLXRvcDo4cHg7Ij5EZXZpY2UKICAgICAgICAgICAgICBmaW5nZXJwcmludGluZzwvaDM+CiAgICAgICAgICAgIDxwIHN0eWxlPSJmb250LXNpemU6MTRweDtjb2xvcjp2YXIoLS10Mik7bGluZS1oZWlnaHQ6MS43OyI+SWRlbnRpZmljYXRpb24gYW5kIGNsYXNzaWZpY2F0aW9uIG9mIGV2ZXJ5CiAgICAgICAgICAgICAgY29ubmVjdGVkIGRldmljZSB1c2luZyBiZWhhdmlvdXJhbCBzaWduYXR1cmVzIHJhdGhlciB0aGFuIE1BQyBhZGRyZXNzZXMuIFR5cGUsIG1hbnVmYWN0dXJlciwgZmlybXdhcmUKICAgICAgICAgICAgICB2ZXJzaW9uIGFuZCBhbm9tYWxvdXMgYmVoYXZpb3VyIOKAlCB3aXRob3V0IGFueSBjbGllbnQtc2lkZSBzb2Z0d2FyZS48L3A+CiAgICAgICAgICAgIDxwIHN0eWxlPSJtYXJnaW4tdG9wOjEycHg7Zm9udC1zaXplOjEzcHg7Y29sb3I6dmFyKC0tYXgpOyI+Q292ZXJzIHVubWFuYWdlZCBJb1Qg4oCUIHRoZSBmYXN0ZXN0IGdyb3dpbmcgdGhyZWF0CiAgICAgICAgICAgICAgc3VyZmFjZSB3aXRoIHplcm8gZXhpc3RpbmcgdmlzaWJpbGl0eS48L3A+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImJkLWNhcmQiPjxzcGFuIGNsYXNzPSJleSBheCI+TEFZRVIgMDQ8L3NwYW4+CiAgICAgICAgICAgIDxoMyBzdHlsZT0iZm9udC1zaXplOjE3cHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOnZhcigtLXR4dCk7bWFyZ2luLWJvdHRvbToxMHB4O21hcmdpbi10b3A6OHB4OyI+VHJhZmZpYyBmbG93CiAgICAgICAgICAgICAgYW5hbHlzaXM8L2gzPgogICAgICAgICAgICA8cCBzdHlsZT0iZm9udC1zaXplOjE0cHg7Y29sb3I6dmFyKC0tdDIpO2xpbmUtaGVpZ2h0OjEuNzsiPlZvbHVtZXRyaWMgYW5kIHRlbXBvcmFsIHBhdHRlcm5zIGFjcm9zcyB0aGUKICAgICAgICAgICAgICBlbnRpcmUgaG9tZSBuZXR3b3JrLiBEZXRlY3RzIGRhdGEgZXhmaWx0cmF0aW9uLCBjb21tYW5kLWFuZC1jb250cm9sIGNvbW11bmljYXRpb24gYW5kIGxhdGVyYWwgbW92ZW1lbnQKICAgICAgICAgICAgICBiZXR3ZWVuIGRldmljZXMuPC9wPgogICAgICAgICAgICA8cCBzdHlsZT0ibWFyZ2luLXRvcDoxMnB4O2ZvbnQtc2l6ZToxM3B4O2NvbG9yOnZhcigtLWF4KTsiPkVuYWJsZXMgZGV0ZWN0aW9uIG9mIGJvdG5ldCBhY3Rpdml0eSwgQzIKICAgICAgICAgICAgICBjYWxsYmFja3MgYW5kIHNsb3ctYnVybiBleGZpbHRyYXRpb24uPC9wPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJiZC1jYXJkIj48c3BhbiBjbGFzcz0iZXkgYXgiPkxBWUVSIDA1PC9zcGFuPgogICAgICAgICAgICA8aDMgc3R5bGU9ImZvbnQtc2l6ZToxN3B4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjp2YXIoLS10eHQpO21hcmdpbi1ib3R0b206MTBweDttYXJnaW4tdG9wOjhweDsiPkJlaGF2aW91cmFsCiAgICAgICAgICAgICAgc2Vzc2lvbiBjb3JyZWxhdGlvbjwvaDM+CiAgICAgICAgICAgIDxwIHN0eWxlPSJmb250LXNpemU6MTRweDtjb2xvcjp2YXIoLS10Mik7bGluZS1oZWlnaHQ6MS43OyI+VGhlIG11bHRpLWxheWVyIGludGVsbGlnZW5jZSB0aGF0IHRyYW5zZm9ybXMgcmF3CiAgICAgICAgICAgICAgZGF0YSBpbnRvIGFjdGlvbmFibGUgaW5zaWdodC4gQSBETlMgcXVlcnkgYWxvbmUgaXMgYmVuaWduLiBDb21iaW5lZCB3aXRoIHVudXN1YWwgdHJhZmZpYyB2b2x1bWUgYXQgM2FtCiAgICAgICAgICAgICAgZnJvbSBhIG5ldyBkZXZpY2UsIGl0IGJlY29tZXMgYSBoaWdoLWNvbmZpZGVuY2UgdGhyZWF0IHNpZ25hbC48L3A+CiAgICAgICAgICAgIDxwIHN0eWxlPSJtYXJnaW4tdG9wOjEycHg7Zm9udC1zaXplOjEzcHg7Y29sb3I6dmFyKC0tYXgpOyI+VGhpcyBpcyB0aGUgbGF5ZXIgdGhhdCBkZXRlY3RzIHplcm8tZGF5IGFuZAogICAgICAgICAgICAgIHBvbHltb3JwaGljIHRocmVhdHMgb3RoZXIgcGxhdGZvcm1zIG1pc3MuPC9wPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJiZC1jYXJkIj48c3BhbiBjbGFzcz0iZXkgYXgiPkFSQ0hJVEVDVFVSRTwvc3Bhbj4KICAgICAgICAgICAgPGgzIHN0eWxlPSJmb250LXNpemU6MTdweDtmb250LXdlaWdodDo3MDA7Y29sb3I6dmFyKC0tdHh0KTttYXJnaW4tYm90dG9tOjEwcHg7bWFyZ2luLXRvcDo4cHg7Ij5XaHkgdGhpcwogICAgICAgICAgICAgIHBvc2l0aW9uIGlzIGRlZmVuc2libGU8L2gzPgogICAgICAgICAgICA8cCBzdHlsZT0iZm9udC1zaXplOjE0cHg7Y29sb3I6dmFyKC0tdDIpO2xpbmUtaGVpZ2h0OjEuNzsiPlRoZSBhZ2VudCBvcGVyYXRlcyBpbnNpZGUgb3BlcmF0b3ItbWFuYWdlZAogICAgICAgICAgICAgIGluZnJhc3RydWN0dXJlIGF0IGZpcm13YXJlIGxldmVsLiBUaGlzIHJlcXVpcmVzIGEgZGlyZWN0IGNvbW1lcmNpYWwgcmVsYXRpb25zaGlwIHdpdGggdGhlIHRlbGVjb20gb3BlcmF0b3IKICAgICAgICAgICAgICBhbmQgY2Fubm90IGJlIHJlcGxpY2F0ZWQgYnkgb3Zlci10aGUtdG9wIGFwcGxpY2F0aW9ucy4gVGhlcmUgaXMgbm8gc2VsZi1zZXJ2ZSBwYXRoIHRvIHRoaXMgZGF0YSBwb3NpdGlvbi4KICAgICAgICAgICAgPC9wPgogICAgICAgICAgICA8cCBzdHlsZT0ibWFyZ2luLXRvcDoxMnB4O2ZvbnQtc2l6ZToxM3B4O2NvbG9yOnZhcigtLWF4KTsiPlByb3RlY3RlZCBieSBncmFudGVkIHBhdGVudHM6IEVQMzIzMTE1M0IxIMK3CiAgICAgICAgICAgICAgR0IyNTMzMTAxIMK3IEFVMjAxNTM1OTE4MjwvcD4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KICAgIDxzZWN0aW9uIGNsYXNzPSJiZC1zZWN0IHQiIHN0eWxlPSJiYWNrZ3JvdW5kOnJnYmEoMSw0Nyw1OSwuNik7Ym9yZGVyLXRvcDoxcHggc29saWQgdmFyKC0tYmRyKTsiPgogICAgICA8ZGl2IGNsYXNzPSJiZC1zaSB0d28tY29sIj4KICAgICAgICA8ZGl2PjxzcGFuIGNsYXNzPSJleSI+V0hBVCBUSElTIE1FQU5TIFZFUlNVUyBETlMtT05MWTwvc3Bhbj4KICAgICAgICAgIDxoMiBjbGFzcz0iaDIiPkROUyBmaWx0ZXJpbmcgaXMgdGhlIGVudHJ5IHBvaW50LiA8ZW0+Tm90IHRoZSBkZXN0aW5hdGlvbi48L2VtPjwvaDI+CiAgICAgICAgICA8cCBzdHlsZT0iZm9udC1zaXplOjE2cHg7Y29sb3I6dmFyKC0tdDIpO2xpbmUtaGVpZ2h0OjEuNzU7bWFyZ2luLXRvcDoxNnB4O21hcmdpbi1ib3R0b206MjhweDsiPkROUy1iYXNlZAogICAgICAgICAgICBzb2x1dGlvbnMgYmxvY2sga25vd24gdGhyZWF0cy4gQmxhY2tEaWNlIEhhbG8gZGV0ZWN0cyB1bmtub3duIG9uZXMuIFRoYXQgZGlzdGluY3Rpb24gZGVmaW5lcyB0aGUgZGlmZmVyZW5jZQogICAgICAgICAgICBiZXR3ZWVuIHJlYWN0aXZlIGFuZCBwcm9hY3RpdmUgc2VjdXJpdHkgYXQgb3BlcmF0b3Igc2NhbGUuPC9wPgogICAgICAgICAgPGRpdiBjbGFzcz0iZGlmZi1saXN0Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGlmZi1pdCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGlmZi1jayI+4pyTPC9kaXY+CiAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgIDxwPjxzdHJvbmc+RW5jcnlwdGVkIHRyYWZmaWMgc2Vlbiwgbm90IGJsb2NrZWQ8L3N0cm9uZz5EUEkgbWV0YWRhdGEgY2xhc3NpZmljYXRpb24gaWRlbnRpZmllcwogICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbiBiZWhhdmlvdXIgaW4gZW5jcnlwdGVkIHN0cmVhbXMgd2l0aG91dCBkZWNyeXB0aW5nIGNvbnRlbnQuPC9wPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGlmZi1pdCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGlmZi1jayI+4pyTPC9kaXY+CiAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgIDxwPjxzdHJvbmc+VW5tYW5hZ2VkIElvVCBmdWxseSBjb3ZlcmVkPC9zdHJvbmc+RXZlcnkgZGV2aWNlIGpvaW5pbmcgdGhlIG5ldHdvcmsgaXMgdmlzaWJsZSBmcm9tIHRoZQogICAgICAgICAgICAgICAgICBtb21lbnQgb2YgY29ubmVjdGlvbi4gTm8gY2xpZW50IHNvZnR3YXJlIHJlcXVpcmVkIG9uIGFueSBkZXZpY2UuPC9wPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGlmZi1pdCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGlmZi1jayI+4pyTPC9kaXY+CiAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgIDxwPjxzdHJvbmc+WmVyby1kYXkgdGhyZWF0cyBkZXRlY3RlZCBiZWhhdmlvdXJhbGx5PC9zdHJvbmc+QmxhY2tEaWNlIElRIHByZWRpY3RzIG1hbGljaW91cyBiZWhhdmlvdXIgYnkKICAgICAgICAgICAgICAgICAgZGV0ZWN0aW5nIGRldmlhdGlvbnMgZnJvbSBlc3RhYmxpc2hlZCBiYXNlbGluZXMg4oCUIG5vdCBieSBjaGVja2luZyBhIHNpZ25hdHVyZSBkYXRhYmFzZS48L3A+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJkaWZmLWl0Ij4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkaWZmLWNrIj7inJM8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPHA+PHN0cm9uZz5Mb2NhbCBlbmZvcmNlbWVudCDigJQgbm8gY2xvdWQgZGVwZW5kZW5jeTwvc3Ryb25nPlByb3RlY3Rpb24gcmVtYWlucyBhY3RpdmUgZXZlbiB3aGVuIGNsb3VkCiAgICAgICAgICAgICAgICAgIGNvbm5lY3Rpdml0eSBpcyBpbnRlcnJ1cHRlZC4gU2VjdXJpdHkgZG9lcyBub3QgZGVncmFkZSBkdXJpbmcgb3V0YWdlcy48L3A+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InZzLWJveCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InZzLWhkIj5DQVBBQklMSVRZIENPTVBBUklTT04g4oCUIEhBTE8gQ1BFIFZTIEROUy1PTkxZPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InZzLXJvdyI+PHNwYW4gY2xhc3M9InZzLW1yayBiZCI+QkQ8L3NwYW4+CiAgICAgICAgICAgICAgPHA+RW5jcnlwdGVkIHRyYWZmaWMgdmlzaWJsZSB2aWEgRFBJIG1ldGFkYXRhLCBiZWhhdmlvdXJhbCBwYXR0ZXJucyBpZGVudGlmaWVkIHdpdGhvdXQgcGF5bG9hZCBkZWNyeXB0aW9uCiAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idnMtcm93Ij48c3BhbiBjbGFzcz0idnMtbXJrIGRucyI+RE5TPC9zcGFuPgogICAgICAgICAgICAgIDxwPkVuY3J5cHRlZCB0cmFmZmljIG5vdCB2aXNpYmxlIOKAlCBETlMgc2VlcyBvbmx5IHRoZSBkb21haW4gcXVlcnksIG5vdCB3aGF0IHRoZSBzZXNzaW9uIGNvbnRhaW5zIG9yIGRvZXMKICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ2cy1yb3ciPjxzcGFuIGNsYXNzPSJ2cy1tcmsgYmQiPkJEPC9zcGFuPgogICAgICAgICAgICAgIDxwPlplcm8tZGF5IGRldGVjdGlvbiB2aWEgYmVoYXZpb3VyYWwgYW5vbWFseSDigJQgdGhyZWF0cyBpZGVudGlmaWVkIGJlZm9yZSBzaWduYXR1cmVzIGV4aXN0PC9wPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idnMtcm93Ij48c3BhbiBjbGFzcz0idnMtbXJrIGRucyI+RE5TPC9zcGFuPgogICAgICAgICAgICAgIDxwPktub3duIGRvbWFpbiBibG9ja2luZyBvbmx5IOKAlCByZWFjdHMgYWZ0ZXIgYSB0aHJlYXQgaGFzIGJlZW4gY2F0YWxvZ3VlZCBhbmQgYWRkZWQgdG8gdGhlIGJsb2NrbGlzdDwvcD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InZzLXJvdyI+PHNwYW4gY2xhc3M9InZzLW1yayBiZCI+QkQ8L3NwYW4+CiAgICAgICAgICAgICAgPHA+QWxsIHVubWFuYWdlZCBJb1QgZGV2aWNlcyBjb3ZlcmVkIOKAlCBubyBjbGllbnQgc29mdHdhcmUgcmVxdWlyZWQgb24gYW55IGRldmljZTwvcD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InZzLXJvdyI+PHNwYW4gY2xhc3M9InZzLW1yayBkbnMiPkROUzwvc3Bhbj4KICAgICAgICAgICAgICA8cD5Jb1QgY292ZXJlZCB2aWEgRE5TIG9ubHkg4oCUIGRldmljZS1sZXZlbCBiZWhhdmlvdXIsIGNvbXByb21pc2UgYW5kIGxhdGVyYWwgbW92ZW1lbnQgbm90IHZpc2libGU8L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ2cy1yb3ciPjxzcGFuIGNsYXNzPSJ2cy1tcmsgYmQiPkJEPC9zcGFuPgogICAgICAgICAgICAgIDxwPkxvY2FsIGVuZm9yY2VtZW50IOKAlCBwcm90ZWN0aW9uIGFjdGl2ZSBpbmRlcGVuZGVudCBvZiBjbG91ZCBjb25uZWN0aXZpdHk8L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ2cy1yb3ciIHN0eWxlPSJib3JkZXItYm90dG9tOm5vbmU7Ij48c3BhbiBjbGFzcz0idnMtbXJrIGRucyI+RE5TPC9zcGFuPgogICAgICAgICAgICAgIDxwPkNsb3VkLWRlcGVuZGVudCDigJQgcmVzb2x1dGlvbiBsYXRlbmN5IGFuZCB1cHRpbWUgYWZmZWN0IGVuZm9yY2VtZW50IGNhcGFiaWxpdHk8L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgogICAgPGRpdiBjbGFzcz0iY3RhLWJhbmQiPgogICAgICA8ZGl2IGNsYXNzPSJjdGEtYmFuZC1pbiI+CiAgICAgICAgPGRpdj4KICAgICAgICAgIDxoMiBjbGFzcz0iaDIiPlRoZSByb3V0ZXIgaXMgbm90IGp1c3QgQ1BFLiBJdCBpcyB5b3VyIDxlbT5tb3N0IHVuZGVyLWxldmVyYWdlZCBzdHJhdGVnaWMgYXNzZXQuPC9lbT48L2gyPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXY+CiAgICAgICAgICA8cD5FdmVyeSByb3V0ZXIgaW4geW91ciBlc3RhdGUgaGFzIHRoZSBwb3RlbnRpYWwgdG8gYmUgYW4gaW50ZWxsaWdlbnQgc2VjdXJpdHkgZWRnZSDigJQgZ2VuZXJhdGluZyBuZXcgcmV2ZW51ZSwKICAgICAgICAgICAgcmVkdWNpbmcgc3VwcG9ydCBjb3N0cyBhbmQgcHJvdGVjdGluZyB5b3VyIHN1YnNjcmliZXIgYmFzZSBmcm9tIHRocmVhdHMgdGhhdCBETlMtb25seSB0b29scyBjYW5ub3Qgc2VlLjwvcD4KICAgICAgICAgIDxkaXYgY2xhc3M9ImJ0bi1yb3ciPjxidXR0b24gY2xhc3M9ImJ0bi1wIiBvbmNsaWNrPSJzaG93RGVtbygpIj5SZXF1ZXN0IGEgZGVtb25zdHJhdGlvbjwvYnV0dG9uPjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPGZvb3RlciBjbGFzcz0iYmQtZm9vdGVyIj48c3ZnIHZpZXdCb3g9IjAgMCA2NCA2NCIgd2lkdGg9IjIyIiBoZWlnaHQ9IjIyIiBmaWxsPSJub25lIiBzdHJva2U9InZhcigtLWF4KSIKICAgICAgICBzdHJva2Utd2lkdGg9IjMiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7b3BhY2l0eTouNzU7Ij4KICAgICAgICA8cGF0aCBkPSJNMzIgNiBMNTYgMjAgTDU2IDQ2IEwzMiA2MCBMOCA0NiBMOCAyMCBaIj48L3BhdGg+CiAgICAgICAgPHBhdGggZD0iTTMyIDYgTDMyIDMyIE04IDIwIEwzMiAzMiBNNTYgMjAgTDMyIDMyIj48L3BhdGg+CiAgICAgICAgPGNpcmNsZSBjeD0iMjAiIGN5PSIyNiIgcj0iMi40IiBmaWxsPSJ2YXIoLS1heCkiIHN0cm9rZT0ibm9uZSI+PC9jaXJjbGU+CiAgICAgICAgPGNpcmNsZSBjeD0iMjAiIGN5PSIzNCIgcj0iMi40IiBmaWxsPSJ2YXIoLS1heCkiIHN0cm9rZT0ibm9uZSI+PC9jaXJjbGU+CiAgICAgICAgPGNpcmNsZSBjeD0iNDQiIGN5PSIzNCIgcj0iMi40IiBmaWxsPSJ2YXIoLS1heCkiIHN0cm9rZT0ibm9uZSI+PC9jaXJjbGU+CiAgICAgIDwvc3ZnPjxzcGFuCiAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OidVYnVudHUnLHN5c3RlbS11aSxzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6MTRweDtsZXR0ZXItc3BhY2luZzotLjJweDtjb2xvcjpyZ2JhKDIzMiwyNDQsMjQzLC41NSkiPkJsYWNrRGljZTwvc3Bhbj4KICAgICAgPGRpdiBjbGFzcz0iZnRyLWxpbmtzIj48YnV0dG9uIGNsYXNzPSJmdHItbGluayIgZGF0YS1wYWdlPSJwMTEiIG9uY2xpY2s9ImdvUGFnZShldmVudCkiPkNvb2tpZQogICAgICAgICAgcG9saWN5PC9idXR0b24+PGJ1dHRvbiBjbGFzcz0iZnRyLWxpbmsiIGRhdGEtcGFnZT0icDEyIiBvbmNsaWNrPSJnb1BhZ2UoZXZlbnQpIj5Qcml2YWN5IHBvbGljeTwvYnV0dG9uPjwvZGl2PgogICAgICA8c3BhbiBjbGFzcz0iZnRyLWNvcHkiPsKpIDIwMjYgQkxBQ0tESUNFIENZQkVSIExURC48L3NwYW4+CiAgICA8L2Zvb3Rlcj4KICA8L2Rpdj4KCiAgPCEtLSDilZDilZDilZAgUDQ6IEZPUiBPUEVSQVRPUlMg4pWQ4pWQ4pWQIC0tPgogIDxkaXYgaWQ9InBnLXA0IiBjbGFzcz0icGciIHN0eWxlPSJkaXNwbGF5Om5vbmUiPgogICAgPHNlY3Rpb24gY2xhc3M9ImJkLWhlcm8tc2giPgogICAgICA8ZGl2IGNsYXNzPSJiZC1oZXgtbW90aWYiPjxzdmcgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDM4MCA4MjQiCiAgICAgICAgICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBzbGljZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDsiPgogICAgICAgICAgPGcgb3BhY2l0eT0iMSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zMTAuMCAzNi4wIEwzMzAuOCA0OC4wIEwzMzAuOCA3Mi4wIEwzMTAuMCA4NC4wIEwyODkuMiA3Mi4wIEwyODkuMiA0OC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMzEwLjAgMzYuMCBMMzEwLjAgNjAuMCBNMzMwLjggNzIuMCBMMzEwLjAgNjAuMCBNMjg5LjIgNzIuMCBMMzEwLjAgNjAuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjkiPgogICAgICAgICAgICA8cGF0aCBkPSJNMzUxLjYgMzYuMCBMMzcyLjQgNDguMCBMMzcyLjQgNzIuMCBMMzUxLjYgODQuMCBMMzMwLjggNzIuMCBMMzMwLjggNDguMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTM1MS42IDM2LjAgTDM1MS42IDYwLjAgTTM3Mi40IDcyLjAgTDM1MS42IDYwLjAgTTMzMC44IDcyLjAgTDM1MS42IDYwLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC43Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTMzMC44IDcyLjAgTDM1MS42IDg0LjAgTDM1MS42IDEwOC4wIEwzMzAuOCAxMjAuMCBMMzEwLjAgMTA4LjAgTDMxMC4wIDg0LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zMzAuOCA3Mi4wIEwzMzAuOCA5Ni4wIE0zNTEuNiAxMDguMCBMMzMwLjggOTYuMCBNMzEwLjAgMTA4LjAgTDMzMC44IDk2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC44Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTM3Mi40IDcyLjAgTDM5My4xIDg0LjAgTDM5My4xIDEwOC4wIEwzNzIuNCAxMjAuMCBMMzUxLjYgMTA4LjAgTDM1MS42IDg0LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zNzIuNCA3Mi4wIEwzNzIuNCA5Ni4wIE0zOTMuMSAxMDguMCBMMzcyLjQgOTYuMCBNMzUxLjYgMTA4LjAgTDM3Mi40IDk2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC41Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTI4OS4yIDcyLjAgTDMxMC4wIDg0LjAgTDMxMC4wIDEwOC4wIEwyODkuMiAxMjAuMCBMMjY4LjQgMTA4LjAgTDI2OC40IDg0LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0yODkuMiA3Mi4wIEwyODkuMiA5Ni4wIE0zMTAuMCAxMDguMCBMMjg5LjIgOTYuMCBNMjY4LjQgMTA4LjAgTDI4OS4yIDk2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC4zNSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zMTAuMCAxMDguMCBMMzMwLjggMTIwLjAgTDMzMC44IDE0NC4wIEwzMTAuMCAxNTYuMCBMMjg5LjIgMTQ0LjAgTDI4OS4yIDEyMC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMzEwLjAgMTA4LjAgTDMxMC4wIDEzMi4wIE0zMzAuOCAxNDQuMCBMMzEwLjAgMTMyLjAgTTI4OS4yIDE0NC4wIEwzMTAuMCAxMzIuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjQiPgogICAgICAgICAgICA8cGF0aCBkPSJNMzUxLjYgMTA4LjAgTDM3Mi40IDEyMC4wIEwzNzIuNCAxNDQuMCBMMzUxLjYgMTU2LjAgTDMzMC44IDE0NC4wIEwzMzAuOCAxMjAuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTM1MS42IDEwOC4wIEwzNTEuNiAxMzIuMCBNMzcyLjQgMTQ0LjAgTDM1MS42IDEzMi4wIE0zMzAuOCAxNDQuMCBMMzUxLjYgMTMyLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC41NSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik00MTMuOSA3Mi4wIEw0MzQuNyA4NC4wIEw0MzQuNyAxMDguMCBMNDEzLjkgMTIwLjAgTDM5My4xIDEwOC4wIEwzOTMuMSA4NC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNNDEzLjkgNzIuMCBMNDEzLjkgOTYuMCBNNDM0LjcgMTA4LjAgTDQxMy45IDk2LjAgTTM5My4xIDEwOC4wIEw0MTMuOSA5Ni4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNTUiPgogICAgICAgICAgICA8cGF0aCBkPSJNODAuMCAzNDYuMCBMMTAwLjggMzU4LjAgTDEwMC44IDM4Mi4wIEw4MC4wIDM5NC4wIEw1OS4yIDM4Mi4wIEw1OS4yIDM1OC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNODAuMCAzNDYuMCBMODAuMCAzNzAuMCBNMTAwLjggMzgyLjAgTDgwLjAgMzcwLjAgTTU5LjIgMzgyLjAgTDgwLjAgMzcwLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC4zNSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMjEuNiAzNDYuMCBMMTQyLjQgMzU4LjAgTDE0Mi40IDM4Mi4wIEwxMjEuNiAzOTQuMCBMMTAwLjggMzgyLjAgTDEwMC44IDM1OC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMTIxLjYgMzQ2LjAgTDEyMS42IDM3MC4wIE0xNDIuNCAzODIuMCBMMTIxLjYgMzcwLjAgTTEwMC44IDM4Mi4wIEwxMjEuNiAzNzAuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjQ1Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTEwMC44IDM4Mi4wIEwxMjEuNiAzOTQuMCBMMTIxLjYgNDE4LjAgTDEwMC44IDQzMC4wIEw4MC4wIDQxOC4wIEw4MC4wIDM5NC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMTAwLjggMzgyLjAgTDEwMC44IDQwNi4wIE0xMjEuNiA0MTguMCBMMTAwLjggNDA2LjAgTTgwLjAgNDE4LjAgTDEwMC44IDQwNi4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuMzUiPgogICAgICAgICAgICA8cGF0aCBkPSJNMTQyLjQgMzgyLjAgTDE2My4xIDM5NC4wIEwxNjMuMSA0MTguMCBMMTQyLjQgNDMwLjAgTDEyMS42IDQxOC4wIEwxMjEuNiAzOTQuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTE0Mi40IDM4Mi4wIEwxNDIuNCA0MDYuMCBNMTYzLjEgNDE4LjAgTDE0Mi40IDQwNi4wIE0xMjEuNiA0MTguMCBMMTQyLjQgNDA2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC4yNSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik01OS4yIDM4Mi4wIEw4MC4wIDM5NC4wIEw4MC4wIDQxOC4wIEw1OS4yIDQzMC4wIEwzOC40IDQxOC4wIEwzOC40IDM5NC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNNTkuMiAzODIuMCBMNTkuMiA0MDYuMCBNODAuMCA0MTguMCBMNTkuMiA0MDYuMCBNMzguNCA0MTguMCBMNTkuMiA0MDYuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjMiPgogICAgICAgICAgICA8cGF0aCBkPSJNMTYzLjEgMzQ2LjAgTDE4My45IDM1OC4wIEwxODMuOSAzODIuMCBMMTYzLjEgMzk0LjAgTDE0Mi40IDM4Mi4wIEwxNDIuNCAzNTguMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTE2My4xIDM0Ni4wIEwxNjMuMSAzNzAuMCBNMTgzLjkgMzgyLjAgTDE2My4xIDM3MC4wIE0xNDIuNCAzODIuMCBMMTYzLjEgMzcwLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC44NSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik04MC4wIDYyNi4wIEwxMDAuOCA2MzguMCBMMTAwLjggNjYyLjAgTDgwLjAgNjc0LjAgTDU5LjIgNjYyLjAgTDU5LjIgNjM4LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik04MC4wIDYyNi4wIEw4MC4wIDY1MC4wIE0xMDAuOCA2NjIuMCBMODAuMCA2NTAuMCBNNTkuMiA2NjIuMCBMODAuMCA2NTAuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjciPgogICAgICAgICAgICA8cGF0aCBkPSJNMTIxLjYgNjI2LjAgTDE0Mi40IDYzOC4wIEwxNDIuNCA2NjIuMCBMMTIxLjYgNjc0LjAgTDEwMC44IDY2Mi4wIEwxMDAuOCA2MzguMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTEyMS42IDYyNi4wIEwxMjEuNiA2NTAuMCBNMTQyLjQgNjYyLjAgTDEyMS42IDY1MC4wIE0xMDAuOCA2NjIuMCBMMTIxLjYgNjUwLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC41NSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMDAuOCA2NjIuMCBMMTIxLjYgNjc0LjAgTDEyMS42IDY5OC4wIEwxMDAuOCA3MTAuMCBMODAuMCA2OTguMCBMODAuMCA2NzQuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTEwMC44IDY2Mi4wIEwxMDAuOCA2ODYuMCBNMTIxLjYgNjk4LjAgTDEwMC44IDY4Ni4wIE04MC4wIDY5OC4wIEwxMDAuOCA2ODYuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjY1Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTE0Mi40IDY2Mi4wIEwxNjMuMSA2NzQuMCBMMTYzLjEgNjk4LjAgTDE0Mi40IDcxMC4wIEwxMjEuNiA2OTguMCBMMTIxLjYgNjc0LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNDIuNCA2NjIuMCBMMTQyLjQgNjg2LjAgTTE2My4xIDY5OC4wIEwxNDIuNCA2ODYuMCBNMTIxLjYgNjk4LjAgTDE0Mi40IDY4Ni4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNiI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNjMuMSA2MjYuMCBMMTgzLjkgNjM4LjAgTDE4My45IDY2Mi4wIEwxNjMuMSA2NzQuMCBMMTQyLjQgNjYyLjAgTDE0Mi40IDYzOC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMTYzLjEgNjI2LjAgTDE2My4xIDY1MC4wIE0xODMuOSA2NjIuMCBMMTYzLjEgNjUwLjAgTTE0Mi40IDY2Mi4wIEwxNjMuMSA2NTAuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjQiPgogICAgICAgICAgICA8cGF0aCBkPSJNNTkuMiA2NjIuMCBMODAuMCA2NzQuMCBMODAuMCA2OTguMCBMNTkuMiA3MTAuMCBMMzguNCA2OTguMCBMMzguNCA2NzQuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTU5LjIgNjYyLjAgTDU5LjIgNjg2LjAgTTgwLjAgNjk4LjAgTDU5LjIgNjg2LjAgTTM4LjQgNjk4LjAgTDU5LjIgNjg2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC41Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTgwLjAgNjk4LjAgTDEwMC44IDcxMC4wIEwxMDAuOCA3MzQuMCBMODAuMCA3NDYuMCBMNTkuMiA3MzQuMCBMNTkuMiA3MTAuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTgwLjAgNjk4LjAgTDgwLjAgNzIyLjAgTTEwMC44IDczNC4wIEw4MC4wIDcyMi4wIE01OS4yIDczNC4wIEw4MC4wIDcyMi4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNCI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMjEuNiA2OTguMCBMMTQyLjQgNzEwLjAgTDE0Mi40IDczNC4wIEwxMjEuNiA3NDYuMCBMMTAwLjggNzM0LjAgTDEwMC44IDcxMC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMTIxLjYgNjk4LjAgTDEyMS42IDcyMi4wIE0xNDIuNCA3MzQuMCBMMTIxLjYgNzIyLjAgTTEwMC44IDczNC4wIEwxMjEuNiA3MjIuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjUiPgogICAgICAgICAgICA8cGF0aCBkPSJNMTgzLjkgNjYyLjAgTDIwNC43IDY3NC4wIEwyMDQuNyA2OTguMCBMMTgzLjkgNzEwLjAgTDE2My4xIDY5OC4wIEwxNjMuMSA2NzQuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTE4My45IDY2Mi4wIEwxODMuOSA2ODYuMCBNMjA0LjcgNjk4LjAgTDE4My45IDY4Ni4wIE0xNjMuMSA2OTguMCBMMTgzLjkgNjg2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC4zNSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNjMuMSA2OTguMCBMMTgzLjkgNzEwLjAgTDE4My45IDczNC4wIEwxNjMuMSA3NDYuMCBMMTQyLjQgNzM0LjAgTDE0Mi40IDcxMC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMTYzLjEgNjk4LjAgTDE2My4xIDcyMi4wIE0xODMuOSA3MzQuMCBMMTYzLjEgNzIyLjAgTTE0Mi40IDczNC4wIEwxNjMuMSA3MjIuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIzMTAuMCIgY3k9IjM2LjAiIHI9IjIuNiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjEiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIzNTEuNiIgY3k9IjM2LjAiIHI9IjIuNiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuOSIgLz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjM3Mi40IiBjeT0iNzIuMCIgcj0iMi42IiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC44IiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iNDEzLjkiIGN5PSI3Mi4wIiByPSIyLjYiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjU1IiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iODAuMCIgY3k9IjM0Ni4wIiByPSIyLjYiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjU1IiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iMTQyLjQiIGN5PSIzODIuMCIgcj0iMi42IiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC4zNSIgLz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjgwLjAiIGN5PSI2MjYuMCIgcj0iMi42IiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC44NSIgLz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjEyMS42IiBjeT0iNjI2LjAiIHI9IjIuNiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuNyIgLz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjE0Mi40IiBjeT0iNjYyLjAiIHI9IjIuNiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuNjUiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIxNjMuMSIgY3k9IjYyNi4wIiByPSIyLjYiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjYiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIxMjEuNiIgY3k9IjY5OC4wIiByPSIyLjYiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjQiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIzMzAuOCIgY3k9IjQ4LjAiIHI9IjIuMiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuNzAiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIzNzIuNCIgY3k9IjQ4LjAiIHI9IjIuMiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuNjMiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIzOTMuMSIgY3k9Ijg0LjAiIHI9IjIuMiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuNTYiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSI0MzQuNyIgY3k9Ijg0LjAiIHI9IjIuMiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuMzkiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIxMDAuOCIgY3k9IjM1OC4wIiByPSIyLjIiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjM5IiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iMTYzLjEiIGN5PSIzOTQuMCIgcj0iMi4yIiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC4yNCIgLz4KICAgICAgICA8L3N2Zz48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iYmQtaGVyby1nbCI+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImJkLWhlcm8taW4iPgogICAgICAgIDxkaXY+PHNwYW4gY2xhc3M9ImV5IGx0Ij5CTEFDS0RJQ0UgRk9SIFRFTEVDT01TIE9QRVJBVE9SUzwvc3Bhbj4KICAgICAgICAgIDxoMSBjbGFzcz0iaDEiPlRydXN0ZWQgY29ubmVjdGl2aXR5PGJyPmlzIHRoZSBuZXc8YnI+PGVtPmNvbXBldGl0aXZlIGVkZ2UuPC9lbT48L2gxPgogICAgICAgICAgPHAgY2xhc3M9Imhlcm8tc3ViIj5TcGVlZCBhbmQgcHJpY2UgYXJlIHRhYmxlIHN0YWtlcy4gVGhlIG9wZXJhdG9ycyB3aG8gbGVhZCBjb21tZXJjaWFsbHkgb3ZlciB0aGUgbmV4dCBmaXZlCiAgICAgICAgICAgIHllYXJzIHdpbGwgYmUgdGhvc2Ugd2hvIGNhbiBkZWxpdmVyIHNvbWV0aGluZyBtb3JlIHZhbHVhYmxlOiBhIHRydXN0ZWQgZGlnaXRhbCBlbnZpcm9ubWVudCBmb3IgZXZlcnkKICAgICAgICAgICAgc3Vic2NyaWJlci4gQmxhY2tEaWNlIG1ha2VzIHRoYXQgcG9zc2libGUg4oCUIGVtYmVkZGVkIGluIHlvdXIgZXhpc3RpbmcgaW5mcmFzdHJ1Y3R1cmUsIGF0IG5ldHdvcmsgc2NhbGUsIHdpdGgKICAgICAgICAgICAgbm8gaGFyZHdhcmUgY2hhbmdlcy48L3A+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJidG4tcm93Ij48YnV0dG9uIGNsYXNzPSJidG4tcCIgb25jbGljaz0ic2hvd0RlbW8oKSI+UmVxdWVzdCBhIGRlbW9uc3RyYXRpb248L2J1dHRvbj48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iYmQtZmVlZCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZlZWQtaGQiPjxzcGFuIGNsYXNzPSJmZWVkLXRpdGxlIj5ORVRXT1JLIElOVEVMTElHRU5DRSDCtyBPUEVSQVRPUiBWSUVXPC9zcGFuPjxzcGFuCiAgICAgICAgICAgICAgICBjbGFzcz0ibGl2ZS1iYWRnZSI+PHNwYW4gY2xhc3M9ImxpdmUtZG90Ij48L3NwYW4+TElWRTwvc3Bhbj48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmVlZC1ib2R5Ij4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmZWVkLXJvdyI+PHNwYW4gY2xhc3M9ImZlZWQtbGJsIj5ETlMgZXhmaWx0cmF0aW9uLCBJb1QgZGV2aWNlLCBTdWJzY3JpYmVyICM0NDcxODIxPC9zcGFuPjxzcGFuCiAgICAgICAgICAgICAgICAgIGNsYXNzPSJmZWVkLXJpc2sgaCI+SElHSDwvc3Bhbj48c3BhbiBjbGFzcz0iZmVlZC1iZGcgYmxvY2tlZCI+QkxPQ0tFRDwvc3Bhbj48L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmZWVkLXJvdyI+PHNwYW4gY2xhc3M9ImZlZWQtbGJsIj5CZWhhdmlvdXJhbCBhbm9tYWx5IG5ldyBkZXZpY2UsIDNhbSB0cmFmZmljIHNwaWtlPC9zcGFuPjxzcGFuCiAgICAgICAgICAgICAgICAgIGNsYXNzPSJmZWVkLXJpc2sgbSI+TUVEPC9zcGFuPjxzcGFuIGNsYXNzPSJmZWVkLWJkZyBtb24iPk1PTklUT1JJTkc8L3NwYW4+PC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmVlZC1yb3ciPjxzcGFuIGNsYXNzPSJmZWVkLWxibCI+QzIgY2FsbGJhY2sgYXR0ZW1wdCBaZXJvRGF5IHZhcmlhbnQ8L3NwYW4+PHNwYW4KICAgICAgICAgICAgICAgICAgY2xhc3M9ImZlZWQtcmlzayBoIj5ISUdIPC9zcGFuPjxzcGFuIGNsYXNzPSJmZWVkLWJkZyBibG9ja2VkIj5ORVVUUkFMSVNFRDwvc3Bhbj48L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmZWVkLXJvdyI+PHNwYW4gY2xhc3M9ImZlZWQtbGJsIj5FbmNyeXB0ZWQgc2NhbSBjYWxsIOKAlCBrbm93biBmcmF1ZCBwYXR0ZXJuIG1hdGNoPC9zcGFuPjxzcGFuCiAgICAgICAgICAgICAgICAgIGNsYXNzPSJmZWVkLXJpc2sgaCI+SElHSDwvc3Bhbj48c3BhbiBjbGFzcz0iZmVlZC1iZGcgZmxhZyI+QUxFUlRJTkc8L3NwYW4+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgogICAgPGRpdiBjbGFzcz0iYmFuZC1xIj4KICAgICAgPGRpdiBjbGFzcz0iYmFuZC1xLWluIj4KICAgICAgICA8cD4iVGhlIFVLIEZyYXVkIFN0cmF0ZWd5IDIwMjbigJMyMDI5LCB0aGUgRVUncyBOSVMyIERpcmVjdGl2ZSwgYW5kIFNpbmdhcG9yZSdzIGV4cGFuZGVkIEN5YmVyc2VjdXJpdHkgQWN0CiAgICAgICAgICBvYmxpZ2F0aW9ucyBhbGwgcG9pbnQgaW4gdGhlIHNhbWUgZGlyZWN0aW9uOiBvcGVyYXRvcnMgYXJlIG5vdyBhY2NvdW50YWJsZSBmb3IgdGhlIHF1YWxpdHkgb2YgdGhlIGRpZ2l0YWwKICAgICAgICAgIGVudmlyb25tZW50IHRoZXkgY3JlYXRlIOKAlCBub3QganVzdCB0aGUgc3BlZWQgb2YgdGhlIGNvbm5lY3Rpb24gdGhleSBwcm92aWRlLiI8L3A+PGNpdGU+QkxBQ0tESUNFIMK3IE1BWQogICAgICAgICAgMjAyNjwvY2l0ZT4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxzZWN0aW9uIGNsYXNzPSJiZC1zZWN0IHQiIHN0eWxlPSJiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjAxMik7Ij4KICAgICAgPGRpdiBjbGFzcz0iYmQtc2kiPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3QtaGQiPjxzcGFuIGNsYXNzPSJleSI+VEhSRUUgT1VUQ09NRVM8L3NwYW4+CiAgICAgICAgICA8aDIgY2xhc3M9ImgyIj5UaGUgdGhyZWUgdGhpbmdzIHRoYXQgZGV0ZXJtaW5lIHdoZXRoZXIgeW91ciBzdWJzY3JpYmVycyA8ZW0+dHJ1c3QgeW91PC9lbT4gb3IgbWVyZWx5IHVzZSB5b3UuCiAgICAgICAgICA8L2gyPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InBpbGxhcnMiPgogICAgICAgICAgPGRpdiBjbGFzcz0icGlsbGFyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZXkgYXgiIHN0eWxlPSJtYXJnaW4tYm90dG9tOjRweDsiPlNVQlNDUklCRVIgT1VUQ09NRTwvZGl2PgogICAgICAgICAgICA8aDIgY2xhc3M9ImgyIj5Db25maWRlbmNlIHdoaWxlIGNvbm5lY3RlZDwvaDI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InBpbGxhci1yb2xlIj5USEUgRU1PVElPTkFMIEFOQ0hPUjwvZGl2PgogICAgICAgICAgICA8cCBzdHlsZT0iZm9udC1zaXplOjE1cHg7Y29sb3I6dmFyKC0tdDIpO2xpbmUtaGVpZ2h0OjEuNzU7Ij5Db25maWRlbmNlIGlzIG5vdCB0aGUgYWJzZW5jZSBvZiB0aHJlYXRzIOKAlAogICAgICAgICAgICAgIHRocmVhdHMgYXJlIGNvbnN0YW50IGFuZCBncm93aW5nLiBJdCBpcyB0aGUga25vd2xlZGdlIHRoYXQgeW91ciBuZXR3b3JrIGlzIGRldGVjdGluZyBhbmQgbWFuYWdpbmcgdGhlbQogICAgICAgICAgICAgIGNvbnRpbnVvdXNseSwgd2l0aG91dCByZXF1aXJpbmcgYW55dGhpbmcgZnJvbSB0aGUgc3Vic2NyaWJlci4gTm8gYXBwIHRvIGluc3RhbGwuIE5vIHNldHRpbmdzIHRvIGNvbmZpZ3VyZS4KICAgICAgICAgICAgICBObyBkZWNpc2lvbiB0byBtYWtlLjwvcD4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmVhdC1saXN0Ij4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmZWF0LWl0Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZlYXQtZG90Ij48L2Rpdj5SZWR1Y2VkIGNodXJuIGZyb20gc2VjdXJpdHktcmVsYXRlZCBkaXNzYXRpc2ZhY3Rpb24KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmZWF0LWl0Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZlYXQtZG90Ij48L2Rpdj5IaWdoZXIgTlBTIGFuZCBzdWJzY3JpYmVyIHNhdGlzZmFjdGlvbiBzY29yZXMKICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmZWF0LWl0Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZlYXQtZG90Ij48L2Rpdj5QcmVtaXVtIHNlY3VyaXR5IHRpZXIgdXBzZWxsIHBvdGVudGlhbAogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZlYXQtaXQiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmVhdC1kb3QiPjwvZGl2PkJyYW5kIGRpZmZlcmVudGlhdGlvbiBpbiBhIGNvbW1vZGl0aXNlZCBtYXJrZXQKICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InBpbGxhciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImV5IGF4IiBzdHlsZT0ibWFyZ2luLWJvdHRvbTo0cHg7Ij5PUEVSQVRJT05BTCBDQVBBQklMSVRZPC9kaXY+CiAgICAgICAgICAgIDxoMiBjbGFzcz0iaDIiPlNlY3VyaXR5IG9mIGV4cGVyaWVuY2U8L2gyPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwaWxsYXItcm9sZSI+VEVDSE5JQ0FMIENSRURJQklMSVRZPC9kaXY+CiAgICAgICAgICAgIDxwIHN0eWxlPSJmb250LXNpemU6MTVweDtjb2xvcjp2YXIoLS10Mik7bGluZS1oZWlnaHQ6MS43NTsiPlRoZSBkaWdpdGFsIGV4cGVyaWVuY2UgeW91ciBzdWJzY3JpYmVycyByZWx5IG9uCiAgICAgICAgICAgICAg4oCUIGJhbmtpbmcsIGhlYWx0aGNhcmUsIHJlbW90ZSB3b3JrLCBjb21tdW5pY2F0aW9uIOKAlCBtdXN0IHJlbWFpbiB1bmludGVycnVwdGVkIHJlZ2FyZGxlc3Mgb2YgdGhlIHRocmVhdHMKICAgICAgICAgICAgICB0YXJnZXRpbmcgaXQgYXQgYW55IG1vbWVudC4gQSBzaW5nbGUgc2VjdXJpdHkgaW5jaWRlbnQgdGhhdCBkaXNydXB0cyBhIHN1YnNjcmliZXIncyBkaWdpdGFsIGV4cGVyaWVuY2UKICAgICAgICAgICAgICBjb3N0cyBtb3JlIGluIGNodXJuIGFuZCBzdXBwb3J0IHRoYW4gdGhlIGVudGlyZSBhbm51YWwgc2VjdXJpdHkgYnVkZ2V0IGZvciBtb3N0IG9wZXJhdG9ycy48L3A+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZlYXQtbGlzdCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmVhdC1pdCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmZWF0LWRvdCI+PC9kaXY+UmVkdWNlZCBpbmNpZGVudCBmYWxsb3V0IGFuZCBmZXdlciBlc2NhbGF0aW9ucwogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZlYXQtaXQiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmVhdC1kb3QiPjwvZGl2PkltcHJvdmVkIG5ldHdvcmsgcmVzaWxpZW5jZSBhbmQgUW9FIGxpbmthZ2UKICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmZWF0LWl0Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZlYXQtZG90Ij48L2Rpdj5GdWxsIHVubWFuYWdlZCBJb1QgZGV2aWNlIGNvdmVyYWdlCiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmVhdC1pdCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmZWF0LWRvdCI+PC9kaXY+TklTMiBhbmQgQ3liZXIgUmVzaWxpZW5jZSBBY3QgYWxpZ25tZW50CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJwaWxsYXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJleSBheCIgc3R5bGU9Im1hcmdpbi1ib3R0b206NHB4OyI+Q09NTUVSQ0lBTCBJTVBBQ1Q8L2Rpdj4KICAgICAgICAgICAgPGgyIGNsYXNzPSJoMiI+U2VjdXJpdHkgb2YgZWNvbm9taWNzPC9oMj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icGlsbGFyLXJvbGUiPlRIRSBDT01NRVJDSUFMIENPTlRST0wgTEFZRVI8L2Rpdj4KICAgICAgICAgICAgPHAgc3R5bGU9ImZvbnQtc2l6ZToxNXB4O2NvbG9yOnZhcigtLXQyKTtsaW5lLWhlaWdodDoxLjc1OyI+VGhlIGJyb2FkYmFuZCByb3V0ZXIgaXMgYWxyZWFkeSBkZXBsb3llZAogICAgICAgICAgICAgIGNhcGl0YWwuIFRoZSBxdWVzdGlvbiBpcyB3aGV0aGVyIGl0IHJlbWFpbnMgYSBwYXNzLXRocm91Z2ggZGV2aWNlLCBvciBiZWNvbWVzIGFuIGludGVsbGlnZW50IGVkZ2UgY29udHJvbAogICAgICAgICAgICAgIGxheWVyIHRoYXQgcHJvdGVjdHMgbWFyZ2luLiBFdmVyeSBhdm9pZGVkIGNvbXByb21pc2UgaXMgb25lIGxlc3MgY2FsbCwgb25lIGxlc3MgY29tcGxhaW50LCBvbmUgbGVzcyBjaHVybgogICAgICAgICAgICAgIGV2ZW50LiBUaGF0IGlzIG1lYXN1cmFibGUgT1BFWCByZWR1Y3Rpb24uPC9wPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmZWF0LWxpc3QiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZlYXQtaXQiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmVhdC1kb3QiPjwvZGl2PkZld2VyIHN1cHBvcnQgY2FsbHMgYW5kIHRydWNrIHJvbGxzCiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmVhdC1pdCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmZWF0LWRvdCI+PC9kaXY+UmVkdWNlZCBhdmVyYWdlIGhhbmRsaW5nIHRpbWUKICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmZWF0LWl0Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZlYXQtZG90Ij48L2Rpdj5QcmVtaXVtIHNlY3VyaXR5IHRpZXIgbW9uZXRpc2F0aW9uCiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmVhdC1pdCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmZWF0LWRvdCI+PC9kaXY+RnJhdWQgYW5kIHJlcHV0YXRpb25hbCByaXNrIHJlZHVjdGlvbgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KICAgIDxzZWN0aW9uIGNsYXNzPSJiZC1zZWN0IHQiPgogICAgICA8ZGl2IGNsYXNzPSJiZC1zaSB0d28tY29sIGMiPgogICAgICAgIDxkaXY+PHNwYW4gY2xhc3M9ImV5Ij5XSFkgVEhFIE1BUktFVCBIQVMgUkVBQ0hFRCBUSElTIElORkxFQ1RJT04gUE9JTlQ8L3NwYW4+CiAgICAgICAgICA8aDIgY2xhc3M9ImgyIj5TcGVlZCBhbmQgcHJpY2UgYXJlIHRhYmxlIHN0YWtlcy4gPGVtPlRydXN0IGlzIHRoZSBuZXcgYmF0dGxlZ3JvdW5kLjwvZW0+PC9oMj4KICAgICAgICAgIDxwIHN0eWxlPSJmb250LXNpemU6MTZweDtjb2xvcjp2YXIoLS10Mik7bGluZS1oZWlnaHQ6MS43NTttYXJnaW4tdG9wOjE2cHg7Ij5TcGVlZCBhbmQgcHJpY2UgaGF2ZSBiZWNvbWUgdGFibGUKICAgICAgICAgICAgc3Rha2VzLiBDb3ZlcmFnZSBpcyBhc3N1bWVkLiBUaGUgY29tcGV0aXRpdmUgYmF0dGxlIGhhcyBzaGlmdGVkIHRvIGEgZGlmZmVyZW50IHF1ZXN0aW9uOiBob3cgc2FmZSBpcyB0aGUKICAgICAgICAgICAgZGlnaXRhbCBlbnZpcm9ubWVudCB5b3UgZGVsaXZlciB0byB5b3VyIHN1YnNjcmliZXJzPzwvcD4KICAgICAgICAgIDxkaXYgY2xhc3M9ImJkLWJxIj4iVGhlIG9wZXJhdG9ycyB3aG8gbGVhZCBjb21tZXJjaWFsbHkgb3ZlciB0aGUgbmV4dCBmaXZlIHllYXJzIHdpbGwgYmUgdGhvc2Ugd2hvIGNhbiBkZWxpdmVyCiAgICAgICAgICAgIHNvbWV0aGluZyBtb3JlIHZhbHVhYmxlIHRoYW4gZmFzdCwgY2hlYXAgY29ubmVjdGl2aXR5OiBhIHRydXN0ZWQgZGlnaXRhbCBlbnZpcm9ubWVudCBmb3IgZXZlcnkgc3Vic2NyaWJlci4iCiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0LXN0YWNrIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXQtcm93LXYiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzbi1sZyIgZGF0YS1jb3VudD0iNCIgZGF0YS1zdWZmaXg9IsOXIj40w5c8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2IiPgogICAgICAgICAgICAgIDxoND5SYW5zb213YXJlIGF0dGFja3Mgb24gdGVsZWNvbXMgb3BlcmF0b3JzIHNpbmNlIDIwMjI8L2g0PgogICAgICAgICAgICAgIDxwPk9wZXJhdG9ycyBhcmUgbm8gbG9uZ2VyIHBhc3NpdmUgdmljdGltcyDigJQgdGhleSBhcmUgZGlyZWN0IHRhcmdldHMgb2YgaW5jcmVhc2luZ2x5IHNvcGhpc3RpY2F0ZWQgYXR0YWNrcwogICAgICAgICAgICAgICAgb24gY3JpdGljYWwgaW5mcmFzdHJ1Y3R1cmUuPC9wPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdC1yb3ctdiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNuLWxnIj4yJTwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzYiI+CiAgICAgICAgICAgICAgPGg0Pk1heGltdW0gTklTMiBmaW5lIGFzIGEgc2hhcmUgb2YgZ2xvYmFsIHR1cm5vdmVyPC9oND4KICAgICAgICAgICAgICA8cD5FVSBOSVMyIGludHJvZHVjZXMgYm9hcmQtbGV2ZWwgYWNjb3VudGFiaWxpdHkgYW5kIG1hdGVyaWFsIGZpbmFuY2lhbCBwZW5hbHRpZXMgZm9yIG5vbi1jb21wbGlhbmNlLgogICAgICAgICAgICAgICAgSW5hY3Rpb24gaXMgbm8gbG9uZ2VyIGEgbmV1dHJhbCBwb3NpdGlvbi48L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0LXJvdy12Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic24tbGciPjFzdDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzYiI+CiAgICAgICAgICAgICAgPGg0PlllYXIgdGVsZWNvbXMgbmFtZWQgYXMgY3JpdGljYWwgZnJhdWQgY29udHJvbCBwb2ludHM8L2g0PgogICAgICAgICAgICAgIDxwPlRoZSBVSyBGcmF1ZCBTdHJhdGVneSAyMDI24oCTMjAyOSBuYW1lcyB0ZWxlY29tcyBvcGVyYXRvcnMgYXMgY3JpdGljYWwgY29udHJvbCBwb2ludHMgaW4gdGhlIG5hdGlvbmFsCiAgICAgICAgICAgICAgICBmcmF1ZCByZXNwb25zZSBmb3IgdGhlIGZpcnN0IHRpbWUuPC9wPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KICAgIDxzZWN0aW9uIGNsYXNzPSJiZC1zZWN0IHQiIHN0eWxlPSJiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjAxMik7Ij4KICAgICAgPGRpdiBjbGFzcz0iYmQtc2kiPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3QtaGQiPjxzcGFuIGNsYXNzPSJleSI+VEhFIFBMQVRGT1JNIEJFSElORCBBTEwgVEhSRUUgT1VUQ09NRVM8L3NwYW4+CiAgICAgICAgICA8aDIgY2xhc3M9ImgyIj5UaHJlZSBwcm9wcmlldGFyeSBjb21wb25lbnRzLCBvcGVyYXRpbmcgYXMgPGVtPm9uZSB1bmlmaWVkIHN5c3RlbS48L2VtPjwvaDI+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZzMiPgogICAgICAgICAgPGRpdiBjbGFzcz0iYmQtY2FyZCI+PHNwYW4gY2xhc3M9ImV5IGF4Ij5CTEFDS0RJQ0UgSVHihKI8L3NwYW4+CiAgICAgICAgICAgIDxoMyBzdHlsZT0iZm9udC1zaXplOjE3cHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOnZhcigtLXR4dCk7bWFyZ2luLWJvdHRvbToxMHB4O21hcmdpbi10b3A6OHB4OyI+RmVkZXJhdGVkIEFJCiAgICAgICAgICAgICAgZW5naW5lPC9oMz4KICAgICAgICAgICAgPHAgc3R5bGU9ImZvbnQtc2l6ZToxNHB4O2NvbG9yOnZhcigtLXQyKTtsaW5lLWhlaWdodDoxLjc7Ij5BIHNlbGYtbGVhcm5pbmcgQUkgZW5naW5lIHVzaW5nIGZlZGVyYXRlZCBtYWNoaW5lCiAgICAgICAgICAgICAgbGVhcm5pbmcgdG8gYW5hbHlzZSBkZXZpY2UgYmVoYXZpb3VyIGFuZCBuZXV0cmFsaXNlIHplcm8tZGF5IHRocmVhdHMgaW4gcmVhbCB0aW1lLiBQcmVkaWN0cyBtYWxpY2lvdXMKICAgICAgICAgICAgICBiZWhhdmlvdXIgYnkgZGV0ZWN0aW5nIGRldmlhdGlvbnMgZnJvbSBlc3RhYmxpc2hlZCBiZWhhdmlvdXJhbCBiYXNlbGluZXMg4oCUIG5vdCBieSB3YWl0aW5nIGZvciBzaWduYXR1cmUKICAgICAgICAgICAgICBkYXRhYmFzZSB1cGRhdGVzLjwvcD4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYy10YWdzIj48c3BhbiBjbGFzcz0iYy10YWciPkZlZGVyYXRlZCBsZWFybmluZzwvc3Bhbj48c3BhbiBjbGFzcz0iYy10YWciPlplcm8tZGF5CiAgICAgICAgICAgICAgICBkZXRlY3Rpb248L3NwYW4+PHNwYW4gY2xhc3M9ImMtdGFnIj5CZWhhdmlvdXJhbCBBSTwvc3Bhbj48L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iYmQtY2FyZCI+PHNwYW4gY2xhc3M9ImV5IGF4Ij5CTEFDS0RJQ0UgUkVUSU5B4oSiPC9zcGFuPgogICAgICAgICAgICA8aDMgc3R5bGU9ImZvbnQtc2l6ZToxN3B4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjp2YXIoLS10eHQpO21hcmdpbi1ib3R0b206MTBweDttYXJnaW4tdG9wOjhweDsiPk9wZXJhdG9yCiAgICAgICAgICAgICAgaW50ZWxsaWdlbmNlIGNvbnNvbGU8L2gzPgogICAgICAgICAgICA8cCBzdHlsZT0iZm9udC1zaXplOjE0cHg7Y29sb3I6dmFyKC0tdDIpO2xpbmUtaGVpZ2h0OjEuNzsiPkNhcnJpZXItZ3JhZGUgYW5hbHl0aWNzIHRyYW5zbGF0aW5nIHJhdyBuZXR3b3JrCiAgICAgICAgICAgICAgdGVsZW1ldHJ5IGludG8gYWN0aW9uYWJsZSBidXNpbmVzcyBpbnRlbGxpZ2VuY2UuIFJlYWwtdGltZSB0aHJlYXQgdmlzaWJpbGl0eSwgdGVsZW1ldHJ5IGxpbmtlZCB0byBRb0UgYW5kCiAgICAgICAgICAgICAgY2h1cm4gaW5kaWNhdG9ycywgcG9saWN5IGNvbnRyb2wuIEJ1aWx0IGZvciBvcGVyYXRvciBzY2FsZSDigJQgbm90IGFkYXB0ZWQgZnJvbSBlbnRlcnByaXNlIHRvb2xzLjwvcD4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYy10YWdzIj48c3BhbiBjbGFzcz0iYy10YWciPlJlYWwtdGltZSB2aXNpYmlsaXR5PC9zcGFuPjxzcGFuIGNsYXNzPSJjLXRhZyI+UW9FCiAgICAgICAgICAgICAgICBsaW5rYWdlPC9zcGFuPjxzcGFuIGNsYXNzPSJjLXRhZyI+Q2h1cm4gaW5kaWNhdG9yczwvc3Bhbj48L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iYmQtY2FyZCI+PHNwYW4gY2xhc3M9ImV5IGF4Ij5CTEFDS0RJQ0UgQU5HRUzihKI8L3NwYW4+CiAgICAgICAgICAgIDxoMyBzdHlsZT0iZm9udC1zaXplOjE3cHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOnZhcigtLXR4dCk7bWFyZ2luLWJvdHRvbToxMHB4O21hcmdpbi10b3A6OHB4OyI+U3Vic2NyaWJlcgogICAgICAgICAgICAgIGFwcGxpY2F0aW9uPC9oMz4KICAgICAgICAgICAgPHAgc3R5bGU9ImZvbnQtc2l6ZToxNHB4O2NvbG9yOnZhcigtLXQyKTtsaW5lLWhlaWdodDoxLjc7Ij5BIHdoaXRlLWxhYmVsbGVkIGNvbnN1bWVyIGFwcGxpY2F0aW9uIGdpdmluZwogICAgICAgICAgICAgIGZhbWlsaWVzIGFuZCBidXNpbmVzc2VzIGludHVpdGl2ZSBjb250cm9sIG92ZXIgdGhlaXIgZGlnaXRhbCBzZWN1cml0eS4gVHVybnMgc2VjdXJpdHkgZnJvbSBhbiBpbnZpc2libGUKICAgICAgICAgICAgICBzZXJ2aWNlIGludG8gc29tZXRoaW5nIHN1YnNjcmliZXJzIGNhbiBzZWUsIHZhbHVlIGFuZCBzdGF5IGZvciDigJQgc3RyZW5ndGhlbmluZyB0aGUgb3BlcmF0b3Itc3Vic2NyaWJlcgogICAgICAgICAgICAgIHJlbGF0aW9uc2hpcCBhdCBldmVyeSBpbnRlcmFjdGlvbi48L3A+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImMtdGFncyI+PHNwYW4gY2xhc3M9ImMtdGFnIj5XaGl0ZS1sYWJlbDwvc3Bhbj48c3BhbiBjbGFzcz0iYy10YWciPlNlY3VyaXR5IHNjb3Jlczwvc3Bhbj48c3BhbgogICAgICAgICAgICAgICAgY2xhc3M9ImMtdGFnIj5GYW1pbHkgY29udHJvbHM8L3NwYW4+PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L3NlY3Rpb24+CiAgICA8c2VjdGlvbiBjbGFzcz0iYmQtc2VjdCB0IgogICAgICBzdHlsZT0iYmFja2dyb3VuZDpyZ2JhKDEsNDcsNTksLjYpO2JvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLWJkcik7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tYmRyKTsiPgogICAgICA8ZGl2IGNsYXNzPSJiZC1zaSI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdC1oZCI+PHNwYW4gY2xhc3M9ImV5IGx0Ij5USEUgUkVHVUxBVE9SWSBMQU5EU0NBUEUgSEFTIENIQU5HRUQ8L3NwYW4+CiAgICAgICAgICA8aDIgY2xhc3M9ImgyIj5JbmFjdGlvbiBpcyBubyBsb25nZXIgPGVtPmEgbmV1dHJhbCBwb3NpdGlvbi48L2VtPjwvaDI+CiAgICAgICAgICA8cD5PcGVyYXRvcnMgYXJlIG5vdyBhY2NvdW50YWJsZSBub3QganVzdCBmb3IgbmV0d29yayBzcGVlZCDigJQgYnV0IGZvciB3aGV0aGVyIHRoZWlyIHN1YnNjcmliZXJzJyBkaWdpdGFsCiAgICAgICAgICAgIGVudmlyb25tZW50cyBhcmUgc2FmZS4gVGhlc2UgYXJlIGN1cnJlbnQgb2JsaWdhdGlvbnMsIG5vdCBmdXR1cmUgb25lcy48L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZzMiPgogICAgICAgICAgPGRpdiBjbGFzcz0iYmQtY2FyZCI+PHNwYW4gY2xhc3M9ImV5IGF4Ij5FVSBOSVMyIERJUkVDVElWRTwvc3Bhbj4KICAgICAgICAgICAgPGgzIHN0eWxlPSJmb250LXNpemU6MTdweDtmb250LXdlaWdodDo3MDA7Y29sb3I6dmFyKC0tdHh0KTttYXJnaW4tYm90dG9tOjEwcHg7bWFyZ2luLXRvcDo4cHg7Ij5Cb2FyZC1sZXZlbAogICAgICAgICAgICAgIGFjY291bnRhYmlsaXR5IGFuZCBtYXRlcmlhbCBwZW5hbHRpZXM8L2gzPgogICAgICAgICAgICA8cCBzdHlsZT0iZm9udC1zaXplOjE0cHg7Y29sb3I6dmFyKC0tdDIpO2xpbmUtaGVpZ2h0OjEuNzsiPk5JUzIgZXhwYW5kZWQgY3liZXJzZWN1cml0eSBvYmxpZ2F0aW9ucyBmb3IKICAgICAgICAgICAgICBkaWdpdGFsIGluZnJhc3RydWN0dXJlIGFuZCB0ZWxlY29tIG9wZXJhdG9ycyDigJQgaW50cm9kdWNpbmcgc3Ryb25nZXIgZW5mb3JjZW1lbnQgcG93ZXJzLCBib2FyZC1sZXZlbAogICAgICAgICAgICAgIGFjY291bnRhYmlsaXR5LCBhbmQgZmluZXMgb2YgdXAgdG8gMiUgb2YgZ2xvYmFsIHR1cm5vdmVyIGZvciBub24tY29tcGxpYW5jZS48L3A+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImJkLWNhcmQiPjxzcGFuIGNsYXNzPSJleSBheCI+VUsgRlJBVUQgU1RSQVRFR1kgMjAyNuKAkzIwMjk8L3NwYW4+CiAgICAgICAgICAgIDxoMyBzdHlsZT0iZm9udC1zaXplOjE3cHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOnZhcigtLXR4dCk7bWFyZ2luLWJvdHRvbToxMHB4O21hcmdpbi10b3A6OHB4OyI+VGVsZWNvbXMgYXMKICAgICAgICAgICAgICBjcml0aWNhbCBmcmF1ZCBjb250cm9sIHBvaW50czwvaDM+CiAgICAgICAgICAgIDxwIHN0eWxlPSJmb250LXNpemU6MTRweDtjb2xvcjp2YXIoLS10Mik7bGluZS1oZWlnaHQ6MS43OyI+Rm9yIHRoZSBmaXJzdCB0aW1lLCB0aGUgVUsgRnJhdWQgU3RyYXRlZ3kgbmFtZXMKICAgICAgICAgICAgICB0ZWxlY29tcyBvcGVyYXRvcnMgYXMgY3JpdGljYWwgY29udHJvbCBwb2ludHMgaW4gdGhlIG5hdGlvbmFsIGZyYXVkIHJlc3BvbnNlLiBEZW1vbnN0cmFibGUgcHJvYWN0aXZlCiAgICAgICAgICAgICAgY29udHJvbHMgYXJlIG5vdyBleHBlY3RlZCDigJQgYW5kIHRoZSBhYnNlbmNlIG9mIHRoZW0gaXMgYmVjb21pbmcgYSByZWd1bGF0b3J5IGFuZCByZXB1dGF0aW9uYWwgbGlhYmlsaXR5LgogICAgICAgICAgICA8L3A+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImJkLWNhcmQiPjxzcGFuIGNsYXNzPSJleSBheCI+RVUgQ1lCRVJTRUNVUklUWSBBQ1Q8L3NwYW4+CiAgICAgICAgICAgIDxoMyBzdHlsZT0iZm9udC1zaXplOjE3cHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOnZhcigtLXR4dCk7bWFyZ2luLWJvdHRvbToxMHB4O21hcmdpbi10b3A6OHB4OyI+Um91dGVyCiAgICAgICAgICAgICAgc2VjdXJpdHkgaXMgbm93IGEgbmF0aW9uYWwgc2VjdXJpdHkgaXNzdWU8L2gzPgogICAgICAgICAgICA8cCBzdHlsZT0iZm9udC1zaXplOjE0cHg7Y29sb3I6dmFyKC0tdDIpO2xpbmUtaGVpZ2h0OjEuNzsiPlVTIHJlZ3VsYXRvcnMgZW5hY3RlZCBzd2VlcGluZyByZXN0cmljdGlvbnMgb24KICAgICAgICAgICAgICBmb3JlaWduLW1hbnVmYWN0dXJlZCBjb25zdW1lciByb3V0ZXJzIGluIE1hcmNoIDIwMjYuIFRoZSBFVSBDeWJlcnNlY3VyaXR5IEFjdCBtYW5kYXRlcyBpbmZyYXN0cnVjdHVyZQogICAgICAgICAgICAgIHNlY3VyaXR5IHJlZnJlc2guIFJvdXRlciBzZWN1cml0eSBoYXMgYmVlbiBlbGV2YXRlZCBmcm9tIGFuIElUIGNvbmNlcm4gdG8gYSBuYXRpb25hbCBzZWN1cml0eSBwcmlvcml0eS4KICAgICAgICAgICAgPC9wPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgogICAgPGRpdiBjbGFzcz0iY3RhLWJhbmQiPgogICAgICA8ZGl2IGNsYXNzPSJjdGEtYmFuZC1pbiI+CiAgICAgICAgPGRpdj4KICAgICAgICAgIDxoMiBjbGFzcz0iaDIiPlNlY3VyaXR5IGlzIG5vIGxvbmdlciBhIGZlYXR1cmUuIEl0IGlzIGFuIDxlbT5lY29ub21pYyBjb250cm9sIGxheWVyLjwvZW0+PC9oMj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2PgogICAgICAgICAgPHA+VGFsayB0byBCbGFja0RpY2UgdG8gdW5kZXJzdGFuZCBob3cgdGhlIHRocmVlIG91dGNvbWVzIOKAlCBjb25maWRlbmNlIHdoaWxlIGNvbm5lY3RlZCwgc2VjdXJpdHkgb2YKICAgICAgICAgICAgZXhwZXJpZW5jZSwgYW5kIHNlY3VyaXR5IG9mIGVjb25vbWljcyDigJQgdHJhbnNsYXRlIHRvIHlvdXIgbmV0d29yaywgeW91ciBzdWJzY3JpYmVyIGJhc2UsIGFuZCB5b3VyIGNvbW1lcmNpYWwKICAgICAgICAgICAgcm9hZG1hcC48L3A+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJidG4tcm93Ij48YnV0dG9uIGNsYXNzPSJidG4tcCIgb25jbGljaz0ic2hvd0RlbW8oKSI+UmVxdWVzdCBhIGRlbW9uc3RyYXRpb248L2J1dHRvbj48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxmb290ZXIgY2xhc3M9ImJkLWZvb3RlciI+PHN2ZyB2aWV3Qm94PSIwIDAgNjQgNjQiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJ2YXIoLS1heCkiCiAgICAgICAgc3Ryb2tlLXdpZHRoPSIzIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0eWxlPSJkaXNwbGF5OmJsb2NrO29wYWNpdHk6Ljc1OyI+CiAgICAgICAgPHBhdGggZD0iTTMyIDYgTDU2IDIwIEw1NiA0NiBMMzIgNjAgTDggNDYgTDggMjAgWiI+PC9wYXRoPgogICAgICAgIDxwYXRoIGQ9Ik0zMiA2IEwzMiAzMiBNOCAyMCBMMzIgMzIgTTU2IDIwIEwzMiAzMiI+PC9wYXRoPgogICAgICAgIDxjaXJjbGUgY3g9IjIwIiBjeT0iMjYiIHI9IjIuNCIgZmlsbD0idmFyKC0tYXgpIiBzdHJva2U9Im5vbmUiPjwvY2lyY2xlPgogICAgICAgIDxjaXJjbGUgY3g9IjIwIiBjeT0iMzQiIHI9IjIuNCIgZmlsbD0idmFyKC0tYXgpIiBzdHJva2U9Im5vbmUiPjwvY2lyY2xlPgogICAgICAgIDxjaXJjbGUgY3g9IjQ0IiBjeT0iMzQiIHI9IjIuNCIgZmlsbD0idmFyKC0tYXgpIiBzdHJva2U9Im5vbmUiPjwvY2lyY2xlPgogICAgICA8L3N2Zz48c3BhbgogICAgICAgIHN0eWxlPSJmb250LWZhbWlseTonVWJ1bnR1JyxzeXN0ZW0tdWksc2Fucy1zZXJpZjtmb250LXdlaWdodDo3MDA7Zm9udC1zaXplOjE0cHg7bGV0dGVyLXNwYWNpbmc6LS4ycHg7Y29sb3I6cmdiYSgyMzIsMjQ0LDI0MywuNTUpIj5CbGFja0RpY2U8L3NwYW4+CiAgICAgIDxkaXYgY2xhc3M9ImZ0ci1saW5rcyI+PGJ1dHRvbiBjbGFzcz0iZnRyLWxpbmsiIGRhdGEtcGFnZT0icDExIiBvbmNsaWNrPSJnb1BhZ2UoZXZlbnQpIj5Db29raWUKICAgICAgICAgIHBvbGljeTwvYnV0dG9uPjxidXR0b24gY2xhc3M9ImZ0ci1saW5rIiBkYXRhLXBhZ2U9InAxMiIgb25jbGljaz0iZ29QYWdlKGV2ZW50KSI+UHJpdmFjeSBwb2xpY3k8L2J1dHRvbj48L2Rpdj4KICAgICAgPHNwYW4gY2xhc3M9ImZ0ci1jb3B5Ij7CqSAyMDI2IEJMQUNLRElDRSBDWUJFUiBMVEQuPC9zcGFuPgogICAgPC9mb290ZXI+CiAgPC9kaXY+CgogIDwhLS0g4pWQ4pWQ4pWQIFA1OiBGSU5BTkNJQUwgU0VSVklDRVMg4pWQ4pWQ4pWQIC0tPgogIDxkaXYgaWQ9InBnLXA1IiBjbGFzcz0icGciIHN0eWxlPSJkaXNwbGF5Om5vbmUiPgogICAgPHNlY3Rpb24gY2xhc3M9ImJkLWhlcm8tc2giPgogICAgICA8ZGl2IGNsYXNzPSJiZC1oZXgtbW90aWYiPjxzdmcgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDM4MCA4MjQiCiAgICAgICAgICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBzbGljZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDsiPgogICAgICAgICAgPGcgb3BhY2l0eT0iMSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zMTAuMCAzNi4wIEwzMzAuOCA0OC4wIEwzMzAuOCA3Mi4wIEwzMTAuMCA4NC4wIEwyODkuMiA3Mi4wIEwyODkuMiA0OC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMzEwLjAgMzYuMCBMMzEwLjAgNjAuMCBNMzMwLjggNzIuMCBMMzEwLjAgNjAuMCBNMjg5LjIgNzIuMCBMMzEwLjAgNjAuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjkiPgogICAgICAgICAgICA8cGF0aCBkPSJNMzUxLjYgMzYuMCBMMzcyLjQgNDguMCBMMzcyLjQgNzIuMCBMMzUxLjYgODQuMCBMMzMwLjggNzIuMCBMMzMwLjggNDguMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTM1MS42IDM2LjAgTDM1MS42IDYwLjAgTTM3Mi40IDcyLjAgTDM1MS42IDYwLjAgTTMzMC44IDcyLjAgTDM1MS42IDYwLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC43Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTMzMC44IDcyLjAgTDM1MS42IDg0LjAgTDM1MS42IDEwOC4wIEwzMzAuOCAxMjAuMCBMMzEwLjAgMTA4LjAgTDMxMC4wIDg0LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zMzAuOCA3Mi4wIEwzMzAuOCA5Ni4wIE0zNTEuNiAxMDguMCBMMzMwLjggOTYuMCBNMzEwLjAgMTA4LjAgTDMzMC44IDk2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC44Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTM3Mi40IDcyLjAgTDM5My4xIDg0LjAgTDM5My4xIDEwOC4wIEwzNzIuNCAxMjAuMCBMMzUxLjYgMTA4LjAgTDM1MS42IDg0LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zNzIuNCA3Mi4wIEwzNzIuNCA5Ni4wIE0zOTMuMSAxMDguMCBMMzcyLjQgOTYuMCBNMzUxLjYgMTA4LjAgTDM3Mi40IDk2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC41Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTI4OS4yIDcyLjAgTDMxMC4wIDg0LjAgTDMxMC4wIDEwOC4wIEwyODkuMiAxMjAuMCBMMjY4LjQgMTA4LjAgTDI2OC40IDg0LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0yODkuMiA3Mi4wIEwyODkuMiA5Ni4wIE0zMTAuMCAxMDguMCBMMjg5LjIgOTYuMCBNMjY4LjQgMTA4LjAgTDI4OS4yIDk2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC4zNSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zMTAuMCAxMDguMCBMMzMwLjggMTIwLjAgTDMzMC44IDE0NC4wIEwzMTAuMCAxNTYuMCBMMjg5LjIgMTQ0LjAgTDI4OS4yIDEyMC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMzEwLjAgMTA4LjAgTDMxMC4wIDEzMi4wIE0zMzAuOCAxNDQuMCBMMzEwLjAgMTMyLjAgTTI4OS4yIDE0NC4wIEwzMTAuMCAxMzIuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjQiPgogICAgICAgICAgICA8cGF0aCBkPSJNMzUxLjYgMTA4LjAgTDM3Mi40IDEyMC4wIEwzNzIuNCAxNDQuMCBMMzUxLjYgMTU2LjAgTDMzMC44IDE0NC4wIEwzMzAuOCAxMjAuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTM1MS42IDEwOC4wIEwzNTEuNiAxMzIuMCBNMzcyLjQgMTQ0LjAgTDM1MS42IDEzMi4wIE0zMzAuOCAxNDQuMCBMMzUxLjYgMTMyLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC41NSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik00MTMuOSA3Mi4wIEw0MzQuNyA4NC4wIEw0MzQuNyAxMDguMCBMNDEzLjkgMTIwLjAgTDM5My4xIDEwOC4wIEwzOTMuMSA4NC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNNDEzLjkgNzIuMCBMNDEzLjkgOTYuMCBNNDM0LjcgMTA4LjAgTDQxMy45IDk2LjAgTTM5My4xIDEwOC4wIEw0MTMuOSA5Ni4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNTUiPgogICAgICAgICAgICA8cGF0aCBkPSJNODAuMCAzNDYuMCBMMTAwLjggMzU4LjAgTDEwMC44IDM4Mi4wIEw4MC4wIDM5NC4wIEw1OS4yIDM4Mi4wIEw1OS4yIDM1OC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNODAuMCAzNDYuMCBMODAuMCAzNzAuMCBNMTAwLjggMzgyLjAgTDgwLjAgMzcwLjAgTTU5LjIgMzgyLjAgTDgwLjAgMzcwLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC4zNSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMjEuNiAzNDYuMCBMMTQyLjQgMzU4LjAgTDE0Mi40IDM4Mi4wIEwxMjEuNiAzOTQuMCBMMTAwLjggMzgyLjAgTDEwMC44IDM1OC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMTIxLjYgMzQ2LjAgTDEyMS42IDM3MC4wIE0xNDIuNCAzODIuMCBMMTIxLjYgMzcwLjAgTTEwMC44IDM4Mi4wIEwxMjEuNiAzNzAuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjQ1Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTEwMC44IDM4Mi4wIEwxMjEuNiAzOTQuMCBMMTIxLjYgNDE4LjAgTDEwMC44IDQzMC4wIEw4MC4wIDQxOC4wIEw4MC4wIDM5NC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMTAwLjggMzgyLjAgTDEwMC44IDQwNi4wIE0xMjEuNiA0MTguMCBMMTAwLjggNDA2LjAgTTgwLjAgNDE4LjAgTDEwMC44IDQwNi4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuMzUiPgogICAgICAgICAgICA8cGF0aCBkPSJNMTQyLjQgMzgyLjAgTDE2My4xIDM5NC4wIEwxNjMuMSA0MTguMCBMMTQyLjQgNDMwLjAgTDEyMS42IDQxOC4wIEwxMjEuNiAzOTQuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTE0Mi40IDM4Mi4wIEwxNDIuNCA0MDYuMCBNMTYzLjEgNDE4LjAgTDE0Mi40IDQwNi4wIE0xMjEuNiA0MTguMCBMMTQyLjQgNDA2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC4yNSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik01OS4yIDM4Mi4wIEw4MC4wIDM5NC4wIEw4MC4wIDQxOC4wIEw1OS4yIDQzMC4wIEwzOC40IDQxOC4wIEwzOC40IDM5NC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNNTkuMiAzODIuMCBMNTkuMiA0MDYuMCBNODAuMCA0MTguMCBMNTkuMiA0MDYuMCBNMzguNCA0MTguMCBMNTkuMiA0MDYuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjMiPgogICAgICAgICAgICA8cGF0aCBkPSJNMTYzLjEgMzQ2LjAgTDE4My45IDM1OC4wIEwxODMuOSAzODIuMCBMMTYzLjEgMzk0LjAgTDE0Mi40IDM4Mi4wIEwxNDIuNCAzNTguMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTE2My4xIDM0Ni4wIEwxNjMuMSAzNzAuMCBNMTgzLjkgMzgyLjAgTDE2My4xIDM3MC4wIE0xNDIuNCAzODIuMCBMMTYzLjEgMzcwLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC44NSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik04MC4wIDYyNi4wIEwxMDAuOCA2MzguMCBMMTAwLjggNjYyLjAgTDgwLjAgNjc0LjAgTDU5LjIgNjYyLjAgTDU5LjIgNjM4LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik04MC4wIDYyNi4wIEw4MC4wIDY1MC4wIE0xMDAuOCA2NjIuMCBMODAuMCA2NTAuMCBNNTkuMiA2NjIuMCBMODAuMCA2NTAuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjciPgogICAgICAgICAgICA8cGF0aCBkPSJNMTIxLjYgNjI2LjAgTDE0Mi40IDYzOC4wIEwxNDIuNCA2NjIuMCBMMTIxLjYgNjc0LjAgTDEwMC44IDY2Mi4wIEwxMDAuOCA2MzguMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTEyMS42IDYyNi4wIEwxMjEuNiA2NTAuMCBNMTQyLjQgNjYyLjAgTDEyMS42IDY1MC4wIE0xMDAuOCA2NjIuMCBMMTIxLjYgNjUwLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC41NSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMDAuOCA2NjIuMCBMMTIxLjYgNjc0LjAgTDEyMS42IDY5OC4wIEwxMDAuOCA3MTAuMCBMODAuMCA2OTguMCBMODAuMCA2NzQuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTEwMC44IDY2Mi4wIEwxMDAuOCA2ODYuMCBNMTIxLjYgNjk4LjAgTDEwMC44IDY4Ni4wIE04MC4wIDY5OC4wIEwxMDAuOCA2ODYuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjY1Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTE0Mi40IDY2Mi4wIEwxNjMuMSA2NzQuMCBMMTYzLjEgNjk4LjAgTDE0Mi40IDcxMC4wIEwxMjEuNiA2OTguMCBMMTIxLjYgNjc0LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNDIuNCA2NjIuMCBMMTQyLjQgNjg2LjAgTTE2My4xIDY5OC4wIEwxNDIuNCA2ODYuMCBNMTIxLjYgNjk4LjAgTDE0Mi40IDY4Ni4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNiI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNjMuMSA2MjYuMCBMMTgzLjkgNjM4LjAgTDE4My45IDY2Mi4wIEwxNjMuMSA2NzQuMCBMMTQyLjQgNjYyLjAgTDE0Mi40IDYzOC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMTYzLjEgNjI2LjAgTDE2My4xIDY1MC4wIE0xODMuOSA2NjIuMCBMMTYzLjEgNjUwLjAgTTE0Mi40IDY2Mi4wIEwxNjMuMSA2NTAuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjQiPgogICAgICAgICAgICA8cGF0aCBkPSJNNTkuMiA2NjIuMCBMODAuMCA2NzQuMCBMODAuMCA2OTguMCBMNTkuMiA3MTAuMCBMMzguNCA2OTguMCBMMzguNCA2NzQuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTU5LjIgNjYyLjAgTDU5LjIgNjg2LjAgTTgwLjAgNjk4LjAgTDU5LjIgNjg2LjAgTTM4LjQgNjk4LjAgTDU5LjIgNjg2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC41Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTgwLjAgNjk4LjAgTDEwMC44IDcxMC4wIEwxMDAuOCA3MzQuMCBMODAuMCA3NDYuMCBMNTkuMiA3MzQuMCBMNTkuMiA3MTAuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTgwLjAgNjk4LjAgTDgwLjAgNzIyLjAgTTEwMC44IDczNC4wIEw4MC4wIDcyMi4wIE01OS4yIDczNC4wIEw4MC4wIDcyMi4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNCI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMjEuNiA2OTguMCBMMTQyLjQgNzEwLjAgTDE0Mi40IDczNC4wIEwxMjEuNiA3NDYuMCBMMTAwLjggNzM0LjAgTDEwMC44IDcxMC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMTIxLjYgNjk4LjAgTDEyMS42IDcyMi4wIE0xNDIuNCA3MzQuMCBMMTIxLjYgNzIyLjAgTTEwMC44IDczNC4wIEwxMjEuNiA3MjIuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjUiPgogICAgICAgICAgICA8cGF0aCBkPSJNMTgzLjkgNjYyLjAgTDIwNC43IDY3NC4wIEwyMDQuNyA2OTguMCBMMTgzLjkgNzEwLjAgTDE2My4xIDY5OC4wIEwxNjMuMSA2NzQuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTE4My45IDY2Mi4wIEwxODMuOSA2ODYuMCBNMjA0LjcgNjk4LjAgTDE4My45IDY4Ni4wIE0xNjMuMSA2OTguMCBMMTgzLjkgNjg2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC4zNSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNjMuMSA2OTguMCBMMTgzLjkgNzEwLjAgTDE4My45IDczNC4wIEwxNjMuMSA3NDYuMCBMMTQyLjQgNzM0LjAgTDE0Mi40IDcxMC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMTYzLjEgNjk4LjAgTDE2My4xIDcyMi4wIE0xODMuOSA3MzQuMCBMMTYzLjEgNzIyLjAgTTE0Mi40IDczNC4wIEwxNjMuMSA3MjIuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIzMTAuMCIgY3k9IjM2LjAiIHI9IjIuNiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjEiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIzNTEuNiIgY3k9IjM2LjAiIHI9IjIuNiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuOSIgLz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjM3Mi40IiBjeT0iNzIuMCIgcj0iMi42IiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC44IiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iNDEzLjkiIGN5PSI3Mi4wIiByPSIyLjYiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjU1IiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iODAuMCIgY3k9IjM0Ni4wIiByPSIyLjYiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjU1IiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iMTQyLjQiIGN5PSIzODIuMCIgcj0iMi42IiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC4zNSIgLz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjgwLjAiIGN5PSI2MjYuMCIgcj0iMi42IiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC44NSIgLz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjEyMS42IiBjeT0iNjI2LjAiIHI9IjIuNiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuNyIgLz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjE0Mi40IiBjeT0iNjYyLjAiIHI9IjIuNiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuNjUiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIxNjMuMSIgY3k9IjYyNi4wIiByPSIyLjYiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjYiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIxMjEuNiIgY3k9IjY5OC4wIiByPSIyLjYiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjQiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIzMzAuOCIgY3k9IjQ4LjAiIHI9IjIuMiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuNzAiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIzNzIuNCIgY3k9IjQ4LjAiIHI9IjIuMiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuNjMiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIzOTMuMSIgY3k9Ijg0LjAiIHI9IjIuMiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuNTYiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSI0MzQuNyIgY3k9Ijg0LjAiIHI9IjIuMiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuMzkiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIxMDAuOCIgY3k9IjM1OC4wIiByPSIyLjIiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjM5IiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iMTYzLjEiIGN5PSIzOTQuMCIgcj0iMi4yIiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC4yNCIgLz4KICAgICAgICA8L3N2Zz48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iYmQtaGVyby1nbCI+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImJkLWhlcm8taW4iPgogICAgICAgIDxkaXY+PHNwYW4gY2xhc3M9ImV5IGx0Ij5CTEFDS0RJQ0UgRk9SIEZJTkFOQ0lBTCBTRVJWSUNFUzwvc3Bhbj4KICAgICAgICAgIDxoMSBjbGFzcz0iaDEiPkZyYXVkIHByZXZlbnRpb24gc3RhcnRzIGJlZm9yZSB0aGUgPGVtPnRyYW5zYWN0aW9uIGJlZ2lucy48L2VtPjwvaDE+CiAgICAgICAgICA8cCBjbGFzcz0iaGVyby1zdWIiPk1vc3QgZnJhdWQgcHJldmVudGlvbiB0b29scyBhdXRoZW50aWNhdGUgdGhlIGN1c3RvbWVyLiBUaGUgQmxhY2tEaWNlIE1vYmlsZSBTREsKICAgICAgICAgICAgdW5kZXJzdGFuZHMgdGhlIGNvbnRleHQgc3Vycm91bmRpbmcgdGhlIGN1c3RvbWVyIOKAlCBhbmQgdGhhdCBpcyB3aGVyZSBmcmF1ZCBhY3R1YWxseSBiZWdpbnMuIFJlYWwtdGltZQogICAgICAgICAgICBiZWhhdmlvdXJhbCBpbnRlbGxpZ2VuY2UsIHNlc3Npb24gcmlzayBzY29yaW5nIGFuZCBzY2FtIGRldGVjdGlvbiwgZW1iZWRkZWQgZGlyZWN0bHkgaW50byB5b3VyIGV4aXN0aW5nCiAgICAgICAgICAgIGFwcGxpY2F0aW9uLjwvcD4KICAgICAgICAgIDxkaXYgY2xhc3M9ImJ0bi1yb3ciPjxidXR0b24gY2xhc3M9ImJ0bi1wIiBvbmNsaWNrPSJzaG93RGVtbygpIj5SZXF1ZXN0IGEgZGVtb25zdHJhdGlvbjwvYnV0dG9uPjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJiZC1mZWVkIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmVlZC1oZCI+PHNwYW4gY2xhc3M9ImZlZWQtdGl0bGUiPlNFU1NJT04gUklTSyBJTlRFTExJR0VOQ0UgwrcgTElWRTwvc3Bhbj48c3BhbgogICAgICAgICAgICAgICAgY2xhc3M9ImxpdmUtYmFkZ2UiPjxzcGFuIGNsYXNzPSJsaXZlLWRvdCI+PC9zcGFuPlNDT1JJTkc8L3NwYW4+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZlZWQtYm9keSI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmVlZC1yb3ciPjxzcGFuIGNsYXNzPSJmZWVkLWxibCI+UmVtb3RlIGFjY2VzcyBhcHAgYWN0aXZlIGR1cmluZyBiYW5raW5nIHNlc3Npb248L3NwYW4+PHNwYW4KICAgICAgICAgICAgICAgICAgY2xhc3M9ImZlZWQtcmlzayBoIj5ISUdIPC9zcGFuPjxzcGFuIGNsYXNzPSJmZWVkLWJkZyBibG9ja2VkIj5CTE9DS0VEPC9zcGFuPjwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZlZWQtcm93Ij48c3BhbiBjbGFzcz0iZmVlZC1sYmwiPkluY29taW5nIGNhbGwg4oCUIGtub3duIHNjYW0gcGF0dGVybiwgc3Vic2NyaWJlciBvbiBiYW5raW5nCiAgICAgICAgICAgICAgICAgIGFwcDwvc3Bhbj48c3BhbiBjbGFzcz0iZmVlZC1yaXNrIGgiPkhJR0g8L3NwYW4+PHNwYW4gY2xhc3M9ImZlZWQtYmRnIGZsYWciPkZMQUdHRUQ8L3NwYW4+PC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmVlZC1yb3ciPjxzcGFuIGNsYXNzPSJmZWVkLWxibCI+RGV2aWNlIGludGVncml0eSBhbm9tYWx5IOKAlCBhY2Nlc3NpYmlsaXR5IHNlcnZpY2UKICAgICAgICAgICAgICAgICAgYWN0aXZlPC9zcGFuPjxzcGFuIGNsYXNzPSJmZWVkLXJpc2sgaCI+SElHSDwvc3Bhbj48c3BhbiBjbGFzcz0iZmVlZC1iZGcgYmxvY2tlZCI+Q0hBTExFTkdFPC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZlZWQtcm93Ij48c3BhbiBjbGFzcz0iZmVlZC1sYmwiPkRldmljZSBjbGVhciDigJQgc3RhbmRhcmQgc2Vzc2lvbiwgbm8gYW5vbWFsb3VzCiAgICAgICAgICAgICAgICAgIHNpZ25hbHM8L3NwYW4+PHNwYW4gY2xhc3M9ImZlZWQtcmlzayBsIj5MT1c8L3NwYW4+PHNwYW4gY2xhc3M9ImZlZWQtYmRnIGNsZWFyIj5DTEVBUjwvc3Bhbj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L3NlY3Rpb24+CiAgICA8ZGl2IGNsYXNzPSJhdWQtc3RyaXAiPjxzcGFuIGNsYXNzPSJhdWQtbGJsIj5CVUlMVCBGT1I8L3NwYW4+CiAgICAgIDxkaXYgY2xhc3M9ImF1ZC10YWdzIj48c3BhbiBjbGFzcz0iYXVkLXRhZyI+UmV0YWlsIGJhbmtzPC9zcGFuPjxzcGFuIGNsYXNzPSJhdWQtdGFnIj5EaWdpdGFsLWZpcnN0IGJhbmtzICZhbXA7CiAgICAgICAgICBmaW50ZWNoPC9zcGFuPjxzcGFuIGNsYXNzPSJhdWQtdGFnIj5CdWlsZGluZyBzb2NpZXRpZXM8L3NwYW4+PHNwYW4gY2xhc3M9ImF1ZC10YWciPlBheW1lbnQKICAgICAgICAgIHBsYXRmb3Jtczwvc3Bhbj48c3BhbiBjbGFzcz0iYXVkLXRhZyI+SW5zdXJhbmNlIHByb3ZpZGVyczwvc3Bhbj48c3BhbiBjbGFzcz0iYXVkLXRhZyI+TW9iaWxlIG9wZXJhdG9ycyB3aXRoIEZTCiAgICAgICAgICBleHBvc3VyZTwvc3Bhbj48L2Rpdj4KICAgIDwvZGl2PgogICAgPHNlY3Rpb24gY2xhc3M9ImJkLXNlY3QgdCI+CiAgICAgIDxkaXYgY2xhc3M9ImJkLXNpIHR3by1jb2wgYyI+CiAgICAgICAgPGRpdj48c3BhbiBjbGFzcz0iZXkiPlRIRSBJTlRFTExJR0VOQ0UgR0FQPC9zcGFuPgogICAgICAgICAgPGgyIGNsYXNzPSJoMiI+QXV0aGVudGljYXRpb24gcGFzc2VzLiBUaGUgZnJhdWQgPGVtPnN0aWxsIGhhcHBlbnMuPC9lbT48L2gyPgogICAgICAgICAgPHAgc3R5bGU9ImZvbnQtc2l6ZToxNnB4O2NvbG9yOnZhcigtLXQyKTtsaW5lLWhlaWdodDoxLjc1O21hcmdpbi10b3A6MTZweDsiPkF1dGhvcmlzZWQgcHVzaCBwYXltZW50IGZyYXVkLAogICAgICAgICAgICBzb2NpYWwgZW5naW5lZXJpbmcgYW5kIGFjY291bnQgdGFrZW92ZXIgaGF2ZSBvbmUgdGhpbmcgaW4gY29tbW9uOiB0aGV5IGV4cGxvaXQgdGhlIGdhcCBiZXR3ZWVuIGEgdGVjaG5pY2FsbHkKICAgICAgICAgICAgc3VjY2Vzc2Z1bCBhdXRoZW50aWNhdGlvbiBhbmQgYSBnZW51aW5lbHkgc2FmZSB0cmFuc2FjdGlvbi4gVGhlIGN1c3RvbWVyIGlzIHJlYWwuIFRoZSBjcmVkZW50aWFscyBhcmUKICAgICAgICAgICAgY29ycmVjdC4gVGhlIGZyYXVkIGhhcHBlbnMgYW55d2F5LjwvcD4KICAgICAgICAgIDxwIHN0eWxlPSJmb250LXNpemU6MTZweDtjb2xvcjp2YXIoLS10Mik7bGluZS1oZWlnaHQ6MS43NTttYXJnaW4tdG9wOjE0cHg7Ij5UaGUgc2lnbmFsIHRoYXQgd291bGQgaGF2ZSBzdG9wcGVkCiAgICAgICAgICAgIHRoZSBmcmF1ZCB3YXMgdGhlcmUg4oCUIGEgc2NhbSBjYWxsIGluIHByb2dyZXNzLCBhIHJlbW90ZSBhY2Nlc3MgYXBwIGFjdGl2ZSwgYSBjb21wcm9taXNlZCBkZXZpY2Ug4oCUIGJ1dCBubwogICAgICAgICAgICB0b29sIHdhcyBsb29raW5nIGZvciBpdC4gQmxhY2tEaWNlIGNsb3NlcyB0aGF0IGdhcCBieSByZWFkaW5nIHRoZSBjb250ZXh0IHN1cnJvdW5kaW5nIHRoZSBzZXNzaW9uLjwvcD4KICAgICAgICAgIDxkaXYgY2xhc3M9ImJkLWJxIj4iQVBQIGZyYXVkIGlzIG5vdCBhIHRlY2hub2xvZ3kgcHJvYmxlbS4gSXQgaXMgYW4gaW50ZWxsaWdlbmNlIGdhcC4gTW9zdCB0b29scyBhdXRoZW50aWNhdGUKICAgICAgICAgICAgdGhlIGN1c3RvbWVyLiBCbGFja0RpY2UgdW5kZXJzdGFuZHMgd2hhdCBpcyBoYXBwZW5pbmcgYXJvdW5kIHRoZSBjdXN0b21lciBhdCB0aGUgbW9tZW50IG9mIHJpc2suIjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InN0YXQtc3RhY2siPgogICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdC1yb3ctdiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNuLWxnIj7Co2JuPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNiIj4KICAgICAgICAgICAgICA8aDQ+QVBQIGZyYXVkIGNvc3RzIHRoZSBVSyBlY29ub215IGFubnVhbGx5PC9oND4KICAgICAgICAgICAgICA8cD5BdXRob3Jpc2VkIHB1c2ggcGF5bWVudCBmcmF1ZCBoYXMgb3ZlcnRha2VuIGNhcmQgZnJhdWQgYXMgdGhlIHByaW1hcnkgZmluYW5jaWFsIGNyaW1lIHZlY3Rvci4gVGhlIFBTUgogICAgICAgICAgICAgICAgcmVpbWJ1cnNlbWVudCBtYW5kYXRlIG1ha2VzIHRoaXMgZGlyZWN0bHkgbWF0ZXJpYWwgdG8gZmluYW5jaWFsIGluc3RpdHV0aW9uIFAmYW1wO0wuPC9wPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdC1yb3ctdiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNuLWxnIiBkYXRhLWNvdW50PSI3NiIgZGF0YS1zdWZmaXg9IiUiPjc2JTwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzYiI+CiAgICAgICAgICAgICAgPGg0Pk9mIEFQUCBmcmF1ZCBpbnZvbHZlcyBhIHNjYW0gY2FsbCBvciBzb2NpYWwgZW5naW5lZXJpbmcgY29udGFjdDwvaDQ+CiAgICAgICAgICAgICAgPHA+VGhlIHBlcnBldHJhdG9yIGlzIHR5cGljYWxseSBpbiB2b2ljZSBvciBTTVMgY29udGFjdCB3aXRoIHRoZSB2aWN0aW0gYXQgdGhlIG1vbWVudCB0aGUgZnJhdWR1bGVudAogICAgICAgICAgICAgICAgcGF5bWVudCBpcyBhdXRob3Jpc2VkLiBUaGF0IHNpZ25hbCBpcyBkZXRlY3RhYmxlIOKAlCB3aXRob3V0IHRoZSByaWdodCB0b29saW5nLCBpdCBpcyBpbnZpc2libGUuPC9wPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdC1yb3ctdiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNuLWxnIiBkYXRhLWNvdW50PSI4NSIgZGF0YS1zdWZmaXg9IiUiPjg1JTwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzYiI+CiAgICAgICAgICAgICAgPGg0Pk9mIGFjY291bnQgdGFrZW92ZXIgYmVnaW5zIHdpdGggZGV2aWNlIGNvbXByb21pc2U8L2g0PgogICAgICAgICAgICAgIDxwPkphaWxicm9rZW4gZGV2aWNlcywgYWNjZXNzaWJpbGl0eSBzZXJ2aWNlIGFidXNlIGFuZCBjcmVkZW50aWFsLWhhcnZlc3RpbmcgbWFsd2FyZSBjcmVhdGUgdGhlIGNvbmRpdGlvbnMKICAgICAgICAgICAgICAgIGZvciBhY2NvdW50IHRha2VvdmVyIGJlZm9yZSB0aGUgZmlyc3QgbG9naW4gYXR0ZW1wdC48L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0LXJvdy12Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic24tbGciPjEwMCU8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2IiPgogICAgICAgICAgICAgIDxoND5SZWltYnVyc2VtZW50IG9ibGlnYXRpb24gdW5kZXIgUFNSIG1hbmRhdGU8L2g0PgogICAgICAgICAgICAgIDxwPkZpbmFuY2lhbCBpbnN0aXR1dGlvbnMgYXJlIG5vdyByZXF1aXJlZCB0byByZWltYnVyc2UgQVBQIGZyYXVkIHZpY3RpbXMgaW4gbW9zdCBjYXNlcy4gVGhlIGNvc3Qgb2YgYQogICAgICAgICAgICAgICAgbWlzc2VkIHNpZ25hbCBpcyBub3cgYSBkaXJlY3QgbGlhYmlsaXR5LjwvcD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L3NlY3Rpb24+CiAgICA8c2VjdGlvbiBjbGFzcz0iYmQtc2VjdCB0IiBzdHlsZT0iYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4wMTIpOyI+CiAgICAgIDxkaXYgY2xhc3M9ImJkLXNpIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0LWhkIj48c3BhbiBjbGFzcz0iZXkiPlRIUkVFIFBST0JMRU1TIFRIRSBTREsgU09MVkVTIFRPREFZPC9zcGFuPgogICAgICAgICAgPGgyIGNsYXNzPSJoMiI+RnJhdWQgcGF0dGVybnMgaGF2ZSBldm9sdmVkIGJleW9uZCB3aGF0IGF1dGhlbnRpY2F0aW9uIGxheWVycyBhbG9uZSA8ZW0+Y2FuIGRldGVjdC48L2VtPjwvaDI+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ib3BzLWdyaWQiPgogICAgICAgICAgPGRpdiBjbGFzcz0ib3BzLWNhcmQiPjxzcGFuIGNsYXNzPSJleSBheCI+UFJPQkxFTSAwMTwvc3Bhbj4KICAgICAgICAgICAgPGgzIHN0eWxlPSJmb250LXNpemU6MTdweDtmb250LXdlaWdodDo3MDA7Y29sb3I6dmFyKC0tdHh0KTttYXJnaW4tYm90dG9tOjEwcHg7bWFyZ2luLXRvcDo4cHg7Ij5BdXRob3Jpc2VkCiAgICAgICAgICAgICAgcHVzaCBwYXltZW50IGFuZCBzb2NpYWwgZW5naW5lZXJpbmcgZnJhdWQ8L2gzPgogICAgICAgICAgICA8cCBzdHlsZT0iZm9udC1zaXplOjE0cHg7Y29sb3I6dmFyKC0tdDIpO2xpbmUtaGVpZ2h0OjEuNzsiPldoZW4gYSBmcmF1ZHN0ZXIgcGVyc3VhZGVzIGEgY3VzdG9tZXIgdG8gaW5pdGlhdGUKICAgICAgICAgICAgICBhIHBheW1lbnQgdGhlbXNlbHZlcywgdHJhZGl0aW9uYWwgYXV0aGVudGljYXRpb24gcGFzc2VzIHdpdGhvdXQgZnJpY3Rpb24g4oCUIHRoZSBjdXN0b21lciBpcyByZWFsLCB0aGUKICAgICAgICAgICAgICBjcmVkZW50aWFscyBhcmUgY29ycmVjdC4gQmxhY2tEaWNlIGRldGVjdHMgdGhlIGJlaGF2aW91cmFsIGNvbnRleHQgdGhhdCBwcmVjZWRlcyBBUFAgZnJhdWQgYmVmb3JlIHRoZQogICAgICAgICAgICAgIHRyYW5zYWN0aW9uIGlzIGNvbmZpcm1lZC48L3A+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wcy1vdiI+RGV0ZWN0YWJsZTwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcHMtb2wiPmJlZm9yZSBhdXRoZW50aWNhdGlvbiBjb21wbGV0ZXM8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ib3BzLWNhcmQiPjxzcGFuIGNsYXNzPSJleSBheCI+UFJPQkxFTSAwMjwvc3Bhbj4KICAgICAgICAgICAgPGgzIHN0eWxlPSJmb250LXNpemU6MTdweDtmb250LXdlaWdodDo3MDA7Y29sb3I6dmFyKC0tdHh0KTttYXJnaW4tYm90dG9tOjEwcHg7bWFyZ2luLXRvcDo4cHg7Ij5BY2NvdW50CiAgICAgICAgICAgICAgdGFrZW92ZXIgYW5kIGNyZWRlbnRpYWwgY29tcHJvbWlzZTwvaDM+CiAgICAgICAgICAgIDxwIHN0eWxlPSJmb250LXNpemU6MTRweDtjb2xvcjp2YXIoLS10Mik7bGluZS1oZWlnaHQ6MS43OyI+QWNjb3VudCB0YWtlb3ZlciBvZnRlbiBiZWdpbnMgd2l0aCBhIGNvbXByb21pc2VkCiAgICAgICAgICAgICAgZGV2aWNlLiBCbGFja0RpY2UgaWRlbnRpZmllcyBkZXZpY2UgaW50ZWdyaXR5IGFub21hbGllcyBiZWZvcmUgdGhlIGxvZ2luIGF0dGVtcHQgcmVhY2hlcyB5b3VyCiAgICAgICAgICAgICAgYXV0aGVudGljYXRpb24gbGF5ZXIg4oCUIGVuYWJsaW5nIHN0ZXAtdXAgY2hhbGxlbmdlcyBvciBzZXNzaW9uIHRlcm1pbmF0aW9uIGJlZm9yZSBjb21wcm9taXNlIG9jY3Vycywgbm90CiAgICAgICAgICAgICAgcmV0cm9zcGVjdGl2ZSBpbnZlc3RpZ2F0aW9uIGFmdGVyIGl0IGFscmVhZHkgaGFzLjwvcD4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3BzLW92Ij5QcmUtbG9naW48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3BzLW9sIj5kZXZpY2UgaW50ZWdyaXR5IHZlcmlmaWVkPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im9wcy1jYXJkIj48c3BhbiBjbGFzcz0iZXkgYXgiPlBST0JMRU0gMDM8L3NwYW4+CiAgICAgICAgICAgIDxoMyBzdHlsZT0iZm9udC1zaXplOjE3cHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOnZhcigtLXR4dCk7bWFyZ2luLWJvdHRvbToxMHB4O21hcmdpbi10b3A6OHB4OyI+U2NhbSBjYWxsLAogICAgICAgICAgICAgIFNNUyBwaGlzaGluZyBhbmQgc29jaWFsIGVuZ2luZWVyaW5nIGF0IHNjYWxlPC9oMz4KICAgICAgICAgICAgPHAgc3R5bGU9ImZvbnQtc2l6ZToxNHB4O2NvbG9yOnZhcigtLXQyKTtsaW5lLWhlaWdodDoxLjc7Ij5TY2FtIGNhbGxzIGFuZCBwaGlzaGluZyBTTVMgcmVtYWluIHRoZSBwcmltYXJ5CiAgICAgICAgICAgICAgZmlyc3QgY29udGFjdCBpbiBzb2NpYWwgZW5naW5lZXJpbmcgYXR0YWNrcyBvbiBiYW5raW5nIGN1c3RvbWVycy4gVGhlIFNESyBpZGVudGlmaWVzIGtub3duIHNjYW0gbnVtYmVyCiAgICAgICAgICAgICAgcGF0dGVybnMsIHJlYWwtdGltZSBjYWxsIGFjdGl2aXR5IGNvcnJlbGF0ZWQgd2l0aCBhY3RpdmUgYmFua2luZyBzZXNzaW9ucywgYW5kIHN1c3BpY2lvdXMgU01TIGJlaGF2aW91ci4KICAgICAgICAgICAgPC9wPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcHMtb3YiPlJlYWwtdGltZTwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcHMtb2wiPmNhbGwgcmlzayBzY29yaW5nIGR1cmluZyBzZXNzaW9uczwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgogICAgPGRpdiBjbGFzcz0iY3RhLWJhbmQiPgogICAgICA8ZGl2IGNsYXNzPSJjdGEtYmFuZC1pbiI+CiAgICAgICAgPGRpdj4KICAgICAgICAgIDxoMiBjbGFzcz0iaDIiPkFQUCBmcmF1ZCBpcyBub3QgYSB0ZWNobm9sb2d5IHByb2JsZW0uIEl0IGlzIGFuIDxlbT5pbnRlbGxpZ2VuY2UgZ2FwLjwvZW0+PC9oMj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2PgogICAgICAgICAgPHA+TW9zdCBmcmF1ZCBwcmV2ZW50aW9uIHRvb2xzIGF1dGhlbnRpY2F0ZSB0aGUgY3VzdG9tZXIuIFRoZSBCbGFja0RpY2UgU0RLIHVuZGVyc3RhbmRzIHRoZSBjb250ZXh0CiAgICAgICAgICAgIHN1cnJvdW5kaW5nIHRoZSBjdXN0b21lciDigJQgYW5kIHRoYXQgaXMgd2hlcmUgZnJhdWQgYWN0dWFsbHkgYmVnaW5zLiBUYWxrIHRvIG91ciBmaW5hbmNpYWwgc2VydmljZXMgdGVhbSB0bwogICAgICAgICAgICB1bmRlcnN0YW5kIGhvdyB0aGUgU0RLIG1hcHMgdG8geW91ciBzcGVjaWZpYyByaXNrIGVudmlyb25tZW50LjwvcD4KICAgICAgICAgIDxkaXYgY2xhc3M9ImJ0bi1yb3ciPjxidXR0b24gY2xhc3M9ImJ0bi1wIiBvbmNsaWNrPSJzaG93RGVtbygpIj5SZXF1ZXN0IGEgZGVtb25zdHJhdGlvbjwvYnV0dG9uPjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPGZvb3RlciBjbGFzcz0iYmQtZm9vdGVyIj48c3ZnIHZpZXdCb3g9IjAgMCA2NCA2NCIgd2lkdGg9IjIyIiBoZWlnaHQ9IjIyIiBmaWxsPSJub25lIiBzdHJva2U9InZhcigtLWF4KSIKICAgICAgICBzdHJva2Utd2lkdGg9IjMiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7b3BhY2l0eTouNzU7Ij4KICAgICAgICA8cGF0aCBkPSJNMzIgNiBMNTYgMjAgTDU2IDQ2IEwzMiA2MCBMOCA0NiBMOCAyMCBaIj48L3BhdGg+CiAgICAgICAgPHBhdGggZD0iTTMyIDYgTDMyIDMyIE04IDIwIEwzMiAzMiBNNTYgMjAgTDMyIDMyIj48L3BhdGg+CiAgICAgICAgPGNpcmNsZSBjeD0iMjAiIGN5PSIyNiIgcj0iMi40IiBmaWxsPSJ2YXIoLS1heCkiIHN0cm9rZT0ibm9uZSI+PC9jaXJjbGU+CiAgICAgICAgPGNpcmNsZSBjeD0iMjAiIGN5PSIzNCIgcj0iMi40IiBmaWxsPSJ2YXIoLS1heCkiIHN0cm9rZT0ibm9uZSI+PC9jaXJjbGU+CiAgICAgICAgPGNpcmNsZSBjeD0iNDQiIGN5PSIzNCIgcj0iMi40IiBmaWxsPSJ2YXIoLS1heCkiIHN0cm9rZT0ibm9uZSI+PC9jaXJjbGU+CiAgICAgIDwvc3ZnPjxzcGFuCiAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OidVYnVudHUnLHN5c3RlbS11aSxzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6MTRweDtsZXR0ZXItc3BhY2luZzotLjJweDtjb2xvcjpyZ2JhKDIzMiwyNDQsMjQzLC41NSkiPkJsYWNrRGljZTwvc3Bhbj4KICAgICAgPGRpdiBjbGFzcz0iZnRyLWxpbmtzIj48YnV0dG9uIGNsYXNzPSJmdHItbGluayIgZGF0YS1wYWdlPSJwMTEiIG9uY2xpY2s9ImdvUGFnZShldmVudCkiPkNvb2tpZQogICAgICAgICAgcG9saWN5PC9idXR0b24+PGJ1dHRvbiBjbGFzcz0iZnRyLWxpbmsiIGRhdGEtcGFnZT0icDEyIiBvbmNsaWNrPSJnb1BhZ2UoZXZlbnQpIj5Qcml2YWN5IHBvbGljeTwvYnV0dG9uPjwvZGl2PgogICAgICA8c3BhbiBjbGFzcz0iZnRyLWNvcHkiPsKpIDIwMjYgQkxBQ0tESUNFIENZQkVSIExURC48L3NwYW4+CiAgICA8L2Zvb3Rlcj4KICA8L2Rpdj4KCiAgPCEtLSDilZDilZDilZAgUDY6IFdIWSBCTEFDS0RJQ0Ug4pWQ4pWQ4pWQIC0tPgogIDxkaXYgaWQ9InBnLXA2IiBjbGFzcz0icGciIHN0eWxlPSJkaXNwbGF5Om5vbmUiPgogICAgPHNlY3Rpb24gY2xhc3M9ImJkLWhlcm8tc2giPgogICAgICA8ZGl2IGNsYXNzPSJiZC1oZXgtbW90aWYiPjxzdmcgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDM4MCA4MjQiCiAgICAgICAgICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBzbGljZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDsiPgogICAgICAgICAgPGcgb3BhY2l0eT0iMSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zMTAuMCAzNi4wIEwzMzAuOCA0OC4wIEwzMzAuOCA3Mi4wIEwzMTAuMCA4NC4wIEwyODkuMiA3Mi4wIEwyODkuMiA0OC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMzEwLjAgMzYuMCBMMzEwLjAgNjAuMCBNMzMwLjggNzIuMCBMMzEwLjAgNjAuMCBNMjg5LjIgNzIuMCBMMzEwLjAgNjAuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjkiPgogICAgICAgICAgICA8cGF0aCBkPSJNMzUxLjYgMzYuMCBMMzcyLjQgNDguMCBMMzcyLjQgNzIuMCBMMzUxLjYgODQuMCBMMzMwLjggNzIuMCBMMzMwLjggNDguMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTM1MS42IDM2LjAgTDM1MS42IDYwLjAgTTM3Mi40IDcyLjAgTDM1MS42IDYwLjAgTTMzMC44IDcyLjAgTDM1MS42IDYwLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC43Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTMzMC44IDcyLjAgTDM1MS42IDg0LjAgTDM1MS42IDEwOC4wIEwzMzAuOCAxMjAuMCBMMzEwLjAgMTA4LjAgTDMxMC4wIDg0LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zMzAuOCA3Mi4wIEwzMzAuOCA5Ni4wIE0zNTEuNiAxMDguMCBMMzMwLjggOTYuMCBNMzEwLjAgMTA4LjAgTDMzMC44IDk2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC44Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTM3Mi40IDcyLjAgTDM5My4xIDg0LjAgTDM5My4xIDEwOC4wIEwzNzIuNCAxMjAuMCBMMzUxLjYgMTA4LjAgTDM1MS42IDg0LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zNzIuNCA3Mi4wIEwzNzIuNCA5Ni4wIE0zOTMuMSAxMDguMCBMMzcyLjQgOTYuMCBNMzUxLjYgMTA4LjAgTDM3Mi40IDk2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC41Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTI4OS4yIDcyLjAgTDMxMC4wIDg0LjAgTDMxMC4wIDEwOC4wIEwyODkuMiAxMjAuMCBMMjY4LjQgMTA4LjAgTDI2OC40IDg0LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0yODkuMiA3Mi4wIEwyODkuMiA5Ni4wIE0zMTAuMCAxMDguMCBMMjg5LjIgOTYuMCBNMjY4LjQgMTA4LjAgTDI4OS4yIDk2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC4zNSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zMTAuMCAxMDguMCBMMzMwLjggMTIwLjAgTDMzMC44IDE0NC4wIEwzMTAuMCAxNTYuMCBMMjg5LjIgMTQ0LjAgTDI4OS4yIDEyMC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMzEwLjAgMTA4LjAgTDMxMC4wIDEzMi4wIE0zMzAuOCAxNDQuMCBMMzEwLjAgMTMyLjAgTTI4OS4yIDE0NC4wIEwzMTAuMCAxMzIuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjQiPgogICAgICAgICAgICA8cGF0aCBkPSJNMzUxLjYgMTA4LjAgTDM3Mi40IDEyMC4wIEwzNzIuNCAxNDQuMCBMMzUxLjYgMTU2LjAgTDMzMC44IDE0NC4wIEwzMzAuOCAxMjAuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTM1MS42IDEwOC4wIEwzNTEuNiAxMzIuMCBNMzcyLjQgMTQ0LjAgTDM1MS42IDEzMi4wIE0zMzAuOCAxNDQuMCBMMzUxLjYgMTMyLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC41NSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik00MTMuOSA3Mi4wIEw0MzQuNyA4NC4wIEw0MzQuNyAxMDguMCBMNDEzLjkgMTIwLjAgTDM5My4xIDEwOC4wIEwzOTMuMSA4NC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNNDEzLjkgNzIuMCBMNDEzLjkgOTYuMCBNNDM0LjcgMTA4LjAgTDQxMy45IDk2LjAgTTM5My4xIDEwOC4wIEw0MTMuOSA5Ni4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNTUiPgogICAgICAgICAgICA8cGF0aCBkPSJNODAuMCAzNDYuMCBMMTAwLjggMzU4LjAgTDEwMC44IDM4Mi4wIEw4MC4wIDM5NC4wIEw1OS4yIDM4Mi4wIEw1OS4yIDM1OC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNODAuMCAzNDYuMCBMODAuMCAzNzAuMCBNMTAwLjggMzgyLjAgTDgwLjAgMzcwLjAgTTU5LjIgMzgyLjAgTDgwLjAgMzcwLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC4zNSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMjEuNiAzNDYuMCBMMTQyLjQgMzU4LjAgTDE0Mi40IDM4Mi4wIEwxMjEuNiAzOTQuMCBMMTAwLjggMzgyLjAgTDEwMC44IDM1OC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMTIxLjYgMzQ2LjAgTDEyMS42IDM3MC4wIE0xNDIuNCAzODIuMCBMMTIxLjYgMzcwLjAgTTEwMC44IDM4Mi4wIEwxMjEuNiAzNzAuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjQ1Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTEwMC44IDM4Mi4wIEwxMjEuNiAzOTQuMCBMMTIxLjYgNDE4LjAgTDEwMC44IDQzMC4wIEw4MC4wIDQxOC4wIEw4MC4wIDM5NC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMTAwLjggMzgyLjAgTDEwMC44IDQwNi4wIE0xMjEuNiA0MTguMCBMMTAwLjggNDA2LjAgTTgwLjAgNDE4LjAgTDEwMC44IDQwNi4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuMzUiPgogICAgICAgICAgICA8cGF0aCBkPSJNMTQyLjQgMzgyLjAgTDE2My4xIDM5NC4wIEwxNjMuMSA0MTguMCBMMTQyLjQgNDMwLjAgTDEyMS42IDQxOC4wIEwxMjEuNiAzOTQuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTE0Mi40IDM4Mi4wIEwxNDIuNCA0MDYuMCBNMTYzLjEgNDE4LjAgTDE0Mi40IDQwNi4wIE0xMjEuNiA0MTguMCBMMTQyLjQgNDA2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC4yNSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik01OS4yIDM4Mi4wIEw4MC4wIDM5NC4wIEw4MC4wIDQxOC4wIEw1OS4yIDQzMC4wIEwzOC40IDQxOC4wIEwzOC40IDM5NC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNNTkuMiAzODIuMCBMNTkuMiA0MDYuMCBNODAuMCA0MTguMCBMNTkuMiA0MDYuMCBNMzguNCA0MTguMCBMNTkuMiA0MDYuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjMiPgogICAgICAgICAgICA8cGF0aCBkPSJNMTYzLjEgMzQ2LjAgTDE4My45IDM1OC4wIEwxODMuOSAzODIuMCBMMTYzLjEgMzk0LjAgTDE0Mi40IDM4Mi4wIEwxNDIuNCAzNTguMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTE2My4xIDM0Ni4wIEwxNjMuMSAzNzAuMCBNMTgzLjkgMzgyLjAgTDE2My4xIDM3MC4wIE0xNDIuNCAzODIuMCBMMTYzLjEgMzcwLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC44NSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik04MC4wIDYyNi4wIEwxMDAuOCA2MzguMCBMMTAwLjggNjYyLjAgTDgwLjAgNjc0LjAgTDU5LjIgNjYyLjAgTDU5LjIgNjM4LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik04MC4wIDYyNi4wIEw4MC4wIDY1MC4wIE0xMDAuOCA2NjIuMCBMODAuMCA2NTAuMCBNNTkuMiA2NjIuMCBMODAuMCA2NTAuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjciPgogICAgICAgICAgICA8cGF0aCBkPSJNMTIxLjYgNjI2LjAgTDE0Mi40IDYzOC4wIEwxNDIuNCA2NjIuMCBMMTIxLjYgNjc0LjAgTDEwMC44IDY2Mi4wIEwxMDAuOCA2MzguMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTEyMS42IDYyNi4wIEwxMjEuNiA2NTAuMCBNMTQyLjQgNjYyLjAgTDEyMS42IDY1MC4wIE0xMDAuOCA2NjIuMCBMMTIxLjYgNjUwLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC41NSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMDAuOCA2NjIuMCBMMTIxLjYgNjc0LjAgTDEyMS42IDY5OC4wIEwxMDAuOCA3MTAuMCBMODAuMCA2OTguMCBMODAuMCA2NzQuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTEwMC44IDY2Mi4wIEwxMDAuOCA2ODYuMCBNMTIxLjYgNjk4LjAgTDEwMC44IDY4Ni4wIE04MC4wIDY5OC4wIEwxMDAuOCA2ODYuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjY1Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTE0Mi40IDY2Mi4wIEwxNjMuMSA2NzQuMCBMMTYzLjEgNjk4LjAgTDE0Mi40IDcxMC4wIEwxMjEuNiA2OTguMCBMMTIxLjYgNjc0LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNDIuNCA2NjIuMCBMMTQyLjQgNjg2LjAgTTE2My4xIDY5OC4wIEwxNDIuNCA2ODYuMCBNMTIxLjYgNjk4LjAgTDE0Mi40IDY4Ni4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNiI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNjMuMSA2MjYuMCBMMTgzLjkgNjM4LjAgTDE4My45IDY2Mi4wIEwxNjMuMSA2NzQuMCBMMTQyLjQgNjYyLjAgTDE0Mi40IDYzOC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMTYzLjEgNjI2LjAgTDE2My4xIDY1MC4wIE0xODMuOSA2NjIuMCBMMTYzLjEgNjUwLjAgTTE0Mi40IDY2Mi4wIEwxNjMuMSA2NTAuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjQiPgogICAgICAgICAgICA8cGF0aCBkPSJNNTkuMiA2NjIuMCBMODAuMCA2NzQuMCBMODAuMCA2OTguMCBMNTkuMiA3MTAuMCBMMzguNCA2OTguMCBMMzguNCA2NzQuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTU5LjIgNjYyLjAgTDU5LjIgNjg2LjAgTTgwLjAgNjk4LjAgTDU5LjIgNjg2LjAgTTM4LjQgNjk4LjAgTDU5LjIgNjg2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC41Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTgwLjAgNjk4LjAgTDEwMC44IDcxMC4wIEwxMDAuOCA3MzQuMCBMODAuMCA3NDYuMCBMNTkuMiA3MzQuMCBMNTkuMiA3MTAuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTgwLjAgNjk4LjAgTDgwLjAgNzIyLjAgTTEwMC44IDczNC4wIEw4MC4wIDcyMi4wIE01OS4yIDczNC4wIEw4MC4wIDcyMi4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNCI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMjEuNiA2OTguMCBMMTQyLjQgNzEwLjAgTDE0Mi40IDczNC4wIEwxMjEuNiA3NDYuMCBMMTAwLjggNzM0LjAgTDEwMC44IDcxMC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMTIxLjYgNjk4LjAgTDEyMS42IDcyMi4wIE0xNDIuNCA3MzQuMCBMMTIxLjYgNzIyLjAgTTEwMC44IDczNC4wIEwxMjEuNiA3MjIuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjUiPgogICAgICAgICAgICA8cGF0aCBkPSJNMTgzLjkgNjYyLjAgTDIwNC43IDY3NC4wIEwyMDQuNyA2OTguMCBMMTgzLjkgNzEwLjAgTDE2My4xIDY5OC4wIEwxNjMuMSA2NzQuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTE4My45IDY2Mi4wIEwxODMuOSA2ODYuMCBNMjA0LjcgNjk4LjAgTDE4My45IDY4Ni4wIE0xNjMuMSA2OTguMCBMMTgzLjkgNjg2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC4zNSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNjMuMSA2OTguMCBMMTgzLjkgNzEwLjAgTDE4My45IDczNC4wIEwxNjMuMSA3NDYuMCBMMTQyLjQgNzM0LjAgTDE0Mi40IDcxMC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMTYzLjEgNjk4LjAgTDE2My4xIDcyMi4wIE0xODMuOSA3MzQuMCBMMTYzLjEgNzIyLjAgTTE0Mi40IDczNC4wIEwxNjMuMSA3MjIuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIzMTAuMCIgY3k9IjM2LjAiIHI9IjIuNiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjEiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIzNTEuNiIgY3k9IjM2LjAiIHI9IjIuNiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuOSIgLz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjM3Mi40IiBjeT0iNzIuMCIgcj0iMi42IiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC44IiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iNDEzLjkiIGN5PSI3Mi4wIiByPSIyLjYiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjU1IiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iODAuMCIgY3k9IjM0Ni4wIiByPSIyLjYiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjU1IiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iMTQyLjQiIGN5PSIzODIuMCIgcj0iMi42IiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC4zNSIgLz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjgwLjAiIGN5PSI2MjYuMCIgcj0iMi42IiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC44NSIgLz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjEyMS42IiBjeT0iNjI2LjAiIHI9IjIuNiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuNyIgLz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjE0Mi40IiBjeT0iNjYyLjAiIHI9IjIuNiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuNjUiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIxNjMuMSIgY3k9IjYyNi4wIiByPSIyLjYiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjYiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIxMjEuNiIgY3k9IjY5OC4wIiByPSIyLjYiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjQiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIzMzAuOCIgY3k9IjQ4LjAiIHI9IjIuMiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuNzAiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIzNzIuNCIgY3k9IjQ4LjAiIHI9IjIuMiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuNjMiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIzOTMuMSIgY3k9Ijg0LjAiIHI9IjIuMiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuNTYiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSI0MzQuNyIgY3k9Ijg0LjAiIHI9IjIuMiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuMzkiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIxMDAuOCIgY3k9IjM1OC4wIiByPSIyLjIiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjM5IiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iMTYzLjEiIGN5PSIzOTQuMCIgcj0iMi4yIiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC4yNCIgLz4KICAgICAgICA8L3N2Zz48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iYmQtaGVyby1nbCI+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImJkLWhlcm8taW4iPgogICAgICAgIDxkaXY+PHNwYW4gY2xhc3M9ImV5IGx0Ij5XSFkgQkxBQ0tESUNFPzwvc3Bhbj4KICAgICAgICAgIDxoMSBjbGFzcz0iaDEiPkEgd29ybGQgd2hlcmUgYmVpbmcgY29ubmVjdGVkIG1lYW5zIGJlaW5nIDxlbT5wcm90ZWN0ZWQuPC9lbT48L2gxPgogICAgICAgICAgPHAgY2xhc3M9Imhlcm8tc3ViIj5XZSBiZWxpZXZlIGV2ZXJ5b25lIGRlc2VydmVzIGEgc2FmZSwgdHJ1c3RlZCBkaWdpdGFsIGVudmlyb25tZW50LiBCbGFja0RpY2Ugd2FzIGJ1aWx0IHRvCiAgICAgICAgICAgIG1ha2UgdGhhdCBhIHJlYWxpdHkg4oCUIGVtYmVkZGVkIGluIHRoZSBuZXR3b3JrcyBwZW9wbGUgYWxyZWFkeSByZWx5IG9uLCBwcm90ZWN0aW5nIHRoZW0gYXV0b21hdGljYWxseSwgYXQKICAgICAgICAgICAgc2NhbGUuPC9wPgogICAgICAgICAgPGRpdiBjbGFzcz0iYnRuLXJvdyI+PGJ1dHRvbiBjbGFzcz0iYnRuLXAiIG9uY2xpY2s9InNob3dEZW1vKCkiPlJlcXVlc3QgYSBkZW1vbnN0cmF0aW9uPC9idXR0b24+PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im1ldHJpY3MtZ3JpZCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1jIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYy12YWwgYXgiIGRhdGEtY291bnQ9IjI1IiBkYXRhLXN1ZmZpeD0iKyI+MjUrPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWMtbGJsIj5DT05ORUNURUQgREVWSUNFUzxicj5QRVIgSE9VU0VIT0xEPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYyI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWMtdmFsIiBkYXRhLWNvdW50PSI4MiIgZGF0YS1zdWZmaXg9IiUiPjgyJTwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1jLWxibCI+UEFSRU5UUyBXSUxMSU5HIFRPPGJyPlBBWSBGT1IgUFJPVEVDVElPTjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWMiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1jLXZhbCBheCIgZGF0YS1jb3VudD0iNDUiIGRhdGEtc3VmZml4PSIlIj40NSU8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYy1sYmwiPkNZQkVSQVRUQUNLUzxicj5UQVJHRVQgU01CczwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWMiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1jLXZhbCIgc3R5bGU9ImZvbnQtc2l6ZTozMnB4OyI+JDJUPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWMtbGJsIj5UT1RBTCBNQVJLRVQ8YnI+T1BQT1JUVU5JVFk8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L3NlY3Rpb24+CiAgICA8c2VjdGlvbiBjbGFzcz0iYmQtc2VjdCB0Ij4KICAgICAgPGRpdiBjbGFzcz0iYmQtc2kgdHdvLWNvbCBjIj4KICAgICAgICA8ZGl2PjxzcGFuIGNsYXNzPSJleSI+T1VSIFZJU0lPTjwvc3Bhbj4KICAgICAgICAgIDxoMiBjbGFzcz0iaDIiPlRoZSBpbnRlcm5ldCBoYXMgYmVjb21lIHRoZSBmb3VuZGF0aW9uIG9mIGRhaWx5IGxpZmUuIDxlbT5TZWN1cml0eSBzaG91bGQgYmUgdG9vLjwvZW0+PC9oMj4KICAgICAgICAgIDxwIHN0eWxlPSJmb250LXNpemU6MTZweDtjb2xvcjp2YXIoLS10Mik7bGluZS1oZWlnaHQ6MS43NTttYXJnaW4tdG9wOjE2cHg7Ij5UaGUgaW50ZXJuZXQgaGFzIGJlY29tZSB0aGUKICAgICAgICAgICAgZm91bmRhdGlvbiBvZiBkYWlseSBsaWZlIGZvciBmYW1pbGllcywgYnVzaW5lc3NlcywgaGVhbHRoY2FyZSwgYW5kIGNvbW11bml0aWVzLiBZZXQgdGhlIGluZnJhc3RydWN0dXJlIHRoYXQKICAgICAgICAgICAgZGVsaXZlcnMgY29ubmVjdGl2aXR5IGhhcyBuZXZlciBiZWVuIGJ1aWx0IHdpdGggc2VjdXJpdHkgYXQgaXRzIGNvcmUuPC9wPgogICAgICAgICAgPHAgc3R5bGU9ImZvbnQtc2l6ZToxNnB4O2NvbG9yOnZhcigtLXQyKTtsaW5lLWhlaWdodDoxLjc1O21hcmdpbi10b3A6MTRweDsiPkJsYWNrRGljZSBjaGFuZ2VzIHRoYXQuIFdlIGVtYmVkCiAgICAgICAgICAgIGludGVsbGlnZW5jZSBhbmQgcHJvdGVjdGlvbiBkaXJlY3RseSBpbnRvIHRoZSBuZXR3b3JrIGxheWVyIOKAlCBzbyBldmVyeSBzdWJzY3JpYmVyIGlzIGRlZmVuZGVkIGZyb20gdGhlCiAgICAgICAgICAgIG1vbWVudCB0aGV5IGNvbm5lY3QsIHdpdGhvdXQgZG93bmxvYWRpbmcgYW4gYXBwLCBjb25maWd1cmluZyBzZXR0aW5ncywgb3IgdGhpbmtpbmcgYWJvdXQgaXQgYXQgYWxsLjwvcD4KICAgICAgICAgIDxkaXYgY2xhc3M9ImJkLWJxIj4iVGVsZWNvbXMgb3BlcmF0b3JzIHNpdCBhdCB0aGUgcG9pbnQgb2YgcHJlc2VuY2UgZm9yIGJpbGxpb25zIG9mIHBlb3BsZS4gQmxhY2tEaWNlIGdpdmVzCiAgICAgICAgICAgIHRoZW0gdGhlIHRvb2xzIHRvIHR1cm4gdGhhdCBwb3NpdGlvbiBpbnRvIHByb3RlY3Rpb24uIjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgc3R5bGU9ImJvcmRlcjoxcHggc29saWQgdmFyKC0tYmRyKTsiPgogICAgICAgICAgPGRpdiBzdHlsZT0icGFkZGluZzozNnB4IDMycHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tYmRyKTsiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJleSBheCIgc3R5bGU9Im1hcmdpbi1ib3R0b206NnB4OyI+UElMTEFSIDAxPC9kaXY+CiAgICAgICAgICAgIDxoMyBzdHlsZT0iZm9udC1zaXplOjE4cHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOnZhcigtLXR4dCk7bWFyZ2luLWJvdHRvbTo4cHg7Ij5Db25maWRlbmNlIHdoaWxlIGNvbm5lY3RlZAogICAgICAgICAgICA8L2gzPgogICAgICAgICAgICA8cCBzdHlsZT0iZm9udC1zaXplOjE0cHg7Y29sb3I6dmFyKC0tdDIpO2xpbmUtaGVpZ2h0OjEuNzsiPkV2ZXJ5IHN1YnNjcmliZXIgZmVlbHMgc2FmZSwgd2hhdGV2ZXIgdGhleSBkbwogICAgICAgICAgICAgIG9ubGluZS4gVGhyZWF0cyBhcmUgbmV1dHJhbGlzZWQgYmVmb3JlIHRoZXkgY2F1c2UgaGFybSwgd2l0aG91dCBhbnkgZGlzcnVwdGlvbiB0byB0aGUgZXhwZXJpZW5jZS48L3A+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6MzZweCAzMnB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWJkcik7Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZXkgYXgiIHN0eWxlPSJtYXJnaW4tYm90dG9tOjZweDsiPlBJTExBUiAwMjwvZGl2PgogICAgICAgICAgICA8aDMgc3R5bGU9ImZvbnQtc2l6ZToxOHB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjp2YXIoLS10eHQpO21hcmdpbi1ib3R0b206OHB4OyI+U2VjdXJpdHkgb2YgZXhwZXJpZW5jZTwvaDM+CiAgICAgICAgICAgIDxwIHN0eWxlPSJmb250LXNpemU6MTRweDtjb2xvcjp2YXIoLS10Mik7bGluZS1oZWlnaHQ6MS43OyI+QmFua2luZywgcmVtb3RlIHdvcmssIGhlYWx0aGNhcmUg4oCUIGFsbCBwcm90ZWN0ZWQKICAgICAgICAgICAgICBmcm9tIGRpc3J1cHRpb24gY2F1c2VkIGJ5IHRocmVhdHMgb3IgZnJhdWQuIFRoZSBkaWdpdGFsIHNlcnZpY2VzIHN1YnNjcmliZXJzIHJlbHkgb24gcmVtYWluIHVuaW50ZXJydXB0ZWQuCiAgICAgICAgICAgIDwvcD4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBzdHlsZT0icGFkZGluZzozNnB4IDMycHg7Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZXkgYXgiIHN0eWxlPSJtYXJnaW4tYm90dG9tOjZweDsiPlBJTExBUiAwMzwvZGl2PgogICAgICAgICAgICA8aDMgc3R5bGU9ImZvbnQtc2l6ZToxOHB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjp2YXIoLS10eHQpO21hcmdpbi1ib3R0b206OHB4OyI+U2VjdXJpdHkgb2YgZWNvbm9taWNzPC9oMz4KICAgICAgICAgICAgPHAgc3R5bGU9ImZvbnQtc2l6ZToxNHB4O2NvbG9yOnZhcigtLXQyKTtsaW5lLWhlaWdodDoxLjc7Ij5GaW5hbmNpYWwgaGFybSBmcm9tIGN5YmVyY3JpbWUgaXMgcHJldmVudGVkIGF0CiAgICAgICAgICAgICAgdGhlIG5ldHdvcmsgbGV2ZWwuIFNjYW1zLCBmcmF1ZCwgcmFuc29td2FyZSDigJQgc3RvcHBlZCBiZWZvcmUgdGhleSByZWFjaCB0aGUgc3Vic2NyaWJlcidzIGJhbmsgYWNjb3VudC48L3A+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L3NlY3Rpb24+CiAgICA8c2VjdGlvbiBjbGFzcz0iYmQtc2VjdCB0IiBzdHlsZT0iYmFja2dyb3VuZDpyZ2JhKDEsNDcsNTksLjYpO2JvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLWJkcik7Ij4KICAgICAgPGRpdiBjbGFzcz0iYmQtc2kiPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3QtaGQiPjxzcGFuIGNsYXNzPSJleSBsdCI+V0hPIFdFIFdPUksgV0lUSDwvc3Bhbj4KICAgICAgICAgIDxoMiBjbGFzcz0iaDIiPkJ1aWx0IGZvciB0aGUgb3JnYW5pc2F0aW9ucyB0aGF0IDxlbT5jb25uZWN0IHRoZSB3b3JsZC48L2VtPjwvaDI+CiAgICAgICAgICA8cD5CbGFja0RpY2Ugd29ya3Mgd2l0aCB0ZWxlY29tcyBvcGVyYXRvcnMsIG1hbmFnZWQgc2VydmljZSBwcm92aWRlcnMgYW5kIGhhcmR3YXJlIHZlbmRvcnMgd2hvIHdhbnQgdG8gZGVsaXZlcgogICAgICAgICAgICBzZWN1cml0eSBhcyBhIG5hdGl2ZSBjYXBhYmlsaXR5IOKAlCBub3QgYW4gYWRkLW9uLjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJnMyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJiZC1jYXJkIj48c3BhbiBjbGFzcz0iZXkgYXgiPlRFTEVDT01TIE9QRVJBVE9SUzwvc3Bhbj4KICAgICAgICAgICAgPGgzIHN0eWxlPSJmb250LXNpemU6MTdweDtmb250LXdlaWdodDo3MDA7Y29sb3I6dmFyKC0tdHh0KTttYXJnaW4tYm90dG9tOjEwcHg7bWFyZ2luLXRvcDo4cHg7Ij5GaXhlZCBhbmQKICAgICAgICAgICAgICBtb2JpbGUgb3BlcmF0b3JzPC9oMz4KICAgICAgICAgICAgPHAgc3R5bGU9ImZvbnQtc2l6ZToxNHB4O2NvbG9yOnZhcigtLXQyKTtsaW5lLWhlaWdodDoxLjc7Ij5EZXBsb3lpbmcgQmxhY2tEaWNlIEhhbG8gd2l0aGluIHRoZWlyCiAgICAgICAgICAgICAgaW5mcmFzdHJ1Y3R1cmUgdG8gcHJvdGVjdCBtaWxsaW9ucyBvZiBzdWJzY3JpYmVycyBhdCBzY2FsZSwgd2l0aCB6ZXJvIGhhcmR3YXJlIGNoYW5nZXMgYW5kIGZ1bGwKICAgICAgICAgICAgICBjYXJyaWVyLWdyYWRlIGFuYWx5dGljcyB2aWEgQmxhY2tEaWNlIFJldGluYS48L3A+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImJkLWNhcmQiPjxzcGFuIGNsYXNzPSJleSBheCI+TUFOQUdFRCBTRVJWSUNFIFBST1ZJREVSUzwvc3Bhbj4KICAgICAgICAgICAgPGgzIHN0eWxlPSJmb250LXNpemU6MTdweDtmb250LXdlaWdodDo3MDA7Y29sb3I6dmFyKC0tdHh0KTttYXJnaW4tYm90dG9tOjEwcHg7bWFyZ2luLXRvcDo4cHg7Ij5NU1BzIGFuZAogICAgICAgICAgICAgIGNvbm5lY3Rpdml0eSByZXNlbGxlcnM8L2gzPgogICAgICAgICAgICA8cCBzdHlsZT0iZm9udC1zaXplOjE0cHg7Y29sb3I6dmFyKC0tdDIpO2xpbmUtaGVpZ2h0OjEuNzsiPkVtYmVkZGluZyBCbGFja0RpY2UgaW50byBtYW5hZ2VkIGNvbm5lY3Rpdml0eQogICAgICAgICAgICAgIHNlcnZpY2VzIGZvciBidXNpbmVzcyBzdWJzY3JpYmVycywgYWRkaW5nIGEgc2VjdXJpdHkgbGF5ZXIgd2l0aG91dCByZWJ1aWxkaW5nIGluZnJhc3RydWN0dXJlIG9yIHJlcXVpcmluZwogICAgICAgICAgICAgIHNwZWNpYWxpc3Qgc2VjdXJpdHkgZXhwZXJ0aXNlLjwvcD4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iYmQtY2FyZCI+PHNwYW4gY2xhc3M9ImV5IGF4Ij5IQVJEV0FSRSBWRU5ET1JTPC9zcGFuPgogICAgICAgICAgICA8aDMgc3R5bGU9ImZvbnQtc2l6ZToxN3B4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjp2YXIoLS10eHQpO21hcmdpbi1ib3R0b206MTBweDttYXJnaW4tdG9wOjhweDsiPkNQRSBhbmQKICAgICAgICAgICAgICByb3V0ZXIgbWFudWZhY3R1cmVyczwvaDM+CiAgICAgICAgICAgIDxwIHN0eWxlPSJmb250LXNpemU6MTRweDtjb2xvcjp2YXIoLS10Mik7bGluZS1oZWlnaHQ6MS43OyI+SW50ZWdyYXRpbmcgdGhlIEJsYWNrRGljZSBlZGdlIGFnZW50IGF0IGRldmljZQogICAgICAgICAgICAgIGxldmVsLCBlbmFibGluZyBzZWN1cml0eSB0byBzaGlwIGFzIGEgc3RhbmRhcmQgZmVhdHVyZSBpbiBldmVyeSByb3V0ZXIgdGhhdCBsZWF2ZXMgdGhlIGZhY3Rvcnkg4oCUIGF0IHplcm8KICAgICAgICAgICAgICBoYXJkd2FyZSBjb3N0LjwvcD4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KICAgIDxkaXYgY2xhc3M9ImN0YS1iYW5kIj4KICAgICAgPGRpdiBjbGFzcz0iY3RhLWJhbmQtaW4iPgogICAgICAgIDxkaXY+CiAgICAgICAgICA8aDIgY2xhc3M9ImgyIj5SZWFkeSB0byBzZWUgQmxhY2tEaWNlIEhhbG8gPGVtPmluIGFjdGlvbj88L2VtPjwvaDI+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdj4KICAgICAgICAgIDxwPlRhbGsgdG8gb3VyIHRlYW0gYWJvdXQgaG93IEJsYWNrRGljZSBkZXBsb3lzIHdpdGhpbiB5b3VyIGluZnJhc3RydWN0dXJlIHRvIHByb3RlY3QgeW91ciBzdWJzY3JpYmVycyBmcm9tCiAgICAgICAgICAgIGRheSBvbmUg4oCUIGF0IG9wZXJhdG9yIHNjYWxlLCB3aXRob3V0IGhhcmR3YXJlIGNoYW5nZXMuPC9wPgogICAgICAgICAgPGRpdiBjbGFzcz0iYnRuLXJvdyI+PGJ1dHRvbiBjbGFzcz0iYnRuLXAiIG9uY2xpY2s9InNob3dEZW1vKCkiPlJlcXVlc3QgYSBkZW1vbnN0cmF0aW9uPC9idXR0b24+PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8Zm9vdGVyIGNsYXNzPSJiZC1mb290ZXIiPjxzdmcgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIGZpbGw9Im5vbmUiIHN0cm9rZT0idmFyKC0tYXgpIgogICAgICAgIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHlsZT0iZGlzcGxheTpibG9jaztvcGFjaXR5Oi43NTsiPgogICAgICAgIDxwYXRoIGQ9Ik0zMiA2IEw1NiAyMCBMNTYgNDYgTDMyIDYwIEw4IDQ2IEw4IDIwIFoiPjwvcGF0aD4KICAgICAgICA8cGF0aCBkPSJNMzIgNiBMMzIgMzIgTTggMjAgTDMyIDMyIE01NiAyMCBMMzIgMzIiPjwvcGF0aD4KICAgICAgICA8Y2lyY2xlIGN4PSIyMCIgY3k9IjI2IiByPSIyLjQiIGZpbGw9InZhcigtLWF4KSIgc3Ryb2tlPSJub25lIj48L2NpcmNsZT4KICAgICAgICA8Y2lyY2xlIGN4PSIyMCIgY3k9IjM0IiByPSIyLjQiIGZpbGw9InZhcigtLWF4KSIgc3Ryb2tlPSJub25lIj48L2NpcmNsZT4KICAgICAgICA8Y2lyY2xlIGN4PSI0NCIgY3k9IjM0IiByPSIyLjQiIGZpbGw9InZhcigtLWF4KSIgc3Ryb2tlPSJub25lIj48L2NpcmNsZT4KICAgICAgPC9zdmc+PHNwYW4KICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6J1VidW50dScsc3lzdGVtLXVpLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtc2l6ZToxNHB4O2xldHRlci1zcGFjaW5nOi0uMnB4O2NvbG9yOnJnYmEoMjMyLDI0NCwyNDMsLjU1KSI+QmxhY2tEaWNlPC9zcGFuPgogICAgICA8ZGl2IGNsYXNzPSJmdHItbGlua3MiPjxidXR0b24gY2xhc3M9ImZ0ci1saW5rIiBkYXRhLXBhZ2U9InAxMSIgb25jbGljaz0iZ29QYWdlKGV2ZW50KSI+Q29va2llCiAgICAgICAgICBwb2xpY3k8L2J1dHRvbj48YnV0dG9uIGNsYXNzPSJmdHItbGluayIgZGF0YS1wYWdlPSJwMTIiIG9uY2xpY2s9ImdvUGFnZShldmVudCkiPlByaXZhY3kgcG9saWN5PC9idXR0b24+PC9kaXY+CiAgICAgIDxzcGFuIGNsYXNzPSJmdHItY29weSI+wqkgMjAyNiBCTEFDS0RJQ0UgQ1lCRVIgTFRELjwvc3Bhbj4KICAgIDwvZm9vdGVyPgogIDwvZGl2PgoKICA8IS0tIOKVkOKVkOKVkCBQNzogTkVXUyDilZDilZDilZAgLS0+CiAgPGRpdiBpZD0icGctcDciIGNsYXNzPSJwZyIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+CiAgICA8c2VjdGlvbiBjbGFzcz0iYmQtaGVyby1zaCIgc3R5bGU9InBhZGRpbmc6ODBweCAwIDQ4cHg7Ij4KICAgICAgPGRpdiBjbGFzcz0iYmQtaGV4LW1vdGlmIj48c3ZnIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAzODAgODI0IgogICAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7Ij4KICAgICAgICAgIDxnIG9wYWNpdHk9IjEiPgogICAgICAgICAgICA8cGF0aCBkPSJNMzEwLjAgMzYuMCBMMzMwLjggNDguMCBMMzMwLjggNzIuMCBMMzEwLjAgODQuMCBMMjg5LjIgNzIuMCBMMjg5LjIgNDguMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTMxMC4wIDM2LjAgTDMxMC4wIDYwLjAgTTMzMC44IDcyLjAgTDMxMC4wIDYwLjAgTTI4OS4yIDcyLjAgTDMxMC4wIDYwLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC45Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTM1MS42IDM2LjAgTDM3Mi40IDQ4LjAgTDM3Mi40IDcyLjAgTDM1MS42IDg0LjAgTDMzMC44IDcyLjAgTDMzMC44IDQ4LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zNTEuNiAzNi4wIEwzNTEuNiA2MC4wIE0zNzIuNCA3Mi4wIEwzNTEuNiA2MC4wIE0zMzAuOCA3Mi4wIEwzNTEuNiA2MC4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNyI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zMzAuOCA3Mi4wIEwzNTEuNiA4NC4wIEwzNTEuNiAxMDguMCBMMzMwLjggMTIwLjAgTDMxMC4wIDEwOC4wIEwzMTAuMCA4NC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMzMwLjggNzIuMCBMMzMwLjggOTYuMCBNMzUxLjYgMTA4LjAgTDMzMC44IDk2LjAgTTMxMC4wIDEwOC4wIEwzMzAuOCA5Ni4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuOCI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zNzIuNCA3Mi4wIEwzOTMuMSA4NC4wIEwzOTMuMSAxMDguMCBMMzcyLjQgMTIwLjAgTDM1MS42IDEwOC4wIEwzNTEuNiA4NC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMzcyLjQgNzIuMCBMMzcyLjQgOTYuMCBNMzkzLjEgMTA4LjAgTDM3Mi40IDk2LjAgTTM1MS42IDEwOC4wIEwzNzIuNCA5Ni4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0yODkuMiA3Mi4wIEwzMTAuMCA4NC4wIEwzMTAuMCAxMDguMCBMMjg5LjIgMTIwLjAgTDI2OC40IDEwOC4wIEwyNjguNCA4NC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMjg5LjIgNzIuMCBMMjg5LjIgOTYuMCBNMzEwLjAgMTA4LjAgTDI4OS4yIDk2LjAgTTI2OC40IDEwOC4wIEwyODkuMiA5Ni4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuMzUiPgogICAgICAgICAgICA8cGF0aCBkPSJNMzEwLjAgMTA4LjAgTDMzMC44IDEyMC4wIEwzMzAuOCAxNDQuMCBMMzEwLjAgMTU2LjAgTDI4OS4yIDE0NC4wIEwyODkuMiAxMjAuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTMxMC4wIDEwOC4wIEwzMTAuMCAxMzIuMCBNMzMwLjggMTQ0LjAgTDMxMC4wIDEzMi4wIE0yODkuMiAxNDQuMCBMMzEwLjAgMTMyLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC40Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTM1MS42IDEwOC4wIEwzNzIuNCAxMjAuMCBMMzcyLjQgMTQ0LjAgTDM1MS42IDE1Ni4wIEwzMzAuOCAxNDQuMCBMMzMwLjggMTIwLjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zNTEuNiAxMDguMCBMMzUxLjYgMTMyLjAgTTM3Mi40IDE0NC4wIEwzNTEuNiAxMzIuMCBNMzMwLjggMTQ0LjAgTDM1MS42IDEzMi4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNTUiPgogICAgICAgICAgICA8cGF0aCBkPSJNNDEzLjkgNzIuMCBMNDM0LjcgODQuMCBMNDM0LjcgMTA4LjAgTDQxMy45IDEyMC4wIEwzOTMuMSAxMDguMCBMMzkzLjEgODQuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTQxMy45IDcyLjAgTDQxMy45IDk2LjAgTTQzNC43IDEwOC4wIEw0MTMuOSA5Ni4wIE0zOTMuMSAxMDguMCBMNDEzLjkgOTYuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjU1Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTgwLjAgMzQ2LjAgTDEwMC44IDM1OC4wIEwxMDAuOCAzODIuMCBMODAuMCAzOTQuMCBMNTkuMiAzODIuMCBMNTkuMiAzNTguMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTgwLjAgMzQ2LjAgTDgwLjAgMzcwLjAgTTEwMC44IDM4Mi4wIEw4MC4wIDM3MC4wIE01OS4yIDM4Mi4wIEw4MC4wIDM3MC4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuMzUiPgogICAgICAgICAgICA8cGF0aCBkPSJNMTIxLjYgMzQ2LjAgTDE0Mi40IDM1OC4wIEwxNDIuNCAzODIuMCBMMTIxLjYgMzk0LjAgTDEwMC44IDM4Mi4wIEwxMDAuOCAzNTguMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTEyMS42IDM0Ni4wIEwxMjEuNiAzNzAuMCBNMTQyLjQgMzgyLjAgTDEyMS42IDM3MC4wIE0xMDAuOCAzODIuMCBMMTIxLjYgMzcwLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC40NSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMDAuOCAzODIuMCBMMTIxLjYgMzk0LjAgTDEyMS42IDQxOC4wIEwxMDAuOCA0MzAuMCBMODAuMCA0MTguMCBMODAuMCAzOTQuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTEwMC44IDM4Mi4wIEwxMDAuOCA0MDYuMCBNMTIxLjYgNDE4LjAgTDEwMC44IDQwNi4wIE04MC4wIDQxOC4wIEwxMDAuOCA0MDYuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjM1Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTE0Mi40IDM4Mi4wIEwxNjMuMSAzOTQuMCBMMTYzLjEgNDE4LjAgTDE0Mi40IDQzMC4wIEwxMjEuNiA0MTguMCBMMTIxLjYgMzk0LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNDIuNCAzODIuMCBMMTQyLjQgNDA2LjAgTTE2My4xIDQxOC4wIEwxNDIuNCA0MDYuMCBNMTIxLjYgNDE4LjAgTDE0Mi40IDQwNi4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuMjUiPgogICAgICAgICAgICA8cGF0aCBkPSJNNTkuMiAzODIuMCBMODAuMCAzOTQuMCBMODAuMCA0MTguMCBMNTkuMiA0MzAuMCBMMzguNCA0MTguMCBMMzguNCAzOTQuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTU5LjIgMzgyLjAgTDU5LjIgNDA2LjAgTTgwLjAgNDE4LjAgTDU5LjIgNDA2LjAgTTM4LjQgNDE4LjAgTDU5LjIgNDA2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC4zIj4KICAgICAgICAgICAgPHBhdGggZD0iTTE2My4xIDM0Ni4wIEwxODMuOSAzNTguMCBMMTgzLjkgMzgyLjAgTDE2My4xIDM5NC4wIEwxNDIuNCAzODIuMCBMMTQyLjQgMzU4LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNjMuMSAzNDYuMCBMMTYzLjEgMzcwLjAgTTE4My45IDM4Mi4wIEwxNjMuMSAzNzAuMCBNMTQyLjQgMzgyLjAgTDE2My4xIDM3MC4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuODUiPgogICAgICAgICAgICA8cGF0aCBkPSJNODAuMCA2MjYuMCBMMTAwLjggNjM4LjAgTDEwMC44IDY2Mi4wIEw4MC4wIDY3NC4wIEw1OS4yIDY2Mi4wIEw1OS4yIDYzOC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNODAuMCA2MjYuMCBMODAuMCA2NTAuMCBNMTAwLjggNjYyLjAgTDgwLjAgNjUwLjAgTTU5LjIgNjYyLjAgTDgwLjAgNjUwLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC43Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTEyMS42IDYyNi4wIEwxNDIuNCA2MzguMCBMMTQyLjQgNjYyLjAgTDEyMS42IDY3NC4wIEwxMDAuOCA2NjIuMCBMMTAwLjggNjM4LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMjEuNiA2MjYuMCBMMTIxLjYgNjUwLjAgTTE0Mi40IDY2Mi4wIEwxMjEuNiA2NTAuMCBNMTAwLjggNjYyLjAgTDEyMS42IDY1MC4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNTUiPgogICAgICAgICAgICA8cGF0aCBkPSJNMTAwLjggNjYyLjAgTDEyMS42IDY3NC4wIEwxMjEuNiA2OTguMCBMMTAwLjggNzEwLjAgTDgwLjAgNjk4LjAgTDgwLjAgNjc0LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMDAuOCA2NjIuMCBMMTAwLjggNjg2LjAgTTEyMS42IDY5OC4wIEwxMDAuOCA2ODYuMCBNODAuMCA2OTguMCBMMTAwLjggNjg2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC42NSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNDIuNCA2NjIuMCBMMTYzLjEgNjc0LjAgTDE2My4xIDY5OC4wIEwxNDIuNCA3MTAuMCBMMTIxLjYgNjk4LjAgTDEyMS42IDY3NC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMTQyLjQgNjYyLjAgTDE0Mi40IDY4Ni4wIE0xNjMuMSA2OTguMCBMMTQyLjQgNjg2LjAgTTEyMS42IDY5OC4wIEwxNDIuNCA2ODYuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjYiPgogICAgICAgICAgICA8cGF0aCBkPSJNMTYzLjEgNjI2LjAgTDE4My45IDYzOC4wIEwxODMuOSA2NjIuMCBMMTYzLjEgNjc0LjAgTDE0Mi40IDY2Mi4wIEwxNDIuNCA2MzguMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTE2My4xIDYyNi4wIEwxNjMuMSA2NTAuMCBNMTgzLjkgNjYyLjAgTDE2My4xIDY1MC4wIE0xNDIuNCA2NjIuMCBMMTYzLjEgNjUwLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC40Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTU5LjIgNjYyLjAgTDgwLjAgNjc0LjAgTDgwLjAgNjk4LjAgTDU5LjIgNzEwLjAgTDM4LjQgNjk4LjAgTDM4LjQgNjc0LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik01OS4yIDY2Mi4wIEw1OS4yIDY4Ni4wIE04MC4wIDY5OC4wIEw1OS4yIDY4Ni4wIE0zOC40IDY5OC4wIEw1OS4yIDY4Ni4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik04MC4wIDY5OC4wIEwxMDAuOCA3MTAuMCBMMTAwLjggNzM0LjAgTDgwLjAgNzQ2LjAgTDU5LjIgNzM0LjAgTDU5LjIgNzEwLjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik04MC4wIDY5OC4wIEw4MC4wIDcyMi4wIE0xMDAuOCA3MzQuMCBMODAuMCA3MjIuMCBNNTkuMiA3MzQuMCBMODAuMCA3MjIuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjQiPgogICAgICAgICAgICA8cGF0aCBkPSJNMTIxLjYgNjk4LjAgTDE0Mi40IDcxMC4wIEwxNDIuNCA3MzQuMCBMMTIxLjYgNzQ2LjAgTDEwMC44IDczNC4wIEwxMDAuOCA3MTAuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTEyMS42IDY5OC4wIEwxMjEuNiA3MjIuMCBNMTQyLjQgNzM0LjAgTDEyMS42IDcyMi4wIE0xMDAuOCA3MzQuMCBMMTIxLjYgNzIyLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC41Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTE4My45IDY2Mi4wIEwyMDQuNyA2NzQuMCBMMjA0LjcgNjk4LjAgTDE4My45IDcxMC4wIEwxNjMuMSA2OTguMCBMMTYzLjEgNjc0LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xODMuOSA2NjIuMCBMMTgzLjkgNjg2LjAgTTIwNC43IDY5OC4wIEwxODMuOSA2ODYuMCBNMTYzLjEgNjk4LjAgTDE4My45IDY4Ni4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuMzUiPgogICAgICAgICAgICA8cGF0aCBkPSJNMTYzLjEgNjk4LjAgTDE4My45IDcxMC4wIEwxODMuOSA3MzQuMCBMMTYzLjEgNzQ2LjAgTDE0Mi40IDczNC4wIEwxNDIuNCA3MTAuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTE2My4xIDY5OC4wIEwxNjMuMSA3MjIuMCBNMTgzLjkgNzM0LjAgTDE2My4xIDcyMi4wIE0xNDIuNCA3MzQuMCBMMTYzLjEgNzIyLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGNpcmNsZSBjeD0iMzEwLjAiIGN5PSIzNi4wIiByPSIyLjYiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIxIiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iMzUxLjYiIGN5PSIzNi4wIiByPSIyLjYiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjkiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIzNzIuNCIgY3k9IjcyLjAiIHI9IjIuNiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuOCIgLz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjQxMy45IiBjeT0iNzIuMCIgcj0iMi42IiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC41NSIgLz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjgwLjAiIGN5PSIzNDYuMCIgcj0iMi42IiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC41NSIgLz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjE0Mi40IiBjeT0iMzgyLjAiIHI9IjIuNiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuMzUiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSI4MC4wIiBjeT0iNjI2LjAiIHI9IjIuNiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuODUiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIxMjEuNiIgY3k9IjYyNi4wIiByPSIyLjYiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjciIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIxNDIuNCIgY3k9IjY2Mi4wIiByPSIyLjYiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjY1IiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iMTYzLjEiIGN5PSI2MjYuMCIgcj0iMi42IiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC42IiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iMTIxLjYiIGN5PSI2OTguMCIgcj0iMi42IiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC40IiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iMzMwLjgiIGN5PSI0OC4wIiByPSIyLjIiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjcwIiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iMzcyLjQiIGN5PSI0OC4wIiByPSIyLjIiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjYzIiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iMzkzLjEiIGN5PSI4NC4wIiByPSIyLjIiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjU2IiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iNDM0LjciIGN5PSI4NC4wIiByPSIyLjIiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjM5IiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iMTAwLjgiIGN5PSIzNTguMCIgcj0iMi4yIiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC4zOSIgLz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjE2My4xIiBjeT0iMzk0LjAiIHI9IjIuMiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuMjQiIC8+CiAgICAgICAgPC9zdmc+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImJkLWhlcm8tZ2wiPjwvZGl2PgogICAgICA8ZGl2IHN0eWxlPSJtYXgtd2lkdGg6MTIwMHB4O21hcmdpbjowIGF1dG87cGFkZGluZzowIDQ4cHg7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxOyI+PHNwYW4KICAgICAgICAgIGNsYXNzPSJleSBsdCI+TkVXU1JPT008L3NwYW4+CiAgICAgICAgPGgxIGNsYXNzPSJoMSIgc3R5bGU9ImZvbnQtc2l6ZTpjbGFtcCgzNnB4LDR2dyw2MHB4KTttYXgtd2lkdGg6NjgwcHg7Ij5UaGUgbGF0ZXN0IG5ld3MsIGFubm91bmNlbWVudHMgYW5kCiAgICAgICAgICBpbnNpZ2h0cyBmcm9tIDxlbT5CbGFja0RpY2UuPC9lbT48L2gxPgogICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KICAgIDxzZWN0aW9uIGNsYXNzPSJiZC1zZWN0IHQiPgogICAgICA8ZGl2IGNsYXNzPSJiZC1zaSI+CiAgICAgICAgPGRpdiBjbGFzcz0ibmV3cy1ncmlkIj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im5ld3MtY2FyZCI+PHNwYW4gY2xhc3M9Im5ld3MtdGFnIGlucyI+SU5TSUdIVFM8L3NwYW4+CiAgICAgICAgICAgIDxoMz5UaGUgVUsgRnJhdWQgU3RyYXRlZ3kgMjAyNuKAkzIwMjk6IFdoYXQgSXQgTWVhbnMgZm9yIFRlbGVjb21zIE9wZXJhdG9yczwvaDM+CiAgICAgICAgICAgIDxwPkZvciB0aGUgZmlyc3QgdGltZSwgdGhlIFVLIEZyYXVkIFN0cmF0ZWd5IG5hbWVzIHRlbGVjb21zIG9wZXJhdG9ycyBhcyBjcml0aWNhbCBjb250cm9sIHBvaW50cyBpbiB0aGUKICAgICAgICAgICAgICBuYXRpb25hbCBmcmF1ZCByZXNwb25zZS4gSGVyZSBpcyB3aGF0IHRoYXQgbWVhbnMgaW4gcHJhY3RpY2Ug4oCUIGFuZCBob3cgQmxhY2tEaWNlIHBvc2l0aW9ucyBvcGVyYXRvcnMgdG8KICAgICAgICAgICAgICBtZWV0IHRoZSBuZXcgZXhwZWN0YXRpb24uPC9wPjxidXR0b24gY2xhc3M9ImZ0ci1saW5rIgogICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTNweDtmb250LXdlaWdodDo2MDA7Y29sb3I6dmFyKC0tYXgpO21hcmdpbi10b3A6MTZweDtkaXNwbGF5OmJsb2NrOyIKICAgICAgICAgICAgICBvbmNsaWNrPSJzaG93RGVtbygpIj5SZWFkIG1vcmUg4oaSPC9idXR0b24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im5ld3MtY2FyZCI+PHNwYW4gY2xhc3M9Im5ld3MtdGFnIHByIj5QUkVTUzwvc3Bhbj4KICAgICAgICAgICAgPGgzPkJsYWNrRGljZSBFeHBhbmRzIFBhcnRuZXJzaGlwIE5ldHdvcmsgQWNyb3NzIEV1cm9wZWFuIFRpZXItMSBPcGVyYXRvcnM8L2gzPgogICAgICAgICAgICA8cD5CbGFja0RpY2UgdG9kYXkgYW5ub3VuY2VkIHRoZSBleHBhbnNpb24gb2YgaXRzIGNvbW1lcmNpYWwgcGFydG5lcnNoaXAgbmV0d29yayBhY3Jvc3MgdGhyZWUgRXVyb3BlYW4KICAgICAgICAgICAgICBUaWVyLTEgb3BlcmF0b3JzLCBicmluZ2luZyBjYXJyaWVyLWdyYWRlIEFJLXBvd2VyZWQgY3liZXIgZGVmZW5jZSB0byBtaWxsaW9ucyBvZiBhZGRpdGlvbmFsIHN1YnNjcmliZXJzLgogICAgICAgICAgICA8L3A+PGJ1dHRvbiBjbGFzcz0iZnRyLWxpbmsiCiAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxM3B4O2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjp2YXIoLS1heCk7bWFyZ2luLXRvcDoxNnB4O2Rpc3BsYXk6YmxvY2s7IgogICAgICAgICAgICAgIG9uY2xpY2s9InNob3dEZW1vKCkiPlJlYWQgbW9yZSDihpI8L2J1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ibmV3cy1jYXJkIj48c3BhbiBjbGFzcz0ibmV3cy10YWcgaW5zIj5JTlNJR0hUUzwvc3Bhbj4KICAgICAgICAgICAgPGgzPldoeSBETlMgRmlsdGVyaW5nIElzIHRoZSBTdGFydGluZyBQb2ludCwgTm90IHRoZSBEZXN0aW5hdGlvbjwvaDM+CiAgICAgICAgICAgIDxwPkROUy1sZXZlbCBwcm90ZWN0aW9uIGlzIGZhc3QsIHNjYWxhYmxlIGFuZCB2YWx1YWJsZSDigJQgYnV0IGl0IGlzIG9ubHkgdGhlIGZpcnN0IGxheWVyLiBCbGFja0RpY2UgZXhwbGFpbnMKICAgICAgICAgICAgICB3aHkgb3BlcmF0b3JzIHdobyBzdGFydCB3aXRoIEROUyBQcm90ZWN0IGFyZSBzZXR0aW5nIHRoZW1zZWx2ZXMgdXAgdG8gZ3JhZHVhdGUgdG8gZnVsbCBiZWhhdmlvdXJhbAogICAgICAgICAgICAgIGludGVsbGlnZW5jZSBhdCB0aGUgZWRnZS48L3A+PGJ1dHRvbiBjbGFzcz0iZnRyLWxpbmsiCiAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxM3B4O2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjp2YXIoLS1heCk7bWFyZ2luLXRvcDoxNnB4O2Rpc3BsYXk6YmxvY2s7IgogICAgICAgICAgICAgIG9uY2xpY2s9InNob3dEZW1vKCkiPlJlYWQgbW9yZSDihpI8L2J1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ibmV3cy1jYXJkIj48c3BhbiBjbGFzcz0ibmV3cy10YWcgZXYiPkVWRU5UUzwvc3Bhbj4KICAgICAgICAgICAgPGgzPkJsYWNrRGljZSBhdCBNV0MgMjAyNjogVGhyZWUgVGhpbmdzIEV2ZXJ5IE9wZXJhdG9yIFNob3VsZCBLbm93IEFib3V0IElvVCBTZWN1cml0eTwvaDM+CiAgICAgICAgICAgIDxwPk91ciB0ZWFtIHByZXNlbnRlZCBhdCBNb2JpbGUgV29ybGQgQ29uZ3Jlc3MgMjAyNiBvbiB0aGUgZ3Jvd2luZyB0aHJlYXQgb2YgdW5tYW5hZ2VkIElvVCBkZXZpY2VzIGFuZCB3aHkKICAgICAgICAgICAgICBDUEUtbGV2ZWwgaW50ZWxsaWdlbmNlIGlzIHRoZSBvbmx5IHNjYWxhYmxlIHJlc3BvbnNlLiBLZXkgdGFrZWF3YXlzIGluc2lkZS48L3A+PGJ1dHRvbiBjbGFzcz0iZnRyLWxpbmsiCiAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxM3B4O2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjp2YXIoLS1heCk7bWFyZ2luLXRvcDoxNnB4O2Rpc3BsYXk6YmxvY2s7IgogICAgICAgICAgICAgIG9uY2xpY2s9InNob3dEZW1vKCkiPlJlYWQgbW9yZSDihpI8L2J1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ibmV3cy1jYXJkIj48c3BhbiBjbGFzcz0ibmV3cy10YWcgaW5zIj5JTlNJR0hUUzwvc3Bhbj4KICAgICAgICAgICAgPGgzPkFQUCBGcmF1ZCBhbmQgdGhlIEludGVsbGlnZW5jZSBHYXA6IFdoeSBBdXRoZW50aWNhdGlvbiBJcyBOb3QgRW5vdWdoPC9oMz4KICAgICAgICAgICAgPHA+NzYlIG9mIEFQUCBmcmF1ZCBpbnZvbHZlcyBhIHNjYW0gY2FsbCBhdCB0aGUgbW9tZW50IG9mIHRoZSB0cmFuc2FjdGlvbi4gQmVoYXZpb3VyYWwgaW50ZWxsaWdlbmNlIGNsb3NlcwogICAgICAgICAgICAgIHRoZSBnYXAgdGhhdCBhdXRoZW50aWNhdGlvbiBjYW5ub3Qg4oCUIGhlcmUgaXMgaG93IHRoZSBCbGFja0RpY2UgTW9iaWxlIFNESyBhZGRyZXNzZXMgdGhlIHRocmVhdCB0aGF0CiAgICAgICAgICAgICAgYXV0aGVudGljYXRpb24gYWxvbmUgbGVhdmVzIHVuYWRkcmVzc2VkLjwvcD48YnV0dG9uIGNsYXNzPSJmdHItbGluayIKICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEzcHg7Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOnZhcigtLWF4KTttYXJnaW4tdG9wOjE2cHg7ZGlzcGxheTpibG9jazsiCiAgICAgICAgICAgICAgb25jbGljaz0ic2hvd0RlbW8oKSI+UmVhZCBtb3JlIOKGkjwvYnV0dG9uPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJuZXdzLWNhcmQiPjxzcGFuIGNsYXNzPSJuZXdzLXRhZyBwciI+UFJFU1M8L3NwYW4+CiAgICAgICAgICAgIDxoMz5CbGFja0RpY2UgQWNoaWV2ZXMgQ2VydGlmaWNhdGlvbiBVbmRlciB0aGUgRVUgQ3liZXJzZWN1cml0eSBBY3QgRnJhbWV3b3JrPC9oMz4KICAgICAgICAgICAgPHA+QmxhY2tEaWNlIGhhcyByZWNlaXZlZCBjZXJ0aWZpY2F0aW9uIHJlY29nbml0aW9uIHVuZGVyIHRoZSBFVSBDeWJlcnNlY3VyaXR5IEFjdCBmcmFtZXdvcmsg4oCUIHZhbGlkYXRpbmcKICAgICAgICAgICAgICB0aGUgcGxhdGZvcm0ncyBzZWN1cml0eSBhcmNoaXRlY3R1cmUgYW5kIHBvc2l0aW9uaW5nIG9wZXJhdG9ycyB1c2luZyBCbGFja0RpY2UgYXMgbGVhZGVycyBpbiB0aGUgbmV3CiAgICAgICAgICAgICAgcmVndWxhdG9yeSBlbnZpcm9ubWVudC48L3A+PGJ1dHRvbiBjbGFzcz0iZnRyLWxpbmsiCiAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxM3B4O2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjp2YXIoLS1heCk7bWFyZ2luLXRvcDoxNnB4O2Rpc3BsYXk6YmxvY2s7IgogICAgICAgICAgICAgIG9uY2xpY2s9InNob3dEZW1vKCkiPlJlYWQgbW9yZSDihpI8L2J1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KICAgIDxmb290ZXIgY2xhc3M9ImJkLWZvb3RlciI+PHN2ZyB2aWV3Qm94PSIwIDAgNjQgNjQiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJ2YXIoLS1heCkiCiAgICAgICAgc3Ryb2tlLXdpZHRoPSIzIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0eWxlPSJkaXNwbGF5OmJsb2NrO29wYWNpdHk6Ljc1OyI+CiAgICAgICAgPHBhdGggZD0iTTMyIDYgTDU2IDIwIEw1NiA0NiBMMzIgNjAgTDggNDYgTDggMjAgWiI+PC9wYXRoPgogICAgICAgIDxwYXRoIGQ9Ik0zMiA2IEwzMiAzMiBNOCAyMCBMMzIgMzIgTTU2IDIwIEwzMiAzMiI+PC9wYXRoPgogICAgICAgIDxjaXJjbGUgY3g9IjIwIiBjeT0iMjYiIHI9IjIuNCIgZmlsbD0idmFyKC0tYXgpIiBzdHJva2U9Im5vbmUiPjwvY2lyY2xlPgogICAgICAgIDxjaXJjbGUgY3g9IjIwIiBjeT0iMzQiIHI9IjIuNCIgZmlsbD0idmFyKC0tYXgpIiBzdHJva2U9Im5vbmUiPjwvY2lyY2xlPgogICAgICAgIDxjaXJjbGUgY3g9IjQ0IiBjeT0iMzQiIHI9IjIuNCIgZmlsbD0idmFyKC0tYXgpIiBzdHJva2U9Im5vbmUiPjwvY2lyY2xlPgogICAgICA8L3N2Zz48c3BhbgogICAgICAgIHN0eWxlPSJmb250LWZhbWlseTonVWJ1bnR1JyxzeXN0ZW0tdWksc2Fucy1zZXJpZjtmb250LXdlaWdodDo3MDA7Zm9udC1zaXplOjE0cHg7bGV0dGVyLXNwYWNpbmc6LS4ycHg7Y29sb3I6cmdiYSgyMzIsMjQ0LDI0MywuNTUpIj5CbGFja0RpY2U8L3NwYW4+CiAgICAgIDxkaXYgY2xhc3M9ImZ0ci1saW5rcyI+PGJ1dHRvbiBjbGFzcz0iZnRyLWxpbmsiIGRhdGEtcGFnZT0icDExIiBvbmNsaWNrPSJnb1BhZ2UoZXZlbnQpIj5Db29raWUKICAgICAgICAgIHBvbGljeTwvYnV0dG9uPjxidXR0b24gY2xhc3M9ImZ0ci1saW5rIiBkYXRhLXBhZ2U9InAxMiIgb25jbGljaz0iZ29QYWdlKGV2ZW50KSI+UHJpdmFjeSBwb2xpY3k8L2J1dHRvbj48L2Rpdj4KICAgICAgPHNwYW4gY2xhc3M9ImZ0ci1jb3B5Ij7CqSAyMDI2IEJMQUNLRElDRSBDWUJFUiBMVEQuPC9zcGFuPgogICAgPC9mb290ZXI+CiAgPC9kaXY+CgogIDwhLS0g4pWQ4pWQ4pWQIFA4OiBJTlZFU1RPUlMg4pWQ4pWQ4pWQIC0tPgogIDxkaXYgaWQ9InBnLXA4IiBjbGFzcz0icGciIHN0eWxlPSJkaXNwbGF5Om5vbmUiPgogICAgPHNlY3Rpb24gY2xhc3M9ImJkLWhlcm8tc2giIHN0eWxlPSJwYWRkaW5nOjgwcHggMCA0OHB4OyI+CiAgICAgIDxkaXYgY2xhc3M9ImJkLWhleC1tb3RpZiI+PHN2ZyB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiB2aWV3Qm94PSIwIDAgMzgwIDgyNCIKICAgICAgICAgIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIHNsaWNlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowOyI+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIxIj4KICAgICAgICAgICAgPHBhdGggZD0iTTMxMC4wIDM2LjAgTDMzMC44IDQ4LjAgTDMzMC44IDcyLjAgTDMxMC4wIDg0LjAgTDI4OS4yIDcyLjAgTDI4OS4yIDQ4LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zMTAuMCAzNi4wIEwzMTAuMCA2MC4wIE0zMzAuOCA3Mi4wIEwzMTAuMCA2MC4wIE0yODkuMiA3Mi4wIEwzMTAuMCA2MC4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuOSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zNTEuNiAzNi4wIEwzNzIuNCA0OC4wIEwzNzIuNCA3Mi4wIEwzNTEuNiA4NC4wIEwzMzAuOCA3Mi4wIEwzMzAuOCA0OC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMzUxLjYgMzYuMCBMMzUxLjYgNjAuMCBNMzcyLjQgNzIuMCBMMzUxLjYgNjAuMCBNMzMwLjggNzIuMCBMMzUxLjYgNjAuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjciPgogICAgICAgICAgICA8cGF0aCBkPSJNMzMwLjggNzIuMCBMMzUxLjYgODQuMCBMMzUxLjYgMTA4LjAgTDMzMC44IDEyMC4wIEwzMTAuMCAxMDguMCBMMzEwLjAgODQuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTMzMC44IDcyLjAgTDMzMC44IDk2LjAgTTM1MS42IDEwOC4wIEwzMzAuOCA5Ni4wIE0zMTAuMCAxMDguMCBMMzMwLjggOTYuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjgiPgogICAgICAgICAgICA8cGF0aCBkPSJNMzcyLjQgNzIuMCBMMzkzLjEgODQuMCBMMzkzLjEgMTA4LjAgTDM3Mi40IDEyMC4wIEwzNTEuNiAxMDguMCBMMzUxLjYgODQuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTM3Mi40IDcyLjAgTDM3Mi40IDk2LjAgTTM5My4xIDEwOC4wIEwzNzIuNCA5Ni4wIE0zNTEuNiAxMDguMCBMMzcyLjQgOTYuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjUiPgogICAgICAgICAgICA8cGF0aCBkPSJNMjg5LjIgNzIuMCBMMzEwLjAgODQuMCBMMzEwLjAgMTA4LjAgTDI4OS4yIDEyMC4wIEwyNjguNCAxMDguMCBMMjY4LjQgODQuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTI4OS4yIDcyLjAgTDI4OS4yIDk2LjAgTTMxMC4wIDEwOC4wIEwyODkuMiA5Ni4wIE0yNjguNCAxMDguMCBMMjg5LjIgOTYuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjM1Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTMxMC4wIDEwOC4wIEwzMzAuOCAxMjAuMCBMMzMwLjggMTQ0LjAgTDMxMC4wIDE1Ni4wIEwyODkuMiAxNDQuMCBMMjg5LjIgMTIwLjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zMTAuMCAxMDguMCBMMzEwLjAgMTMyLjAgTTMzMC44IDE0NC4wIEwzMTAuMCAxMzIuMCBNMjg5LjIgMTQ0LjAgTDMxMC4wIDEzMi4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNCI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zNTEuNiAxMDguMCBMMzcyLjQgMTIwLjAgTDM3Mi40IDE0NC4wIEwzNTEuNiAxNTYuMCBMMzMwLjggMTQ0LjAgTDMzMC44IDEyMC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMzUxLjYgMTA4LjAgTDM1MS42IDEzMi4wIE0zNzIuNCAxNDQuMCBMMzUxLjYgMTMyLjAgTTMzMC44IDE0NC4wIEwzNTEuNiAxMzIuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjU1Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTQxMy45IDcyLjAgTDQzNC43IDg0LjAgTDQzNC43IDEwOC4wIEw0MTMuOSAxMjAuMCBMMzkzLjEgMTA4LjAgTDM5My4xIDg0LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik00MTMuOSA3Mi4wIEw0MTMuOSA5Ni4wIE00MzQuNyAxMDguMCBMNDEzLjkgOTYuMCBNMzkzLjEgMTA4LjAgTDQxMy45IDk2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC41NSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik04MC4wIDM0Ni4wIEwxMDAuOCAzNTguMCBMMTAwLjggMzgyLjAgTDgwLjAgMzk0LjAgTDU5LjIgMzgyLjAgTDU5LjIgMzU4LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik04MC4wIDM0Ni4wIEw4MC4wIDM3MC4wIE0xMDAuOCAzODIuMCBMODAuMCAzNzAuMCBNNTkuMiAzODIuMCBMODAuMCAzNzAuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjM1Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTEyMS42IDM0Ni4wIEwxNDIuNCAzNTguMCBMMTQyLjQgMzgyLjAgTDEyMS42IDM5NC4wIEwxMDAuOCAzODIuMCBMMTAwLjggMzU4LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMjEuNiAzNDYuMCBMMTIxLjYgMzcwLjAgTTE0Mi40IDM4Mi4wIEwxMjEuNiAzNzAuMCBNMTAwLjggMzgyLjAgTDEyMS42IDM3MC4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNDUiPgogICAgICAgICAgICA8cGF0aCBkPSJNMTAwLjggMzgyLjAgTDEyMS42IDM5NC4wIEwxMjEuNiA0MTguMCBMMTAwLjggNDMwLjAgTDgwLjAgNDE4LjAgTDgwLjAgMzk0LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMDAuOCAzODIuMCBMMTAwLjggNDA2LjAgTTEyMS42IDQxOC4wIEwxMDAuOCA0MDYuMCBNODAuMCA0MTguMCBMMTAwLjggNDA2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC4zNSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNDIuNCAzODIuMCBMMTYzLjEgMzk0LjAgTDE2My4xIDQxOC4wIEwxNDIuNCA0MzAuMCBMMTIxLjYgNDE4LjAgTDEyMS42IDM5NC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMTQyLjQgMzgyLjAgTDE0Mi40IDQwNi4wIE0xNjMuMSA0MTguMCBMMTQyLjQgNDA2LjAgTTEyMS42IDQxOC4wIEwxNDIuNCA0MDYuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjI1Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTU5LjIgMzgyLjAgTDgwLjAgMzk0LjAgTDgwLjAgNDE4LjAgTDU5LjIgNDMwLjAgTDM4LjQgNDE4LjAgTDM4LjQgMzk0LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik01OS4yIDM4Mi4wIEw1OS4yIDQwNi4wIE04MC4wIDQxOC4wIEw1OS4yIDQwNi4wIE0zOC40IDQxOC4wIEw1OS4yIDQwNi4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuMyI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNjMuMSAzNDYuMCBMMTgzLjkgMzU4LjAgTDE4My45IDM4Mi4wIEwxNjMuMSAzOTQuMCBMMTQyLjQgMzgyLjAgTDE0Mi40IDM1OC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMTYzLjEgMzQ2LjAgTDE2My4xIDM3MC4wIE0xODMuOSAzODIuMCBMMTYzLjEgMzcwLjAgTTE0Mi40IDM4Mi4wIEwxNjMuMSAzNzAuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjg1Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTgwLjAgNjI2LjAgTDEwMC44IDYzOC4wIEwxMDAuOCA2NjIuMCBMODAuMCA2NzQuMCBMNTkuMiA2NjIuMCBMNTkuMiA2MzguMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTgwLjAgNjI2LjAgTDgwLjAgNjUwLjAgTTEwMC44IDY2Mi4wIEw4MC4wIDY1MC4wIE01OS4yIDY2Mi4wIEw4MC4wIDY1MC4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNyI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMjEuNiA2MjYuMCBMMTQyLjQgNjM4LjAgTDE0Mi40IDY2Mi4wIEwxMjEuNiA2NzQuMCBMMTAwLjggNjYyLjAgTDEwMC44IDYzOC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMTIxLjYgNjI2LjAgTDEyMS42IDY1MC4wIE0xNDIuNCA2NjIuMCBMMTIxLjYgNjUwLjAgTTEwMC44IDY2Mi4wIEwxMjEuNiA2NTAuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjU1Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTEwMC44IDY2Mi4wIEwxMjEuNiA2NzQuMCBMMTIxLjYgNjk4LjAgTDEwMC44IDcxMC4wIEw4MC4wIDY5OC4wIEw4MC4wIDY3NC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMTAwLjggNjYyLjAgTDEwMC44IDY4Ni4wIE0xMjEuNiA2OTguMCBMMTAwLjggNjg2LjAgTTgwLjAgNjk4LjAgTDEwMC44IDY4Ni4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNjUiPgogICAgICAgICAgICA8cGF0aCBkPSJNMTQyLjQgNjYyLjAgTDE2My4xIDY3NC4wIEwxNjMuMSA2OTguMCBMMTQyLjQgNzEwLjAgTDEyMS42IDY5OC4wIEwxMjEuNiA2NzQuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTE0Mi40IDY2Mi4wIEwxNDIuNCA2ODYuMCBNMTYzLjEgNjk4LjAgTDE0Mi40IDY4Ni4wIE0xMjEuNiA2OTguMCBMMTQyLjQgNjg2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC42Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTE2My4xIDYyNi4wIEwxODMuOSA2MzguMCBMMTgzLjkgNjYyLjAgTDE2My4xIDY3NC4wIEwxNDIuNCA2NjIuMCBMMTQyLjQgNjM4LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNjMuMSA2MjYuMCBMMTYzLjEgNjUwLjAgTTE4My45IDY2Mi4wIEwxNjMuMSA2NTAuMCBNMTQyLjQgNjYyLjAgTDE2My4xIDY1MC4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNCI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik01OS4yIDY2Mi4wIEw4MC4wIDY3NC4wIEw4MC4wIDY5OC4wIEw1OS4yIDcxMC4wIEwzOC40IDY5OC4wIEwzOC40IDY3NC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNNTkuMiA2NjIuMCBMNTkuMiA2ODYuMCBNODAuMCA2OTguMCBMNTkuMiA2ODYuMCBNMzguNCA2OTguMCBMNTkuMiA2ODYuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjUiPgogICAgICAgICAgICA8cGF0aCBkPSJNODAuMCA2OTguMCBMMTAwLjggNzEwLjAgTDEwMC44IDczNC4wIEw4MC4wIDc0Ni4wIEw1OS4yIDczNC4wIEw1OS4yIDcxMC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNODAuMCA2OTguMCBMODAuMCA3MjIuMCBNMTAwLjggNzM0LjAgTDgwLjAgNzIyLjAgTTU5LjIgNzM0LjAgTDgwLjAgNzIyLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC40Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTEyMS42IDY5OC4wIEwxNDIuNCA3MTAuMCBMMTQyLjQgNzM0LjAgTDEyMS42IDc0Ni4wIEwxMDAuOCA3MzQuMCBMMTAwLjggNzEwLjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMjEuNiA2OTguMCBMMTIxLjYgNzIyLjAgTTE0Mi40IDczNC4wIEwxMjEuNiA3MjIuMCBNMTAwLjggNzM0LjAgTDEyMS42IDcyMi4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xODMuOSA2NjIuMCBMMjA0LjcgNjc0LjAgTDIwNC43IDY5OC4wIEwxODMuOSA3MTAuMCBMMTYzLjEgNjk4LjAgTDE2My4xIDY3NC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMTgzLjkgNjYyLjAgTDE4My45IDY4Ni4wIE0yMDQuNyA2OTguMCBMMTgzLjkgNjg2LjAgTTE2My4xIDY5OC4wIEwxODMuOSA2ODYuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjM1Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTE2My4xIDY5OC4wIEwxODMuOSA3MTAuMCBMMTgzLjkgNzM0LjAgTDE2My4xIDc0Ni4wIEwxNDIuNCA3MzQuMCBMMTQyLjQgNzEwLjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNjMuMSA2OTguMCBMMTYzLjEgNzIyLjAgTTE4My45IDczNC4wIEwxNjMuMSA3MjIuMCBNMTQyLjQgNzM0LjAgTDE2My4xIDcyMi4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjMxMC4wIiBjeT0iMzYuMCIgcj0iMi42IiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMSIgLz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjM1MS42IiBjeT0iMzYuMCIgcj0iMi42IiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC45IiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iMzcyLjQiIGN5PSI3Mi4wIiByPSIyLjYiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjgiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSI0MTMuOSIgY3k9IjcyLjAiIHI9IjIuNiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuNTUiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSI4MC4wIiBjeT0iMzQ2LjAiIHI9IjIuNiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuNTUiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIxNDIuNCIgY3k9IjM4Mi4wIiByPSIyLjYiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjM1IiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iODAuMCIgY3k9IjYyNi4wIiByPSIyLjYiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjg1IiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iMTIxLjYiIGN5PSI2MjYuMCIgcj0iMi42IiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC43IiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iMTQyLjQiIGN5PSI2NjIuMCIgcj0iMi42IiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC42NSIgLz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjE2My4xIiBjeT0iNjI2LjAiIHI9IjIuNiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuNiIgLz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjEyMS42IiBjeT0iNjk4LjAiIHI9IjIuNiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuNCIgLz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjMzMC44IiBjeT0iNDguMCIgcj0iMi4yIiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC43MCIgLz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjM3Mi40IiBjeT0iNDguMCIgcj0iMi4yIiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC42MyIgLz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjM5My4xIiBjeT0iODQuMCIgcj0iMi4yIiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC41NiIgLz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjQzNC43IiBjeT0iODQuMCIgcj0iMi4yIiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC4zOSIgLz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjEwMC44IiBjeT0iMzU4LjAiIHI9IjIuMiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuMzkiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIxNjMuMSIgY3k9IjM5NC4wIiByPSIyLjIiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjI0IiAvPgogICAgICAgIDwvc3ZnPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJiZC1oZXJvLWdsIj48L2Rpdj4KICAgICAgPGRpdiBzdHlsZT0ibWF4LXdpZHRoOjEyMDBweDttYXJnaW46MCBhdXRvO3BhZGRpbmc6MCA0OHB4O3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTsiPjxzcGFuCiAgICAgICAgICBjbGFzcz0iZXkgbHQiPklOVkVTVE9SUzwvc3Bhbj4KICAgICAgICA8aDEgY2xhc3M9ImgxIiBzdHlsZT0iZm9udC1zaXplOmNsYW1wKDM2cHgsNHZ3LDYwcHgpO21heC13aWR0aDo2ODBweDsiPkJ1aWxkaW5nIHRoZSBpbmZyYXN0cnVjdHVyZSBsYXllciBmb3IgdGhlCiAgICAgICAgICA8ZW0+dHJ1c3RlZCBpbnRlcm5ldC48L2VtPjwvaDE+CiAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgogICAgPHNlY3Rpb24gY2xhc3M9ImJkLXNlY3QgdCI+CiAgICAgIDxkaXYgY2xhc3M9ImJkLXNpIj4KICAgICAgICA8ZGl2IGNsYXNzPSJnMiIgc3R5bGU9Im1hcmdpbi1ib3R0b206NDhweDsiPgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPGgyIGNsYXNzPSJoMiIgc3R5bGU9Im1hcmdpbi1ib3R0b206MTZweDsiPldoeSBCbGFja0RpY2Ugbm93PzwvaDI+CiAgICAgICAgICAgIDxwIHN0eWxlPSJmb250LXNpemU6MTZweDtjb2xvcjp2YXIoLS10Mik7bGluZS1oZWlnaHQ6MS43NTsiPlRoZSByZWd1bGF0b3J5LCB0aHJlYXQgYW5kIGNvbXBldGl0aXZlIGxhbmRzY2FwZQogICAgICAgICAgICAgIGhhcyBjb252ZXJnZWQgdG8gY3JlYXRlIGEgdW5pcXVlIG1hcmtldCBvcHBvcnR1bml0eS4gT3BlcmF0b3JzIGFyZSBiZWluZyBtYW5kYXRlZCB0byB0YWtlIHJlc3BvbnNpYmlsaXR5CiAgICAgICAgICAgICAgZm9yIHRoZSBkaWdpdGFsIGVudmlyb25tZW50IHRoZXkgY3JlYXRlIOKAlCBhbmQgQmxhY2tEaWNlIGlzIHRoZSBvbmx5IHBsYXRmb3JtIHB1cnBvc2UtYnVpbHQgdG8gaGVscCB0aGVtCiAgICAgICAgICAgICAgbWVldCB0aGF0IG9ibGlnYXRpb24gYXQgc2NhbGUuPC9wPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8cCBzdHlsZT0iZm9udC1zaXplOjE1cHg7Y29sb3I6dmFyKC0tdDIpO2xpbmUtaGVpZ2h0OjEuODttYXJnaW4tYm90dG9tOjE2cHg7Ij5CbGFja0RpY2UgaXMgZ3JhbnRlZC1wYXRlbnQKICAgICAgICAgICAgICBwcm90ZWN0ZWQgYWNyb3NzIHRocmVlIGp1cmlzZGljdGlvbnMgKEVQMzIzMTE1M0IxLCBHQjI1MzMxMDEsIEFVMjAxNTM1OTE4Mikgd2l0aCBhIHVuaXF1ZQogICAgICAgICAgICAgIGVtYmVkZGVkLWluLWluZnJhc3RydWN0dXJlIGRhdGEgcG9zaXRpb24gdGhhdCBjYW5ub3QgYmUgcmVwbGljYXRlZCBieSBvdmVyLXRoZS10b3AgYXBwbGljYXRpb25zIG9yIGFkYXB0ZWQKICAgICAgICAgICAgICBlbnRlcnByaXNlIHRvb2xzLjwvcD48YnV0dG9uIGNsYXNzPSJidG4tcCIgb25jbGljaz0ic2hvd0RlbW8oKSI+SW52ZXN0b3IgZW5xdWlyaWVzPC9idXR0b24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJnMiI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnYtc3RhdCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Imludi12YWwiPiQyVDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnYtbGJsIj5Ub3RhbCBhZGRyZXNzYWJsZSBtYXJrZXQ8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW52LW5vdGUiPkNvbWJpbmVkIHRlbGVjb21zIHNlY3VyaXR5LCBJb1Qgc2VjdXJpdHkgYW5kIGZyYXVkIHByZXZlbnRpb248L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iaW52LXN0YXQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnYtdmFsIj4zPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Imludi1sYmwiPkdyYW50ZWQgcGF0ZW50czwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnYtbm90ZSI+RVAzMjMxMTUzQjEgwrcgR0IyNTMzMTAxIMK3IEFVMjAxNTM1OTE4MjwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnYtc3RhdCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Imludi12YWwiPjVCKzwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnYtbGJsIj5Ub3RhbCBhZGRyZXNzYWJsZSBzdWJzY3JpYmVyczwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnYtbm90ZSI+VmlhIGdsb2JhbCB0ZWxlY29tcyBvcGVyYXRvciBhbmQgSVNQIHJlbGF0aW9uc2hpcHM8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iaW52LXN0YXQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnYtdmFsIj4wPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Imludi1sYmwiPkhhcmR3YXJlIGNoYW5nZXMgcmVxdWlyZWQ8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW52LW5vdGUiPkRlcGxveXMgaW50byBleGlzdGluZyBDUEUgZXN0YXRlIHZpYSBmaXJtd2FyZSBvciBjb250YWluZXJpc2VkIGFnZW50PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L3NlY3Rpb24+CiAgICA8Zm9vdGVyIGNsYXNzPSJiZC1mb290ZXIiPjxzdmcgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIGZpbGw9Im5vbmUiIHN0cm9rZT0idmFyKC0tYXgpIgogICAgICAgIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHlsZT0iZGlzcGxheTpibG9jaztvcGFjaXR5Oi43NTsiPgogICAgICAgIDxwYXRoIGQ9Ik0zMiA2IEw1NiAyMCBMNTYgNDYgTDMyIDYwIEw4IDQ2IEw4IDIwIFoiPjwvcGF0aD4KICAgICAgICA8cGF0aCBkPSJNMzIgNiBMMzIgMzIgTTggMjAgTDMyIDMyIE01NiAyMCBMMzIgMzIiPjwvcGF0aD4KICAgICAgICA8Y2lyY2xlIGN4PSIyMCIgY3k9IjI2IiByPSIyLjQiIGZpbGw9InZhcigtLWF4KSIgc3Ryb2tlPSJub25lIj48L2NpcmNsZT4KICAgICAgICA8Y2lyY2xlIGN4PSIyMCIgY3k9IjM0IiByPSIyLjQiIGZpbGw9InZhcigtLWF4KSIgc3Ryb2tlPSJub25lIj48L2NpcmNsZT4KICAgICAgICA8Y2lyY2xlIGN4PSI0NCIgY3k9IjM0IiByPSIyLjQiIGZpbGw9InZhcigtLWF4KSIgc3Ryb2tlPSJub25lIj48L2NpcmNsZT4KICAgICAgPC9zdmc+PHNwYW4KICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6J1VidW50dScsc3lzdGVtLXVpLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtc2l6ZToxNHB4O2xldHRlci1zcGFjaW5nOi0uMnB4O2NvbG9yOnJnYmEoMjMyLDI0NCwyNDMsLjU1KSI+QmxhY2tEaWNlPC9zcGFuPgogICAgICA8ZGl2IGNsYXNzPSJmdHItbGlua3MiPjxidXR0b24gY2xhc3M9ImZ0ci1saW5rIiBkYXRhLXBhZ2U9InAxMSIgb25jbGljaz0iZ29QYWdlKGV2ZW50KSI+Q29va2llCiAgICAgICAgICBwb2xpY3k8L2J1dHRvbj48YnV0dG9uIGNsYXNzPSJmdHItbGluayIgZGF0YS1wYWdlPSJwMTIiIG9uY2xpY2s9ImdvUGFnZShldmVudCkiPlByaXZhY3kgcG9saWN5PC9idXR0b24+PC9kaXY+CiAgICAgIDxzcGFuIGNsYXNzPSJmdHItY29weSI+wqkgMjAyNiBCTEFDS0RJQ0UgQ1lCRVIgTFRELjwvc3Bhbj4KICAgIDwvZm9vdGVyPgogIDwvZGl2PgoKICA8IS0tIOKVkOKVkOKVkCBQOTogQ09OVEFDVCDilZDilZDilZAgLS0+CiAgPGRpdiBpZD0icGctcDkiIGNsYXNzPSJwZyIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+CiAgICA8c2VjdGlvbiBjbGFzcz0iYmQtaGVyby1zaCIgc3R5bGU9InBhZGRpbmc6ODBweCAwIDY0cHg7Ij4KICAgICAgPGRpdiBjbGFzcz0iYmQtaGV4LW1vdGlmIj48c3ZnIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAzODAgODI0IgogICAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7Ij4KICAgICAgICAgIDxnIG9wYWNpdHk9IjEiPgogICAgICAgICAgICA8cGF0aCBkPSJNMzEwLjAgMzYuMCBMMzMwLjggNDguMCBMMzMwLjggNzIuMCBMMzEwLjAgODQuMCBMMjg5LjIgNzIuMCBMMjg5LjIgNDguMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTMxMC4wIDM2LjAgTDMxMC4wIDYwLjAgTTMzMC44IDcyLjAgTDMxMC4wIDYwLjAgTTI4OS4yIDcyLjAgTDMxMC4wIDYwLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC45Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTM1MS42IDM2LjAgTDM3Mi40IDQ4LjAgTDM3Mi40IDcyLjAgTDM1MS42IDg0LjAgTDMzMC44IDcyLjAgTDMzMC44IDQ4LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zNTEuNiAzNi4wIEwzNTEuNiA2MC4wIE0zNzIuNCA3Mi4wIEwzNTEuNiA2MC4wIE0zMzAuOCA3Mi4wIEwzNTEuNiA2MC4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNyI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zMzAuOCA3Mi4wIEwzNTEuNiA4NC4wIEwzNTEuNiAxMDguMCBMMzMwLjggMTIwLjAgTDMxMC4wIDEwOC4wIEwzMTAuMCA4NC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMzMwLjggNzIuMCBMMzMwLjggOTYuMCBNMzUxLjYgMTA4LjAgTDMzMC44IDk2LjAgTTMxMC4wIDEwOC4wIEwzMzAuOCA5Ni4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuOCI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zNzIuNCA3Mi4wIEwzOTMuMSA4NC4wIEwzOTMuMSAxMDguMCBMMzcyLjQgMTIwLjAgTDM1MS42IDEwOC4wIEwzNTEuNiA4NC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMzcyLjQgNzIuMCBMMzcyLjQgOTYuMCBNMzkzLjEgMTA4LjAgTDM3Mi40IDk2LjAgTTM1MS42IDEwOC4wIEwzNzIuNCA5Ni4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0yODkuMiA3Mi4wIEwzMTAuMCA4NC4wIEwzMTAuMCAxMDguMCBMMjg5LjIgMTIwLjAgTDI2OC40IDEwOC4wIEwyNjguNCA4NC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMjg5LjIgNzIuMCBMMjg5LjIgOTYuMCBNMzEwLjAgMTA4LjAgTDI4OS4yIDk2LjAgTTI2OC40IDEwOC4wIEwyODkuMiA5Ni4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuMzUiPgogICAgICAgICAgICA8cGF0aCBkPSJNMzEwLjAgMTA4LjAgTDMzMC44IDEyMC4wIEwzMzAuOCAxNDQuMCBMMzEwLjAgMTU2LjAgTDI4OS4yIDE0NC4wIEwyODkuMiAxMjAuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTMxMC4wIDEwOC4wIEwzMTAuMCAxMzIuMCBNMzMwLjggMTQ0LjAgTDMxMC4wIDEzMi4wIE0yODkuMiAxNDQuMCBMMzEwLjAgMTMyLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC40Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTM1MS42IDEwOC4wIEwzNzIuNCAxMjAuMCBMMzcyLjQgMTQ0LjAgTDM1MS42IDE1Ni4wIEwzMzAuOCAxNDQuMCBMMzMwLjggMTIwLjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zNTEuNiAxMDguMCBMMzUxLjYgMTMyLjAgTTM3Mi40IDE0NC4wIEwzNTEuNiAxMzIuMCBNMzMwLjggMTQ0LjAgTDM1MS42IDEzMi4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNTUiPgogICAgICAgICAgICA8cGF0aCBkPSJNNDEzLjkgNzIuMCBMNDM0LjcgODQuMCBMNDM0LjcgMTA4LjAgTDQxMy45IDEyMC4wIEwzOTMuMSAxMDguMCBMMzkzLjEgODQuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTQxMy45IDcyLjAgTDQxMy45IDk2LjAgTTQzNC43IDEwOC4wIEw0MTMuOSA5Ni4wIE0zOTMuMSAxMDguMCBMNDEzLjkgOTYuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjU1Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTgwLjAgMzQ2LjAgTDEwMC44IDM1OC4wIEwxMDAuOCAzODIuMCBMODAuMCAzOTQuMCBMNTkuMiAzODIuMCBMNTkuMiAzNTguMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTgwLjAgMzQ2LjAgTDgwLjAgMzcwLjAgTTEwMC44IDM4Mi4wIEw4MC4wIDM3MC4wIE01OS4yIDM4Mi4wIEw4MC4wIDM3MC4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuMzUiPgogICAgICAgICAgICA8cGF0aCBkPSJNMTIxLjYgMzQ2LjAgTDE0Mi40IDM1OC4wIEwxNDIuNCAzODIuMCBMMTIxLjYgMzk0LjAgTDEwMC44IDM4Mi4wIEwxMDAuOCAzNTguMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTEyMS42IDM0Ni4wIEwxMjEuNiAzNzAuMCBNMTQyLjQgMzgyLjAgTDEyMS42IDM3MC4wIE0xMDAuOCAzODIuMCBMMTIxLjYgMzcwLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC40NSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMDAuOCAzODIuMCBMMTIxLjYgMzk0LjAgTDEyMS42IDQxOC4wIEwxMDAuOCA0MzAuMCBMODAuMCA0MTguMCBMODAuMCAzOTQuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTEwMC44IDM4Mi4wIEwxMDAuOCA0MDYuMCBNMTIxLjYgNDE4LjAgTDEwMC44IDQwNi4wIE04MC4wIDQxOC4wIEwxMDAuOCA0MDYuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjM1Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTE0Mi40IDM4Mi4wIEwxNjMuMSAzOTQuMCBMMTYzLjEgNDE4LjAgTDE0Mi40IDQzMC4wIEwxMjEuNiA0MTguMCBMMTIxLjYgMzk0LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNDIuNCAzODIuMCBMMTQyLjQgNDA2LjAgTTE2My4xIDQxOC4wIEwxNDIuNCA0MDYuMCBNMTIxLjYgNDE4LjAgTDE0Mi40IDQwNi4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuMjUiPgogICAgICAgICAgICA8cGF0aCBkPSJNNTkuMiAzODIuMCBMODAuMCAzOTQuMCBMODAuMCA0MTguMCBMNTkuMiA0MzAuMCBMMzguNCA0MTguMCBMMzguNCAzOTQuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTU5LjIgMzgyLjAgTDU5LjIgNDA2LjAgTTgwLjAgNDE4LjAgTDU5LjIgNDA2LjAgTTM4LjQgNDE4LjAgTDU5LjIgNDA2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC4zIj4KICAgICAgICAgICAgPHBhdGggZD0iTTE2My4xIDM0Ni4wIEwxODMuOSAzNTguMCBMMTgzLjkgMzgyLjAgTDE2My4xIDM5NC4wIEwxNDIuNCAzODIuMCBMMTQyLjQgMzU4LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNjMuMSAzNDYuMCBMMTYzLjEgMzcwLjAgTTE4My45IDM4Mi4wIEwxNjMuMSAzNzAuMCBNMTQyLjQgMzgyLjAgTDE2My4xIDM3MC4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuODUiPgogICAgICAgICAgICA8cGF0aCBkPSJNODAuMCA2MjYuMCBMMTAwLjggNjM4LjAgTDEwMC44IDY2Mi4wIEw4MC4wIDY3NC4wIEw1OS4yIDY2Mi4wIEw1OS4yIDYzOC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNODAuMCA2MjYuMCBMODAuMCA2NTAuMCBNMTAwLjggNjYyLjAgTDgwLjAgNjUwLjAgTTU5LjIgNjYyLjAgTDgwLjAgNjUwLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC43Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTEyMS42IDYyNi4wIEwxNDIuNCA2MzguMCBMMTQyLjQgNjYyLjAgTDEyMS42IDY3NC4wIEwxMDAuOCA2NjIuMCBMMTAwLjggNjM4LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMjEuNiA2MjYuMCBMMTIxLjYgNjUwLjAgTTE0Mi40IDY2Mi4wIEwxMjEuNiA2NTAuMCBNMTAwLjggNjYyLjAgTDEyMS42IDY1MC4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNTUiPgogICAgICAgICAgICA8cGF0aCBkPSJNMTAwLjggNjYyLjAgTDEyMS42IDY3NC4wIEwxMjEuNiA2OTguMCBMMTAwLjggNzEwLjAgTDgwLjAgNjk4LjAgTDgwLjAgNjc0LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMDAuOCA2NjIuMCBMMTAwLjggNjg2LjAgTTEyMS42IDY5OC4wIEwxMDAuOCA2ODYuMCBNODAuMCA2OTguMCBMMTAwLjggNjg2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC42NSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNDIuNCA2NjIuMCBMMTYzLjEgNjc0LjAgTDE2My4xIDY5OC4wIEwxNDIuNCA3MTAuMCBMMTIxLjYgNjk4LjAgTDEyMS42IDY3NC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMTQyLjQgNjYyLjAgTDE0Mi40IDY4Ni4wIE0xNjMuMSA2OTguMCBMMTQyLjQgNjg2LjAgTTEyMS42IDY5OC4wIEwxNDIuNCA2ODYuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjYiPgogICAgICAgICAgICA8cGF0aCBkPSJNMTYzLjEgNjI2LjAgTDE4My45IDYzOC4wIEwxODMuOSA2NjIuMCBMMTYzLjEgNjc0LjAgTDE0Mi40IDY2Mi4wIEwxNDIuNCA2MzguMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTE2My4xIDYyNi4wIEwxNjMuMSA2NTAuMCBNMTgzLjkgNjYyLjAgTDE2My4xIDY1MC4wIE0xNDIuNCA2NjIuMCBMMTYzLjEgNjUwLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC40Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTU5LjIgNjYyLjAgTDgwLjAgNjc0LjAgTDgwLjAgNjk4LjAgTDU5LjIgNzEwLjAgTDM4LjQgNjk4LjAgTDM4LjQgNjc0LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik01OS4yIDY2Mi4wIEw1OS4yIDY4Ni4wIE04MC4wIDY5OC4wIEw1OS4yIDY4Ni4wIE0zOC40IDY5OC4wIEw1OS4yIDY4Ni4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik04MC4wIDY5OC4wIEwxMDAuOCA3MTAuMCBMMTAwLjggNzM0LjAgTDgwLjAgNzQ2LjAgTDU5LjIgNzM0LjAgTDU5LjIgNzEwLjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik04MC4wIDY5OC4wIEw4MC4wIDcyMi4wIE0xMDAuOCA3MzQuMCBMODAuMCA3MjIuMCBNNTkuMiA3MzQuMCBMODAuMCA3MjIuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICA8L2c+CiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjQiPgogICAgICAgICAgICA8cGF0aCBkPSJNMTIxLjYgNjk4LjAgTDE0Mi40IDcxMC4wIEwxNDIuNCA3MzQuMCBMMTIxLjYgNzQ2LjAgTDEwMC44IDczNC4wIEwxMDAuOCA3MTAuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTEyMS42IDY5OC4wIEwxMjEuNiA3MjIuMCBNMTQyLjQgNzM0LjAgTDEyMS42IDcyMi4wIE0xMDAuOCA3MzQuMCBMMTIxLjYgNzIyLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGcgb3BhY2l0eT0iMC41Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTE4My45IDY2Mi4wIEwyMDQuNyA2NzQuMCBMMjA0LjcgNjk4LjAgTDE4My45IDcxMC4wIEwxNjMuMSA2OTguMCBMMTYzLjEgNjc0LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xODMuOSA2NjIuMCBMMTgzLjkgNjg2LjAgTTIwNC43IDY5OC4wIEwxODMuOSA2ODYuMCBNMTYzLjEgNjk4LjAgTDE4My45IDY4Ni4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxnIG9wYWNpdHk9IjAuMzUiPgogICAgICAgICAgICA8cGF0aCBkPSJNMTYzLjEgNjk4LjAgTDE4My45IDcxMC4wIEwxODMuOSA3MzQuMCBMMTYzLjEgNzQ2LjAgTDE0Mi40IDczNC4wIEwxNDIuNCA3MTAuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPHBhdGggZD0iTTE2My4xIDY5OC4wIEwxNjMuMSA3MjIuMCBNMTgzLjkgNzM0LjAgTDE2My4xIDcyMi4wIE0xNDIuNCA3MzQuMCBMMTYzLjEgNzIyLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgPC9nPgogICAgICAgICAgPGNpcmNsZSBjeD0iMzEwLjAiIGN5PSIzNi4wIiByPSIyLjYiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIxIiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iMzUxLjYiIGN5PSIzNi4wIiByPSIyLjYiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjkiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIzNzIuNCIgY3k9IjcyLjAiIHI9IjIuNiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuOCIgLz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjQxMy45IiBjeT0iNzIuMCIgcj0iMi42IiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC41NSIgLz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjgwLjAiIGN5PSIzNDYuMCIgcj0iMi42IiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC41NSIgLz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjE0Mi40IiBjeT0iMzgyLjAiIHI9IjIuNiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuMzUiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSI4MC4wIiBjeT0iNjI2LjAiIHI9IjIuNiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuODUiIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIxMjEuNiIgY3k9IjYyNi4wIiByPSIyLjYiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjciIC8+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIxNDIuNCIgY3k9IjY2Mi4wIiByPSIyLjYiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjY1IiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iMTYzLjEiIGN5PSI2MjYuMCIgcj0iMi42IiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC42IiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iMTIxLjYiIGN5PSI2OTguMCIgcj0iMi42IiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC40IiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iMzMwLjgiIGN5PSI0OC4wIiByPSIyLjIiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjcwIiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iMzcyLjQiIGN5PSI0OC4wIiByPSIyLjIiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjYzIiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iMzkzLjEiIGN5PSI4NC4wIiByPSIyLjIiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjU2IiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iNDM0LjciIGN5PSI4NC4wIiByPSIyLjIiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjM5IiAvPgogICAgICAgICAgPGNpcmNsZSBjeD0iMTAwLjgiIGN5PSIzNTguMCIgcj0iMi4yIiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC4zOSIgLz4KICAgICAgICAgIDxjaXJjbGUgY3g9IjE2My4xIiBjeT0iMzk0LjAiIHI9IjIuMiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuMjQiIC8+CiAgICAgICAgPC9zdmc+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImJkLWhlcm8tZ2wiPjwvZGl2PgogICAgICA8ZGl2IHN0eWxlPSJtYXgtd2lkdGg6MTIwMHB4O21hcmdpbjowIGF1dG87cGFkZGluZzowIDQ4cHg7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxOyI+PHNwYW4KICAgICAgICAgIGNsYXNzPSJleSBsdCI+Q09OVEFDVDwvc3Bhbj4KICAgICAgICA8aDEgY2xhc3M9ImgxIiBzdHlsZT0iZm9udC1zaXplOmNsYW1wKDM2cHgsNHZ3LDU2cHgpO21heC13aWR0aDo1NjBweDsiPlNhZmVndWFyZCB5b3VyPGJyPmRpZ2l0YWwgPGVtPndvcmxkLjwvZW0+CiAgICAgICAgPC9oMT4KICAgICAgICA8cCBjbGFzcz0iaGVyby1zdWIiIHN0eWxlPSJtYXgtd2lkdGg6NDQwcHg7bWFyZ2luLXRvcDoyMHB4OyI+V2hldGhlciB5b3UncmUgYW4gb3BlcmF0b3IsIGludmVzdG9yLCBvciBwYXJ0bmVyIOKAlAogICAgICAgICAgd2UnZCBsb3ZlIHRvIGhlYXIgZnJvbSB5b3UuPC9wPgogICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KICAgIDxzZWN0aW9uIGNsYXNzPSJiZC1zZWN0IHQiPgogICAgICA8ZGl2IGNsYXNzPSJiZC1zaSB0d28tY29sIiBzdHlsZT0iYWxpZ24taXRlbXM6c3RhcnQ7Ij4KICAgICAgICA8ZGl2PgogICAgICAgICAgPHNwYW4gY2xhc3M9ImV5Ij5HRVQgSU4gVE9VQ0g8L3NwYW4+CiAgICAgICAgICA8aDIgY2xhc3M9ImgyIiBzdHlsZT0ibWFyZ2luLWJvdHRvbTozMnB4OyI+SG93IGNhbiB3ZSBoZWxwPzwvaDI+CiAgICAgICAgICA8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOnZhcigtLWJnKTtwYWRkaW5nOjMycHg7bWFyZ2luLWJvdHRvbToyMHB4OyI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJleSBheCIgc3R5bGU9Im1hcmdpbi1ib3R0b206MTBweDsiPk9QRVJBVE9SUyBBTkQgUEFSVE5FUlM8L3NwYW4+CiAgICAgICAgICAgIDxoMyBzdHlsZT0iZm9udC1zaXplOjE4cHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiNlOGY0ZjM7bWFyZ2luLWJvdHRvbToxMHB4O21hcmdpbi10b3A6OHB4OyI+UmVxdWVzdCBhCiAgICAgICAgICAgICAgZGVtb25zdHJhdGlvbjwvaDM+CiAgICAgICAgICAgIDxwIHN0eWxlPSJjb2xvcjpyZ2JhKDIzMiwyNDQsMjQzLC42KTtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoxLjc7bWFyZ2luLWJvdHRvbToyMHB4OyI+U2VlIEJsYWNrRGljZSBIYWxvCiAgICAgICAgICAgICAgaW4gYWN0aW9uLiBPdXIgdGVhbSB3aWxsIHdhbGsgeW91IHRocm91Z2ggYSBsaXZlIGRlbW9uc3RyYXRpb24gdGFpbG9yZWQgdG8geW91ciBpbmZyYXN0cnVjdHVyZSBhbmQKICAgICAgICAgICAgICBzdWJzY3JpYmVyIGJhc2UuPC9wPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4tcCBidG4tc20iIG9uY2xpY2s9InNob3dEZW1vKCkiPkJvb2sgYSBkZW1vbnN0cmF0aW9uPC9idXR0b24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2ZmZmZmZjtib3JkZXI6MXB4IHNvbGlkICNFMkUwREM7cGFkZGluZzozMnB4O21hcmdpbi1ib3R0b206MjBweDsiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZXkgYXgiIHN0eWxlPSJtYXJnaW4tYm90dG9tOjEwcHg7Ij5HRU5FUkFMIEVOUVVJUklFUzwvc3Bhbj4KICAgICAgICAgICAgPGgzIHN0eWxlPSJmb250LXNpemU6MThweDtmb250LXdlaWdodDo3MDA7Y29sb3I6IzBEMUIyNDttYXJnaW4tYm90dG9tOjEwcHg7bWFyZ2luLXRvcDo4cHg7Ij5TZW5kIHVzIGEKICAgICAgICAgICAgICBtZXNzYWdlPC9oMz4KICAgICAgICAgICAgPHAgc3R5bGU9ImNvbG9yOiM1RTZDNzU7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MS43O21hcmdpbi1ib3R0b206MTZweDsiPkZvciBnZW5lcmFsIHF1ZXN0aW9ucywgcHJlc3MKICAgICAgICAgICAgICBlbnF1aXJpZXMsIG9yIHBhcnRuZXJzaGlwIG9wcG9ydHVuaXRpZXM6PC9wPgogICAgICAgICAgICA8YSBocmVmPSJtYWlsdG86aW5mb0BibGFja2RpY2UuYWkiCiAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOnZhcigtLWF4KTtmb250LXdlaWdodDo3MDA7Zm9udC1zaXplOjE2cHg7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Ij5pbmZvQGJsYWNrZGljZS5haSDihpI8L2E+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2ZmZmZmZjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTk2LDE2OSwxMDcsMC4zNSk7cGFkZGluZzozMnB4OyI+CiAgICAgICAgICAgIDxzcGFuCiAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OnZhcigtLWZtKTtmb250LXNpemU6MTFweDtsZXR0ZXItc3BhY2luZzouMmVtO2NvbG9yOiM4YTZhMmE7ZGlzcGxheTpibG9jazttYXJnaW4tYm90dG9tOjEwcHg7Ij5JTlZFU1RPUlM8L3NwYW4+CiAgICAgICAgICAgIDxoMyBzdHlsZT0iZm9udC1zaXplOjE4cHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiMwRDFCMjQ7bWFyZ2luLWJvdHRvbToxMHB4O21hcmdpbi10b3A6OHB4OyI+SW52ZXN0b3IKICAgICAgICAgICAgICByZWxhdGlvbnM8L2gzPgogICAgICAgICAgICA8cCBzdHlsZT0iY29sb3I6IzVFNkM3NTtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoxLjc7bWFyZ2luLWJvdHRvbToxNnB4OyI+Rm9yIGZ1bmRpbmcgZW5xdWlyaWVzLCBpbnZlc3RvcgogICAgICAgICAgICAgIGRlY2sgcmVxdWVzdHMsIG9yIHN0cmF0ZWdpYyBwYXJ0bmVyc2hpcCBkaXNjdXNzaW9uczo8L3A+CiAgICAgICAgICAgIDxhIGhyZWY9Im1haWx0bzppbnZlc3RAYmxhY2tkaWNlLmFpIgogICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojOGE2YTJhO2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6MTZweDt0ZXh0LWRlY29yYXRpb246bm9uZTsiPmludmVzdEBibGFja2RpY2UuYWkg4oaSPC9hPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJleSI+T1VSIE9GRklDRTwvc3Bhbj4KICAgICAgICAgIDxoMiBjbGFzcz0iaDIiIHN0eWxlPSJtYXJnaW4tYm90dG9tOjMycHg7Ij5MZWVkcywgVW5pdGVkIEtpbmdkb208L2gyPgogICAgICAgICAgPGRpdgogICAgICAgICAgICBzdHlsZT0iYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCMwMTNCNDkgMCUsIzAwNjg3YyAxMDAlKTtwYWRkaW5nOjU2cHg7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOyI+CiAgICAgICAgICAgIDxkaXYgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyOyI+CiAgICAgICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjM2cHg7bWFyZ2luLWJvdHRvbToxMnB4OyI+8J+TjTwvZGl2PgogICAgICAgICAgICAgIDxkaXYgc3R5bGU9ImNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjYpO2ZvbnQtZmFtaWx5OnZhcigtLWZtKTtmb250LXNpemU6MTFweDtsZXR0ZXItc3BhY2luZzouMTJlbTsiPkxFRURTLAogICAgICAgICAgICAgICAgVU5JVEVEIEtJTkdET008L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYKICAgICAgICAgICAgc3R5bGU9ImJhY2tncm91bmQ6I2ZmZmZmZjtib3JkZXI6MXB4IHNvbGlkICNFMkUwREM7Ym9yZGVyLXRvcDpub25lO3BhZGRpbmc6MjhweCAzMnB4O21hcmdpbi1ib3R0b206MjRweDsiPgogICAgICAgICAgICA8cCBzdHlsZT0iZm9udC13ZWlnaHQ6NjAwO2NvbG9yOiMwRDFCMjQ7bWFyZ2luLWJvdHRvbTo4cHg7Ij5CbGFja0RpY2UgQ3liZXIgTHRkPC9wPgogICAgICAgICAgICA8cCBzdHlsZT0iY29sb3I6IzVFNkM3NTtsaW5lLWhlaWdodDoxLjc7Zm9udC1zaXplOjE0cHg7Ij4xN3RoIEZsb29yLCBUaGUgUGlubmFjbGU8YnI+NjcgQWxiaW9uCiAgICAgICAgICAgICAgU3RyZWV0PGJyPkxlZWRzIExTMSA1QUE8YnI+VW5pdGVkIEtpbmdkb208L3A+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJleSIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7bWFyZ2luLWJvdHRvbToxNHB4OyI+Rk9MTE9XIFVTPC9zcGFuPgogICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL2NvbXBhbnkvYmxhY2tkaWNlLyIgdGFyZ2V0PSJfYmxhbmsiCiAgICAgICAgICAgIHN0eWxlPSJkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O3BhZGRpbmc6MTRweCAxOHB4O2JvcmRlcjoxcHggc29saWQgI0UyRTBEQztiYWNrZ3JvdW5kOiNmZmZmZmY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOiMwRDFCMjQ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7bWFyZ2luLWJvdHRvbToyNHB4OyI+CiAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJmb250LXdlaWdodDo4MDA7Zm9udC1zaXplOjE2cHg7Ij5pbjwvc3Bhbj4gTGlua2VkSW4KICAgICAgICAgIDwvYT4KICAgICAgICAgIDxkaXYgc3R5bGU9ImJhY2tncm91bmQ6dmFyKC0tYmcpO3BhZGRpbmc6MjhweCAzMnB4OyI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJleSBheCIgc3R5bGU9Im1hcmdpbi1ib3R0b206MTBweDsiPlBSRVNTIEFORCBNRURJQTwvc3Bhbj4KICAgICAgICAgICAgPHAgc3R5bGU9ImNvbG9yOnJnYmEoMjMyLDI0NCwyNDMsLjc1KTtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoxLjc7bWFyZ2luLWJvdHRvbToxNnB4OyI+Rm9yIHByZXNzIGFuZAogICAgICAgICAgICAgIG1lZGlhIGVucXVpcmllcywgaW5jbHVkaW5nIGludGVydmlldyByZXF1ZXN0cywgYnlsaW5lcywgb3IgYnJhbmQgYXNzZXRzLCBwbGVhc2UgY29udGFjdCBvdXIgY29tbXVuaWNhdGlvbnMKICAgICAgICAgICAgICB0ZWFtLjwvcD4KICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTRweDtmb250LXdlaWdodDo2MDA7Y29sb3I6dmFyKC0tYXgpO3BhZGRpbmc6MDtiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOm5vbmU7Y3Vyc29yOnBvaW50ZXI7Zm9udC1mYW1pbHk6dmFyKC0tZmYpOyIKICAgICAgICAgICAgICBkYXRhLXBhZ2U9InA3IiBvbmNsaWNrPSJnb1BhZ2UoZXZlbnQpIj5WaWV3IG91ciBuZXdzcm9vbSDihpI8L2J1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KICAgIDwhLS0g4pWQ4pWQ4pWQIFA5OiBDT05UQUNUIOKVkOKVkOKVkCAtLT4KICAgIDxkaXYgY2xhc3M9InBnIiBzdHlsZT0iZGlzcGxheTpibG9jayI+CiAgICAgIDxzZWN0aW9uIGNsYXNzPSJiZC1oZXJvLXNoIiBzdHlsZT0icGFkZGluZzo4MHB4IDAgNDhweDsiPgogICAgICAgIDxkaXYgY2xhc3M9ImJkLWhleC1tb3RpZiI+PHN2ZyB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiB2aWV3Qm94PSIwIDAgMzgwIDgyNCIKICAgICAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7Ij4KICAgICAgICAgICAgPGcgb3BhY2l0eT0iMSI+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTMxMC4wIDM2LjAgTDMzMC44IDQ4LjAgTDMzMC44IDcyLjAgTDMxMC4wIDg0LjAgTDI4OS4yIDcyLjAgTDI4OS4yIDQ4LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgICA8cGF0aCBkPSJNMzEwLjAgMzYuMCBMMzEwLjAgNjAuMCBNMzMwLjggNzIuMCBMMzEwLjAgNjAuMCBNMjg5LjIgNzIuMCBMMzEwLjAgNjAuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjkiPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0zNTEuNiAzNi4wIEwzNzIuNCA0OC4wIEwzNzIuNCA3Mi4wIEwzNTEuNiA4NC4wIEwzMzAuOCA3Mi4wIEwzMzAuOCA0OC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTM1MS42IDM2LjAgTDM1MS42IDYwLjAgTTM3Mi40IDcyLjAgTDM1MS42IDYwLjAgTTMzMC44IDcyLjAgTDM1MS42IDYwLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcgb3BhY2l0eT0iMC43Ij4KICAgICAgICAgICAgICA8cGF0aCBkPSJNMzMwLjggNzIuMCBMMzUxLjYgODQuMCBMMzUxLjYgMTA4LjAgTDMzMC44IDEyMC4wIEwzMTAuMCAxMDguMCBMMzEwLjAgODQuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0zMzAuOCA3Mi4wIEwzMzAuOCA5Ni4wIE0zNTEuNiAxMDguMCBMMzMwLjggOTYuMCBNMzEwLjAgMTA4LjAgTDMzMC44IDk2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcgb3BhY2l0eT0iMC44Ij4KICAgICAgICAgICAgICA8cGF0aCBkPSJNMzcyLjQgNzIuMCBMMzkzLjEgODQuMCBMMzkzLjEgMTA4LjAgTDM3Mi40IDEyMC4wIEwzNTEuNiAxMDguMCBMMzUxLjYgODQuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0zNzIuNCA3Mi4wIEwzNzIuNCA5Ni4wIE0zOTMuMSAxMDguMCBMMzcyLjQgOTYuMCBNMzUxLjYgMTA4LjAgTDM3Mi40IDk2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcgb3BhY2l0eT0iMC41Ij4KICAgICAgICAgICAgICA8cGF0aCBkPSJNMjg5LjIgNzIuMCBMMzEwLjAgODQuMCBMMzEwLjAgMTA4LjAgTDI4OS4yIDEyMC4wIEwyNjguNCAxMDguMCBMMjY4LjQgODQuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yODkuMiA3Mi4wIEwyODkuMiA5Ni4wIE0zMTAuMCAxMDguMCBMMjg5LjIgOTYuMCBNMjY4LjQgMTA4LjAgTDI4OS4yIDk2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcgb3BhY2l0eT0iMC4zNSI+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTMxMC4wIDEwOC4wIEwzMzAuOCAxMjAuMCBMMzMwLjggMTQ0LjAgTDMxMC4wIDE1Ni4wIEwyODkuMiAxNDQuMCBMMjg5LjIgMTIwLjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgICA8cGF0aCBkPSJNMzEwLjAgMTA4LjAgTDMxMC4wIDEzMi4wIE0zMzAuOCAxNDQuMCBMMzEwLjAgMTMyLjAgTTI4OS4yIDE0NC4wIEwzMTAuMCAxMzIuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjQiPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0zNTEuNiAxMDguMCBMMzcyLjQgMTIwLjAgTDM3Mi40IDE0NC4wIEwzNTEuNiAxNTYuMCBMMzMwLjggMTQ0LjAgTDMzMC44IDEyMC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTM1MS42IDEwOC4wIEwzNTEuNiAxMzIuMCBNMzcyLjQgMTQ0LjAgTDM1MS42IDEzMi4wIE0zMzAuOCAxNDQuMCBMMzUxLjYgMTMyLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcgb3BhY2l0eT0iMC41NSI+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTQxMy45IDcyLjAgTDQzNC43IDg0LjAgTDQzNC43IDEwOC4wIEw0MTMuOSAxMjAuMCBMMzkzLjEgMTA4LjAgTDM5My4xIDg0LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgICA8cGF0aCBkPSJNNDEzLjkgNzIuMCBMNDEzLjkgOTYuMCBNNDM0LjcgMTA4LjAgTDQxMy45IDk2LjAgTTM5My4xIDEwOC4wIEw0MTMuOSA5Ni4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNTUiPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik04MC4wIDM0Ni4wIEwxMDAuOCAzNTguMCBMMTAwLjggMzgyLjAgTDgwLjAgMzk0LjAgTDU5LjIgMzgyLjAgTDU5LjIgMzU4LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgICA8cGF0aCBkPSJNODAuMCAzNDYuMCBMODAuMCAzNzAuMCBNMTAwLjggMzgyLjAgTDgwLjAgMzcwLjAgTTU5LjIgMzgyLjAgTDgwLjAgMzcwLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcgb3BhY2l0eT0iMC4zNSI+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTEyMS42IDM0Ni4wIEwxNDIuNCAzNTguMCBMMTQyLjQgMzgyLjAgTDEyMS42IDM5NC4wIEwxMDAuOCAzODIuMCBMMTAwLjggMzU4LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIxLjYgMzQ2LjAgTDEyMS42IDM3MC4wIE0xNDIuNCAzODIuMCBMMTIxLjYgMzcwLjAgTTEwMC44IDM4Mi4wIEwxMjEuNiAzNzAuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjQ1Ij4KICAgICAgICAgICAgICA8cGF0aCBkPSJNMTAwLjggMzgyLjAgTDEyMS42IDM5NC4wIEwxMjEuNiA0MTguMCBMMTAwLjggNDMwLjAgTDgwLjAgNDE4LjAgTDgwLjAgMzk0LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgICA8cGF0aCBkPSJNMTAwLjggMzgyLjAgTDEwMC44IDQwNi4wIE0xMjEuNiA0MTguMCBMMTAwLjggNDA2LjAgTTgwLjAgNDE4LjAgTDEwMC44IDQwNi4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDxnIG9wYWNpdHk9IjAuMzUiPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNDIuNCAzODIuMCBMMTYzLjEgMzk0LjAgTDE2My4xIDQxOC4wIEwxNDIuNCA0MzAuMCBMMTIxLjYgNDE4LjAgTDEyMS42IDM5NC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTE0Mi40IDM4Mi4wIEwxNDIuNCA0MDYuMCBNMTYzLjEgNDE4LjAgTDE0Mi40IDQwNi4wIE0xMjEuNiA0MTguMCBMMTQyLjQgNDA2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcgb3BhY2l0eT0iMC4yNSI+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTU5LjIgMzgyLjAgTDgwLjAgMzk0LjAgTDgwLjAgNDE4LjAgTDU5LjIgNDMwLjAgTDM4LjQgNDE4LjAgTDM4LjQgMzk0LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgICA8cGF0aCBkPSJNNTkuMiAzODIuMCBMNTkuMiA0MDYuMCBNODAuMCA0MTguMCBMNTkuMiA0MDYuMCBNMzguNCA0MTguMCBMNTkuMiA0MDYuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjMiPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNjMuMSAzNDYuMCBMMTgzLjkgMzU4LjAgTDE4My45IDM4Mi4wIEwxNjMuMSAzOTQuMCBMMTQyLjQgMzgyLjAgTDE0Mi40IDM1OC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTE2My4xIDM0Ni4wIEwxNjMuMSAzNzAuMCBNMTgzLjkgMzgyLjAgTDE2My4xIDM3MC4wIE0xNDIuNCAzODIuMCBMMTYzLjEgMzcwLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcgb3BhY2l0eT0iMC44NSI+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTgwLjAgNjI2LjAgTDEwMC44IDYzOC4wIEwxMDAuOCA2NjIuMCBMODAuMCA2NzQuMCBMNTkuMiA2NjIuMCBMNTkuMiA2MzguMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik04MC4wIDYyNi4wIEw4MC4wIDY1MC4wIE0xMDAuOCA2NjIuMCBMODAuMCA2NTAuMCBNNTkuMiA2NjIuMCBMODAuMCA2NTAuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjciPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMjEuNiA2MjYuMCBMMTQyLjQgNjM4LjAgTDE0Mi40IDY2Mi4wIEwxMjEuNiA2NzQuMCBMMTAwLjggNjYyLjAgTDEwMC44IDYzOC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTEyMS42IDYyNi4wIEwxMjEuNiA2NTAuMCBNMTQyLjQgNjYyLjAgTDEyMS42IDY1MC4wIE0xMDAuOCA2NjIuMCBMMTIxLjYgNjUwLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcgb3BhY2l0eT0iMC41NSI+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTEwMC44IDY2Mi4wIEwxMjEuNiA2NzQuMCBMMTIxLjYgNjk4LjAgTDEwMC44IDcxMC4wIEw4MC4wIDY5OC4wIEw4MC4wIDY3NC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTEwMC44IDY2Mi4wIEwxMDAuOCA2ODYuMCBNMTIxLjYgNjk4LjAgTDEwMC44IDY4Ni4wIE04MC4wIDY5OC4wIEwxMDAuOCA2ODYuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjY1Ij4KICAgICAgICAgICAgICA8cGF0aCBkPSJNMTQyLjQgNjYyLjAgTDE2My4xIDY3NC4wIEwxNjMuMSA2OTguMCBMMTQyLjQgNzEwLjAgTDEyMS42IDY5OC4wIEwxMjEuNiA2NzQuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNDIuNCA2NjIuMCBMMTQyLjQgNjg2LjAgTTE2My4xIDY5OC4wIEwxNDIuNCA2ODYuMCBNMTIxLjYgNjk4LjAgTDE0Mi40IDY4Ni4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNiI+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTE2My4xIDYyNi4wIEwxODMuOSA2MzguMCBMMTgzLjkgNjYyLjAgTDE2My4xIDY3NC4wIEwxNDIuNCA2NjIuMCBMMTQyLjQgNjM4LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgICA8cGF0aCBkPSJNMTYzLjEgNjI2LjAgTDE2My4xIDY1MC4wIE0xODMuOSA2NjIuMCBMMTYzLjEgNjUwLjAgTTE0Mi40IDY2Mi4wIEwxNjMuMSA2NTAuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjQiPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik01OS4yIDY2Mi4wIEw4MC4wIDY3NC4wIEw4MC4wIDY5OC4wIEw1OS4yIDcxMC4wIEwzOC40IDY5OC4wIEwzOC40IDY3NC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTU5LjIgNjYyLjAgTDU5LjIgNjg2LjAgTTgwLjAgNjk4LjAgTDU5LjIgNjg2LjAgTTM4LjQgNjk4LjAgTDU5LjIgNjg2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcgb3BhY2l0eT0iMC41Ij4KICAgICAgICAgICAgICA8cGF0aCBkPSJNODAuMCA2OTguMCBMMTAwLjggNzEwLjAgTDEwMC44IDczNC4wIEw4MC4wIDc0Ni4wIEw1OS4yIDczNC4wIEw1OS4yIDcxMC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTgwLjAgNjk4LjAgTDgwLjAgNzIyLjAgTTEwMC44IDczNC4wIEw4MC4wIDcyMi4wIE01OS4yIDczNC4wIEw4MC4wIDcyMi4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNCI+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTEyMS42IDY5OC4wIEwxNDIuNCA3MTAuMCBMMTQyLjQgNzM0LjAgTDEyMS42IDc0Ni4wIEwxMDAuOCA3MzQuMCBMMTAwLjggNzEwLjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIxLjYgNjk4LjAgTDEyMS42IDcyMi4wIE0xNDIuNCA3MzQuMCBMMTIxLjYgNzIyLjAgTTEwMC44IDczNC4wIEwxMjEuNiA3MjIuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjUiPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xODMuOSA2NjIuMCBMMjA0LjcgNjc0LjAgTDIwNC43IDY5OC4wIEwxODMuOSA3MTAuMCBMMTYzLjEgNjk4LjAgTDE2My4xIDY3NC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTE4My45IDY2Mi4wIEwxODMuOSA2ODYuMCBNMjA0LjcgNjk4LjAgTDE4My45IDY4Ni4wIE0xNjMuMSA2OTguMCBMMTgzLjkgNjg2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcgb3BhY2l0eT0iMC4zNSI+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTE2My4xIDY5OC4wIEwxODMuOSA3MTAuMCBMMTgzLjkgNzM0LjAgTDE2My4xIDc0Ni4wIEwxNDIuNCA3MzQuMCBMMTQyLjQgNzEwLjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgICA8cGF0aCBkPSJNMTYzLjEgNjk4LjAgTDE2My4xIDcyMi4wIE0xODMuOSA3MzQuMCBMMTYzLjEgNzIyLjAgTTE0Mi40IDczNC4wIEwxNjMuMSA3MjIuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8Y2lyY2xlIGN4PSIzMTAuMCIgY3k9IjM2LjAiIHI9IjIuNiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjEiIC8+CiAgICAgICAgICAgIDxjaXJjbGUgY3g9IjM1MS42IiBjeT0iMzYuMCIgcj0iMi42IiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC45IiAvPgogICAgICAgICAgICA8Y2lyY2xlIGN4PSIzNzIuNCIgY3k9IjcyLjAiIHI9IjIuNiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuOCIgLz4KICAgICAgICAgICAgPGNpcmNsZSBjeD0iNDEzLjkiIGN5PSI3Mi4wIiByPSIyLjYiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjU1IiAvPgogICAgICAgICAgICA8Y2lyY2xlIGN4PSI4MC4wIiBjeT0iMzQ2LjAiIHI9IjIuNiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuNTUiIC8+CiAgICAgICAgICAgIDxjaXJjbGUgY3g9IjE0Mi40IiBjeT0iMzgyLjAiIHI9IjIuNiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuMzUiIC8+CiAgICAgICAgICAgIDxjaXJjbGUgY3g9IjgwLjAiIGN5PSI2MjYuMCIgcj0iMi42IiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC44NSIgLz4KICAgICAgICAgICAgPGNpcmNsZSBjeD0iMTIxLjYiIGN5PSI2MjYuMCIgcj0iMi42IiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC43IiAvPgogICAgICAgICAgICA8Y2lyY2xlIGN4PSIxNDIuNCIgY3k9IjY2Mi4wIiByPSIyLjYiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjY1IiAvPgogICAgICAgICAgICA8Y2lyY2xlIGN4PSIxNjMuMSIgY3k9IjYyNi4wIiByPSIyLjYiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjYiIC8+CiAgICAgICAgICAgIDxjaXJjbGUgY3g9IjEyMS42IiBjeT0iNjk4LjAiIHI9IjIuNiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuNCIgLz4KICAgICAgICAgICAgPGNpcmNsZSBjeD0iMzMwLjgiIGN5PSI0OC4wIiByPSIyLjIiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjcwIiAvPgogICAgICAgICAgICA8Y2lyY2xlIGN4PSIzNzIuNCIgY3k9IjQ4LjAiIHI9IjIuMiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuNjMiIC8+CiAgICAgICAgICAgIDxjaXJjbGUgY3g9IjM5My4xIiBjeT0iODQuMCIgcj0iMi4yIiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC41NiIgLz4KICAgICAgICAgICAgPGNpcmNsZSBjeD0iNDM0LjciIGN5PSI4NC4wIiByPSIyLjIiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjM5IiAvPgogICAgICAgICAgICA8Y2lyY2xlIGN4PSIxMDAuOCIgY3k9IjM1OC4wIiByPSIyLjIiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjM5IiAvPgogICAgICAgICAgICA8Y2lyY2xlIGN4PSIxNjMuMSIgY3k9IjM5NC4wIiByPSIyLjIiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjI0IiAvPgogICAgICAgICAgPC9zdmc+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iYmQtaGVyby1nbCI+PC9kaXY+CiAgICAgICAgPGRpdiBzdHlsZT0ibWF4LXdpZHRoOjEyMDBweDttYXJnaW46MCBhdXRvO3BhZGRpbmc6MCA0OHB4O3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTsiPjxzcGFuCiAgICAgICAgICAgIGNsYXNzPSJleSBsdCI+Q09OVEFDVDwvc3Bhbj4KICAgICAgICAgIDxoMSBjbGFzcz0iaDEiIHN0eWxlPSJmb250LXNpemU6Y2xhbXAoMzZweCw0dncsNTZweCk7bWF4LXdpZHRoOjY4MHB4OyI+VGFsayB0byB0aGUgQmxhY2tEaWNlIDxlbT50ZWFtLjwvZW0+CiAgICAgICAgICA8L2gxPgogICAgICAgIDwvZGl2PgogICAgICA8L3NlY3Rpb24+CiAgICAgIDxzZWN0aW9uIGNsYXNzPSJiZC1zZWN0IHQiPgogICAgICAgIDxkaXYgY2xhc3M9ImJkLXNpIHR3by1jb2wiPgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPGgyIGNsYXNzPSJoMiIgc3R5bGU9Im1hcmdpbi1ib3R0b206MTZweDtmb250LXNpemU6MjhweDsiPlJlcXVlc3QgYSBkZW1vbnN0cmF0aW9uPC9oMj4KICAgICAgICAgICAgPHAgc3R5bGU9ImZvbnQtc2l6ZToxNnB4O2NvbG9yOnZhcigtLXQyKTtsaW5lLWhlaWdodDoxLjc1O21hcmdpbi1ib3R0b206MzJweDsiPldoZXRoZXIgeW91IGFyZSBhIHRlbGVjb21zCiAgICAgICAgICAgICAgb3BlcmF0b3IgZXZhbHVhdGluZyBjeWJlciBkZWZlbmNlIG9wdGlvbnMsIGEgZmluYW5jaWFsIGluc3RpdHV0aW9uIGxvb2tpbmcgdG8gY2xvc2UgdGhlIEFQUCBmcmF1ZAogICAgICAgICAgICAgIGludGVsbGlnZW5jZSBnYXAsIG9yIGEgaGFyZHdhcmUgdmVuZG9yIGV4cGxvcmluZyBlbWJlZGRlZCBzZWN1cml0eSDigJQgb3VyIHRlYW0gd2lsbCBzY29wZSB0aGUgcmlnaHQKICAgICAgICAgICAgICBzdGFydGluZyBwb2ludCBmb3IgeW91ciBpbmZyYXN0cnVjdHVyZSBhbmQgYnVzaW5lc3MgbW9kZWwuPC9wPgogICAgICAgICAgICA8ZGl2IHN0eWxlPSJib3JkZXItdG9wOjFweCBzb2xpZCB2YXIoLS1iZHIpO3BhZGRpbmctdG9wOjI4cHg7Ij4KICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjIwcHg7Ij4KICAgICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OnZhcigtLWZtKTtmb250LXNpemU6MTBweDtsZXR0ZXItc3BhY2luZzouMTRlbTtjb2xvcjp2YXIoLS10Myk7bWFyZ2luLWJvdHRvbTo2cHg7Ij4KICAgICAgICAgICAgICAgICAgRU1BSUw8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxNXB4O2NvbG9yOnZhcigtLWF4KTsiPmluZm9AYmxhY2tkaWNlLmFpPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToyMHB4OyI+CiAgICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTp2YXIoLS1mbSk7Zm9udC1zaXplOjEwcHg7bGV0dGVyLXNwYWNpbmc6LjE0ZW07Y29sb3I6dmFyKC0tdDMpO21hcmdpbi1ib3R0b206NnB4OyI+CiAgICAgICAgICAgICAgICAgIFBBVEVOVFM8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxNHB4O2NvbG9yOnZhcigtLXQyKTsiPkVQMzIzMTE1M0IxIMK3IEdCMjUzMzEwMSDCtyBBVTIwMTUzNTkxODI8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6dmFyKC0tZm0pO2ZvbnQtc2l6ZToxMHB4O2xldHRlci1zcGFjaW5nOi4xNGVtO2NvbG9yOnZhcigtLXQzKTttYXJnaW4tYm90dG9tOjZweDsiPgogICAgICAgICAgICAgICAgICBDT01QQU5ZPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTRweDtjb2xvcjp2YXIoLS10Mik7Ij5CbGFja0RpY2UgQ3liZXIgTHRkLiDCtyBSZWdpc3RlcmVkIGluIEVuZ2xhbmQgJmFtcDsgV2FsZXMKICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFjdC1jYXJkIj4KICAgICAgICAgICAgPGgzIHN0eWxlPSJmb250LXNpemU6MjBweDtmb250LXdlaWdodDo3MDA7Y29sb3I6dmFyKC0tdHh0KTttYXJnaW4tYm90dG9tOjIwcHg7Ij5HZXQgaW4gdG91Y2g8L2gzPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdycCI+PGxhYmVsIGNsYXNzPSJmb3JtLWxibCI+Rmlyc3QgbmFtZTwvbGFiZWw+PGlucHV0IGNsYXNzPSJmb3JtLWlucCIgaWQ9ImNmLWZuYW1lIgogICAgICAgICAgICAgICAgdHlwZT0idGV4dCIgcGxhY2Vob2xkZXI9IkphbmUiPjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdycCI+PGxhYmVsIGNsYXNzPSJmb3JtLWxibCI+TGFzdCBuYW1lPC9sYWJlbD48aW5wdXQgY2xhc3M9ImZvcm0taW5wIiBpZD0iY2YtbG5hbWUiCiAgICAgICAgICAgICAgICB0eXBlPSJ0ZXh0IiBwbGFjZWhvbGRlcj0iU21pdGgiPjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdycCI+PGxhYmVsIGNsYXNzPSJmb3JtLWxibCI+V29yayBlbWFpbDwvbGFiZWw+PGlucHV0IGNsYXNzPSJmb3JtLWlucCIgaWQ9ImNmLWVtYWlsIgogICAgICAgICAgICAgICAgdHlwZT0iZW1haWwiIHBsYWNlaG9sZGVyPSJqYW5lQGNvbXBhbnkuY29tIj48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncnAiPjxsYWJlbCBjbGFzcz0iZm9ybS1sYmwiPkNvbXBhbnk8L2xhYmVsPjxpbnB1dCBjbGFzcz0iZm9ybS1pbnAiIGlkPSJjZi1jb21wYW55IgogICAgICAgICAgICAgICAgdHlwZT0idGV4dCIgcGxhY2Vob2xkZXI9IllvdXIgb3JnYW5pc2F0aW9uIj48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncnAiPjxsYWJlbCBjbGFzcz0iZm9ybS1sYmwiPldoYXQgYXJlIHlvdSBleHBsb3Jpbmc/PC9sYWJlbD48dGV4dGFyZWEgY2xhc3M9ImZvcm0taW5wIgogICAgICAgICAgICAgICAgaWQ9ImNmLW1zZyIgcm93cz0iMyIKICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJCcmllZmx5IGRlc2NyaWJlIHlvdXIgbmV0d29yayBlbnZpcm9ubWVudCBhbmQgdGhlIGNoYWxsZW5nZSB5b3UncmUgbG9va2luZyB0byBhZGRyZXNzLi4uIgogICAgICAgICAgICAgICAgc3R5bGU9InJlc2l6ZTp2ZXJ0aWNhbDtoZWlnaHQ6ODBweDsiPjwvdGV4dGFyZWE+PC9kaXY+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0bi1wIiBzdHlsZT0id2lkdGg6MTAwJTsiIG9uY2xpY2s9InN1Ym1pdENvbnRhY3QoKSI+U2VuZCBlbnF1aXJ5PC9idXR0b24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9zZWN0aW9uPgoKICAgIDwvZGl2PgoKICAgIDwhLS0g4pWQ4pWQ4pWQIFAxMTogQ09PS0lFIFBPTElDWSDilZDilZDilZAgLS0+CiAgICA8ZGl2IGlkPSJwZy1wMTEiIGNsYXNzPSJwZyIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+CiAgICAgIDxzZWN0aW9uIGNsYXNzPSJiZC1oZXJvLXNoIiBzdHlsZT0icGFkZGluZzo4MHB4IDAgNDhweDsiPgogICAgICAgIDxkaXYgY2xhc3M9ImJkLWhleC1tb3RpZiI+PHN2ZyB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiB2aWV3Qm94PSIwIDAgMzgwIDgyNCIKICAgICAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7Ij4KICAgICAgICAgICAgPGcgb3BhY2l0eT0iMSI+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTMxMC4wIDM2LjAgTDMzMC44IDQ4LjAgTDMzMC44IDcyLjAgTDMxMC4wIDg0LjAgTDI4OS4yIDcyLjAgTDI4OS4yIDQ4LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgICA8cGF0aCBkPSJNMzEwLjAgMzYuMCBMMzEwLjAgNjAuMCBNMzMwLjggNzIuMCBMMzEwLjAgNjAuMCBNMjg5LjIgNzIuMCBMMzEwLjAgNjAuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjkiPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0zNTEuNiAzNi4wIEwzNzIuNCA0OC4wIEwzNzIuNCA3Mi4wIEwzNTEuNiA4NC4wIEwzMzAuOCA3Mi4wIEwzMzAuOCA0OC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTM1MS42IDM2LjAgTDM1MS42IDYwLjAgTTM3Mi40IDcyLjAgTDM1MS42IDYwLjAgTTMzMC44IDcyLjAgTDM1MS42IDYwLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcgb3BhY2l0eT0iMC43Ij4KICAgICAgICAgICAgICA8cGF0aCBkPSJNMzMwLjggNzIuMCBMMzUxLjYgODQuMCBMMzUxLjYgMTA4LjAgTDMzMC44IDEyMC4wIEwzMTAuMCAxMDguMCBMMzEwLjAgODQuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0zMzAuOCA3Mi4wIEwzMzAuOCA5Ni4wIE0zNTEuNiAxMDguMCBMMzMwLjggOTYuMCBNMzEwLjAgMTA4LjAgTDMzMC44IDk2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcgb3BhY2l0eT0iMC44Ij4KICAgICAgICAgICAgICA8cGF0aCBkPSJNMzcyLjQgNzIuMCBMMzkzLjEgODQuMCBMMzkzLjEgMTA4LjAgTDM3Mi40IDEyMC4wIEwzNTEuNiAxMDguMCBMMzUxLjYgODQuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0zNzIuNCA3Mi4wIEwzNzIuNCA5Ni4wIE0zOTMuMSAxMDguMCBMMzcyLjQgOTYuMCBNMzUxLjYgMTA4LjAgTDM3Mi40IDk2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcgb3BhY2l0eT0iMC41Ij4KICAgICAgICAgICAgICA8cGF0aCBkPSJNMjg5LjIgNzIuMCBMMzEwLjAgODQuMCBMMzEwLjAgMTA4LjAgTDI4OS4yIDEyMC4wIEwyNjguNCAxMDguMCBMMjY4LjQgODQuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yODkuMiA3Mi4wIEwyODkuMiA5Ni4wIE0zMTAuMCAxMDguMCBMMjg5LjIgOTYuMCBNMjY4LjQgMTA4LjAgTDI4OS4yIDk2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcgb3BhY2l0eT0iMC4zNSI+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTMxMC4wIDEwOC4wIEwzMzAuOCAxMjAuMCBMMzMwLjggMTQ0LjAgTDMxMC4wIDE1Ni4wIEwyODkuMiAxNDQuMCBMMjg5LjIgMTIwLjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgICA8cGF0aCBkPSJNMzEwLjAgMTA4LjAgTDMxMC4wIDEzMi4wIE0zMzAuOCAxNDQuMCBMMzEwLjAgMTMyLjAgTTI4OS4yIDE0NC4wIEwzMTAuMCAxMzIuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjQiPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0zNTEuNiAxMDguMCBMMzcyLjQgMTIwLjAgTDM3Mi40IDE0NC4wIEwzNTEuNiAxNTYuMCBMMzMwLjggMTQ0LjAgTDMzMC44IDEyMC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTM1MS42IDEwOC4wIEwzNTEuNiAxMzIuMCBNMzcyLjQgMTQ0LjAgTDM1MS42IDEzMi4wIE0zMzAuOCAxNDQuMCBMMzUxLjYgMTMyLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcgb3BhY2l0eT0iMC41NSI+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTQxMy45IDcyLjAgTDQzNC43IDg0LjAgTDQzNC43IDEwOC4wIEw0MTMuOSAxMjAuMCBMMzkzLjEgMTA4LjAgTDM5My4xIDg0LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgICA8cGF0aCBkPSJNNDEzLjkgNzIuMCBMNDEzLjkgOTYuMCBNNDM0LjcgMTA4LjAgTDQxMy45IDk2LjAgTTM5My4xIDEwOC4wIEw0MTMuOSA5Ni4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNTUiPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik04MC4wIDM0Ni4wIEwxMDAuOCAzNTguMCBMMTAwLjggMzgyLjAgTDgwLjAgMzk0LjAgTDU5LjIgMzgyLjAgTDU5LjIgMzU4LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgICA8cGF0aCBkPSJNODAuMCAzNDYuMCBMODAuMCAzNzAuMCBNMTAwLjggMzgyLjAgTDgwLjAgMzcwLjAgTTU5LjIgMzgyLjAgTDgwLjAgMzcwLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcgb3BhY2l0eT0iMC4zNSI+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTEyMS42IDM0Ni4wIEwxNDIuNCAzNTguMCBMMTQyLjQgMzgyLjAgTDEyMS42IDM5NC4wIEwxMDAuOCAzODIuMCBMMTAwLjggMzU4LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIxLjYgMzQ2LjAgTDEyMS42IDM3MC4wIE0xNDIuNCAzODIuMCBMMTIxLjYgMzcwLjAgTTEwMC44IDM4Mi4wIEwxMjEuNiAzNzAuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjQ1Ij4KICAgICAgICAgICAgICA8cGF0aCBkPSJNMTAwLjggMzgyLjAgTDEyMS42IDM5NC4wIEwxMjEuNiA0MTguMCBMMTAwLjggNDMwLjAgTDgwLjAgNDE4LjAgTDgwLjAgMzk0LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgICA8cGF0aCBkPSJNMTAwLjggMzgyLjAgTDEwMC44IDQwNi4wIE0xMjEuNiA0MTguMCBMMTAwLjggNDA2LjAgTTgwLjAgNDE4LjAgTDEwMC44IDQwNi4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDxnIG9wYWNpdHk9IjAuMzUiPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNDIuNCAzODIuMCBMMTYzLjEgMzk0LjAgTDE2My4xIDQxOC4wIEwxNDIuNCA0MzAuMCBMMTIxLjYgNDE4LjAgTDEyMS42IDM5NC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTE0Mi40IDM4Mi4wIEwxNDIuNCA0MDYuMCBNMTYzLjEgNDE4LjAgTDE0Mi40IDQwNi4wIE0xMjEuNiA0MTguMCBMMTQyLjQgNDA2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcgb3BhY2l0eT0iMC4yNSI+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTU5LjIgMzgyLjAgTDgwLjAgMzk0LjAgTDgwLjAgNDE4LjAgTDU5LjIgNDMwLjAgTDM4LjQgNDE4LjAgTDM4LjQgMzk0LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgICA8cGF0aCBkPSJNNTkuMiAzODIuMCBMNTkuMiA0MDYuMCBNODAuMCA0MTguMCBMNTkuMiA0MDYuMCBNMzguNCA0MTguMCBMNTkuMiA0MDYuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjMiPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNjMuMSAzNDYuMCBMMTgzLjkgMzU4LjAgTDE4My45IDM4Mi4wIEwxNjMuMSAzOTQuMCBMMTQyLjQgMzgyLjAgTDE0Mi40IDM1OC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTE2My4xIDM0Ni4wIEwxNjMuMSAzNzAuMCBNMTgzLjkgMzgyLjAgTDE2My4xIDM3MC4wIE0xNDIuNCAzODIuMCBMMTYzLjEgMzcwLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcgb3BhY2l0eT0iMC44NSI+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTgwLjAgNjI2LjAgTDEwMC44IDYzOC4wIEwxMDAuOCA2NjIuMCBMODAuMCA2NzQuMCBMNTkuMiA2NjIuMCBMNTkuMiA2MzguMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik04MC4wIDYyNi4wIEw4MC4wIDY1MC4wIE0xMDAuOCA2NjIuMCBMODAuMCA2NTAuMCBNNTkuMiA2NjIuMCBMODAuMCA2NTAuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjciPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMjEuNiA2MjYuMCBMMTQyLjQgNjM4LjAgTDE0Mi40IDY2Mi4wIEwxMjEuNiA2NzQuMCBMMTAwLjggNjYyLjAgTDEwMC44IDYzOC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTEyMS42IDYyNi4wIEwxMjEuNiA2NTAuMCBNMTQyLjQgNjYyLjAgTDEyMS42IDY1MC4wIE0xMDAuOCA2NjIuMCBMMTIxLjYgNjUwLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcgb3BhY2l0eT0iMC41NSI+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTEwMC44IDY2Mi4wIEwxMjEuNiA2NzQuMCBMMTIxLjYgNjk4LjAgTDEwMC44IDcxMC4wIEw4MC4wIDY5OC4wIEw4MC4wIDY3NC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTEwMC44IDY2Mi4wIEwxMDAuOCA2ODYuMCBNMTIxLjYgNjk4LjAgTDEwMC44IDY4Ni4wIE04MC4wIDY5OC4wIEwxMDAuOCA2ODYuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjY1Ij4KICAgICAgICAgICAgICA8cGF0aCBkPSJNMTQyLjQgNjYyLjAgTDE2My4xIDY3NC4wIEwxNjMuMSA2OTguMCBMMTQyLjQgNzEwLjAgTDEyMS42IDY5OC4wIEwxMjEuNiA2NzQuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNDIuNCA2NjIuMCBMMTQyLjQgNjg2LjAgTTE2My4xIDY5OC4wIEwxNDIuNCA2ODYuMCBNMTIxLjYgNjk4LjAgTDE0Mi40IDY4Ni4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNiI+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTE2My4xIDYyNi4wIEwxODMuOSA2MzguMCBMMTgzLjkgNjYyLjAgTDE2My4xIDY3NC4wIEwxNDIuNCA2NjIuMCBMMTQyLjQgNjM4LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgICA8cGF0aCBkPSJNMTYzLjEgNjI2LjAgTDE2My4xIDY1MC4wIE0xODMuOSA2NjIuMCBMMTYzLjEgNjUwLjAgTTE0Mi40IDY2Mi4wIEwxNjMuMSA2NTAuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjQiPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik01OS4yIDY2Mi4wIEw4MC4wIDY3NC4wIEw4MC4wIDY5OC4wIEw1OS4yIDcxMC4wIEwzOC40IDY5OC4wIEwzOC40IDY3NC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTU5LjIgNjYyLjAgTDU5LjIgNjg2LjAgTTgwLjAgNjk4LjAgTDU5LjIgNjg2LjAgTTM4LjQgNjk4LjAgTDU5LjIgNjg2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcgb3BhY2l0eT0iMC41Ij4KICAgICAgICAgICAgICA8cGF0aCBkPSJNODAuMCA2OTguMCBMMTAwLjggNzEwLjAgTDEwMC44IDczNC4wIEw4MC4wIDc0Ni4wIEw1OS4yIDczNC4wIEw1OS4yIDcxMC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTgwLjAgNjk4LjAgTDgwLjAgNzIyLjAgTTEwMC44IDczNC4wIEw4MC4wIDcyMi4wIE01OS4yIDczNC4wIEw4MC4wIDcyMi4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNCI+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTEyMS42IDY5OC4wIEwxNDIuNCA3MTAuMCBMMTQyLjQgNzM0LjAgTDEyMS42IDc0Ni4wIEwxMDAuOCA3MzQuMCBMMTAwLjggNzEwLjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIxLjYgNjk4LjAgTDEyMS42IDcyMi4wIE0xNDIuNCA3MzQuMCBMMTIxLjYgNzIyLjAgTTEwMC44IDczNC4wIEwxMjEuNiA3MjIuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjUiPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xODMuOSA2NjIuMCBMMjA0LjcgNjc0LjAgTDIwNC43IDY5OC4wIEwxODMuOSA3MTAuMCBMMTYzLjEgNjk4LjAgTDE2My4xIDY3NC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTE4My45IDY2Mi4wIEwxODMuOSA2ODYuMCBNMjA0LjcgNjk4LjAgTDE4My45IDY4Ni4wIE0xNjMuMSA2OTguMCBMMTgzLjkgNjg2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcgb3BhY2l0eT0iMC4zNSI+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTE2My4xIDY5OC4wIEwxODMuOSA3MTAuMCBMMTgzLjkgNzM0LjAgTDE2My4xIDc0Ni4wIEwxNDIuNCA3MzQuMCBMMTQyLjQgNzEwLjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgICA8cGF0aCBkPSJNMTYzLjEgNjk4LjAgTDE2My4xIDcyMi4wIE0xODMuOSA3MzQuMCBMMTYzLjEgNzIyLjAgTTE0Mi40IDczNC4wIEwxNjMuMSA3MjIuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8Y2lyY2xlIGN4PSIzMTAuMCIgY3k9IjM2LjAiIHI9IjIuNiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjEiIC8+CiAgICAgICAgICAgIDxjaXJjbGUgY3g9IjM1MS42IiBjeT0iMzYuMCIgcj0iMi42IiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC45IiAvPgogICAgICAgICAgICA8Y2lyY2xlIGN4PSIzNzIuNCIgY3k9IjcyLjAiIHI9IjIuNiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuOCIgLz4KICAgICAgICAgICAgPGNpcmNsZSBjeD0iNDEzLjkiIGN5PSI3Mi4wIiByPSIyLjYiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjU1IiAvPgogICAgICAgICAgICA8Y2lyY2xlIGN4PSI4MC4wIiBjeT0iMzQ2LjAiIHI9IjIuNiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuNTUiIC8+CiAgICAgICAgICAgIDxjaXJjbGUgY3g9IjE0Mi40IiBjeT0iMzgyLjAiIHI9IjIuNiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuMzUiIC8+CiAgICAgICAgICAgIDxjaXJjbGUgY3g9IjgwLjAiIGN5PSI2MjYuMCIgcj0iMi42IiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC44NSIgLz4KICAgICAgICAgICAgPGNpcmNsZSBjeD0iMTIxLjYiIGN5PSI2MjYuMCIgcj0iMi42IiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC43IiAvPgogICAgICAgICAgICA8Y2lyY2xlIGN4PSIxNDIuNCIgY3k9IjY2Mi4wIiByPSIyLjYiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjY1IiAvPgogICAgICAgICAgICA8Y2lyY2xlIGN4PSIxNjMuMSIgY3k9IjYyNi4wIiByPSIyLjYiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjYiIC8+CiAgICAgICAgICAgIDxjaXJjbGUgY3g9IjEyMS42IiBjeT0iNjk4LjAiIHI9IjIuNiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuNCIgLz4KICAgICAgICAgICAgPGNpcmNsZSBjeD0iMzMwLjgiIGN5PSI0OC4wIiByPSIyLjIiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjcwIiAvPgogICAgICAgICAgICA8Y2lyY2xlIGN4PSIzNzIuNCIgY3k9IjQ4LjAiIHI9IjIuMiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuNjMiIC8+CiAgICAgICAgICAgIDxjaXJjbGUgY3g9IjM5My4xIiBjeT0iODQuMCIgcj0iMi4yIiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC41NiIgLz4KICAgICAgICAgICAgPGNpcmNsZSBjeD0iNDM0LjciIGN5PSI4NC4wIiByPSIyLjIiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjM5IiAvPgogICAgICAgICAgICA8Y2lyY2xlIGN4PSIxMDAuOCIgY3k9IjM1OC4wIiByPSIyLjIiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjM5IiAvPgogICAgICAgICAgICA8Y2lyY2xlIGN4PSIxNjMuMSIgY3k9IjM5NC4wIiByPSIyLjIiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjI0IiAvPgogICAgICAgICAgPC9zdmc+PC9kaXY+CiAgICAgICAgPGRpdiBzdHlsZT0ibWF4LXdpZHRoOjEyMDBweDttYXJnaW46MCBhdXRvO3BhZGRpbmc6MCA0OHB4O3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTsiPjxzcGFuCiAgICAgICAgICAgIGNsYXNzPSJleSBsdCI+TEVHQUw8L3NwYW4+CiAgICAgICAgICA8aDEgY2xhc3M9ImgxIiBzdHlsZT0iZm9udC1zaXplOmNsYW1wKDM2cHgsNHZ3LDU2cHgpOyI+Q29va2llIFBvbGljeTwvaDE+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvc2VjdGlvbj4KICAgICAgPHNlY3Rpb24gY2xhc3M9ImJkLXNlY3QgdCIgc3R5bGU9ImJhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMDEyKTsiPgogICAgICAgIDxkaXYgY2xhc3M9ImJkLXNpIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InBvbGljeS1ib2R5IiBzdHlsZT0ibWF4LXdpZHRoOjc2MHB4OyI+CiAgICAgICAgICAgIDxoMj5Db29raWUgUG9saWN5PC9oMj4KICAgICAgICAgICAgPHA+T3VyIHdlYnNpdGUgdXNlcyBjb29raWVzLiBCeSB1c2luZyBvdXIgd2Vic2l0ZSBhbmQgYWdyZWVpbmcgdG8gdGhpcyBwb2xpY3ksIHlvdSBjb25zZW50IHRvIG91ciB1c2Ugb2YKICAgICAgICAgICAgICBjb29raWVzIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgdGVybXMgb2YgdGhpcyBwb2xpY3kuPC9wPgogICAgICAgICAgICA8aDM+QWJvdXQgY29va2llczwvaDM+CiAgICAgICAgICAgIDxwPkNvb2tpZXMgYXJlIGEga2luZCBvZiBzaG9ydC10ZXJtIG1lbW9yeSBmb3IgdGhlIHdlYi4gVGhleSBhcmUgc3RvcmVkIGluIHlvdXIgYnJvd3NlciBhbmQgZW5hYmxlIGEgc2l0ZSB0bwogICAgICAgICAgICAgIHJlbWVtYmVyIGxpdHRsZSBiaXRzIG9mIGluZm9ybWF0aW9uIGJldHdlZW4gcGFnZXMgb3IgdmlzaXRzLiBDb29raWVzIG1heSBiZSBlaXRoZXIgInBlcnNpc3RlbnQiIGNvb2tpZXMgb3IKICAgICAgICAgICAgICAic2Vzc2lvbiIgY29va2llcy48L3A+CiAgICAgICAgICAgIDxoMz5Ib3cgd2UgdXNlIGNvb2tpZXM8L2gzPgogICAgICAgICAgICA8cD5XZSB1c2UgYm90aCBzZXNzaW9uIGNvb2tpZXMgYW5kIHBlcnNpc3RlbnQgY29va2llcyBvbiBvdXIgd2Vic2l0ZS4gQ29va2llcyBkbyBub3QgY29udGFpbiBhbnkgaW5mb3JtYXRpb24KICAgICAgICAgICAgICB0aGF0IHBlcnNvbmFsbHkgaWRlbnRpZmllcyB5b3UsIGJ1dCBwZXJzb25hbCBpbmZvcm1hdGlvbiB0aGF0IHdlIHN0b3JlIGFib3V0IHlvdSBtYXkgYmUgbGlua2VkIHRvIHRoZQogICAgICAgICAgICAgIGluZm9ybWF0aW9uIHN0b3JlZCBpbiBhbmQgb2J0YWluZWQgZnJvbSBjb29raWVzLjwvcD4KICAgICAgICAgICAgPHA+VGhlIGNvb2tpZXMgdXNlZCBvbiB0aGlzIHdlYnNpdGUgaW5jbHVkZSB0aG9zZSB3aGljaCBhcmUgc3RyaWN0bHkgbmVjZXNzYXJ5IGZvciBhY2Nlc3MgYW5kIG5hdmlnYXRpb24sCiAgICAgICAgICAgICAgY29va2llcyB0aGF0IHRyYWNrIHVzYWdlIChwZXJmb3JtYW5jZSBjb29raWVzKSBhbmQgcmVtZW1iZXIgeW91ciBjaG9pY2VzIChmdW5jdGlvbmFsaXR5IGNvb2tpZXMpLjwvcD4KICAgICAgICAgICAgPGgzPkJsb2NraW5nIGNvb2tpZXM8L2gzPgogICAgICAgICAgICA8cD5Nb3N0IGJyb3dzZXJzIGFsbG93IHlvdSB0byByZWZ1c2UgdG8gYWNjZXB0IGNvb2tpZXMuIEJsb2NraW5nIGFsbCBjb29raWVzIHdpbGwgaGF2ZSBhIG5lZ2F0aXZlIGltcGFjdAogICAgICAgICAgICAgIHVwb24gdGhlIHVzYWJpbGl0eSBvZiBtYW55IHdlYnNpdGVzLjwvcD4KICAgICAgICAgICAgPGgzPkNvbnRhY3Q8L2gzPgogICAgICAgICAgICA8cD5JZiB5b3UgaGF2ZSBhbnkgcXVlc3Rpb25zIHJlZ2FyZGluZyBob3cgd2UgdXNlIGNvb2tpZXMsIHBsZWFzZSBjb250YWN0IHVzIGF0IDxzcGFuCiAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6dmFyKC0tYXgpOyI+aW5mb0BibGFja2RpY2UuYWk8L3NwYW4+PC9wPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvc2VjdGlvbj4KICAgICAgPGZvb3RlciBjbGFzcz0iYmQtZm9vdGVyIj48c3ZnIHZpZXdCb3g9IjAgMCA2NCA2NCIgd2lkdGg9IjIyIiBoZWlnaHQ9IjIyIiBmaWxsPSJub25lIiBzdHJva2U9InZhcigtLWF4KSIKICAgICAgICAgIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHlsZT0iZGlzcGxheTpibG9jaztvcGFjaXR5Oi43NTsiPgogICAgICAgICAgPHBhdGggZD0iTTMyIDYgTDU2IDIwIEw1NiA0NiBMMzIgNjAgTDggNDYgTDggMjAgWiI+PC9wYXRoPgogICAgICAgICAgPHBhdGggZD0iTTMyIDYgTDMyIDMyIE04IDIwIEwzMiAzMiBNNTYgMjAgTDMyIDMyIj48L3BhdGg+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIyMCIgY3k9IjI2IiByPSIyLjQiIGZpbGw9InZhcigtLWF4KSIgc3Ryb2tlPSJub25lIj48L2NpcmNsZT4KICAgICAgICAgIDxjaXJjbGUgY3g9IjIwIiBjeT0iMzQiIHI9IjIuNCIgZmlsbD0idmFyKC0tYXgpIiBzdHJva2U9Im5vbmUiPjwvY2lyY2xlPgogICAgICAgICAgPGNpcmNsZSBjeD0iNDQiIGN5PSIzNCIgcj0iMi40IiBmaWxsPSJ2YXIoLS1heCkiIHN0cm9rZT0ibm9uZSI+PC9jaXJjbGU+CiAgICAgICAgPC9zdmc+PHNwYW4KICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTonVWJ1bnR1JyxzeXN0ZW0tdWksc2Fucy1zZXJpZjtmb250LXdlaWdodDo3MDA7Zm9udC1zaXplOjE0cHg7bGV0dGVyLXNwYWNpbmc6LS4ycHg7Y29sb3I6cmdiYSgyMzIsMjQ0LDI0MywuNTUpIj5CbGFja0RpY2U8L3NwYW4+CiAgICAgICAgPGRpdiBjbGFzcz0iZnRyLWxpbmtzIj48YnV0dG9uIGNsYXNzPSJmdHItbGluayIgZGF0YS1wYWdlPSJwMTEiIG9uY2xpY2s9ImdvUGFnZShldmVudCkiPkNvb2tpZQogICAgICAgICAgICBwb2xpY3k8L2J1dHRvbj48YnV0dG9uIGNsYXNzPSJmdHItbGluayIgZGF0YS1wYWdlPSJwMTIiIG9uY2xpY2s9ImdvUGFnZShldmVudCkiPlByaXZhY3kgcG9saWN5PC9idXR0b24+CiAgICAgICAgPC9kaXY+PHNwYW4gY2xhc3M9ImZ0ci1jb3B5Ij7CqSAyMDI2IEJMQUNLRElDRSBDWUJFUiBMVEQuPC9zcGFuPgogICAgICA8L2Zvb3Rlcj4KICAgIDwvZGl2PgoKICAgIDwhLS0g4pWQ4pWQ4pWQIFAxMjogUFJJVkFDWSBQT0xJQ1kg4pWQ4pWQ4pWQIC0tPgogICAgPGRpdiBpZD0icGctcDEyIiBjbGFzcz0icGciIHN0eWxlPSJkaXNwbGF5Om5vbmUiPgogICAgICA8c2VjdGlvbiBjbGFzcz0iYmQtaGVyby1zaCIgc3R5bGU9InBhZGRpbmc6ODBweCAwIDQ4cHg7Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJiZC1oZXgtbW90aWYiPjxzdmcgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDM4MCA4MjQiCiAgICAgICAgICAgIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIHNsaWNlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowOyI+CiAgICAgICAgICAgIDxnIG9wYWNpdHk9IjEiPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0zMTAuMCAzNi4wIEwzMzAuOCA0OC4wIEwzMzAuOCA3Mi4wIEwzMTAuMCA4NC4wIEwyODkuMiA3Mi4wIEwyODkuMiA0OC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTMxMC4wIDM2LjAgTDMxMC4wIDYwLjAgTTMzMC44IDcyLjAgTDMxMC4wIDYwLjAgTTI4OS4yIDcyLjAgTDMxMC4wIDYwLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcgb3BhY2l0eT0iMC45Ij4KICAgICAgICAgICAgICA8cGF0aCBkPSJNMzUxLjYgMzYuMCBMMzcyLjQgNDguMCBMMzcyLjQgNzIuMCBMMzUxLjYgODQuMCBMMzMwLjggNzIuMCBMMzMwLjggNDguMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0zNTEuNiAzNi4wIEwzNTEuNiA2MC4wIE0zNzIuNCA3Mi4wIEwzNTEuNiA2MC4wIE0zMzAuOCA3Mi4wIEwzNTEuNiA2MC4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNyI+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTMzMC44IDcyLjAgTDM1MS42IDg0LjAgTDM1MS42IDEwOC4wIEwzMzAuOCAxMjAuMCBMMzEwLjAgMTA4LjAgTDMxMC4wIDg0LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgICA8cGF0aCBkPSJNMzMwLjggNzIuMCBMMzMwLjggOTYuMCBNMzUxLjYgMTA4LjAgTDMzMC44IDk2LjAgTTMxMC4wIDEwOC4wIEwzMzAuOCA5Ni4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDxnIG9wYWNpdHk9IjAuOCI+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTM3Mi40IDcyLjAgTDM5My4xIDg0LjAgTDM5My4xIDEwOC4wIEwzNzIuNCAxMjAuMCBMMzUxLjYgMTA4LjAgTDM1MS42IDg0LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgICA8cGF0aCBkPSJNMzcyLjQgNzIuMCBMMzcyLjQgOTYuMCBNMzkzLjEgMTA4LjAgTDM3Mi40IDk2LjAgTTM1MS42IDEwOC4wIEwzNzIuNCA5Ni4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNSI+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTI4OS4yIDcyLjAgTDMxMC4wIDg0LjAgTDMxMC4wIDEwOC4wIEwyODkuMiAxMjAuMCBMMjY4LjQgMTA4LjAgTDI2OC40IDg0LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgICA8cGF0aCBkPSJNMjg5LjIgNzIuMCBMMjg5LjIgOTYuMCBNMzEwLjAgMTA4LjAgTDI4OS4yIDk2LjAgTTI2OC40IDEwOC4wIEwyODkuMiA5Ni4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDxnIG9wYWNpdHk9IjAuMzUiPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0zMTAuMCAxMDguMCBMMzMwLjggMTIwLjAgTDMzMC44IDE0NC4wIEwzMTAuMCAxNTYuMCBMMjg5LjIgMTQ0LjAgTDI4OS4yIDEyMC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTMxMC4wIDEwOC4wIEwzMTAuMCAxMzIuMCBNMzMwLjggMTQ0LjAgTDMxMC4wIDEzMi4wIE0yODkuMiAxNDQuMCBMMzEwLjAgMTMyLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcgb3BhY2l0eT0iMC40Ij4KICAgICAgICAgICAgICA8cGF0aCBkPSJNMzUxLjYgMTA4LjAgTDM3Mi40IDEyMC4wIEwzNzIuNCAxNDQuMCBMMzUxLjYgMTU2LjAgTDMzMC44IDE0NC4wIEwzMzAuOCAxMjAuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0zNTEuNiAxMDguMCBMMzUxLjYgMTMyLjAgTTM3Mi40IDE0NC4wIEwzNTEuNiAxMzIuMCBNMzMwLjggMTQ0LjAgTDM1MS42IDEzMi4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNTUiPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik00MTMuOSA3Mi4wIEw0MzQuNyA4NC4wIEw0MzQuNyAxMDguMCBMNDEzLjkgMTIwLjAgTDM5My4xIDEwOC4wIEwzOTMuMSA4NC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTQxMy45IDcyLjAgTDQxMy45IDk2LjAgTTQzNC43IDEwOC4wIEw0MTMuOSA5Ni4wIE0zOTMuMSAxMDguMCBMNDEzLjkgOTYuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjU1Ij4KICAgICAgICAgICAgICA8cGF0aCBkPSJNODAuMCAzNDYuMCBMMTAwLjggMzU4LjAgTDEwMC44IDM4Mi4wIEw4MC4wIDM5NC4wIEw1OS4yIDM4Mi4wIEw1OS4yIDM1OC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTgwLjAgMzQ2LjAgTDgwLjAgMzcwLjAgTTEwMC44IDM4Mi4wIEw4MC4wIDM3MC4wIE01OS4yIDM4Mi4wIEw4MC4wIDM3MC4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDxnIG9wYWNpdHk9IjAuMzUiPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMjEuNiAzNDYuMCBMMTQyLjQgMzU4LjAgTDE0Mi40IDM4Mi4wIEwxMjEuNiAzOTQuMCBMMTAwLjggMzgyLjAgTDEwMC44IDM1OC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTEyMS42IDM0Ni4wIEwxMjEuNiAzNzAuMCBNMTQyLjQgMzgyLjAgTDEyMS42IDM3MC4wIE0xMDAuOCAzODIuMCBMMTIxLjYgMzcwLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcgb3BhY2l0eT0iMC40NSI+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTEwMC44IDM4Mi4wIEwxMjEuNiAzOTQuMCBMMTIxLjYgNDE4LjAgTDEwMC44IDQzMC4wIEw4MC4wIDQxOC4wIEw4MC4wIDM5NC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTEwMC44IDM4Mi4wIEwxMDAuOCA0MDYuMCBNMTIxLjYgNDE4LjAgTDEwMC44IDQwNi4wIE04MC4wIDQxOC4wIEwxMDAuOCA0MDYuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjM1Ij4KICAgICAgICAgICAgICA8cGF0aCBkPSJNMTQyLjQgMzgyLjAgTDE2My4xIDM5NC4wIEwxNjMuMSA0MTguMCBMMTQyLjQgNDMwLjAgTDEyMS42IDQxOC4wIEwxMjEuNiAzOTQuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNDIuNCAzODIuMCBMMTQyLjQgNDA2LjAgTTE2My4xIDQxOC4wIEwxNDIuNCA0MDYuMCBNMTIxLjYgNDE4LjAgTDE0Mi40IDQwNi4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDxnIG9wYWNpdHk9IjAuMjUiPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik01OS4yIDM4Mi4wIEw4MC4wIDM5NC4wIEw4MC4wIDQxOC4wIEw1OS4yIDQzMC4wIEwzOC40IDQxOC4wIEwzOC40IDM5NC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTU5LjIgMzgyLjAgTDU5LjIgNDA2LjAgTTgwLjAgNDE4LjAgTDU5LjIgNDA2LjAgTTM4LjQgNDE4LjAgTDU5LjIgNDA2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcgb3BhY2l0eT0iMC4zIj4KICAgICAgICAgICAgICA8cGF0aCBkPSJNMTYzLjEgMzQ2LjAgTDE4My45IDM1OC4wIEwxODMuOSAzODIuMCBMMTYzLjEgMzk0LjAgTDE0Mi40IDM4Mi4wIEwxNDIuNCAzNTguMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNjMuMSAzNDYuMCBMMTYzLjEgMzcwLjAgTTE4My45IDM4Mi4wIEwxNjMuMSAzNzAuMCBNMTQyLjQgMzgyLjAgTDE2My4xIDM3MC4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDxnIG9wYWNpdHk9IjAuODUiPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik04MC4wIDYyNi4wIEwxMDAuOCA2MzguMCBMMTAwLjggNjYyLjAgTDgwLjAgNjc0LjAgTDU5LjIgNjYyLjAgTDU5LjIgNjM4LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgICA8cGF0aCBkPSJNODAuMCA2MjYuMCBMODAuMCA2NTAuMCBNMTAwLjggNjYyLjAgTDgwLjAgNjUwLjAgTTU5LjIgNjYyLjAgTDgwLjAgNjUwLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcgb3BhY2l0eT0iMC43Ij4KICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIxLjYgNjI2LjAgTDE0Mi40IDYzOC4wIEwxNDIuNCA2NjIuMCBMMTIxLjYgNjc0LjAgTDEwMC44IDY2Mi4wIEwxMDAuOCA2MzguMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMjEuNiA2MjYuMCBMMTIxLjYgNjUwLjAgTTE0Mi40IDY2Mi4wIEwxMjEuNiA2NTAuMCBNMTAwLjggNjYyLjAgTDEyMS42IDY1MC4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNTUiPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMDAuOCA2NjIuMCBMMTIxLjYgNjc0LjAgTDEyMS42IDY5OC4wIEwxMDAuOCA3MTAuMCBMODAuMCA2OTguMCBMODAuMCA2NzQuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMDAuOCA2NjIuMCBMMTAwLjggNjg2LjAgTTEyMS42IDY5OC4wIEwxMDAuOCA2ODYuMCBNODAuMCA2OTguMCBMMTAwLjggNjg2LjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcgb3BhY2l0eT0iMC42NSI+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTE0Mi40IDY2Mi4wIEwxNjMuMSA2NzQuMCBMMTYzLjEgNjk4LjAgTDE0Mi40IDcxMC4wIEwxMjEuNiA2OTguMCBMMTIxLjYgNjc0LjAgWiIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgICA8cGF0aCBkPSJNMTQyLjQgNjYyLjAgTDE0Mi40IDY4Ni4wIE0xNjMuMSA2OTguMCBMMTQyLjQgNjg2LjAgTTEyMS42IDY5OC4wIEwxNDIuNCA2ODYuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjYiPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNjMuMSA2MjYuMCBMMTgzLjkgNjM4LjAgTDE4My45IDY2Mi4wIEwxNjMuMSA2NzQuMCBMMTQyLjQgNjYyLjAgTDE0Mi40IDYzOC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTE2My4xIDYyNi4wIEwxNjMuMSA2NTAuMCBNMTgzLjkgNjYyLjAgTDE2My4xIDY1MC4wIE0xNDIuNCA2NjIuMCBMMTYzLjEgNjUwLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcgb3BhY2l0eT0iMC40Ij4KICAgICAgICAgICAgICA8cGF0aCBkPSJNNTkuMiA2NjIuMCBMODAuMCA2NzQuMCBMODAuMCA2OTguMCBMNTkuMiA3MTAuMCBMMzguNCA2OTguMCBMMzguNCA2NzQuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik01OS4yIDY2Mi4wIEw1OS4yIDY4Ni4wIE04MC4wIDY5OC4wIEw1OS4yIDY4Ni4wIE0zOC40IDY5OC4wIEw1OS4yIDY4Ni4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDxnIG9wYWNpdHk9IjAuNSI+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTgwLjAgNjk4LjAgTDEwMC44IDcxMC4wIEwxMDAuOCA3MzQuMCBMODAuMCA3NDYuMCBMNTkuMiA3MzQuMCBMNTkuMiA3MTAuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik04MC4wIDY5OC4wIEw4MC4wIDcyMi4wIE0xMDAuOCA3MzQuMCBMODAuMCA3MjIuMCBNNTkuMiA3MzQuMCBMODAuMCA3MjIuMCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICAgIHN0cm9rZT0idmFyKC0taGV4LXN0cm9rZSkiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgLz4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjQiPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMjEuNiA2OTguMCBMMTQyLjQgNzEwLjAgTDE0Mi40IDczNC4wIEwxMjEuNiA3NDYuMCBMMTAwLjggNzM0LjAgTDEwMC44IDcxMC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTEyMS42IDY5OC4wIEwxMjEuNiA3MjIuMCBNMTQyLjQgNzM0LjAgTDEyMS42IDcyMi4wIE0xMDAuOCA3MzQuMCBMMTIxLjYgNzIyLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcgb3BhY2l0eT0iMC41Ij4KICAgICAgICAgICAgICA8cGF0aCBkPSJNMTgzLjkgNjYyLjAgTDIwNC43IDY3NC4wIEwyMDQuNyA2OTguMCBMMTgzLjkgNzEwLjAgTDE2My4xIDY5OC4wIEwxNjMuMSA2NzQuMCBaIiBmaWxsPSJub25lIgogICAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xODMuOSA2NjIuMCBMMTgzLjkgNjg2LjAgTTIwNC43IDY5OC4wIEwxODMuOSA2ODYuMCBNMTYzLjEgNjk4LjAgTDE4My45IDY4Ni4wIiBmaWxsPSJub25lIgogICAgICAgICAgICAgICAgc3Ryb2tlPSJ2YXIoLS1oZXgtc3Ryb2tlKSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDxnIG9wYWNpdHk9IjAuMzUiPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNjMuMSA2OTguMCBMMTgzLjkgNzEwLjAgTDE4My45IDczNC4wIEwxNjMuMSA3NDYuMCBMMTQyLjQgNzM0LjAgTDE0Mi40IDcxMC4wIFoiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTE2My4xIDY5OC4wIEwxNjMuMSA3MjIuMCBNMTgzLjkgNzM0LjAgTDE2My4xIDcyMi4wIE0xNDIuNCA3MzQuMCBMMTYzLjEgNzIyLjAiIGZpbGw9Im5vbmUiCiAgICAgICAgICAgICAgICBzdHJva2U9InZhcigtLWhleC1zdHJva2UpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGNpcmNsZSBjeD0iMzEwLjAiIGN5PSIzNi4wIiByPSIyLjYiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIxIiAvPgogICAgICAgICAgICA8Y2lyY2xlIGN4PSIzNTEuNiIgY3k9IjM2LjAiIHI9IjIuNiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuOSIgLz4KICAgICAgICAgICAgPGNpcmNsZSBjeD0iMzcyLjQiIGN5PSI3Mi4wIiByPSIyLjYiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjgiIC8+CiAgICAgICAgICAgIDxjaXJjbGUgY3g9IjQxMy45IiBjeT0iNzIuMCIgcj0iMi42IiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC41NSIgLz4KICAgICAgICAgICAgPGNpcmNsZSBjeD0iODAuMCIgY3k9IjM0Ni4wIiByPSIyLjYiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjU1IiAvPgogICAgICAgICAgICA8Y2lyY2xlIGN4PSIxNDIuNCIgY3k9IjM4Mi4wIiByPSIyLjYiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjM1IiAvPgogICAgICAgICAgICA8Y2lyY2xlIGN4PSI4MC4wIiBjeT0iNjI2LjAiIHI9IjIuNiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuODUiIC8+CiAgICAgICAgICAgIDxjaXJjbGUgY3g9IjEyMS42IiBjeT0iNjI2LjAiIHI9IjIuNiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuNyIgLz4KICAgICAgICAgICAgPGNpcmNsZSBjeD0iMTQyLjQiIGN5PSI2NjIuMCIgcj0iMi42IiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC42NSIgLz4KICAgICAgICAgICAgPGNpcmNsZSBjeD0iMTYzLjEiIGN5PSI2MjYuMCIgcj0iMi42IiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC42IiAvPgogICAgICAgICAgICA8Y2lyY2xlIGN4PSIxMjEuNiIgY3k9IjY5OC4wIiByPSIyLjYiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjQiIC8+CiAgICAgICAgICAgIDxjaXJjbGUgY3g9IjMzMC44IiBjeT0iNDguMCIgcj0iMi4yIiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC43MCIgLz4KICAgICAgICAgICAgPGNpcmNsZSBjeD0iMzcyLjQiIGN5PSI0OC4wIiByPSIyLjIiIGZpbGw9InZhcigtLWhleC1kb3QpIiBvcGFjaXR5PSIwLjYzIiAvPgogICAgICAgICAgICA8Y2lyY2xlIGN4PSIzOTMuMSIgY3k9Ijg0LjAiIHI9IjIuMiIgZmlsbD0idmFyKC0taGV4LWRvdCkiIG9wYWNpdHk9IjAuNTYiIC8+CiAgICAgICAgICAgIDxjaXJjbGUgY3g9IjQzNC43IiBjeT0iODQuMCIgcj0iMi4yIiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC4zOSIgLz4KICAgICAgICAgICAgPGNpcmNsZSBjeD0iMTAwLjgiIGN5PSIzNTguMCIgcj0iMi4yIiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC4zOSIgLz4KICAgICAgICAgICAgPGNpcmNsZSBjeD0iMTYzLjEiIGN5PSIzOTQuMCIgcj0iMi4yIiBmaWxsPSJ2YXIoLS1oZXgtZG90KSIgb3BhY2l0eT0iMC4yNCIgLz4KICAgICAgICAgIDwvc3ZnPjwvZGl2PgogICAgICAgIDxkaXYgc3R5bGU9Im1heC13aWR0aDoxMjAwcHg7bWFyZ2luOjAgYXV0bztwYWRkaW5nOjAgNDhweDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjE7Ij48c3BhbgogICAgICAgICAgICBjbGFzcz0iZXkgbHQiPkxFR0FMPC9zcGFuPgogICAgICAgICAgPGgxIGNsYXNzPSJoMSIgc3R5bGU9ImZvbnQtc2l6ZTpjbGFtcCgzNnB4LDR2dyw1NnB4KTsiPlByaXZhY3kgUG9saWN5PC9oMT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9zZWN0aW9uPgogICAgICA8c2VjdGlvbiBjbGFzcz0iYmQtc2VjdCB0IiBzdHlsZT0iYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4wMTIpOyI+CiAgICAgICAgPGRpdiBjbGFzcz0iYmQtc2kiPgogICAgICAgICAgPGRpdiBjbGFzcz0icG9saWN5LWJvZHkiIHN0eWxlPSJtYXgtd2lkdGg6NzYwcHg7Ij4KICAgICAgICAgICAgPGgyPldoYXQgSW5mb3JtYXRpb24gV2UgQ29sbGVjdCBhbmQgSG93IFdlIFVzZSBJdDwvaDI+CiAgICAgICAgICAgIDxwPldlIHdpbGwgdXNlIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gdG8gcHJvdmlkZSB5b3Ugd2l0aCBzZXJ2aWNlcyBhbmQgc3VwcG9ydCwgbWFya2V0IG91ciBwcm9kdWN0cyBhbmQKICAgICAgICAgICAgICBzZXJ2aWNlcywgcmVzcG9uZCB0byB5b3VyIHJlcXVlc3RzLCBpbXByb3ZlIHRoZSBxdWFsaXR5IG9mIG91ciBzaXRlcyBhbmQgc2VydmljZXMsIGFuZCBjb21tdW5pY2F0ZSB3aXRoCiAgICAgICAgICAgICAgeW91LjwvcD4KICAgICAgICAgICAgPGgyPkluZm9ybWF0aW9uIFdlIENvbGxlY3Q8L2gyPgogICAgICAgICAgICA8cD5XZSBjb2xsZWN0IHRyYW5zYWN0aW9uYWwgaW5mb3JtYXRpb24gd2hlbiB5b3UgbWFrZSBlbnF1aXJpZXMgdGhyb3VnaCBvdXIgc2l0ZSwgbG9jYXRpb24gaW5mb3JtYXRpb24gaW4KICAgICAgICAgICAgICBzb21lIGNhc2VzLCBpbmZvcm1hdGlvbiBjb2xsZWN0ZWQgYnkgb3VyIHNlcnZlcnMgKGJyb3dzZXIgdHlwZSwgb3BlcmF0aW5nIHN5c3RlbSwgSVAgYWRkcmVzcyksIGxvZyBmaWxlcywKICAgICAgICAgICAgICBhbmQgY29va2llcyBhcyBkZXNjcmliZWQgaW4gb3VyIENvb2tpZSBQb2xpY3kuPC9wPgogICAgICAgICAgICA8aDI+SG93IFdlIERpc2Nsb3NlIEluZm9ybWF0aW9uPC9oMj4KICAgICAgICAgICAgPHA+V2UgZGlzY2xvc2UgcGVyc29uYWwgaW5mb3JtYXRpb24gdG8gdGhpcmQgcGFydHkgdmVuZG9ycyB3aG8gaGVscCB1cyBwcm92aWRlIG91ciBzZXJ2aWNlcywgdG8gYWZmaWxpYXRlcywKICAgICAgICAgICAgICBhbmQgaW4gY29ubmVjdGlvbiB3aXRoIGJ1c2luZXNzIHRyYW5zYWN0aW9ucyBvciBsZWdhbCBvYmxpZ2F0aW9ucyB3aGVyZSByZXF1aXJlZC48L3A+CiAgICAgICAgICAgIDxoMj5DaGlsZCBVc2FnZSBSZXN0cmljdGlvbnM8L2gyPgogICAgICAgICAgICA8cD5PdXIgc2VydmljZXMgYXJlIG5vdCBkaXJlY3RlZCB0byBjaGlsZHJlbiBhbmQgY2hpbGRyZW4gYXJlIG5vdCBlbGlnaWJsZSB0byB1c2Ugb3VyIHNlcnZpY2VzLiBXZSBkbyBub3QKICAgICAgICAgICAgICBrbm93aW5nbHkgY29sbGVjdCBwZXJzb25hbCBpbmZvcm1hdGlvbiBmcm9tIHBlb3BsZSB1bmRlciAxMyB5ZWFycyBvZiBhZ2UuPC9wPgogICAgICAgICAgICA8aDI+Q2hhbmdlcyB0byB0aGlzIFByaXZhY3kgUG9saWN5PC9oMj4KICAgICAgICAgICAgPHA+VGhpcyBQcml2YWN5IFBvbGljeSBpcyBzdWJqZWN0IHRvIHJldmlzaW9uIGZyb20gdGltZSB0byB0aW1lLiBXZSB3aWxsIHBvc3QgYW55IHJldmlzZWQgdmVyc2lvbiBvbiB0aGlzCiAgICAgICAgICAgICAgcGFnZS4gVGhpcyBwb2xpY3kgd2FzIGxhc3QgcmV2aXNlZDogTWF5IDI0LCAyMDIzLjwvcD4KICAgICAgICAgICAgPGgyPlF1ZXN0aW9uczwvaDI+CiAgICAgICAgICAgIDxwPklmIHlvdSBoYXZlIGFueSBxdWVzdGlvbnMgYWJvdXQgb3VyIFByaXZhY3kgUG9saWN5LCBwbGVhc2UgY29udGFjdCB1cyBhdCA8c3BhbgogICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOnZhcigtLWF4KTsiPmluZm9AYmxhY2tkaWNlLmFpPC9zcGFuPjwvcD4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L3NlY3Rpb24+CiAgICAgIDxmb290ZXIgY2xhc3M9ImJkLWZvb3RlciI+PHN2ZyB2aWV3Qm94PSIwIDAgNjQgNjQiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJ2YXIoLS1heCkiCiAgICAgICAgICBzdHJva2Utd2lkdGg9IjMiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7b3BhY2l0eTouNzU7Ij4KICAgICAgICAgIDxwYXRoIGQ9Ik0zMiA2IEw1NiAyMCBMNTYgNDYgTDMyIDYwIEw4IDQ2IEw4IDIwIFoiPjwvcGF0aD4KICAgICAgICAgIDxwYXRoIGQ9Ik0zMiA2IEwzMiAzMiBNOCAyMCBMMzIgMzIgTTU2IDIwIEwzMiAzMiI+PC9wYXRoPgogICAgICAgICAgPGNpcmNsZSBjeD0iMjAiIGN5PSIyNiIgcj0iMi40IiBmaWxsPSJ2YXIoLS1heCkiIHN0cm9rZT0ibm9uZSI+PC9jaXJjbGU+CiAgICAgICAgICA8Y2lyY2xlIGN4PSIyMCIgY3k9IjM0IiByPSIyLjQiIGZpbGw9InZhcigtLWF4KSIgc3Ryb2tlPSJub25lIj48L2NpcmNsZT4KICAgICAgICAgIDxjaXJjbGUgY3g9IjQ0IiBjeT0iMzQiIHI9IjIuNCIgZmlsbD0idmFyKC0tYXgpIiBzdHJva2U9Im5vbmUiPjwvY2lyY2xlPgogICAgICAgIDwvc3ZnPjxzcGFuCiAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6J1VidW50dScsc3lzdGVtLXVpLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtc2l6ZToxNHB4O2xldHRlci1zcGFjaW5nOi0uMnB4O2NvbG9yOnJnYmEoMjMyLDI0NCwyNDMsLjU1KSI+QmxhY2tEaWNlPC9zcGFuPgogICAgICAgIDxkaXYgY2xhc3M9ImZ0ci1saW5rcyI+PGJ1dHRvbiBjbGFzcz0iZnRyLWxpbmsiIGRhdGEtcGFnZT0icDExIiBvbmNsaWNrPSJnb1BhZ2UoZXZlbnQpIj5Db29raWUKICAgICAgICAgICAgcG9saWN5PC9idXR0b24+PGJ1dHRvbiBjbGFzcz0iZnRyLWxpbmsiIGRhdGEtcGFnZT0icDEyIiBvbmNsaWNrPSJnb1BhZ2UoZXZlbnQpIj5Qcml2YWN5IHBvbGljeTwvYnV0dG9uPgogICAgICAgIDwvZGl2PjxzcGFuIGNsYXNzPSJmdHItY29weSI+wqkgMjAyNiBCTEFDS0RJQ0UgQ1lCRVIgTFRELjwvc3Bhbj4KICAgICAgPC9mb290ZXI+CiAgICA8L2Rpdj4KCiAgICA8IS0tIOKVkOKVkOKVkCBERU1PIE1PREFMIOKVkOKVkOKVkCAtLT4KICAgIDxkaXYgaWQ9Im1vZGFsLW92IiBjbGFzcz0ibW9kYWwtb3YiIHN0eWxlPSJkaXNwbGF5Om5vbmUiIG9uY2xpY2s9ImNsb3NlQmcoZXZlbnQpIj4KICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtYm94Ij4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJtb2RhbC14IiBvbmNsaWNrPSJjbG9zZURlbW8oKSI+4pyVPC9idXR0b24+CiAgICAgICAgPGRpdiBpZD0ibW9kYWwtZm9ybSIgc3R5bGU9ImRpc3BsYXk6YmxvY2siPgogICAgICAgICAgPHNwYW4KICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OnZhcigtLWZtKTtmb250LXNpemU6MTFweDtsZXR0ZXItc3BhY2luZzouMmVtO2NvbG9yOnZhcigtLWF4KTtkaXNwbGF5OmJsb2NrO21hcmdpbi1ib3R0b206MTJweDsiPlJFUVVFU1QKICAgICAgICAgICAgQSBERU1PTlNUUkFUSU9OPC9zcGFuPgogICAgICAgICAgPGgyCiAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTp2YXIoLS1mZik7Zm9udC1zaXplOjI0cHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiMwRDFCMjQ7bWFyZ2luLWJvdHRvbTo4cHg7bGluZS1oZWlnaHQ6MS4yOyI+CiAgICAgICAgICAgIFNlZSBCbGFja0RpY2UgaW4gYWN0aW9uLjwvaDI+CiAgICAgICAgICA8cCBzdHlsZT0iZm9udC1zaXplOjE0cHg7Y29sb3I6IzVFNkM3NTttYXJnaW4tYm90dG9tOjIwcHg7Ij5FeHBsb3JlIHRoZSBwbGF0Zm9ybSBsaXZlLCBvciBmaWxsIGluIHlvdXIgZGV0YWlscwogICAgICAgICAgICBhbmQgd2Ugd2lsbCBiZSBpbiB0b3VjaCB0byBhcnJhbmdlIGEgZGVtb25zdHJhdGlvbi48L3A+CiAgICAgICAgICA8c3BhbgogICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6dmFyKC0tZm0pO2ZvbnQtc2l6ZToxMXB4O2xldHRlci1zcGFjaW5nOi4xMmVtO2NvbG9yOiM1RTZDNzU7ZGlzcGxheTpibG9jazttYXJnaW4tYm90dG9tOjEycHg7Ij5TRUUKICAgICAgICAgICAgSVQgTElWRSDigJQgUElDSyBBIFNDRU5BUklPPC9zcGFuPgogICAgICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMWZyO2dhcDoxMHB4O21hcmdpbi1ib3R0b206OHB4OyI+CiAgICAgICAgICAgIDxhIGhyZWY9IiMvZGVtbz9mbG93PUEiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIgogICAgICAgICAgICAgIHN0eWxlPSJkaXNwbGF5OmJsb2NrO2JvcmRlcjoxcHggc29saWQgI0UzRThFQTtib3JkZXItbGVmdDozcHggc29saWQgI2VmNDQ0NDtwYWRkaW5nOjExcHggMTNweDt0ZXh0LWRlY29yYXRpb246bm9uZTtjb2xvcjppbmhlcml0OyI+CiAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OnZhcigtLWZtKTtmb250LXNpemU6MTBweDtmb250LXdlaWdodDo3MDA7bGV0dGVyLXNwYWNpbmc6LjA4ZW07Y29sb3I6I2VmNDQ0NDtkaXNwbGF5OmJsb2NrO21hcmdpbi1ib3R0b206NHB4OyI+RkxPVyBBIMK3IDYwczwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6dmFyKC0tZmYpO2ZvbnQtc2l6ZToxM3B4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojMEQxQjI0O2xpbmUtaGVpZ2h0OjEuMjU7ZGlzcGxheTpibG9jazttYXJnaW4tYm90dG9tOjJweDsiPkNyaXRpY2FsIEFsZXJ0IOKGkiBSZXNvbHV0aW9uPC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJmb250LXNpemU6MTFweDtjb2xvcjojNUU2Qzc1O2xpbmUtaGVpZ2h0OjEuNDtkaXNwbGF5OmJsb2NrOyI+TWFsd2FyZSBkZXRlY3RlZCDigJQgUFM1IGlzb2xhdGVkIGluIG9uZSB0YXA8L3NwYW4+CiAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPGEgaHJlZj0iIy9kZW1vP2Zsb3c9QiIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiCiAgICAgICAgICAgICAgc3R5bGU9ImRpc3BsYXk6YmxvY2s7Ym9yZGVyOjFweCBzb2xpZCAjRTNFOEVBO2JvcmRlci1sZWZ0OjNweCBzb2xpZCAjZjU5ZTBiO3BhZGRpbmc6MTFweCAxM3B4O3RleHQtZGVjb3JhdGlvbjpub25lO2NvbG9yOmluaGVyaXQ7Ij4KICAgICAgICAgICAgICA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6dmFyKC0tZm0pO2ZvbnQtc2l6ZToxMHB4O2ZvbnQtd2VpZ2h0OjcwMDtsZXR0ZXItc3BhY2luZzouMDhlbTtjb2xvcjojZjU5ZTBiO2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWJvdHRvbTo0cHg7Ij5GTE9XIEIgwrcgNDVzPC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTp2YXIoLS1mZik7Zm9udC1zaXplOjEzcHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiMwRDFCMjQ7bGluZS1oZWlnaHQ6MS4yNTtkaXNwbGF5OmJsb2NrO21hcmdpbi1ib3R0b206MnB4OyI+SW5jaWRlbnQgSW52ZXN0aWdhdGlvbjwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBzdHlsZT0iZm9udC1zaXplOjExcHg7Y29sb3I6IzVFNkM3NTtsaW5lLWhlaWdodDoxLjQ7ZGlzcGxheTpibG9jazsiPlN1c3BpY2lvdXMgbG9naW4gZnJvbSBNb3Njb3cg4oCUIHRyYWNlZCBhbmQgYmxvY2tlZDwvc3Bhbj4KICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8YSBocmVmPSIjL2RlbW8/Zmxvdz1DIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIKICAgICAgICAgICAgICBzdHlsZT0iZGlzcGxheTpibG9jaztib3JkZXI6MXB4IHNvbGlkICNFM0U4RUE7Ym9yZGVyLWxlZnQ6M3B4IHNvbGlkICM4YjVjZjY7cGFkZGluZzoxMXB4IDEzcHg7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Y29sb3I6aW5oZXJpdDsiPgogICAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTp2YXIoLS1mbSk7Zm9udC1zaXplOjEwcHg7Zm9udC13ZWlnaHQ6NzAwO2xldHRlci1zcGFjaW5nOi4wOGVtO2NvbG9yOiM4YjVjZjY7ZGlzcGxheTpibG9jazttYXJnaW4tYm90dG9tOjRweDsiPkZMT1cgQyDCtyA0NXM8L3NwYW4+CiAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OnZhcigtLWZmKTtmb250LXNpemU6MTNweDtmb250LXdlaWdodDo3MDA7Y29sb3I6IzBEMUIyNDtsaW5lLWhlaWdodDoxLjI1O2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWJvdHRvbToycHg7Ij5UaHJlYXQgUmVtZWRpYXRpb248L3NwYW4+CiAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMXB4O2NvbG9yOiM1RTZDNzU7bGluZS1oZWlnaHQ6MS40O2Rpc3BsYXk6YmxvY2s7Ij5IUCBwcmludGVyIENWRSBwYXRjaGVkIGF1dG9tYXRpY2FsbHk8L3NwYW4+CiAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPGEgaHJlZj0iIy9kZW1vP2Zsb3c9RCIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiCiAgICAgICAgICAgICAgc3R5bGU9ImRpc3BsYXk6YmxvY2s7Ym9yZGVyOjFweCBzb2xpZCAjRTNFOEVBO2JvcmRlci1sZWZ0OjNweCBzb2xpZCAjMTBiOTgxO3BhZGRpbmc6MTFweCAxM3B4O3RleHQtZGVjb3JhdGlvbjpub25lO2NvbG9yOmluaGVyaXQ7Ij4KICAgICAgICAgICAgICA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6dmFyKC0tZm0pO2ZvbnQtc2l6ZToxMHB4O2ZvbnQtd2VpZ2h0OjcwMDtsZXR0ZXItc3BhY2luZzouMDhlbTtjb2xvcjojMTBiOTgxO2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWJvdHRvbTo0cHg7Ij5GTE9XIEQgwrcgMzBzPC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTp2YXIoLS1mZik7Zm9udC1zaXplOjEzcHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiMwRDFCMjQ7bGluZS1oZWlnaHQ6MS4yNTtkaXNwbGF5OmJsb2NrO21hcmdpbi1ib3R0b206MnB4OyI+U2VjdXJpdHkgUG9zdHVyZSBSZXBvcnRpbmc8L3NwYW4+CiAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMXB4O2NvbG9yOiM1RTZDNzU7bGluZS1oZWlnaHQ6MS40O2Rpc3BsYXk6YmxvY2s7Ij5TY29yZSwgdHJlbmRzLCBkZXZpY2VzLCBQREYgZXhwb3J0PC9zcGFuPgogICAgICAgICAgICA8L2E+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEycHg7bWFyZ2luOjIycHggMDsiPgogICAgICAgICAgICA8c3BhbiBzdHlsZT0iZmxleDoxO2hlaWdodDoxcHg7YmFja2dyb3VuZDojRTNFOEVBOyI+PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBzdHlsZT0iZm9udC1zaXplOjEycHg7Y29sb3I6IzhBOTY5Qztmb250LWZhbWlseTp2YXIoLS1mbSk7bGV0dGVyLXNwYWNpbmc6LjA4ZW07Ij5PUiBSRVFVRVNUIEEgVEFJTE9SRUQgREVNTzwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gc3R5bGU9ImZsZXg6MTtoZWlnaHQ6MXB4O2JhY2tncm91bmQ6I0UzRThFQTsiPjwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMWZyO2dhcDoxNnB4O21hcmdpbi1ib3R0b206MTZweDsiPgogICAgICAgICAgICA8ZGl2PjxsYWJlbAogICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OnZhcigtLWZtKTtmb250LXNpemU6MTFweDtsZXR0ZXItc3BhY2luZzouMTJlbTtjb2xvcjojNUU2Qzc1O2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWJvdHRvbTo2cHg7Ij5GSVJTVAogICAgICAgICAgICAgICAgTkFNRTwvbGFiZWw+PGlucHV0IGNsYXNzPSJtb2RhbC1pbnAiIGlkPSJkZi1mbmFtZSIgdHlwZT0idGV4dCIgcGxhY2Vob2xkZXI9IkZpcnN0IG5hbWUiPjwvZGl2PgogICAgICAgICAgICA8ZGl2PjxsYWJlbAogICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OnZhcigtLWZtKTtmb250LXNpemU6MTFweDtsZXR0ZXItc3BhY2luZzouMTJlbTtjb2xvcjojNUU2Qzc1O2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWJvdHRvbTo2cHg7Ij5TVVJOQU1FPC9sYWJlbD48aW5wdXQKICAgICAgICAgICAgICAgIGNsYXNzPSJtb2RhbC1pbnAiIGlkPSJkZi1sbmFtZSIgdHlwZT0idGV4dCIgcGxhY2Vob2xkZXI9IlN1cm5hbWUiPjwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjE2cHg7Ij48bGFiZWwKICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6dmFyKC0tZm0pO2ZvbnQtc2l6ZToxMXB4O2xldHRlci1zcGFjaW5nOi4xMmVtO2NvbG9yOiM1RTZDNzU7ZGlzcGxheTpibG9jazttYXJnaW4tYm90dG9tOjZweDsiPkVNQUlMCiAgICAgICAgICAgICAgQUREUkVTUzwvbGFiZWw+PGlucHV0IGNsYXNzPSJtb2RhbC1pbnAiIGlkPSJkZi1lbWFpbCIgdHlwZT0iZW1haWwiIHBsYWNlaG9sZGVyPSJ5b3VAY29tcGFueS5jb20iPjwvZGl2PgogICAgICAgICAgPGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxNnB4OyI+PGxhYmVsCiAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OnZhcigtLWZtKTtmb250LXNpemU6MTFweDtsZXR0ZXItc3BhY2luZzouMTJlbTtjb2xvcjojNUU2Qzc1O2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWJvdHRvbTo2cHg7Ij5NT0JJTEUKICAgICAgICAgICAgICBOVU1CRVI8L2xhYmVsPjxpbnB1dCBjbGFzcz0ibW9kYWwtaW5wIiBpZD0iZGYtbW9iaWxlIiB0eXBlPSJ0ZWwiIHBsYWNlaG9sZGVyPSIrNDQgNzcwMCAwMDAwMDAiPjwvZGl2PgogICAgICAgICAgPGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbTozMnB4OyI+PGxhYmVsCiAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OnZhcigtLWZtKTtmb250LXNpemU6MTFweDtsZXR0ZXItc3BhY2luZzouMTJlbTtjb2xvcjojNUU2Qzc1O2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWJvdHRvbTo2cHg7Ij5DT01QQU5ZPC9sYWJlbD48aW5wdXQKICAgICAgICAgICAgICBjbGFzcz0ibW9kYWwtaW5wIiBpZD0iZGYtY29tcGFueSIgdHlwZT0idGV4dCIgcGxhY2Vob2xkZXI9IllvdXIgb3JnYW5pc2F0aW9uIj48L2Rpdj4KICAgICAgICAgIDxwIGlkPSJtb2RhbC1lcnIiIHN0eWxlPSJjb2xvcjojYzAzOTJiO2ZvbnQtc2l6ZToxM3B4O21hcmdpbi1ib3R0b206MTZweDtkaXNwbGF5Om5vbmUiPlBsZWFzZSBjb21wbGV0ZSBhbGwKICAgICAgICAgICAgZmllbGRzIGJlZm9yZSBzZW5kaW5nLjwvcD4KICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgc3R5bGU9IndpZHRoOjEwMCU7aGVpZ2h0OjQ4cHg7YmFja2dyb3VuZDp2YXIoLS1heCk7Y29sb3I6IzBEMUIyNDtmb250LWZhbWlseTp2YXIoLS1mZik7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtc2l6ZToxNXB4O2JvcmRlcjpub25lO2N1cnNvcjpwb2ludGVyO2xldHRlci1zcGFjaW5nOi4wMmVtOyIKICAgICAgICAgICAgb25jbGljaz0ic3VibWl0RGVtbygpIj5TZW5kIHJlcXVlc3Qg4oaSPC9idXR0b24+CiAgICAgICAgICA8cCBzdHlsZT0idGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luLXRvcDoxNnB4O2ZvbnQtc2l6ZToxM3B4O2NvbG9yOiM1RTZDNzU7Ij5vciA8YnV0dG9uCiAgICAgICAgICAgICAgc3R5bGU9ImJhY2tncm91bmQ6bm9uZTtib3JkZXI6bm9uZTtjb2xvcjp2YXIoLS1heCk7Zm9udC1mYW1pbHk6dmFyKC0tZmYpO2ZvbnQtc2l6ZToxM3B4O2ZvbnQtd2VpZ2h0OjcwMDtjdXJzb3I6cG9pbnRlcjtwYWRkaW5nOjA7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTsiCiAgICAgICAgICAgICAgb25jbGljaz0iY2xvc2VEZW1vKCk7Z28oJ3A5JykiPnZpc2l0IG91ciBjb250YWN0IHBhZ2Ug4oaSPC9idXR0b24+PC9wPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgaWQ9Im1vZGFsLXNlbnQiIHN0eWxlPSJkaXNwbGF5Om5vbmU7dGV4dC1hbGlnbjpjZW50ZXI7cGFkZGluZzozMnB4IDA7Ij4KICAgICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTo0MHB4O21hcmdpbi1ib3R0b206MTZweDsiPuKckzwvZGl2PgogICAgICAgICAgPGgzIHN0eWxlPSJmb250LWZhbWlseTp2YXIoLS1mZik7Zm9udC1zaXplOjIwcHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiMwRDFCMjQ7bWFyZ2luLWJvdHRvbTo4cHg7Ij5SZXF1ZXN0CiAgICAgICAgICAgIHNlbnQuPC9oMz4KICAgICAgICAgIDxwIHN0eWxlPSJjb2xvcjojNUU2Qzc1O2ZvbnQtc2l6ZToxNHB4OyI+WW91ciBlbWFpbCBjbGllbnQgd2lsbCBvcGVuIHRvIGNvbXBsZXRlIHNlbmRpbmcuIFdlIHdpbGwgYmUgaW4gdG91Y2gKICAgICAgICAgICAgc2hvcnRseS48L3A+CiAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgIHN0eWxlPSJtYXJnaW4tdG9wOjI0cHg7aGVpZ2h0OjQ0cHg7cGFkZGluZzowIDMycHg7YmFja2dyb3VuZDp2YXIoLS1heCk7Y29sb3I6IzBEMUIyNDtmb250LWZhbWlseTp2YXIoLS1mZik7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtc2l6ZToxNHB4O2JvcmRlcjpub25lO2N1cnNvcjpwb2ludGVyOyIKICAgICAgICAgICAgb25jbGljaz0iY2xvc2VEZW1vKCkiPkNsb3NlPC9idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CmA7dmFyIGo9e3AxOiJIb21lIixwMjoiTW9iaWxlIFNESyIscDM6IkhhbG8gQ1BFIixwNDoiRm9yIE9wZXJhdG9ycyIscDU6IkZpbmFuY2lhbCBTZXJ2aWNlcyIscDY6IldoeSBCbGFja0RpY2U/IixwNzoiTmV3cyIscDg6IkludmVzdG9ycyIscDk6IkNvbnRhY3QiLHAxMDoiRE5TIFByb3RlY3QiLHAxMToiQ29va2llIFBvbGljeSIscDEyOiJQcml2YWN5IFBvbGljeSJ9LEU9e3AxOiIvIixwMjoiL21vYmlsZS1zZGsiLHAzOiIvaGFsby1jcGUiLHA0OiIvZm9yLW9wZXJhdG9ycyIscDU6Ii9maW5hbmNpYWwtc2VydmljZXMiLHA2OiIvd2h5LWJsYWNrZGljZSIscDc6Ii9uZXdzIixwODoiL2ludmVzdG9ycyIscDk6Ii9jb250YWN0IixwMTA6Ii9kbnMtcHJvdGVjdCIscDExOiIvY29va2llLXBvbGljeSIscDEyOiIvcHJpdmFjeS1wb2xpY3kifSx5PVt7bGJsOiJETlMgZXhmaWx0cmF0aW9uLCBJb1QgZGV2aWNlLCBTdWJzY3JpYmVyICM0NDcxODIxIixyaXNrOiJISUdIIixjbHM6ImgiLGJkZzoiYmxvY2tlZCIsYnR4dDoiQkxPQ0tFRCJ9LHtsYmw6IkJlaGF2aW91cmFsIGFub21hbHkgbmV3IGRldmljZSwgM2FtIHRyYWZmaWMgc3Bpa2UiLHJpc2s6Ik1FRCIsY2xzOiJtIixiZGc6Im1vbiIsYnR4dDoiTU9OSVRPUklORyJ9LHtsYmw6IkMyIGNhbGxiYWNrIGF0dGVtcHQsIFplcm9EYXkgdmFyaWFudCBkZXRlY3RlZCIscmlzazoiSElHSCIsY2xzOiJoIixiZGc6ImJsb2NrZWQiLGJ0eHQ6Ik5FVVRSQUxJU0VEIn0se2xibDoiUmVtb3RlIGFjY2VzcyBhcHAgYWN0aXZlIGR1cmluZyBiYW5raW5nIHNlc3Npb24iLHJpc2s6IkhJR0giLGNsczoiaCIsYmRnOiJibG9ja2VkIixidHh0OiJCTE9DS0VEIn0se2xibDoiUGhpc2hpbmcgZG9tYWluIGJsb2NrZWQg4oCUIGxvb2thbGlrZSBiYW5raW5nIHNpdGUiLHJpc2s6IkhJR0giLGNsczoiaCIsYmRnOiJibG9ja2VkIixidHh0OiJCTE9DS0VEIn0se2xibDoiQm90bmV0IEMyIGxvb2t1cCDigJQgc21hcnQgVFYgSW9UIGNsdXN0ZXIiLHJpc2s6IkhJR0giLGNsczoiaCIsYmRnOiJibG9ja2VkIixidHh0OiJCTE9DS0VEIn0se2xibDoiTmV3bHkgcmVnaXN0ZXJlZCBkb21haW4gZmxhZ2dlZCBmb3IgYW5hbHlzaXMiLHJpc2s6Ik1FRCIsY2xzOiJtIixiZGc6Im1vbiIsYnR4dDoiTU9OSVRPUklORyJ9LHtsYmw6IkRldmljZSByb290ZWQgcHJlLWxvZ2luLCBzZXNzaW9uIHRlcm1pbmF0ZWQiLHJpc2s6IkhJR0giLGNsczoiaCIsYmRnOiJibG9ja2VkIixidHh0OiJCTE9DS0VEIn0se2xibDoiU2NhbSBjYWxsIGRldGVjdGVkIGR1cmluZyBhY3RpdmUgYmFua2luZyBzZXNzaW9uIixyaXNrOiJISUdIIixjbHM6ImgiLGJkZzoiZmxhZyIsYnR4dDoiRkxBR0dFRCJ9LHtsYmw6IlN0YW5kYXJkIHNlc3Npb24sIGRldmljZSBpbnRlZ3JpdHkgY2xlYXIiLHJpc2s6IkxPVyIsY2xzOiJsIixiZGc6ImNsZWFyIixidHh0OiJDTEVBUiJ9LHtsYmw6IkluY29taW5nIGNhbGwg4oCUIGtub3duIHNjYW0gbnVtYmVyIHBhdHRlcm4iLHJpc2s6IkhJR0giLGNsczoiaCIsYmRnOiJmbGFnIixidHh0OiJGTEFHR0VEIn0se2xibDoiTmV0d29yayBzd2l0Y2g6IFdpLUZpIOKGkiBjZWxsdWxhciAocm9ndWUgQVAgYWRqYWNlbnQpIixyaXNrOiJNRUQiLGNsczoibSIsYmRnOiJtb24iLGJ0eHQ6Ik1PTklUT1JJTkcifV0sTD0wO2Z1bmN0aW9uIHYobil7ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnBnIikuZm9yRWFjaChmdW5jdGlvbihvKXtvLnN0eWxlLmRpc3BsYXk9Im5vbmUifSk7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBnLSIrbik7ZSYmKGUuc3R5bGUuZGlzcGxheT0iYmxvY2siKSxkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJbZGF0YS1uYXZdIikuZm9yRWFjaChmdW5jdGlvbihvKXtvLmNsYXNzTGlzdC5yZW1vdmUoIm9uIil9KSxkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdbZGF0YS1uYXY9IicrbisnIl0nKS5mb3JFYWNoKGZ1bmN0aW9uKG8pe28uY2xhc3NMaXN0LmFkZCgib24iKX0pO3ZhciBpPVsicDYiLCJwNyIsInA4IiwicDkiXS5pbmRleE9mKG4pPj0wLHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5hdi1jbyIpO3QmJihpP3QuY2xhc3NMaXN0LmFkZCgib24iKTp0LmNsYXNzTGlzdC5yZW1vdmUoIm9uIikpLGRvY3VtZW50LnRpdGxlPShqW25dfHxuKSsiIHwgQmxhY2tEaWNlIEN5YmVyIjt2YXIgcj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibW9iLW5hdiIpO3ImJihyLnN0eWxlLmRpc3BsYXk9Im5vbmUiKSx3aW5kb3cuc2Nyb2xsVG8oMCwwKTt2YXIgbD13aW5kb3cuX2hzcT13aW5kb3cuX2hzcXx8W107bC5wdXNoKFsic2V0UGF0aCIsRVtuXXx8Ii8iK25dKSxsLnB1c2goWyJ0cmFja1BhZ2VWaWV3Il0pLHNldFRpbWVvdXQoYiwyMDApfWZ1bmN0aW9uIEkobil7dmFyIGU9bi50YXJnZXQuY2xvc2VzdCgiW2RhdGEtcGFnZV0iKTtlJiZ2KGUuZGF0YXNldC5wYWdlKX1mdW5jdGlvbiBEKCl7digicDEiKX1mdW5jdGlvbiBDKCl7dmFyIG49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1vYi1uYXYiKTtuJiYobi5zdHlsZS5kaXNwbGF5PW4uc3R5bGUuZGlzcGxheT09PSJub25lIj8iYmxvY2siOiJub25lIil9ZnVuY3Rpb24gdSgpe3ZhciBuPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJiZC1uYXYiKTtuJiYod2luZG93LnNjcm9sbFk+NTA/KG4uc3R5bGUuYmFja2dyb3VuZD0icmdiYSgxLDU5LDczLC45NykiLG4uc3R5bGUuYm9yZGVyQm90dG9tQ29sb3I9InJnYmEoMjU1LDI1NSwyNTUsLjA3KSIpOihuLnN0eWxlLmJhY2tncm91bmQ9InJnYmEoMSw1OSw3MywuNCkiLG4uc3R5bGUuYm9yZGVyQm90dG9tQ29sb3I9InRyYW5zcGFyZW50IikpfWZ1bmN0aW9uIFMoKXt2YXIgbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Nyb2xsLWhpbnQtYnRuIik7biYmbi5jbGFzc0xpc3QucmVtb3ZlKCJ2aXMiKSx3aW5kb3cuc2Nyb2xsQnkoe3RvcDp3aW5kb3cuaW5uZXJIZWlnaHQqLjg1LGJlaGF2aW9yOiJzbW9vdGgifSl9ZnVuY3Rpb24gVCgpe3ZhciBuPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtb2RhbC1vdiIpLGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1vZGFsLWZvcm0iKSxpPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtb2RhbC1zZW50IiksdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibW9kYWwtZXJyIik7biYmKG4uc3R5bGUuZGlzcGxheT0iZmxleCIpLGUmJihlLnN0eWxlLmRpc3BsYXk9ImJsb2NrIiksaSYmKGkuc3R5bGUuZGlzcGxheT0ibm9uZSIpLHQmJih0LnN0eWxlLmRpc3BsYXk9Im5vbmUiKX1mdW5jdGlvbiB4KCl7dmFyIG49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1vZGFsLW92Iik7biYmKG4uc3R5bGUuZGlzcGxheT0ibm9uZSIpfWZ1bmN0aW9uIEEobil7bi50YXJnZXQ9PT1uLmN1cnJlbnRUYXJnZXQmJngoKX1mdW5jdGlvbiBaKCl7ZnVuY3Rpb24gbihoKXt2YXIgYT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChoKTtyZXR1cm4gYT9hLnZhbHVlLnRyaW0oKToiIn12YXIgZT1uKCJkZi1mbmFtZSIpLGk9bigiZGYtbG5hbWUiKSx0PW4oImRmLWVtYWlsIikscj1uKCJkZi1jb21wYW55Iik7aWYoIWV8fCF0fHwhcil7dmFyIGw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1vZGFsLWVyciIpO2wmJihsLnN0eWxlLmRpc3BsYXk9ImJsb2NrIik7cmV0dXJufXRyeXtsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgiYmRfZGVtb19wcmVmaWxsIixKU09OLnN0cmluZ2lmeSh7Zm5hbWU6ZSxsbmFtZTppLGVtYWlsOnQsY29tcGFueTpyfSkpfWNhdGNoe312YXIgbz1lbmNvZGVVUklDb21wb25lbnQscz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7cy5ocmVmPSJtYWlsdG86aW5mb0BibGFja2RpY2UuYWk/c3ViamVjdD0iK28oIkRlbW8gUmVxdWVzdCDigJQgIitlKyIgIitpKyIsICIrcikrIiZib2R5PSIrbygiTmFtZTogIitlKyIgIitpK2AKRW1haWw6IGArdCtgCkNvbXBhbnk6IGArcitgCgpQbGVhc2Ugc2VuZCBpbmZvcm1hdGlvbiBhYm91dCBhIEJsYWNrRGljZSBwbGF0Zm9ybSBkZW1vbnN0cmF0aW9uLmApLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocykscy5jbGljaygpLGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQocyk7dmFyIGM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1vZGFsLWZvcm0iKSxkPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtb2RhbC1zZW50Iik7YyYmKGMuc3R5bGUuZGlzcGxheT0ibm9uZSIpLGQmJihkLnN0eWxlLmRpc3BsYXk9ImJsb2NrIil9ZnVuY3Rpb24gUigpe2Z1bmN0aW9uIG4oYyl7dmFyIGQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYyk7cmV0dXJuIGQ/ZC52YWx1ZS50cmltKCk6IiJ9dmFyIGU9bigiY2YtZm5hbWUiKSxpPW4oImNmLWxuYW1lIiksdD1uKCJjZi1lbWFpbCIpLHI9bigiY2YtY29tcGFueSIpLGw9bigiY2YtbXNnIik7aWYoISghZXx8IXQpKXt2YXIgbz1lbmNvZGVVUklDb21wb25lbnQscz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7cy5ocmVmPSJtYWlsdG86aW5mb0BibGFja2RpY2UuYWk/c3ViamVjdD0iK28oIkVucXVpcnkg4oCUICIrZSsiICIraSsiLCAiK3IpKyImYm9keT0iK28oIk5hbWU6ICIrZSsiICIraStgCkVtYWlsOiBgK3QrYApDb21wYW55OiBgK3IrYAoKYCtsKSxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHMpLHMuY2xpY2soKSxkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHMpfX1mdW5jdGlvbiBCKCl7TD0oTCsxKSV5Lmxlbmd0aDt2YXIgbj15W0xdO2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5mZWVkLWJvZHkiKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3ZhciBpPWUucXVlcnlTZWxlY3RvckFsbCgiLmZlZWQtcm93Iik7aWYoaS5sZW5ndGgpe3ZhciB0PWlbaS5sZW5ndGgtMV0scj10LnF1ZXJ5U2VsZWN0b3IoIi5mZWVkLWxibCIpLGw9dC5xdWVyeVNlbGVjdG9yKCIuZmVlZC1yaXNrIiksbz10LnF1ZXJ5U2VsZWN0b3IoIi5mZWVkLWJkZyIpO3ImJihyLnRleHRDb250ZW50PW4ubGJsKSxsJiYobC50ZXh0Q29udGVudD1uLnJpc2ssbC5jbGFzc05hbWU9ImZlZWQtcmlzayAiK24uY2xzKSxvJiYoby50ZXh0Q29udGVudD1uLmJ0eHQsby5jbGFzc05hbWU9ImZlZWQtYmRnICIrbi5iZGcpLGUuaW5zZXJ0QmVmb3JlKHQsaVswXSksdC5zdHlsZS5hbmltYXRpb249Im5vbmUiLHQub2Zmc2V0SGVpZ2h0LHQuc3R5bGUuYW5pbWF0aW9uPSJiZC1zbGlkZSAuNHMgZWFzZSJ9fSl9ZnVuY3Rpb24gYigpe2lmKCJJbnRlcnNlY3Rpb25PYnNlcnZlciJpbiB3aW5kb3cpe3ZhciBuPW5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihmdW5jdGlvbihlKXtlLmZvckVhY2goZnVuY3Rpb24oaSl7aWYoIWkuaXNJbnRlcnNlY3RpbmcpcmV0dXJuO3ZhciB0PWkudGFyZ2V0O2lmKHQuX2NvdW50RG9uZSlyZXR1cm47dC5fY291bnREb25lPSEwO3ZhciByPXBhcnNlRmxvYXQodC5kYXRhc2V0LmNvdW50KSxsPXQuZGF0YXNldC5zdWZmaXh8fCIiLG89TnVtYmVyLmlzSW50ZWdlcihyKSxzPTE1MDAsYz1wZXJmb3JtYW5jZS5ub3coKTtmdW5jdGlvbiBkKGgpe3ZhciBhPU1hdGgubWluKChoLWMpL3MsMSksZj0xLU1hdGgucG93KDEtYSwzKTt0LnRleHRDb250ZW50PShvP01hdGgucm91bmQocipmKToocipmKS50b0ZpeGVkKDEpKStsLGE8MSYmcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGQpfXJlcXVlc3RBbmltYXRpb25GcmFtZShkKSxuLnVub2JzZXJ2ZSh0KX0pfSx7dGhyZXNob2xkOi41fSk7ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiW2RhdGEtY291bnRdIikuZm9yRWFjaChmdW5jdGlvbihlKXtlLl9jb3VudERvbmU9ITEsbi5vYnNlcnZlKGUpfSl9fXZhciBwPXdpbmRvdztwLmdvPXY7cC5nb1BhZ2U9STtwLmdvSG9tZT1EO3AudG9nZ2xlTW9iPUM7cC5zY3JvbGxEb3duPVM7cC5zaG93RGVtbz1UO3AuY2xvc2VEZW1vPXg7cC5jbG9zZUJnPUE7cC5zdWJtaXREZW1vPVo7cC5zdWJtaXRDb250YWN0PVI7dmFyIGs9bnVsbDtmdW5jdGlvbiBQKG4pe3Yobik7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNjcm9sbC1oaW50LWJ0biIpO2lmKGUpe2UuY2xhc3NMaXN0LmFkZCgidmlzIik7dmFyIGk9ZnVuY3Rpb24oKXtlLmNsYXNzTGlzdC5yZW1vdmUoInZpcyIpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLGkpfTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixpKX13aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIix1LHtwYXNzaXZlOiEwfSksayYmY2xlYXJJbnRlcnZhbChrKSxrPXNldEludGVydmFsKEIsMzQwMCksYigpfWZ1bmN0aW9uIE4oKXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIix1KSxrJiYoY2xlYXJJbnRlcnZhbChrKSxrPW51bGwpfWZ1bmN0aW9uIHooKXtjb25zdCBuPW0oKSxlPWcudXNlUmVmKG51bGwpO3JldHVybiBnLnVzZUVmZmVjdCgoKT0+e2NvbnN0IGk9ZS5jdXJyZW50O2kmJlsibW9kYWwtb3YiLCJwZy1wMTEiLCJwZy1wMTIiXS5mb3JFYWNoKG89Pntjb25zdCBzPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG8pO3MmJnMucGFyZW50RWxlbWVudCE9PWkmJmkuYXBwZW5kQ2hpbGQocyl9KTtjb25zdCB0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5iZC1uYXYtbGlua3MiKTtpZih0JiYhZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJkLW5hdi1kZW1vIikpe2NvbnN0IG89dC5xdWVyeVNlbGVjdG9yKCIuYmQtbmF2LWN0YSIpLHM9KGMsZCxoKT0+e2NvbnN0IGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnV0dG9uIik7YS5pZD1jLGEuY2xhc3NOYW1lPSJiZC1ubCIsYS50ZXh0Q29udGVudD1kLGEub25jbGljaz0oKT0+bihoKSx0Lmluc2VydEJlZm9yZShhLG8pfTtzKCJiZC1uYXYtZGVtbyIsIldhdGNoIGRlbW8iLCIvZGVtby12aWRlbyIpLHMoImJkLW5hdi10aHJlYXRzIiwiTGl2ZSBkZW1vcyIsIi90aHJlYXQtZGVtb3MiKX1jb25zdCByPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtb2ItbmF2Iik7aWYociYmIWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJiZC1tb2ItZGVtbyIpKXtjb25zdCBvPXIucXVlcnlTZWxlY3RvcigiLmJkLW1vYi1jdGEiKSxzPShjLGQsaCk9Pntjb25zdCBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIpO2EuaWQ9YyxhLnRleHRDb250ZW50PWQsYS5vbmNsaWNrPSgpPT57ci5zdHlsZS5kaXNwbGF5PSJub25lIixuKGgpfSxvP3IuaW5zZXJ0QmVmb3JlKGEsbyk6ci5hcHBlbmRDaGlsZChhKX07cygiYmQtbW9iLWRlbW8iLCJXYXRjaCBkZW1vIiwiL2RlbW8tdmlkZW8iKSxzKCJiZC1tb2ItdGhyZWF0cyIsIkxpdmUgZGVtb3MiLCIvdGhyZWF0LWRlbW9zIil9UCgicDEiKTtjb25zdCBsPSgpPT57Y29uc3Qgbz13aW5kb3cuc2hvd0RlbW87dHlwZW9mIG89PSJmdW5jdGlvbiImJm8oKX07cmV0dXJuIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5iZC1uYXYtY3RhIikuZm9yRWFjaChvPT57by5vbmNsaWNrPWx9KSxkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuYmQtbW9iLWN0YSIpLmZvckVhY2gobz0+e28ub25jbGljaz0oKT0+e2NvbnN0IHM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1vYi1uYXYiKTtzJiYocy5zdHlsZS5kaXNwbGF5PSJub25lIiksbCgpfX0pLCgpPT5OKCl9LFtuXSksTS5qc3goImRpdiIse3JlZjplLGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOntfX2h0bWw6d319KX1leHBvcnR7eiBhcyBkZWZhdWx0fTsK","virtual:ThreatDemo-D_WLdx74.js":"data:text/javascript;base64,aW1wb3J0e2ogYXMgZSxyIGFzIGR9ZnJvbSJ2aXJ0dWFsOmluZGV4LXFuMEZjQkN3LmpzIjtpbXBvcnR7YSBhcyBVLG0gYXMgbixBIGFzIFAsSSBhcyBZLGIgYXMgVixjIGFzIFcsZCBhcyBYLGUgYXMgTixTIGFzIFosZiBhcyBSLGcgYXMgSixoIGFzIFEsaSBhcyBlZSxqIGFzIHRlLGsgYXMgaWUsbCBhcyBuZSxuIGFzIGFlfWZyb20idmlydHVhbDpEZW1vU2NyZWVuLUREaWFyY05ILmpzIjtjb25zdCBnPXtzZXR1cEVuZDo0ZTMsZGV0ZWN0RW5kOjllMyxyaXNrRW5kOjE1ZTMscmVzcG9uc2VFbmQ6MjRlMyxyZXNvbHV0aW9uRW5kOjNlNCx0b3RhbDozNDUwMH0sRj0yZTMsb2U9W3tpZDoiY2FsbHNjYW0iLGZpbGU6ImJsYWNrZGljZS1kZW1vLTAxLWNhbGwtc2NhbS5tcDQiLHByb2R1Y3Q6Ik1vYmlsZSBTREsiLHRhZzoic2RrIix0YWdMYWJlbDoiU0RLIMK3IENBTEwiLHRpdGxlOiJDYWxsIFNjYW0gRGV0ZWN0aW9uIixibHVyYjoiU3VzcGljaW91cyBjYWxsIHdpdGggYSBzcG9vZmVkIGNhbGxlciBJRC4gQmxhY2tEaWNlIEFuZ2VsIHJpc2sganVtcHMgdG8gODUg4oCUIGJsb2NrIHJlY29tbWVuZGVkLiIsaWNvbjoi8J+TniIsY29udGV4dDoiWW91ciBmYW1pbHkgaXMgcHJvdGVjdGVkIixpbml0aWFsU2NvcmU6MjUsZmluYWxTY29yZTo4NSxzZXZlcml0eToicmVkIix0aHJlYXRUaXRsZToiU2NhbSBDYWxsIERldGVjdGVkIix0aHJlYXRCb2R5OiJTdXNwaWNpb3VzIGNhbGwgZnJvbSArNDQgNzg5MCAxMjM0NTYiLGRldGFpbEhlYWRsaW5lOiJDYWxsZXIgSUQgYXBwZWFycyBzcG9vZmVkIixkZXRhaWxMaW5lczpbIk51bWJlciBtYXRjaGVzIGEga25vd24gc2NhbSBwYXR0ZXJuIiwiQ2FsbGVyIElEIGRvZXMgbm90IG1hdGNoIHRoZSBjYXJyaWVyIHJlY29yZCIsIlJlcG9ydGVkIGJ5IDI0MCsgQmxhY2tEaWNlIHVzZXJzIl0sYWN0aW9uczpbe2xhYmVsOiJCbG9jayBjYWxsZXIiLHByaW1hcnk6ITAsaWNvbjoi8J+aqyJ9LHtsYWJlbDoiUmVwb3J0IixpY29uOiLimpEifV0scmVzb2x1dGlvblRpdGxlOiJDYWxsZXIgYmxvY2tlZCIscmVzb2x1dGlvbkJvZHk6IlNjYW0gbnVtYmVyIGJsb2NrZWQgwrcgaW5jaWRlbnQgcmVwb3J0ZWQiLHJlc29sdXRpb25Ub25lOiJyZWQiLHN0YXR1c0NoYW5nZToiUmlzayBzdGF5cyBlbGV2YXRlZCB1bnRpbCByZXZpZXdlZCIsdm9DdWVzOlt7YXQ6MzAwLHRleHQ6IkJsYWNrRGljZSBtb25pdG9ycyBldmVyeSBpbmNvbWluZyBjYWxsIGluIHJlYWwgdGltZS4ifSx7YXQ6NDMwMCx0ZXh0OiJBIHN1c3BpY2lvdXMgY2FsbCBpcyBkZXRlY3RlZCB3aXRoIGEgc3Bvb2ZlZCBjYWxsZXIgSUQuIn0se2F0Ojk0MDAsdGV4dDoiVGhlIEJsYWNrRGljZSBBbmdlbCByaXNrIHNjb3JlIGluc3RhbnRseSBqdW1wcyBmcm9tIDI1IHRvIDg1IOKAlCBhIGNyaXRpY2FsIHdhcm5pbmcuIn0se2F0OjE1NTAwLHRleHQ6IldpdGggb25lIHRhcCwgdGhlIHVzZXIgY2FuIGJsb2NrIHRoZSBjYWxsZXIgYW5kIHJlcG9ydCB0aGUgaW5jaWRlbnQuIn0se2F0OjMwMzAwLHRleHQ6IkJsYWNrRGljZSDigJQgcHJvdGVjdGluZyBmYW1pbGllcyBmcm9tIHBob25lIHNjYW1zLiBCb29rIGEgZGVtbyB0b2RheS4ifV19LHtpZDoic21zc2NhbSIsZmlsZToiYmxhY2tkaWNlLWRlbW8tMDItc21zLXNjYW0ubXA0Iixwcm9kdWN0OiJNb2JpbGUgU0RLIix0YWc6InNkayIsdGFnTGFiZWw6IlNESyDCtyBTTVMiLHRpdGxlOiJTTVMgU2NhbSBEZXRlY3Rpb24iLGJsdXJiOiJQaGlzaGluZyBTTVMgd2l0aCBhIG1hbGljaW91cyBsaW5rLiBCbGFja0RpY2UgQW5nZWwgcmlzayByaXNlcyB0byA3OCDigJQgZG8gbm90IGNsaWNrLiIsaWNvbjoi4pyJ77iPIixjb250ZXh0OiJZb3VyIGZhbWlseSBpcyBwcm90ZWN0ZWQiLGluaXRpYWxTY29yZToyMCxmaW5hbFNjb3JlOjc4LHNldmVyaXR5OiJyZWQiLHRocmVhdFRpdGxlOiJTTVMgU2NhbSBEZXRlY3RlZCIsdGhyZWF0Qm9keToi4oCcWW91ciBiYW5rIGFjY291bnQgaGFzIGJlZW4gY29tcHJvbWlzZWTigKbigJ0iLGRldGFpbEhlYWRsaW5lOiJLbm93biBwaGlzaGluZyBhdHRlbXB0IixkZXRhaWxMaW5lczpbIk1lc3NhZ2UgY29udGFpbnMgYSBtYWxpY2lvdXMgc2hvcnRlbmVkIGxpbmsiLCJJbXBlcnNvbmF0ZXMgeW91ciBiYW5r4oCZcyBzZWN1cml0eSB0ZWFtIiwiRG8gbm90IHRhcCB0aGUgbGluayBvciByZXBseSJdLGFjdGlvbnM6W3tsYWJlbDoiRGVsZXRlIG1lc3NhZ2UiLHByaW1hcnk6ITAsaWNvbjoi8J+XkSJ9LHtsYWJlbDoiUmVwb3J0IixpY29uOiLimpEifV0scmVzb2x1dGlvblRpdGxlOiJNZXNzYWdlIHJlbW92ZWQiLHJlc29sdXRpb25Cb2R5OiJQaGlzaGluZyBTTVMgZGVsZXRlZCDCtyBzZW5kZXIgcmVwb3J0ZWQiLHJlc29sdXRpb25Ub25lOiJyZWQiLHZvQ3Vlczpbe2F0OjMwMCx0ZXh0OiJCbGFja0RpY2Ugc2NhbnMgbWVzc2FnZXMgZm9yIHBoaXNoaW5nIGluIHJlYWwgdGltZS4ifSx7YXQ6NDMwMCx0ZXh0OiJBIHNjYW0gU01TIHRyaWVzIHRvIHRyaWNrIHRoZSB1c2VyIHdpdGggYSBmYWtlIGJhbmsgYWxlcnQuIn0se2F0Ojk0MDAsdGV4dDoiQmxhY2tEaWNlIHJhaXNlcyB0aGUgQmxhY2tEaWNlIEFuZ2VsIHJpc2sgc2NvcmUgdG8gNzgsIGZsYWdnaW5nIHRoZSBzdXNwaWNpb3VzIGxpbmsuIn0se2F0OjE1NTAwLHRleHQ6IlRoZSB1c2VyIGlzIHdhcm5lZCBub3QgdG8gY2xpY2ssIGFuZCBjYW4gZGVsZXRlIGFuZCByZXBvcnQgdGhlIG1lc3NhZ2UuIn0se2F0OjMwMzAwLHRleHQ6IkJsYWNrRGljZSDigJQgcHJvdGVjdGluZyBmYW1pbGllcyBmcm9tIHBoaXNoaW5nLiBCb29rIGEgZGVtbyB0b2RheS4ifV19LHtpZDoic2ltc3dhcCIsZmlsZToiYmxhY2tkaWNlLWRlbW8tMDMtc2ltLXN3YXAubXA0Iixwcm9kdWN0OiJNb2JpbGUgU0RLIix0YWc6InNkayIsdGFnTGFiZWw6IlNESyDCtyBTSU0iLHRpdGxlOiJTSU0gU3dhcCBEZXRlY3Rpb24iLGJsdXJiOiJNaWHigJlzIFNJTSBzd2FwcGVkIHRvIGEgbmV3IGRldmljZS4gQmxhY2tEaWNlIEFuZ2VsIHJpc2sganVtcHMgdG8gOTIg4oCUIGNyaXRpY2FsLiIsaWNvbjoi8J+TsSIsY29udGV4dDoiTWlhIMK3IE9ubGluZSIsaW5pdGlhbFNjb3JlOjE1LGZpbmFsU2NvcmU6OTIsc2V2ZXJpdHk6InJlZCIsdGhyZWF0VGl0bGU6IlNJTSBTd2FwIERldGVjdGVkIix0aHJlYXRCb2R5OiJNaWHigJlzIFNJTSBjYXJkIHdhcyBjaGFuZ2VkIHRvIGEgbmV3IGRldmljZSIsZGV0YWlsSGVhZGxpbmU6IkltbWVkaWF0ZSBhY3Rpb24gcmVxdWlyZWQiLGRldGFpbExpbmVzOlsiU0lNIG1vdmVkIHRvIGFuIHVucmVjb2duaXNlZCBkZXZpY2UiLCJDb3VsZCBhbGxvdyBhY2NvdW50IHRha2VvdmVyIHZpYSBPVFAiLCJWZXJpZnkgTWlh4oCZcyBpZGVudGl0eSBiZWZvcmUgcHJvY2VlZGluZyJdLGFjdGlvbnM6W3tsYWJlbDoiVmVyaWZ5IGlkZW50aXR5IixwcmltYXJ5OiEwLGljb246IvCfm6EifSx7bGFiZWw6IkNvbnRhY3QgTWlhIixpY29uOiLwn5OeIn1dLHJlc29sdXRpb25UaXRsZToiQWNjb3VudCBsb2NrZWQiLHJlc29sdXRpb25Cb2R5OiJNaWHigJlzIG51bWJlciBzZWN1cmVkIMK3IGF3YWl0aW5nIHZlcmlmaWNhdGlvbiIscmVzb2x1dGlvblRvbmU6InJlZCIsc3RhdHVzQ2hhbmdlOiJNaWEgwrcg4pqg77iPIFNJTSBjaGFuZ2VkIix2b0N1ZXM6W3thdDozMDAsdGV4dDoiQmxhY2tEaWNlIHdhdGNoZXMgZm9yIFNJTS1zd2FwIGF0dGFja3MgYWNyb3NzIHRoZSBmYW1pbHkuIn0se2F0OjQzMDAsdGV4dDoiQSBTSU0gc3dhcCBpcyBkZXRlY3RlZCBvbiBNaWHigJlzIGFjY291bnQuIn0se2F0Ojk0MDAsdGV4dDoiVGhpcyBpcyBjcml0aWNhbCDigJQgdGhlIEJsYWNrRGljZSBBbmdlbCByaXNrIHNjb3JlIGp1bXBzIHRvIDkyLiJ9LHthdDoxNTUwMCx0ZXh0OiJUaGUgcGFyZW50IGlzIHByb21wdGVkIHRvIHZlcmlmeSBNaWHigJlzIGlkZW50aXR5IGFuZCBibG9jayB1bmF1dGhvcmlzZWQgYWNjZXNzLiJ9LHthdDozMDMwMCx0ZXh0OiJCbGFja0RpY2Ug4oCUIHN0b3BwaW5nIGFjY291bnQgdGFrZW92ZXIuIEJvb2sgYSBkZW1vIHRvZGF5LiJ9XX0se2lkOiJpZGVudGl0eSIsZmlsZToiYmxhY2tkaWNlLWRlbW8tMDQtaWRlbnRpdHktYnJlYWNoLm1wNCIscHJvZHVjdDoiSGFsbyBQbGF0Zm9ybSIsdGFnOiJoYWxvIix0YWdMYWJlbDoiSEFMTyDCtyBJRCIsdGl0bGU6IklkZW50aXR5IEJyZWFjaCBEZXRlY3Rpb24iLGJsdXJiOiJFbW1h4oCZcyBjcmVkZW50aWFscyBmb3VuZCBpbiBhIGJyZWFjaC4gQmxhY2tEaWNlIEFuZ2VsIHJpc2sgcmlzZXMgdG8gNzgg4oCUIGNoYW5nZSBwYXNzd29yZC4iLGljb246IvCflJAiLGNvbnRleHQ6IklkZW50aXR5IG1vbml0b3JpbmcgYWN0aXZlIixpbml0aWFsU2NvcmU6MzAsZmluYWxTY29yZTo3OCxzZXZlcml0eToieWVsbG93Iix0aHJlYXRUaXRsZToiQ3JlZGVudGlhbCBCcmVhY2ggRm91bmQiLHRocmVhdEJvZHk6IkVtbWHigJlzIHBhc3N3b3JkIHdhcyBleHBvc2VkIGluIGEgZGF0YSBicmVhY2giLGRldGFpbEhlYWRsaW5lOiJFbW1h4oCZcyBlbWFpbCB3YXMgaW4gYSBicmVhY2giLGRldGFpbExpbmVzOlsiR2FtaW5nIHNpdGUgaGFja2VkIOKAlCBlbWFpbCAmIHBhc3N3b3JkIGV4cG9zZWQiLCJSZS11c2VkIHBhc3N3b3JkIHB1dHMgb3RoZXIgYWNjb3VudHMgYXQgcmlzayIsIkNoYW5nZSB0aGUgcGFzc3dvcmQgdG8gc2VjdXJlIGhlciBhY2NvdW50Il0sYWN0aW9uczpbe2xhYmVsOiJIZWxwIEVtbWEgY2hhbmdlIGl0IixwcmltYXJ5OiEwLGljb246IvCflJEifSx7bGFiZWw6IkRpc21pc3MiLGljb246IsOXIn1dLHJlc29sdXRpb25UaXRsZToiR3VpZGVkIHJlc2V0IHN0YXJ0ZWQiLHJlc29sdXRpb25Cb2R5OiJQYXNzd29yZCBjaGFuZ2UgaW4gcHJvZ3Jlc3MgwrcgbW9uaXRvcmluZyBvbiIscmVzb2x1dGlvblRvbmU6InllbGxvdyIsc3RhdHVzQ2hhbmdlOiJFbW1hIMK3IDEgYnJlYWNoIGZvdW5kIix2b0N1ZXM6W3thdDozMDAsdGV4dDoiQmxhY2tEaWNlIGNvbnRpbnVvdXNseSBtb25pdG9ycyB0aGUgZGFyayB3ZWIgZm9yIGV4cG9zZWQgY3JlZGVudGlhbHMuIn0se2F0OjQzMDAsdGV4dDoiRW1tYeKAmXMgcGFzc3dvcmQgaXMgZm91bmQgaW4gYSBkYXRhIGJyZWFjaC4ifSx7YXQ6OTQwMCx0ZXh0OiJUaGUgQmxhY2tEaWNlIEFuZ2VsIHJpc2sgc2NvcmUgcmlzZXMgdG8gNzgsIHByb21wdGluZyBhIHBhc3N3b3JkIGNoYW5nZS4ifSx7YXQ6MTU1MDAsdGV4dDoiVGhlIHBhcmVudCBpcyBndWlkZWQgdGhyb3VnaCBzZWN1cmluZyBFbW1h4oCZcyBhY2NvdW50LiJ9LHthdDozMDMwMCx0ZXh0OiJCbGFja0RpY2Ug4oCUIGd1YXJkaW5nIHlvdXIgZmFtaWx54oCZcyBpZGVudGl0eS4gQm9vayBhIGRlbW8gdG9kYXkuIn1dfSx7aWQ6IndpZmkiLGZpbGU6ImJsYWNrZGljZS1kZW1vLTA1LXdpZmktc2VjdXJpdHkubXA0Iixwcm9kdWN0OiJIYWxvIFBsYXRmb3JtIix0YWc6ImhhbG8iLHRhZ0xhYmVsOiJIQUxPIMK3IFdJRkkiLHRpdGxlOiJJbnNlY3VyZSBXaUZpIERldGVjdGlvbiIsYmx1cmI6Ik1pYSBqb2luZWQgYW4gb3BlbiBXaUZpLiBCbGFja0RpY2UgQW5nZWwgcmlzayByaXNlcyB0byA3MCDigJQgc2VjdXJlIHR1bm5lbCBlbmFibGVkLiIsaWNvbjoi8J+TtiIsY29udGV4dDoiTWlhIMK3IDIgZGV2aWNlcyBvbmxpbmUiLGluaXRpYWxTY29yZToyOCxmaW5hbFNjb3JlOjcwLHNldmVyaXR5OiJ5ZWxsb3ciLHRocmVhdFRpdGxlOiJVbnNhZmUgV2lGaSBEZXRlY3RlZCIsdGhyZWF0Qm9keToiTWlhIGpvaW5lZCDigJxDb2ZmZWVCYXIgRnJlZeKAnSDigJQgdW5lbmNyeXB0ZWQgbmV0d29yayIsZGV0YWlsSGVhZGxpbmU6Ik9wZW4gJiB1bmVuY3J5cHRlZCBuZXR3b3JrIixkZXRhaWxMaW5lczpbIlRyYWZmaWMgb24gdGhpcyBuZXR3b3JrIGNhbiBiZSBpbnRlcmNlcHRlZCIsIlNlY3VyZSBjb25uZWN0aW9uIGVuYWJsZWQgYXV0b21hdGljYWxseSIsIk1pYeKAmXMgZGF0YSBpcyBub3cgcHJvdGVjdGVkIl0sYWN0aW9uczpbe2xhYmVsOiJCbG9jayB0aGlzIG5ldHdvcmsiLHByaW1hcnk6ITAsaWNvbjoi8J+aqyJ9LHtsYWJlbDoiS2VlcCBwcm90ZWN0ZWQgaGVyZSIsaWNvbjoi8J+boSJ9XSxyZXNvbHV0aW9uVGl0bGU6IlNlY3VyZSB0dW5uZWwgYWN0aXZlIixyZXNvbHV0aW9uQm9keToiRW5jcnlwdGVkIGNvbm5lY3Rpb24gcHJvdGVjdGluZyBNaWEiLHJlc29sdXRpb25Ub25lOiJ5ZWxsb3ciLHN0YXR1c0NoYW5nZToiTWlh4oCZcyBpUGhvbmUgwrcgc2VjdXJlZCBvbiB1bnNhZmUgV2lGaSIsdm9DdWVzOlt7YXQ6MzAwLHRleHQ6IkJsYWNrRGljZSBjaGVja3MgZXZlcnkgbmV0d29yayB5b3VyIGZhbWlseSBqb2lucy4ifSx7YXQ6NDMwMCx0ZXh0OiJNaWEgY29ubmVjdHMgdG8gYW4gb3BlbiwgdW5lbmNyeXB0ZWQgV2lGaSBuZXR3b3JrLiJ9LHthdDo5NDAwLHRleHQ6IkJsYWNrRGljZSByYWlzZXMgdGhlIEJsYWNrRGljZSBBbmdlbCBzY29yZSB0byA3MCBhbmQgZW5hYmxlcyBhIHNlY3VyZSB0dW5uZWwuIn0se2F0OjE1NTAwLHRleHQ6IkhlciBkYXRhIGlzIHByb3RlY3RlZCwgYW5kIHRoZSBwYXJlbnQgY2FuIGJsb2NrIHRoZSBuZXR3b3JrLiJ9LHthdDozMDMwMCx0ZXh0OiJCbGFja0RpY2Ug4oCUIHNlY3VyaW5nIGV2ZXJ5IGNvbm5lY3Rpb24uIEJvb2sgYSBkZW1vIHRvZGF5LiJ9XX0se2lkOiJkbnMiLGZpbGU6ImJsYWNrZGljZS1kZW1vLTA2LWRucy1ibG9jay5tcDQiLHByb2R1Y3Q6IkROUyBTaGllbGQiLHRhZzoiZG5zIix0YWdMYWJlbDoiRE5TIMK3IEJMT0NLIix0aXRsZToiTWFsaWNpb3VzIEROUyBCbG9jayIsYmx1cmI6IlJlcXVlc3QgdG8gYSBtYWxpY2lvdXMgZG9tYWluIGJsb2NrZWQuIEJsYWNrRGljZSBBbmdlbCByaXNrIHN0YXlzIGxvdyBhdCA0NSDigJQgcHJldmVudGlvbiBpbiBhY3Rpb24uIixpY29uOiLwn4yQIixjb250ZXh0OiJETlMgU2hpZWxkIGFjdGl2ZSIsaW5pdGlhbFNjb3JlOjM1LGZpbmFsU2NvcmU6NDUsc2V2ZXJpdHk6ImdyZWVuIix0aHJlYXRUaXRsZToiTWFsaWNpb3VzIEROUyBCbG9ja2VkIix0aHJlYXRCb2R5OiJCbG9ja2VkIHJlcXVlc3QgdG8gcGhpc2hpbmctZG9tYWluLmNvbSIsZGV0YWlsSGVhZGxpbmU6IlRocmVhdCBibG9ja2VkIGJlZm9yZSBpdCBjb3VsZCBsb2FkIixkZXRhaWxMaW5lczpbInBoaXNoaW5nLWRvbWFpbi5jb20g4oCUIGtub3duIG1hbGljaW91cyBkb21haW4iLCJSZXF1ZXN0IGludGVyY2VwdGVkIGF0IHRoZSBETlMgbGF5ZXIiLCIxMiBtYWxpY2lvdXMgZG9tYWlucyBibG9ja2VkIHRoaXMgd2VlayJdLGFjdGlvbnM6W3tsYWJlbDoiVmlldyBkYXNoYm9hcmQiLHByaW1hcnk6ITAsaWNvbjoi8J+TiiJ9LHtsYWJlbDoiRGlzbWlzcyIsaWNvbjoiw5cifV0scmVzb2x1dGlvblRpdGxlOiJSaXNrIGNvbnRhaW5lZCIscmVzb2x1dGlvbkJvZHk6IkROUyBTaGllbGQgYmxvY2tlZCB0aGUgdGhyZWF0IGF1dG9tYXRpY2FsbHkiLHJlc29sdXRpb25Ub25lOiJncmVlbiIsdm9DdWVzOlt7YXQ6MzAwLHRleHQ6IkJsYWNrRGljZSBETlMgU2hpZWxkIGZpbHRlcnMgZXZlcnkgZG9tYWluIHJlcXVlc3QuIn0se2F0OjQzMDAsdGV4dDoiQSBkZXZpY2UgdHJpZXMgdG8gcmVhY2ggYSBrbm93biBtYWxpY2lvdXMgZG9tYWluLiJ9LHthdDo5NDAwLHRleHQ6IkROUyBTaGllbGQgYmxvY2tzIGl0IGluc3RhbnRseSDigJQgdGhlIEJsYWNrRGljZSBBbmdlbCBzY29yZSBzdGF5cyBsb3cgYXQgNDUuIn0se2F0OjE1NTAwLHRleHQ6IlRoZSB0aHJlYXQgaXMgc3RvcHBlZCBiZWZvcmUgYW55IGRhbWFnZSwgYW5kIGxvZ2dlZCBpbiB0aGUgZGFzaGJvYXJkLiJ9LHthdDozMDMwMCx0ZXh0OiJCbGFja0RpY2Ug4oCUIHByZXZlbnRpb24gdGhhdCBqdXN0IHdvcmtzLiBCb29rIGEgZGVtbyB0b2RheS4ifV19LHtpZDoiYXBwcGVybXMiLGZpbGU6ImJsYWNrZGljZS1kZW1vLTA3LWFwcC1wZXJtaXNzaW9ucy5tcDQiLHByb2R1Y3Q6Ik1vYmlsZSBTREsiLHRhZzoic2RrIix0YWdMYWJlbDoiU0RLIMK3IFBFUk0iLHRpdGxlOiJSaXNreSBBcHAgUGVybWlzc2lvbnMiLGJsdXJiOiJBcHAgcmVxdWVzdHMgZXhjZXNzaXZlIHBlcm1pc3Npb25zLiBCbGFja0RpY2UgQW5nZWwgcmlzayByaXNlcyB0byA2NiDigJQgcmV2aWV3IHJlcXVpcmVkLiIsaWNvbjoi8J+TsiIsY29udGV4dDoiQXBwcm92YWxzIMK3IDEgcGVuZGluZyIsaW5pdGlhbFNjb3JlOjMyLGZpbmFsU2NvcmU6NjYsc2V2ZXJpdHk6InllbGxvdyIsdGhyZWF0VGl0bGU6IlJpc2t5IEFwcCBQZXJtaXNzaW9ucyIsdGhyZWF0Qm9keToi4oCcUGhvdG9FZGl0b3LigJ0gcmVxdWVzdHMgY29udGFjdHMgYW5kIGxvY2F0aW9uIixkZXRhaWxIZWFkbGluZToiRXhjZXNzaXZlIHBlcm1pc3Npb25zIHJlcXVlc3RlZCIsZGV0YWlsTGluZXM6WyJDb250YWN0cyBhbmQgbG9jYXRpb24gYWNjZXNzIHJlcXVlc3RlZCIsIk5vdCByZXF1aXJlZCBmb3IgdGhpcyBhcHDigJlzIGZ1bmN0aW9uIiwiQWdlIHJhdGluZzogMTIrIl0sYWN0aW9uczpbe2xhYmVsOiJEZWNsaW5lIixwcmltYXJ5OiEwLGljb246IsOXIn0se2xhYmVsOiJBcHByb3ZlICYgaW5zdGFsbCIsaWNvbjoi4pyTIn1dLHJlc29sdXRpb25UaXRsZToiSW5zdGFsbCBkZWNsaW5lZCIscmVzb2x1dGlvbkJvZHk6IlBob3RvRWRpdG9yIGJsb2NrZWQgwrcgcmVxdWVzdCBjbG9zZWQiLHJlc29sdXRpb25Ub25lOiJ5ZWxsb3ciLHN0YXR1c0NoYW5nZToiUGhvdG9FZGl0b3IgwrcgcmVxdWVzdCByZXZpZXdlZCIsdm9DdWVzOlt7YXQ6MzAwLHRleHQ6IkJsYWNrRGljZSByZXZpZXdzIGV2ZXJ5IGFwcCB5b3VyIGNoaWxkIHdhbnRzIHRvIGluc3RhbGwuIn0se2F0OjQzMDAsdGV4dDoiUGhvdG9FZGl0b3IgYXNrcyBmb3IgZXhjZXNzaXZlIHBlcm1pc3Npb25zIOKAlCBjb250YWN0cyBhbmQgbG9jYXRpb24uIn0se2F0Ojk0MDAsdGV4dDoiQmxhY2tEaWNlIGZsYWdzIHRoZSByaXNrIGFuZCByYWlzZXMgdGhlIEJsYWNrRGljZSBBbmdlbCBzY29yZSB0byA2Ni4ifSx7YXQ6MTU1MDAsdGV4dDoiVGhlIHBhcmVudCBjYW4gcmV2aWV3IHRoZSBwZXJtaXNzaW9ucyBhbmQgZGVjbGluZSB0aGUgaW5zdGFsbC4ifSx7YXQ6MzAzMDAsdGV4dDoiQmxhY2tEaWNlIOKAlCBzYWZlciBhcHBzIGZvciB5b3VuZ2VyIHVzZXJzLiBCb29rIGEgZGVtbyB0b2RheS4ifV19XTtmdW5jdGlvbiBrZShpKXtyZXR1cm4gb2UuZmluZChhPT5hLmlkPT09aSl9Y29uc3QgeT1bLjIzLDEsLjMyLDFdLGs9e3R5cGU6InNwcmluZyIsc3RpZmZuZXNzOjM0MCxkYW1waW5nOjI4fSxDPS44OCxzZT00OTYsdD17Ymc6IiMwMTNCNDkiLGJnR3JhZDoicmFkaWFsLWdyYWRpZW50KDE0MCUgOTAlIGF0IDUwJSAwJSwgIzA3NTQ2NiAwJSwgIzAxM0I0OSA1NSUsICMwMTMwM2IgMTAwJSkiLHN1cmZhY2UyOiJyZ2JhKDI1NSwyNTUsMjU1LDAuMDcpIixzdXJmYWNlMzoicmdiYSgyNTUsMjU1LDI1NSwwLjEwKSIsc3VyZmFjZVN0cjoiIzBhNDg1NiIsYm9yZGVyOiJyZ2JhKDI1NSwyNTUsMjU1LDAuMDkpIix0ZXh0OiIjZThmNGYzIix0ZXh0MjoiI2I5Y2RkMSIsbXV0ZWQ6IiM4YWE1YWIiLGRpbToiIzVhN2E4MiIsYWNjZW50OiIjM0JCNTg2IixhY2NlbnRTb2Z0OiJyZ2JhKDU5LDE4MSwxMzQsMC4xNikiLGFjY2VudEdsb3c6InJnYmEoNTksMTgxLDEzNCwwLjMwKSIsZGFuZ2VyOiIjZmY2YjZiIixkYW5nZXJTb2Z0OiJyZ2JhKDI1NSwxMDcsMTA3LDAuMTYpIix3YXJuOiIjZmZiNTZiIix3YXJuU29mdDoicmdiYSgyNTUsMTgxLDEwNywwLjE2KSIsc3VjY2VzczoiIzRlYzk5YSIsc3VjY2Vzc1NvZnQ6InJnYmEoNzgsMjAxLDE1NCwwLjE2KSJ9LFM9e3JlZDp7Y29sb3I6dC5kYW5nZXIsc29mdDp0LmRhbmdlclNvZnR9LHllbGxvdzp7Y29sb3I6dC53YXJuLHNvZnQ6dC53YXJuU29mdH0sZ3JlZW46e2NvbG9yOnQuc3VjY2Vzcyxzb2Z0OnQuc3VjY2Vzc1NvZnR9fSwkPXtjYWxsc2NhbTppZSxzbXNzY2FtOk4sc2ltc3dhcDp0ZSxpZGVudGl0eTplZSx3aWZpOlEsZG5zOkosYXBwcGVybXM6V307ZnVuY3Rpb24gcmUoaSl7cmV0dXJuIGk8Zy5zZXR1cEVuZD8xOmk8Zy5kZXRlY3RFbmQ/MjppPGcucmlza0VuZD8zOmk8Zy5yZXNwb25zZUVuZD80Omk8Zy5yZXNvbHV0aW9uRW5kPzU6Nn1jb25zdCBsZT1be0ljb246WSxsYWJlbDoiSG9tZSJ9LHtJY29uOlYsbGFiZWw6IkZhbWlseSJ9LHtJY29uOlcsbGFiZWw6IkRldmljZXMifSx7SWNvbjpYLGxhYmVsOiJDb250cm9scyJ9LHtJY29uOk4sbGFiZWw6IkFsZXJ0cyJ9XTtmdW5jdGlvbiBjZSh7c2l6ZTppPTUyfSl7cmV0dXJuIGUuanN4cygic3ZnIix7d2lkdGg6aSxoZWlnaHQ6aSx2aWV3Qm94OiIwIDAgNjQgNjQiLHhtbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsc3R5bGU6e2NvbG9yOnQuYWNjZW50LGZsZXhTaHJpbms6MH0sY2hpbGRyZW46W2UuanN4cygiZyIse2ZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMyIsc3Ryb2tlTGluZWpvaW46InJvdW5kIixzdHJva2VMaW5lY2FwOiJyb3VuZCIsY2hpbGRyZW46W2UuanN4KCJwYXRoIix7ZDoiTTMyIDYgTDU2IDIwIEw1NiA0NiBMMzIgNjAgTDggNDYgTDggMjAgWiJ9KSxlLmpzeCgicGF0aCIse2Q6Ik0zMiA2IEwzMiAzMiBNOCAyMCBMMzIgMzIgTTU2IDIwIEwzMiAzMiJ9KV19KSxlLmpzeHMoImciLHtmaWxsOiJjdXJyZW50Q29sb3IiLGNoaWxkcmVuOltlLmpzeCgiY2lyY2xlIix7Y3g6IjIwIixjeToiMjYiLHI6IjIuNCJ9KSxlLmpzeCgiY2lyY2xlIix7Y3g6IjIwIixjeToiMzQiLHI6IjIuNCJ9KSxlLmpzeCgiY2lyY2xlIix7Y3g6IjQ0IixjeToiMzQiLHI6IjIuNCJ9KV19KV19KX1mdW5jdGlvbiBkZSh7czppfSl7Y29uc3QgYT1TW2kuc2V2ZXJpdHldLG89JFtpLmlkXT8/UjtyZXR1cm4gZS5qc3hzKG4uZGl2LHtpbml0aWFsOnt5Oi0xOCxvcGFjaXR5OjAsc2NhbGU6Ljk3fSxhbmltYXRlOnt5OjAsb3BhY2l0eToxLHNjYWxlOjF9LHRyYW5zaXRpb246ayxzdHlsZTp7YmFja2dyb3VuZDphLnNvZnQsYm9yZGVyOmAxcHggc29saWQgJHthLmNvbG9yfTU1YCxib3JkZXJSYWRpdXM6MTIscGFkZGluZzoiMTFweCAxMnB4IixkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJmbGV4LXN0YXJ0IixnYXA6MTAsbWFyZ2luQm90dG9tOjExLGJveFNoYWRvdzoiMCA2cHggMjJweCByZ2JhKDAsMCwwLC4zNSkifSxjaGlsZHJlbjpbZS5qc3gobi5kaXYse2FuaW1hdGU6e3NjYWxlOlsxLDEuMDgsMV19LHRyYW5zaXRpb246e2R1cmF0aW9uOjEuNCxyZXBlYXQ6MS8wfSxzdHlsZTp7d2lkdGg6MzIsaGVpZ2h0OjMyLGJvcmRlclJhZGl1czo5LGJhY2tncm91bmQ6YS5jb2xvcixkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIiLGZsZXhTaHJpbms6MH0sY2hpbGRyZW46ZS5qc3gobyx7c2l6ZToxNyxzdHlsZTp7Y29sb3I6IiNmZmYifX0pfSksZS5qc3hzKCJkaXYiLHtzdHlsZTp7ZmxleDoxLGZvbnRTaXplOjEyLGxpbmVIZWlnaHQ6MS40NX0sY2hpbGRyZW46W2UuanN4KCJzdHJvbmciLHtzdHlsZTp7Y29sb3I6dC50ZXh0LGRpc3BsYXk6ImJsb2NrIixtYXJnaW5Cb3R0b206MX0sY2hpbGRyZW46aS50aHJlYXRUaXRsZX0pLGUuanN4KCJzcGFuIix7c3R5bGU6e2NvbG9yOnQudGV4dDJ9LGNoaWxkcmVuOmkudGhyZWF0Qm9keX0pXX0pXX0pfWZ1bmN0aW9uIHBlKHtzOmkscGhhc2U6YX0pe2NvbnN0IG89U1tpLnNldmVyaXR5XSxwPWE+PTI7cmV0dXJuIGUuanN4cygiZGl2Iix7c3R5bGU6e3Bvc2l0aW9uOiJyZWxhdGl2ZSJ9LGNoaWxkcmVuOltlLmpzeCgiZGl2Iix7c3R5bGU6e29wYWNpdHk6cD8uMzI6MSxmaWx0ZXI6cD8iYmx1cigxLjVweCkiOiJub25lIix0cmFuc2l0aW9uOiJvcGFjaXR5IC40NXMgZWFzZSwgZmlsdGVyIC40NXMgZWFzZSIscG9pbnRlckV2ZW50czoibm9uZSJ9LGNoaWxkcmVuOmUuanN4KFose30pfSksZS5qc3goUCx7Y2hpbGRyZW46cCYmZS5qc3hzKG4uZGl2LHtpbml0aWFsOntvcGFjaXR5OjB9LGFuaW1hdGU6e29wYWNpdHk6MX0sZXhpdDp7b3BhY2l0eTowfSxzdHlsZTp7cG9zaXRpb246ImFic29sdXRlIix0b3A6MCxsZWZ0OjAscmlnaHQ6MH0sY2hpbGRyZW46W2UuanN4KGRlLHtzOml9KSxlLmpzeHMobi5kaXYse2luaXRpYWw6e29wYWNpdHk6MCx5OjZ9LGFuaW1hdGU6e29wYWNpdHk6MSx5OjB9LHRyYW5zaXRpb246e2RlbGF5Oi4xMixlYXNlOnl9LHN0eWxlOntiYWNrZ3JvdW5kOm8uc29mdCxib3JkZXJSYWRpdXM6MTQscGFkZGluZzoiMTJweCAxNHB4IixkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDoxMCxtYXJnaW5Cb3R0b206MTAsYm94U2hhZG93OiIwIDZweCAyMnB4IHJnYmEoMCwwLDAsLjM1KSJ9LGNoaWxkcmVuOltlLmpzeCgiZGl2Iix7c3R5bGU6e3dpZHRoOjMyLGhlaWdodDozMixib3JkZXJSYWRpdXM6IjUwJSIsYmFja2dyb3VuZDpvLmNvbG9yLGRpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciIsZmxleFNocmluazowfSxjaGlsZHJlbjplLmpzeChSLHtzaXplOjE2LHN0eWxlOntjb2xvcjoiI2ZmZiJ9fSl9KSxlLmpzeCgiZGl2Iix7c3R5bGU6e2ZsZXg6MSxmb250U2l6ZToxMixjb2xvcjpvLmNvbG9yLGZvbnRXZWlnaHQ6NTAwfSxjaGlsZHJlbjppLmRldGFpbEhlYWRsaW5lfSldfSksYT49MyYmZS5qc3hzKG4uZGl2LHtpbml0aWFsOntvcGFjaXR5OjAseTo2fSxhbmltYXRlOntvcGFjaXR5OjEseTowfSx0cmFuc2l0aW9uOntlYXNlOnl9LHN0eWxlOntiYWNrZ3JvdW5kOnQuc3VyZmFjZVN0cixib3JkZXI6YDFweCBzb2xpZCAke3QuYm9yZGVyfWAsYm9yZGVyUmFkaXVzOjE0LHBhZGRpbmc6IjEycHggMTRweCIsYm94U2hhZG93OiIwIDZweCAyMnB4IHJnYmEoMCwwLDAsLjM1KSJ9LGNoaWxkcmVuOltlLmpzeHMoImRpdiIse3N0eWxlOntkaXNwbGF5OiJmbGV4IixqdXN0aWZ5Q29udGVudDoic3BhY2UtYmV0d2VlbiIsbWFyZ2luQm90dG9tOjd9LGNoaWxkcmVuOltlLmpzeCgic3BhbiIse3N0eWxlOntmb250U2l6ZToxMSxjb2xvcjp0Lm11dGVkfSxjaGlsZHJlbjoiQmxhY2tEaWNlIEFuZ2VsIHJpc2sifSksZS5qc3goInNwYW4iLHtzdHlsZTp7Zm9udFNpemU6MTEsZm9udFdlaWdodDo2MDAsY29sb3I6by5jb2xvcn0sY2hpbGRyZW46aS5zZXZlcml0eT09PSJncmVlbiI/IkNvbnRhaW5lZCI6aS5zZXZlcml0eT09PSJ5ZWxsb3ciPyJFbGV2YXRlZCI6IkNyaXRpY2FsIn0pXX0pLGUuanN4KCJkaXYiLHtzdHlsZTp7aGVpZ2h0OjYsYmFja2dyb3VuZDp0LnN1cmZhY2UzLGJvcmRlclJhZGl1czo0LG92ZXJmbG93OiJoaWRkZW4ifSxjaGlsZHJlbjplLmpzeChuLmRpdix7aW5pdGlhbDp7d2lkdGg6YCR7aS5pbml0aWFsU2NvcmV9JWB9LGFuaW1hdGU6e3dpZHRoOmAke2kuZmluYWxTY29yZX0lYH0sdHJhbnNpdGlvbjp7ZHVyYXRpb246Ri8xZTMsZWFzZTp5fSxzdHlsZTp7aGVpZ2h0OiIxMDAlIixib3JkZXJSYWRpdXM6NCxiYWNrZ3JvdW5kOm8uY29sb3J9fSl9KV19KV19LCJhbGVydCIpfSldfSl9ZnVuY3Rpb24gdWUoe3M6aSx0YXBwZWQ6YX0pe2NvbnN0IG89U1tpLnNldmVyaXR5XSxwPSRbaS5pZF0/P1I7cmV0dXJuIGUuanN4cyhuLmRpdix7aW5pdGlhbDp7b3BhY2l0eTowLHg6MTR9LGFuaW1hdGU6e29wYWNpdHk6MSx4OjB9LHRyYW5zaXRpb246e2Vhc2U6eX0sY2hpbGRyZW46W2UuanN4cygiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsZ2FwOjgsbWFyZ2luQm90dG9tOjE0fSxjaGlsZHJlbjpbZS5qc3goInNwYW4iLHtzdHlsZTp7Zm9udFNpemU6MTgsY29sb3I6dC5tdXRlZH0sY2hpbGRyZW46IuKAuSJ9KSxlLmpzeCgic3BhbiIse3N0eWxlOntmb250U2l6ZToxNSxmb250V2VpZ2h0OjYwMCxjb2xvcjp0LnRleHR9LGNoaWxkcmVuOiJUaHJlYXQgZGV0YWlscyJ9KV19KSxlLmpzeHMoImRpdiIse3N0eWxlOntiYWNrZ3JvdW5kOm8uc29mdCxib3JkZXJSYWRpdXM6MTQscGFkZGluZzoiMTZweCAxNHB4Iix0ZXh0QWxpZ246ImNlbnRlciIsbWFyZ2luQm90dG9tOjEyfSxjaGlsZHJlbjpbZS5qc3goImRpdiIse3N0eWxlOnt3aWR0aDo0OCxoZWlnaHQ6NDgsYm9yZGVyUmFkaXVzOjEzLGJhY2tncm91bmQ6by5jb2xvcixkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIiLG1hcmdpbjoiMCBhdXRvIDEwcHgifSxjaGlsZHJlbjplLmpzeChwLHtzaXplOjI0LHN0eWxlOntjb2xvcjoiI2ZmZiJ9fSl9KSxlLmpzeCgiZGl2Iix7c3R5bGU6e2ZvbnRTaXplOjE0LGZvbnRXZWlnaHQ6NzAwLGNvbG9yOnQudGV4dH0sY2hpbGRyZW46aS50aHJlYXRUaXRsZX0pLGUuanN4KCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6MTEsY29sb3I6by5jb2xvcixtYXJnaW5Ub3A6M30sY2hpbGRyZW46aS5kZXRhaWxIZWFkbGluZX0pXX0pLGUuanN4KCJkaXYiLHtzdHlsZTp7YmFja2dyb3VuZDp0LnN1cmZhY2UyLGJvcmRlcjpgMXB4IHNvbGlkICR7dC5ib3JkZXJ9YCxib3JkZXJSYWRpdXM6MTQscGFkZGluZzoiNHB4IDE0cHgiLG1hcmdpbkJvdHRvbToxMn0sY2hpbGRyZW46aS5kZXRhaWxMaW5lcy5tYXAoKHIsbCk9PmUuanN4cyhuLmRpdix7aW5pdGlhbDp7b3BhY2l0eTowLHg6LTZ9LGFuaW1hdGU6e29wYWNpdHk6MSx4OjB9LHRyYW5zaXRpb246e2RlbGF5Oi4xNStsKi4xfSxzdHlsZTp7ZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiZmxleC1zdGFydCIsZ2FwOjkscGFkZGluZzoiOXB4IDAiLGJvcmRlclRvcDpsPT09MD8ibm9uZSI6YDFweCBzb2xpZCAke3QuYm9yZGVyfWAsZm9udFNpemU6MTEuNSxjb2xvcjp0LnRleHQyLGxpbmVIZWlnaHQ6MS40fSxjaGlsZHJlbjpbZS5qc3goInNwYW4iLHtzdHlsZTp7d2lkdGg6NSxoZWlnaHQ6NSxib3JkZXJSYWRpdXM6IjUwJSIsYmFja2dyb3VuZDpvLmNvbG9yLG1hcmdpblRvcDo1LGZsZXhTaHJpbms6MH19KSxyXX0scikpfSksZS5qc3goImRpdiIse3N0eWxlOntkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4iLGdhcDo4fSxjaGlsZHJlbjppLmFjdGlvbnMubWFwKHI9PmUuanN4cyhuLmRpdix7YW5pbWF0ZTpyLnByaW1hcnkmJmE/e3NjYWxlOlsxLC45NiwxXX06e30sdHJhbnNpdGlvbjp7ZHVyYXRpb246LjR9LHN0eWxlOntmb250U2l6ZToxMyxmb250V2VpZ2h0OjYwMCxib3JkZXJSYWRpdXM6MTIscGFkZGluZzoiMTFweCAxNHB4Iixib3JkZXI6ci5wcmltYXJ5PyJub25lIjpgMXB4IHNvbGlkICR7dC5ib3JkZXJ9YCxiYWNrZ3JvdW5kOnIucHJpbWFyeT9vLmNvbG9yOiJ0cmFuc3BhcmVudCIsY29sb3I6ci5wcmltYXJ5PyIjZmZmIjp0LnRleHQyLGRpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciIsZ2FwOjcsYm94U2hhZG93OnIucHJpbWFyeT9gMCA2cHggMjBweCAke28uY29sb3J9NTVgOiJub25lIn0sY2hpbGRyZW46W3IuaWNvbiYmZS5qc3goInNwYW4iLHtjaGlsZHJlbjpyLmljb259KSxyLmxhYmVsXX0sci5sYWJlbCkpfSldfSl9ZnVuY3Rpb24gaGUoe3M6aX0pe2NvbnN0IGE9U1tpLnJlc29sdXRpb25Ub25lXSxvPWkucmVzb2x1dGlvblRvbmU9PT0iZ3JlZW4iO3JldHVybiBlLmpzeHMobi5kaXYse2luaXRpYWw6e29wYWNpdHk6MH0sYW5pbWF0ZTp7b3BhY2l0eToxfSxzdHlsZTp7cGFkZGluZ1RvcDo2fSxjaGlsZHJlbjpbZS5qc3hzKG4uZGl2LHtpbml0aWFsOntzY2FsZTouOTR9LGFuaW1hdGU6e3NjYWxlOjF9LHRyYW5zaXRpb246ayxzdHlsZTp7YmFja2dyb3VuZDphLnNvZnQsYm9yZGVyUmFkaXVzOjE2LHBhZGRpbmc6IjIwcHggMTRweCIsdGV4dEFsaWduOiJjZW50ZXIiLG1hcmdpbkJvdHRvbToxMn0sY2hpbGRyZW46W2UuanN4KG4uZGl2LHtpbml0aWFsOntzY2FsZTowLHJvdGF0ZTotMjB9LGFuaW1hdGU6e3NjYWxlOjEscm90YXRlOjB9LHRyYW5zaXRpb246ey4uLmssZGVsYXk6LjF9LHN0eWxlOnt3aWR0aDo1NCxoZWlnaHQ6NTQsYm9yZGVyUmFkaXVzOiI1MCUiLGJhY2tncm91bmQ6YS5jb2xvcixkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIiLG1hcmdpbjoiMCBhdXRvIDEycHgifSxjaGlsZHJlbjpvP2UuanN4KG5lLHtzaXplOjI2LHN0eWxlOntjb2xvcjoiI2ZmZiJ9fSk6ZS5qc3goYWUse3NpemU6MjYsc3R5bGU6e2NvbG9yOiIjZmZmIn19KX0pLGUuanN4KCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6MTUsZm9udFdlaWdodDo3MDAsY29sb3I6dC50ZXh0fSxjaGlsZHJlbjppLnJlc29sdXRpb25UaXRsZX0pLGUuanN4KCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6MTEuNSxjb2xvcjphLmNvbG9yLG1hcmdpblRvcDo0fSxjaGlsZHJlbjppLnJlc29sdXRpb25Cb2R5fSldfSksaS5zdGF0dXNDaGFuZ2UmJmUuanN4cyhuLmRpdix7aW5pdGlhbDp7b3BhY2l0eTowLHk6Nn0sYW5pbWF0ZTp7b3BhY2l0eToxLHk6MH0sdHJhbnNpdGlvbjp7ZGVsYXk6LjJ9LHN0eWxlOntiYWNrZ3JvdW5kOnQuc3VyZmFjZTIsYm9yZGVyOmAxcHggc29saWQgJHt0LmJvcmRlcn1gLGJvcmRlclJhZGl1czoxNCxwYWRkaW5nOiIxMnB4IDE0cHgiLGZvbnRTaXplOjEyLGNvbG9yOnQudGV4dDIsZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixnYXA6OX0sY2hpbGRyZW46W2UuanN4KCJzcGFuIix7c3R5bGU6e2NvbG9yOmEuY29sb3J9LGNoaWxkcmVuOiLigLoifSksaS5zdGF0dXNDaGFuZ2VdfSldfSl9ZnVuY3Rpb24geGUoKXtyZXR1cm4gZS5qc3hzKG4uZGl2LHtpbml0aWFsOntvcGFjaXR5OjB9LGFuaW1hdGU6e29wYWNpdHk6MX0sdHJhbnNpdGlvbjp7ZHVyYXRpb246LjV9LHN0eWxlOntwb3NpdGlvbjoiYWJzb2x1dGUiLGluc2V0OjAsekluZGV4OjYwLGJhY2tncm91bmQ6dC5iZyxiYWNrZ3JvdW5kSW1hZ2U6dC5iZ0dyYWQsZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIiLGdhcDoxNixwYWRkaW5nOiIwIDI0cHgiLHRleHRBbGlnbjoiY2VudGVyIn0sY2hpbGRyZW46W2UuanN4cyhuLmRpdix7aW5pdGlhbDp7c2NhbGU6LjYsb3BhY2l0eTowfSxhbmltYXRlOntzY2FsZToxLG9wYWNpdHk6MX0sdHJhbnNpdGlvbjprLHN0eWxlOntwb3NpdGlvbjoicmVsYXRpdmUifSxjaGlsZHJlbjpbZS5qc3gobi5kaXYse2FuaW1hdGU6e3NjYWxlOlsxLDEuMywxXSxvcGFjaXR5OlsuMjUsLjA1LC4yNV19LHRyYW5zaXRpb246e2R1cmF0aW9uOjMscmVwZWF0OjEvMH0sc3R5bGU6e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsaW5zZXQ6LTE2LGJvcmRlclJhZGl1czoiNTAlIixiYWNrZ3JvdW5kOnQuYWNjZW50LGZpbHRlcjoiYmx1cigxMnB4KSJ9fSksZS5qc3goImRpdiIse3N0eWxlOntwb3NpdGlvbjoicmVsYXRpdmUifSxjaGlsZHJlbjplLmpzeChjZSx7c2l6ZTo1Mn0pfSldfSksZS5qc3hzKCJkaXYiLHtjaGlsZHJlbjpbZS5qc3goImRpdiIse3N0eWxlOntmb250U2l6ZToyMCxmb250V2VpZ2h0OjcwMCxjb2xvcjp0LnRleHQsbGV0dGVyU3BhY2luZzoiLS40cHgifSxjaGlsZHJlbjoiQmxhY2tEaWNlIn0pLGUuanN4KCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6MTEsY29sb3I6dC5tdXRlZCxtYXJnaW5Ub3A6NCxsZXR0ZXJTcGFjaW5nOiIuM3B4In0sY2hpbGRyZW46IlBvd2VyZWQgYnkgQmxhY2tEaWNlIn0pXX0pLGUuanN4KG4uZGl2LHtpbml0aWFsOntvcGFjaXR5OjAseTo4fSxhbmltYXRlOntvcGFjaXR5OjEseTowfSx0cmFuc2l0aW9uOntkZWxheTouMzV9LHN0eWxlOntiYWNrZ3JvdW5kOnQuYWNjZW50LGNvbG9yOiIjZmZmIixmb250U2l6ZToxMyxmb250V2VpZ2h0OjYwMCxwYWRkaW5nOiIxMXB4IDI4cHgiLGJvcmRlclJhZGl1czoxMDAsYm94U2hhZG93OmAwIDEwcHggMjhweCAke3QuYWNjZW50fTU1YH0sY2hpbGRyZW46IkJvb2sgYSBEZW1vIn0pLGUuanN4KG4uZGl2LHtpbml0aWFsOntvcGFjaXR5OjB9LGFuaW1hdGU6e29wYWNpdHk6MX0sdHJhbnNpdGlvbjp7ZGVsYXk6LjZ9LHN0eWxlOntmb250U2l6ZToxMC41LGNvbG9yOnQubXV0ZWQsbGV0dGVyU3BhY2luZzoiLjRweCJ9LGNoaWxkcmVuOiJibGFja2RpY2UuY29tIn0pXX0pfWZ1bmN0aW9uIGdlKHtzOmkscGhhc2U6YSxzY29yZTpvLHRhcHBlZDpwfSl7Y29uc3Qgcj1pLmlkPT09ImFwcHBlcm1zIj80OjA7cmV0dXJuIGUuanN4KCJkaXYiLHtzdHlsZTp7d2lkdGg6MjkwLGhlaWdodDo2MjQsZmxleFNocmluazowLHBvc2l0aW9uOiJyZWxhdGl2ZSIsYm9yZGVyUmFkaXVzOjUwLHBhZGRpbmc6NCxiYWNrZ3JvdW5kOiJsaW5lYXItZ3JhZGllbnQoMTUwZGVnLCAjMmMzYTQyIDAlLCAjMGMxNDE4IDQ1JSwgIzFhMjYyZCAxMDAlKSIsYm94U2hhZG93OiIwIDUwcHggMTAwcHggcmdiYSgwLDAsMCwuNzUpLCAwIDhweCAzMHB4IHJnYmEoMCwwLDAsLjUpLCBpbnNldCAwIDAgMCAxcHggcmdiYSgyNTUsMjU1LDI1NSwuMDYpIn0sY2hpbGRyZW46ZS5qc3hzKCJkaXYiLHtzdHlsZTp7d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsYm9yZGVyUmFkaXVzOjQ2LG92ZXJmbG93OiJoaWRkZW4iLHBvc2l0aW9uOiJyZWxhdGl2ZSIsYmFja2dyb3VuZDp0LmJnLGJhY2tncm91bmRJbWFnZTp0LmJnR3JhZCxib3hTaGFkb3c6Imluc2V0IDAgMCAwIDFweCByZ2JhKDAsMCwwLC42KSJ9LGNoaWxkcmVuOltlLmpzeHMoImRpdiIse3N0eWxlOntkaXNwbGF5OiJmbGV4IixqdXN0aWZ5Q29udGVudDoic3BhY2UtYmV0d2VlbiIsYWxpZ25JdGVtczoiY2VudGVyIixwYWRkaW5nOiIxNnB4IDI2cHggOHB4Iixmb250U2l6ZToxMSxjb2xvcjp0LnRleHQsZm9udFdlaWdodDo2MDB9LGNoaWxkcmVuOltlLmpzeCgic3BhbiIse2NoaWxkcmVuOiI5OjQxIn0pLGUuanN4KCJzcGFuIix7c3R5bGU6e2ZvbnRTaXplOjEwLGNvbG9yOnQubXV0ZWR9LGNoaWxkcmVuOiI1R8KgwqDilrIgMTAwJSJ9KV19KSxlLmpzeCgiZGl2Iix7c3R5bGU6e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOjEyLGxlZnQ6IjUwJSIsdHJhbnNmb3JtOiJ0cmFuc2xhdGVYKC01MCUpIix3aWR0aDo5MixoZWlnaHQ6MjYsYm9yZGVyUmFkaXVzOjE0LGJhY2tncm91bmQ6IiMwMDAiLHpJbmRleDozMH19KSxlLmpzeCgiZGl2Iix7c3R5bGU6e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOjQyLGJvdHRvbTo1OCxsZWZ0OjAscmlnaHQ6MCxvdmVyZmxvd1k6ImF1dG8iLHBhZGRpbmc6IjZweCAxM3B4IDhweCJ9LGNoaWxkcmVuOmUuanN4cyhuLmRpdix7aW5pdGlhbDp7b3BhY2l0eTowfSxhbmltYXRlOntvcGFjaXR5OjF9LHRyYW5zaXRpb246e2R1cmF0aW9uOi4zfSxjaGlsZHJlbjpbYTw9MyYmZS5qc3gocGUse3M6aSxwaGFzZTphfSksYT09PTQmJmUuanN4KHVlLHtzOmksdGFwcGVkOnB9KSxhPj01JiZlLmpzeChoZSx7czppfSldfSxhPD0zPyJob21lIjphPT09ND8iZGV0YWlsIjoicmVzb2x1dGlvbiIpfSksZS5qc3goImRpdiIse3N0eWxlOntwb3NpdGlvbjoiYWJzb2x1dGUiLGxlZnQ6MCxyaWdodDowLGJvdHRvbTowLGhlaWdodDo1OCxiYWNrZ3JvdW5kOnQuc3VyZmFjZVN0cixib3JkZXJUb3A6YDFweCBzb2xpZCAke3QuYm9yZGVyfWAsZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoic3BhY2UtYXJvdW5kIixwYWRkaW5nQm90dG9tOjZ9LGNoaWxkcmVuOmxlLm1hcCgobCxoKT0+ZS5qc3hzKCJkaXYiLHtzdHlsZTp7ZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDoyLGZvbnRTaXplOjksY29sb3I6aD09PXI/dC5hY2NlbnQ6dC5kaW19LGNoaWxkcmVuOltlLmpzeChsLkljb24se3NpemU6MTgsc3R5bGU6e2NvbG9yOmg9PT1yP3QuYWNjZW50OnQuZGltfX0pLGwubGFiZWxdfSxsLmxhYmVsKSl9KSxhPj02JiZlLmpzeCh4ZSx7fSksZS5qc3goImRpdiIse3N0eWxlOntwb3NpdGlvbjoiYWJzb2x1dGUiLGluc2V0OjAsYm9yZGVyUmFkaXVzOjQ2LHBvaW50ZXJFdmVudHM6Im5vbmUiLGJhY2tncm91bmQ6ImxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMjU1LDI1NSwyNTUsLjA3KSAwJSwgcmdiYSgyNTUsMjU1LDI1NSwwKSAzMiUpIix6SW5kZXg6NDB9fSldfSl9KX1jb25zdCBmZT1bIiIsIlNldHVwIiwiRGV0ZWN0aW9uIiwiUmlzayBJbXBhY3QiLCJSZXNwb25zZSIsIlJlc29sdXRpb24iLCJCb29rIGEgRGVtbyJdO2Z1bmN0aW9uIHllKHtzY2VuYXJpbzppLGF1dG9QbGF5OmE9ITEsY2hyb21lOm89ITB9KXtjb25zdFtwLHJdPWQudXNlU3RhdGUoMCksW2wsaF09ZC51c2VTdGF0ZSghMSksW3gscV09ZC51c2VTdGF0ZSghMSksW08sQV09ZC51c2VTdGF0ZShpLmluaXRpYWxTY29yZSksW3YsTV09ZC51c2VTdGF0ZSghMSksbT1kLnVzZVJlZigwKSxFPWQudXNlUmVmKDApLGo9ZC51c2VSZWYoITEpLHc9ZC51c2VSZWYoLTEpLGM9cmUocCksRz1NYXRoLm1pbihwL2cudG90YWwsMSksQj0oKT0+e3RyeXt3aW5kb3cuc3BlZWNoU3ludGhlc2lzJiZ3aW5kb3cuc3BlZWNoU3ludGhlc2lzLmNhbmNlbCgpfWNhdGNoe319O2Z1bmN0aW9uIHooKXtoKCEwKSxFLmN1cnJlbnQ9cGVyZm9ybWFuY2Uubm93KCktcDtjb25zdCBzPSgpPT57Y29uc3QgdT1wZXJmb3JtYW5jZS5ub3coKS1FLmN1cnJlbnQ7cih1KSx1PGcudG90YWw/bS5jdXJyZW50PXJlcXVlc3RBbmltYXRpb25GcmFtZShzKTpoKCExKX07bS5jdXJyZW50PXJlcXVlc3RBbmltYXRpb25GcmFtZShzKX1mdW5jdGlvbiBLKCl7aCghMSksY2FuY2VsQW5pbWF0aW9uRnJhbWUobS5jdXJyZW50KSxCKCl9ZnVuY3Rpb24gXygpe2NhbmNlbEFuaW1hdGlvbkZyYW1lKG0uY3VycmVudCksQigpLGgoITEpLHIoMCksQShpLmluaXRpYWxTY29yZSksTSghMSksai5jdXJyZW50PSExLHcuY3VycmVudD0tMX1kLnVzZUVmZmVjdCgoKT0+e2lmKCFhKXJldHVybjtjb25zdCBzPXNldFRpbWVvdXQoKCk9PnooKSw0NTApO3JldHVybigpPT5jbGVhclRpbWVvdXQocyl9LFtdKSxkLnVzZUVmZmVjdCgoKT0+KCk9PntjYW5jZWxBbmltYXRpb25GcmFtZShtLmN1cnJlbnQpLEIoKX0sW10pLGQudXNlRWZmZWN0KCgpPT57aWYoIWx8fGM8M3x8ai5jdXJyZW50KXJldHVybjtqLmN1cnJlbnQ9ITA7Y29uc3Qgcz1VKGkuaW5pdGlhbFNjb3JlLGkuZmluYWxTY29yZSx7ZHVyYXRpb246Ri8xZTMsZWFzZTpbLjIyLDEsLjM2LDFdLG9uVXBkYXRlOnU9PkEoTWF0aC5yb3VuZCh1KSl9KTtyZXR1cm4oKT0+cy5zdG9wKCl9LFtjLGwsaV0pLGQudXNlRWZmZWN0KCgpPT57aWYoYz09PTQmJiF2KXtjb25zdCBzPXNldFRpbWVvdXQoKCk9Pk0oITApLDI2MDApO3JldHVybigpPT5jbGVhclRpbWVvdXQocyl9fSxbYyx2XSksZC51c2VFZmZlY3QoKCk9PntpZighbHx8eClyZXR1cm47Y29uc3Qgcz1jPj02PzQ6Yy0xO2lmKHM8MHx8cz40fHx3LmN1cnJlbnQ9PT1zKXJldHVybjt3LmN1cnJlbnQ9cztjb25zdCB1PXdpbmRvdy5zcGVlY2hTeW50aGVzaXM7aWYoIXUpcmV0dXJuO2NvbnN0IEw9aS52b0N1ZXNbc107aWYoIUwpcmV0dXJuO3UuY2FuY2VsKCk7Y29uc3QgYj1uZXcgU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlKEwudGV4dCk7Yi5sYW5nPSJlbi1HQiIsYi5yYXRlPS45NyxiLnBpdGNoPTEuMDI7Y29uc3QgVD11LmdldFZvaWNlcygpLEg9VC5maW5kKGY9Pi9lbi1HQi9pLnRlc3QoZi5sYW5nKSYmL2ZlbWFsZXxsaWJieXxzb25pYXxnb29nbGUgdWsgZW5nbGlzaCBmZW1hbGV8c2FtYW50aGEvaS50ZXN0KGYubmFtZSkpfHxULmZpbmQoZj0+L2VuLUdCL2kudGVzdChmLmxhbmcpKXx8VC5maW5kKGY9Pi9eZW4vaS50ZXN0KGYubGFuZykpO0gmJihiLnZvaWNlPUgpLHUuc3BlYWsoYil9LFtjLGwseCxpXSk7Y29uc3QgST1pLnZvQ3Vlc1tjPj02PzQ6TWF0aC5tYXgoMCxjLTEpXSxEPXt3aWR0aDozNCxoZWlnaHQ6MzQsYm9yZGVyUmFkaXVzOiI1MCUiLGJhY2tncm91bmQ6InJnYmEoMjU1LDI1NSwyNTUsLjA2KSIsYm9yZGVyOiIxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMSkiLGNvbG9yOnQubXV0ZWQsZm9udFNpemU6MTMsY3Vyc29yOiJwb2ludGVyIixmb250RmFtaWx5OiJpbmhlcml0IixkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIiLGZsZXhTaHJpbms6MH07cmV0dXJuIGUuanN4cygiZGl2Iix7Y2xhc3NOYW1lOiJiZC1kZW1vLXJvb3QiLHN0eWxlOntwb3NpdGlvbjoiYWJzb2x1dGUiLGluc2V0OjAsb3ZlcmZsb3c6ImhpZGRlbiIsYmFja2dyb3VuZDoicmFkaWFsLWdyYWRpZW50KDEzMCUgOTAlIGF0IDUwJSAwJSwgIzA3NTQ2NiAwJSwgIzAxM0I0OSAzOCUsICMwMjFiMjIgNzIlLCAjMGExYTIyIDEwMCUpIixmb250RmFtaWx5OiInVWJ1bnR1JywgLWFwcGxlLXN5c3RlbSwgc3lzdGVtLXVpLCBzYW5zLXNlcmlmIixXZWJraXRGb250U21vb3RoaW5nOiJhbnRpYWxpYXNlZCIsZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIifSxjaGlsZHJlbjpbZS5qc3goImRpdiIse3N0eWxlOntwb3NpdGlvbjoiYWJzb2x1dGUiLGluc2V0OjAscG9pbnRlckV2ZW50czoibm9uZSIsYmFja2dyb3VuZDoicmFkaWFsLWdyYWRpZW50KDEyMCUgODAlIGF0IDUwJSA0NSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgwLDAsMCwuNSkgMTAwJSkifX0pLG8mJmUuanN4cygiZGl2Iix7c3R5bGU6e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOjIwLGxlZnQ6MjQsZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixnYXA6OCx6SW5kZXg6NTB9LGNoaWxkcmVuOltlLmpzeCgic3BhbiIse3N0eWxlOntmb250U2l6ZTo5LGZvbnRXZWlnaHQ6NzAwLGxldHRlclNwYWNpbmc6IjEuNXB4Iix0ZXh0VHJhbnNmb3JtOiJ1cHBlcmNhc2UiLGNvbG9yOnQuYWNjZW50fSxjaGlsZHJlbjppLnRhZ0xhYmVsfSksZS5qc3goInNwYW4iLHtzdHlsZTp7d2lkdGg6MTQsaGVpZ2h0OjEsYmFja2dyb3VuZDoicmdiYSgyNTUsMjU1LDI1NSwuMikifX0pLGUuanN4KCJzcGFuIix7c3R5bGU6e2ZvbnRTaXplOjExLGNvbG9yOiJyZ2JhKDI1NSwyNTUsMjU1LC42NSkifSxjaGlsZHJlbjpmZVtjXX0pXX0pLGwmJm8mJmUuanN4cygiZGl2Iix7c3R5bGU6e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOjE4LHJpZ2h0OjIyLGRpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsZ2FwOjYsYmFja2dyb3VuZDoicmdiYSgwLDAsMCwuNSkiLGJvcmRlcjoiMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjEpIixib3JkZXJSYWRpdXM6MTAwLHBhZGRpbmc6IjZweCAxMnB4Iix6SW5kZXg6NjB9LGNoaWxkcmVuOltlLmpzeChuLnNwYW4se2FuaW1hdGU6e29wYWNpdHk6WzEsMCwxXX0sdHJhbnNpdGlvbjp7ZHVyYXRpb246MS4yLHJlcGVhdDoxLzB9LHN0eWxlOnt3aWR0aDo4LGhlaWdodDo4LGJvcmRlclJhZGl1czoiNTAlIixiYWNrZ3JvdW5kOiIjZWY0NDQ0IixkaXNwbGF5OiJpbmxpbmUtYmxvY2sifX0pLGUuanN4KCJzcGFuIix7c3R5bGU6e2ZvbnRTaXplOjEwLGZvbnRXZWlnaHQ6NzAwLGNvbG9yOiIjZmZmIn0sY2hpbGRyZW46IlJFQyJ9KV19KSxlLmpzeHMoImRpdiIse3N0eWxlOntmbGV4OjEsbWluSGVpZ2h0OjAsZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoiY2VudGVyIixnYXA6MjAsekluZGV4OjEscGFkZGluZzoiOHB4IDAifSxjaGlsZHJlbjpbZS5qc3hzKCJkaXYiLHtzdHlsZTp7ZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDoxNH0sY2hpbGRyZW46W2UuanN4KG4uZGl2LHtzdHlsZTp7cGVyc3BlY3RpdmU6MTMwMH0sY2hpbGRyZW46ZS5qc3gobi5kaXYse2FuaW1hdGU6e3JvdGF0ZVk6LTMscm90YXRlWDoyfSx0cmFuc2l0aW9uOntkdXJhdGlvbjoxLjEsZWFzZTp5fSxzdHlsZTp7dHJhbnNmb3JtU3R5bGU6InByZXNlcnZlLTNkIn0sY2hpbGRyZW46ZS5qc3hzKG4uZGl2LHthbmltYXRlOnt5OlswLC03LDBdfSx0cmFuc2l0aW9uOntkdXJhdGlvbjo1LHJlcGVhdDoxLzAsZWFzZToiZWFzZUluT3V0In0sc3R5bGU6e3Bvc2l0aW9uOiJyZWxhdGl2ZSIsd2lkdGg6MjkwKkMsaGVpZ2h0OjYyNCpDfSxjaGlsZHJlbjpbZS5qc3goImRpdiIse3N0eWxlOntwb3NpdGlvbjoiYWJzb2x1dGUiLGluc2V0OiI4JSAxNCUiLGJvcmRlclJhZGl1czoiNTAlIixiYWNrZ3JvdW5kOnQuYWNjZW50LG9wYWNpdHk6LjE2LGZpbHRlcjoiYmx1cig1NXB4KSIsekluZGV4OjB9fSksZS5qc3goImRpdiIse3N0eWxlOnt0cmFuc2Zvcm06YHNjYWxlKCR7Q30pYCx0cmFuc2Zvcm1PcmlnaW46InRvcCBsZWZ0In0sY2hpbGRyZW46ZS5qc3goZ2Use3M6aSxwaGFzZTpjLHNjb3JlOk8sdGFwcGVkOnZ9KX0pXX0pfSl9KSxlLmpzeCgiZGl2Iix7c3R5bGU6e3Bvc2l0aW9uOiJyZWxhdGl2ZSIsd2lkdGg6MzIwLG1heFdpZHRoOiI4NnZ3IixoZWlnaHQ6NDZ9LGNoaWxkcmVuOmUuanN4KFAse21vZGU6IndhaXQiLGNoaWxkcmVuOmUuanN4KG4uZGl2LHtpbml0aWFsOntvcGFjaXR5OjAseTo2fSxhbmltYXRlOntvcGFjaXR5OjEseTowfSxleGl0OntvcGFjaXR5OjAseTotNH0sdHJhbnNpdGlvbjp7ZHVyYXRpb246LjUsZWFzZTp5fSxzdHlsZTp7cG9zaXRpb246ImFic29sdXRlIixpbnNldDowLGRpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImZsZXgtc3RhcnQiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIiLHRleHRBbGlnbjoiY2VudGVyIn0sY2hpbGRyZW46ZS5qc3goInNwYW4iLHtzdHlsZTp7Zm9udFNpemU6MTQuNSxjb2xvcjoicmdiYSgyNTUsMjU1LDI1NSwuOSkiLGxpbmVIZWlnaHQ6MS41fSxjaGlsZHJlbjpJPT1udWxsP3ZvaWQgMDpJLnRleHR9KX0sYyl9KX0pXX0pLGUuanN4cygiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGZsZXhEaXJlY3Rpb246ImNvbHVtbiIsYWxpZ25JdGVtczoiY2VudGVyIixnYXA6MTEscGFkZGluZzoiMTZweCAxMXB4IixiYWNrZ3JvdW5kOiJyZ2JhKDI1NSwyNTUsMjU1LC4wNCkiLGJvcmRlcjoiMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjA5KSIsYm9yZGVyUmFkaXVzOjE2LGhlaWdodDpzZSxib3hTaXppbmc6ImJvcmRlci1ib3giLHpJbmRleDo1MH0sY2hpbGRyZW46W2UuanN4KG4uYnV0dG9uLHt3aGlsZVRhcDp7c2NhbGU6LjkyfSxvbkNsaWNrOmw/Szp6LHN0eWxlOnsuLi5ELHdpZHRoOjQyLGhlaWdodDo0MixiYWNrZ3JvdW5kOnQuYWNjZW50LGJvcmRlcjoibm9uZSIsY29sb3I6IiNmZmYiLGZvbnRTaXplOjE2LGJveFNoYWRvdzpgMCA4cHggMjRweCAke3QuYWNjZW50fTU1YH0sY2hpbGRyZW46bD8i4o+4Ijoi4pa2In0pLGUuanN4KG4uYnV0dG9uLHt3aGlsZVRhcDp7c2NhbGU6LjkyfSxvbkNsaWNrOigpPT5xKHM9PiFzKSx0aXRsZTp4PyJVbm11dGUiOiJNdXRlIixzdHlsZTp7Li4uRCxiYWNrZ3JvdW5kOng/InJnYmEoMjU1LDI1NSwyNTUsLjA2KSI6dC5hY2NlbnRTb2Z0LGJvcmRlcjpgMXB4IHNvbGlkICR7eD8icmdiYSgyNTUsMjU1LDI1NSwuMSkiOnQuYWNjZW50R2xvd31gLGNvbG9yOng/dC5tdXRlZDp0LmFjY2VudCxmb250U2l6ZToxNH0sY2hpbGRyZW46eD8i8J+UhyI6IvCflIoifSksZS5qc3gobi5idXR0b24se3doaWxlVGFwOntzY2FsZTouOTJ9LG9uQ2xpY2s6XyxzdHlsZTpELGNoaWxkcmVuOiLihqkifSksZS5qc3goImRpdiIse3N0eWxlOntmbGV4OjEsd2lkdGg6NCxtaW5IZWlnaHQ6NTAsYmFja2dyb3VuZDoicmdiYSgyNTUsMjU1LDI1NSwuMDgpIixib3JkZXJSYWRpdXM6MyxvdmVyZmxvdzoiaGlkZGVuIixwb3NpdGlvbjoicmVsYXRpdmUifSxjaGlsZHJlbjplLmpzeChuLmRpdix7YW5pbWF0ZTp7aGVpZ2h0OmAke0cqMTAwfSVgfSx0cmFuc2l0aW9uOntkdXJhdGlvbjouMDh9LHN0eWxlOntwb3NpdGlvbjoiYWJzb2x1dGUiLGJvdHRvbTowLGxlZnQ6MCxyaWdodDowLGJhY2tncm91bmQ6YGxpbmVhci1ncmFkaWVudCh0byB0b3AsICR7dC5hY2NlbnR9LCAjNGVjOTlhKWAsYm9yZGVyUmFkaXVzOjN9fSl9KSxlLmpzeCgiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGZsZXhEaXJlY3Rpb246ImNvbHVtbiIsZ2FwOjUsYWxpZ25JdGVtczoiY2VudGVyIn0sY2hpbGRyZW46WzEsMiwzLDQsNSw2XS5tYXAocz0+ZS5qc3goInNwYW4iLHtzdHlsZTp7d2lkdGg6NixoZWlnaHQ6Nixib3JkZXJSYWRpdXM6IjUwJSIsYmFja2dyb3VuZDpzPGM/dC5hY2NlbnQrIjg4IjpzPT09Yz90LmFjY2VudDoicmdiYSgyNTUsMjU1LDI1NSwuMTgpIn19LHMpKX0pXX0pXX0pXX0pfWZ1bmN0aW9uIFNlKHtzY2VuYXJpbzppfSl7cmV0dXJuIGUuanN4KCJkaXYiLHtzdHlsZTp7cG9zaXRpb246InJlbGF0aXZlIixoZWlnaHQ6IjEwMHZoIn0sY2hpbGRyZW46ZS5qc3goeWUse3NjZW5hcmlvOml9KX0pfWV4cG9ydHtvZSBhcyBULHllIGFzIGEsU2UgYXMgYixrZSBhcyBnfTsK","virtual:ThreatDemoPlayerPage-DkOZTqeB.js":"data:text/javascript;base64,aW1wb3J0e2EgYXMgcix1IGFzIG4saiBhcyBlfWZyb20idmlydHVhbDppbmRleC1xbjBGY0JDdy5qcyI7aW1wb3J0e2cgYXMgcyxiIGFzIGF9ZnJvbSJ2aXJ0dWFsOlRocmVhdERlbW8tRF9XTGR4NzQuanMiO2ltcG9ydCJ2aXJ0dWFsOkRlbW9TY3JlZW4tRERpYXJjTkguanMiO2Z1bmN0aW9uIHUoKXtjb25zdHtpZDppfT1yKCksdD1uKCksbz1zKGkpO3JldHVybiBvP2UuanN4cygiZGl2Iix7c3R5bGU6e3Bvc2l0aW9uOiJyZWxhdGl2ZSJ9LGNoaWxkcmVuOltlLmpzeCgiYnV0dG9uIix7b25DbGljazooKT0+dCgiL3RocmVhdC1kZW1vcyIpLHN0eWxlOntwb3NpdGlvbjoiZml4ZWQiLHRvcDoxOCxsZWZ0OjI0LHpJbmRleDo4MCxkaXNwbGF5OiJpbmxpbmUtZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixnYXA6Nyxmb250RmFtaWx5OiInVWJ1bnR1Jywgc3lzdGVtLXVpLCBzYW5zLXNlcmlmIixmb250U2l6ZToxMyxmb250V2VpZ2h0OjUwMCxjb2xvcjoicmdiYSgyNTUsMjU1LDI1NSwuNzUpIixiYWNrZ3JvdW5kOiJyZ2JhKDAsMCwwLC40NSkiLGJhY2tkcm9wRmlsdGVyOiJibHVyKDEwcHgpIixib3JkZXI6IjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4xMikiLGJvcmRlclJhZGl1czoxMDAscGFkZGluZzoiN3B4IDE0cHgiLGN1cnNvcjoicG9pbnRlciJ9LGNoaWxkcmVuOiLihpAgQWxsIGRlbW9zIn0pLGUuanN4KGEse3NjZW5hcmlvOm99KV19KTplLmpzeHMoImRpdiIse3N0eWxlOnttaW5IZWlnaHQ6IjEwMHZoIixkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIiLGJhY2tncm91bmQ6IiMwMTBlMTQiLGNvbG9yOiIjYjljZGQxIixmb250RmFtaWx5OiInVWJ1bnR1Jywgc3lzdGVtLXVpLCBzYW5zLXNlcmlmIixmbGV4RGlyZWN0aW9uOiJjb2x1bW4iLGdhcDoxNn0sY2hpbGRyZW46W2UuanN4KCJkaXYiLHtjaGlsZHJlbjoiRGVtbyBub3QgZm91bmQuIn0pLGUuanN4KCJidXR0b24iLHtvbkNsaWNrOigpPT50KCIvdGhyZWF0LWRlbW9zIiksc3R5bGU6e2JhY2tncm91bmQ6IiMzQkI1ODYiLGNvbG9yOiIjZmZmIixib3JkZXI6Im5vbmUiLGJvcmRlclJhZGl1czoxMDAscGFkZGluZzoiMTBweCAyMnB4Iixmb250RmFtaWx5OiJpbmhlcml0Iixmb250V2VpZ2h0OjYwMCxjdXJzb3I6InBvaW50ZXIifSxjaGlsZHJlbjoi4oaQIEFsbCBkZW1vcyJ9KV19KX1leHBvcnR7dSBhcyBkZWZhdWx0fTsK","virtual:ThreatDemosSlider-B5024Jh0.js":"data:text/javascript;base64,aW1wb3J0e3UgYXMgaCxyIGFzIGMsaiBhcyBlfWZyb20idmlydHVhbDppbmRleC1xbjBGY0JDdy5qcyI7aW1wb3J0e1QgYXMgZCxhIGFzIHV9ZnJvbSJ2aXJ0dWFsOlRocmVhdERlbW8tRF9XTGR4NzQuanMiO2ltcG9ydHttIGFzIHAsQSBhcyBtfWZyb20idmlydHVhbDpEZW1vU2NyZWVuLUREaWFyY05ILmpzIjtjb25zdCB4PSIjM0JCNTg2IjtmdW5jdGlvbiB2KCl7Y29uc3QgYT1oKCksW3QsZl09Yy51c2VTdGF0ZSgwKSxbcixiXT1jLnVzZVN0YXRlKDEpLG49ZFt0XSxzPWQubGVuZ3RoLGw9aT0+e2IoaT50PzE6LTEpLGYoKGkrcyklcyl9O3JldHVybiBlLmpzeHMoImRpdiIse2NsYXNzTmFtZToiYmQtZGVtby1yb290IixzdHlsZTp7cG9zaXRpb246InJlbGF0aXZlIixoZWlnaHQ6IjEwMHZoIixvdmVyZmxvdzoiaGlkZGVuIixiYWNrZ3JvdW5kOiIjMDEwZTE0Iixmb250RmFtaWx5OiInVWJ1bnR1JywgLWFwcGxlLXN5c3RlbSwgc3lzdGVtLXVpLCBzYW5zLXNlcmlmIixkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4ifSxjaGlsZHJlbjpbZS5qc3hzKCJkaXYiLHtzdHlsZTp7ZmxleFNocmluazowLGhlaWdodDo2MCxkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJzcGFjZS1iZXR3ZWVuIixwYWRkaW5nOiIwIDIwcHgiLGJvcmRlckJvdHRvbToiMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjA2KSIsYmFja2dyb3VuZDoicmdiYSgxLDE0LDIwLC43KSIsYmFja2Ryb3BGaWx0ZXI6ImJsdXIoMTBweCkiLHpJbmRleDo4MH0sY2hpbGRyZW46W2UuanN4KCJidXR0b24iLHtvbkNsaWNrOigpPT5hKCIvIiksc3R5bGU6e2Rpc3BsYXk6ImlubGluZS1mbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDo3LGZvbnRGYW1pbHk6ImluaGVyaXQiLGZvbnRTaXplOjEzLGZvbnRXZWlnaHQ6NTAwLGNvbG9yOiJyZ2JhKDI1NSwyNTUsMjU1LC44KSIsYmFja2dyb3VuZDoicmdiYSgyNTUsMjU1LDI1NSwuMDUpIixib3JkZXI6IjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4xMikiLGJvcmRlclJhZGl1czoxMDAscGFkZGluZzoiN3B4IDE0cHgiLGN1cnNvcjoicG9pbnRlciIsZmxleFNocmluazowfSxjaGlsZHJlbjoi4oaQIEJhY2sgdG8gc2l0ZSJ9KSxlLmpzeHMoImRpdiIse3N0eWxlOnt0ZXh0QWxpZ246ImNlbnRlciIsY29sb3I6IiNlOGY0ZjMiLG1pbldpZHRoOjB9LGNoaWxkcmVuOltlLmpzeCgiZGl2Iix7c3R5bGU6e2ZvbnRTaXplOjE0LGZvbnRXZWlnaHQ6NjAwLHdoaXRlU3BhY2U6Im5vd3JhcCIsb3ZlcmZsb3c6ImhpZGRlbiIsdGV4dE92ZXJmbG93OiJlbGxpcHNpcyJ9LGNoaWxkcmVuOm4udGl0bGV9KSxlLmpzeHMoImRpdiIse3N0eWxlOntmb250U2l6ZToxMC41LGNvbG9yOiIjOGFhNWFiIn0sY2hpbGRyZW46W3QrMSwiIC8gIixzLCIgwrcgIixuLnByb2R1Y3RdfSldfSksZS5qc3hzKCJkaXYiLHtzdHlsZTp7ZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixnYXA6NixiYWNrZ3JvdW5kOiJyZ2JhKDAsMCwwLC40KSIsYm9yZGVyOiIxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMSkiLGJvcmRlclJhZGl1czoxMDAscGFkZGluZzoiNXB4IDExcHgiLGZsZXhTaHJpbms6MH0sY2hpbGRyZW46W2UuanN4KHAuc3Bhbix7YW5pbWF0ZTp7b3BhY2l0eTpbMSwwLDFdfSx0cmFuc2l0aW9uOntkdXJhdGlvbjoxLjIscmVwZWF0OjEvMH0sc3R5bGU6e3dpZHRoOjcsaGVpZ2h0OjcsYm9yZGVyUmFkaXVzOiI1MCUiLGJhY2tncm91bmQ6IiNlZjQ0NDQiLGRpc3BsYXk6ImlubGluZS1ibG9jayJ9fSksZS5qc3goInNwYW4iLHtzdHlsZTp7Zm9udFNpemU6MTAsZm9udFdlaWdodDo3MDAsY29sb3I6IiNmZmYiLGxldHRlclNwYWNpbmc6Ii41cHgifSxjaGlsZHJlbjoiUkVDIn0pXX0pXX0pLGUuanN4cygiZGl2Iix7c3R5bGU6e3Bvc2l0aW9uOiJyZWxhdGl2ZSIsZmxleDoxLG1pbkhlaWdodDowLG92ZXJmbG93OiJoaWRkZW4ifSxjaGlsZHJlbjpbZS5qc3gobSx7aW5pdGlhbDohMSxjdXN0b206cixtb2RlOiJwb3BMYXlvdXQiLGNoaWxkcmVuOmUuanN4KHAuZGl2LHtjdXN0b206cixpbml0aWFsOnt4OnI+MD8iMTAwJSI6Ii0xMDAlIn0sYW5pbWF0ZTp7eDowfSxleGl0Ont4OnI+MD8iLTEwMCUiOiIxMDAlIn0sdHJhbnNpdGlvbjp7dHlwZToic3ByaW5nIixzdGlmZm5lc3M6MjYwLGRhbXBpbmc6MzB9LHN0eWxlOntwb3NpdGlvbjoiYWJzb2x1dGUiLGluc2V0OjB9LGNoaWxkcmVuOmUuanN4KHUse3NjZW5hcmlvOm4sYXV0b1BsYXk6ITAsY2hyb21lOiExfSl9LG4uaWQpfSksZS5qc3goImJ1dHRvbiIse29uQ2xpY2s6KCk9PmwodC0xKSwiYXJpYS1sYWJlbCI6IlByZXZpb3VzIixzdHlsZTpnKCJsZWZ0IiksY2hpbGRyZW46IuKAuSJ9KSxlLmpzeCgiYnV0dG9uIix7b25DbGljazooKT0+bCh0KzEpLCJhcmlhLWxhYmVsIjoiTmV4dCIsc3R5bGU6ZygicmlnaHQiKSxjaGlsZHJlbjoi4oC6In0pXX0pLGUuanN4KCJkaXYiLHtzdHlsZTp7ZmxleFNocmluazowLG1pbkhlaWdodDo1NixkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIiLGdhcDo4LGZsZXhXcmFwOiJ3cmFwIixwYWRkaW5nOiIxMHB4IDE2cHgiLGJvcmRlclRvcDoiMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjA2KSIsYmFja2dyb3VuZDoicmdiYSgxLDE0LDIwLC43KSIsYmFja2Ryb3BGaWx0ZXI6ImJsdXIoMTBweCkiLHpJbmRleDo4MH0sY2hpbGRyZW46ZC5tYXAoKGksbyk9PmUuanN4KCJidXR0b24iLHtvbkNsaWNrOigpPT5sKG8pLHN0eWxlOntmb250RmFtaWx5OiJpbmhlcml0Iixmb250U2l6ZToxMSxmb250V2VpZ2h0OjUwMCxjdXJzb3I6InBvaW50ZXIiLHBhZGRpbmc6IjZweCAxMnB4Iixib3JkZXJSYWRpdXM6MTAwLGJvcmRlcjpgMXB4IHNvbGlkICR7bz09PXQ/eDoicmdiYSgyNTUsMjU1LDI1NSwuMTIpIn1gLGJhY2tncm91bmQ6bz09PXQ/InJnYmEoNTksMTgxLDEzNCwwLjE4KSI6InJnYmEoMjU1LDI1NSwyNTUsLjAzKSIsY29sb3I6bz09PXQ/eDoicmdiYSgyNTUsMjU1LDI1NSwuNikiLHdoaXRlU3BhY2U6Im5vd3JhcCJ9LGNoaWxkcmVuOmkudGFnTGFiZWx9LGkuaWQpKX0pXX0pfWZ1bmN0aW9uIGcoYSl7cmV0dXJue3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOiI1MCUiLHRyYW5zZm9ybToidHJhbnNsYXRlWSgtNTAlKSIsW2FdOjE2LHpJbmRleDo3MCx3aWR0aDo0NCxoZWlnaHQ6NDQsYm9yZGVyUmFkaXVzOiI1MCUiLGJhY2tncm91bmQ6InJnYmEoMCwwLDAsLjQ1KSIsYmFja2Ryb3BGaWx0ZXI6ImJsdXIoMTBweCkiLGJvcmRlcjoiMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjE0KSIsY29sb3I6IiNlOGY0ZjMiLGZvbnRTaXplOjIyLGxpbmVIZWlnaHQ6MSxjdXJzb3I6InBvaW50ZXIiLGZvbnRGYW1pbHk6ImluaGVyaXQiLGRpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciJ9fWV4cG9ydHt2IGFzIGRlZmF1bHR9Owo="}}
</script>
</head>
<body>
<div id="root"></div>
<script type="module">
import "virtual:index-qn0FcBCw.js";
</script>
</body>
</html>