{"id":40170,"date":"2026-04-30T17:21:53","date_gmt":"2026-04-30T15:21:53","guid":{"rendered":"https:\/\/www.recharge.com\/blog\/wk-2026-data-speelschema-tickets-alle-info"},"modified":"2026-05-01T09:00:08","modified_gmt":"2026-05-01T07:00:08","slug":"wk-2026-data-speelschema-tickets-alle-info","status":"publish","type":"post","link":"https:\/\/www.recharge.com\/blog\/nl-be\/be\/wk-2026-data-speelschema-tickets-alle-info","title":{"rendered":"WK 2026: Data, speelschema, tickets &#038; alle info"},"content":{"rendered":"<h2>Alles wat je moet weten over het WK 2026 (FIFA World Cup 2026)<\/h2>\n<p>Het FIFA wereldkampioenschap voetbal van 2026 wordt een editie voor de geschiedenisboeken. Voor de allereerste keer zullen er maar liefst 48 landen strijden om de meest prestigieuze beker in het internationale voetbal. Deze historische <strong>world cup 2026<\/strong> vindt plaats over heel Noord-Amerika, met wedstrijden in de Verenigde Staten, Mexico en Canada. Dit toernooi belooft een onvergetelijk spektakel te worden, vol spanning en nieuwe rivaliteiten. Terwijl de echte teams zich voorbereiden, kan jij je alvast verdiepen in <a href=\"https:\/\/www.recharge.com\/blog\/nl-be\/be\/football-manager-2026-alles-over-de-releasedatum-beta-vernieuwingen\">alles over Football Manager 2026<\/a> en je eigen strategische meesterbrein testen.<\/p>\n<div style=\"background-color: #f9f9f9; padding: 20px; border-radius: 8px; margin-bottom: 20px;\">\n<h3 style=\"margin-top: 0;\">Samenvatting<\/h3>\n<p>Dit artikel is jouw complete gids voor de FIFA World Cup 2026. Je vindt hier alle essenti\u00eble informatie: van het gedetailleerde speelschema, de start- en einddatum, en de speelsteden in de VS, Mexico en Canada, tot een duidelijke uitleg over het nieuwe toernooiformat met 48 landen. We bespreken ook de kwalificatieroute van de Rode Duivels, hoe je aan tickets kan geraken, en duiken in de leuke extra&#8217;s zoals de nieuwe truitjes en het offici\u00eble WK-lied.<\/p>\n<\/div>\n<div style=\"background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 20px; margin-bottom: 20px;\">\n<h3 style=\"margin-top: 0;\">TLDR<\/h3>\n<ul>\n<li><strong>Wat:<\/strong> FIFA World Cup 2026, het eerste WK met 48 landen.<\/li>\n<li><strong>Waar:<\/strong> Verenigde Staten, Mexico en Canada.<\/li>\n<li><strong>Wanneer:<\/strong> Van juni tot en met de finale op 19 juli 2026.<\/li>\n<li><strong>Nieuw Format:<\/strong> 12 groepen van 4. De top 2 en de 8 beste derdes gaan door naar een nieuwe knock-outfase: de 1\/16e finales.<\/li>\n<li><strong>Tickets:<\/strong> Enkel te koop via de offici\u00eble FIFA-kanalen. Wees op je hoede voor onoffici\u00eble verkopers.<\/li>\n<li><strong>Finale:<\/strong> De finale wordt gespeeld in het MetLife Stadium in New Jersey\/New York.<\/li>\n<\/ul>\n<\/div>\n<div style=\"background: linear-gradient(135deg, #07F288 0%, #7BF8BE 100%); color: #0a3d2e; padding: 25px; border-radius: 12px; box-shadow: 0 4px 15px rgba(0,0,0,0.1); margin-bottom: 30px;\">\n<h3 style=\"margin-top: 0; font-weight: bold;\">\ud83d\udcd1 Inhoudsopgave<\/h3>\n<ul style=\"list-style: none; padding-left: 0;\">\n<li style=\"margin-bottom: 10px;\"><a href=\"#speelschema\" style=\"color: #0a3d2e; text-decoration: none; font-weight: 500;\">Speelschema en belangrijke data<\/a><\/li>\n<li style=\"margin-bottom: 10px;\"><a href=\"#gastlanden\" style=\"color: #0a3d2e; text-decoration: none; font-weight: 500;\">Gastlanden en speelsteden<\/a><\/li>\n<li style=\"margin-bottom: 10px;\"><a href=\"#groepsfase\" style=\"color: #0a3d2e; text-decoration: none; font-weight: 500;\">Groepsfase en toernooischema<\/a><\/li>\n<li style=\"margin-bottom: 10px;\"><a href=\"#kwalificaties\" style=\"color: #0a3d2e; text-decoration: none; font-weight: 500;\">Kwalificaties voor het WK 2026<\/a><\/li>\n<li style=\"margin-bottom: 10px;\"><a href=\"#tickets\" style=\"color: #0a3d2e; text-decoration: none; font-weight: 500;\">Tickets kopen voor de FIFA World Cup 2026<\/a><\/li>\n<li style=\"margin-bottom: 10px;\"><a href=\"#beleving\" style=\"color: #0a3d2e; text-decoration: none; font-weight: 500;\">WK 2026 beleving: Truitjes, voorspellingen en het lied<\/a><\/li>\n<li><a href=\"#faq\" style=\"color: #0a3d2e; text-decoration: none; font-weight: 500;\">Veelgestelde Vragen (FAQ)<\/a><\/li>\n<\/ul>\n<\/div>\n<p><!-- [CUSTOM HTML BLOCK BEGIN] -->\n<link rel=\"stylesheet\" href=\"https:\/\/fonts.googleapis.com\/css2?family=Syne:wght@400;500;600;700;800&#038;display=swap\">\n<style>\n.wc26-hub *,.wc26-hub *::before,.wc26-hub *::after{box-sizing:border-box;margin:0;padding:0}\n:root{\n--accent:#16a34a;--accent2:#22c55e;--accent-glow:rgba(22,163,74,.25);\n--gold:#fbbf24;--gold-glow:rgba(251,191,36,.2);\n--red:#ef4444;--yellow:#eab308;--blue:#3b82f6;--purple:#8b5cf6;--pink:#ec4899;--teal:#14b8a6;--orange:#f97316;\n--r:12px;--r2:16px;--r3:20px;--transition:.25s ease;\n\/* DEFAULT = LIGHT *\/\n--bg:#f8fafc;--bg2:#ffffff;--bg3:#f1f5f9;\n--card:rgba(255,255,255,.9);--card-solid:#ffffff;\n--t1:#0f172a;--t2:#475569;--t3:#94a3b8;\n--border:rgba(0,0,0,.08);--border2:rgba(0,0,0,.14);\n--glass:rgba(0,0,0,.03);--glass2:rgba(0,0,0,.05);\n--shadow:0 2px 16px rgba(0,0,0,.06);\n--nav-bg:rgba(248,250,252,.9);\n--input-bg:#ffffff;\n--row-q:rgba(22,163,74,.07);--row-3:rgba(234,179,8,.07);--row-e:rgba(239,68,68,.05);\n--champ-bg:linear-gradient(135deg,rgba(251,191,36,.1),rgba(251,191,36,.03));--champ-border:rgba(251,191,36,.25);\n}\n\/* DARK *\/\n.wc26-dark{\n--bg:#070b14;--bg2:#0d1321;--bg3:#111827;\n--card:rgba(17,24,39,.7);--card-solid:#111827;\n--t1:#f9fafb;--t2:#9ca3af;--t3:#6b7280;\n--border:rgba(255,255,255,.08);--border2:rgba(255,255,255,.14);\n--glass:rgba(255,255,255,.04);--glass2:rgba(255,255,255,.07);\n--shadow:0 4px 24px rgba(0,0,0,.5);\n--nav-bg:rgba(7,11,20,.85);\n--input-bg:#0d1321;\n--row-q:rgba(22,163,74,.12);--row-3:rgba(234,179,8,.1);--row-e:rgba(239,68,68,.08);\n--champ-bg:linear-gradient(135deg,rgba(251,191,36,.12),rgba(251,191,36,.03));--champ-border:rgba(251,191,36,.22);\n--accent-glow:rgba(22,163,74,.3);--gold-glow:rgba(251,191,36,.25);\n}\n\/* scroll-behavior inherited from WP *\/\n.wc26-hub{font-family:'Syne',sans-serif;background:var(--bg);color:var(--t1);line-height:1.6;overflow-x:hidden;transition:background var(--transition),color var(--transition)}\n.wc26-hub a{color:var(--accent2);text-decoration:none}\n.wc26-hub img{max-width:100%;display:block}<\/p>\n<p>\/* NAV *\/\n.wc-nav{position:sticky;top:0;z-index:100;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:var(--nav-bg);border-bottom:1px solid var(--border);transition:background var(--transition)}\n.wc-nav-inner{max-width:1400px;margin:0 auto;display:flex;align-items:center;padding:0 16px;height:52px;gap:6px}\n.wc-nav-logo{font-weight:800;font-size:16px;color:var(--gold);white-space:nowrap;margin-right:8px}\n.wc-nav-links{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;flex:1}\n.wc-nav-links::-webkit-scrollbar{display:none}\n.wc-nav-links a{padding:5px 12px;border-radius:8px;font-size:12px;font-weight:600;color:var(--t2);white-space:nowrap;transition:var(--transition)}\n.wc-nav-links a:hover{color:var(--t1);background:var(--glass2)}\n.wc-nav-links a.active{color:var(--accent);background:rgba(22,163,74,.1)}\n.wc-theme-btn{width:34px;height:34px;border-radius:8px;border:1px solid var(--border);background:var(--glass);color:var(--t2);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);flex-shrink:0;font-family:inherit}\n.wc-theme-btn:hover{border-color:var(--accent);color:var(--accent)}<\/p>\n<p>\/* SECTIONS *\/\n.wc-section{padding:60px 16px 32px;max-width:1400px;margin:0 auto}\n.wc-section-head{text-align:center;margin-bottom:40px}\n.wc-section-head h2{font-size:clamp(24px,5vw,38px);font-weight:800;color:var(--t1)}\n.wc-section-head p{color:var(--t3);margin-top:6px;font-size:14px}\n.wc-divider{width:50px;height:3px;background:linear-gradient(90deg,var(--accent),var(--teal));margin:12px auto 0;border-radius:2px}<\/p>\n<p>\/* HERO *\/\n.wc-hero{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 16px 40px;position:relative;overflow:hidden}\n.wc-hero::before{content:'';position:absolute;width:500px;height:500px;background:radial-gradient(circle,var(--accent-glow),transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%);z-index:0;animation:wcPulse 4s ease-in-out infinite}\n@keyframes wcPulse{0%,100%{opacity:.2;transform:translate(-50%,-50%) scale(1)}50%{opacity:.5;transform:translate(-50%,-50%) scale(1.1)}}\n.wc-hero-content{position:relative;z-index:1}\n.wc-hero h1{font-size:clamp(32px,7vw,64px);font-weight:800;line-height:1.1;margin-bottom:8px}\n.wc-hero h1 span{background:linear-gradient(135deg,var(--gold),#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}\n.wc-hero-sub{font-size:clamp(15px,3vw,20px);color:var(--t2);margin-bottom:32px}\n.wc-hero-flags{display:flex;gap:10px;justify-content:center;margin-bottom:32px;flex-wrap:wrap}\n.wc-hero-flag{display:flex;align-items:center;gap:6px;padding:6px 14px;border-radius:99px;background:var(--glass2);border:1px solid var(--border);font-size:13px;color:var(--t2)}\n.wc-hero-flag img{width:22px;height:15px;border-radius:2px;object-fit:cover}<\/p>\n<p>\/* COUNTDOWN *\/\n.wc-countdown{display:flex;gap:10px;justify-content:center;margin-bottom:40px;flex-wrap:wrap}\n.wc-cd-box{background:var(--card);border:1px solid var(--border2);border-radius:var(--r);padding:14px 18px;min-width:72px;text-align:center;box-shadow:var(--shadow)}\n.wc-cd-num{font-size:clamp(24px,4vw,36px);font-weight:800;color:var(--accent2);line-height:1}\n.wc-cd-label{font-size:10px;color:var(--t3);text-transform:uppercase;letter-spacing:1px;margin-top:3px}<\/p>\n<p>\/* STATS *\/\n.wc-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:24px}\n@media(max-width:600px){.wc-stats-row{grid-template-columns:repeat(2,1fr)}}\n.wc-stat{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:14px 6px;text-align:center;box-shadow:var(--shadow);transition:var(--transition);overflow:hidden;word-break:break-word}\n.wc-stat:hover{border-color:var(--accent);transform:translateY(-2px)}\n.wc-stat-num{font-size:clamp(16px,3.5vw,26px);font-weight:800;color:var(--accent2);line-height:1.2}\n.wc-stat-label{font-size:10px;color:var(--t3);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}<\/p>\n<p>\/* GROUPS *\/\n.wc-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}\n.wc-group{background:var(--card);border:1px solid var(--border);border-radius:var(--r2);overflow:hidden;box-shadow:var(--shadow);transition:var(--transition)}\n.wc-group:hover{border-color:var(--border2);transform:translateY(-1px)}\n.wc-group-hdr{padding:10px 14px;font-weight:700;font-size:14px;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--border)}\n.wc-group-badge{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;color:#fff}\n.wc-gtable{width:100%;border-collapse:collapse;font-size:12px}\n.wc-gtable th{padding:6px 8px;text-align:left;color:var(--t3);font-weight:500;font-size:10px;text-transform:uppercase;border-bottom:1px solid var(--border)}\n.wc-gtable th:not(:first-child):not(:nth-child(2)){text-align:center}\n.wc-gtable td{padding:6px 8px;border-bottom:1px solid var(--border)}\n.wc-gtable td:not(:first-child):not(:nth-child(2)){text-align:center;color:var(--t2);font-size:11px}\n.wc-gtable tr:last-child td{border-bottom:none}\n.wc-gtable .tc{display:flex;align-items:center;gap:6px}\n.wc-gtable .tc img{width:22px;height:15px;border-radius:2px;object-fit:cover}\n.wc-gtable .rk{font-size:9px;color:var(--t3);background:var(--glass2);padding:1px 5px;border-radius:3px}\n.wc-pos{font-weight:700;width:24px;font-size:11px}\n.wc-rq{background:var(--row-q)}.wc-r3{background:var(--row-3)}.wc-re{background:var(--row-e)}\n.wc-gtable.pickmode tr{cursor:pointer;transition:background .15s}\n.wc-gtable.pickmode tr:hover{background:var(--glass2)}\n.wc-gtable.pickmode tr.wc-rq{cursor:default}\n.wc-gtable.pickmode tr.wc-r3{cursor:default}\n.wc-pick-badge{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;font-size:9px;font-weight:800;color:#fff;margin-left:auto;flex-shrink:0}\n.wc-pick-1{background:var(--accent)}\n.wc-pick-2{background:var(--accent);opacity:.7}\n.wc-pick-3{background:var(--yellow)}<\/p>\n<p>\/* FILTERS *\/\n.wc-filters{display:flex;gap:6px;margin-bottom:20px;flex-wrap:wrap;align-items:center}\n.wc-fbtn{padding:5px 14px;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--t2);font-size:12px;font-family:inherit;cursor:pointer;transition:var(--transition);font-weight:600}\n.wc-fbtn:hover{border-color:var(--border2);color:var(--t1)}\n.wc-fbtn.on{background:var(--accent);border-color:var(--accent);color:#fff}\n.wc-fsel{padding:5px 10px;border-radius:8px;border:1px solid var(--border);background:var(--input-bg);color:var(--t1);font-size:12px;font-family:inherit;cursor:pointer}<\/p>\n<p>\/* SCHEDULE *\/\n.wc-date-hdr{font-size:13px;font-weight:600;color:var(--t2);margin:20px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--border)}\n.wc-match{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:6px;padding:10px 14px;background:var(--card);border:1px solid var(--border);border-radius:var(--r);margin-bottom:6px;box-shadow:var(--shadow);transition:var(--transition)}\n.wc-match:hover{border-color:var(--border2)}\n.wc-mteam{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500}\n.wc-mteam.away{justify-content:flex-end;text-align:right}\n.wc-mteam img{width:24px;height:16px;border-radius:2px;object-fit:cover}\n.wc-mvs{text-align:center;color:var(--t3);font-size:11px}\n.wc-mvs .tm{font-weight:700;font-size:13px;color:var(--t2)}\n.wc-mmeta{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--t3);margin-top:3px;grid-column:1\/-1}\n.wc-grp-tag{padding:2px 7px;border-radius:4px;font-weight:700;font-size:9px;color:#fff}<\/p>\n<p>\/* ===== BRACKET VERTICAL TREE ===== *\/\n.wc-bracket-actions{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap;justify-content:center}\n.wc-vbracket{}\n.wc-vround{margin-bottom:4px}\n.wc-vround-hdr{display:flex;align-items:center;gap:6px;margin-bottom:4px;padding:0 2px}\n.wc-vround-hdr .wc-vr-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.3px;color:var(--t3);white-space:nowrap}\n.wc-vround-hdr .wc-vr-line{flex:1;height:1px;background:var(--border)}\n.wc-vround-hdr.final-hdr .wc-vr-label{color:var(--gold);font-size:11px}\n\/* Row of matches - always one row, shrinks to fit *\/\n.wc-row{display:flex;gap:4px;justify-content:center;flex-wrap:nowrap}\n.wc-bmatch{background:var(--card);border:1px solid var(--border);border-radius:8px;overflow:hidden;flex:1;min-width:0;font-size:11px;transition:border-color .15s}\n.wc-bmatch:hover{border-color:var(--border2)}\n.wc-bmatch.final-match{border:2px solid var(--gold);box-shadow:0 0 12px var(--gold-glow)}\n.wc-bmatch.third-match{border:1px solid var(--teal)}\n.wc-bslot{display:flex;align-items:center;gap:4px;padding:4px 6px;border-bottom:1px solid var(--border);cursor:pointer;transition:all .1s;user-select:none;min-height:26px}\n.wc-bslot:last-of-type{border-bottom:none}\n.wc-bslot:hover{background:var(--glass2)}\n.wc-bslot.picked{background:var(--row-q)}\n.wc-bslot.lost{opacity:.3}\n.wc-bslot.empty{cursor:default;opacity:.4}\n.wc-bslot.picked,.wc-bslot.lost{cursor:default}\n.wc-bslot img{width:18px;height:12px;border-radius:1px;object-fit:cover;flex-shrink:0}\n.wc-bslot .seed-lbl{font-size:7px;color:var(--t3);min-width:14px;flex-shrink:0}\n.wc-bslot .nm{flex:1;font-size:10px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.wc-bslot .pick-icon{color:var(--accent2);font-size:9px;font-weight:700;display:none}\n.wc-bslot.picked .pick-icon{display:block}\n.wc-bmeta{padding:2px 4px;border-top:1px solid var(--border);font-size:7px;color:var(--t3);text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n\/* Connector arrows between rounds *\/\n.wc-connectors{display:flex;justify-content:center;gap:4px;padding:2px 0}\n.wc-conn{flex:1;max-width:160px;text-align:center;font-size:8px;color:var(--accent);opacity:.6;line-height:1}\n.wc-conn-pair{display:flex;flex:2;max-width:320px}\n.wc-conn-pair span{flex:1;text-align:center;font-size:10px;color:var(--accent);opacity:.5}\n.wc-final-wrap{display:flex;gap:8px;justify-content:center;margin:6px 0}\n@media(max-width:480px){\n.wc-bslot{padding:3px 4px;gap:3px;min-height:22px}\n.wc-bslot img{width:14px;height:10px}\n.wc-bslot .nm{font-size:8px}\n.wc-bslot .seed-lbl{font-size:6px;min-width:10px}\n.wc-bmeta{font-size:6px;padding:1px 2px}\n.wc-bmatch{max-width:none;border-radius:6px}\n.wc-row{gap:2px}\n}<\/p>\n<p>\/* TEAMS *\/\n.wc-team-ctrls{display:flex;gap:6px;margin-bottom:20px;flex-wrap:wrap;align-items:center}\n.wc-tsearch{padding:7px 14px;border-radius:8px;border:1px solid var(--border);background:var(--input-bg);color:var(--t1);font-size:13px;font-family:inherit;width:220px;flex-shrink:0}\n.wc-tsearch::placeholder{color:var(--t3)}\n.wc-teams{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}\n.wc-tcard{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:14px;display:flex;flex-direction:column;align-items:center;text-align:center;box-shadow:var(--shadow);transition:var(--transition)}\n.wc-tcard:hover{border-color:var(--accent);transform:translateY(-2px)}\n.wc-tflag{width:72px;height:48px;border-radius:4px;object-fit:cover;margin-bottom:8px;box-shadow:0 2px 6px rgba(0,0,0,.15)}\n.wc-tcard h3{font-size:14px;font-weight:700;margin-bottom:3px}\n.wc-trank{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--glass2);border:1px solid var(--border);font-size:11px;font-weight:700;color:var(--accent2);margin-bottom:5px}\n.wc-tmeta{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}\n.wc-tpill{padding:2px 8px;border-radius:99px;font-size:9px;font-weight:700;background:var(--glass);border:1px solid var(--border);color:var(--t2)}<\/p>\n<p>\/* VENUES *\/\n.wc-venues{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}\n.wc-vcard{background:var(--card);border:1px solid var(--border);border-radius:var(--r2);overflow:hidden;box-shadow:var(--shadow);transition:var(--transition)}\n.wc-vcard:hover{border-color:var(--accent);transform:translateY(-2px)}\n.wc-vimg{width:100%;height:160px;object-fit:cover;background:var(--bg3)}\n.wc-vinfo{padding:14px}\n.wc-vinfo h3{font-size:15px;font-weight:700;margin-bottom:2px}\n.wc-vcity{font-size:12px;color:var(--t2);margin-bottom:6px;display:flex;align-items:center;gap:5px}\n.wc-vcity img{width:18px;height:12px;border-radius:1px}\n.wc-vstats{display:flex;gap:14px;font-size:11px;color:var(--t3)}<\/p>\n<p>\/* SIMULATOR *\/\n.wc-sim-panel{background:var(--card);border:1px solid var(--border);border-radius:var(--r3);padding:28px;text-align:center;max-width:700px;margin:0 auto 24px;box-shadow:var(--shadow)}\n.wc-sim-btn{padding:12px 36px;border-radius:var(--r);border:none;background:linear-gradient(135deg,var(--accent),#15803d);color:#fff;font-size:16px;font-weight:700;font-family:inherit;cursor:pointer;transition:var(--transition);box-shadow:0 4px 16px var(--accent-glow)}\n.wc-sim-btn:hover{transform:translateY(-2px);box-shadow:0 6px 24px var(--accent-glow)}\n.wc-sim-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}\n.wc-sim-bar-bg{height:5px;background:var(--glass2);border-radius:3px;overflow:hidden;margin-top:16px}\n.wc-sim-bar{height:100%;background:linear-gradient(90deg,var(--accent),var(--teal));border-radius:3px;width:0;transition:width .3s}\n.wc-sim-label{font-size:11px;color:var(--t3);margin-top:5px}\n.wc-sim-results{margin-top:20px}\n.wc-champ{background:var(--champ-bg);border:1px solid var(--champ-border);border-radius:var(--r2);padding:28px;text-align:center;margin-bottom:20px;position:relative;overflow:hidden}\n.wc-champ img{width:88px;height:59px;border-radius:6px;object-fit:cover;margin:0 auto 10px;position:relative;z-index:1;box-shadow:0 4px 16px rgba(0,0,0,.2)}\n.wc-champ h3{font-size:24px;font-weight:800;color:var(--gold);position:relative;z-index:1}\n.wc-champ p{color:var(--t2);font-size:13px;position:relative;z-index:1;margin-top:3px}\n.wc-ko-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}\n.wc-ko-item{background:var(--glass2);border:1px solid var(--border);border-radius:8px;padding:8px 12px;display:flex;align-items:center;gap:6px;font-size:12px}\n.wc-ko-item img{width:18px;height:12px;border-radius:1px;flex-shrink:0}\n.wc-ko-item .sc{font-weight:700;color:var(--accent2);margin:0 4px;flex-shrink:0}\n.wc-ko-item .rnd{font-size:9px;color:var(--t3);padding:2px 5px;background:var(--glass2);border-radius:3px;margin-left:auto;flex-shrink:0}<\/p>\n<p>\/* STATS *\/\n.wc-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}\n.wc-scard{background:var(--card);border:1px solid var(--border);border-radius:var(--r2);padding:18px;box-shadow:var(--shadow)}\n.wc-scard h3{font-size:14px;font-weight:700;margin-bottom:14px;color:var(--t2)}\n.wc-bar-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}\n.wc-bar-row .lb{width:70px;font-size:11px;color:var(--t2);flex-shrink:0}\n.wc-bar-row .br{flex:1;height:20px;background:var(--glass2);border-radius:5px;overflow:hidden}\n.wc-bar-row .bi{height:100%;border-radius:5px;display:flex;align-items:center;padding-left:7px;font-size:9px;font-weight:700;color:#fff;min-width:fit-content;white-space:nowrap}\n.wc-god{background:linear-gradient(135deg,rgba(239,68,68,.07),rgba(239,68,68,.02));border:1px solid rgba(239,68,68,.12);border-radius:var(--r);padding:14px;margin-bottom:10px}\n.wc-god h4{color:var(--red);font-size:13px;font-weight:700;margin-bottom:6px}\n.wc-god-teams{display:flex;gap:6px;flex-wrap:wrap}\n.wc-god-t{display:flex;align-items:center;gap:5px;font-size:12px;background:var(--glass2);padding:3px 8px;border-radius:5px}\n.wc-god-t img{width:18px;height:12px;border-radius:1px}\n.wc-easy{background:linear-gradient(135deg,rgba(22,163,74,.07),rgba(22,163,74,.02));border:1px solid rgba(22,163,74,.12);border-radius:var(--r);padding:14px}\n.wc-easy h4{color:var(--accent2);font-size:13px;font-weight:700;margin-bottom:6px}<\/p>\n<p>.wc-footer{text-align:center;padding:32px 16px;color:var(--t3);font-size:11px;border-top:1px solid var(--border);margin-top:48px}<\/p>\n<p>\/* CONFETTI *\/\n.wc-confetti{position:fixed;width:8px;height:8px;z-index:9999;pointer-events:none;animation:wcFall linear forwards}\n@keyframes wcFall{0%{opacity:1;transform:translateY(-20px) rotate(0deg)}100%{opacity:0;transform:translateY(100vh) rotate(720deg)}}<\/p>\n<p>\/* RESPONSIVE *\/\n@media(max-width:640px){\n  .wc-groups,.wc-venues{grid-template-columns:1fr}\n  .wc-teams{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}\n  .wc-match{grid-template-columns:1fr;text-align:center;gap:3px}\n  .wc-mteam,.wc-mteam.away{justify-content:center;text-align:center}\n  .wc-stats-grid,.wc-ko-grid{grid-template-columns:1fr}\n  .wc-tsearch{width:100%}\n  .wc-hero h1{font-size:28px}\n}\n<\/style>\n<div class=\"wc26-hub\" id=\"wc26-hub\">\n<nav class=\"wc-nav\">\n<div class=\"wc-nav-inner\">\n<div class=\"wc-nav-logo\">WC26<\/div>\n<div class=\"wc-nav-links\">\n<a href=\"#wc-hero\">Home<\/a><a href=\"#wc-groups\">Groepen<\/a><a href=\"#wc-schedule\">Schema<\/a><a href=\"#wc-bracket\">Speelschema<\/a><a href=\"#wc-teams\">Teams<\/a><a href=\"#wc-venues\">Stadions<\/a><a href=\"#wc-stats\">Statistieken<\/a>\n<\/div>\n<p><button class=\"wc-theme-btn\" id=\"wc-theme-btn\" onclick=\"wc26ToggleTheme()\">&#9790;<\/button>\n<\/div>\n<\/nav>\n<div class=\"wc-section wc-hero\" id=\"wc-hero\">\n<div class=\"wc-hero-content\">\n<h1>FIFA World Cup <span>2026<\/span><\/h1>\n<p class=\"wc-hero-sub\">Het Ultieme Toernooiplatform<\/p>\n<div class=\"wc-hero-flags\">\n<div class=\"wc-hero-flag\"><img decoding=\"async\" src=\"https:\/\/flagcdn.com\/w40\/us.png\" alt=\"USA\"> United States<\/div>\n<div class=\"wc-hero-flag\"><img decoding=\"async\" src=\"https:\/\/flagcdn.com\/w40\/mx.png\" alt=\"MEX\"> Mexico<\/div>\n<div class=\"wc-hero-flag\"><img decoding=\"async\" src=\"https:\/\/flagcdn.com\/w40\/ca.png\" alt=\"CAN\"> Canada<\/div>\n<\/div>\n<div class=\"wc-countdown\" id=\"wc-countdown\"><\/div>\n<div class=\"wc-stats-row\" id=\"wc-hero-stats\"><\/div>\n<\/div>\n<\/div>\n<div class=\"wc-section\" id=\"wc-groups\">\n<div class=\"wc-section-head\">\n<h2>Groepsfase<\/h2>\n<p>12 Groepen &middot; 48 Teams &middot; 72 Wedstrijden<\/p>\n<div class=\"wc-divider\"><\/div>\n<\/div>\n<div class=\"wc-groups\" id=\"wc-groups-grid\"><\/div>\n<\/div>\n<div class=\"wc-section\" id=\"wc-schedule\">\n<div class=\"wc-section-head\">\n<h2>Wedstrijdschema<\/h2>\n<p>June 11 &ndash; June 27, 2026<\/p>\n<div class=\"wc-divider\"><\/div>\n<\/div>\n<div class=\"wc-filters\" id=\"wc-sch-filters\"><\/div>\n<div id=\"wc-sch-list\"><\/div>\n<\/div>\n<div class=\"wc-section\" id=\"wc-bracket\">\n<div class=\"wc-section-head\">\n<h2>Knock-outschema<\/h2>\n<p>Simuleer groepen en klik op een team om ze door te laten gaan<\/p>\n<div class=\"wc-divider\"><\/div>\n<\/div>\n<div class=\"wc-bracket-actions\" id=\"wc-bracket-actions\"><\/div>\n<div class=\"wc-vbracket\" id=\"wc-bracket-root\"><\/div>\n<\/div>\n<div class=\"wc-section\" id=\"wc-teams\">\n<div class=\"wc-section-head\">\n<h2>Alle 48 Teams<\/h2>\n<p>Ontdek elk gekwalificeerd land<\/p>\n<div class=\"wc-divider\"><\/div>\n<\/div>\n<div class=\"wc-team-ctrls\" id=\"wc-team-ctrls\"><\/div>\n<div class=\"wc-teams\" id=\"wc-teams-grid\"><\/div>\n<\/div>\n<div class=\"wc-section\" id=\"wc-venues\">\n<div class=\"wc-section-head\">\n<h2>Speellocaties<\/h2>\n<p>16 Stadions in 3 Landen<\/p>\n<div class=\"wc-divider\"><\/div>\n<\/div>\n<div class=\"wc-stats-row\" id=\"wc-venue-stats\"><\/div>\n<div class=\"wc-filters\" id=\"wc-venue-filters\"><\/div>\n<div class=\"wc-venues\" id=\"wc-venues-grid\"><\/div>\n<\/div>\n<div class=\"wc-section\" id=\"wc-sim\">\n<div class=\"wc-section-head\">\n<h2>Jouw Voorspelling<\/h2>\n<p>Het kampioenresultaat verschijnt hier nadat je het speelschema hierboven hebt ingevuld<\/p>\n<div class=\"wc-divider\"><\/div>\n<\/div>\n<div id=\"wc-sim-results\" style=\"display:none\"><\/div>\n<div class=\"wc-sim-panel\">\n<p style=\"color:var(--t2);font-size:13px\">Ga naar de <a href=\"#wc-bracket\" style=\"font-weight:700\">Knock-outschema<\/a> sectie hierboven.<br \/>Click &#8220;Simulate Group Stage&#8221; then click on teams to advance them through each round.<\/p>\n<\/div>\n<\/div>\n<div class=\"wc-section\" id=\"wc-stats\">\n<div class=\"wc-section-head\">\n<h2>Toernooistatistieken<\/h2>\n<p>Data-gedreven inzichten<\/p>\n<div class=\"wc-divider\"><\/div>\n<\/div>\n<div class=\"wc-stats-grid\" id=\"wc-stats-grid\"><\/div>\n<\/div>\n<div class=\"wc-footer\">FIFA World Cup 2026 Hub &middot; Not affiliated with FIFA<\/div>\n<\/div>\n<p><textarea id=\"wc26-src\" style=\"display:none\">CihmdW5jdGlvbigpewovLyA9PT09PSBUSEVNRSA9PT09PQpmdW5jdGlvbiB3YzI2SW5pdFRoZW1lKCl7CiAgY29uc3Qgc2F2ZWQ9bG9jYWxTdG9yYWdlLmdldEl0ZW0oIndjMjYtdGhlbWUiKTsKICBpZihzYXZlZD09PSJkYXJrIilkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2MyNi1odWIiKS5jbGFzc0xpc3QuYWRkKCJ3YzI2LWRhcmsiKTsKICB1cGRhdGVUaGVtZUljb24oKTsKfQp3aW5kb3cud2MyNlRvZ2dsZVRoZW1lPWZ1bmN0aW9uKCl7CiAgY29uc3QgaHViPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3YzI2LWh1YiIpOwogIGh1Yi5jbGFzc0xpc3QudG9nZ2xlKCJ3YzI2LWRhcmsiKTsKICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgid2MyNi10aGVtZSIsaHViLmNsYXNzTGlzdC5jb250YWlucygid2MyNi1kYXJrIik\/ImRhcmsiOiJsaWdodCIpOwogIHVwZGF0ZVRoZW1lSWNvbigpOwp9OwpmdW5jdGlvbiB1cGRhdGVUaGVtZUljb24oKXsKICBjb25zdCBidG49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndjLXRoZW1lLWJ0biIpOwogIGlmKGJ0bilidG4uaW5uZXJIVE1MPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3YzI2LWh1YiIpLmNsYXNzTGlzdC5jb250YWlucygid2MyNi1kYXJrIik\/IiYjOTc4ODsiOiImIzk3OTA7IjsKfQoKLy8gPT09PT0gREFUQSAocGxheW9mZnMgcmVzb2x2ZWQpID09PT09CmNvbnN0IFRFQU1TPVsKe246Ik1leGljbyIsYzoiTUVYIixyOjE1LHA6MTY3NS43NSxjZjoiQ09OQ0FDQUYifSx7bjoiU291dGggQWZyaWNhIixjOiJSU0EiLHI6NTcscDoxNDgwLjE5LGNmOiJDQUYifSx7bjoiU291dGggS29yZWEiLGM6IktPUiIscjoyMyxwOjE2MDMuMzksY2Y6IkFGQyJ9LHtuOiJEZW5tYXJrIixjOiJERU4iLHI6MjEscDoxNjE0LjQzLGNmOiJVRUZBIn0sCntuOiJDYW5hZGEiLGM6IkNBTiIscjozNixwOjE1NTcuMDMsY2Y6IkNPTkNBQ0FGIn0se246Ikl0YWx5IixjOiJJVEEiLHI6MTIscDoxNzAyLjA2LGNmOiJVRUZBIn0se246IlFhdGFyIixjOiJRQVQiLHI6NDAscDoxNTMyLjA2LGNmOiJBRkMifSx7bjoiU3dpdHplcmxhbmQiLGM6IlNVSSIscjoxNyxwOjE2NTQuNjksY2Y6IlVFRkEifSwKe246IkJyYXppbCIsYzoiQlJBIixyOjUscDoxNzYwLjQ2LGNmOiJDT05NRUJPTCJ9LHtuOiJNb3JvY2NvIixjOiJNQVIiLHI6MTEscDoxNzEzLjEyLGNmOiJDQUYifSx7bjoiSGFpdGkiLGM6IkhBSSIscjo4MSxwOjEzNTUuNDIsY2Y6IkNPTkNBQ0FGIn0se246IlNjb3RsYW5kIixjOiJTQ08iLHI6NTQscDoxNDkyLjQyLGNmOiJVRUZBIn0sCntuOiJVU0EiLGM6IlVTQSIscjoxNCxwOjE2ODEuODgsY2Y6IkNPTkNBQ0FGIn0se246IlBhcmFndWF5IixjOiJQQVIiLHI6NDcscDoxNTA1LjAxLGNmOiJDT05NRUJPTCJ9LHtuOiJBdXN0cmFsaWEiLGM6IkFVUyIscjoyMixwOjE2MTEuMDgsY2Y6IkFGQyJ9LHtuOiJUdXJrZXkiLGM6IlRVUiIscjoyNixwOjE1ODQuNDksY2Y6IlVFRkEifSwKe246Ikdlcm1hbnkiLGM6IkdFUiIscjo5LHA6MTcyNC4xNSxjZjoiVUVGQSJ9LHtuOiJDdXJhY2FvIixjOiJDVVciLHI6ODQscDoxMzQ0LjI5LGNmOiJDT05DQUNBRiJ9LHtuOiJJdm9yeSBDb2FzdCIsYzoiQ0lWIixyOjM5LHA6MTUzOC41MixjZjoiQ0FGIn0se246IkVjdWFkb3IiLGM6IkVDVSIscjozMCxwOjE1NzQuNjMsY2Y6IkNPTk1FQk9MIn0sCntuOiJOZXRoZXJsYW5kcyIsYzoiTkVEIixyOjcscDoxNzU2LjI3LGNmOiJVRUZBIn0se246IkphcGFuIixjOiJKUE4iLHI6MTgscDoxNjUwLjEyLGNmOiJBRkMifSx7bjoiVWtyYWluZSIsYzoiVUtSIixyOjI0LHA6MTU5Ny40MyxjZjoiVUVGQSJ9LHtuOiJUdW5pc2lhIixjOiJUVU4iLHI6MzcscDoxNTU0LjU2LGNmOiJDQUYifSwKe246IkJlbGdpdW0iLGM6IkJFTCIscjo4LHA6MTczMC43MSxjZjoiVUVGQSJ9LHtuOiJFZ3lwdCIsYzoiRUdZIixyOjMzLHA6MTU2NC4xNCxjZjoiQ0FGIn0se246IklyYW4iLGM6IklSTiIscjoyMCxwOjE2MTcuMDIsY2Y6IkFGQyJ9LHtuOiJOZXcgWmVhbGFuZCIsYzoiTlpMIixyOjkzLHA6MTMxMi4zNyxjZjoiT0ZDIn0sCntuOiJTcGFpbiIsYzoiRVNQIixyOjEscDoxODc3LjE4LGNmOiJVRUZBIn0se246IkNhcGUgVmVyZGUiLGM6IkNQViIscjo3MixwOjEzOTIuMzYsY2Y6IkNBRiJ9LHtuOiJTYXVkaSBBcmFiaWEiLGM6IktTQSIscjo2MCxwOjE0NzUuMyxjZjoiQUZDIn0se246IlVydWd1YXkiLGM6IlVSVSIscjoxNixwOjE2NzIuNjIsY2Y6IkNPTk1FQk9MIn0sCntuOiJGcmFuY2UiLGM6IkZSQSIscjozLHA6MTg3MCxjZjoiVUVGQSJ9LHtuOiJTZW5lZ2FsIixjOiJTRU4iLHI6MTkscDoxNjQ4LjA3LGNmOiJDQUYifSx7bjoiSXJhcSIsYzoiSVJRIixyOjU1LHA6MTQ4OC4wMSxjZjoiQUZDIn0se246Ik5vcndheSIsYzoiTk9SIixyOjQ2LHA6MTUwNi42NSxjZjoiVUVGQSJ9LAp7bjoiQXJnZW50aW5hIixjOiJBUkciLHI6MixwOjE4NzMuMzMsY2Y6IkNPTk1FQk9MIn0se246IkFsZ2VyaWEiLGM6IkFMRyIscjozMixwOjE1NjYuMixjZjoiQ0FGIn0se246IkF1c3RyaWEiLGM6IkFVVCIscjoyNSxwOjE1ODkuMTYsY2Y6IlVFRkEifSx7bjoiSm9yZGFuIixjOiJKT1IiLHI6NjgscDoxNDA5LjExLGNmOiJBRkMifSwKe246IlBvcnR1Z2FsIixjOiJQT1IiLHI6NixwOjE3NjAuMzgsY2Y6IlVFRkEifSx7bjoiRFIgQ29uZ28iLGM6IkNPRCIscjo1MCxwOjE0OTcuMzQsY2Y6IkNBRiJ9LHtuOiJVemJla2lzdGFuIixjOiJVWkIiLHI6NjIscDoxNDY1LjYyLGNmOiJBRkMifSx7bjoiQ29sb21iaWEiLGM6IkNPTCIscjoxMyxwOjE3MDEuMyxjZjoiQ09OTUVCT0wifSwKe246IkVuZ2xhbmQiLGM6IkVORyIscjo0LHA6MTgzNC4xMixjZjoiVUVGQSJ9LHtuOiJDcm9hdGlhIixjOiJDUk8iLHI6MTAscDoxNzE2Ljg4LGNmOiJVRUZBIn0se246IkdoYW5hIixjOiJHSEEiLHI6NjcscDoxNDE3LjM3LGNmOiJDQUYifSx7bjoiUGFuYW1hIixjOiJQQU4iLHI6NDMscDoxNTIwLjI1LGNmOiJDT05DQUNBRiJ9Cl07Cgpjb25zdCBHUk9VUFM9Wwp7bjoiR3JvdXAgQSIsaWQ6IkEiLHRjOlsiTUVYIiwiUlNBIiwiS09SIiwiREVOIl19LHtuOiJHcm91cCBCIixpZDoiQiIsdGM6WyJDQU4iLCJJVEEiLCJRQVQiLCJTVUkiXX0sCntuOiJHcm91cCBDIixpZDoiQyIsdGM6WyJCUkEiLCJNQVIiLCJIQUkiLCJTQ08iXX0se246Ikdyb3VwIEQiLGlkOiJEIix0YzpbIlVTQSIsIlBBUiIsIkFVUyIsIlRVUiJdfSwKe246Ikdyb3VwIEUiLGlkOiJFIix0YzpbIkdFUiIsIkNVVyIsIkNJViIsIkVDVSJdfSx7bjoiR3JvdXAgRiIsaWQ6IkYiLHRjOlsiTkVEIiwiSlBOIiwiVUtSIiwiVFVOIl19LAp7bjoiR3JvdXAgRyIsaWQ6IkciLHRjOlsiQkVMIiwiRUdZIiwiSVJOIiwiTlpMIl19LHtuOiJHcm91cCBIIixpZDoiSCIsdGM6WyJFU1AiLCJDUFYiLCJLU0EiLCJVUlUiXX0sCntuOiJHcm91cCBJIixpZDoiSSIsdGM6WyJGUkEiLCJTRU4iLCJJUlEiLCJOT1IiXX0se246Ikdyb3VwIEoiLGlkOiJKIix0YzpbIkFSRyIsIkFMRyIsIkFVVCIsIkpPUiJdfSwKe246Ikdyb3VwIEsiLGlkOiJLIix0YzpbIlBPUiIsIkNPRCIsIlVaQiIsIkNPTCJdfSx7bjoiR3JvdXAgTCIsaWQ6IkwiLHRjOlsiRU5HIiwiQ1JPIiwiR0hBIiwiUEFOIl19Cl07Cgpjb25zdCBWRU5VRVM9eyJtZXhpY28tY2l0eSI6e2lkOiJtZXhpY28tY2l0eSIsY2k6Ik1leGljbyBDaXR5IixzdDoiQ0RNWCIsc2Q6IkVzdGFkaW8gQXp0ZWNhIixjbzoiTUVYIixjYXA6ODc1MjN9LCJndWFkYWxhamFyYSI6e2lkOiJndWFkYWxhamFyYSIsY2k6Ikd1YWRhbGFqYXJhIixzdDoiSmFsaXNjbyIsc2Q6IkVzdGFkaW8gQWtyb24iLGNvOiJNRVgiLGNhcDo0OTg1MH0sIm1vbnRlcnJleSI6e2lkOiJtb250ZXJyZXkiLGNpOiJNb250ZXJyZXkiLHN0OiJOdWV2byBMZVx1MDBmM24iLHNkOiJFc3RhZGlvIEJCVkEiLGNvOiJNRVgiLGNhcDo1MzUwMH0sInRvcm9udG8iOntpZDoidG9yb250byIsY2k6IlRvcm9udG8iLHN0OiJPbnRhcmlvIixzZDoiQk1PIEZpZWxkIixjbzoiQ0FOIixjYXA6MzAwMDB9LCJ2YW5jb3V2ZXIiOntpZDoidmFuY291dmVyIixjaToiVmFuY291dmVyIixzdDoiQnJpdGlzaCBDb2x1bWJpYSIsc2Q6IkJDIFBsYWNlIixjbzoiQ0FOIixjYXA6NTQ1MDB9LCJsb3MtYW5nZWxlcyI6e2lkOiJsb3MtYW5nZWxlcyIsY2k6IkxvcyBBbmdlbGVzIixzdDoiQ2FsaWZvcm5pYSIsc2Q6IlNvRmkgU3RhZGl1bSIsY286IlVTQSIsY2FwOjcwMjQwfSwibmV3LXlvcmsiOntpZDoibmV3LXlvcmsiLGNpOiJOZXcgWW9yay9OZXcgSmVyc2V5IixzdDoiTmV3IEplcnNleSIsc2Q6Ik1ldExpZmUgU3RhZGl1bSIsY286IlVTQSIsY2FwOjgyNTAwfSwiYm9zdG9uIjp7aWQ6ImJvc3RvbiIsY2k6IkJvc3RvbiIsc3Q6Ik1hc3NhY2h1c2V0dHMiLHNkOiJHaWxsZXR0ZSBTdGFkaXVtIixjbzoiVVNBIixjYXA6NjU4Nzh9LCJzYW4tZnJhbmNpc2NvIjp7aWQ6InNhbi1mcmFuY2lzY28iLGNpOiJTYW4gRnJhbmNpc2NvIEJheSBBcmVhIixzdDoiQ2FsaWZvcm5pYSIsc2Q6IkxldmkncyBTdGFkaXVtIixjbzoiVVNBIixjYXA6Njg1MDB9LCJob3VzdG9uIjp7aWQ6ImhvdXN0b24iLGNpOiJIb3VzdG9uIixzdDoiVGV4YXMiLHNkOiJOUkcgU3RhZGl1bSIsY286IlVTQSIsY2FwOjcyMjIwfSwicGhpbGFkZWxwaGlhIjp7aWQ6InBoaWxhZGVscGhpYSIsY2k6IlBoaWxhZGVscGhpYSIsc3Q6IlBlbm5zeWx2YW5pYSIsc2Q6IkxpbmNvbG4gRmluYW5jaWFsIEZpZWxkIixjbzoiVVNBIixjYXA6Njk3OTZ9LCJkYWxsYXMiOntpZDoiZGFsbGFzIixjaToiRGFsbGFzIixzdDoiVGV4YXMiLHNkOiJBVCZUIFN0YWRpdW0iLGNvOiJVU0EiLGNhcDo4MDAwMH0sImF0bGFudGEiOntpZDoiYXRsYW50YSIsY2k6IkF0bGFudGEiLHN0OiJHZW9yZ2lhIixzZDoiTWVyY2VkZXMtQmVueiBTdGFkaXVtIixjbzoiVVNBIixjYXA6NzEwMDB9LCJtaWFtaSI6e2lkOiJtaWFtaSIsY2k6Ik1pYW1pIixzdDoiRmxvcmlkYSIsc2Q6IkhhcmQgUm9jayBTdGFkaXVtIixjbzoiVVNBIixjYXA6NjUzMjZ9LCJzZWF0dGxlIjp7aWQ6InNlYXR0bGUiLGNpOiJTZWF0dGxlIixzdDoiV2FzaGluZ3RvbiIsc2Q6Ikx1bWVuIEZpZWxkIixjbzoiVVNBIixjYXA6NjkwMDB9LCJrYW5zYXMtY2l0eSI6e2lkOiJrYW5zYXMtY2l0eSIsY2k6IkthbnNhcyBDaXR5IixzdDoiTWlzc291cmkiLHNkOiJBcnJvd2hlYWQgU3RhZGl1bSIsY286IlVTQSIsY2FwOjc2NDE2fX07Cgpjb25zdCBNQVRDSEVTPVt7ZDoiMjAyNi0wNi0xMSIsdDoiMTU6MDAiLGg6Ik1FWCIsYToiUlNBIixnOiJBIix2OiJtZXhpY28tY2l0eSIsbWQ6MX0se2Q6IjIwMjYtMDYtMTEiLHQ6IjE4OjAwIixoOiJLT1IiLGE6IkRFTiIsZzoiQSIsdjoiZ3VhZGFsYWphcmEiLG1kOjF9LHtkOiIyMDI2LTA2LTEyIix0OiIxNTowMCIsaDoiQ0FOIixhOiJJVEEiLGc6IkIiLHY6InRvcm9udG8iLG1kOjF9LHtkOiIyMDI2LTA2LTEyIix0OiIxODowMCIsaDoiVVNBIixhOiJQQVIiLGc6IkQiLHY6Imxvcy1hbmdlbGVzIixtZDoxfSx7ZDoiMjAyNi0wNi0xMyIsdDoiMTI6MDAiLGg6IkJSQSIsYToiTUFSIixnOiJDIix2OiJuZXcteW9yayIsbWQ6MX0se2Q6IjIwMjYtMDYtMTMiLHQ6IjE1OjAwIixoOiJBVVMiLGE6IlRVUiIsZzoiRCIsdjoidmFuY291dmVyIixtZDoxfSx7ZDoiMjAyNi0wNi0xMyIsdDoiMTg6MDAiLGg6IkhBSSIsYToiU0NPIixnOiJDIix2OiJib3N0b24iLG1kOjF9LHtkOiIyMDI2LTA2LTEzIix0OiIyMTowMCIsaDoiUUFUIixhOiJTVUkiLGc6IkIiLHY6InNhbi1mcmFuY2lzY28iLG1kOjF9LHtkOiIyMDI2LTA2LTE0Iix0OiIxMjowMCIsaDoiR0VSIixhOiJDVVciLGc6IkUiLHY6ImhvdXN0b24iLG1kOjF9LHtkOiIyMDI2LTA2LTE0Iix0OiIxNTowMCIsaDoiQ0lWIixhOiJFQ1UiLGc6IkUiLHY6InBoaWxhZGVscGhpYSIsbWQ6MX0se2Q6IjIwMjYtMDYtMTQiLHQ6IjE4OjAwIixoOiJORUQiLGE6IkpQTiIsZzoiRiIsdjoiZGFsbGFzIixtZDoxfSx7ZDoiMjAyNi0wNi0xNCIsdDoiMjE6MDAiLGg6IlVLUiIsYToiVFVOIixnOiJGIix2OiJtb250ZXJyZXkiLG1kOjF9LHtkOiIyMDI2LTA2LTE1Iix0OiIxMjowMCIsaDoiRVNQIixhOiJDUFYiLGc6IkgiLHY6ImF0bGFudGEiLG1kOjF9LHtkOiIyMDI2LTA2LTE1Iix0OiIxNTowMCIsaDoiS1NBIixhOiJVUlUiLGc6IkgiLHY6Im1pYW1pIixtZDoxfSx7ZDoiMjAyNi0wNi0xNSIsdDoiMTg6MDAiLGg6IkJFTCIsYToiRUdZIixnOiJHIix2OiJzZWF0dGxlIixtZDoxfSx7ZDoiMjAyNi0wNi0xNSIsdDoiMjE6MDAiLGg6IklSTiIsYToiTlpMIixnOiJHIix2OiJsb3MtYW5nZWxlcyIsbWQ6MX0se2Q6IjIwMjYtMDYtMTYiLHQ6IjEyOjAwIixoOiJGUkEiLGE6IlNFTiIsZzoiSSIsdjoibmV3LXlvcmsiLG1kOjF9LHtkOiIyMDI2LTA2LTE2Iix0OiIxNTowMCIsaDoiSVJRIixhOiJOT1IiLGc6IkkiLHY6ImJvc3RvbiIsbWQ6MX0se2Q6IjIwMjYtMDYtMTYiLHQ6IjE4OjAwIixoOiJBUkciLGE6IkFMRyIsZzoiSiIsdjoia2Fuc2FzLWNpdHkiLG1kOjF9LHtkOiIyMDI2LTA2LTE2Iix0OiIyMTowMCIsaDoiQVVUIixhOiJKT1IiLGc6IkoiLHY6InNhbi1mcmFuY2lzY28iLG1kOjF9LHtkOiIyMDI2LTA2LTE3Iix0OiIxMjowMCIsaDoiRU5HIixhOiJDUk8iLGc6IkwiLHY6ImRhbGxhcyIsbWQ6MX0se2Q6IjIwMjYtMDYtMTciLHQ6IjE1OjAwIixoOiJHSEEiLGE6IlBBTiIsZzoiTCIsdjoidG9yb250byIsbWQ6MX0se2Q6IjIwMjYtMDYtMTciLHQ6IjE4OjAwIixoOiJQT1IiLGE6IkNPRCIsZzoiSyIsdjoiaG91c3RvbiIsbWQ6MX0se2Q6IjIwMjYtMDYtMTciLHQ6IjIxOjAwIixoOiJVWkIiLGE6IkNPTCIsZzoiSyIsdjoibWV4aWNvLWNpdHkiLG1kOjF9LHtkOiIyMDI2LTA2LTE4Iix0OiIxMjowMCIsaDoiREVOIixhOiJSU0EiLGc6IkEiLHY6ImF0bGFudGEiLG1kOjJ9LHtkOiIyMDI2LTA2LTE4Iix0OiIxNTowMCIsaDoiU1VJIixhOiJJVEEiLGc6IkIiLHY6Imxvcy1hbmdlbGVzIixtZDoyfSx7ZDoiMjAyNi0wNi0xOCIsdDoiMTg6MDAiLGg6IkNBTiIsYToiUUFUIixnOiJCIix2OiJ2YW5jb3V2ZXIiLG1kOjJ9LHtkOiIyMDI2LTA2LTE4Iix0OiIyMTowMCIsaDoiTUVYIixhOiJLT1IiLGc6IkEiLHY6Imd1YWRhbGFqYXJhIixtZDoyfSx7ZDoiMjAyNi0wNi0xOSIsdDoiMTI6MDAiLGg6IkJSQSIsYToiSEFJIixnOiJDIix2OiJwaGlsYWRlbHBoaWEiLG1kOjJ9LHtkOiIyMDI2LTA2LTE5Iix0OiIxNTowMCIsaDoiU0NPIixhOiJNQVIiLGc6IkMiLHY6ImJvc3RvbiIsbWQ6Mn0se2Q6IjIwMjYtMDYtMTkiLHQ6IjE4OjAwIixoOiJUVVIiLGE6IlBBUiIsZzoiRCIsdjoic2FuLWZyYW5jaXNjbyIsbWQ6Mn0se2Q6IjIwMjYtMDYtMTkiLHQ6IjIxOjAwIixoOiJVU0EiLGE6IkFVUyIsZzoiRCIsdjoic2VhdHRsZSIsbWQ6Mn0se2Q6IjIwMjYtMDYtMjAiLHQ6IjEyOjAwIixoOiJHRVIiLGE6IkNJViIsZzoiRSIsdjoidG9yb250byIsbWQ6Mn0se2Q6IjIwMjYtMDYtMjAiLHQ6IjE1OjAwIixoOiJFQ1UiLGE6IkNVVyIsZzoiRSIsdjoia2Fuc2FzLWNpdHkiLG1kOjJ9LHtkOiIyMDI2LTA2LTIwIix0OiIxODowMCIsaDoiTkVEIixhOiJVS1IiLGc6IkYiLHY6ImhvdXN0b24iLG1kOjJ9LHtkOiIyMDI2LTA2LTIwIix0OiIyMTowMCIsaDoiVFVOIixhOiJKUE4iLGc6IkYiLHY6Im1vbnRlcnJleSIsbWQ6Mn0se2Q6IjIwMjYtMDYtMjEiLHQ6IjEyOjAwIixoOiJFU1AiLGE6IktTQSIsZzoiSCIsdjoiYXRsYW50YSIsbWQ6Mn0se2Q6IjIwMjYtMDYtMjEiLHQ6IjE1OjAwIixoOiJVUlUiLGE6IkNQViIsZzoiSCIsdjoibWlhbWkiLG1kOjJ9LHtkOiIyMDI2LTA2LTIxIix0OiIxODowMCIsaDoiQkVMIixhOiJJUk4iLGc6IkciLHY6Imxvcy1hbmdlbGVzIixtZDoyfSx7ZDoiMjAyNi0wNi0yMSIsdDoiMjE6MDAiLGg6Ik5aTCIsYToiRUdZIixnOiJHIix2OiJ2YW5jb3V2ZXIiLG1kOjJ9LHtkOiIyMDI2LTA2LTIyIix0OiIxMjowMCIsaDoiRlJBIixhOiJJUlEiLGc6IkkiLHY6InBoaWxhZGVscGhpYSIsbWQ6Mn0se2Q6IjIwMjYtMDYtMjIiLHQ6IjE1OjAwIixoOiJOT1IiLGE6IlNFTiIsZzoiSSIsdjoibmV3LXlvcmsiLG1kOjJ9LHtkOiIyMDI2LTA2LTIyIix0OiIxODowMCIsaDoiQVJHIixhOiJBVVQiLGc6IkoiLHY6ImRhbGxhcyIsbWQ6Mn0se2Q6IjIwMjYtMDYtMjIiLHQ6IjIxOjAwIixoOiJKT1IiLGE6IkFMRyIsZzoiSiIsdjoic2FuLWZyYW5jaXNjbyIsbWQ6Mn0se2Q6IjIwMjYtMDYtMjMiLHQ6IjEyOjAwIixoOiJFTkciLGE6IkdIQSIsZzoiTCIsdjoiYm9zdG9uIixtZDoyfSx7ZDoiMjAyNi0wNi0yMyIsdDoiMTU6MDAiLGg6IlBBTiIsYToiQ1JPIixnOiJMIix2OiJ0b3JvbnRvIixtZDoyfSx7ZDoiMjAyNi0wNi0yMyIsdDoiMTg6MDAiLGg6IlBPUiIsYToiVVpCIixnOiJLIix2OiJob3VzdG9uIixtZDoyfSx7ZDoiMjAyNi0wNi0yMyIsdDoiMjE6MDAiLGg6IkNPTCIsYToiQ09EIixnOiJLIix2OiJndWFkYWxhamFyYSIsbWQ6Mn0se2Q6IjIwMjYtMDYtMjQiLHQ6IjEyOjAwIixoOiJTQ08iLGE6IkJSQSIsZzoiQyIsdjoibWlhbWkiLG1kOjN9LHtkOiIyMDI2LTA2LTI0Iix0OiIxNTowMCIsaDoiTUFSIixhOiJIQUkiLGc6IkMiLHY6ImF0bGFudGEiLG1kOjN9LHtkOiIyMDI2LTA2LTI0Iix0OiIxODowMCIsaDoiQ0FOIixhOiJTVUkiLGc6IkIiLHY6InZhbmNvdXZlciIsbWQ6M30se2Q6IjIwMjYtMDYtMjQiLHQ6IjIxOjAwIixoOiJJVEEiLGE6IlFBVCIsZzoiQiIsdjoic2VhdHRsZSIsbWQ6M30se2Q6IjIwMjYtMDYtMjQiLHQ6IjE5OjAwIixoOiJNRVgiLGE6IkRFTiIsZzoiQSIsdjoibWV4aWNvLWNpdHkiLG1kOjN9LHtkOiIyMDI2LTA2LTI0Iix0OiIxOTowMCIsaDoiS09SIixhOiJSU0EiLGc6IkEiLHY6Im1vbnRlcnJleSIsbWQ6M30se2Q6IjIwMjYtMDYtMjUiLHQ6IjEyOjAwIixoOiJFQ1UiLGE6IkdFUiIsZzoiRSIsdjoibmV3LXlvcmsiLG1kOjN9LHtkOiIyMDI2LTA2LTI1Iix0OiIxNTowMCIsaDoiQ1VXIixhOiJDSVYiLGc6IkUiLHY6InBoaWxhZGVscGhpYSIsbWQ6M30se2Q6IjIwMjYtMDYtMjUiLHQ6IjE4OjAwIixoOiJUVU4iLGE6Ik5FRCIsZzoiRiIsdjoia2Fuc2FzLWNpdHkiLG1kOjN9LHtkOiIyMDI2LTA2LTI1Iix0OiIyMTowMCIsaDoiSlBOIixhOiJVS1IiLGc6IkYiLHY6ImRhbGxhcyIsbWQ6M30se2Q6IjIwMjYtMDYtMjUiLHQ6IjE5OjAwIixoOiJVU0EiLGE6IlRVUiIsZzoiRCIsdjoibG9zLWFuZ2VsZXMiLG1kOjN9LHtkOiIyMDI2LTA2LTI1Iix0OiIxOTowMCIsaDoiUEFSIixhOiJBVVMiLGc6IkQiLHY6InNhbi1mcmFuY2lzY28iLG1kOjN9LHtkOiIyMDI2LTA2LTI2Iix0OiIxMjowMCIsaDoiTk9SIixhOiJGUkEiLGc6IkkiLHY6ImJvc3RvbiIsbWQ6M30se2Q6IjIwMjYtMDYtMjYiLHQ6IjE1OjAwIixoOiJTRU4iLGE6IklSUSIsZzoiSSIsdjoidG9yb250byIsbWQ6M30se2Q6IjIwMjYtMDYtMjYiLHQ6IjE4OjAwIixoOiJOWkwiLGE6IkJFTCIsZzoiRyIsdjoidmFuY291dmVyIixtZDozfSx7ZDoiMjAyNi0wNi0yNiIsdDoiMjE6MDAiLGg6IkVHWSIsYToiSVJOIixnOiJHIix2OiJzZWF0dGxlIixtZDozfSx7ZDoiMjAyNi0wNi0yNiIsdDoiMTk6MDAiLGg6IlVSVSIsYToiRVNQIixnOiJIIix2OiJndWFkYWxhamFyYSIsbWQ6M30se2Q6IjIwMjYtMDYtMjYiLHQ6IjE5OjAwIixoOiJDUFYiLGE6IktTQSIsZzoiSCIsdjoiaG91c3RvbiIsbWQ6M30se2Q6IjIwMjYtMDYtMjciLHQ6IjEyOjAwIixoOiJQQU4iLGE6IkVORyIsZzoiTCIsdjoibmV3LXlvcmsiLG1kOjN9LHtkOiIyMDI2LTA2LTI3Iix0OiIxNTowMCIsaDoiQ1JPIixhOiJHSEEiLGc6IkwiLHY6InBoaWxhZGVscGhpYSIsbWQ6M30se2Q6IjIwMjYtMDYtMjciLHQ6IjE4OjAwIixoOiJKT1IiLGE6IkFSRyIsZzoiSiIsdjoiZGFsbGFzIixtZDozfSx7ZDoiMjAyNi0wNi0yNyIsdDoiMjE6MDAiLGg6IkFMRyIsYToiQVVUIixnOiJKIix2OiJrYW5zYXMtY2l0eSIsbWQ6M30se2Q6IjIwMjYtMDYtMjciLHQ6IjE5OjAwIixoOiJDT0wiLGE6IlBPUiIsZzoiSyIsdjoibWlhbWkiLG1kOjN9LHtkOiIyMDI2LTA2LTI3Iix0OiIxOTowMCIsaDoiQ09EIixhOiJVWkIiLGc6IksiLHY6ImF0bGFudGEiLG1kOjN9XTsKCmNvbnN0IEtPPXtSMzI6eyJSMzItMSI6e2Q6IjIwMjYtMDYtMjgiLHQ6IjEzOjAwIix2OiJsb3MtYW5nZWxlcyJ9LCJSMzItMiI6e2Q6IjIwMjYtMDYtMjkiLHQ6IjE2OjAwIix2OiJib3N0b24ifSwiUjMyLTMiOntkOiIyMDI2LTA2LTI5Iix0OiIxOTowMCIsdjoibW9udGVycmV5In0sIlIzMi00Ijp7ZDoiMjAyNi0wNi0yOSIsdDoiMjA6MDAiLHY6ImhvdXN0b24ifSwiUjMyLTUiOntkOiIyMDI2LTA2LTMwIix0OiIxMzowMCIsdjoibmV3LXlvcmsifSwiUjMyLTYiOntkOiIyMDI2LTA2LTMwIix0OiIxNjowMCIsdjoiZGFsbGFzIn0sIlIzMi03Ijp7ZDoiMjAyNi0wNi0zMCIsdDoiMTk6MDAiLHY6Im1leGljby1jaXR5In0sIlIzMi04Ijp7ZDoiMjAyNi0wNy0wMSIsdDoiMTM6MDAiLHY6ImF0bGFudGEifSwiUjMyLTkiOntkOiIyMDI2LTA3LTAxIix0OiIxNjowMCIsdjoic2FuLWZyYW5jaXNjbyJ9LCJSMzItMTAiOntkOiIyMDI2LTA3LTAxIix0OiIxOTowMCIsdjoic2VhdHRsZSJ9LCJSMzItMTEiOntkOiIyMDI2LTA3LTAyIix0OiIxMzowMCIsdjoidG9yb250byJ9LCJSMzItMTIiOntkOiIyMDI2LTA3LTAyIix0OiIxNjowMCIsdjoibG9zLWFuZ2VsZXMifSwiUjMyLTEzIjp7ZDoiMjAyNi0wNy0wMiIsdDoiMTk6MDAiLHY6InZhbmNvdXZlciJ9LCJSMzItMTQiOntkOiIyMDI2LTA3LTAzIix0OiIxMzowMCIsdjoibWlhbWkifSwiUjMyLTE1Ijp7ZDoiMjAyNi0wNy0wMyIsdDoiMTY6MDAiLHY6ImthbnNhcy1jaXR5In0sIlIzMi0xNiI6e2Q6IjIwMjYtMDctMDMiLHQ6IjE5OjAwIix2OiJkYWxsYXMifX0sUjE2OnsiUjE2LTEiOntkOiIyMDI2LTA3LTA0Iix0OiIxMzowMCIsdjoicGhpbGFkZWxwaGlhIn0sIlIxNi0yIjp7ZDoiMjAyNi0wNy0wNCIsdDoiMTc6MDAiLHY6ImhvdXN0b24ifSwiUjE2LTMiOntkOiIyMDI2LTA3LTA1Iix0OiIxMzowMCIsdjoibmV3LXlvcmsifSwiUjE2LTQiOntkOiIyMDI2LTA3LTA1Iix0OiIxNzowMCIsdjoibWV4aWNvLWNpdHkifSwiUjE2LTUiOntkOiIyMDI2LTA3LTA2Iix0OiIxMzowMCIsdjoiZGFsbGFzIn0sIlIxNi02Ijp7ZDoiMjAyNi0wNy0wNiIsdDoiMTc6MDAiLHY6InNlYXR0bGUifSwiUjE2LTciOntkOiIyMDI2LTA3LTA3Iix0OiIxMzowMCIsdjoiYXRsYW50YSJ9LCJSMTYtOCI6e2Q6IjIwMjYtMDctMDciLHQ6IjE3OjAwIix2OiJ2YW5jb3V2ZXIifX0sUUY6eyJRRi0xIjp7ZDoiMjAyNi0wNy0wOSIsdDoiMTU6MDAiLHY6ImJvc3RvbiJ9LCJRRi0yIjp7ZDoiMjAyNi0wNy0xMCIsdDoiMTg6MDAiLHY6Imxvcy1hbmdlbGVzIn0sIlFGLTMiOntkOiIyMDI2LTA3LTExIix0OiIxNTowMCIsdjoibWlhbWkifSwiUUYtNCI6e2Q6IjIwMjYtMDctMTEiLHQ6IjE4OjAwIix2OiJrYW5zYXMtY2l0eSJ9fSxTRjp7IlNGLTEiOntkOiIyMDI2LTA3LTE0Iix0OiIxOTowMCIsdjoiZGFsbGFzIn0sIlNGLTIiOntkOiIyMDI2LTA3LTE1Iix0OiIxOTowMCIsdjoiYXRsYW50YSJ9fSxGOnsiM1AiOntkOiIyMDI2LTA3LTE4Iix0OiIxNTowMCIsdjoibWlhbWkifSwiRiI6e2Q6IjIwMjYtMDctMTkiLHQ6IjE1OjAwIix2OiJuZXcteW9yayJ9fX07Cgpjb25zdCBTRUVEUz1be206IlIzMi0xIixzMToiMm5kIEEiLHMyOiIybmQgQiJ9LHttOiJSMzItMiIsczE6IjFzdCBFIixzMjoiM3JkIEFCQ0RGIn0se206IlIzMi0zIixzMToiMXN0IEYiLHMyOiIybmQgQyJ9LHttOiJSMzItNCIsczE6IjFzdCBDIixzMjoiMm5kIEYifSx7bToiUjMyLTUiLHMxOiIxc3QgSSIsczI6IjNyZCBDREZHSCJ9LHttOiJSMzItNiIsczE6IjJuZCBFIixzMjoiMm5kIEkifSx7bToiUjMyLTciLHMxOiIxc3QgQSIsczI6IjNyZCBDRUZISSJ9LHttOiJSMzItOCIsczE6IjFzdCBMIixzMjoiM3JkIEVISUpLIn0se206IlIzMi05IixzMToiMXN0IEQiLHMyOiIzcmQgQkVGSUoifSx7bToiUjMyLTEwIixzMToiMXN0IEciLHMyOiIzcmQgQUVISUoifSx7bToiUjMyLTExIixzMToiMm5kIEsiLHMyOiIybmQgTCJ9LHttOiJSMzItMTIiLHMxOiIxc3QgSCIsczI6IjJuZCBKIn0se206IlIzMi0xMyIsczE6IjFzdCBCIixzMjoiM3JkIEVGR0lKIn0se206IlIzMi0xNCIsczE6IjFzdCBKIixzMjoiMm5kIEgifSx7bToiUjMyLTE1IixzMToiMXN0IEsiLHMyOiIzcmQgREVJSkwifSx7bToiUjMyLTE2IixzMToiMm5kIEQiLHMyOiIybmQgRyJ9XTsKCmNvbnN0IEJQPXsiUjMyLTEiOlsiUjE2LTIiXSwiUjMyLTIiOlsiUjE2LTEiXSwiUjMyLTMiOlsiUjE2LTIiXSwiUjMyLTQiOlsiUjE2LTMiXSwiUjMyLTUiOlsiUjE2LTEiXSwiUjMyLTYiOlsiUjE2LTMiXSwiUjMyLTciOlsiUjE2LTQiXSwiUjMyLTgiOlsiUjE2LTQiXSwiUjMyLTkiOlsiUjE2LTYiXSwiUjMyLTEwIjpbIlIxNi02Il0sIlIzMi0xMSI6WyJSMTYtNSJdLCJSMzItMTIiOlsiUjE2LTUiXSwiUjMyLTEzIjpbIlIxNi04Il0sIlIzMi0xNCI6WyJSMTYtNyJdLCJSMzItMTUiOlsiUjE2LTgiXSwiUjMyLTE2IjpbIlIxNi03Il0sIlIxNi0xIjpbIlFGLTEiXSwiUjE2LTIiOlsiUUYtMSJdLCJSMTYtMyI6WyJRRi0zIl0sIlIxNi00IjpbIlFGLTMiXSwiUjE2LTUiOlsiUUYtMiJdLCJSMTYtNiI6WyJRRi0yIl0sIlIxNi03IjpbIlFGLTQiXSwiUjE2LTgiOlsiUUYtNCJdLCJRRi0xIjpbIlNGLTEiXSwiUUYtMiI6WyJTRi0xIl0sIlFGLTMiOlsiU0YtMiJdLCJRRi00IjpbIlNGLTIiXSwiU0YtMSI6WyJGIl0sIlNGLTIiOlsiRiJdfTsKCmNvbnN0IElTTz17TUVYOiJteCIsUlNBOiJ6YSIsS09SOiJrciIsREVOOiJkayIsQ0FOOiJjYSIsSVRBOiJpdCIsUUFUOiJxYSIsU1VJOiJjaCIsQlJBOiJiciIsTUFSOiJtYSIsSEFJOiJodCIsU0NPOiJnYi1zY3QiLFVTQToidXMiLFBBUjoicHkiLEFVUzoiYXUiLFRVUjoidHIiLEdFUjoiZGUiLENVVzoiY3ciLENJVjoiY2kiLEVDVToiZWMiLE5FRDoibmwiLEpQTjoianAiLFVLUjoidWEiLFRVTjoidG4iLEJFTDoiYmUiLEVHWToiZWciLElSTjoiaXIiLE5aTDoibnoiLEVTUDoiZXMiLENQVjoiY3YiLEtTQToic2EiLFVSVToidXkiLEZSQToiZnIiLFNFTjoic24iLElSUToiaXEiLE5PUjoibm8iLEFSRzoiYXIiLEFMRzoiZHoiLEFVVDoiYXQiLEpPUjoiam8iLFBPUjoicHQiLENPRDoiY2QiLFVaQjoidXoiLENPTDoiY28iLEVORzoiZ2ItZW5nIixDUk86ImhyIixHSEE6ImdoIixQQU46InBhIn07Cgpjb25zdCBWSU1HPXsia2Fuc2FzLWNpdHkiOiJodHRwczovL2NyZWF0aXZlZ3JvdXAtYmxvZy1wcmQtZXUtd2VzdC0xLXJlY2hhcmdlLWJsb2cuczMuZXUtd2VzdC0xLmFtYXpvbmF3cy5jb20vYmxvZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNC8zMDEzMjAyNC93YzI2LXZlbnVlLWthbnNhc2NpdHktMS5wbmciLCJuZXcteW9yayI6Imh0dHBzOi8vY3JlYXRpdmVncm91cC1ibG9nLXByZC1ldS13ZXN0LTEtcmVjaGFyZ2UtYmxvZy5zMy5ldS13ZXN0LTEuYW1hem9uYXdzLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA0LzMwMTMyMDE0L3djMjYtdmVudWUtbmV3eW9yay0xLmpwZyIsImF0bGFudGEiOiJodHRwczovL2NyZWF0aXZlZ3JvdXAtYmxvZy1wcmQtZXUtd2VzdC0xLXJlY2hhcmdlLWJsb2cuczMuZXUtd2VzdC0xLmFtYXpvbmF3cy5jb20vYmxvZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNC8zMDEzMTQ1NS93YzI2LXZlbnVlLWF0bGFudGEtMS5qcGciLCJ2YW5jb3V2ZXIiOiJodHRwczovL2NyZWF0aXZlZ3JvdXAtYmxvZy1wcmQtZXUtd2VzdC0xLXJlY2hhcmdlLWJsb2cuczMuZXUtd2VzdC0xLmFtYXpvbmF3cy5jb20vYmxvZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNC8zMDEzMTQzOS93YzI2LXZlbnVlLXZhbmNvdXZlci5qcGciLCJ0b3JvbnRvIjoiaHR0cHM6Ly9jcmVhdGl2ZWdyb3VwLWJsb2ctcHJkLWV1LXdlc3QtMS1yZWNoYXJnZS1ibG9nLnMzLmV1LXdlc3QtMS5hbWF6b25hd3MuY29tL2Jsb2cvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDQvMzAxMzE0MzIvd2MyNi12ZW51ZS10b3JvbnRvLmpwZyIsInNlYXR0bGUiOiJodHRwczovL2NyZWF0aXZlZ3JvdXAtYmxvZy1wcmQtZXUtd2VzdC0xLXJlY2hhcmdlLWJsb2cuczMuZXUtd2VzdC0xLmFtYXpvbmF3cy5jb20vYmxvZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNC8zMDEzMTQyMS93YzI2LXZlbnVlLXNlYXR0bGUuanBnIiwic2FuLWZyYW5jaXNjbyI6Imh0dHBzOi8vY3JlYXRpdmVncm91cC1ibG9nLXByZC1ldS13ZXN0LTEtcmVjaGFyZ2UtYmxvZy5zMy5ldS13ZXN0LTEuYW1hem9uYXdzLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA0LzMwMTMxNDEzL3djMjYtdmVudWUtc2FuLWZyYW5jaXNjby5qcGciLCJwaGlsYWRlbHBoaWEiOiJodHRwczovL2NyZWF0aXZlZ3JvdXAtYmxvZy1wcmQtZXUtd2VzdC0xLXJlY2hhcmdlLWJsb2cuczMuZXUtd2VzdC0xLmFtYXpvbmF3cy5jb20vYmxvZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNC8zMDEzMTQwNS93YzI2LXZlbnVlLXBoaWxhZGVscGhpYS5qcGciLCJtb250ZXJyZXkiOiJodHRwczovL2NyZWF0aXZlZ3JvdXAtYmxvZy1wcmQtZXUtd2VzdC0xLXJlY2hhcmdlLWJsb2cuczMuZXUtd2VzdC0xLmFtYXpvbmF3cy5jb20vYmxvZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNC8zMDEzMTM1NC93YzI2LXZlbnVlLW1vbnRlcnJleS5qcGciLCJtaWFtaSI6Imh0dHBzOi8vY3JlYXRpdmVncm91cC1ibG9nLXByZC1ldS13ZXN0LTEtcmVjaGFyZ2UtYmxvZy5zMy5ldS13ZXN0LTEuYW1hem9uYXdzLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA0LzMwMTMxMzQ0L3djMjYtdmVudWUtbWlhbWkuanBnIiwibWV4aWNvLWNpdHkiOiJodHRwczovL2NyZWF0aXZlZ3JvdXAtYmxvZy1wcmQtZXUtd2VzdC0xLXJlY2hhcmdlLWJsb2cuczMuZXUtd2VzdC0xLmFtYXpvbmF3cy5jb20vYmxvZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNC8zMDEzMTMzMy93YzI2LXZlbnVlLW1leGljby1jaXR5LmpwZyIsImxvcy1hbmdlbGVzIjoiaHR0cHM6Ly9jcmVhdGl2ZWdyb3VwLWJsb2ctcHJkLWV1LXdlc3QtMS1yZWNoYXJnZS1ibG9nLnMzLmV1LXdlc3QtMS5hbWF6b25hd3MuY29tL2Jsb2cvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDQvMzAxMzEzMjEvd2MyNi12ZW51ZS1sb3MtYW5nZWxlcy5qcGciLCJob3VzdG9uIjoiaHR0cHM6Ly9jcmVhdGl2ZWdyb3VwLWJsb2ctcHJkLWV1LXdlc3QtMS1yZWNoYXJnZS1ibG9nLnMzLmV1LXdlc3QtMS5hbWF6b25hd3MuY29tL2Jsb2cvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDQvMzAxMzEzMTIvd2MyNi12ZW51ZS1ob3VzdG9uLmpwZyIsImd1YWRhbGFqYXJhIjoiaHR0cHM6Ly9jcmVhdGl2ZWdyb3VwLWJsb2ctcHJkLWV1LXdlc3QtMS1yZWNoYXJnZS1ibG9nLnMzLmV1LXdlc3QtMS5hbWF6b25hd3MuY29tL2Jsb2cvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDQvMzAxMzEyNTkvd2MyNi12ZW51ZS1ndWFkYWxhamFyYS5qcGciLCJkYWxsYXMiOiJodHRwczovL2NyZWF0aXZlZ3JvdXAtYmxvZy1wcmQtZXUtd2VzdC0xLXJlY2hhcmdlLWJsb2cuczMuZXUtd2VzdC0xLmFtYXpvbmF3cy5jb20vYmxvZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNC8zMDEzMTI0My93YzI2LXZlbnVlLWRhbGxhcy5qcGciLCJib3N0b24iOiJodHRwczovL2NyZWF0aXZlZ3JvdXAtYmxvZy1wcmQtZXUtd2VzdC0xLXJlY2hhcmdlLWJsb2cuczMuZXUtd2VzdC0xLmFtYXpvbmF3cy5jb20vYmxvZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNC8zMDEzMTIzNi93YzI2LXZlbnVlLWJvc3Rvbi5qcGcifTsKY29uc3QgR0M9e0E6IiNlZjQ0NDQiLEI6IiNmOTczMTYiLEM6IiNlYWIzMDgiLEQ6IiMyMmM1NWUiLEU6IiMxNGI4YTYiLEY6IiMzYjgyZjYiLEc6IiM2MzY2ZjEiLEg6IiM4YjVjZjYiLEk6IiNhODU1ZjciLEo6IiNlYzQ4OTkiLEs6IiNmNDNmNWUiLEw6IiMwNmI2ZDQifTsKY29uc3QgQ0M9e1VFRkE6IiMzYjgyZjYiLENPTk1FQk9MOiIjMjJjNTVlIixDT05DQUNBRjoiI2Y5NzMxNiIsQ0FGOiIjZWFiMzA4IixBRkM6IiNlZjQ0NDQiLE9GQzoiIzA2YjZkNCJ9OwoKLy8gVXRpbHMKY29uc3QgVE09bmV3IE1hcCgpO1RFQU1TLmZvckVhY2godD0+VE0uc2V0KHQuYyx0KSk7CmZ1bmN0aW9uIFQoYyl7cmV0dXJuIFRNLmdldChjKXx8e246YyxjLHI6OTk5LHA6MTMwMCxjZjoiPyJ9O30KZnVuY3Rpb24gZmwoYyl7Y29uc3QgaT1JU09bY107cmV0dXJuIGk\/KCJodHRwczovL2ZsYWdjZG4uY29tL3c4MC8iKyhpKSsiLnBuZyIpOiIiO30KZnVuY3Rpb24gY2ZsKGMpe3JldHVybigiaHR0cHM6Ly9mbGFnY2RuLmNvbS93NDAvIisoe01FWDoibXgiLENBTjoiY2EiLFVTQToidXMifVtjXXx8InVuIikrIi5wbmciKTt9CmZ1bmN0aW9uIGZkKGQpe3JldHVybiBuZXcgRGF0ZShkKyJUMTI6MDA6MDAiKS50b0xvY2FsZURhdGVTdHJpbmcoImVuLVVTIix7d2Vla2RheToic2hvcnQiLG1vbnRoOiJzaG9ydCIsZGF5OiJudW1lcmljIn0pO30KZnVuY3Rpb24gZnQodCl7Y29uc3RbaCxtXT10LnNwbGl0KCI6Iik7Y29uc3QgaHI9K2g7cmV0dXJuKChocj4xMj9oci0xMjpocnx8MTIpKyI6IisobSkrIiAiKyhocj49MTI\/IlBNIjoiQU0iKSk7fQpmdW5jdGlvbiBubShuKXtyZXR1cm4gbi50b0xvY2FsZVN0cmluZygpO30KZnVuY3Rpb24gdGcoYyl7Y29uc3QgZz1HUk9VUFMuZmluZChnPT5nLnRjLmluY2x1ZGVzKGMpKTtyZXR1cm4gZz9nLmlkOm51bGw7fQoKLy8gQ291bnRkb3duCmZ1bmN0aW9uIGluaXRDRCgpewogIGNvbnN0IHRhcmdldD1uZXcgRGF0ZSgiMjAyNi0wNi0xMVQyMTowMDowMFoiKS5nZXRUaW1lKCk7CiAgZnVuY3Rpb24gdXBkKCl7CiAgICBjb25zdCBkaWZmPU1hdGgubWF4KDAsdGFyZ2V0LURhdGUubm93KCkpOwogICAgY29uc3QgZD1NYXRoLmZsb29yKGRpZmYvODY0ZTUpLGg9TWF0aC5mbG9vcihkaWZmJTg2NGU1LzM2ZTUpLG09TWF0aC5mbG9vcihkaWZmJTM2ZTUvNmU0KSxzPU1hdGguZmxvb3IoZGlmZiU2ZTQvMWUzKTsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3Yy1jb3VudGRvd24iKS5pbm5lckhUTUw9W1siRGFnZW4iLGRdLFsiVXJlbiIsaF0sWyJNaW4iLG1dLFsiU2VjIixzXV0ubWFwKChbbCx2XSk9PigiPGRpdiBjbGFzcz1cIndjLWNkLWJveFwiPjxkaXYgY2xhc3M9XCJ3Yy1jZC1udW1cIj4iKyh2KSsiPC9kaXY+PGRpdiBjbGFzcz1cIndjLWNkLWxhYmVsXCI+IisobCkrIjwvZGl2PjwvZGl2PiIpKS5qb2luKCIiKTsKICB9CiAgdXBkKCk7c2V0SW50ZXJ2YWwodXBkLDEwMDApOwp9CgovLyBIZXJvIHN0YXRzCmZ1bmN0aW9uIGluaXRIZXJvU3RhdHMoKXsKICBjb25zdCBjYXA9T2JqZWN0LnZhbHVlcyhWRU5VRVMpLnJlZHVjZSgoYSx2KT0+YSt2LmNhcCwwKTsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2MtaGVyby1zdGF0cyIpLmlubmVySFRNTD1bWyI0OCIsIlRlYW1zIl0sWyIxNiIsIlN0YWRpb25zIl0sWyIxMDQiLCJXZWRzdHJpamRlbiJdLFtubShjYXApLCJUb3RhbGUgQ2FwYWNpdGVpdCJdXS5tYXAoKFt2LGxdKT0+KCI8ZGl2IGNsYXNzPVwid2Mtc3RhdFwiPjxkaXYgY2xhc3M9XCJ3Yy1zdGF0LW51bVwiPiIrKHYpKyI8L2Rpdj48ZGl2IGNsYXNzPVwid2Mtc3RhdC1sYWJlbFwiPiIrKGwpKyI8L2Rpdj48L2Rpdj4iKSkuam9pbigiIik7Cn0KCi8vIEdyb3VwcwpmdW5jdGlvbiBpbml0R3JvdXBzKCl7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndjLWdyb3Vwcy1ncmlkIikuaW5uZXJIVE1MPUdST1VQUy5tYXAoZz0+ewogICAgY29uc3QgdGVhbXM9Zy50Yy5tYXAoYz0+VChjKSkuc29ydCgoYSxiKT0+YS5yLWIucik7CiAgICBjb25zdCBwbT1tYW51YWxNb2RlJiYhZ3JvdXBzU2ltdWxhdGVkOwogICAgY29uc3QgdGJsQ2xzPXBtPyJ3Yy1ndGFibGUgcGlja21vZGUiOiJ3Yy1ndGFibGUiOwogICAgY29uc3QgcGlja3M9bWFudWFsUGlja3NbZy5pZF18fFtdOwogICAgcmV0dXJuKCI8ZGl2IGNsYXNzPVwid2MtZ3JvdXBcIj48ZGl2IGNsYXNzPVwid2MtZ3JvdXAtaGRyXCI+PGRpdiBjbGFzcz1cIndjLWdyb3VwLWJhZGdlXCIgc3R5bGU9XCJiYWNrZ3JvdW5kOiIrKEdDW2cuaWRdKSsiXCI+IisoZy5pZCkrIjwvZGl2PiIrKGcubikrKHBtJiZwaWNrcy5sZW5ndGg8ND8oIjxzcGFuIHN0eWxlPVwibWFyZ2luLWxlZnQ6YXV0bztmb250LXNpemU6MTBweDtjb2xvcjp2YXIoLS10MylcIj4iKyhwaWNrcy5sZW5ndGgpKyIvNDwvc3Bhbj4iKToiIikrIjwvZGl2Pjx0YWJsZSBjbGFzcz1cIiIrKHRibENscykrIlwiPjx0aGVhZD48dHI+PHRoPiM8L3RoPjx0aD5UZWFtPC90aD48dGg+UHRzPC90aD48dGg+UDwvdGg+PHRoPlc8L3RoPjx0aD5EPC90aD48dGg+TDwvdGg+PHRoPkdEPC90aD48L3RyPjwvdGhlYWQ+PHRib2R5PiIrKHRlYW1zLm1hcCgodCxpKT0+ewogICAgICBjb25zdCBwaWNrSWR4PXBpY2tzLmluZGV4T2YodC5jKTsKICAgICAgY29uc3QgcmM9cG0\/KHBpY2tJZHghPT0tMT8ocGlja0lkeDwyPyJ3Yy1ycSI6cGlja0lkeD09PTI\/IndjLXIzIjoid2MtcmUiKToiIik6KGk8Mj8id2MtcnEiOmk9PT0yPyJ3Yy1yMyI6IndjLXJlIik7CiAgICAgIGNvbnN0IHBvcz1wbT8ocGlja0lkeCE9PS0xP3BpY2tJZHgrMToiLSIpOihpKzEpOwogICAgICBjb25zdCBvbmNsaWNrPXBtPygiIG9uY2xpY2s9XCJ3YzI2UGlja0dyb3VwKCciKyhnLmlkKSsiJywnIisodC5jKSsiJylcIiBzdHlsZT1cImN1cnNvcjpwb2ludGVyIisocGlja0lkeD09PS0xJiZwaWNrcy5sZW5ndGg+MD8iO29wYWNpdHk6LjUiOiIiKSsiXCIiKToiIgogICAgICBjb25zdCBiYWRnZT1wbSYmcGlja0lkeCE9PS0xPygiPHNwYW4gY2xhc3M9XCJ3Yy1waWNrLWJhZGdlIHdjLXBpY2stIisocGlja0lkeCsxKSsiXCI+IisocGlja0lkeD09PTA\/IjFzdCI6cGlja0lkeD09PTE\/IjJuZCI6cGlja0lkeD09PTI\/IjNyZCI6IjR0aCIpKyI8L3NwYW4+Iik6IiI7CiAgICAgIHJldHVybigiPHRyIGNsYXNzPVwiIisocmMpKyJcIiBkYXRhLWc9XCIiKyhnLmlkKSsiXCIgZGF0YS10Yz1cIiIrKHQuYykrIlwiIisob25jbGljaykrIj48dGQgY2xhc3M9XCJ3Yy1wb3NcIj4iKyhwb3MpKyI8L3RkPjx0ZD48ZGl2IGNsYXNzPVwidGNcIj48aW1nIHNyYz1cIiIrKGZsKHQuYykpKyJcIiBhbHQ9XCIiKyh0LmMpKyJcIj4iKyh0Lm4pKyI8c3BhbiBjbGFzcz1cInJrXCI+IyIrKHQucikrIjwvc3Bhbj4iKyhiYWRnZSkrIjwvZGl2PjwvdGQ+PHRkPjxzdHJvbmc+MDwvc3Ryb25nPjwvdGQ+PHRkPjA8L3RkPjx0ZD4wPC90ZD48dGQ+MDwvdGQ+PHRkPjA8L3RkPjx0ZD4wPC90ZD48L3RyPiIpOwogICAgfSkuam9pbigiIikpKyI8L3Rib2R5PjwvdGFibGU+PC9kaXY+Iik7CiAgfSkuam9pbigiIik7Cn0KCi8vIFNjaGVkdWxlCmxldCBzZj17ZzoiYWxsIixtZDowfTsKZnVuY3Rpb24gaW5pdFNjaEZpbHRlcnMoKXsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2Mtc2NoLWZpbHRlcnMiKS5pbm5lckhUTUw9IjxidXR0b24gY2xhc3M9XCJ3Yy1mYnRuIG9uXCIgb25jbGljaz1cIndjMjZTY2hGKCdtZCcsMClcIj5BbGw8L2J1dHRvbj4iK1sxLDIsM10ubWFwKG09PigiPGJ1dHRvbiBjbGFzcz1cIndjLWZidG5cIiBvbmNsaWNrPVwid2MyNlNjaEYoJ21kJywiKyhtKSsiKVwiPk1EICIrKG0pKyI8L2J1dHRvbj4iKSkuam9pbigiIikrKCI8c2VsZWN0IGNsYXNzPVwid2MtZnNlbFwiIG9uY2hhbmdlPVwid2MyNlNjaEYoJ2cnLHRoaXMudmFsdWUpXCI+PG9wdGlvbiB2YWx1ZT1cImFsbFwiPkFsbGUgR3JvZXBlbjwvb3B0aW9uPiIrKEdST1VQUy5tYXAoZz0+KCI8b3B0aW9uIHZhbHVlPVwiIisoZy5pZCkrIlwiPkdyb3VwICIrKGcuaWQpKyI8L29wdGlvbj4iKSkuam9pbigiIikpKyI8L3NlbGVjdD4iKTsKfQp3aW5kb3cud2MyNlNjaEY9ZnVuY3Rpb24oayx2KXtzZltrXT12O3JlbmRlclNjaCgpO2lmKGs9PT0ibWQiKWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIiN3Yy1zY2gtZmlsdGVycyAud2MtZmJ0biIpLmZvckVhY2goKGIsaSk9PmIuY2xhc3NMaXN0LnRvZ2dsZSgib24iLCh2PT09MCYmaT09PTApfHwodj09PWkpKSk7fTsKZnVuY3Rpb24gcmVuZGVyU2NoKCl7CiAgaW5pdFNjaEZpbHRlcnMoKTsKICBsZXQgbXM9TUFUQ0hFUy5maWx0ZXIobT0+KHNmLmc9PT0iYWxsInx8bS5nPT09c2YuZykmJighc2YubWR8fG0ubWQ9PT1zZi5tZCkpOwogIGNvbnN0IGJkPXt9O21zLmZvckVhY2gobT0+eyhiZFttLmRdPWJkW20uZF18fFtdKS5wdXNoKG0pO30pOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3Yy1zY2gtbGlzdCIpLmlubmVySFRNTD1PYmplY3QuZW50cmllcyhiZCkuc29ydCgoW2FdLFtiXSk9PmEubG9jYWxlQ29tcGFyZShiKSkubWFwKChbZCxtc10pPT4oIjxkaXYgY2xhc3M9XCJ3Yy1kYXRlLWhkclwiPiIrKGZkKGQpKSsiPC9kaXY+IikrbXMubWFwKG09PnsKICAgIGNvbnN0IGg9VChtLmgpLGE9VChtLmEpLHY9VkVOVUVTW20udl07CiAgICByZXR1cm4oIjxkaXYgY2xhc3M9XCJ3Yy1tYXRjaFwiPjxkaXYgY2xhc3M9XCJ3Yy1tdGVhbVwiPjxpbWcgc3JjPVwiIisoZmwobS5oKSkrIlwiPiIrKGgubikrIjwvZGl2PjxkaXYgY2xhc3M9XCJ3Yy1tdnNcIj48ZGl2IGNsYXNzPVwidG1cIj4iKyhmdChtLnQpKSsiPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1cIndjLW10ZWFtIGF3YXlcIj4iKyhhLm4pKyI8aW1nIHNyYz1cIiIrKGZsKG0uYSkpKyJcIj48L2Rpdj48ZGl2IGNsYXNzPVwid2MtbW1ldGFcIj48c3BhbiBjbGFzcz1cIndjLWdycC10YWdcIiBzdHlsZT1cImJhY2tncm91bmQ6IisoR0NbbS5nXSkrIlwiPkdyb3VwICIrKG0uZykrIjwvc3Bhbj48c3Bhbj4iKyh2P3Yuc2Q6IiIpKyI8L3NwYW4+PC9kaXY+PC9kaXY+Iik7CiAgfSkuam9pbigiIikpLmpvaW4oIiIpOwp9CgovLyA9PT09PSBJTlRFUkFDVElWRSBUUkVFIEJSQUNLRVQgPT09PT0KY29uc3QgYnJhY2tldFN0YXRlPXt9OwpsZXQgZ3JvdXBzU2ltdWxhdGVkPWZhbHNlOwpsZXQgYWxsU3RhbmRpbmdzPW51bGw7CmxldCBtYW51YWxNb2RlPWZhbHNlOwpjb25zdCBtYW51YWxQaWNrcz17fTsvLyBncm91cElkIC0+IFtjb2RlMXN0LCBjb2RlMm5kLCBjb2RlM3JkLCBjb2RlNHRoXQpjb25zdCBMMzI9WyJSMzItMiIsIlIzMi01IiwiUjMyLTEiLCJSMzItMyIsIlIzMi00IiwiUjMyLTYiLCJSMzItNyIsIlIzMi04Il07CmNvbnN0IFIzMlg9WyJSMzItOSIsIlIzMi0xMCIsIlIzMi0xMSIsIlIzMi0xMiIsIlIzMi0xMyIsIlIzMi0xNCIsIlIzMi0xNSIsIlIzMi0xNiJdOwpjb25zdCBMMTY9WyJSMTYtMSIsIlIxNi0yIiwiUjE2LTMiLCJSMTYtNCJdLFIxNlg9WyJSMTYtNSIsIlIxNi02IiwiUjE2LTciLCJSMTYtOCJdOwpjb25zdCBMUUY9WyJRRi0xIiwiUUYtMyJdLFJRRj1bIlFGLTIiLCJRRi00Il07CgpmdW5jdGlvbiByZW5kZXJCcmFja2V0QWN0aW9ucygpewogIGNvbnN0IGVsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3Yy1icmFja2V0LWFjdGlvbnMiKTsKICBpZihncm91cHNTaW11bGF0ZWQpewogICAgZWwuaW5uZXJIVE1MPSI8YnV0dG9uIGNsYXNzPVwid2MtZmJ0biBvblwiIGRpc2FibGVkPlxcdTI3MDUgR3JvdXBzIERvbmU8L2J1dHRvbj4iKwogICAgICAiPGJ1dHRvbiBjbGFzcz1cIndjLWZidG5cIiBvbmNsaWNrPVwid2MyNlNpbUFsbEtPKClcIj5Lbm9jay1vdXRzIEF1dG9tYXRpc2NoIFNpbXVsZXJlbjwvYnV0dG9uPiIrCiAgICAgICI8YnV0dG9uIGNsYXNzPVwid2MtZmJ0blwiIG9uY2xpY2s9XCJ3YzI2UmVzZXQoKVwiIHN0eWxlPVwiY29sb3I6dmFyKC0tcmVkKTtib3JkZXItY29sb3I6dmFyKC0tcmVkKVwiPlJlc2V0PC9idXR0b24+IjsKICB9ZWxzZSBpZihtYW51YWxNb2RlKXsKICAgIGNvbnN0IGFsbFBpY2tlZD1HUk9VUFMuZXZlcnkoZz0+bWFudWFsUGlja3NbZy5pZF0mJm1hbnVhbFBpY2tzW2cuaWRdLmxlbmd0aD09PTQpOwogICAgZWwuaW5uZXJIVE1MPSI8YnV0dG9uIGNsYXNzPVwid2MtZmJ0biBvblwiIGRpc2FibGVkPkhhbmRtYXRpZ2UgTW9kdXM6IEtsaWsgb3AgdGVhbXMgaW4gZWxrZSBncm9lcCBvbSB6ZSAxZS00ZSB0ZSByYW5nc2NoaWtrZW48L2J1dHRvbj4iKwogICAgICAoYWxsUGlja2VkPyI8YnV0dG9uIGNsYXNzPVwid2MtZmJ0blwiIG9uY2xpY2s9XCJ3YzI2Q29uZmlybU1hbnVhbCgpXCIgc3R5bGU9XCJiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCk7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7Y29sb3I6I2ZmZlwiPlxcdTI3MDUgQ29uZmlybSAmYW1wOyBGaWxsIEJyYWNrZXQ8L2J1dHRvbj4iOiIiKSsKICAgICAgIjxidXR0b24gY2xhc3M9XCJ3Yy1mYnRuXCIgb25jbGljaz1cIndjMjZSZXNldCgpXCIgc3R5bGU9XCJjb2xvcjp2YXIoLS1yZWQpO2JvcmRlci1jb2xvcjp2YXIoLS1yZWQpXCI+Q2FuY2VsPC9idXR0b24+IjsKICB9ZWxzZXsKICAgIGVsLmlubmVySFRNTD0iPGJ1dHRvbiBjbGFzcz1cIndjLWZidG5cIiBvbmNsaWNrPVwid2MyNlNpbUdyb3VwcygpXCI+R3JvZXBlbiBTaW11bGVyZW48L2J1dHRvbj4iKwogICAgICAiPGJ1dHRvbiBjbGFzcz1cIndjLWZidG5cIiBvbmNsaWNrPVwid2MyNk1hbnVhbE1vZGUoKVwiPkhhbmRtYXRpZyBLaWV6ZW48L2J1dHRvbj4iKwogICAgICAiPGJ1dHRvbiBjbGFzcz1cIndjLWZidG5cIiBvbmNsaWNrPVwid2MyNlJlc2V0KClcIiBzdHlsZT1cImNvbG9yOnZhcigtLXJlZCk7Ym9yZGVyLWNvbG9yOnZhcigtLXJlZClcIj5SZXNldDwvYnV0dG9uPiI7CiAgfQp9CgovLyBNYW51YWwgbW9kZTogY2xpY2sgdGVhbXMgaW4gZ3JvdXAgdGFibGVzIHRvIHNldCAxc3QvMm5kLzNyZC80dGgKd2luZG93LndjMjZNYW51YWxNb2RlPWZ1bmN0aW9uKCl7CiAgbWFudWFsTW9kZT10cnVlOwogIEdST1VQUy5mb3JFYWNoKGc9PnttYW51YWxQaWNrc1tnLmlkXT1bXTt9KTsKICBpbml0R3JvdXBzKCk7Ly8gcmUtcmVuZGVyIHdpdGggY2xpY2sgaGFuZGxlcnMKICByZW5kZXJCcmFja2V0QWN0aW9ucygpOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3Yy1ncm91cHMiKS5zY3JvbGxJbnRvVmlldyh7YmVoYXZpb3I6InNtb290aCJ9KTsKfTsKCndpbmRvdy53YzI2UGlja0dyb3VwPWZ1bmN0aW9uKGdpZCxjb2RlKXsKICBpZighbWFudWFsTW9kZXx8Z3JvdXBzU2ltdWxhdGVkKXJldHVybjsKICBjb25zdCBwaWNrcz1tYW51YWxQaWNrc1tnaWRdOwogIC8vIElmIGFscmVhZHkgcGlja2VkLCByZW1vdmUgaXQgYW5kIGV2ZXJ5dGhpbmcgYWZ0ZXIKICBjb25zdCBpZHg9cGlja3MuaW5kZXhPZihjb2RlKTsKICBpZihpZHghPT0tMSl7cGlja3Muc3BsaWNlKGlkeCk7dXBkYXRlR3JvdXBVSShnaWQpO3JlbmRlckJyYWNrZXRBY3Rpb25zKCk7cmV0dXJuO30KICBpZihwaWNrcy5sZW5ndGg+PTQpcmV0dXJuOwogIHBpY2tzLnB1c2goY29kZSk7CiAgdXBkYXRlR3JvdXBVSShnaWQpOwogIHJlbmRlckJyYWNrZXRBY3Rpb25zKCk7Cn07CgpmdW5jdGlvbiB1cGRhdGVHcm91cFVJKGdpZCl7CiAgY29uc3QgcGlja3M9bWFudWFsUGlja3NbZ2lkXXx8W107CiAgY29uc3Qgcm93cz1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCgiW2RhdGEtZz1cIiIrKGdpZCkrIlwiXSIpKTsKICByb3dzLmZvckVhY2gocm93PT57CiAgICBjb25zdCBjb2RlPXJvdy5nZXRBdHRyaWJ1dGUoImRhdGEtdGMiKTsKICAgIGNvbnN0IHBvcz1waWNrcy5pbmRleE9mKGNvZGUpOwogICAgY29uc3QgcG9zQ2VsbD1yb3cucXVlcnlTZWxlY3RvcigiLndjLXBvcyIpOwogICAgY29uc3QgZXhpc3RpbmdCYWRnZT1yb3cucXVlcnlTZWxlY3RvcigiLndjLXBpY2stYmFkZ2UiKTsKICAgIGlmKGV4aXN0aW5nQmFkZ2UpZXhpc3RpbmdCYWRnZS5yZW1vdmUoKTsKICAgIGlmKHBvcyE9PS0xKXsKICAgICAgcG9zQ2VsbC50ZXh0Q29udGVudD1wb3MrMTsKICAgICAgcm93LmNsYXNzTmFtZT1wb3M8Mj8id2MtcnEiOnBvcz09PTI\/IndjLXIzIjoid2MtcmUiOwogICAgICBjb25zdCBiYWRnZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7CiAgICAgIGJhZGdlLmNsYXNzTmFtZT0id2MtcGljay1iYWRnZSB3Yy1waWNrLSIrKHBvcysxKTsKICAgICAgYmFkZ2UudGV4dENvbnRlbnQ9cG9zPT09MD8iMXN0Ijpwb3M9PT0xPyIybmQiOnBvcz09PTI\/IjNyZCI6IjR0aCI7CiAgICAgIHJvdy5xdWVyeVNlbGVjdG9yKCIudGMiKS5hcHBlbmRDaGlsZChiYWRnZSk7CiAgICB9ZWxzZXsKICAgICAgcG9zQ2VsbC50ZXh0Q29udGVudD0iLSI7CiAgICAgIHJvdy5jbGFzc05hbWU9IiI7CiAgICAgIHJvdy5zdHlsZS5vcGFjaXR5PXBpY2tzLmxlbmd0aD4wPyIwLjUiOiIxIjsKICAgIH0KICB9KTsKICAvLyBJZiBhbGwgNCBwaWNrZWQsIHNldCBmdWxsIG9wYWNpdHkKICBpZihwaWNrcy5sZW5ndGg9PT00KXJvd3MuZm9yRWFjaChyPT5yLnN0eWxlLm9wYWNpdHk9IjEiKTsKfQoKd2luZG93LndjMjZDb25maXJtTWFudWFsPWZ1bmN0aW9uKCl7CiAgaWYoIUdST1VQUy5ldmVyeShnPT5tYW51YWxQaWNrc1tnLmlkXT8ubGVuZ3RoPT09NCkpcmV0dXJuOwogIC8vIEJ1aWxkIGFsbFN0YW5kaW5ncyBmcm9tIG1hbnVhbCBwaWNrcwogIGFsbFN0YW5kaW5ncz17fTsKICBHUk9VUFMuZm9yRWFjaChnPT57CiAgICBhbGxTdGFuZGluZ3NbZy5pZF09bWFudWFsUGlja3NbZy5pZF0ubWFwKChjb2RlLGkpPT4oe2M6Y29kZSxwdHM6MyooMy1pKSxwOjMsdzozLWksZDowLGw6aSxnZjozLWksZ2E6aSxnZDozLTIqaX0pKTsKICB9KTsKICBncm91cHNTaW11bGF0ZWQ9dHJ1ZTttYW51YWxNb2RlPWZhbHNlOwogIHBvcHVsYXRlUjMyKCk7CiAgaW5pdEdyb3VwcygpOy8vIHJlLXJlbmRlciB3aXRob3V0IGNsaWNrIGhhbmRsZXJzCiAgcmVuZGVyQnJhY2tldCgpOwp9OwoKZnVuY3Rpb24gc2xvdEhUTUwoaWQsdGVhbUNvZGUsc2VlZExhYmVsKXsKICB2YXIgc3Q9YnJhY2tldFN0YXRlW2lkXTsKICBpZighdGVhbUNvZGUpcmV0dXJuKCI8ZGl2IGNsYXNzPVwid2MtYnNsb3QgZW1wdHlcIj48c3BhbiBjbGFzcz1cInNlZWQtbGJsXCI+Iisoc2VlZExhYmVsKSsiPC9zcGFuPjxzcGFuIGNsYXNzPVwibm1cIiBzdHlsZT1cImNvbG9yOnZhcigtLXQzKVwiPlRCRDwvc3Bhbj48L2Rpdj4iKTsKICB2YXIgdGVhbT1UKHRlYW1Db2RlKTsKICB2YXIgaXNQaWNrZWQ9c3QmJnN0Lndpbm5lcj09PXRlYW1Db2RlOwogIHZhciBpc0xvc3Q9c3QmJnN0Lndpbm5lciYmc3Qud2lubmVyIT09dGVhbUNvZGU7CiAgdmFyIGNscz1pc1BpY2tlZD8icGlja2VkIjppc0xvc3Q\/Imxvc3QiOiIiOwogIHJldHVybigiPGRpdiBjbGFzcz1cIndjLWJzbG90ICIrKGNscykrIlwiIG9uY2xpY2s9XCJ3YzI2UGljaygnIisoaWQpKyInLCciKyh0ZWFtQ29kZSkrIicpXCI+PGltZyBzcmM9XCIiKyhmbCh0ZWFtQ29kZSkpKyJcIj48c3BhbiBjbGFzcz1cIm5tXCI+IisodGVhbUNvZGUpKyI8L3NwYW4+PHNwYW4gY2xhc3M9XCJwaWNrLWljb25cIj5cXHUyNzEzPC9zcGFuPjwvZGl2PiIpOwp9CgpmdW5jdGlvbiBtYXRjaENhcmQoaWQsc2wxLHNsMil7CiAgY29uc3QgaW5mbz1LTy5SMzJbaWRdfHxLTy5SMTZbaWRdfHxLTy5RRltpZF18fEtPLlNGW2lkXXx8S08uRltpZF07CiAgaWYoIWluZm8pcmV0dXJuIiI7CiAgY29uc3Qgdj1WRU5VRVNbaW5mby52XTtjb25zdCBzdD1icmFja2V0U3RhdGVbaWRdOwogIGNvbnN0IHQxPXN0P3N0LnQxOm51bGwsdDI9c3Q\/c3QudDI6bnVsbDsKICBjb25zdCBjbHM9aWQ9PT0iRiI\/IiBmaW5hbC1tYXRjaCI6IiI7CiAgcmV0dXJuKCI8ZGl2IGNsYXNzPVwid2MtYm1hdGNoIisoY2xzKSsiXCIgaWQ9XCJ3Yy1ibS0iKyhpZCkrIlwiPiIrKHNsb3RIVE1MKGlkLHQxLHNsMSkpKyhzbG90SFRNTChpZCx0MixzbDIpKSsiPGRpdiBjbGFzcz1cIndjLWJtZXRhXCI+IisoZmQoaW5mby5kKSkrIiAmbWlkZG90OyAiKyh2P3YuY2k6IiIpKyI8L2Rpdj48L2Rpdj4iKTsKfQoKZnVuY3Rpb24gbWMoaWQsZXh0cmEpewogIHZhciBzZWVkTWFwPXt9O1NFRURTLmZvckVhY2goZnVuY3Rpb24ocyl7c2VlZE1hcFtzLm1dPXM7fSk7CiAgdmFyIHM9c2VlZE1hcFtpZF07CiAgdmFyIHMxPXM\/cy5zMTooaWQ9PT0iRiI\/IlcgU0YxIjppZD09PSIzUCI\/IkwgU0YxIjoiVEJEIik7CiAgdmFyIHMyPXM\/cy5zMjooaWQ9PT0iRiI\/IlcgU0YyIjppZD09PSIzUCI\/IkwgU0YyIjoiVEJEIik7CiAgcmV0dXJuIG1hdGNoQ2FyZChpZCxzMSxzMikucmVwbGFjZSgid2MtYm1hdGNoXCIiLCJ3Yy1ibWF0Y2giKyhleHRyYT8iICIrZXh0cmE6IiIpKyJcIiIpOwp9CgpmdW5jdGlvbiByb3coaWRzLGV4dHJhKXsKICB2YXIgaD0iPGRpdiBjbGFzcz1cIndjLXJvd1wiPiI7CiAgaWRzLmZvckVhY2goZnVuY3Rpb24oaWQpe2grPW1jKGlkLGV4dHJhfHwiIik7fSk7CiAgaCs9IjwvZGl2PiI7CiAgcmV0dXJuIGg7Cn0KCmZ1bmN0aW9uIGNvbm5Eb3duKG4pewogIHZhciBoPSI8ZGl2IGNsYXNzPVwid2MtY29ubmVjdG9yc1wiPiI7CiAgZm9yKHZhciBpPTA7aTxuO2krKyloKz0iPGRpdiBjbGFzcz1cIndjLWNvbm4tcGFpclwiPjxzcGFuPlx1MjU3MDwvc3Bhbj48c3Bhbj5cdTI1NkY8L3NwYW4+PC9kaXY+IjsKICBoKz0iPC9kaXY+IjsKICByZXR1cm4gaDsKfQpmdW5jdGlvbiBjb25uVXAobil7CiAgdmFyIGg9IjxkaXYgY2xhc3M9XCJ3Yy1jb25uZWN0b3JzXCI+IjsKICBmb3IodmFyIGk9MDtpPG47aSsrKWgrPSI8ZGl2IGNsYXNzPVwid2MtY29ubi1wYWlyXCI+PHNwYW4+XHUyNTZEPC9zcGFuPjxzcGFuPlx1MjU2RTwvc3Bhbj48L2Rpdj4iOwogIGgrPSI8L2Rpdj4iOwogIHJldHVybiBoOwp9CgpmdW5jdGlvbiByb3VuZEhkcih0aXRsZSxpc0ZpbmFsKXsKICB2YXIgY2xzPWlzRmluYWw\/IndjLXZyb3VuZC1oZHIgZmluYWwtaGRyIjoid2MtdnJvdW5kLWhkciI7CiAgcmV0dXJuICI8ZGl2IGNsYXNzPVwiIitjbHMrIlwiPjxzcGFuIGNsYXNzPVwid2MtdnItbGFiZWxcIj4iK3RpdGxlKyI8L3NwYW4+PHNwYW4gY2xhc3M9XCJ3Yy12ci1saW5lXCI+PC9zcGFuPjwvZGl2PiI7Cn0KCmZ1bmN0aW9uIHJlbmRlckJyYWNrZXQoKXsKICB2YXIgaD0iIjsKCiAgLy8gVVBQRVIgSEFMRiAtIHRvcCBkb3duCiAgaCs9IjxkaXYgY2xhc3M9XCJ3Yy12cm91bmRcIj4iK3JvdW5kSGRyKCJSb3VuZCBvZiAzMiAmbWRhc2g7IFVwcGVyIik7CiAgaCs9cm93KFsiUjMyLTIiLCJSMzItNSIsIlIzMi0xIiwiUjMyLTMiLCJSMzItNCIsIlIzMi02IiwiUjMyLTciLCJSMzItOCJdKTsKICBoKz0iPC9kaXY+IjsKICBoKz1jb25uRG93big0KTsKCiAgaCs9IjxkaXYgY2xhc3M9XCJ3Yy12cm91bmRcIj4iK3JvdW5kSGRyKCJSb25kZSB2YW4gMTYiKTsKICBoKz1yb3coWyJSMTYtMSIsIlIxNi0yIiwiUjE2LTMiLCJSMTYtNCJdKTsKICBoKz0iPC9kaXY+IjsKICBoKz1jb25uRG93bigyKTsKCiAgaCs9IjxkaXYgY2xhc3M9XCJ3Yy12cm91bmRcIj4iK3JvdW5kSGRyKCJLd2FydGZpbmFsZXMiKTsKICBoKz1yb3coWyJRRi0xIiwiUUYtMyJdKTsKICBoKz0iPC9kaXY+IjsKICBoKz1jb25uRG93bigxKTsKCiAgaCs9IjxkaXYgY2xhc3M9XCJ3Yy12cm91bmRcIj4iK3JvdW5kSGRyKCJTZW1pLUZpbmFsIDEiKTsKICBoKz1yb3coWyJTRi0xIl0pOwogIGgrPSI8L2Rpdj4iOwogIGgrPWNvbm5Eb3duKDEpOwoKICAvLyBGSU5BTCArIDNSRCBQTEFDRQogIGgrPSI8ZGl2IGNsYXNzPVwid2MtdnJvdW5kXCI+Iityb3VuZEhkcigiRklOQUwiLHRydWUpOwogIGgrPSI8ZGl2IGNsYXNzPVwid2MtZmluYWwtd3JhcFwiPiIrbWMoIkYiLCJmaW5hbC1tYXRjaCIpK21jKCIzUCIsInRoaXJkLW1hdGNoIikrIjwvZGl2PiI7CiAgaCs9IjwvZGl2PiI7CgogIGgrPWNvbm5VcCgxKTsKCiAgLy8gTE9XRVIgSEFMRiAtIGJvdHRvbSB1cAogIGgrPSI8ZGl2IGNsYXNzPVwid2MtdnJvdW5kXCI+Iityb3VuZEhkcigiU2VtaS1GaW5hbCAyIik7CiAgaCs9cm93KFsiU0YtMiJdKTsKICBoKz0iPC9kaXY+IjsKICBoKz1jb25uVXAoMSk7CgogIGgrPSI8ZGl2IGNsYXNzPVwid2MtdnJvdW5kXCI+Iityb3VuZEhkcigiS3dhcnRmaW5hbGVzIik7CiAgaCs9cm93KFsiUUYtMiIsIlFGLTQiXSk7CiAgaCs9IjwvZGl2PiI7CiAgaCs9Y29ublVwKDIpOwoKICBoKz0iPGRpdiBjbGFzcz1cIndjLXZyb3VuZFwiPiIrcm91bmRIZHIoIlJvbmRlIHZhbiAxNiIpOwogIGgrPXJvdyhbIlIxNi01IiwiUjE2LTYiLCJSMTYtNyIsIlIxNi04Il0pOwogIGgrPSI8L2Rpdj4iOwogIGgrPWNvbm5VcCg0KTsKCiAgaCs9IjxkaXYgY2xhc3M9XCJ3Yy12cm91bmRcIj4iK3JvdW5kSGRyKCJSb3VuZCBvZiAzMiAmbWRhc2g7IExvd2VyIik7CiAgaCs9cm93KFsiUjMyLTkiLCJSMzItMTAiLCJSMzItMTEiLCJSMzItMTIiLCJSMzItMTMiLCJSMzItMTQiLCJSMzItMTUiLCJSMzItMTYiXSk7CiAgaCs9IjwvZGl2PiI7CgogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3Yy1icmFja2V0LXJvb3QiKS5pbm5lckhUTUw9aDsKICByZW5kZXJCcmFja2V0QWN0aW9ucygpOwp9CgovLyBQaWNrIHdpbm5lcgp3aW5kb3cud2MyNlBpY2s9ZnVuY3Rpb24obWF0Y2hJZCx0ZWFtQ29kZSl7CiAgY29uc3Qgc3Q9YnJhY2tldFN0YXRlW21hdGNoSWRdOwogIGlmKCFzdHx8IXN0LnQxfHwhc3QudDIpcmV0dXJuOwogIGlmKHN0Lndpbm5lcj09PXRlYW1Db2RlKXJldHVybjsKICBpZihzdC53aW5uZXImJnN0Lndpbm5lciE9PXRlYW1Db2RlKWNsZWFyRG93bihtYXRjaElkKTsKICBzdC53aW5uZXI9dGVhbUNvZGU7CiAgLy8gQWR2YW5jZQogIGNvbnN0IG54PUJQW21hdGNoSWRdOwogIGlmKG54KW54LmZvckVhY2gobmlkPT57CiAgICBpZighYnJhY2tldFN0YXRlW25pZF0pYnJhY2tldFN0YXRlW25pZF09e3QxOm51bGwsdDI6bnVsbCx3aW5uZXI6bnVsbH07CiAgICBjb25zdCBuZXh0PWJyYWNrZXRTdGF0ZVtuaWRdOwogICAgY29uc3QgZmVlZGVycz1PYmplY3QuZW50cmllcyhCUCkuZmlsdGVyKChbayx2XSk9PnYuaW5jbHVkZXMobmlkKSkubWFwKChba10pPT5rKTsKICAgIGNvbnN0IGZpPWZlZWRlcnMuaW5kZXhPZihtYXRjaElkKTsKICAgIGlmKGZpPT09MHx8KCFuZXh0LnQxJiZuZXh0LnQyIT09dGVhbUNvZGUpKW5leHQudDE9dGVhbUNvZGU7ZWxzZSBuZXh0LnQyPXRlYW1Db2RlOwogIH0pOwogIC8vIDNyZCBwbGFjZQogIGlmKG1hdGNoSWQ9PT0iU0YtMSJ8fG1hdGNoSWQ9PT0iU0YtMiIpewogICAgY29uc3QgczE9YnJhY2tldFN0YXRlWyJTRi0xIl0sczI9YnJhY2tldFN0YXRlWyJTRi0yIl07CiAgICBpZihzMT8ud2lubmVyJiZzMj8ud2lubmVyKXsKICAgICAgYnJhY2tldFN0YXRlWyIzUCJdPXt0MTpzMS53aW5uZXI9PT1zMS50MT9zMS50MjpzMS50MSx0MjpzMi53aW5uZXI9PT1zMi50MT9zMi50MjpzMi50MSx3aW5uZXI6bnVsbH07CiAgICB9CiAgfQogIHJlbmRlckJyYWNrZXQoKTsKICBpZihtYXRjaElkPT09IkYiJiZicmFja2V0U3RhdGVbIkYiXT8ud2lubmVyKXsKICAgIGNvbnN0IGNoPVQoYnJhY2tldFN0YXRlWyJGIl0ud2lubmVyKTtsYXVuY2hDb25mZXR0aSgpOwogICAgc2V0VGltZW91dCgoKT0+e2NvbnN0IHI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndjLXNpbS1yZXN1bHRzIik7ci5zdHlsZS5kaXNwbGF5PSJibG9jayI7ci5pbm5lckhUTUw9KCI8ZGl2IGNsYXNzPVwid2MtY2hhbXBcIj48aW1nIHNyYz1cIiIrKGZsKGNoLmMpKSsiXCI+PGgzPiIrKGNoLm4pKyI8L2gzPjxwPkpvdXcgdm9vcnNwZWxkZSBXSyAyMDI2LWthbXBpb2VuITwvcD48L2Rpdj4iKTt9LDMwMCk7CiAgfQp9OwpmdW5jdGlvbiBjbGVhckRvd24obWlkKXsKICBjb25zdCBueD1CUFttaWRdO2lmKCFueClyZXR1cm47CiAgbnguZm9yRWFjaChuaWQ9PntpZihicmFja2V0U3RhdGVbbmlkXSl7Y29uc3QgZj1PYmplY3QuZW50cmllcyhCUCkuZmlsdGVyKChbayx2XSk9PnYuaW5jbHVkZXMobmlkKSkubWFwKChba10pPT5rKTtjb25zdCBmaT1mLmluZGV4T2YobWlkKTtpZihmaT09PTApYnJhY2tldFN0YXRlW25pZF0udDE9bnVsbDtlbHNlIGJyYWNrZXRTdGF0ZVtuaWRdLnQyPW51bGw7YnJhY2tldFN0YXRlW25pZF0ud2lubmVyPW51bGw7Y2xlYXJEb3duKG5pZCk7fX0pOwogIGlmKG1pZC5zdGFydHNXaXRoKCJTRiIpKWJyYWNrZXRTdGF0ZVsiM1AiXT17dDE6bnVsbCx0MjpudWxsLHdpbm5lcjpudWxsfTsKfQoKLy8gUG9wdWxhdGUgUjMyIGZyb20gYWxsU3RhbmRpbmdzCmZ1bmN0aW9uIHBvcHVsYXRlUjMyKCl7CiAgY29uc3QgdGhpcmRzPVtdO09iamVjdC5lbnRyaWVzKGFsbFN0YW5kaW5ncykuZm9yRWFjaCgoW2dpZCxzdF0pPT57aWYoc3RbMl0pdGhpcmRzLnB1c2goey4uLnN0WzJdLGdpZH0pO30pOwogIHRoaXJkcy5zb3J0KChhLGIpPT4oYi5wdHN8fDApLShhLnB0c3x8MCl8fChiLmdkfHwwKS0oYS5nZHx8MCl8fChiLmdmfHwwKS0oYS5nZnx8MCkpOwogIGNvbnN0IHRoTWFwPXt9O3RoaXJkcy5zbGljZSgwLDgpLmZvckVhY2godD0+dGhNYXBbdC5naWRdPXQuYyk7CiAgY29uc3QgZ1Q9KGdpZCxwb3MpPT57Y29uc3Qgcz1hbGxTdGFuZGluZ3NbZ2lkXTtyZXR1cm4gcyYmc1twb3NdP3NbcG9zXS5jOm51bGw7fTsKICBTRUVEUy5mb3JFYWNoKHM9PnsKICAgIGxldCB0MT1udWxsLHQyPW51bGw7CiAgICBpZihzLnMxLnN0YXJ0c1dpdGgoIjFzdCAiKSl0MT1nVChzLnMxLnNsaWNlKDQpLDApO2Vsc2UgaWYocy5zMS5zdGFydHNXaXRoKCIybmQgIikpdDE9Z1Qocy5zMS5zbGljZSg0KSwxKTsKICAgIGlmKHMuczIuc3RhcnRzV2l0aCgiMXN0ICIpKXQyPWdUKHMuczIuc2xpY2UoNCksMCk7ZWxzZSBpZihzLnMyLnN0YXJ0c1dpdGgoIjJuZCAiKSl0Mj1nVChzLnMyLnNsaWNlKDQpLDEpOwogICAgZWxzZSBpZihzLnMyLnN0YXJ0c1dpdGgoIjNyZCAiKSl7Y29uc3QgZ3M9cy5zMi5zbGljZSg0KS5zcGxpdCgiIikuZmlsdGVyKGc9PnRoTWFwW2ddKTtpZihncy5sZW5ndGgpe2NvbnN0IHA9Z3NbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKmdzLmxlbmd0aCldO3QyPXRoTWFwW3BdO2RlbGV0ZSB0aE1hcFtwXTt9fQogICAgYnJhY2tldFN0YXRlW3MubV09e3QxLHQyLHdpbm5lcjpudWxsfTsKICB9KTsKfQoKLy8gU2ltdWxhdGUgZ3JvdXBzCndpbmRvdy53YzI2U2ltR3JvdXBzPWZ1bmN0aW9uKCl7CiAgY29uc3QgZ3I9W107TUFUQ0hFUy5mb3JFYWNoKG09Pntjb25zdCByPXNpbU0oVChtLmgpLFQobS5hKSk7Z3IucHVzaCh7aDptLmgsYTptLmEsaGc6ci5oZyxhZzpyLmFnLGc6bS5nfSk7fSk7CiAgYWxsU3RhbmRpbmdzPXt9O0dST1VQUy5mb3JFYWNoKGc9PnthbGxTdGFuZGluZ3NbZy5pZF09Y2FsY1N0KGcuaWQsZ3IpO30pOwogIEdST1VQUy5mb3JFYWNoKGc9Pntjb25zdCByb3dzPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoKCJbZGF0YS1nPVwiIisoZy5pZCkrIlwiXSIpKTthbGxTdGFuZGluZ3NbZy5pZF0uZm9yRWFjaCgocyxpKT0+e2lmKCFyb3dzW2ldKXJldHVybjtjb25zdCBjPXJvd3NbaV0ucXVlcnlTZWxlY3RvckFsbCgidGQiKTtjWzBdLnRleHRDb250ZW50PWkrMTtyb3dzW2ldLmNsYXNzTmFtZT1pPDI\/IndjLXJxIjppPT09Mj8id2MtcjMiOiJ3Yy1yZSI7Y1syXS5pbm5lckhUTUw9KCI8c3Ryb25nPiIrKHMucHRzKSsiPC9zdHJvbmc+Iik7Y1szXS50ZXh0Q29udGVudD1zLnA7Y1s0XS50ZXh0Q29udGVudD1zLnc7Y1s1XS50ZXh0Q29udGVudD1zLmQ7Y1s2XS50ZXh0Q29udGVudD1zLmw7Y1s3XS50ZXh0Q29udGVudD1zLmdkPjA\/IisiK3MuZ2Q6cy5nZDt9KTt9KTsKICBncm91cHNTaW11bGF0ZWQ9dHJ1ZTttYW51YWxNb2RlPWZhbHNlOwogIHBvcHVsYXRlUjMyKCk7CiAgcmVuZGVyQnJhY2tldCgpOwp9OwoKLy8gQXV0byBzaW0ga25vY2tvdXRzCndpbmRvdy53YzI2U2ltQWxsS089ZnVuY3Rpb24oKXsKICBpZighZ3JvdXBzU2ltdWxhdGVkKXJldHVybjsKICBmdW5jdGlvbiBzaW1Sb3VuZChpZHMpe2lkcy5mb3JFYWNoKGlkPT57Y29uc3Qgc3Q9YnJhY2tldFN0YXRlW2lkXTtpZighc3Q\/LnQxfHwhc3Q\/LnQyfHxzdC53aW5uZXIpcmV0dXJuO2NvbnN0IHI9c2ltTShUKHN0LnQxKSxUKHN0LnQyKSx0cnVlKTt3YzI2UGljayhpZCxyLncuYyk7fSk7fQogIHNpbVJvdW5kKE9iamVjdC5rZXlzKEtPLlIzMikpOwogIHNldFRpbWVvdXQoKCk9PntzaW1Sb3VuZChPYmplY3Qua2V5cyhLTy5SMTYpKTsKICBzZXRUaW1lb3V0KCgpPT57c2ltUm91bmQoT2JqZWN0LmtleXMoS08uUUYpKTsKICBzZXRUaW1lb3V0KCgpPT57c2ltUm91bmQoT2JqZWN0LmtleXMoS08uU0YpKTsKICBzZXRUaW1lb3V0KCgpPT57c2ltUm91bmQoWyIzUCIsIkYiXSk7fSwxNTApO30sMTUwKTt9LDE1MCk7fSwxNTApOwp9OwoKd2luZG93LndjMjZSZXNldD1mdW5jdGlvbigpewogIGdyb3Vwc1NpbXVsYXRlZD1mYWxzZTthbGxTdGFuZGluZ3M9bnVsbDttYW51YWxNb2RlPWZhbHNlOwogIE9iamVjdC5rZXlzKGJyYWNrZXRTdGF0ZSkuZm9yRWFjaChrPT5kZWxldGUgYnJhY2tldFN0YXRlW2tdKTsKICBPYmplY3Qua2V5cyhtYW51YWxQaWNrcykuZm9yRWFjaChrPT5kZWxldGUgbWFudWFsUGlja3Nba10pOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3Yy1zaW0tcmVzdWx0cyIpLnN0eWxlLmRpc3BsYXk9Im5vbmUiOwogIGluaXRHcm91cHMoKTtyZW5kZXJCcmFja2V0KCk7Cn07CgovLyBUZWFtcwpsZXQgdGY9e3M6IiIsY2Y6ImFsbCIsc29ydDoicmFua2luZyJ9OwpmdW5jdGlvbiBpbml0VGVhbUN0cmxzKCl7CiAgY29uc3QgY2ZzPVsiYWxsIiwiVUVGQSIsIkNPTk1FQk9MIiwiQ09OQ0FDQUYiLCJDQUYiLCJBRkMiLCJPRkMiXTsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2MtdGVhbS1jdHJscyIpLmlubmVySFRNTD0iPGlucHV0IGNsYXNzPVwid2MtdHNlYXJjaFwiIHBsYWNlaG9sZGVyPVwiU2VhcmNoIHRlYW1zLi4uXCIgb25pbnB1dD1cIndjMjZURigncycsdGhpcy52YWx1ZS50b0xvd2VyQ2FzZSgpKVwiPiIrY2ZzLm1hcChjPT4oIjxidXR0b24gY2xhc3M9XCJ3Yy1mYnRuIisoYz09PSJhbGwiPyIgb24iOiIiKSsiXCIgb25jbGljaz1cIndjMjZURkMoJyIrKGMpKyInLHRoaXMpXCI+IisoYz09PSJhbGwiPyJBbGwiOmMpKyI8L2J1dHRvbj4iKSkuam9pbigiIikrIjxzZWxlY3QgY2xhc3M9XCJ3Yy1mc2VsXCIgb25jaGFuZ2U9XCJ3YzI2VEYoJ3NvcnQnLHRoaXMudmFsdWUpXCI+PG9wdGlvbiB2YWx1ZT1cInJhbmtpbmdcIj5CeSBSYW5raW5nPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT1cIm5hbWVcIj5CeSBOYW1lPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT1cImdyb3VwXCI+UGVyIEdyb2VwPC9vcHRpb24+PC9zZWxlY3Q+IjsKfQp3aW5kb3cud2MyNlRGPWZ1bmN0aW9uKGssdil7dGZba109djtyZW5kZXJUZWFtcygpO307CndpbmRvdy53YzI2VEZDPWZ1bmN0aW9uKGMsYnRuKXt0Zi5jZj1jO3JlbmRlclRlYW1zKCk7ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiI3djLXRlYW0tY3RybHMgLndjLWZidG4iKS5mb3JFYWNoKGI9PmIuY2xhc3NMaXN0LnJlbW92ZSgib24iKSk7YnRuLmNsYXNzTGlzdC5hZGQoIm9uIik7fTsKZnVuY3Rpb24gcmVuZGVyVGVhbXMoKXsKICBsZXQgbGlzdD1bLi4uVEVBTVNdOwogIGlmKHRmLnMpbGlzdD1saXN0LmZpbHRlcih0PT50Lm4udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0Zi5zKSk7CiAgaWYodGYuY2YhPT0iYWxsIilsaXN0PWxpc3QuZmlsdGVyKHQ9PnQuY2Y9PT10Zi5jZik7CiAgaWYodGYuc29ydD09PSJyYW5raW5nIilsaXN0LnNvcnQoKGEsYik9PmEuci1iLnIpOwogIGVsc2UgaWYodGYuc29ydD09PSJuYW1lIilsaXN0LnNvcnQoKGEsYik9PmEubi5sb2NhbGVDb21wYXJlKGIubikpOwogIGVsc2UgbGlzdC5zb3J0KChhLGIpPT4odGcoYS5jKXx8IloiKS5sb2NhbGVDb21wYXJlKHRnKGIuYyl8fCJaIikpOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3Yy10ZWFtcy1ncmlkIikuaW5uZXJIVE1MPWxpc3QubWFwKHQ9PnsKICAgIGNvbnN0IGc9dGcodC5jKTsKICAgIHJldHVybigiPGRpdiBjbGFzcz1cIndjLXRjYXJkXCI+PGltZyBjbGFzcz1cIndjLXRmbGFnXCIgc3JjPVwiIisoZmwodC5jKSkrIlwiIGFsdD1cIiIrKHQubikrIlwiIG9uZXJyb3I9XCJ0aGlzLnN0eWxlLmRpc3BsYXk9J25vbmUnXCI+PGRpdiBjbGFzcz1cIndjLXRyYW5rXCI+IisodC5yKSsiPC9kaXY+PGgzPiIrKHQubikrIjwvaDM+PGRpdiBjbGFzcz1cIndjLXRtZXRhXCI+PHNwYW4gY2xhc3M9XCJ3Yy10cGlsbFwiIHN0eWxlPVwiYm9yZGVyLWNvbG9yOiIrKENDW3QuY2ZdfHwidmFyKC0tYm9yZGVyKSIpKyI7Y29sb3I6IisoQ0NbdC5jZl18fCJ2YXIoLS10MikiKSsiXCI+IisodC5jZikrIjwvc3Bhbj4iKyhnPygiPHNwYW4gY2xhc3M9XCJ3Yy10cGlsbFwiIHN0eWxlPVwiYm9yZGVyLWNvbG9yOiIrKEdDW2ddKSsiO2NvbG9yOiIrKEdDW2ddKSsiXCI+R3JwICIrKGcpKyI8L3NwYW4+Iik6IiIpKyI8c3BhbiBjbGFzcz1cIndjLXRwaWxsXCI+IisoTWF0aC5yb3VuZCh0LnApKSsiIHB0czwvc3Bhbj48L2Rpdj48L2Rpdj4iKTsKICB9KS5qb2luKCIiKTsKfQoKLy8gVmVudWVzCmxldCB2Zj0iYWxsIjsKZnVuY3Rpb24gaW5pdFZlbnVlcygpewogIGNvbnN0IGNhcD1PYmplY3QudmFsdWVzKFZFTlVFUykucmVkdWNlKChhLHYpPT5hK3YuY2FwLDApOwogIGNvbnN0IGJjPXtVU0E6MCxNRVg6MCxDQU46MH07T2JqZWN0LnZhbHVlcyhWRU5VRVMpLmZvckVhY2godj0+YmNbdi5jb10rKyk7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndjLXZlbnVlLXN0YXRzIikuaW5uZXJIVE1MPVsKICAgIFtubShjYXApLCJUb3RhbGUgQ2FwYWNpdGVpdCJdLFtiYy5VU0EsIlZTIFN0YWRpb25zIl0sW2JjLk1FWCwiTWV4aWNvIFN0YWRpb25zIl0sW2JjLkNBTiwiQ2FuYWRhIFN0YWRpb25zIl0KICBdLm1hcCgoW3YsbF0pPT4oIjxkaXYgY2xhc3M9XCJ3Yy1zdGF0XCI+PGRpdiBjbGFzcz1cIndjLXN0YXQtbnVtXCI+IisodikrIjwvZGl2PjxkaXYgY2xhc3M9XCJ3Yy1zdGF0LWxhYmVsXCI+IisobCkrIjwvZGl2PjwvZGl2PiIpKS5qb2luKCIiKTsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2MtdmVudWUtZmlsdGVycyIpLmlubmVySFRNTD1bImFsbCIsIlVTQSIsIk1FWCIsIkNBTiJdLm1hcChjPT4oIjxidXR0b24gY2xhc3M9XCJ3Yy1mYnRuIisoYz09PXZmPyIgb24iOiIiKSsiXCIgb25jbGljaz1cIndjMjZWRignIisoYykrIicsdGhpcylcIj4iKyhjPT09ImFsbCI\/IkFsbCI6Yz09PSJNRVgiPyJNZXhpY28iOmM9PT0iQ0FOIj8iQ2FuYWRhIjpjKSsiPC9idXR0b24+IikpLmpvaW4oIiIpOwogIHJlbmRlclZlbnVlcygpOwp9CndpbmRvdy53YzI2VkY9ZnVuY3Rpb24oYyxidG4pe3ZmPWM7ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiI3djLXZlbnVlLWZpbHRlcnMgLndjLWZidG4iKS5mb3JFYWNoKGI9PmIuY2xhc3NMaXN0LnJlbW92ZSgib24iKSk7YnRuLmNsYXNzTGlzdC5hZGQoIm9uIik7cmVuZGVyVmVudWVzKCk7fTsKZnVuY3Rpb24gcmVuZGVyVmVudWVzKCl7CiAgbGV0IHZzPU9iamVjdC52YWx1ZXMoVkVOVUVTKTtpZih2ZiE9PSJhbGwiKXZzPXZzLmZpbHRlcih2PT52LmNvPT09dmYpOwogIHZzLnNvcnQoKGEsYik9PmIuY2FwLWEuY2FwKTsKICBjb25zdCBtYz17fTtNQVRDSEVTLmZvckVhY2gobT0+e21jW20udl09KG1jW20udl18fDApKzE7fSk7CiAgT2JqZWN0LnZhbHVlcyhLTykuZm9yRWFjaChyPT57T2JqZWN0LnZhbHVlcyhyKS5mb3JFYWNoKG09PntpZihtLnYpbWNbbS52XT0obWNbbS52XXx8MCkrMTt9KTt9KTsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2MtdmVudWVzLWdyaWQiKS5pbm5lckhUTUw9dnMubWFwKHY9PigiPGRpdiBjbGFzcz1cIndjLXZjYXJkXCI+PGltZyBjbGFzcz1cIndjLXZpbWdcIiBzcmM9XCIiKyhWSU1HW3YuaWRdfHwiIikrIlwiIGFsdD1cIiIrKHYuc2QpKyJcIiBvbmVycm9yPVwidGhpcy5zdHlsZS5iYWNrZ3JvdW5kPSdsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHZhcigtLWJnMiksdmFyKC0tYmczKSknXCI+PGRpdiBjbGFzcz1cIndjLXZpbmZvXCI+PGgzPiIrKHYuc2QpKyI8L2gzPjxkaXYgY2xhc3M9XCJ3Yy12Y2l0eVwiPjxpbWcgc3JjPVwiIisoY2ZsKHYuY28pKSsiXCI+Iisodi5jaSkrIiwgIisodi5zdCkrIjwvZGl2PjxkaXYgY2xhc3M9XCJ3Yy12c3RhdHNcIj48c3Bhbj5DYXBhY2l0eTogPHN0cm9uZyBzdHlsZT1cImNvbG9yOnZhcigtLXQxKVwiPiIrKG5tKHYuY2FwKSkrIjwvc3Ryb25nPjwvc3Bhbj48c3Bhbj5NYXRjaGVzOiA8c3Ryb25nIHN0eWxlPVwiY29sb3I6dmFyKC0tdDEpXCI+IisobWNbdi5pZF18fDApKyI8L3N0cm9uZz48L3NwYW4+PC9kaXY+PC9kaXY+PC9kaXY+IikpLmpvaW4oIiIpOwp9CgovLyBTaW11bGF0b3IKZnVuY3Rpb24gcG9pc3NvbihsKXtsZXQgTD1NYXRoLmV4cCgtbCksaz0wLHA9MTtkb3trKys7cCo9TWF0aC5yYW5kb20oKTt9d2hpbGUocD5MKTtyZXR1cm4gay0xO30KZnVuY3Rpb24gZXhwU2MoYSxiKXtyZXR1cm4gMS8oMStNYXRoLnBvdygxMCwoYi1hKS80MDApKTt9CmZ1bmN0aW9uIHNpbU0oYSxiLGtvKXsKICBjb25zdCBlPWV4cFNjKGEucCszMCxiLnApOwogIGxldCBoZz1wb2lzc29uKC40K2UqMi4yKSxhZz1wb2lzc29uKC40KygxLWUpKjIuMik7CiAgaWYoa28mJmhnPT09YWcpe2hnKz1wb2lzc29uKGV4cFNjKGEucCxiLnApKi42KTthZys9cG9pc3NvbigoMS1leHBTYyhhLnAsYi5wKSkqLjYpO2lmKGhnPT09YWcpe01hdGgucmFuZG9tKCk8ZT9oZysrOmFnKys7fX0KICByZXR1cm57aGcsYWcsdzpoZz5hZz9hOmFnPmhnP2I6bnVsbH07Cn0KZnVuY3Rpb24gY2FsY1N0KGdpZCxyZXMpewogIGNvbnN0IGc9R1JPVVBTLmZpbmQoZz0+Zy5pZD09PWdpZCk7Y29uc3Qgc3Q9e307CiAgZy50Yy5mb3JFYWNoKGM9PntzdFtjXT17YyxwOjAsdzowLGQ6MCxsOjAsZ2Y6MCxnYTowLGdkOjAscHRzOjB9O30pOwogIHJlcy5maWx0ZXIocj0+ci5nPT09Z2lkKS5mb3JFYWNoKHI9PnsKICAgIGNvbnN0IGg9c3Rbci5oXSxhPXN0W3IuYV07aWYoIWh8fCFhKXJldHVybjsKICAgIGgucCsrO2EucCsrO2guZ2YrPXIuaGc7aC5nYSs9ci5hZzthLmdmKz1yLmFnO2EuZ2ErPXIuaGc7CiAgICBpZihyLmhnPnIuYWcpe2gudysrO2gucHRzKz0zO2EubCsrO31lbHNlIGlmKHIuaGc8ci5hZyl7YS53Kys7YS5wdHMrPTM7aC5sKys7fWVsc2V7aC5kKys7YS5kKys7aC5wdHMrKzthLnB0cysrO30KICAgIGguZ2Q9aC5nZi1oLmdhO2EuZ2Q9YS5nZi1hLmdhOwogIH0pOwogIHJldHVybiBPYmplY3QudmFsdWVzKHN0KS5zb3J0KChhLGIpPT5iLnB0cy1hLnB0c3x8Yi5nZC1hLmdkfHxiLmdmLWEuZ2Z8fE1hdGgucmFuZG9tKCktLjUpOwp9CgovLyBPbGQgYXV0by1zaW0gcmVtb3ZlZCAtIGJyYWNrZXQgaXMgbm93IGludGVyYWN0aXZlCgpmdW5jdGlvbiBsYXVuY2hDb25mZXR0aSgpewogIGNvbnN0IGNzPVsiI2VmNDQ0NCIsIiNmOTczMTYiLCIjZWFiMzA4IiwiIzIyYzU1ZSIsIiMzYjgyZjYiLCIjOGI1Y2Y2IiwiI2VjNDg5OSIsIiNmYmJmMjQiXTsKICBmb3IobGV0IGk9MDtpPDYwO2krKyl7CiAgICBjb25zdCBlbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtlbC5jbGFzc05hbWU9IndjLWNvbmZldHRpIjsKICAgIGVsLnN0eWxlLmxlZnQ9TWF0aC5yYW5kb20oKSoxMDArInZ3IjtlbC5zdHlsZS50b3A9Ii0xMHB4IjsKICAgIGVsLnN0eWxlLmJhY2tncm91bmQ9Y3NbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKmNzLmxlbmd0aCldOwogICAgZWwuc3R5bGUuYW5pbWF0aW9uRHVyYXRpb249KDIrTWF0aC5yYW5kb20oKSozKSsicyI7CiAgICBlbC5zdHlsZS5hbmltYXRpb25EZWxheT1NYXRoLnJhbmRvbSgpKjEuNSsicyI7CiAgICBlbC5zdHlsZS53aWR0aD0oNCtNYXRoLnJhbmRvbSgpKjgpKyJweCI7ZWwuc3R5bGUuaGVpZ2h0PSg0K01hdGgucmFuZG9tKCkqOCkrInB4IjsKICAgIGVsLnN0eWxlLmJvcmRlclJhZGl1cz1NYXRoLnJhbmRvbSgpPi41PyI1MCUiOiIycHgiOwogICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbCk7c2V0VGltZW91dCgoKT0+ZWwucmVtb3ZlKCksNTAwMCk7CiAgfQp9CgovLyBTdGF0cwpmdW5jdGlvbiBpbml0U3RhdHMoKXsKICBjb25zdCBlbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2Mtc3RhdHMtZ3JpZCIpOwogIGNvbnN0IHF0PVRFQU1TO2NvbnN0IGNmYz17fTtxdC5mb3JFYWNoKHQ9PntjZmNbdC5jZl09KGNmY1t0LmNmXXx8MCkrMTt9KTtjb25zdCBtYz1NYXRoLm1heCguLi5PYmplY3QudmFsdWVzKGNmYykpOwogIGNvbnN0IGdzPXt9O0dST1VQUy5mb3JFYWNoKGc9Pntjb25zdCBwdHM9Zy50Yy5tYXAoYz0+VChjKS5wKTtnc1tnLmlkXT17YXZnOnB0cy5yZWR1Y2UoKGEsYik9PmErYiwwKS9wdHMubGVuZ3RoLHRzOmcudGMubWFwKGM9PlQoYykpfTt9KTsKICBjb25zdCBzZz1PYmplY3QuZW50cmllcyhncykuc29ydCgoWyxhXSxbLGJdKT0+Yi5hdmctYS5hdmcpO2NvbnN0IGdvZD1zZ1swXSxlYXN5PXNnW3NnLmxlbmd0aC0xXTtjb25zdCBtYT1NYXRoLm1heCguLi5PYmplY3QudmFsdWVzKGdzKS5tYXAoZz0+Zy5hdmcpKTsKICBsZXQgaD0iIjsKICBoKz0iPGRpdiBjbGFzcz1cIndjLXNjYXJkXCI+PGgzPlRlYW1zIHBlciBDb25mZWRlcmF0aWU8L2gzPiI7CiAgT2JqZWN0LmVudHJpZXMoY2ZjKS5zb3J0KChbLGFdLFssYl0pPT5iLWEpLmZvckVhY2goKFtjZixjdF0pPT57aCs9KCI8ZGl2IGNsYXNzPVwid2MtYmFyLXJvd1wiPjxkaXYgY2xhc3M9XCJsYlwiPiIrKGNmKSsiPC9kaXY+PGRpdiBjbGFzcz1cImJyXCI+PGRpdiBjbGFzcz1cImJpXCIgc3R5bGU9XCJ3aWR0aDoiKyhjdC9tYyoxMDApKyIlO2JhY2tncm91bmQ6IisoQ0NbY2ZdfHwidmFyKC0tYWNjZW50KSIpKyJcIj4iKyhjdCkrIjwvZGl2PjwvZGl2PjwvZGl2PiIpO30pOwogIGgrPSI8L2Rpdj4iOwogIGgrPSgiPGRpdiBjbGFzcz1cIndjLXNjYXJkXCI+PGgzPkdyb3VwIERpZmZpY3VsdHk8L2gzPjxkaXYgY2xhc3M9XCJ3Yy1nb2RcIj48aDQ+R3JvdXAgb2YgRGVhdGg6IEdyb3VwICIrKGdvZFswXSkrIjwvaDQ+PGRpdiBjbGFzcz1cIndjLWdvZC10ZWFtc1wiPiIrKGdvZFsxXS50cy5tYXAodD0+KCI8c3BhbiBjbGFzcz1cIndjLWdvZC10XCI+PGltZyBzcmM9XCIiKyhmbCh0LmMpKSsiXCI+IisodC5uKSsiPC9zcGFuPiIpKS5qb2luKCIiKSkrIjwvZGl2PjxwIHN0eWxlPVwiZm9udC1zaXplOjExcHg7Y29sb3I6dmFyKC0tdDMpO21hcmdpbi10b3A6NHB4XCI+QXZnOiAiKyhNYXRoLnJvdW5kKGdvZFsxXS5hdmcpKSsiIHB0czwvcD48L2Rpdj48ZGl2IGNsYXNzPVwid2MtZWFzeVwiPjxoND5Nb3N0IE9wZW46IEdyb3VwICIrKGVhc3lbMF0pKyI8L2g0PjxkaXYgY2xhc3M9XCJ3Yy1nb2QtdGVhbXNcIj4iKyhlYXN5WzFdLnRzLm1hcCh0PT4oIjxzcGFuIGNsYXNzPVwid2MtZ29kLXRcIj48aW1nIHNyYz1cIiIrKGZsKHQuYykpKyJcIj4iKyh0Lm4pKyI8L3NwYW4+IikpLmpvaW4oIiIpKSsiPC9kaXY+PHAgc3R5bGU9XCJmb250LXNpemU6MTFweDtjb2xvcjp2YXIoLS10Myk7bWFyZ2luLXRvcDo0cHhcIj5Bdmc6ICIrKE1hdGgucm91bmQoZWFzeVsxXS5hdmcpKSsiIHB0czwvcD48L2Rpdj48L2Rpdj4iKTsKICBoKz0iPGRpdiBjbGFzcz1cIndjLXNjYXJkXCI+PGgzPkdlbS4gU3Rlcmt0ZSBwZXIgR3JvZXA8L2gzPiI7CiAgc2cuZm9yRWFjaCgoW2dpZCxnXSk9PntoKz0oIjxkaXYgY2xhc3M9XCJ3Yy1iYXItcm93XCI+PGRpdiBjbGFzcz1cImxiXCIgc3R5bGU9XCJ3aWR0aDo1MHB4XCI+PHNwYW4gc3R5bGU9XCJkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoxMHB4O2hlaWdodDoxMHB4O2JvcmRlci1yYWRpdXM6M3B4O2JhY2tncm91bmQ6IisoR0NbZ2lkXSkrIjttYXJnaW4tcmlnaHQ6NHB4XCI+PC9zcGFuPiIrKGdpZCkrIjwvZGl2PjxkaXYgY2xhc3M9XCJiclwiPjxkaXYgY2xhc3M9XCJiaVwiIHN0eWxlPVwid2lkdGg6IisoZy5hdmcvbWEqMTAwKSsiJTtiYWNrZ3JvdW5kOiIrKEdDW2dpZF0pKyJcIj4iKyhNYXRoLnJvdW5kKGcuYXZnKSkrIjwvZGl2PjwvZGl2PjwvZGl2PiIpO30pOwogIGgrPSI8L2Rpdj4iOwogIGgrPSI8ZGl2IGNsYXNzPVwid2Mtc2NhcmRcIj48aDM+VG9wIDEwIEdlcmFuZ3NjaGlrdDwvaDM+IjsKICBbLi4ucXRdLnNvcnQoKGEsYik9PmEuci1iLnIpLnNsaWNlKDAsMTApLmZvckVhY2goKHQsaSk9Pntjb25zdCBnPXRnKHQuYyk7aCs9KCI8ZGl2IHN0eWxlPVwiZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O3BhZGRpbmc6NXB4IDA7IisoaTw5PyJib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpIjoiIikrIlwiPjxzcGFuIHN0eWxlPVwid2lkdGg6MjJweDtmb250LXdlaWdodDo3MDA7Y29sb3I6dmFyKC0tYWNjZW50Mik7Zm9udC1zaXplOjEycHhcIj4iKyh0LnIpKyI8L3NwYW4+PGltZyBzcmM9XCIiKyhmbCh0LmMpKSsiXCIgc3R5bGU9XCJ3aWR0aDoyNHB4O2hlaWdodDoxNnB4O2JvcmRlci1yYWRpdXM6MnB4XCI+PHNwYW4gc3R5bGU9XCJmbGV4OjE7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NjAwXCI+IisodC5uKSsiPC9zcGFuPiIrKGc\/KCI8c3BhbiBjbGFzcz1cIndjLXRwaWxsXCIgc3R5bGU9XCJib3JkZXItY29sb3I6IisoR0NbZ10pKyI7Y29sb3I6IisoR0NbZ10pKyJcIj5HcnAgIisoZykrIjwvc3Bhbj4iKToiIikrIjxzcGFuIHN0eWxlPVwiZm9udC1zaXplOjExcHg7Y29sb3I6dmFyKC0tdDMpXCI+IisoTWF0aC5yb3VuZCh0LnApKSsiPC9zcGFuPjwvZGl2PiIpO30pOwogIGgrPSI8L2Rpdj4iOwogIGgrPSI8ZGl2IGNsYXNzPVwid2Mtc2NhcmRcIj48aDM+R3Jvb3RzdGUgU3RhZGlvbnM8L2gzPiI7CiAgY29uc3Qgc3Y9T2JqZWN0LnZhbHVlcyhWRU5VRVMpLnNvcnQoKGEsYik9PmIuY2FwLWEuY2FwKTtjb25zdCBteGM9c3ZbMF0uY2FwOwogIHN2LnNsaWNlKDAsOCkuZm9yRWFjaCh2PT57aCs9KCI8ZGl2IGNsYXNzPVwid2MtYmFyLXJvd1wiPjxkaXYgY2xhc3M9XCJsYlwiIHN0eWxlPVwid2lkdGg6OTBweDtmb250LXNpemU6MTBweFwiPiIrKHYuY2kpKyI8L2Rpdj48ZGl2IGNsYXNzPVwiYnJcIj48ZGl2IGNsYXNzPVwiYmlcIiBzdHlsZT1cIndpZHRoOiIrKHYuY2FwL214YyoxMDApKyIlO2JhY2tncm91bmQ6dmFyKC0tYWNjZW50KVwiPiIrKG5tKHYuY2FwKSkrIjwvZGl2PjwvZGl2PjwvZGl2PiIpO30pOwogIGgrPSI8L2Rpdj4iOwogIGgrPSI8ZGl2IGNsYXNzPVwid2Mtc2NhcmRcIj48aDM+VG9lcm5vb2kgVGlqZGxpam48L2gzPiI7CiAgW3tsOiJHcm9lcHNmYXNlIixkOiJKdW4gMTEtMjciLG06NzIsYzoidmFyKC0tYWNjZW50KSJ9LHtsOiJSb25kZSB2YW4gMzIiLGQ6Ikp1biAyOC1KdWwgMyIsbToxNixjOiJ2YXIoLS1ibHVlKSJ9LHtsOiJSb25kZSB2YW4gMTYiLGQ6Ikp1bCA0LTciLG06OCxjOiJ2YXIoLS1wdXJwbGUpIn0se2w6Ikt3YXJ0ZmluYWxlcyIsZDoiSnVsIDktMTEiLG06NCxjOiJ2YXIoLS1waW5rKSJ9LHtsOiJIYWx2ZSBGaW5hbGVzIixkOiJKdWwgMTQtMTUiLG06MixjOiJ2YXIoLS1vcmFuZ2UpIn0se2w6IjNlIFBsYWF0cyIsZDoiSnVsIDE4IixtOjEsYzoidmFyKC0tdGVhbCkifSx7bDoiRmluYWxlIixkOiJKdWwgMTkiLG06MSxjOiJ2YXIoLS1nb2xkKSJ9XS5mb3JFYWNoKHQ9PntoKz0oIjxkaXYgc3R5bGU9XCJkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7cGFkZGluZzo2cHggMDtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpXCI+PGRpdiBzdHlsZT1cIndpZHRoOjhweDtoZWlnaHQ6OHB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6IisodC5jKSsiO2ZsZXgtc2hyaW5rOjBcIj48L2Rpdj48ZGl2IHN0eWxlPVwiZmxleDoxXCI+PGRpdiBzdHlsZT1cImZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjYwMFwiPiIrKHQubCkrIjwvZGl2PjxkaXYgc3R5bGU9XCJmb250LXNpemU6MTBweDtjb2xvcjp2YXIoLS10MylcIj4iKyh0LmQpKyI8L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPVwiZm9udC1zaXplOjEzcHg7Zm9udC13ZWlnaHQ6NzAwXCI+IisodC5tKSsiPC9kaXY+PC9kaXY+Iik7fSk7CiAgaCs9IjwvZGl2PiI7CiAgZWwuaW5uZXJIVE1MPWg7Cn0KCi8vIE5hdiBvYnNlcnZlcgpmdW5jdGlvbiBpbml0TmF2KCl7CiAgY29uc3Qgc2VjdHM9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiW2lkXj0nd2MtJ10iKTsKICBjb25zdCBsaW5rcz1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIud2MtbmF2LWxpbmtzIGEiKTsKICBjb25zdCBvYnM9bmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGVzPT57ZXMuZm9yRWFjaChlPT57aWYoZS5pc0ludGVyc2VjdGluZyl7bGlua3MuZm9yRWFjaChsPT5sLmNsYXNzTGlzdC5yZW1vdmUoImFjdGl2ZSIpKTtjb25zdCBsPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoKCIud2MtbmF2LWxpbmtzIGFbaHJlZj1cIiMiKyhlLnRhcmdldC5pZCkrIlwiXSIpKTtpZihsKWwuY2xhc3NMaXN0LmFkZCgiYWN0aXZlIik7fX0pO30se3Jvb3RNYXJnaW46Ii0zMCUgMHB4IC0zMCUgMHB4In0pOwogIFsid2MtaGVybyIsIndjLWdyb3VwcyIsIndjLXNjaGVkdWxlIiwid2MtYnJhY2tldCIsIndjLXRlYW1zIiwid2MtdmVudWVzIiwid2Mtc2ltIiwid2Mtc3RhdHMiXS5mb3JFYWNoKGlkPT57Y29uc3QgZWw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO2lmKGVsKW9icy5vYnNlcnZlKGVsKTt9KTsKfQoKLy8gSU5JVCAtIHdhaXQgZm9yIERPTQpmdW5jdGlvbiB3YzI2Qm9vdCgpewogIGlmKCFkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2MyNi1odWIiKSl7c2V0VGltZW91dCh3YzI2Qm9vdCw1MCk7cmV0dXJuO30KICB0cnl7CiAgICB3YzI2SW5pdFRoZW1lKCk7aW5pdENEKCk7aW5pdEhlcm9TdGF0cygpO2luaXRHcm91cHMoKTtyZW5kZXJTY2goKTtyZW5kZXJCcmFja2V0KCk7aW5pdFRlYW1DdHJscygpO3JlbmRlclRlYW1zKCk7aW5pdFZlbnVlcygpO2luaXRTdGF0cygpO2luaXROYXYoKTsKICB9Y2F0Y2goZSl7Y29uc29sZS5lcnJvcigiV0MyNiBpbml0IGVycm9yOiIsZSk7fQp9CmlmKGRvY3VtZW50LnJlYWR5U3RhdGU9PT0ibG9hZGluZyIpe2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLHdjMjZCb290KTt9ZWxzZXt3YzI2Qm9vdCgpO30KfSkoKTsK<\/textarea><svg style=\"display:none\" onload=\"var t=document.getElementById(&quot;wc26-src&quot;);if(t){var s=document.createElement(&quot;script&quot;);s.textContent=atob(t.value);document.body.appendChild(s);t.remove();this.remove();}\"><\/svg><br \/>\n<!-- [CUSTOM HTML BLOCK END] --><\/p>\n<h2 id=\"speelschema\">Speelschema en belangrijke data (World cup 2026 schedule &#038; dates)<\/h2>\n<p>Het speelschema van het WK 2026 is door de uitbreiding naar 48 teams omvangrijker dan ooit. Met een totaal van 104 wedstrijden, verspreid over meer dan een maand, is een goede planning essentieel om niets te missen. De algemene tijdlijn strekt zich uit over de vroege zomermaanden.<\/p>\n<h3 id=\"wanneer-begint\">Wanneer begint het WK 2026? (World cup 2026 dates)<\/h3>\n<p>Noteer alvast de belangrijkste data in je agenda. De openingswedstrijd van het WK 2026 staat gepland voor <strong>11 juni 2026<\/strong> in het iconische Aztekenstadion in Mexico-Stad. Het toernooi culmineert in de grote finale op <strong>zondag 19 juli 2026<\/strong>.<\/p>\n<h3 id=\"volledige-speelschema\">Het volledige speelschema<\/h3>\n<p>De 104 wedstrijden (matches) zullen verdeeld worden over ongeveer 39 dagen. Voor ons, de Belgische kijkers, wordt het wel even aanpassen. Door de verschillende tijdzones in Noord-Amerika zullen veel wedstrijden laat op de avond of zelfs &#8216;s nachts plaatsvinden. De groepswedstrijden kennen dagen met tot wel vier matches, terwijl de knock-outfase een meer gespreid schema heeft. Het exacte schema met uren wordt later door de FIFA bekendgemaakt.<\/p>\n<h2 id=\"gastlanden\">Gastlanden en speelsteden van de World Cup<\/h2>\n<p>Voor de eerste keer in de geschiedenis wordt het wereldkampioenschap voetbal door drie landen samen georganiseerd. De Verenigde Staten, Mexico en Canada hebben de handen in elkaar geslagen om een continent-brede voetbalervaring te cre\u00ebren. De VS zal het leeuwendeel van de wedstrijden organiseren, inclusief alle duels vanaf de kwartfinales.<\/p>\n<h3 id=\"stadions\">Stadions in de VS, Mexico en Canada<\/h3>\n<p>In totaal zijn er 16 speelsteden geselecteerd. De wedstrijden vinden plaats in ultramoderne stadions die voornamelijk gebruikt worden voor American football. Enkele toplocaties zijn:<\/p>\n<ul>\n<li><strong>Verenigde Staten:<\/strong> New York\/New Jersey (finale), Dallas (halve finale), Atlanta (halve finale), Los Angeles, Miami, Kansas City, en meer.<\/li>\n<li><strong>Mexico:<\/strong> Mexico-Stad (Aztekenstadion), Guadalajara, en Monterrey. Het Aztekenstadion wordt het eerste stadion ooit waar op drie verschillende WK&#8217;s gevoetbald is.<\/li>\n<li><strong>Canada:<\/strong> Toronto en Vancouver.<\/li>\n<\/ul>\n<div style=\"background-color: #e3f2fd; border-left: 5px solid #2196f3; padding: 15px; margin: 20px 0; border-radius: 5px;\">\n<p>\ud83d\udca1 <strong>Tip:<\/strong> Hou bij het plannen van je kijkavonden rekening met de oost- en westkust van de VS. Een wedstrijd in Los Angeles zal voor ons in Belgi\u00eb nog later op de avond zijn dan een wedstrijd in New York.<\/p>\n<\/div>\n<h2 id=\"groepsfase\">Groepsfase en toernooischema (Brackets)<\/h2>\n<p>Het nieuwe format met 48 landen brengt een significante verandering in de structuur van het toernooi. Dit betekent meer teams, meer wedstrijden en een extra knock-outronde, wat de weg naar de finale nog uitdagender maakt. Met zoveel teams is het een leuke uitdaging om <a href=\"https:\/\/www.recharge.com\/blog\/nl-be\/be\/fc-26-squad-builder-stel-je-ultieme-team-samen-gids-tips\">je eigen ultieme team samenstellen<\/a> en te zien hoe jouw favorieten het zouden doen.<\/p>\n<h3 id=\"wk-groepen\">De WK 2026 groepen (World cup 2026 groups)<\/h3>\n<p>Het deelnemersveld wordt opgedeeld in <strong>12 groepen van elk 4 landen<\/strong>. De opzet van de groepsfase blijft vertrouwd: elk land speelt \u00e9\u00e9n keer tegen de andere drie landen in zijn groep. De grote verandering zit in de kwalificatie voor de volgende ronde:<\/p>\n<dl>\n<dt style=\"font-weight: bold;\">Wie gaat door?<\/dt>\n<dd>De nummers 1 en 2 van elke groep plaatsen zich rechtstreeks voor de knock-outfase.<\/dd>\n<dt style=\"font-weight: bold;\">Beste derdes<\/dt>\n<dd>Zij worden aangevuld met de <strong>8 beste nummers 3<\/strong> van alle 12 groepen. Dit zorgt voor extra spanning tot de laatste groepswedstrijd.<\/dd>\n<\/dl>\n<h3 id=\"knock-outfase\">De nieuwe knock-outfase<\/h3>\n<p>Met 32 gekwalificeerde teams (24 rechtstreeks + 8 beste derdes) wordt er een extra knock-outronde aan het toernooischema (brackets) toegevoegd. Na de groepsfase beginnen we dus niet met de 1\/8e finales, maar met de <strong>1\/16e finales (Round of 32)<\/strong>. Vanaf hier is het zoals we gewend zijn: rechtstreekse uitschakeling tot er \u00e9\u00e9n winnaar overblijft in de finale.<\/p>\n<h2 id=\"kwalificaties\">Kwalificaties voor het WK 2026 (World cup 2026 qualifiers)<\/h2>\n<p>Wereldwijd strijden landen binnen hun eigen confederatie (zoals UEFA in Europa) voor een van de felbegeerde tickets. De gastlanden (VS, Mexico, Canada) zijn automatisch geplaatst. De verdeling van de resterende 45 plaatsen is als volgt:<\/p>\n<div style=\"display: flex; flex-wrap: wrap; gap: 15px; justify-content: center; text-align: center; margin: 20px 0;\">\n<div style=\"background-color: #f0f4c3; padding: 20px; border-radius: 10px; flex-basis: 150px; flex-grow: 1;\"><strong>Europa (UEFA)<\/strong><br \/>16 plaatsen<\/div>\n<div style=\"background-color: #c8e6c9; padding: 20px; border-radius: 10px; flex-basis: 150px; flex-grow: 1;\"><strong>Afrika (CAF)<\/strong><br \/>9 plaatsen<\/div>\n<div style=\"background-color: #bbdefb; padding: 20px; border-radius: 10px; flex-basis: 150px; flex-grow: 1;\"><strong>Azi\u00eb (AFC)<\/strong><br \/>8 plaatsen<\/div>\n<div style=\"background-color: #ffccbc; padding: 20px; border-radius: 10px; flex-basis: 150px; flex-grow: 1;\"><strong>Zuid-Amerika (CONMEBOL)<\/strong><br \/>6 plaatsen<\/div>\n<div style=\"background-color: #d1c4e9; padding: 20px; border-radius: 10px; flex-basis: 150px; flex-grow: 1;\"><strong>Noord-\/Centraal-Amerika (CONCACAF)<\/strong><br \/>3 plaatsen (+3 gastlanden)<\/div>\n<div style=\"background-color: #b2ebf2; padding: 20px; border-radius: 10px; flex-basis: 150px; flex-grow: 1;\"><strong>Oceani\u00eb (OFC)<\/strong><br \/>1 plaats<\/div>\n<div style=\"background-color: #ffe0b2; padding: 20px; border-radius: 10px; flex-basis: 150px; flex-grow: 1;\"><strong>Play-offs<\/strong><br \/>2 plaatsen<\/div>\n<\/div>\n<h3 id=\"rode-duivels\">De weg van de Rode Duivels (UEFA kwalificaties)<\/h3>\n<p>Voor de Rode Duivels verloopt de kwalificatie via de Europese campagne (UEFA). Ze zullen in een groep worden geloot met andere Europese landen en spelen een reeks thuis- en uitwedstrijden. De winnaar van de groep plaatst zich meestal rechtstreeks. De nummers twee krijgen vaak nog een kans via play-offs. De &#8216;points table&#8217; (de stand in de groep) is hierbij cruciaal. Elke overwinning telt zwaar door in de hoop een ticket te bemachtigen en te voldoen aan de hoge verwachtingen, die deels gevormd worden door de <a href=\"https:\/\/www.recharge.com\/blog\/nl-be\/be\/communitywensen-ea-fc-26\">communitywensen voor EA FC 26<\/a> waarin een sterk Belgisch elftal altijd een must is.<\/p>\n<h2 id=\"tickets\">Tickets kopen voor de FIFA World Cup 2026<\/h2>\n<p>Droom je ervan om de sfeer van het WK ter plaatse op te snuiven? Dan is het belangrijk om te weten hoe je aan tickets kan geraken. De vraag zal, zoals altijd, het aanbod ver overstijgen.<\/p>\n<h3 id=\"hoe-tickets-bemachtigen\">Hoe en wanneer kan je WK 2026 tickets bemachtigen?<\/h3>\n<p>De enige offici\u00eble en veilige manier om aan <strong>world cup 2026 tickets<\/strong> te komen, is via de offici\u00eble website van de FIFA. De ticketverkoop verloopt meestal in verschillende fases:<\/p>\n<ol>\n<li><strong>Lotingfase:<\/strong> Je kan je inschrijven voor een loting voor tickets van specifieke wedstrijden of teams.<\/li>\n<li><strong>First-come, first-served:<\/strong> De overgebleven tickets worden verkocht op basis van wie eerst komt.<\/li>\n<li><strong>Last-minute fase:<\/strong> Kort voor en tijdens het toernooi komen er vaak nog kleine hoeveelheden tickets vrij.<\/li>\n<\/ol>\n<div style=\"background-color: #ffebee; border-left: 5px solid #f44336; padding: 15px; margin: 20px 0; border-radius: 5px;\">\n<p>\ud83d\udea8 <strong>Opgelet:<\/strong> Koop nooit tickets via officieuze verkopers, &#8216;marketplaces&#8217; of sociale media. De kans op vervalste of ongeldige tickets is enorm groot en je betaalt er vaak een veelvoud van de originele prijs voor.<\/p>\n<\/div>\n<h2 id=\"beleving\">WK 2026 beleving: Truitjes, voorspellingen en het lied<\/h2>\n<p>Een wereldkampioenschap is meer dan enkel voetbal. Het is een wereldwijd festival dat fans verenigt, met tal van tradities en randactiviteiten die de beleving compleet maken.<\/p>\n<h3 id=\"truitjes\">Nieuwe voetbaltruitjes (World cup 2026 kits)<\/h3>\n<p>Een vast ritueel voor elk groot toernooi is de onthulling van de nieuwe voetbaltruitjes (kits). Grote sportmerken zoals Adidas, Nike en Puma lanceren doorgaans in de maanden voorafgaand aan het WK de nieuwe designs voor de nationale ploegen. Het is altijd uitkijken naar het nieuwe shirt van de Rode Duivels en de meest opvallende ontwerpen van andere landen.<\/p>\n<h3 id=\"voorspelling\">Maak je eigen toernooivoorspelling (Predictor &#038; Simulator)<\/h3>\n<p>Wie wordt wereldkampioen? Welk land wordt de verrassing van het toernooi? Met een online <strong>world cup 2026 predictor<\/strong> of <strong>world cup 2026 simulator<\/strong> kan je zelf het volledige toernooischema invullen, van de groepsfase tot de finale. Vul de &#8216;standings&#8217; in, voorspel de uitslagen van de knock-outfases en kijk wie er volgens jou met de beker naar huis gaat. Ideaal om een pronostiek op te zetten met vrienden of collega&#8217;s!<\/p>\n<h3 id=\"lied\">Het offici\u00eble WK 2026 lied (World cup 2026 song)<\/h3>\n<p>Geen WK zonder een officieel lied! Van Shakira&#8217;s &#8216;Waka Waka&#8217; tot Ricky Martin&#8217;s &#8216;La Copa de la Vida&#8217;, de soundtrack van een WK is vaak onvergetelijk. Het is nog speculeren wie de eer krijgt voor de <strong>World Cup 2026 song<\/strong>, maar met gastlanden als de VS en Mexico ligt een samenwerking met grote Latijns-Amerikaanse artiesten zoals Bad Bunny of J Balvin voor de hand.<\/p>\n<hr style=\"border: none; border-top: 2px solid #e0e0e0; margin: 40px 0;\">\n<h2 id=\"faq\">Veelgestelde Vragen (FAQ)<\/h2>\n<h3>Waar wordt de finale van het WK 2026 gespeeld?<\/h3>\n<p>De finale van de FIFA World Cup 2026 vindt plaats in het MetLife Stadium in East Rutherford, New Jersey, vlakbij New York (Verenigde Staten).<\/p>\n<h3>Waar vind ik de actuele stand (world cup points table) tijdens het toernooi?<\/h3>\n<p>Zodra het toernooi in juni 2026 van start gaat, kan je de actuele punten en &#8216;standings&#8217; (de stand in de groepen) live volgen via de offici\u00eble FIFA-kanalen, zoals hun website en app, en via alle grote sportwebsites en -apps.<\/p>\n<h3>Wat is het verschil met de T20 World Cup 2026?<\/h3>\n<p>Hoewel de namen op elkaar lijken, zijn het twee compleet verschillende sportevenementen. De FIFA World Cup 2026 is het wereldkampioenschap voetbal. De T20 World Cup 2026 is een van de grootste wereldkampioenschappen in het cricket (georganiseerd door de ICC), dat in 2026 in India en Sri Lanka zal plaatsvinden.<\/p>\n<h3>Zullen er wedstrijden gespeeld worden met de rivaliteit USA vs Mexico?<\/h3>\n<p>Ja, dat is een mogelijkheid. Omdat de Verenigde Staten en Mexico beide gastland zijn en dus in verschillende groepen zullen starten, kunnen ze elkaar niet in de groepsfase treffen. Een confrontatie tussen deze grote rivalen is echter mogelijk in de knock-outfase, afhankelijk van hun prestaties en de opvulling van het toernooischema (brackets).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Jouw complete gids voor het WK 2026 in de VS, Mexico &#038; Canada. Ontdek het speelschema, de speelsteden, het nieuwe format met 48 landen en hoe je aan tickets geraakt.<\/p>\n","protected":false},"author":60,"featured_media":40156,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"cos_headline_score":0,"cos_seo_score":0,"cos_headline_text":"","cos_headline_has_been_analyzed":false,"cos_last_analyzed_headline":[],"_hreflang_tags":"","footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[547],"tags":[],"class_list":["post-40170","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-slim-spenderen-nl-be"],"jetpack_publicize_connections":[],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.4 (Yoast SEO v21.0) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>WK 2026: Data, speelschema, tickets &amp; alle info<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.recharge.com\/blog\/nl-be\/be\/wk-2026-data-speelschema-tickets-alle-info\" \/>\n<meta property=\"og:locale\" content=\"nl_BE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"WK 2026: Data, speelschema, tickets &amp; alle info\" \/>\n<meta property=\"og:description\" content=\"Jouw complete gids voor het WK 2026 in de VS, Mexico &amp; Canada. Ontdek het speelschema, de speelsteden, het nieuwe format met 48 landen en hoe je aan tickets geraakt.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.recharge.com\/blog\/nl-be\/be\/wk-2026-data-speelschema-tickets-alle-info\" \/>\n<meta property=\"og:site_name\" content=\"Recharge Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-04-30T15:21:53+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-01T07:00:08+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/creativegroup-blog-prd-eu-west-1-recharge-blog.s3.eu-west-1.amazonaws.com\/blog\/wp-content\/uploads\/2026\/04\/30171827\/hero-image-en-28.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"890\" \/>\n\t<meta property=\"og:image:height\" content=\"496\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Lotte Vermeulen\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.recharge.com\/blog\/nl-be\/be\/wk-2026-data-speelschema-tickets-alle-info\",\"url\":\"https:\/\/www.recharge.com\/blog\/nl-be\/be\/wk-2026-data-speelschema-tickets-alle-info\",\"name\":\"WK 2026: Data, speelschema, tickets & alle info\",\"isPartOf\":{\"@id\":\"https:\/\/www.recharge.com\/blog\/nl-be\/#website\"},\"datePublished\":\"2026-04-30T15:21:53+00:00\",\"dateModified\":\"2026-05-01T07:00:08+00:00\",\"author\":{\"@id\":\"https:\/\/www.recharge.com\/blog\/nl-be\/#\/schema\/person\/56918947bed03ee44fabeeed52c60bb1\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.recharge.com\/blog\/nl-be\/be\/wk-2026-data-speelschema-tickets-alle-info#breadcrumb\"},\"inLanguage\":\"nl-BE\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.recharge.com\/blog\/nl-be\/be\/wk-2026-data-speelschema-tickets-alle-info\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.recharge.com\/blog\/nl-be\/be\/wk-2026-data-speelschema-tickets-alle-info#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.recharge.com\/blog\/nl-be\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"WK 2026: Data, speelschema, tickets &#038; alle info\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.recharge.com\/blog\/nl-be\/#website\",\"url\":\"https:\/\/www.recharge.com\/blog\/nl-be\/\",\"name\":\"Recharge Blog\",\"description\":\"Everything about online safety, smart spending &amp; your digital lifestyle.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.recharge.com\/blog\/nl-be\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"nl-BE\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.recharge.com\/blog\/nl-be\/#\/schema\/person\/56918947bed03ee44fabeeed52c60bb1\",\"name\":\"Lotte Vermeulen\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-BE\",\"@id\":\"https:\/\/www.recharge.com\/blog\/nl-be\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/89093c3e598f130ff5fb64e511f8775217c21ac1b45e62537659964b82f86471?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/89093c3e598f130ff5fb64e511f8775217c21ac1b45e62537659964b82f86471?s=96&d=mm&r=g\",\"caption\":\"Lotte Vermeulen\"},\"url\":\"https:\/\/www.recharge.com\/blog\/nl-be\/author\/lotte-vermeulen\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"WK 2026: Data, speelschema, tickets & alle info","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.recharge.com\/blog\/nl-be\/be\/wk-2026-data-speelschema-tickets-alle-info","og_locale":"nl_BE","og_type":"article","og_title":"WK 2026: Data, speelschema, tickets & alle info","og_description":"Jouw complete gids voor het WK 2026 in de VS, Mexico & Canada. Ontdek het speelschema, de speelsteden, het nieuwe format met 48 landen en hoe je aan tickets geraakt.","og_url":"https:\/\/www.recharge.com\/blog\/nl-be\/be\/wk-2026-data-speelschema-tickets-alle-info","og_site_name":"Recharge Blog","article_published_time":"2026-04-30T15:21:53+00:00","article_modified_time":"2026-05-01T07:00:08+00:00","og_image":[{"width":890,"height":496,"url":"https:\/\/creativegroup-blog-prd-eu-west-1-recharge-blog.s3.eu-west-1.amazonaws.com\/blog\/wp-content\/uploads\/2026\/04\/30171827\/hero-image-en-28.jpg","type":"image\/jpeg"}],"author":"Lotte Vermeulen","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.recharge.com\/blog\/nl-be\/be\/wk-2026-data-speelschema-tickets-alle-info","url":"https:\/\/www.recharge.com\/blog\/nl-be\/be\/wk-2026-data-speelschema-tickets-alle-info","name":"WK 2026: Data, speelschema, tickets & alle info","isPartOf":{"@id":"https:\/\/www.recharge.com\/blog\/nl-be\/#website"},"datePublished":"2026-04-30T15:21:53+00:00","dateModified":"2026-05-01T07:00:08+00:00","author":{"@id":"https:\/\/www.recharge.com\/blog\/nl-be\/#\/schema\/person\/56918947bed03ee44fabeeed52c60bb1"},"breadcrumb":{"@id":"https:\/\/www.recharge.com\/blog\/nl-be\/be\/wk-2026-data-speelschema-tickets-alle-info#breadcrumb"},"inLanguage":"nl-BE","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.recharge.com\/blog\/nl-be\/be\/wk-2026-data-speelschema-tickets-alle-info"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.recharge.com\/blog\/nl-be\/be\/wk-2026-data-speelschema-tickets-alle-info#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.recharge.com\/blog\/nl-be"},{"@type":"ListItem","position":2,"name":"WK 2026: Data, speelschema, tickets &#038; alle info"}]},{"@type":"WebSite","@id":"https:\/\/www.recharge.com\/blog\/nl-be\/#website","url":"https:\/\/www.recharge.com\/blog\/nl-be\/","name":"Recharge Blog","description":"Everything about online safety, smart spending &amp; your digital lifestyle.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.recharge.com\/blog\/nl-be\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"nl-BE"},{"@type":"Person","@id":"https:\/\/www.recharge.com\/blog\/nl-be\/#\/schema\/person\/56918947bed03ee44fabeeed52c60bb1","name":"Lotte Vermeulen","image":{"@type":"ImageObject","inLanguage":"nl-BE","@id":"https:\/\/www.recharge.com\/blog\/nl-be\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/89093c3e598f130ff5fb64e511f8775217c21ac1b45e62537659964b82f86471?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/89093c3e598f130ff5fb64e511f8775217c21ac1b45e62537659964b82f86471?s=96&d=mm&r=g","caption":"Lotte Vermeulen"},"url":"https:\/\/www.recharge.com\/blog\/nl-be\/author\/lotte-vermeulen"}]}},"jetpack_featured_media_url":"https:\/\/creativegroup-blog-prd-eu-west-1-recharge-blog.s3.eu-west-1.amazonaws.com\/blog\/wp-content\/uploads\/2026\/04\/30171827\/hero-image-en-28.jpg","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.recharge.com\/blog\/nl-be\/wp-json\/wp\/v2\/posts\/40170","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.recharge.com\/blog\/nl-be\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.recharge.com\/blog\/nl-be\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.recharge.com\/blog\/nl-be\/wp-json\/wp\/v2\/users\/60"}],"replies":[{"embeddable":true,"href":"https:\/\/www.recharge.com\/blog\/nl-be\/wp-json\/wp\/v2\/comments?post=40170"}],"version-history":[{"count":2,"href":"https:\/\/www.recharge.com\/blog\/nl-be\/wp-json\/wp\/v2\/posts\/40170\/revisions"}],"predecessor-version":[{"id":40199,"href":"https:\/\/www.recharge.com\/blog\/nl-be\/wp-json\/wp\/v2\/posts\/40170\/revisions\/40199"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.recharge.com\/blog\/nl-be\/wp-json\/wp\/v2\/media\/40156"}],"wp:attachment":[{"href":"https:\/\/www.recharge.com\/blog\/nl-be\/wp-json\/wp\/v2\/media?parent=40170"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.recharge.com\/blog\/nl-be\/wp-json\/wp\/v2\/categories?post=40170"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.recharge.com\/blog\/nl-be\/wp-json\/wp\/v2\/tags?post=40170"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}