{"id":2225,"date":"2026-11-07T16:31:32","date_gmt":"2026-11-07T16:31:32","guid":{"rendered":"https:\/\/www.amalficoastwithlocals.com\/?page_id=2225"},"modified":"2026-11-07T16:31:32","modified_gmt":"2026-11-07T16:31:32","slug":"esperienze-2","status":"publish","type":"page","link":"https:\/\/www.amalficoastwithlocals.com\/it\/esperienze-2\/","title":{"rendered":"Esperienze"},"content":{"rendered":"\r\n<!-- ACWL approved catalogue; WordPress staging, checkout not yet connected. -->\r\n<div id=\"acwl-tour-catalogue\"><style>#acwl-tour-catalogue{--ink:#142d36;--muted:#52646b;--blue:#07595b;--dark:#073a3f;--pale:#e8f3ef;--warm:#f8f6f1;--line:#dbe5e1;--paper:#fff;--gold:#ffd16d;--radius:19px}#acwl-tour-catalogue *{box-sizing:border-box}#acwl-tour-catalogue{margin:0;color:var(--ink);background:#fcfbf7;font:16px\/1.52 system-ui,-apple-system,\"Segoe UI\",sans-serif}#acwl-tour-catalogue button,#acwl-tour-catalogue input,#acwl-tour-catalogue select{font:inherit}#acwl-tour-catalogue button{cursor:pointer}#acwl-tour-catalogue button:focus-visible,#acwl-tour-catalogue input:focus-visible,#acwl-tour-catalogue select:focus-visible,#acwl-tour-catalogue summary:focus-visible,#acwl-tour-catalogue a:focus-visible{outline:3px solid #c07f25;outline-offset:3px}#acwl-tour-catalogue img{display:block;width:100%;height:100%;object-fit:cover}#acwl-tour-catalogue a{color:inherit}#acwl-tour-catalogue h1,#acwl-tour-catalogue h2,#acwl-tour-catalogue h3,#acwl-tour-catalogue p{margin-top:0}#acwl-tour-catalogue h1,#acwl-tour-catalogue h2{letter-spacing:-.045em;line-height:1.04}#acwl-tour-catalogue button,#acwl-tour-catalogue a{text-underline-offset:3px}#acwl-tour-catalogue .wrap{width:min(1290px,calc(100% - 80px));margin:auto}#acwl-tour-catalogue .top{background:#fff;border-bottom:1px solid var(--line)}#acwl-tour-catalogue .top .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:76px}#acwl-tour-catalogue .brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:-.025em;text-decoration:none;line-height:1.22}#acwl-tour-catalogue .brand small{display:block;font-size:10px;letter-spacing:.15em;color:var(--muted);margin-top:3px;text-transform:uppercase}#acwl-tour-catalogue .brand-mark{background:var(--dark);color:#fff;border-radius:50%;width:42px;height:42px;display:grid;place-items:center;font-family:Georgia,serif;font-size:17px;letter-spacing:-.08em}#acwl-tour-catalogue .top-actions{display:flex;align-items:center;gap:12px}#acwl-tour-catalogue .badge{font-size:10px;letter-spacing:.105em;text-transform:uppercase;padding:7px 10px;border:1px solid #cbdfd7;background:#f3f9f5;border-radius:40px;color:var(--dark);white-space:nowrap;font-weight:800}#acwl-tour-catalogue .line-btn,#acwl-tour-catalogue .solid-btn{border-radius:9px;font-weight:750;padding:10px 15px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--blue);line-height:1.25}#acwl-tour-catalogue .line-btn{background:white;color:var(--blue)}#acwl-tour-catalogue .line-btn:hover{background:var(--pale)}#acwl-tour-catalogue .solid-btn{background:var(--blue);color:white}#acwl-tour-catalogue .solid-btn:hover{background:var(--dark)}#acwl-tour-catalogue .hero{display:grid;grid-template-columns:1fr 1.04fr;min-height:366px;background:#e9f2e9;border-radius:25px;overflow:hidden;margin-top:30px;position:relative}#acwl-tour-catalogue .hero-copy{padding:40px clamp(26px,4vw,63px);align-self:center}#acwl-tour-catalogue .eyebrow{margin:0 0 12px;font-size:11px;letter-spacing:.16em;font-weight:850;text-transform:uppercase;color:var(--blue)}#acwl-tour-catalogue .hero h1{font-size:clamp(46px,6vw,85px);font-weight:810;margin:0 0 14px}#acwl-tour-catalogue .hero h1 span{display:block;color:var(--blue)}#acwl-tour-catalogue .hero-copy>p:not(.eyebrow){color:#3b5957;font-size:17px;max-width:415px;margin-bottom:21px}#acwl-tour-catalogue .hero-media{position:relative;min-height:270px;background:var(--dark)}#acwl-tour-catalogue .hero-media img{position:absolute;inset:0}#acwl-tour-catalogue .hero-caption{position:absolute;bottom:15px;right:16px;background:#fff;padding:8px 12px;border-radius:30px;font-weight:750;font-size:12px}#acwl-tour-catalogue .hero-media:after{content:\"\";position:absolute;inset:0;box-shadow:inset 0 -55px 70px #071b2642;pointer-events:none}#acwl-tour-catalogue .proof{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:19px 0 28px;color:#3a5d57;font-weight:650;font-size:13px}#acwl-tour-catalogue .proof span:before{content:\"\u2713\";font-weight:900;color:var(--blue);margin-right:7px}#acwl-tour-catalogue .catalog{padding-bottom:40px}#acwl-tour-catalogue .catalog-head{display:flex;align-items:end;justify-content:space-between;gap:16px}#acwl-tour-catalogue .catalog h2,#acwl-tour-catalogue .cost h2{font-size:clamp(32px,4vw,54px);margin-bottom:7px}#acwl-tour-catalogue .catalog-head p{color:var(--muted);margin-bottom:8px}#acwl-tour-catalogue .search{display:flex;align-items:center;border:1px solid #cad8d2;border-radius:11px;padding:0 12px;background:#fff;min-width:270px;gap:10px}#acwl-tour-catalogue .search input{background:none;border:none;min-width:0;width:100%;padding:12px 0;color:var(--ink)}#acwl-tour-catalogue .search:focus-within{outline:2px solid var(--blue);outline-offset:2px}#acwl-tour-catalogue .search input:focus{outline:none}#acwl-tour-catalogue .filters{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0 13px}#acwl-tour-catalogue .chip{border:1px solid #cbd9d3;background:#fff;color:#254549;border-radius:30px;padding:7px 13px;font-size:13px;font-weight:700}#acwl-tour-catalogue .chip:hover,#acwl-tour-catalogue .chip[aria-pressed=true]{background:var(--dark);color:#fff;border-color:var(--dark)}#acwl-tour-catalogue .count{font-size:13px;color:var(--muted);margin-bottom:11px}#acwl-tour-catalogue .grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}#acwl-tour-catalogue .card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:white;min-width:0}#acwl-tour-catalogue .card:hover{box-shadow:0 9px 22px #183b3b11}#acwl-tour-catalogue .card-media{width:100%;aspect-ratio:2\/1.03;position:relative;border:0;padding:0;overflow:hidden;display:block;text-align:left;background:#e0eee8;color:#2f5d58}#acwl-tour-catalogue .card-media img{transition:transform .25s ease}#acwl-tour-catalogue .card-media:hover img{transform:scale(1.035)}#acwl-tour-catalogue .photo-count{position:absolute;bottom:11px;right:11px;font-size:11px;font-weight:800;background:#fff;padding:5px 9px;border-radius:30px}#acwl-tour-catalogue .blank-photo{height:100%;display:grid;place-items:center;text-align:center;font-size:12px;font-weight:750;background:linear-gradient(135deg,#d9ede6,#f5eee0)}#acwl-tour-catalogue .card-content{padding:16px 17px 17px;flex:1;display:flex;flex-direction:column}#acwl-tour-catalogue .meta{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--blue);font-weight:850;margin-bottom:7px}#acwl-tour-catalogue .card h3{font-size:21px;letter-spacing:-.033em;line-height:1.16;margin-bottom:8px}#acwl-tour-catalogue .card h3 button{all:unset;cursor:pointer}#acwl-tour-catalogue .card h3 button:focus-visible{outline:3px solid #c07f25;outline-offset:3px}#acwl-tour-catalogue .desc{color:var(--muted);font-size:14px;margin-bottom:11px}#acwl-tour-catalogue .tags{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:13px}#acwl-tour-catalogue .tags span{border-radius:6px;background:#edf5f0;padding:3px 7px;font-size:11px;color:#2f5751;font-weight:700}#acwl-tour-catalogue .card-foot{margin-top:auto;border-top:1px solid #e8eeeb;padding-top:12px;display:flex;justify-content:space-between;align-items:center;gap:9px}#acwl-tour-catalogue .price{font-size:19px;line-height:1.1;letter-spacing:-.04em;font-weight:830}#acwl-tour-catalogue .price small{display:block;font-size:11px;font-weight:650;letter-spacing:0;margin-top:4px;color:var(--muted);line-height:1.27}#acwl-tour-catalogue .card .line-btn{font-size:12px;padding:8px 10px;white-space:nowrap}#acwl-tour-catalogue .empty{background:white;border:1px dashed #bdcfc7;padding:26px;border-radius:14px;color:var(--muted)}#acwl-tour-catalogue .footer{border-top:1px solid var(--line);background:#eff4ee;padding:22px 0;font-size:13px;color:#3f615a}#acwl-tour-catalogue .footer .wrap{display:flex;gap:18px;justify-content:space-between;flex-wrap:wrap}#acwl-tour-catalogue dialog{border:1px solid #d5e2dd;border-radius:21px;padding:0;width:min(1080px,calc(100% - 26px));max-height:calc(100dvh - 30px);color:var(--ink);box-shadow:0 32px 90px #071b264d}#acwl-tour-catalogue dialog::backdrop{background:#081f29a8}#acwl-tour-catalogue .dialog-head{position:sticky;top:0;background:#fff;z-index:2;padding:15px 21px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:13px}#acwl-tour-catalogue .dialog-head strong{font-size:18px;line-height:1.15}#acwl-tour-catalogue .close{width:38px;height:38px;flex:0 0 auto;background:#edf4ef;color:var(--dark);border:none;border-radius:50%;font-size:24px;line-height:1}#acwl-tour-catalogue .close:hover{background:#dbece1}.dialog-#acwl-tour-catalogue{padding:19px 22px 23px}#acwl-tour-catalogue .tour-layout{display:grid;grid-template-columns:minmax(0,1.47fr) minmax(270px,1fr);gap:22px}#acwl-tour-catalogue .gallery{position:relative;border-radius:12px;aspect-ratio:1.7;overflow:hidden;background:#dbece1}#acwl-tour-catalogue .gallery-controls{position:absolute;bottom:11px;right:10px;display:flex;gap:6px;align-items:center;border-radius:40px;padding:4px;background:#fff}#acwl-tour-catalogue .gallery-controls button{width:31px;height:31px;border:0;background:var(--pale);color:var(--blue);border-radius:50%;font-weight:900}#acwl-tour-catalogue .gallery-controls span{font-size:12px;font-weight:750;padding:0 4px}#acwl-tour-catalogue .film{display:flex;gap:5px;overflow-x:auto;margin-top:8px;padding:2px 1px 6px}#acwl-tour-catalogue .film button{flex:0 0 60px;height:44px;border:2px solid transparent;border-radius:6px;padding:0;overflow:hidden;background:var(--pale)}#acwl-tour-catalogue .film button[aria-pressed=true]{border-color:var(--blue)}#acwl-tour-catalogue .option-box,#acwl-tour-catalogue .cost-note{background:#f0f6f0;border:1px solid #d6e4db;border-radius:13px;padding:15px}#acwl-tour-catalogue .option-box label{display:block;font-size:12px;font-weight:760;margin-bottom:4px}#acwl-tour-catalogue .option-box select,#acwl-tour-catalogue .option-box input{width:100%;border:1px solid #b9cbc4;border-radius:7px;background:#fff;padding:8px;color:var(--ink)}#acwl-tour-catalogue .option-box select{margin-bottom:10px}#acwl-tour-catalogue .option-box p{font-size:13px;margin-bottom:8px}#acwl-tour-catalogue .field-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:10px 0}#acwl-tour-catalogue .field-list .full{grid-column:1\/-1}#acwl-tour-catalogue .quote-output{margin:11px 0;border-top:1px solid #cbdcd0;padding-top:9px}#acwl-tour-catalogue .quote-output strong{font-size:24px;letter-spacing:-.045em}#acwl-tour-catalogue .quote-output p{margin-bottom:4px}#acwl-tour-catalogue .small{font-size:12px!important;color:var(--muted)}#acwl-tour-catalogue .tour-copy{margin-top:13px}#acwl-tour-catalogue .tour-copy h3{margin-bottom:5px;font-size:17px}#acwl-tour-catalogue .tour-copy p{font-size:14px;color:var(--muted);margin-bottom:10px}#acwl-tour-catalogue .cost{margin:30px auto 50px}#acwl-tour-catalogue .cost-note{max-width:850px;margin-bottom:20px}#acwl-tour-catalogue .cost-note p{margin:0 0 7px}#acwl-tour-catalogue .cost-note p:last-child{margin:0}#acwl-tour-catalogue .cost-list{display:grid;gap:10px}#acwl-tour-catalogue .cost details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 14px}#acwl-tour-catalogue .cost summary{cursor:pointer;font-weight:800;line-height:1.4}#acwl-tour-catalogue .cost h3{font-size:17px;margin:13px 0 3px}#acwl-tour-catalogue .cost-item{border-top:1px solid var(--line);margin-top:10px}#acwl-tour-catalogue .cost-item p{font-size:13px;margin:4px 0}#acwl-tour-catalogue .code{font:12px ui-monospace,monospace;color:var(--muted)}#acwl-tour-catalogue .table-wrap{overflow:auto}#acwl-tour-catalogue table{width:100%;border-collapse:collapse;margin:8px 0;font-size:13px;min-width:465px}#acwl-tour-catalogue th,#acwl-tour-catalogue td{padding:7px 9px;text-align:left;border-bottom:1px solid var(--line)}#acwl-tour-catalogue th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;background:#edf5ef}#acwl-tour-catalogue td:nth-child(n+3),#acwl-tour-catalogue th:nth-child(n+3){text-align:right;white-space:nowrap}#acwl-tour-catalogue .direct{font-weight:850;color:var(--blue)}#acwl-tour-catalogue [hidden]{display:none!important}\r\n@media(max-width:950px){#acwl-tour-catalogue .wrap{width:calc(100% - 40px)}#acwl-tour-catalogue .grid{grid-template-columns:repeat(2,minmax(0,1fr))}#acwl-tour-catalogue .hero-copy{padding:27px}#acwl-tour-catalogue .hero h1{font-size:clamp(42px,7vw,65px)}}@media(max-width:640px){#acwl-tour-catalogue .wrap{width:calc(100% - 24px)}#acwl-tour-catalogue .top .wrap{min-height:62px}#acwl-tour-catalogue .brand-mark{width:33px;height:33px}#acwl-tour-catalogue .brand{gap:7px;font-size:13px}#acwl-tour-catalogue .brand small{font-size:8px}#acwl-tour-catalogue .top-actions .badge{display:none}#acwl-tour-catalogue .top-actions button{font-size:11px;padding:8px 9px}#acwl-tour-catalogue .hero{grid-template-columns:1fr;margin-top:13px;border-radius:17px}#acwl-tour-catalogue .hero-copy{padding:22px 20px}#acwl-tour-catalogue .hero-media{min-height:179px}#acwl-tour-catalogue .hero-copy>p:not(.eyebrow){font-size:14px;margin-bottom:15px}#acwl-tour-catalogue .hero h1{font-size:48px}#acwl-tour-catalogue .proof{margin:13px 0 22px;gap:6px 12px;font-size:11px}#acwl-tour-catalogue .catalog-head{align-items:stretch;flex-direction:column;gap:6px}#acwl-tour-catalogue .catalog h2,#acwl-tour-catalogue .cost h2{font-size:36px}#acwl-tour-catalogue .search{min-width:0}#acwl-tour-catalogue .grid{grid-template-columns:1fr;gap:13px}#acwl-tour-catalogue .tour-layout{grid-template-columns:1fr}.dialog-#acwl-tour-catalogue{padding:13px}#acwl-tour-catalogue .dialog-head{padding:12px 14px}#acwl-tour-catalogue .card-media{aspect-ratio:2.03}#acwl-tour-catalogue .card h3{font-size:20px}}@media(prefers-reduced-motion:reduce){#acwl-tour-catalogue *,#acwl-tour-catalogue *:before,#acwl-tour-catalogue *:after{transition:none!important;scroll-behavior:auto!important}}\r\n@font-face {\r\n  font-family: Inter;\r\n  src: url(\"data:font\/woff2;base64,d09GMgABAAAAAL1wABQAAAAB4vwAALz6AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoZgG4K3XBzVcD9IVkFSi20GYD9TVEFUgU4nJgCFPi9sEQgKgbwAgaE+C4gQADCCnRgBNgIkA5AcBCAFhi4HoRAMB1tP0JED5cbu96NNrSQkO0fbqg85hP+94xuoXjvOCU5vrMQZgqACduwFtwNIlNRHzf7\/\/\/\/\/k5MNGdqB9oCQRBdVbdut\/6ARHigeWTNb7WJxrBGL9R9hkUxwhG27dLg4RMYqhjyG2Lk5TDsNpyhxhGQxo3ZR1tq8EFnO4sGrZ2Pm5YXCQOPETrWvpm3UmnfSwRU3bn9e+jmdep9UsCV8VXPSPWpgOWUTZvvLAgGLorjLIkxEwdoiQQZhFK1oFjjwc0bQw8VhptldhYGrF9wE3auWZqLJYL26wfOONXngbVFsEQE7YxOBHU0xQw\/pjpA2fWt7s8rXJ29mirgYV8IdjUS652puoBmccOzXq9BG8UL1OiiIVv2k\/Ex4q4Uq531qBUP5ddU54bmI3zleaj\/wVFamVnWfwNnbhCvafcnxuGfZSgnx95hFfqevT5s65kv03l38e\/EjF\/39VBdXOf944Ft+BfXf98cnUrJKEzbPGNix+z8zMGAwEyRs+X74Jf6it0oTbiopXFDk67PUnMWWYcr5OEP9byofbh0Qj82hSkQb6\/qJL\/xHOLX3Z2clFzgF9gGx7KQ9BJLi5AABtD\/P6+afe9\/LyyRhhGEYhhVZAkUFpBTjYCsi2zCKlDEDIoQQMCIFxEAxUspSY0REpBQXjqKi+yvdQAVxUz+OTRWRKgxPc\/rvLna5JBe7iF9CjCTESIhDglkLvhapyzr62So0TLWdeOvUfPOun5pRalQFLxbggDatWSCBmJGklibpiTi0vZ68WV\/cSzhRSdOoEiOoLAssiy8uAf\/p3ez\/zEzESFDfLqXtil1x7jPzP9ES9qkLsntdKwYkkCFx\/qHfj3bu2\/dXZTpijS4et5GsxI1YySahUxohkhkSaSPDQ97+RUpyVI6oENlc1zBzze6DXWbsMMNsNmMzm2uuq0IXSum66IdylE4dv3Xd\/zw6\/nEOT9vq3wAC9oYbVd713v8OoFcdmxM4Q5SERA9DKEMIFnbtrrquvVFx4VFtWRWarRosKv66tDA7CayTDWsyPR2BL\/s9VQFicvyT7Xl3zzZtsjP\/10isqUIIh9LEoyTv1N\/r1x7t2b\/2NwUdmjwFHWAHqC6wx6q3VjrtV9hcnO7NuTK6FCB6CQD4f1y9u2\/JzF83VWwlslqxqeSnCA3CoBwajwXjc3zo3ez\/sGrUBKp+W\/CZTEIQa3CrKl1j22tP3L9cdPxHt7SH9pMLwaLouU7VqXvXuREwuK5S+pUivpBmQoD\/92+Tgl4QDyeFbgHxc2lk4Plvrc\/7qrqqhwOERsxs0NnYqHd\/T4BcVu3xAZQogYUjdEjtLzfeZLDoWQzG+EPpPwcY98b2BiYm59JPeFIElO8jtJyWkyZp2U9YILubMqRmzO6b8\/tHswkXje1LZlmysQVg7Q6++oPyz+vu\/rO7opGYxDjA2ROKYMojnPLA0UGWw1xleAD\/irClo98AS2E+T1BpOADyj4NIgP5j0IVS\/+7tU6KqRCcndAOK4pZiHMfNnsVxQPiP4AlWoGf3\/\/dVrfbdjw\/yA\/JwCGhX\/JM\/5QkPEyFNqElDmpTkDalot\/6B8I8gP0DSAkDR\/iRlD0CKMx8QOQbJ4Rl+grYpUnJK8ibNnj2arEn5AZSOv2h59pscriF5AqUJqYtJ3hi63S7GcqvdLsR6uyrGKuSy3bLecttqfV5VbeXHJwKDdOfLY3oddke8NmK8abRA0rAEwEVOU3StyqlKrtVJyXSjxytTlvH6NtwwLPd\/a6kldIWrkDGWVBlVjNn\/Lr9AoADoZ2Z2jniLqIgdalcla\/TslC5RQJuNKrB9Tfu8aFtfGucfkSOMhLkMD\/lTh0hdfPV6nkaj0eze1wZrL+So2XWQ5JAyO+iQWcI2c5mboAxRhIexI0F0pl4SylK374AWwHqlD4OhYiwAeFh8gMrz3+99Z3NYtPbmQnfYyC\/Mm29VTd2g6ss8R62KiQUtUhTIGC\/w\/3+Zs3l7GT6rwqTbKLdMrMm2TP5e5kxK\/9BVeufvUD612tJUF6oXlYNCIiTGYRTKogU8PH8vqu+k3TSmXmtEq\/T\/zbx56V6YBjvGAGuFFljB12QuEBbcSpC3jN2sy0IqfqbQbUKIiH+dTP+Wl4tHOMUWqCBNcQ6hBJKgkDgGkbf6tlNoxGK7CTV8NZMCBoMDecKAYFwXH\/fh3y2hfD+glxZGpCNFQgkSZNjj+k58q33yEt8ngZahmFBMEMYYYYQRJhdCp8xmP\/\/cWltVGQo1X+fYsyiKopFCREREEpFERKRwj31\/7r9JOhj1EG6sUUvFApU31t87xlwOaFu\/7b93UCKioCCc7h9gEVsme8h7h9ahxuv\/Y61\/L0U1s3t6+19pOcSYQ4SIN0Mk5Dj+v\/uvOdWzpdkFa7cAFihIhcN1\/bKXkQhB34W5Rf41FALyakj9579jIr1GIG5xQDxQgnwWQmGEAUUiGqA4iAMoLuIBaj4iKFv6oPzgQ61BC6VWEKqJKdQu1lB7OEJ1Y0L1iIQ6pzbUefWhblBH7bVkqElmpCk0AsGASQCDIVQ3KCippNEQ1G8hwF5GArsRYEPAioBxWBAMAcR1eh+xC5LnF\/IHk\/d3EvwBHW+Mqv\/9X665CYIScDLgWcBAYAClM9+S6Qz+ATAAXY7\/zhvXlcRpzPkN5zOmYi9suEheKL7kekm6GHtVcFV6Q3lTuqS8Tb6tvK26XXpbfVf5afi92HvIe8r7AfczHsY+lD6Kecx68ltrtRWe4J6uehr5VPpU\/lT5LEabvs8bPLFbwkSYDvpQcLrzD121hYVFns2GbMrE\/dDdVwbLSJkuuphPNsn3QjmEEJ32q6xu9aivyZu++e2uwdxuSzCbefAcDyRww4NAl3R5z+4+\/4nDX3e4Z\/wwaNKnaHr4jBuvFFFCGY3Mpo\/zS71kSxFoMCM7nHk26clOfsZ9kukYI2akDJlJNSXzUjN95s2CGTtLzQRWr3UFPUJJiwLdKU8lmqZx1En9C2SRWlgXgUWmLdiPdS5zgk7ISXH9ntXzewEv5GX6fuAGKLgipEUjJAaM1odc5KM88mAQtliXzbMS1sO7xeeooCUBSVJV0cceYpcWSHJ4PPzQQPDCIUchR6pU3lGqkspSQj1QKo2Y7Y\/4xwruZxK\/AIpvJS6VK5R6T1E4Wt0gFEtUGi1qxAm7w0V6fP5gKByNpcy5RW3XDxDMcKIkK6qWwEUKQhOnjzdb\/YEMmxJJ+cAO++wLAj\/EBQAoEAMCGEgo9XB6pq+yDu5bH7jXLjhsv9e2O+Owy5b77IYAEoAkAcAgBtAUnkY77bztXrvhedPs\/ptzCHfdedcDCwAErVjPshNACejjBwh32a1\/2csTINHTGC6KLggLgnbai4N2HGKiEXOlJ8REjPgvBx2\/V3PEoNHeJm2nhtS+hdDTT8P7s681kdJ8zQ7ddg+i9xYg+BCDCFZcQ2hblI0BDEalHbdXMGj7dJxyhJfwBdh\/l1jFMveQidcNdvO6VrMI\/BiSLMPCbfKGefnyFjGJKs4fsz34aEY0vJKPjmsKWykxv0\/piIYlQXnhwMeqkHKwEJn5rvDZJa7i8mZ+8fpuYS0k7u+39BbezqsQNPMu4cIzm6\/yDmEdBmNWfSWyd7EVLW+PrHYbnROZ57bUCvO3cFlLmJUz17XaxRdlwMrPVqi9t67u8lW4eLW38dZKLQXyxyZd1iVc+DVWUIYwapaUbbhEFeV3fQlUmmhjqypraUXFndX0OmusuAhtOvF4b3FRkIsRZXUkRCEznVbsqiiiioBFr0XGBpnk6C9GMwuvVsXA5KRJoxZ4WaFPXK+WVze5lRab5kxbrbXUCaTXmGpj9FJR2aSaZIE21SmN6lShgiZYLlkcYew4PdwJL5kkFYpnCEOgQ8IiWlQoUCEhBwrp5URFITwkrkppanRhQQAlQOiXgGBVcRAWgFDFd4ihwWl9DBhIqn6XsmP20kFBZ1TTy9dnnnYAYe0VDgI2odrWKxBmwul9FfC5xm0ZNKz\/Ry1YyoZHDxputb6TtuZN\/nOgfXPaR7fgTynFjh847lKf5zb1NvrUm3hMvZfqR19+diHrI\/Vj6q9tOI38HJGuZsjf0x8vp6Pf2boa+W5YgjoX63Fi6sEAXM9nsXhFGr3kHAtw\/piV0x\/18dX14xyUNxkzkuNfuTz+Qilgkx5RiHay0cXIy3etUP9WVwMIv7v4KkqqjSwwuGoYVn3+Xvr8swNwfiy+5NxsUDhGrZim\/TfZ6WL8Nv1Un72KP6cbbLUBT+BqIEOsfxvK0lrD\/iRtUX6B\/vCGgHfgFTm8hOH+SpH+cJA2\/6MUHhL+jmug1B\/O5RtBizE5\/HkkQ5BqQEzr+sutB7cu8VBP7w60NDfuYt9j7CkDPT3fOWiNp+zxFItf+5\/Tmb1fDQNp9RN1YKv6py1d0MrRJoYqPVcXQc1jtTn64784uqOyXEjCcfe7Tnhu+\/ghzh\/3GYMYii5uVYZc1CL4LUq+dP6M4aTnzXxJmacmX1lhnU+J0Dm8SGE6KUymlIlSICT91NVI8PGzjNRtSCeQrbLn\/3b4Oa0JOc1qKmxSaStBOXW4bf3+FCNvT3N1Pf4J1x1ilSA59mB8\/9kbbL5dn2cY+EiO3VuSYRdbxDqMHZgPcvt8kcWPR2\/stl989\/r9k0V1j7Un9jUffFx4N7w269QP4qzItR9nQ2E8kaHD9xtz3Qa+CeYAZ93anUxLnN85AWZRXQ55iGavKgwx\/uJNrZPTiEgZVlj\/+kvEUsVVYTF1mxV2UzI8dVN2cIjhMVQgZeCu\/3HWkfm+7NhYmNZ6kCY6OYZN9l3Z\/qYorYZ6o8Oqt9\/RO+FkC9GWrHEx6tPV3byQDbikS6uOPr1LIfcm\/7sP7aKun+s0MsG2dPpve0R5u8+sVgLgGbhS2sQQphnjoPu3Q5uNTRDeV2dppkK+cynSWIObVCU1d\/jOIV\/L4iwHNmuLREs\/pvD047o3awkUzqfeWx9m1IVQJq0uhlQqMRUF0jR+bZdjBV2U87d0PJkPLy41BAf5AClwTe90j6hjC4CTvZZQSLIx0DMBW1euIWHY4oK9s2ZzdO7mxfItKdPhISZu1omZCmer6+mBthF+c39m1ICSLozyJoZUJjwvgy+VY97F07kslygP0wx9gkn3x0LzKVW+WiJXwozNIsdTfosu6Mefseufu3F2Pi3L7cQ9o8otON09xO\/sbwj96eFxHMzeQZtZNcTATuBloSF851xKbB7Yt9BH\/CHW70TnXCRHOsb+8LGZXRHJiy\/l\/tkRUqIJFapMu+98+9S0aYoG7I08RqYwRfILWRaxQW1Kna0aGfwDCgKov9rLEfYxwsAxBYf4lB84xQ\/86GeOI\/iP+C8TUJmITGQmaiD6QcQXxAAKYKeBjbASlsSc4wkQYu+Iuv8mzvPxMS7iAdJwkqjJ9RQlETXYQxjnfMAWcPvRow73JupA7IhuM1H927yIRteE0uRU9URx06\/xZFUHG1lFmUp9cVE9P\/PuoAhGL5DKiSk1gZudrvFkVQcaWdVZVqSGUIqrXZcFgTWHZ8SzhSAWVddtLKxF23ZFRa91sZWqzgpmKgmCOnkJhz90kQmNhWb0TGPbeQ7AuVUvdywHiPf10lo2md8CXG7APZQ8mkK\/8jqD301bKWG+EGICeq53KQqkXyF2qWW+JFYJYv+Cij0Dyl64aj5gznshvK6\/rzqI2FVricdl\/Ai4g\/FntaiysK\/AgXHKV1i8z\/l6iyB\/9ZdIfeQaFS\/aj1pejecFwVpQEAkVy7rNFLBIfc+gzYUxI5WSpeoUHUSf3ndez2xbvRXcBbtEQ\/WfD4Nq5DJVT391QPjMxb6RgWopXV8MRfI31eK7oLJ4WV0QwgUZeGlKTfs2KNqzlLnMVVv8aagCOqqaZ1VYA4P\/wuCB4QAMRw82hrihw2LCcSSKGp5hBxpQtOjBMRKD0LG+sI1neZVL\/qs64s\/0qv\/tOxBABsE7d9BpOtPCs3G5fgm6kAABwft7LgShTGUpG6SBOgRGF2LW3lnsgAtgzS1YBcy0xgzTcMIFXbcRrLDJQvJZHe+deW42Xq3Z7Kq9mBgmnvjx5HrKJg7auSLCnfWI7iAjHD37Zogp3WPcUHJxrgHhBgJi9DU+AdBbPuJ8SE9zt9FP5jo2rd53a\/sLvs6KEhNTdM029AvP+tOxqZwo+YzLPRZipthVu\/yRdGh8kW1Qk4Esk3IWjP2OrX36GtwcKwDYojbrsfRed62ybkcZ6JLp\/tf7PmDsI8dpepx62g71PXR+N6MXqX7k59Qs3UnULgWpHTfza46xw+cZijbDjL\/8UFcxGn8tcbPEwxFdZiI57p++4+u3s+strcUlbr4Pw6W0U0cnNKN1s\/gOrbtP1WzunION6XwOaYtirnAaBqNqvd+XV54Q99fVzeUs0QzvN1BSb6u0wtBg8+v\/eDJ2OIN8boVcW68a0v1hgqt06VDlM8gz8s3Ml93snH8h3\/cPopy5L+NKluBGS3MqRP1ro5VoKVK7N1I7M3UATsgtKXZRFrtFycnqxGbzOtPNxEmV5S3NrJVVhTe2nuA7YL7HPnwAays1d8NgzpmiQLEk0i6ORiCt3H+D\/fNC9Df8yvZEyC9jg+D7HqR3gXhZH3rsxZSYtyA5xiJa5pCT0etr4qCPuTPYyF7t2fNiydn1TRoROmiPvrIZpZz0\/mhNYNkrWMigt\/pJyZw717DsFM5HQ3\/MP+g4a+9HJF\/YCLZ7ruGgtaHGyA3RXceORLu3Cwj3dg\/R3N3m5huLYMmHfU40HnjYt7q0KCBiIjYwskSMrMXMVqzs3oa1RDB2K5AzrqDIsjHrrCrFLakCr3+OJ2pBtYqyb5ay3JpPn3t1avNuJaKVtVEX1DYarWuAtbD2FMU0ovXtk6T9jWI7Ilhcx4sSmvilr5tRU2L3mfpRn\/H1WKH7Y5aH37pVO2AYMMTn4BdDTldkwJrNugh0Vy2BJSN9o4SBfiRgGhksjAKEUQE\/BOhHBw6hE9hGpoNa7uDceYLyROSWCspLcF8KylvkVkivNM0rQ9z8xS1Q3IJEFSGnykQULesqhYoVWZxQX4ssUew2NGKWRBqr5FI\/mUL+SaqiGGUqjV6O8mjlIdRGGbdIJi2Wca\/KpLpGODljKEURWYlQpcJtFqqsrtwKu32LyCqEqqxRViHX28nSqQaR1Wp+H4qqTrp9PKWT\/CK4IItWy7k1suprGfWN7PpWBn0ns36QZT\/KsJ+rXfPE5usd+5UnER7zgxd0mSWkMdYoypoku0yTyhjBnmHmpZdoMIyhx2BMCggkSMJXqQ6c5FV6wYx+tigdJl38qFcmXLpqvrpshEXC6Q2cgvvjGLTCCCMH+nahJz847TAdLGw6WJhFvS+LLJeQYMacGfNVwoNTvUzyRnqDE7tKKR7MEgcfD0HIEY0pm5hQngOBBUzom8+6M6ilQ\/p\/4gBxd5YOGFn6zyFeIyj4OdAjsqvKX2MPaNcoTxRHRvSDEIHoiIGYKFLul10tqJWeBSMsLq8QdkIf0nc6FWz4eyWgC2DEWwCv9bmPaMezCUGHn0X3eTW3gYBldhZoraZas4BAhryQCZHaBeuHfI+3atr4pyyAisz36Rky+tzy6bvUuaNi4WDlP5pglZsBmuW3Lvq5F6NUGWx0H+pCsOHdSGU+4k42m6g5fdEiYvViDX1yrUi+Off5brDqZe9RHw8EWES2GANs8I+ACSErkGCTFZpoiX09yU9C\/BYw0kAS\/nYRJQjDGz+khfd8vIKfk2k1UlNCzNyMYnB1NlomgiSXRMHaFGqxnAYNZWJYvIYOY53WZd3WY\/vspM0ztregAr36TyQXbSSwDEu7yUSPMWDdhqg1rLRWIT+Vo6OKWvMKn9NK1VngAqvHkmTlatUbVUZzG15L1RULepT1+wJIlfaXDRyojEJuLENx36As8u3MvcXqBa+2XioKdFAJTwDhiYbb0lQkDCRLwnAAGa2+8klvntZyolSwJghQKmlUqVJyVCCWqMpt4eIhhAZ+9KJaEIaWk4HueZp6S7dKuQyrxVDr1OfDdLQTg\/1u57ftwme\/lUuBx+1gXlirgc3vBgcKpzYon2MzKlPdjzEwufmVg7dTGjavU63z0KP5xZ0y752Z1X6AWjFRImw01cj+SLQ7ssGlEsjdqfjG4u7Lpovhw8CD9pJ8ukKmkOZsrZt5Ewn7b5ihj+A+qmgIpzzPKrt8xvV8IApUvEf2MKEko2XxFYsMndbk7iv5er5oz3DhyPwqmVX1m84GKQFHweEO2vUcz7Vce5FygTfpM9\/E3su46kOm5t7wYajOexd2h7O8+xnFeWs8Gf6BFqfTibTl6MDVRP964nZdNmqy2rehslkqXe3+\/AmYddczM6DX0XQmsT4zTp5WPFM3scjEk48iY6WUlptUZJK9z6R6yb3kMj6VePt82Ht+JG6fRc6ddEI40VzOspnyaT+huLoSosRlvpv+J3JlrCNgy1TLipMON\/Q0iPcRhLM83poIiNdSnPpFUWdcjiu4045u1TYhgAI2kJjHINWW5j9KUDkOfnPr7gDihXbzyYCdG8XGuUhmaiFxfpMJxCqvi+XIYs182qxwbAxIMVCl7trKeGpebuPA1FibcBmaW8bh10mjn65HHFvL\/JtLy+QbrqjK+bukgWc49Y00RCV5obzcesM27h\/pTvZDzby93GJgwGXtk3TDr5O1u+0OpDYM+RNSI25AdRHnxZf8nm0VG1U3fomUWr\/B+7iq\/HkkgYcsFv+533OeJyi\/7tRE+SOpbd\/P+3GjdmFGHIvfeIAb6GTpszrNSf+lpPAhn+T8WO4\/cvM6ZS8N96TsuL9V4LN3T\/hvlJkpCGM49Ye0MsqFisFjSjnePMRHCgU5eL\/ZUsSxMO4TR\/Imd9nTE6dZ8mlYGru2BLS1iH6YcsQYABXO4HyWU6d46mqxxkmAsdVw96Qzp8+cNFqg8lXcnPJofykROtQjF+cDvDyIkLMOPndkcQ+hPBcxSqlcGYk8N\/mgvMa+kX2npOX7Jd3NknzKEcz9\/vvM9B\/+mJie8Ttn7ZwebsT9YkKqezaCca8CjuQVmSTawf0I3Qq0s0F9zPl5lM9JN9J5Isd0PN3EfUzLiPh4eWvh5OAGiPvVjAy9xxjf99ZEWlFoK4ArgGusE6ZyAHQj7hf77tW6TubH045UPAE+wlEbes35rsa35UaXA4hfsFJKhFHYD7UgDTVTQxqpEUps6d41Ypmq3DQe\/VAxoI9P6tnQXN+aOlnNW\/ONh5SDq4bbcl\/Yl9e6Jy1TsNu9xUnCDcB2ULkyvdRrGaaXZTfOOqOv0hj59UM\/dfnGYaUBzVvy1QToXiG+LHukF\/ykG3s\/iLzItz5tD+ryratdsF9fckssBnyeb\/TjrgixFcAEgaMTHOEAZr3cywiAPbWrM022X2xuamr5YZVXz3vf9I7kTxxd3cIBsmdA+2vZE1NAXbJi2ji4ueCZLsZsj5TjByVSPrX8XM+epor6ZY8YvI0Ky7MY0PziEewZyV5uvNc+i3My7dzRtgRjN\/PK2IKbXgpm5O3w+SUQOolfStl77jl9bGWzS2eChiiwQWdm5seubbAxHvemO7TWh3u96KofJnAmY4aAmJGWG3Mht7B2qkb+5HDHduiebcP3Xr\/lpMyuvvyiPGSvxiZQNywPnrfHeCVJjhhQv1TXmJ+evNzG2g4OfM+YFm1gC0leBwkjlXAaV2ZDW1TXI\/STYZive3RahPn1yV0FMPI+xBjJ0hjoX0qaEasABgAMMlBQzAAAHcKT1YOrv+bKWQ3A5o7I+UxeyNVE6lJxmGxd35rFC2bp85rvJjlKlkkpBTeFPKOALnx+qaWob3GFKT2V\/DumwUNSMJ2YX07u9T7C0bFDuVzlamttzLYLcoNmG7uKFpkWhJ1nqzWjgCa2rlUtXDdaX2I61uZsdRw7MSaFGyQUbf+nOPZfrrHBzVPXfL\/NlDgnUfU5F5jAMwEwVUn\/aLsxFQid1Ao9QyuzFfJlWxCQj1SnWkxJRB2D+RwEq6fcxKIhBvD5gSbFZ\/7aZpLC8wL1fI7I2IYxU056GO4vokefnkvtH9+pH1lnxxcCzsjlZIu8tAfcbDs4nztZ6hHApYL6A\/fpBfv5IO0t5+bZSbmhhQhc\/aBTmDb7QMYTPE\/ssoV5VQ33gNIF\/hy\/pxOdJF5+1ElLs5hz6s2Ygs18\/5+QE0YEfIpFFMwmIjYCdKEnCVknGdkmBdk9qOsBAy14BL+wIWwM\/iEwBIWIEBNgo+2LntAA+byJxwvr\/sIXX77qZ+7n6e5nQHebTfxq0ig231xPACxbnBFWREa+UB+DpTP5ytjKRo03mDNLqcofA1KFiepJUE3+ND22sm41GGX86spfVsisJ3esVNMazC5o8VKTH2r5JjGazcNddobDwpaURwvYtUSD5ep2k6sWz5LKApnwwpUM2T2ooQ3GGZ1hoDaTGauryUiuwUr3Vokx1k0LZaDkm9mgoaHmaDKa\/6HmDcE3mN+YzACZ+eS12CgtqMH\/U6YSxkOjiwuiD0dmSANiTYdMJB7EgRnOIgHEmR3OwQmySKI4LhHICuFIESIhUaKQoq2HSMTRUy2Bjq9lY8qRa54FCphbQkZfHSWOLbYyskoduh12QurthWlp2fjZfli7DshBnXgO6WJhi5\/w9OhhYbujeI45zsQefZAzLqG6TIPiDzpUf9GjGISh+ptZi1E4xC1Wje5wYLjP6QG3+DBMCGr2VMwxLyQc0WFBMs2VM8SDfOLDPgtcZkRoJRhhcImECHCPgmjgGRVR4BqCGOASHTFBnAtigXca04pGlzatLn163RLS0Y2v2cQUGI4pWONawcjMwszCzDKoyu93Ulc4f7qxuIUUwY9\/FSeMAEbASEfPSEeDIINxSuSUiAMjgOHAcGAEMBwYEwEPlYQZHz\/xeYbFjXGvaeRI8vLFhBZpwnY5pfcEPi9vw0wKi02jCFHqoBJEOoGmZ0OXOKJEqkhyVPjrVeHmQVPFOyWG1tdNxyG0NH1RKXfe178\/+Mjg\/wto9Y8QXajIwej06KWfqehtn7Dg8SxEEXIorM9jy4SVCGyWhFbHU1kmWyKvvnW+pIVV8VxGyosjxzjKPg+PaZ+Hx9RSPpZwt4S7JdzjuqSUI0eOfFnHAXhM8Zhy48yFG2dOsV9Yyi52FMHj7Sve\/a\/wmPZ5fZ5MC85ltioy3W8B2FYPud+23RXs5CI5smmE5m9460kHdTWuR6v1\/71IlJhcy1iFaLs+q2TpMkhyT3HsjeUX82JSDIhiiFsAdJC\/mLT7Pdj9bbDeI5xsedliozNM4flXwpEgD5mBHwBN+T8LhJOrbmTXNfIq2nQ9PFiOAf0WW5CHEiHb+\/Qt\/EAhWymks+vyOPdziir+Tw\/2tbeCObs+TfTH4JcX8U\/kECCZHhOYmCFI1RzJM6xFF19PQO8btgWERMQkpGTkFJRUCGoaegZG8SwSODi5uCXx8PLxCwgKSZYiLKJUmQqVXvGxT3xqrXXWr3Gzg\/d1h04\/6vaTw444mt4bOQEnnXLaz\/qccdY5\/c674KJL\/vCnQUOGjfovwDP3G4VpmgxkeA9MLWk\/YyBsAgEkGgodAxMLG4cOLt4kJj6JXZ+ESQY5abeRIJW7Pi91ks1G+TYpeAh\/Vf48t17qOcbgdhixd7pOL4AREhFVEtbC1lS9HVVFOgcBOoBO2R0iT1f3I0C3n9Jz5bAjju7O4bGqsZ\/FQV6SHZ3wo24\/OeyIo445vks6f8kzenB9Di6qehli9xJ\/LuBH3X5y2BFHd4kQHqOx4IJckIKuWAELNZBUcmI2sj39zGpq0nwJ6U5HJQCYyLzr7hig7WV1lLQ5TcMHmPvtb3lphscgeJXqyOL1t\/l3QdIRaN\/79m4aYj4zmY3LEqxN2Zn6+a4ENChi7Ef+TTGFEqU2U8bozMW13yW71Awhd\/Cw1JdixMkjV6zEVuUqVNlmxOipWy8ALBjY0g9ZlbWQIwKiMlYDYqQ7hYeOgLFVee6IBeRbytz9\/YFdbpXzv2mmDjZYxeePcL6\/zZ9heb2OflPeTVdE53jVfa5OOvEkJ6Qgg4i9mUI0YThT4Uvku3PxadnJP+iRPlKmRMdBaWYvwmkdVLy8t8+O\/kbHO8Kda\/mZonhZxBJk7PNoNyLIIYBNqceSKcaPF3b+HE8gF9wL4nzv1jB3khAWaeUFnjDJS7zhIm9yu6Q2P4M03KY72j3c8RhN5YuW2aSi\/qmMga\/sVYVFRM4tovivEo6bRWWe5pZbbrnlltvUdj3SbTBLGfmUQcVnzYatFVZaxZcffwECBQm22hoh1gq1TphwUREvklBfr0rEBkm+kSxFqjTpMmTKkh05WtTK4wxXidcp6mt84xe\/eue9Dz76ze97HZyX8csOijIdauU0tCro6KNSRBZFaqoZmdQwq2UJq0CZrZN1yJGRyo1CA7IokpArplCi1GbK54mUbNQhvhKoibge44k33pr0r3fem\/Ihb\/ADUaYglVtFvqphZFLDrJZlLzQmwwEAgyJPZqN8mxREkY5qRiY1zGpZ4iuFx5546pnnXnjpjbcm\/eud96bah0nqhdWnv209z3ysFYE1+OsfQCRSmVyhVKnRewICPKGNxBZlfetydwQHhcLcU7yaqNi6pmhxXCDWSacJy9JftjiuTi\/klt\/DUu+V891nFyoKN\/6YFxM0WnT9MrpYhwPHgoWzyJp\/kOO\/du5hXVjMctalMX0twGRAVBa5oj+33Ea2u0HLiQLDDr+XnjFo16qIj9AxOol1W+pax2oqZa7GU+5VJEUel8t3aPUFzpkPS67YUDUjmiWuuBp3FO66574HHhr3j0f+X89y3pr2sc2k4fvEicb7pNHISu9utRiEV6Xu+dP3TUQesbAT7HSLS4pcnfeluaqWpZaRSXpV+2g9+yGD58PihVTuGK7gWYtX+A1Iiw9D1OhmheRyL5\/rbbPdGsDd+SxvH8bFBtTdWqcJWECSBoBO5Ia2kQ6Z7Jp8evhDjK233GUfZFtvveseSLfZbfddSd9ury23JmiX3bfehVW77bvrXvjs8XsCz33ed7fS7oAV9isoxLcMgQELDlx00YePESYIMMMCYRp9t42\/x7HCGhELaBLz9+7FQP9FT\/UNfWEP6j9Nf9PUyBo2n1vWWbzxpx4qybyb\/jrziflL2f8I3Kjrp9DXsxf\/9cHzFkMoiRWCDZA0bJcNhAlMYgrTqcjywtimdXXXT6bDeDYvK6n0YrmKIFgksLKxc0jk4pbEw8vHL8ApKCQ5GCuM2AB6jBirYIx0q8TLqCqijJulJJPmKk\/QEs2Z9x55Lp2m7Sa9+cmO9Yic+TUW86yWpTuUUX8dDCwCIhw8Mgo6BioaHpGH+ULVIcRY31\/DrFa7PazqDh3GerFYPoK8YqO8Ng7yCVS+EMKmqGCKTYkWU++eRyyfWuTbj\/Hw8vELCAoJi4iKiUdB90rcjptJoWIIYxyo\/Is5FapNJxVZRl3grB8V8IzCLCX5noPoA1RqsraKOt3ayltYUuPKy0iC0WU9zuF5xFHbrPC6ta62zDIzjLDGCPFODkm0qGYppRBFcbyEQMAktUhhgYCAHC0ETVBYZrKLGIwSAm\/cTmCSGgFv7L62kNPwbJgTRAJmR0LM0tvUpWM8Dd+nsumkqzKBdBU05bEQKYBIk01Bl8W70OJq1Bg9\/uIbDJmVuZ8Y2rAhc4Pbpc2nQUEWBcEwH7Q+PaiQRNubcQRifyY7yDA6An25cH26xqB5LZA4i1rakCw5btm5jbZUIVnA1bI2Sy7ZSOZ8tcjnYZaIZEZXvWQIglqjYZYnSWh9ul0ACa1au+YsJLRSpuYjSGiVbM5fkdB6NbX2EvMIJLR6cOash4TWlwwZJLTu0OIgoXWtsgoJrQsg+ACIPmgododRBWMGeiE\/elJNip1Sc5zD88E74jEFsd6Zn6dsHQ53uRrWKPzcvn1wAY8yy\/WrOwv7eheaJaq1dV4dh7OiO1FNesVO1jrXvERqnCxgz7tCU42fhDobqiGihF6+4Lz2TaXh\/GblvLokNahRg\/KwaIOHqonNPSMLVJ3A5cJIClXNZnIWYD0EuY0nNAVlsXm86\/kjFK2uFeDRaAfHVeuQpiZnwGJSHxZroE9eTY6DBl77qmpIQ5O\/gp7QYOrNTvXOQaggSaNKSEcsjVdKgQapGIxDEPUonCF5ywNg+izAbr3zdygvEcNOILpDI6nckafd4p4b3FLyvGN9\/WaR2n0BoIMNDgwNE7z7m63gTePT130uU0M50mo9VOfeA+fp2mo19PGbw9J3ttAZpV+LexxB3S6qEOpIorXI7aDlTu2lXp73AJkQ+WZElLe1LY46wWR7EAwG5X8r+VU906urjV7DsNHtLGx06oCNNvWUAwIR4BZAS1HtsQS53sQqilaQ9kbl0wlaj4rTJmgeKoCrejsZNxnoXFuNgxrQ5GE60b9rzdcqPZq\/s8S+a074rpJFrBeQmQyJ55wZhPUV\/PRoUK4l\/ERS3FT3dwMzg\/Pv80UJYRaDT0D4HGGMGuScnPOEfUXKGHljQpQQq3gxrsblHFQvorTlFskWeI7vxxGyuzPubIRwj4lCtyZtmtWpoJAnVYL09\/nxkcRKHwxTbUStDBLwR1QUSxF\/5KK9hN+jIpIi81O00njvvOn3XEaI\/FRZkSpSRamiadHYIfpvmD1tMvWsy3ca8kGK8Pzthug82RlpyAlxTOJjOzgKTkw7R5haiV5pjl9XG0QYFb5TLeoMwJ7nDuhKhVwomC7jjBvdmCTKc9ZziBVqtQvlhoCdMtT35hoVYJZFbaggb2ZjgrPyCNaNH0O0E6VM7BaS7nRtqLvaMMCYm1Oope3gF3t2Nd9Le8O7+f2Hr9z5mAH2ly1cxWL756pXtoJzfX5P+jrXuMrFF2UD63z2hxxyw\/f4xjbakcye0Y9qJJMzlHev1450OEN990Xf3HZg5efx1xnKpBLvcJVO6XL\/vGxLEnsXM6ZP8Pl\/IFa3kt3ZY9u5mm1Y1ZatbEu3cHlLW8wi1r76lS9vkYdkHtmwy6QSbIZpi4bYVaEUc0jI5HUv2UwAJDXTZP21Fa2se+1tV7VtbG3LK6+6sgrKKO7snm9XFi9KgdNXoiGDR3No+rscSUd2pz7VUUYfVSTJCSWowGONNtJwQiU\/Oe2gHcasMN\/r7nabm13nCiusscIis0xwpl02mbDQTBIT04rLK0I6SbSjY6f2fFWDVCqTTKUqFE+0lr20U1qjVl5rJ3DT6abJ9mtRFAjgcYwu2milHhXlKKhARSECWJBAgcCJCQ1ScDDMwBj9c\/BsVy83DAq3PJ5TZjAR5c5yzcxMkiSSJAEAcM45l+7+oI7rmnVmInJrZWZmJkkSSZIAADjnnMutWWxmfVcaZGZmJkkSSZIAADjnnLuRJEmSJEmSJEmSJEmSJJEkSZIkSZIkSZIkSZIkAAAAAAAAAAAAAAAAABAIAAAAAAAAAABoftL4+t311Uq\/z+txu5xWrZRDPXxz24Ep+Otv8V61aGXYDohO0FIBmqe8PjVbo3sYcTfjUoooa\/cAa087EhLESlSSJAkAoPmgmTavYhGUKZdMIiQUk8B4mjjeszb\/ww7H6ERDAyrKkFFKITxoYEBgR48cHgianexgoxrR7EzvdI\/VMTNIEj820C+f2E+6+X0tjdRSjhw1MgQwwJGOEyNKcFAMy74mOuTgoxnR8ObIOjpy6eindGQjGs4Qjicx0gRxgKGAzzrdtNFMHRUo0KBABAsCmbgwQSCEiXGAoWljXgQdiR0xAQ56sjfw75cqxEODkc7FQksOx0QkfPIW+X39rj15ynMsP\/pzRz9Qxx\/ZerRHejiHij4xbXPAKPCtY1BMVMR20FAQYSHI5GJCEGIiDNPGvAg6EntO6tFBo1GdKsrKfRP\/3j+PD+qvXraQpRjq6uvsa6ib\/0\/3820yEbm1MjMzkySJJEkAAJxzzvWb34rmK6HfhZEAnGvXJhu4QggjV1h8lh2vZAkd5oxaIaGiEQKaK4790pX3AzNwFer35Bb6+6cwQJx6OOO3CobpXHjolU9JeV\/5ScGxJufd68+a0iVOGYMm6o73qAnq7O6coPF3KKPrR2czxqCx4zFRmsEXY9Do0cVRFIDXx6BRw\/qRhYEdY8CISWMywg2+NQYN4\/CXQHPGyCFG+t1qPA3i0ZPel6Ez4\/55USVi4kqVSahSo1qlchWC25U9agAMynXngG43DLsyQ+G\/WaDflB0GDCfoH+MkvsUCR0Bg0p1kVrVRK5MnSYQA3iygqwEGTMSTAJAB4IQoeAllPMiCFy\/rQWvxEhO8UJaXLNGDbnnkid5jWF41ErxiWl4NSPTCSvQy8KA92IleDUr0O1VETNoXMAgqYZlsI\/6ihSFUEWM65w5YgWl25lu2UwxvzMnFjeJBCygSVMzPyxdGSgLIEgPH5co8WSf8PqNb0Ro3fbD7wANEssDggOvqHk4rfXnDvCaO65GqdDrcOPluGEw0anzC\/VmA3CDo6OYelkhxmvgPVnwWJZZwXDFFlf+lNIL4hExO2uW949GNaswxlWhVtVIlUrA4tCCCxxE6yEbwPLKaiWYmOKZZfR54N2dQE1dKwUseIWCTPXx7SJ8Gg\/45KN6vD3TgAtZPDqRBtz+EQ38EeUPhfaZkzQBSn2TiZFGuHbbHEVlmUPA8j2GGLzIYKSnUxCMJBI94vw4e0VMfDtpl8DDTxWucjEXnFnLZPwcmr4+LsUFpfHY+\/qm2ebI+foGCogpy1YxABkgPaBb\/yEH1APiy743wu7ujB4fcrQX2YY2Nn+zLfSJjGAcY2K6FPSo4LcgpYjdhRiPN3WEA1yfdAwv+Wnr8T5rlj4L8oAb35PO9TL5FaFVv46vcLF+g734y4cOmX+A78qjC03hcaswIuMCTBRk2TMe\/AKakopSWItZK4jZriEbEB+qOZVif0EOHrUwtyqH+uCuQARHgAArAgEzgCdw6w+yKWKZ8ggxS5CAZVAHHZb989eJs\/HXZDaDUkxGL0Oyh4JJKV2wjRXdXuEbAj3ktxdwZrCvdgPoTmFciAcIwrtMKP4iCNpNAVEw8gAPd3AC00OyFqn9NRW7tJNPOJUDSfIClyBZk9QCYB1Ik2Rsh6AZagc\/1LpAEdz8SrE\/fWxqrScIxIQ5D9\/rF5o9M1eYGFjHHpiCNKXdmq+iqh9pr0TP7anKdJIkqbEooz6aMoCAWpQypCIUNooQKz+QCOxF2g6QJb6CDBIAKSoyumtHq\/zLRC4tDKFQGUwtnN5E8v5BUviJEk4j3tRx5ChXZolytHer9oMk+7Q7q1OuUM\/pdJqGFMrKw8QuJS7Ifxf9egNTpqGODAxQzTCCxJ40ogDHX9qEXhfZLTN\/vBtUfUkJkB08+sofIkb5EOL5IVq\/DI0Cp4RHHP3+PAPjVAF0AnRwzaBBZvZ3GiHA1gqq9izGC6V\/lvpzeurxiBijJi\/I6GBvmFwFG6qB\/oWa+qypR1mkHG6oMWUJL4lB3zDjc2ggWVDvATjCaMwT+O6iQ6iWxorangYLlD0tra4W20BIblR9UnZq4IJ1uDSqGLVy8VLHqcK1nhIqD3NJ7I1uHzYt8aK2DyBDSCmo\/A3bO1REtHKWGgVWlg77Ekg5NUKvs8N83DQ1RiAnVtgbg7KJvG1F9slkg6DGHhe8uW\/y+R7NPJHOlrPjIxKFzxpGGByPMozSWGRYTDE4cFIp9JQWXr+CX2pNdJX1JchJqdUMhDghsNVSUZWPmW3u5\/pG0Zqv7mWHiiS+WnG4WcmOlQphIQW++jW95hEFkLoCAfkYAfgfsB+gi3EmO6v8fqv\/m8mF7LOBNG2jSNnstorJYntyNVRLWqK11kK2\/XywRbLNVxd\/SIbYRf+9XnsOoPMNZL5F2v6ER3uQMC942\/R\/91+dcmf\/DAg4vYPaJa8vPrXxwWa\/jmxnZUr6X2oPsO8zu47Sf5NrZU\/fT9rDtKf3zxGvyd9TvGt\/F3gu\/V\/9+4Qey78ZTeNNcB\/\/fZ+4I2A16BJYVAceq4IFG2ARAEYDw96lySCptUXTguzXbSwZ1g5W7Yve92285AjladizgZN5J6Wn1mT\/PqCZUk9nnCJ8Uf6I+nzVFmaqZLpxZP1N+MXg2ZBY3j1mALiguFywmLHKuUK8mXKfdVN+y3\/ofCO6AO5RP1faU+zUPAh7mP4I9iXma8jTt+aYXPi9iXvq+9HuFeOP71vezTV8Uf4X5+nowPexcGtdizkeneJqYxhl15ltms4Vq2y54FpxOCoCWisOjc0R5s6jjM\/7XMkd2H5eaJCAu5L8BnBMi7HlqbW8\/tADvD0GWgO0BdubyTltr7VXX5gJQJ\/pDdTdA431rAOhCAPhmcRCgCQf0AZAPvy7YAHODd99j74PkCey\/\/Q77CAHacZ8td5EYTCMy9pBPElEE4YMbIowgwGAtBwABCARosVBxb1o0CJsWsbNNC1tMaCG9gyAKIfXUnKYF5HT2\/FyntfORfL+AaSlccWqn23ejg58fVDn+m7GoaLsZP14o0b7WzmEwoN0eAhRCpHV98E9HDA0KYD6WoqSbqXCFwu2sXbMxuxMQQRJMwroJCwcIBwm7CCmhJDSEnkgk\/ER689Vm0wwa9aczfD4jb8R6AqCJK15oCesLhdkZiXsBEQjGqaMIMSHfkpPwgTpf4YKnSQKo7\/R9HcK1vuaL026ZW+o+B3y8wsepWtbHyUcXP7rex5Aj635U+hH9I9qHRUVC87ty6OG28CQY0hdU1KlPdxmnV+9aVL+wSLH63N89YNKHFfq0+7MpvJbC+RoOoYqfQfcUFFL4NVlC42cn+i1EiPp6wsmF10aiqbFXaAmtb3l8C1r6D5MehYuo1l3sZgP0pDllu2bP0\/hFC4U2L9plkEljzl7zo+veUOBXs2rVU5wrvz7oY5+AgQ4GmDAPAaY4sRBnHPQaH\/zwJ4BVrJQCXxLZQBLfIOc\/nrANHDFy8pGhQIcZC1ZMBGEIUcQ\/zNHOdW5wlSsq4RoPeMg4d5mkj6uw+d0Q2qCBV4oB\/ZKZUqJX06gODAeD4MOEsUEnkAzoJMB22xkJuQDLg9X801NtgXWa24JOspDf2sLrbAOLuK8tui40LbbYR3+7FDEMAMsBwIcCaG1g1JmAqesBQ1cABjoAMBDA0mWaWUs4iObmYIlZkZLhLQmKCGFXOfhLJ9bM1QFcGpYnwq4Q5ianYQfDXjDW+hmYnoMcm7HcYfJ27eKtXPtHotmS5d4\/A216hEEgeBj8neoIFT1Q6eJBtfhfgTyiBmM9DqWNKSI3Gm7JGOJKHqIKw7uk8GYSApqyKjZouFmOujvTtkoukFgoLnFhW1TwiedKQtZJUaRulrh6WPZd+W\/pg0cMkB\/DJwaOPI6nJSieE0QcwN9azkuSoeWpcpM4hSWbtlzOxV\/FTZn2NDhrjnT6sJAEYHNZ7YtpVr5eo1t0ysbWEEoYjhOm8BstQWkbxobtJfZnQxpmPvE+jzDPYdOfoBn63jQN46lfnkvL32Vf8u9Jvh\/HKSLOyM+EQratL9s8D\/gxMB5VoiLBuwjdNvaHdGg2mhuaJGzzti4BjUmYGcHEyEhpbeQD70KXPZ\/9ixRXiAcjTiyvLh4IrlGCi3tDnZ5lWZ5J2pQPCSSNDnBjKBEWhOF4AkYGQvUgBSoi3k9CuBOTcWI8ODxbNhTUpeIqF76HqdXQBEiGUq+96XcKClJjoga53wW1q51aEmMKy6cy5OAoYh4qmEq9hmX3P481ZCTVuZQq\/AqkqXHkIaS5qqeo0XXD5rzhchVS3wkMWbaZauXbnkQ4DuIhB1PMCntCJBPZUDTtNo233RWJyFCiKMUGHlfiBbzMtlMFHprst40LZWUkNaJN\/cWyrIR5QhA7j55S6pwiQ\/HyQ18gbtFMn4InpYq0Z5qudfrEG4KkMK4+7VsskWVR47UyVDNledszj3oT4MSF565U70RC1VMUK+LXzCDLfS6p\/YL7jFhHpc5xZ3dFyASTTKXExHIWNSsiwaMqT72H5A\/tPGRxAo4utVrTrlgpp\/RVxO+kAjZn\/mVQW\/YTEQlL2HGb5UMszRZawA2to\/cUr55DQx3f9un1\/Laz9ralopBoLxAV+iKM9lG6rsopiRPwvSnWl0OcguaK3EJ9xGX1F2I5SK5UK8lSbDAQ0uugKVHTeD\/nroXVhslM23nCOpd33UCtkhvkAY101JEvpAuhEqnWc4ZLScnTO62q14nLCchyhF8jim3TVvGsslbbsmxuRDSwcdnmGfGknC51pOAc6aBILWPgp5FehpkX9KICXJl1ynW+TwtJNA1lbpF4cCELFv2VYz379StZdCzaINXFK9SwX11WNXfWi43TCYlG6IyW001uaFRsj2pZIixsXAG5wEN0tgtmz+nhXivsi2YXmeKhg9kRKMXAt4HruO\/USHm9fg3XMujdoPaYq5ilx1C0oW2cZHcu3w1wg4h2fCfBgz+hpD6maSQiJwqId0XUJeXOYGVL31ICPmTFdJVlIGLJDGLr9Hk8rgT9\/yXy+Y2G1ZyDUY7YJhblcRTmlGvjZ+CdY6UrM9B4mChZ96Q6ciwR8JluhvJC4Xdne58DPjXWO67gRme5KM6xJI\/WfBY7SfXqQeHqRT8QnAW2VVSV0WISM\/iQghnncm3zALW\/7VODPrC2reK6Ep\/R1auQkP46tmzUcKan8pzvvuXRGhEYy76OUbwb0jKQlkbfq3L1wmmRlWdqtEMCM8fep5xKnALMYEVaG+F1ji+nrNQeqRF5VisHVud4LnaJQmrDVsZikOs\/awUa3u2zDVIwtsvQiVM3CbosT+Tfag8tA\/mQoS2sG9gUIDNN3KnyGUhm+StG6SxmkQSeRstb199xd5pKwgm2gES3eTs1hk5xyrbyXPlom3hxdAn6ejhSpJW0Jx2c3vnT7zBjhkDHqTyOc9LsYEIdtdJdfEbshTrWf2IpCR5BhlFSfRjQfFY6jKoUT7ICZZMz+jX2i8moXxoa4TDVlJc82QREqcOaS3dSgRewn614kSYF2cMvaYKoXuA8k9bWfhfDwaiPWo1chbg6k9Wo6TI70aPRib4vX3bXdzWtqXFXJdWte9lpr+ea4r75P5BauDYBZBhcZEuYMCrcZirVjOICSAziIl9rPr09MfWsYhwS204iNnI7a3fje1kiP56ylJQf5Qd6gvBDsbUkLEO+jGUOW6Wl\/wq5fuuT7axpjyMjKULR7oCNhSQijN9HgIMVIw\/YPJ92jVw4u9k4x97aUeC2dl3o4Pa2PFromwKTJ1gfByfipL3Q5HuSQIO9cY4NDDY5SMsGfb+vrLzN7uQzO+dq2tIF2dEX5Yg3jmXlH2C+6eSaHjPqTxgXkDacxIxlSI8Ph20rcic1crboNanWFt38rNAqm5pFi9vrHXtVwalHnXrcqei+oifcQd29XK1YOtHE2LSHEIKXFyoO4Xw5xUbn7IRAVlfvcJbwlBGncs3m2PX4tBPlSEJeXjpwqAMTYFuhvNde7Kl3uqw+m3ZlOettpC\/c7EmxOEI+zrGgQrHMhooEEtsQxRn4vVHc6OESzrZODMAvMOFbNv1LiXPq21v+FEqbEops8TlILL57W7OSt4mJX1w7868IoPx7Rn\/1eJP\/bLMxipJAbbHwFXtvZdG+sgxxGlfhXyMNsPCEvAqJozlmTiHx3whaERx2SEETLojwNRzLPogNlVOS74yyEceHwA58iCNofmLz+REfrX+OPqhrdGoWEiDacspS31Dls1h5CXAEP9QqwrZjiQBPSvNWHMmSFn8982nBRfyB2X72J0PPFvwxlAXQP3Cd9Zvt3YxmJcozlYwSHxhJbRy65zxHOb41ypEWTMHgOk9QtU9Uj8RhtwuyI+gS3uKg26b\/2dKe9nc9zuaj4Ekgl3EcAwoAsCfmkTgUapZHTyO7wxjfav75a72nm0oX+x+\/8Fg7h8mWGRmV4m\/Nnlzx0Q8rk\/GYq29evgu+jF2S\/PgWAjCDbZfgYvu1b2i4Q00l2sKEi\/5KUXrH0ukTAo3XhGNFbdMyaJT7apcatuQnCNDaL6jCRbzUcbeMGh3pXoGPVgQ4Yd3IXFYWJ+suQ3wdMl7g9PEKz6gViPJJmx0dFurfM437lz2RhQX9JEjNWfGr0top7NBRU\/7zbse+5U\/K+j8ZfdWZS9ug7Dk1tYPNdm6t7CtJ6LELpIY7Z48cIP1Y08vy4pvqSldzJ5YPqvQwAKVG7W5oWypf3u56ZLVwbmYscZvanVZvRramd1Q1w8bMiOWi9KrQPLnFs3lKLoqAP2Xl64CNUVwd2UZ2J2FifplfVj96Cji\/ORXYCpBsPX5kyU6uTx5bARJkzc3Xzf9\/R4IgvOdzej7LitYb5Oj\/tnN+ND5GshkpQVqz3jwzo3PWIdMr6U1\/Q9JIACzoof1FMNZ+3fOyfhOT8iH5YkjSHO0PP7Jnoh47Mv7vOIBFXbEXHrr1w\/Ch4Z8eH+oCTrl5oV\/m2kaGTwyDCeBkX7P7pqrwTJkEbVYTkWvdsY7tuaK9lRrF2efKU4UHxSf6bQVkcm07WaIcJTDqM8kV1IJmWx8NxP2Cz0WcP5Lzw49HciKm5rTXs0csqgnPilkPCkWnpttCic2PW2pXzM1aVjxuthFtYWoaRe9Bnl2nVZ0dsV5HAduXh0TnfmqvdJw8qwdftR03HGp8Bju9n\/L1twdoGWcD5XbgZJ8FTnYJF+g8dOerPYf2fHg8+T1nO3Ttv2grsQnEM7yuRU4dzPn+R3kvhE7NGW5h99arzniWLPrgyVolszGC3viwuXbF\/KzF6WlLm2VOpVpsbp8ZTx+b2uOxbhufwdkm96bZ8Dzj7uNgPaRMl82eV35\/aGLMMlo7unUVdCytYbNhj357CEmHlxKwMmuxsebCmz9fP9wbcDk8+xH+c0A6iJIfbPi4ZGuYtJ3rduAUcUbY9yN3n\/dN85sLQ3RBFfMRL4M0Ifog+YLP2DEP4GSfYceAQod6B5v7Gi9MTHdUU2jZfa\/77APeW9h2iCqqIbbXl7BuvUP9sqZlpni2u6Q3kM+n9GgdrQ\/C2ujMXbl7WWNMv8BL\/SzoMoNEMucfwdVuWa5eObO8I4wF4oGR4Ch11D4XPnUk58cfhBR+fvak7VGzZcXsvOGVtTU\/bmHnZi1OpWD9YvT0Edqrt0COnlrcfGhz79Muo8PpEyb9tLt3OQ\/BGD\/e+9+2N5bShzZb6ePX1hPFByWGHgayk8dDtvfSq5IBLRL8de\/qgac7fide3ft08OIOYeL8Q4bSu8tYel1xYvvhTkM3JtuSy89u6CE4q7WzaPhR2TDonbf3hyLbtLP58kp2QekQLFc+mp1XRScw+LZUuvfZhPnj4NrFbZaWC18X9W59W9RwxlEz7Vo6abBJejPppTiaRNwEE28Lm+tNaRRxupUmy+VfF4IVkIhDikP3gVPELHCKADOiUyvaen7e8Xj2eol4\/GS+yXQiP2+85Prs4x09Py9vA7zueNCz+g1kxr9JU5CkWbrj+WbQl3Zw009uv+R+uX8dIWggcKcbc70782ZuGViSPTz7n7i\/13oSggeCdr4xNuw\/utYS3M\/2L\/rZ7C\/XOJ7yFUY\/8e4K87aF2zcVe7yPgtQQXXZXsDTgxaO0WGx6foLwf\/VwCjMlsdhnaY+D2T6dIZ6E58uNe1J58bwfw58l8BCC2RVGwCsMRmteQN\/EMyj9YeWUMC11WwwF8ua5P+pC0ECEj72OQsmbE7KpQqcpB9HqQ66t4Y53Y3GqLhimQ+c+HtwPgUd+qmN0+Q61hFxlwewIoq6Suta6LYSvwCVKihJpDG08juRzDB4h76s4GZsD797QRM\/Z3fj29JArlM2ypWQNy9qoeDNm1zGil9iD59KPXKmBoklIRBq1KBSM+KmO83XlWjtIBzezOOxMt9Ls411y\/mV0XyF1WCg3c4\/u4MvRJRAahXAiyo9TU\/cJQW+aZ9b0eeUHwEKY+qphpIx\/FNHRwHq4izxDbw5jsZG5DTyZrJWKM2PysQkFCgE\/vLIHgxtUgargg17uTJYus20LaJ+jqidgRTFex08AJ\/tEqHs0WmDFl3U+6Kh2OH2myvFB1\/hocacGN1upx053lqmKOopw581m\/MVOFduXQ3f6BFipJ8nWD33RY3U8dtK6XP9kGmL2hBto3AofwrG46Xg8DibclKLp0WMvatTYCz06DTzPn5AcT75wNM6blKOvYvVFAPH6joddVY5nTlc7POzoKLPiMQJ\/99AJ4GQ\/cdwrACeqI9BHFR0q\/EWzGXe+o6hI1VmGndZX4ma7NEC3ft93PZZlx47VOH22dYh\/DNHZwH64iywbcmSnqDFHWiRyeU8hWf\/csZ08BQpRP6aPx\/qxa6zn8CBCJt7Zv9NtUfy+QFDfl81Esr3g8TseLEHZZA5zCRROmScyq4qi+vKsOGp1cmHzMWv7m7WxmNw6VGnzQ0vN+5PHjf89erajtA6HFUavPXuyprf+3AtuZ4miQ4Q\/YarCTXQoilRdpbhJjQ5\/sqsQMPcM1+k9PtEYmLDzQr1Ve0Qknu6+OvlJfXNfJcOKJdrA8PsTYrDqgXjyBCgmDvbRy0LGg2h4Hhvg+l4Hvfzh9fJ1XmWk\/IIcyuNosNWybi\/whtgTwqfvvZPgT8xHUGhoSiOYBrZ7G3092cXGgWx+wQhbfLjh3cSPxpYiAbk0E1GGfzbxf9dq87Mr0rFV\/HnBdoiPA3c\/5DvcYmI6E5s7vszY8pPHrI5ffuaj2j4d9oK6HDvbp9ca+pUHe9xgBTgR9wJSe6etXaGUCJvaCVO\/b4Lubvp5SqzjxeR19kTA5Yc28cf78PsnjrkGcIYVMq+CXya1v4cwLCi8nnIB+K3XnUHpGj3zj4StFzZxZZXtUiyCQWGtm4oc3LJ1wCAp6Z9mVelGMbJqX9q+8BJVQamsSYjL5JMKfA6FDm7pG9AVqoeu5oKJV2rVE4uSOstVke5otdlyQhXi3ut2enGnoWRqsbjpwMED+va2Eu2Ovsb6I0KCkgDXo4paug2a\/iYVA0Bk4p2onQdXTeDI6Rj8Wjw7ZHAKt2pL396hNuDr5qRmutQOLchy0Ob84UnxCQ\/fxN2zVnWu0oRPSWg0pZMphgxMg3J8oiDlr6D\/rpCONmuNPKI8o1vCUG2OjhaP+YyM7vIwB\/B2w4T4yo8DEAXs1qZ8lOUnM0SxVK9UvIMds2DiuZavN0qz\/lGOBPoPZfwrL7Z9Pd+4Opwi\/R\/F7s2BOzP\/kStbvp5r8XS2909vSvhI6EGvnDBPbtih8L3epPF9AtDzDaDNJbO3P0li0\/rC0eIINK4vmd315M6+UttE5b2xv2BMSmcYMj8Mie1MYh74CzxRH70rpIzviidvoAeKNkzIBGsqSlz6f5P9PLAYMOkUxBNX1CbT47BuwNIcmghdnX8Q3wP19F9deRC42OzzwMk+7zSx1wpGx\/QVC4aqikvPdaN143WKzgy8jsXCV3UiFXUgvbJFsCWmjL\/FC+o28LKt+tfdw1W\/3HzSzDGncjmmNZuFjfde3TnMJZjN6e\/\/li43YOYnTP9fJ\/tHlB0F+AMKMXKyvVpT3K7CnCwqzDrargKcp2BlczVY2Zw2N3PnAwHNbpCrMfbAiHocuB\/7+3XwnuyNjaaALfD1jXD7xq0mMJlx0R1AWvGtMO3myx8GoKwqlk+RO0i8jjo2lN69Xd1dcU5oGF+jObZxnaqptiS\/hpJav4zhdXgZKlHAScnfxFnlV3XQOSYnOvNwrM3c1BwXPDwQOQBQn19G956D9cIKtqD64bB+fPBxwvAnsnRtMNK00FzutDBXvmLBZsrWBBWk1pN2k\/FLBM1Z7\/O7c374EWvznjqrvUEBtpnj356t4bx\/N5377eSBA99N1nDfvZua3c6OHygb7KK7XJyluw52lRm8m7569iLdJQvCHo56aOYfPYJdilxuoX8CO6U\/+bL4ZS0pJiyNqK1NZ3DNGLSZc67JeO2e2ma7pdbPVDJTh\/oWGjuwAteTB4HJs\/+ttOn08sp5JxxH0Z7MFfci2ZVUJsO0A1tuPGDMbcokaqkkZFlVOpPSlMyROxA+cdQ3nn4ibey4Xl4yqbI0ndQGuYrdmwtw28Wmxrkv1aAqZlfYorPuJ2qAzsE1\/6A1Jg8QoiaBkx2wPRvvKmrOLNeed8qmFpkRZEEnm75VLGEP9uaIsV2Rp097575dc1CTcMb5YUccVXGMaG3GTZb21L1+XQdsM\/Om0EMjwrV3rpDiuu03Sq21V6S1p9fqp30lHfX6iv223H\/OutaW89piqHX3ay2vejtqPnvbPDgu6OGzB\/KEjG1duQKMHpYrijNk85gDPSJwPVwe6PqP\/\/LpcG4QkHsOfqWqmzGKyaONJSx35+yN1ilDReWZ2wpbI66K4UyFoW6qeKMzw72xhDoqNjbMfKXavl\/ag6Tp6Wy2pY8gEhuvbAubTtX3IaWzdGMmTksmo8tM6UyWMdFl+L6M0dZkAomn9Yq09uxawwWfwo5GQ8WYjffvhKu5nNcaR6t7aLG86umo\/eKz5iEHIfgkd3CP0OPOVVJ8l\/1GadkspjIpVxRvQOWwtnWLRIJuHntAJGRs68gFg3YTaeS+ezeN+03o20mTMgUkN9dJW31xTiRX6aLA3MVXqhO8Hd0x6vXRdlaXacs35csMXynCtgrE26JLBi1ArLcGpPqLmOiBkAD2npJtUQJx2NaiL6ry5U0ejQMQJsY\/D77JKq605p0+d\/YcuG0zWn7iD1dJDbDk6esGS7ZGO0TFVwaJzAT5\/J8v6\/Li4pvg\/nlMzADEmG8C+XLDF0Vl\/RGwNSowkXAWnIsDwDy3PiytOK8rpHd1GnnZL\/aN\/R5FheHFQiacGx3DSIYnyHPLUtARnyOfwg7QJZYhwna+lD+4n6vW7M3J7eVjEnS8gp3hL4Rokh5LxKprM1j8MUJ9C3mu+vg29MWcsqV0Au0ZFSy9Apffn4T77yu+h9NoKdIIh1NRSgbMK9+pu7f6qXp7yjFJo46IyuefPoFlfnUbbJs0BxOWHco35eKQsrIUTFppHL7IiTW7vNZwckFkaJiVFZ+uMBYflSB+KyQEF\/FX597mv8CgbXUrbLuUiwnnEYFFytUp6BChaHnIbDh19\/o5efGpnZGhVHywkoeDVHhcqNUDT8VjKJmORDKdpOzWsNNI\/TaYhzqGe\/qk5UnDAsj34Z0ri0twq+uv5srZ1N0nW94UPSlbvu9104L5AXjrA+iY7h2fgRXrPtsBTD6fanfl6gU9tvAwf\/JHHM3ueJ1r\/O67qpwXD43Mb36gmh\/cSW6691mx\/1CJ9yPMmdZSPcwYKCJ2OY\/YJFrbmUbBm65m1f1pU5WkDnvAhTO8NR3FRxKpUv+7Y2bWNwen\/jffOOamnLlWEHDufEHAwuJG+TRjyL8q5EZEh70Xst93D6HAQE3ebahOazYk57J0nIxOjih+b3khuOYhtw96YO2Jb3f5bhf5bk9fu6sQE57cxkZ8BwU+g+Ctp\/lx\/r4jws9tNqm07\/BjsbnmiXjssChaoi\/GjuRS097qS5aK+9Z6JFwyV1ctmvX3663GZdES9J5dWXPttrFm5X5TX1hpXFrC1ZlX5pKR1ZdDpZql2yAS5xuw4g+fbABaUs6AVf17Xh+Y0x4+ethl4LuDhw8Ct9d3Syc\/uzvePQ6QDhMCUJesA4GUtZbXx+X28fjcXmV5\/F4uy+dx+8YDF8ddu5Lbc5NdNjf5zi6c27jLO\/mSdzVK+knihps1G4DIFXRTX3Pgw8e9j33jnbbHWUDvuWh3YmRwnGdJW\/Zi8TZHuIkf85cA0e5c2i7d4RRvKgF1MY8Fb2+Nt47D68+MtQCG9Orhq8lbR66MAPyZPccOHwPIUU1iI1xXiQWIxDq9Tqf8QtjwsPvI4SN2dgqVmpJMpaSkUCjJkqYmf3xhKHCg8qTA34wFtzGHTh1Kc6Cmd2ck5OOmj+C15ctqWNubUSSSMYOBo36EZuL4ufuXmdjbbSgSpQZJQYm\/gCLITCAGKafTPHaNYE6AcSaCTTYGjAyrfBSlvxbcT3\/1gf3FB\/BOuWv66iP4Wr++2cRbH3xh9a5Od+l9VqUWefQEfP9zOS8z\/Ept7V5CdN2lt+g+yFAZ7hX9nV\/wFIXoXqK2Gn7VE8Hht6rtgpERgb26Wnjlc6raGAU+zS\/pNF0zGK6ZTMRTr8l43efhXf7heMO\/DU3\/3h5YE0wNSSYh0uAsRjjkMn\/ETx0XV+GjXgD\/40\/d5UVdlfIEr2LQTXLKndiUzyFU4fBVRALeYNwJHL3YnXTKVVKyY5ynrFrUN5IOtox4G+7fN3iPjAiPfJ5rJEoaPl7zSDg2JnxUU0M88TRXjf8uAUmJ09+vL9zXPNZc8O36BN98X41vgW\/fNwXfOFzmHOAAf3TGnhrxeLbHx9P1rh8p7ZO3pMF1yfZEdnw8OxEWTXYCmpyEYMIS8SOEEw82NnNbEQwtK18h3xPFdqY7F7p8578ck0vOyVVg0kahgeQKUW84JanKV5WJ1gqix3Wr6utZBBupCJbMiVNNs9fmuVymrSqGZyIk6eBlS+1MqWKhvlFxaaaktna6pOhSY73h4XDmbraKBmug0xMbS+hsVk43Muglj+8foOBr372+y9\/vhnJDtnCgIZgtUDTw+DAUH\/HdUbdij57I1Hb3WT1GPlC5PDxeJATZ3CjFcs7Ic6P2QUuz1v7cNDK9+ncqNfNX1YToir3EwnZvyWi4r0CpUudpGfSUeCI+cZ3f2EeJHFaZnpGikZOxjiEoOFpL717aPz52em\/EwGBYkESoUEiKucSkeBIhMcTvQDZUrEjQIrIQagU+2wn6Pkj1z00QF7QdJ7l1vOX7Ypio8ADshev+Y+\/YGzNY2WH+uNd\/g87kE1HHdzg\/qxu6UwNWShtq2K4f7352IjkvE4vnZSaPV5xr7R2caFIGeaKSyHIhM21IvXKyA2waqy4cSRUrl2FPrS9OINIKM2LjVRkiSg2FKk2Pi+bCMbjC5E0HAVZQPJQmLuhNpxdlY+QClsuKTFdtARUrKtmXDiiOc\/OuwOoFsg\/bObXN33aShNoXBdSwk\/2w1ARa+EN77Us39z0cHNz36MbN0ftDzRRST0sbqY+C\/5Tb39pK6gYbpVFRe\/evmt82us8MVKUeUAKCExNLSoxN+OjYVTZs1pm2N+ZBAhn8qpz8Yr0LrgV089mNMbQc0piSERiHoMNjYHgMlWPhpGAyYVFN8ZG5kISd6UxhfSKFW5GVJkvBEfJeunBXsRQ06dFGIDDXo6OL59HX81bfaf7HPBZBG4wC5SnU6mRsXuSueExEZBqdnJHJ5aDXTGi7AlONV1uwG86tfIFbD6EYsBgjlUYx2fCgmx+j3ihlZO2uH+DPDwj5FGMaTe6CHPkiOz6RnG82rw6RpyBxOjS2im4Y29\/RkMXhZqXTuUgoMuQErjinAFhydq7uboZ38kZAPV\/UjqAoUPGhbFzq+VXDKFl6Fr7AnMJk1MLxBZkZaKll1SA2NYKdgKIp2hECM4aUAYMzMRlZDAwcRszAFsMwiISEbHgKHAlPSEAhgGwV1ZhGVbpkjz5EJsISKCmR5WwXTFFaJq4Sg62msWkN7US+Q53KT0ZF7W4a4i9sFXK3RmVHhKKDMRwJBsnKycygcgHFGlYXxn5kDDWCoYEmSBOwHbC6W90cy9zrQJM2F3oNMx2J6s9qJm+uRG\/qyBiPK+knVNI+ACMtsTz90IZWZCVpM7K5PzIbPR16jVdJ+UCqAt+viv4p+lAC5AG4xQPmxUprK91O3nw2K7+BhWpj0Vjo1nuBWFLHym5dNKLa6r5\/NFAylGgaKq2YRkYWo2joTGU2+nXW01vPQp6VtUYBUbJL0y8dkBsLEGCo\/2WeUMdxdPnyfndENwizBUFwvm8InhvqN1kc+LRKRmi2Xy\/Rz287qcYhj6UFOR38oxOdzn4vuKG8Xpk8N8RyYzmHO4w7hLOcWe6Dc6UiopQlYsnt97L1aUfBuJTJ2pc0v6KP+Evx0s11GgBe88Y\/p6S5BfoHBm7ftP9AAwOMY0xxZKpBClAKJ8pFLClLRCyda2G5h3yEw7hDRCx1a52DNijryxM8f+BF6ugABiTIGJelbOZ9rfMF1IFf8tEGMHUrdFpn+vsXrj19efWO44w34IAXVy8eV94yoPLNjhkY6EQ6s2cZ4g0MsN9bvSxZDe4zUcm8ueULXE5alHuBKPqq6QQcH1UncDbjOopR\/UZIV4+Cq6Y+6rJGXfIITPnI9uwLHAeBfaeDQ5JtrmNiMUj37FvK65UNhX+3unURrAivca+IIVb131cfEU\/J2TwXiIP1GTcM1jQU1Uv\/NrpDOAp\/AjdWmz3RyTsei40XhKEwl4V9FLUBj0rvRGKfSyBiEmFoJsRn72BtpcPpVd+5HP3eZdXxrhPA0+sAoQqN0+JY0WiaQDQgaBitwaxN6vMwGIGQJAL93IcIvGS\/tOJaxy55dRg6Mmmb4c7kw2Cnu9iQcgwCOZrC8v8yPy6nwFFAYfLUzGoQ++Un3RHdtwc7PG8seIJFy\/8U9Cphceko67k9\/XddRN0wmsqd97zR4aniSn3fbNT1D7Ot2BG6ggnqsgY+ThYxWqylMaCIS0HNLhzWLsmmdjz2jCB3tTqlKEqhfzLi7bvy8+dTqMhuZpNGT4nGwAaFM6BlUz0f+eWDej64sFHFT9svLuaDtVx2VYL28DIzuvrftOYWOayWpG8ASw9gAICHTEiJXyOPzxzBrjlAtGYfOWHOEdn5EPkUgL1DsPB7XcjE+RlyuviIEUX2g6y9Q2oGij7NEzklXE3egwWFHFkY9SliREEWVwaR\/hzcUjT9jjPnMFqaYGUx9QZeBbOweh6y21or3zcp8moxgn\/FOI3TPCqGCBH0AjmFHPU6uCvE0ytrvzWd2p\/MQX3X7MMxc15fMUf1a+awPlRSYHTJYX502cVj0dUoTz7tqRU9POuin\/hL9LfGdTFkCesyNM2KygEyzYIcmcrjDYwRwrgKxvAPYAW4qIHZp0jMOTLTHCIGw4XTP4cB4uDpACqyWSaL2ps2Gv0r5SWlUPyy4h+oC6UuQ76cAxXqC2swd8ZxPL+W4\/hDrCb+EmvNYLWsJVnWTpfCNEFjjiBvDhGe6cL+a51rPTOA\/0of4VtrSEtrc6Rjc+5u5MjtHFxQDCglDcw+ZbA0kS+sOIfjktYYz7q9feQvMk2QmEPQlANEYnXw31inmE2yjstxhXj40LUlfC+u4t\/0AEDlHLa9y0GmfmgLVvrMAbxkUiSuHD7IXgs+s9noKn5QDJFDjSv6lKb4cR3+yM+WFsj4GrVWzotfZrE2rIaoxdXquBtXF0xPico59HbN\/4laKTXdtsSxXJ2Nvh5\/BqeFn4vFX+Razoxrd01+yW9ENqPEjexPvkxkjmrzYlBPNAUr++a8ruwd1m\/kzNN4v1Wl3kNJ48a1CLt6HPcArAd7BiJyT1KUgPtPvlaVDf\/eksuyqMVIxMP947vp4ZzyQfjDNnFe\/fE9Zwxg3034N+FuMcC4MPpBARPUlkJqnVsZDvvn0F93SPxH\/suFDc5SZBxAr\/XHTkTCYbC6lsUzFfhzOO\/mYPUHdqSXcsSZXsoRd7iCBai0a2HpD0LD9aYB7T0fnXdGucmZ2KCcw8m19Sivc1a83iiLwwNhf\/e9zWEeH\/fN4KJygGy0feYY+ZjFfJGZaOgY6WmVMqdhy+E3KAfwiRXilNhBdKcd4p7YP9EV+3UnjjG4EHMoZ8AWbhmHMv5UJlQy8WmZVB3IFfr4xfznn9DNvPaPvkUJP2G36ZdgzwJ\/g4sxJuo8i20Yu48prZoFPJnv8MyvGPn\/DjjWzNTYwBwkFnWam60yoitmtTeh900wKBxBA9nLt6zol0z+M4upYAlLsXkilwo97mQheuwvZOleUZTeFfL0qyyWClmCUgxi8+d2w1VNAIxfpdf7gn70ZwACH6WjIICP3DCGLLgektUQsbtnslpJqj5OUgRgTCwSlccN3GAtxRM7+YBg0asnmL6UrkvIkze2PwcAZhtZCH3yvodapu5KAju2IArv+EUPUJfV6JntBP22rcQBN442qlER8\/v5Ud\/sTADWBlkEOc6NxXFUQJagFGdiM85Ldmm74qJ220NjL6192uzX7oAOB3XmQ5012v1abU1Lvz3hJsC1vSGoarzZLx89cduYAZPe+dUv3j\/6sKcVeE+hIeIx7G83jRh1y5jb7rjrXk4Y3c8jwnDixRkF+\/0Afs8H2+nq\/4eGvsV\/HzxlddZ\/+k79P2\/7vzP\/xeSZ9fVYovalRYd3D+8N9qgT8ciG+Q0dqvnPCyMAANro1qz5gKum7gsAAJwBgCYY18xlwZ+xKSr\/DO3PNDKYutul4mBOKt81JVFaRSkBv25X1OyYHidg0g9tXCCuHuwF+IpxefLLaP+GxohY+sg9UM+QBnkb6f41aB8eNpelmwHbBO5yWzZGYHdpr1LTxhNI52Ed6GheNM9I\/+Vnz\/3JzsBVw+baU4NUYrYW\/AuMmeNT3OaU7Ah+xnN7184zUK8SSyFc1NrbnssIMpC9O4N4d1Sg\/R9ZI8M\/0rEXMphaKPZAltDtJJL\/hsRXLcCTnoL0Faf+6tWek0RSL83etNHEVD74Zf4M2v92jYxNGdH3WgFiieQ151xjwfwGZ9BkKR4BtLQ7Lr2W1SWRnBz7\/XWVFHg5c0TLLcBPMNEifgq7F06SvooHmREQ5uG5Ap6N7jgU+3dT71PTv5zohIybpvZcGQdJr8Xu7Nkw6RvBIB0CxLjXL8O0CUadcShX9yt1cPCer2qQSUHIgMZuHgfTSQBsLqMU0\/4ZMffzCGtneO5mZdJJREoBtJaqASUmnQ7YkvAoP5Q2RBjqCbvxpbVQioyALVTiCemr8T3JvOgsXyFXqa0F0XXZR5RUHaHdp0jelW1jAa9Ozy\/ZNim+h2AymNqLt8ZnDUyCRrPT\/SzyGm43jChujS9ZoraStlRy3qUdmjrnyloBex1txuxvl5JtxhD8ZGoh69nwo6wwpqfbvGNzDmju7OYZPiW+F7LlcYb1Wz2B09z3KuFETRYE9vkB2f86HloY8cYjEFoOIMzUHWXQRpeKQ7EkNU0Kf48FCN+bKAmEl3Bu7F5xgsb0LNVTLfbNd8RBjqlFQJPaEsFJOBCalSbFceSnZNc7op79qFO3NEKOcYcAUf1xSj1pY+fS13YkW0iekOUlZAVGs3dgzuVRjQBYzn4Z6PeHk1XAZgtDzD7csT9ADRWDF+fZ6LmeRH8BqddhmXpc2EQvn3qxO3BZbz3b9pQkeRnVAiXAku5\/AnnVN9AktTcGDqJw7Z4tRGhfX6RB\/wSpfVj9HudGchGdLPbfuGwNnh3EYDLwXL9o8txH+DPOM3400wyakzeGTtqYKzbEhxhLeK\/JavgQ0INjkAc7gQmaxCvALfcdiTuLMyVqawgWwQvgFAdoVBegq0OZ2zMYdtnerGh5+OAeKa93VC78WWlnaDhAajgVRBEqC0RHsTZ1Z0FCYNXjDgy9nZFMaQMxY19VDMEko\/b1LiZU4LthD\/s8IdLgJezxOq5+z3QjLjNXbLFfZdAavCSICyYDV\/pFk+dE+DN+584Spxk3Jz8QOnne9tileJtg69BaU75R0tRSkyM4j2IDNpAvsF3WLTEX+pF\/t21xcIqXujs6HvcpDiLTxhAKwpS1uIKqUGAN\/gGbRetwFoU3kHqfwUC2XRyELkgWJcZ2+ht9zoxoBD0\/jPjRMHRkGFIjxk\/sWMejZbCL73kQfW02DuHgB8wz2421zukjcY+IqipMRA0Qn7XFQlozoG99dNersUTwmRLBDo0GBOhNQKBv5mB9yQmIuVJKdMEh7rJToz2vJ\/OBuP2zhgBC\/QgcxcedwLBrdl7\/bUbBWhLIQsF2TPgpp5VhMZGxbPWddhmJDczSki3f1Kaxbuuz63bTHtlkAGIoYRY8wv5wNJwPd8KzMO1M0thtfZEv97Ue71le7Nv8XMQ0\/WgVPaNvjIiP4\/uMoBIzaVaaqbLmDF+9dBKfoA3RrqPdQ3vk\/BvnPz3\/83mE9xHvO95m3gHeUfolhhf5+4V8fl9TCv1zF9+5ONH0tGmgmYeeRH906adLey8pU75N2ZSyP+W\/5gvNt5vbm4dbGHKB8bnL717+5vLJlp5WkpJkjjK5aZ+l\/dd6sfVua1cbFIuzhljXsy6kf5z+Q4YeuxU7fe3Fa+9f+\/bajmvSjNUZ6zLnXt95XZrZ1Qk4X9040Xm181FXzs2Km\/umH+k633Wr60VXrBvtFvN0vNm3nncP9dB7CtVV6lnqper3Zq6ZuX7mnpn\/9Jztaet51nOER3qZaTee5lXn9Wbvq73jvau9gt6zfZneZd5TvDf1bfSJ+y703WZ6hZk+pT6TfRb6rPD5kPkuc4q5wZQxW\/rD6wvXb+9P9o8MMPP1vm8PvD7YXCj2m+S3yG\/n4N6gSmTaLk2W5muBLtZV2qY7fdfQ+GXZJsfITIWZM9BK5fFyrzzL5li51dtG29mrhU15nFVpPNFeXRKwfegK1ZdD\/pPUeu3mu8Mi9cqRjqZNc2y0YMsvo7LRS6N3RttHY6foS0JtnNauDWmzQypCZoQsDYmeev5UJq+j40NkkHKICWKDdEMGIfsgxyHTkBuQR5DPIb\/o\/tW7QNdDQ6Dx0EwoCcqHKqEGaBO0H7oXehI6C70NfUb\/ChxqDj0e+iZMFPY03CMcFS4Krwz\/MaIwEhaJjKRG8iPlkdrI2siOyLNRgVFxUagoUZQ6yhrVFbUrajrqetT9qFdR30Y7RPtFx0UjoxnRkmh9dFP0nuij0TPRr6J\/jv5\/u48JjomLwcWIYkpjzDEHY27FfBnzt801NipWHdseezf2Zez3sX\/YneLWxW2Oi45LiyPGieJK47bG3Yr3iNfG34j\/y4lLmEpckRiXKEu0wvAwOexUkl8SNomT1Jt0POnXpNzkxuRHKYiUnBQ7HAFnwAvgVfD98HvwX30rU71Tt6TGp2alUlOFqcWpVam21K2pe1NPpl5MXUp9mvqn3wOxBQFHlNd8Iwik3SMOaAP2QDCQYywzTjK+Znxv+9fbL95z554n93QZNPBuvbfStP+xa\/eh980wH73v0f3i5GxL+wNf5bSxzg0\/vfiffV5wM9Ia6Y2MR\/QRRj00QrN0kW7TO\/SJre3mT9WH2O+x\/z09nKoIT24fb390pryIsm32ju6\/z+bF1\/Q8ffbDs789eCGvL0MXRgMXCmACJ4BAGAAKVm2QL98Wqh+RurLTDidlxMLnw9uKhSEDKbA\/chwCEsGD2tfZY7+Jf3GeBvnskAY32rVftTZk3GGQgvE5N2Ksn9oK2yDLQiNVX2vcSfAY\/YQk2GaOF8oCi1GUOFl60UAHZrXShmmp+ks5wTNn\/xZ67DRzfBQ1q\/eupiP0m3oXJ6GvbAKP5vqfUoBhNIOsJiUqNITwco6G6fjo+\/4FEgEKMcT9xyB6i2yAoXBdYsCM\/tRqKVgg16EhgwHZq4a+\/iLD4HpdUF5SXt0YKtT6rSc3qoGKR9IJnluVJxsA\/0xLenUxjJZhdonl0M1jmOzg+6qg0MLuK6QpW9RSW232BMrgo4f0ODVgmpYC9cLJpp+3eAtsKLcPwmAfLu2cD37t3s2bd66cx+e+rD9G9K2dz4lET0o4a+mtmU7i\/dKdcY6Jp3MkXAk5HE5PvJ7UON8d9RZc4nKLxY+aOV+ToLgadTyqiVluL8hGJJ0zrsJsVYcxhwCLO28LtSju0upJNti9l1vi14TSjFmO7C85wUIUT2eXRDopvVkQhViBTesKsYBtO8n1ELja0K3FwjvCCaE6zOqa8lMDa3fOgnYvXEAlzMkdunwoS5s74zCBQGOT7vu9U46WdtuimpoiY4kjOcls5ovG2Bi4YsWhCdD\/l54\/MrqoDK6OF4DNNh4mD4KLZ4Rm1kwfqhpdN4kb0ym2Q7VUd4VVRQJhP+U+WaEHoCt7mYA4vDXb8kl2TfepwBw6vZxeK82BOBTl9OWAw9CT+vzytTJTnogWXLYA8Wa4PQ\/5RLPbwouqTXe50u6eRrM8qY0OhAGR+VIroC6dh3mgY91JGIVEyCwpnfV4cmo426JtHfRIpDK9x1RkcY\/T97vevZnylphnjBJfU13OA4cIDqvvd8njUN\/psyY0qBWu628\/ZEGrLqk6DRJd5moTA1gPGsIyjxxmN8R8rwrleaWfPhr6Qfh+TQXTHQ0XKcBG4m6eWm+WwJ35Z7xzfJ\/9Arv+vYu+hUJNL2sCPdMfGU0ra0Xg2bfPpdQPHU5wY34G5mY2Wv2bfv0ZRP9gnKbxyn5qVku77Eb\/aW7mwV5PZAK2jPJ\/ABYSdHEUdVZkz5wa7x6\/vm71X\/18F8hJQyJl\/qO0d9s1baq6gGqYl1u5WFCkcWeVc2g4hCp\/MLTkaOxRfaSG5GiPdaeUhycvYgo6LaF6g6jMwN8P8czmQyD2WM09yprAk+dJy8DNVbN5d3y9ijmGGI4tKtQiiPNlydaDGoRp66iW\/WlAqG14Y5wdm1SJpkpL8lL8XL5NJwfc6aZHw5Cn6dyhzF4gIH4xV2X+INRbaSlpkJ\/05evNLRbLV9oPCMiPKYnqWHsWupxsOr1FMbB3FRjljwBrn75npf0\/XABNgsdQwOzBygcfL2+BkbESPC9R9Rk89eJRbMsIj8I4dBLaKcCgBMMkdNYmx7VKsmGEMY5eV9PmVZzhbhjdyw24Xg5jhB2zlVbE3EmzY96i78b8ix6IqaQzYk6iZfVPnEoLtlobDm8GI3isFK8\/GNTEDtM9k9FXyIfwWDSlnzSZyD0SUt0xDnSncNbjH4mItyS5Vjk4tGFWCEkXLdNxH4om4Ua3mygXoMtGRnlXA2QSlAEX8ECGN+6ayugg\/cdS+QAGWd7vWkv7x\/cGr+Vx2G4t1Fqc9xWNWCjlQDgyxnq2e6+r9E8\/xq1OBUyB4ve18RBFH01Mbp\/Qdl+OPv79+x0qCP5ImLiw7TxVy3gm1bSlCoOpi+Jfv+nldXPcb6evOjIxAD9LDKC3Lj4LmReSwNkUVy3oRojrAMAbERBwlwIyaSI5s368tA6hVaWgyW5T65FFhmwUHyXEAYPXBKMTKBFNOgUf+u9hAIHP8eBN+KIG5HKFubK+V7Gne7E6vF8nqQ6kVx2qeoK92kRKLKm+eCb53oXWGEyekkRZPBoJGQ\/gkpjIIUWXDQaqUomLTJOZ1TFJ83LDIqgfdHOVl6O+KsLAgSCjBnS8gXifIxADLvM2LqOK84HX1gg1MXBYyLjFk2p3yn2auHhnUirn1AB\/c5eOLhCORtIWnU1iZ1DOd3gMrL6+t3\/HBgmEZBWoNzUl+Nbe3DCK\/AlV4SIvxtIDEVquxQRVQ8UjV5RiNTPqdTXiXYpFkYjVVPcq5xJVR\/TmQZSiWU5gOCWmHYPCSvBirxDMgXzwghcNt34D5VBxBNHlWvnWoJVKeeuIAX12jc5UB\/7NR0q1t22J8Xk4BVapkgA40AU1g8HfOsyeWvvnicI8qBsM0xcLNhiCTFlTqF9VRMTnvesM+gMu2q6j8b9NeOkePQLFg3twzUpRPpcmWIZiT4UfVSG\/CgJwG+SwYKJnrioer5h0NTNqsNNGeGHbvZg8tfONDauAbq0AqJ1k2h3zMp1Wv9GppeDjehv2LYMxUJ1rXMqJUsbQXNyPCjDUH+8OFmAm3gvlx+qlOTvBJspBJOj7S48Dh8CkQWSSeqpkzgLzlekrUN6MYFsfidZcKsRcNUnoyh03I0TD7wkV8ai0nWu2vL7k26++PgKEa7wRDAV6foeF0YNIig8cvdPgpBJ6O9wlAEl0amy4F+6sPQ1MJ5keismmYzH\/pFUxf6G5Mc\/R92PupLNalPgphr6Z9xgD\/fLXDerRmZtf7IROsH19zY7ZThZaAdccY6zop2pMXQqh2p\/HMAEAU371ApOvBuI5AIIQfpVwO346Wn4rI0mljEyAZTqd1kyo1fTph0z5JGC7Ar5BdmotQDiodfOlB4cx7a1JAl3\/2kAav9ekwgXNhcLCzfFcEThFuAQb07tnL39MTGkKK\/TElGI4WGvS2AbB4TwwaPpifFQaz0PPF8t0axIozFHxrPvtdwhwzDr60oQaIKWocL\/r2bbl1aw6f9G6ccCI1xWJ5799GagTn8E+qbeE50HfxMKt+nDpMOpkWBOz1RhOVzMr1GjzrdOIUEKLHQmOssG8PLTSnhnzKhYczkLZw\/hdxQpuQdMiRVgA\/lh3Ck5BLdS9plc+\/\/YpMvGzFivW\/dIFfdPBgYgeK\/\/my06friAAje8Can7a4r\/bt6JQeZiAqnBVyQuDsH\/wQ87siuIZkoQmiu72fOFrrgBt4jNYxzXxnnDQxzAHQxOcfPg1a6LxGmCSkupQhFJnPMz10Hg+jGwUzxyJoBv+YtH2YeljdIuQa59NrJguwigc3Wsb3GxBwdLRhsPZMB\/ecWlN5PNG05d6W9VEMa9rmF3dT0OaLqyYTT5ptKw2oqR+3ggJNtqgZV3xsOAd3Kh60GI2THECOK68KKGys90dYlgCwbBOJ6BONoZjmONvuApFnVxFcaoFq5Sn0Rsu4CgngYnvtbHAL18RnzCQeFKwyIAubhcsjpXLyZPXV15xzZTmboZ8IpQ81LkS5B6FE0WfY+W4BThRNiKksmUQcGohXoqXLVnndA6ggt1id7jTktK9XTrhw0R2su9H2a5inO5ISSkU+zjsETogUbWFaXBkE+4Gy0fqjwIT8TpZMmosjamuN687coFdjx1ALf+7Hfr449UOsLQuI8hXajjzVXCidBvkTlYTeFAj5h3wFVrZ6J3uNX2gkgNjFAXdxgvt+whu9n1xDnu4rirSS3po3mWI146nqRPbHq6IdI3WnFbXsvA+GJRD5YhSaYDsZSIKKKUnuSDKJhrYCiaVCx+GhODkiwibV\/o9berkvNvY9PWYH9HPYm6hu2I+o5Nj2um+XzfrM\/p5zId0qN7m1GiwdnLNh\/1OHhpvcQDMyPb+AUiMsThbXkhY+Aaet2jl+7BJxSwmTOlwXHdbebnQixGvme\/V8dLD8A9S5JhQDa94Qps\/YTMRovDwdx5MELLBPzWQkJAUQVM43wr77sHCMGrLJMzV6ssHSnKy6teqFErcjGkUHX31dNWyX1VW2iIS7FbPQOma3DXvdsJs2qyIlhJAISZ0zEmjgdvt+AKNy9PM+S1pngAXrrrC49k\/IG1tR6i99HD8wzbkKNGgb+NzlZWtszAaV+X9z1Sl5RmvP5Bykk0PluH5N1t4GEF+WVLdIBhNmDYxYXhRtRH8VV8xh14R0BAW6Is14nbcSgv1FEftdqHx8B7n6lNVuA9qYcjX5txCP94EE33Kb6BAgh4uUPVIQMBKnAUhDHRPbQsEABTDhHczoe9FCh1e2XZvldcmWgUy4eKKRo0GNlgt+L1bLVWsVcQr2ljCCioCHbmpAVafyUJnPO4ykvlXnk2G39Hk17Jhr8GfF8jsnYTeG+2cDFUybMKLGzvmFrYEkpxnz9DECnGOjK33hHIT+fU9BhIDRq5nwUERqPA1VXL9YZT6fELssFrTvmfm2FsSQiSmTRvXMYIQyx5uBg4kwEE5IAD29wGs0WAsrm+ZovLqmy5PfeSrTtGCmAj40LwdekTsZizBAR8eDULuadzlEPq+pLibt5hPn6YHI0YdC62IjlIlZhQKbFw1N1389Y3BMe003YLlMhGJdU6w64kytBkon2+oHNwutStGm4FAvcu5hX7QagYEYfzqxsTiCTGzTWvN9PfpD1QKHGCmxs04xLA0SkvBoEjyxo+6ONn67kEItQGVD58aqVZLCW6VGLrnZYkWRKPbZ+IFL8U\/AwUVQogCRytDlQRnA4DPY0p3aAkIePvAO7hmCuUKERHyJTQCB7wUxMyACCN2HNm0FhNmwEVgz0uoJdi+iKZ1BNTDu7nLLpYVPJHP5Bi9s5J2HcQEwiWzLovslEi91lUVY6dzRUiU1GD5nRL0aKJHffJlpZ6ddaDcpTAlzE\/7a42E0+pNzY6HM1vguwv+QXqZshp77oZIbUyus49O+URBOS83ElL8XpeghYrOhQI86\/8SDU6kYru8PsFQS6443e6dQyHD0Fp3\/f2DlSJkqEAo6dyDidqwp2R9z\/YVVnG3V9cSUpYIsIP3usKFJx2PMCKLmr4k4DK6hKyW+6dk\/vDoa1WshQbH2He1geMNs6mN46wwvWKlF7YekmtRPYpnc86yijMSJsG+tRBkO9n05Zi36YcwUraFovY9igsPG1we\/3knodmnwfDRfb5nCIPnE62e9zDQz1ukwGH4f\/aqCyVDqBwLJtrdSyoWPpSRjrP3siN0S35A+ZTCA\/RetzuuXU6cQlBm7iPTeuH9IR\/ts9cb4JJDTMPxeogurQ0HixoOw5BTYYqf2jYr1ahstVyyg3tPdV7JbX7hZpW0zNafo64C20Wwc+j\/WWQ8dx\/kdnF\/S1DOwkjpXn7mUk7ueMSwPJ3\/NCIMfATg32VaD8xNvmPQ494cnd5HSeP7BjlnsHF15y+dYGrT98oXCIEqvZtCK3h0YI6T4olYs0Iaa8fZ9LYdsypSwWb8UM\/OVTBXVUWsoY6gcDmRFn9NWq1O8LkSYUSUWkSolXUztwm88l6ihTb2Lr7unZkoNJFd7\/4INvUnpvmrFj4jbKl7GSIrtUil+l2y5W7lvC34fz8pv2ntJypC1AWjhrZgAfcNhN1iMxTBq57aB9zqi5ZAYK3xF8pC7\/Oj8jVfsLLOaDFvw0T9UfsO7aFqFPiibOjo7OXjSV8aBhEYF5oBHRQ+fKJovNao2MXTfPOIZ0GJP46aIDEoHAT6iGiWncNX2YGbEsLoz65bXAPuqOH+RXIifYKZKQLDAceElnTkGlHJSsmMHrs90czWk4RyOFOUIid81DC7G9w8Ewm1p+EQXPMLWZl7sp9g5S9mZ25ZSX\/fUVQmSvhrBKAYTbXB8kUEl8Ydh2LF2a0rrlUJiQZ6LMArYMlVp2MMgzNB93N8OG3DCVchDFXlg0ptKXI155cFswy23CTNOmWo6rFuwbvl91oEws2SDcczl+WslpJn3a2uvv6GVm+LukqEg0TuzbGt0qLug2n6qwnVBTOImJEZtl8URfr0QjOuIEhMZAyBB87wNU4yToT6pElB++tHe6lpAZmLTmEl2MsoxxCEOWDvrDtsKILJ7e2otJc4kSrrlco1prlivazbgfka5cHIHkw+VZAKtOnSnorGoPt3bAV04+sGPGv28igEzZHjtUIRF9GO2Kb6lu7tNIE3q3qxUOfxORy7pr\/oPJ9ba948+pGDTGyqHZsowkUtfROcpRa5ZqjkZLBcuIrNliYJLochG7lzd8\/Fw+Dy6fXWwzD6TRm0D+b+arh5FkqhOrtyg6ZXu5iWqVgPYqm0WbmwKjlLyfg2tOaWeXozBV+EvPPu\/jiERVfS27mwhoRPPo\/m04W4SR8rbYrSGuegRbepcB\/0bR+fjd\/EN\/H6c3+UXhpMl0BQTBfB18ncfu1S4N2u9j5gP7sjgypHY\/RFDdPwKa2VvI5hQUbp\/p5pm4qpUR9t2yA8C0XHuNHQsmNuoYUxr9JPYh6i8+urnAoOHn2y5uBWJw+t8d9zBl8lZgsxBCFV6vmyFrfy89hvXfYRApV+45QRREGBUNutFkqthOas1Iaq2XVfTkTfUt21xR0nLfJNy2txCfb6wDWLCJC6dKO4zaAiBlEJvrYUSMc3e7\/0zBg0XAt0GWGN6jVLsxsNdbCy2kUT5YRIsb\/yUMRe5Z9sULywpAN6dlsypxGJvkq+dAgjqetBsheTTtaIxnbYK1zUnaj8\/IT80t5Vfqzr2tl4wyqkP7XAZLh42oCyKYoAkTnp7RvrgWx67K41hFt7dO\/AJt0lMeVmNxsLkpsX2hq7Jyi2mOSF5a0G6ylVLRr13oDTuUdsVRgZORi3GqpHak9+p5uj1OBxq9nYLeUj1qJNcbm+O3OHp7Li\/WApL1zFxqRJgpOSZZCA+vvjnS\/R1+rRC1ssI\/lcSdXQwlLwxxZ6wc8Yy25RB07IM\/IXAnuZr66uQSQP+qJrY49tgwJX5cWpoVKRKUSFbcYGrqdw75ySctxq5DOPYpurB7AihaaYMJHMbOfrzWqwFlCI8SX4Q4YmVmfqpjFWZ5zSAP2uDnXthSncZgVPdzK3\/14mMEOlttANRWECHL9WG\/wu9k2xRLm6QRekoLncl\/P9iT1Rii0MgNToYMf003jMUzQ1Zoy+GvM6HYy5nOa1oAKDYmQqoXAWClbi8x3anPC7+fgou6ZyvO53oATDklXbxoC\/uCOJ4VnhuA2cFWVt64yPcfpMB8M46Dyl76p4V68OwBjmtsnlwodZJig71qt3nVE2ZYphIzg761ZJwQjOquRnt5Yb4RA0IWeHzPmPrUajgsmy1wIopBA1Qhk\/eezx+PpBHfNpVrhGQzTLzO6HwP5P7sBZ3knwu4XUftut6Zj8MWj1g40un7HKy4gpC2o6c+lv0yVMiPZwJjgOoqHrvwNHfFy86XFb7IfPQ0BhlKraC6WPx5QGG8c7bugAKuBtZe3gYYOPpkMVieoBgwXH9DpcJwp6lJumHupW0COcuMe8ShHABbHpXWk39MnTB73xgpbMDL+bQ6uLTOf1+DHQfusJjeqsjVCz7CtIcKPDiA0KPzROKvDAUEUDPFqQIMjNdq\/GjSRPYNAQBLPddFyXM4cBwQfEhJGJTTup8hy65uc\/vWG0qAtMDR3nnTq0iB2bLYYC5S9\/uG\/P6J7gR1gKngFrXpkfHjz5DO2DrAxirdkUMMWKyLCZ1x5fj9WIxLCmgc3706llqmttGH86wVCyY8K0xXehDAr6uur+ARlQ1dFwddNmwU6wZjyWqaR3tXVd8ZITp8AkuojewrglrItbZBgifPiEd5RmqdllgdQwmbioxGfIR65vc7WyryztuJBefvMtoRGdFKbDxypEWK9097OWCtzv3GbLKALtald29FDdTk1MC5+x4kuNimoyrWLCPXBzCzfhVmOQ3YKoR6G9H4Jxr\/6gxdNx0Ur\/biehOTHv0Pdi\/kNn1k9x6iK43LLm71udPLS8xbMOZnRXaz+SFAuWIcUeKc1pEmEZoKxbCwahCJYo7VxqY6CDFvfbyvlpl8JSPbSUnuW1lSFSx+zxAgT8fToPbjeXHTWj10Oj09q8tt0GUiZNjfp7iAbpshcHk\/vbpsVKv8XZndmrWLzGj9HYnsuuY97M5aCZHZnsGy+5oOPi9Geup822i3RWqV0XZ3dmtzlEmoMNZaYgo63qVLC+T\/iKXK5qcaqXMRoZc7zBkh8mGlAEEoi2PLtkn0Lknkdw5WOd5LMDhN06Ob\/Oj6a2GHRYa4LfuhyvxVQIM9o2HsE5mnj6Qmtkkh19CmN1mxO7kFrdcPuvUAWLiUcn401y+Y+u+iOVVuPQdC2jJXM6XcJJip6H+Z27NriSBumUmVzUAVuia0f\/adywqSFbc57x\/6TL2TVSBgXT8nzHpNWaaOOITiFRYk5\/7qynSO9JZWwKUJ49KdB8Fs6T3TbxB\/XVVpbQ2E7CMdwMVY5WJ9ctELPtEnAKCeVuylKFnXaRaTln2FPZa15m+QOoUrjXQyRq+qh+t+JgR8nJawm0mj2eUHhOzaD1\/BcqEeqGkjJ+J3WwoeXfMBnqTdlVmGIgaFk19pFCocuQLQa4mGyTPNnYnPsxbHu\/WJz4vZos5NlnvANGhJWgQsdSqUkZLZX2ja1g5FDvehu28tSRQvR5ztbkmXzIxSYauU0TOxB7kQdmumchksjaOC6SnCnM503Ks94RzXbep+UaGvJY1OMrEyCZrTxhbCKs51lfH0RauNOEy+olw9MfxgYh5jYVE+T9Qo8U4zeEHwjlyTaT0eYCIT3Di2NtbO83H8JN4sn1HotIBqSAUAqjB9ImHH3gxh8M2W1BCk0G3X8cQxybDrgDPnYSnLqXFrLCGRQosaPF3l+lYyS\/H1joPblzn8pY7QlRNGV1OgxnL3FrNPUQ9VEAGaCfLnUR9lEAJKB3ppvk8vc5E4wN\/cKNVjOBsd4+JX8kMxfoQKc+UsPdOId3bFmG3RqK4uzb7t+2Xrygkcs0Ttc2W1\/kGO5B1diezPL6PZvOkYYiKxY7McJR2iYDnZ8kaRQPRVls7WijoVFX54V8FIPKbpEKebBAP1xWW9lYTvOOCfoUbg2QZPx4HkmS9Fpa3idb9vnO2nGMf6BhRm1UccMmyjk2r3PBuLeUnRwBFxnjIAnBl4goZxyfXdxLdIp2Q+s5R4RyLnBc1rY\/6rFiyhCM6Q5X4R6DHhB9IwnjEoOIYhESrFlVMoo1DeC3O6DEkFknGdqILDG47GmXPzxPiz2GST7\/JSeblsck0x2ncc9H9xX3wxC5LJcUTXU+is6\/G0aBLTBQgPmXy5rV+vWQWocy0Bj7kDdfD8bEeO\/ShyIR87iUgA4OsahYjAv63T6nZG1jk2AwYdRiAsyo63xJWqdQYY5gh4fgNhTEVAfb19QxOdAGZpyow9ye6EWfbOeAbIV5cNf\/fVqZQ0uvv\/qv\/5sv4qEiepohuOJzcCHqHjVdD+qyeTxpMPQ\/tOo3a8\/XnY23Q+vaEYXPVQJc4tWYUmTQfqkB7\/4TbaiEsS\/KfKLOaTYbnrGQLPJkh2B1aGQX2DSgXt1r4SmM1kx3pLBIoEnwp70wsvZaZXl57Q5o\/oL531Jg5aji9JSUHk04lmfVh8rgz7TmEB6GF1sYAblhYMc8T0vqIafGgyeeNbT+A9Ig938VyVB+sejw3vWPcNB\/OZxw3LM+EPDnXPCn7J\/dUdXLUqpQItDxmxt431afzM43tq0o5L\/M4S1RtFh7o3j3JLRIpAYWvsWEkOIZ0Fl1t88QJUYMZnHtMosxvmDeESCgEgYTgSpfV\/Hy5FZqYzHLVdPOz+bke2uuinRj5\/bIY7gVPgFyHQZeVPJBAOV7DqOnLGOnrd8OaQ16Ok1mO28+z1M5muaYcE0e7VN6Uu1y3enm77p77Xb1R1KUdcFfel\/jWoPe4ZH1yM31RDKiT\/K475+lESdOFLxYi0wxEGMUTBdBhwwSaZkvnEUrcqOqLkSbSP1KyopYVasANzBtdJsz8H1G5xaa7RNOH6VWMyAOT9SE0VDw+R6Wg+CtVvSsGEZDBvWEE4yBLf5SCjCapYxl6XieIHKds0nfWuPTP+0NwusFrSLsjXumHNZC7YMjSXEyAhCEMUKYoHm2w6Ff+XaCqAD0iuc+bx54BKmYDxDIE\/mp1r0OwhpjDcb+03D3c+CBMKG0fo1p\/WOPbMEXq6TbE5rxQsFisQhfFsG4+KwTHW2LWoqu0Fas9kgplZjef0zV4RI6aji0QBXZvB7Inb2Qdsp+plGC18zR5tkFLLczy+P1JhKMvNdt9I\/7FROzDHIn1qZhmA71pRrrWNEk4yghtSa1zefLWyZArlq6JFvK2z0u0WDZswNJVnQbzKlGy8LXPXTUkUE328ZcvwgITREwr+E9FTObu3IiftVFtcAKjRT0cU3Jxe6Umbt4SQzRHJMaHJzeOzh8PEdEC5nwpta6JTP+cLhQ5A0HnhCo3HD1Wl4sMafp5U+Orr3WzBOBXoi8yEo5ctDFT59tHAJQrAyvv4+4eLs3Q4rp7k5f7vFGZk1GPnROSojNFJ1R1vquT9NJV5jGExCSQh188vxZTW\/7lzCh8Hn+IHHLdTKpMMk304WdWKjx3vxXRXIhVMCs583aNE6zLJJ2keD0eTo3Pt5svp128XQo2CFpKZ3ZuzSfwqD8lUtttg3mfeUz+esTA5pF2I+uBo+ETOtR\/vpYGvOXS+urmihMcy\/8JjS+9\/wYWouK1\/srXu\/4MTGY8Pnb7azl3wYWkpG5Shskr7Y5riZxpxVqUONqwNGFcp3XpdUI4VTEIhOw8+o73JtWZyQ6QDE6cLznSErQEdNaWtwGS\/DIVZ+QJNPbQMO+g4wgzl8cnCEMwTK9atOtAaSNwX7h8XFz2K6TqlujqXc9eDxqMyRLhpTpFBiS4c+ORmuZCDl+R\/ZAr94gZ4+QJOWOyuxpTJAex3b+4qoBZJimcGvf1ClveA9obdj1aJeNabpuTpbU5mEkn90QGG5iUiTNDi0bZmez\/vEGduuVxlZZYSrMsmttzbxecfo4KdPWCshV\/es9QaTblweqhKs2dqaDUBH\/viKYxh5NuXn6zh\/sLVP\/cfd1+wzogGmsSA2evyyScs95yCzJiM5hxKDnd51701C\/i9mv440LVlxZnRUKHIho4RAIVy5YGgiIvcyv+f9L0z5R3mB9JBALIU\/moFwRuP8NDIlzFbglD57iodqhOgmxZbgg4nFW9\/58yFF1kBEFIbbmqyEoujo0nFRsjAR+8Im+MHf9cLhJkaeHcclFYL1tMO+RQ+Eh9p8+ergCFAXeedg\/CaNv7ruMWDdoe0qCZ\/EhBGEGIYKwXyefls2sPFep\/nMnKhlmo78+RY5EaItFuKzgjXNCJw\/GEURgwlB16cTZJ2H7Kdl\/41LFgwQk6avnePI68wXplFMLtotBy+8SWOE1CijBHFs7QsllQLW9Aiv2Gp4ZeoVsqLKXVmq51pC33OKZBb9kOfaoX0vOOAXL9JS34bE897iaAmMUmfZ95fFWhSapat8a0pbERBllLJlRJFQas72BJMWzmmUNj5V7uByCgQeqt7Zed1X1+Z5I9aDrHyLJmGhIww1Us1iCZyxhzC1f81i06jzjmgUrLflM4wGR1bPhMKbdj8eEmLFiLS3MhQ9dLjycjSnjPlW42sly2Zxo1KG+0X7K35voJu227lNWxyoN1Ws+mPWDGWUypcHuUrIfNkSXQYhfuWeaBPMfjDRaUtDxfjtF7pRn1cIaEhVF+oaZ5WEUoA5nxrFccNYT2C6Flo0X50XLfTMYOmd0e22N2brGeaj\/Bvi7bGmbFAZM\/YQUbzBnVAdYjVySzx+J0P9iOeClGF9ZcQS+Qu+SCBXO3E7syufwtv2GskfIXmgWxaKTsELSdCQSvTFuapfDlaCQuVhahFHnYOq0A9cFS34c6l1tVNj0VpnTY4ryPhIYhWz7UAEqVH1HefkWwL74RNJ12+RLbf97pjjFY1Ttzvj+1Wi0J\/hFHXzzVtNrzenZ7Pcuzt\/+VjCOWlytAz\/U8PfEimCHt+LfHJIT3a+rWKHe4A9qNRYq4iksANadAEFtZgwifds4Gcw3nCumhUlWi6YhvW7\/wwKdHe+eaNpcBGc9yL+y28BGi2Lz6ryJ6DBSNdvOdq8ToHFmSWAeN1mrd3YW7ZASohgfnkZocVWZiO+sknjuQm\/qUIA8ty\/m6GTDkvE2TgubKaygIcut+zTRHkeIFBqtiOZ8wxvwhU1pljjhiCdgUL9ZX6IR6KEsriFt+0UmvV4FmwWqt2tF5vjUviFDHUQ6dBV25Bs+GWw8oQXFjVJ4QZTLU3K7RNtjY2sgCiGX1oNL33qC0IUaXER6e7QM2x5yttsLdQ8uOppL\/qGYxFMztZ1mFSuxF6uOVwQooXEMx03Vk4WeYQeH9mHFDkOcamL+u12yrhF6u7AaTJwMld2LHOslec5QJuNHl8HF6majGEF0zn3RVsIkkoMStK2+RX0WzU5qXoVW4aTatzMmud175zs5NgQ9m6cSyLEchCA\/OjGuwNOhPFytACMirBWHh7UC9MhteUoyZPpp6\/hwgu0oIlRVML\/erWWS8Cb8nLvqLCKUBlPFOxxmIcauhMzifSxEUUx5AqsfDJWXs7AROGSYVGKR0VB9JMMGh0PmGcXqFh9EwAXRNDjITmJZ12ZYSZSibyK1JDGqXbLGiWyAwbuPFI9Eq80ALprhqGVa2iLythPO8XtUSkwRmFfEnR4inlPeliMkQ\/vCJ0K1\/4lxhU2Wx9IDCSSu3hC7ZlVlxm8cZCJ5NDRZhI1aaqdWM83ql3YnZmqhahFSXFCTpIzHTqs0iihwYcF2LdP2Qn2ekZJtWKObHXKIyMLC+zJmDYxulMsAVROasDlhl3WbeHqEUfqqoUzZrm5YBO96LPc66h3nf6Mq6fXkbDvUmE7K06SOpDgF4gWVsBK6Xb+sGzIHaXxW1asWi1dv7FepPG2P9m0QDP\/3vycaXrO2vrqqUC9mh15ErgLq9CbVUGYvOPYesbPck24fWnvOpEPdci4nJL6rRtnQWM9fbCYei0QyTC\/YLq3rYZK\/U19wV4S54pXqtq\/NT8s7dbsOj7Ul5N\/unb3xumIeP5rFKoVAGiszMHmJ4qr0C3xk52rF0y1XHkMMuyANpsCh77845+ofDunevTYYWYx9sZZwzlWDdKjMNf7tc4QKs+HDftk21u6tatY0bIxdjSjW+rsiUGhrW3MoQI0w0S70dG5GzLBAi4X6K6284LCzN2Z5d4KQp0rrSKVePQIlVa0R5MqGEYz2MhoBgiECNW08zO0CbU8K7U9O\/SSMfEdAaQuUQNyymFS6K2YwLNdo890W0G8JfaTCL7wl6RsDj+fv7Lww2dra9i0i9UGfNbW\/oIK6jbu2h32s2+lHmVRUnaCj6neaqo7RXXWEnKqb5FP9IvtTUA4uxUHHMzKipRIAGcgHBjUqBt5pHDogJISpPQTGOkHr1gcQIJ4IoAn0yQQZva9oGPy957nAdpR3yM+Lgg7KrXbiEDFdgfDyugqAgXzu2SOY\/1uogsn5tRf9QS9HSsODKOo0FeOxk+dLaxkP9xb0+zXPcdOJzu8mvS+6oX2vLp546UYZHUGvWcwF\/+pz+hN1bm9KF55qLYpqvkKrxGZdJlPe\/ffnzZvre7tBjZF1d5tyuc5XbOeeP6YZ2COK4Uy2v8sOpk4+85esKP\/5V+Pm+MmRRGWDQAya1LGty7JIMU7mXU3g+MEQw8zkj3h16OfH3oJ9IerWV9q\/uSNHPnqkx2iiSMJqpZl24iYTnTXi1\/dm5N9ajIYKa4boOzpki1RTwu\/0ZZ+WX1pSQWLJX\/SuW+vqptb8dDEZSq2iI6RLfsdbn\/QXInFUHqj8pNEXOglHEl6vg562ZS7lZ4349b3p4tdNyi9n2PnJUO1H8\/LnMaoy0b5LI0Uat8ZiSe8+kouO4\/Zw\/iLvl3XeWorfFAonFj3UeOCzK17jldyx9uQ5aLMYIqvUZE1vJl\/BVF8KXIJJlpN+c3iLDe0BuOooxjKKTMNUX16LTTgPVN5Ri4DdVA+ETV2H6F+4kZ102\/7eKQcKu\/PUZ2VUkxqqgFJH5Yy9xevYpgdUWwlng7OP9tOhg0KKhR0JroqJVNvxL2+J2CLVFRvRM\/7PgwEfw8ZchqyLisGHHF5PW5yCazcKPhDbz5iScf9me5X9p0\/LYtyU2He\/gX34zpPmefVqzOEJKqbmTFs+3nNa0zgGb8phVnIT3Vbl7r6zSanK0uEppdfqLHq8gY0WybW\/zNRJmRwuKZU63hqHF0SjlmOxgMVee+PV556wHpejLUvjQC3VNNpF066+Y\/CGXEd8ypRq4s7mJoHhXNvacDQAVipYA4W8kal01MtA+kEVxxWOfglKMH4odHMtbtAW6nSn4NWqsQrieSfu0taiG+iiYq+r4CEpH5YL1RjBmU1MmRd3VQlGbtR2aDXCjdINsj8+u0aCGW6JCR358doegbRV\/N+kJiu9YC9KFEO54krgWoRTyT\/NdbJuvT8BBlkXaJ\/C8oYBIJpZ9j52e+0sx1RSrcOnR3J3abKoF66b1p2zEknjDHWe+Cy3lwuEn4aXvcK+5UN0uyI1dlV8jAVrNfT\/2jApyqnV9PYJaIJf5pOVUHsp2GLzvMb7u\/WeMdbdfevFTprDLGgw1avCSZiJZJ8XzaBrU8Y2IHvBRDvgkq9F4DY\/ef+j8UZvYxJLfVDw6qIC2LWn+NVr7mC2oBQmVKSYrlRNIlZez6SlFf6yNLs+qfRPGnPjSsHN4cJ4OY7RounIhR4jbl1u8Ui+RICMYqJtMKdcVKh0wkEj1SeGf2YjhMHq46eYbedT4zHIh8IJghixez0VpnCNIi4H7XyiW0DO6\/epn7ZWcaD+4IY2Tjx+TyQjGrmnVpIZZkKjyX6RKDrGwOavjW7WZnuDK926vbTVbM8KGBxbUikkjVc2SLZipLSqDd4TabNXayJmgAwbptTaEpeqgYx65IGoRzLTqiPks7xYZa1gXeiOT6zzPcMx7soU5w+cYBASJzZtrw\/MQ3SUSX8oamliBnQ709f8MlxCxmaI5zxPBCFtD9GrToAG3vVNJLfjwUQiP83ai0QgZmpXDFOMATG0X7S3nFBIFTgzjydaGGPFxAiXbV3xFgA7WF0YXEBKhNlaoMSU0aR9PifMynPQB751mlk\/HEQgfslt5j\/21DlXP8pd7\/N6fZ+NYkCQ5rlx+WrpNbUysAVFWBSB7XLJkgAkLq8B6snjDxjAkUtuVnAw8UK8dSdjJI\/BXgKsIhk3PR2WJB1CwTu1tkXDeIx\/nB+lKIk0KB5CiuwlvlDkavkWN8llSSEwUKabRBE4GPwTy4DbwRmNXghKEQ94peU+JPS6ZyWAtr1+OyRRPr5SIJHcJ2B3sPcvxIeGRiM89Y1ffB2I+MqlETYoWwSQ97OeYVj6zSQh5Uhun+QDR5DagE5c+KDtMCGNJOTyZ1s0ZQYd8\/OQ0gB\/68zl84FiiHDMpYUgaEHuPleMPi\/kLYSrQRFPLPx75MOi8xB56mh+tsTIQ+3qjtTzKWEo3T2ogRUFR70HGQoVRwri4mLKpYDp9s6a4Nf3pkCMF71UYUl35Tv313r\/1gvQ4RsDU7SZeOmwnifbLBbn8ZkSKGrRFC1\/a7bfL3A2T7ShCNu9L31lZvvNc5mgi0mS8kJyBuFPaLVdNUo3gm6QJkpn5Laj+kij25YaK81XZ1bsxLtUjngB0RKJIH6a9ejoMmfluYftR7nr2nPOfbtubtd69L6BEOmAd92eAXluJZhXw4fOT7oSXYDgXF43tSQeIK2hElHGbbPECzvpIqYNFbN6hzGPThI53\/qTQNTbPlK5WyarxYWL4p321GSURRyr4c1dm9uHPOeD\/fToFS3PGwhePhWyeCWguKjltmgE\/XYVC6KBXn8hDgo6SYP7f3nxwl+mOi1fZrVYzExCdvh6F9oUg8QI8yUSNJgGW\/ecMiE71yguV6QQCaUl3uR8YhY6EytEgWEwCJpSuBouMoOJOGFJFRa0gq2gb\/uIVvIsmnX58s3HX\/38gZtIqSgOyfflzPTTvzBUf979PIK9efOz8+bQKOjKlfbhrkESPOPdnpff3Dk1ZubeL2QfONNvvQiXLSnQnxBK4be6SupHO7ZpRfY7GiqeGJduBZRcF6viV7Sl7XE2jdULpvqy3N7nn\/io0Cga0+6LAWg+RFt65aWhKugCt2agBnWFxEPuk6rW4UPBrWTGQI4BUAPOTjylvmVwc59Q3hadfsX8k76\/ppaZLlvY\/+f1wBsIbLIHnyh4l3K4Eu\/BUJgFE23VQZPN7UuU22bCMK1MaMq0n9UzjUAwqO7CNmRCvfzmbWTlPafQ+RTtyXnLlVtZJj6c\/GL0UPGJQqPRxz58oPCPwanXN9qqh3vAtacUENI\/Pr\/N46N90mNyz0d60vOPURgFn54YExuTmI6nMHgFiiJFAY9BIWAxYFgChcLMXSGToiaxDCySmmN7pE2f3ScP2wGjOHiJ3a5EoP9zndVcBWAo7e0d3PbEJ7OLPQrQpiKgA9ML+5MrCwd7JAUoUNQ2B\/xqmWasxf28L7\/nQuX9PgT180Ve35WD\/UMP4xb\/62ohvwwdDbkc5vLs6aAGnAGPBYVSLAzHf3CAWA\/U5rjTnbpy4XCtpcK+vXDfpIu27EnwLH83wDvHT3NrHRn+t9yZXOfIMO\/kbtOjFDAWJDAMMXKEiLwKst2qoNKS3h1ugRPDP6HCdM2qZQj0NvvgjVMK3VYxaO4diz0\/p1+6J30MwBS1cV9VjFP2ARj95lvPoAnAuj7vK6iuqCp+q\/it4wQgw4jl0+I0tWEPdsDeft7+savZeOuqECGEgdW2OTG1lZQKTHJB4H4mz\/vjTfRmhSZDWSldmXKXxP7V0dE9sM5b6nvgJJks+brkW22Dzrrk039WxU\/SKLZKpgZuxgYeAw051uNbyeVWQUNZ2LpKwqafRbEaB0JzSUdHUyA5PvqXgB4YTNRgjjgZvItmZSJbOjKbEqF9ZEPflYrarzIjZ07K8hQ1TtvSgOqqgtZ2cQcmUA9aSgHGqJmyaRq7SvAbROoWz+1+DyLVBRIbhtlACNMNSY\/hHE9dN5ob\/oOexvsJMYceusGEXgoAjocy3LkLfXVE2VKP4srCWYszKVKaKk0KpGm9xyA+tEPlbSaQxu6HJ4m2vaNY4IwIXd9xvSKFNvEDiNkdfX0OFEXjlAj1bG3pmBXo2nrblKB8ET+Yp6cd7faYhxdtzs6JmEJAj+JNBCQCY\/5YvMPzbXl3AnDAaOqPO7jGMZOKK\/67kGA8rUBUgFiiqn8bVTIixlsDhNln\/+K0KYdU\/WxqYjlaeisTvYWYuvDx\/0ATp5NipH8mdlf6HbcZLLjAtFSPDIHg20OMVW\/LHWfnlttVBQTIS+SLj9w1jh+Lv9W4DnqF9DEWR9GAgmIHqoThKXXMx8STnk8n+dZ\/AQKF9f3\/a2RXRDu+czsIU5yFucNobDrRiy8kfmlbV1m+BI7ib8PLowTq2nnf96Anee8cs7RpdPpK9p97j95xW6G\/\/9V5eubz3\/\/hpwEVsd9lqSnJf71wP\/02+5T8x4j6LL1N+0tit4P1B9Arz2Q8j1\/dil4ZpVB+9wi+ZXz7G27pBMH6pB333jGx48b\/\/KVHcKH0FLtduFQa8XxWJlj9XRbjYu\/DN40BRqqxTd0c+vt\/o6y72wo1qu0sc19YAqDyU\/m3iWH41rAUdfLMjEVNyiGqOsXNCiKmzz\/Azr\/sG8oIw+lkZE\/58T2nlVZ40+88dRLrG+C2KbvwJ9Y183sml5FL6sZTD72lXSWgkfgJB\/\/ib6nqj79iAanUiwofIRklrxJUBuLEkF8Zy\/l6V2Igfu\/4vNriQzQWtoXPU9Drgps6131hpw0+56rbFHtQWFGCNg27KJXzzdHj0aAtxmQl2EHavBc3fi2W9w\/bzdZgIT2xtALBg9YBMVQqm8msr6J0o8S\/WAF\/LXadWwfcVgL1AoQEe3qG3ZKiixcP\/bPlC7nAOeiJeS\/PaLb\/CtARGp9IFj9u2aNGfM2v6ELyTfT0fN5TwB03XvM8TNw\/xPnokvgIcaAoZkWzjKidnrBwFHw6VmrKihrAs9OypKSSAKboWtH8yRAlEx5lHhX445A8B9vP4McVBwfQP6f7z3q3EuIh8MmQ2qJ5wMxseDBiO2MdeLR5ZuCaFmqW3JCpBa4dFHK4\/2LXgpZbQ41QxE0gLuV95QTiyKd2mFHzJmLKEfMmaswJMy7C\/Ze4HFy9MdTADemvwuWjwsIgCMFPVg12dNHR7kzzsa6IP7O2zsJioyhYVIpa39UCg3PSOyxFRPRLmMn88SC5U0Nis2nCJ8knjyjTG7UXVL\/zSTO6fb2fNP5PZTIUBnhMzBGgzeeYbsY35rQe+dTK0TbL1+YUDofCU\/bUMardJPdoLRjGoRob+PTNRzPzg9lawYM3PMQd\/13+J5FOzoOyu0dUBcZfeTo9yYfxYv+VcHVXffzxth+OPHiYkVqKXnc3DBRZwBCjlfU6NMjKWsZ6cEpvyQmYwTyLEGFcDRWBTr6KaxvG1f6SXSdmtuOpadcnmvoTzooASM1TOTjc8BX2urq48\/tFnMEQneKVD28LC5gQwR1RKBptKD9UovxzZUdICHRM48DkKe+lHKb6Vr3jW6wf+7X+tdV2Q4nq9y5PRYUwSAJy0gWYLD2ZXKlW491tlwhCT1HVpzjQyi2puaJjlATeDpMsRoX5cdaIRyJu2zuu\/x6Zl\/9PLBZfSC7C7efmvtr40mdzeoNB2XuVi3KLRb1QKNPrX63K42DB8sGoXnIvDeb\/p49EeFWX4tvVKHRKzWGf0cK2GAg9xhaLgRYFK3EoY5lA3cb15KwyRkFAVKt1\/npNaawW0hh+sBfkqMB+AR9L9msUMlFmr7APqMFAa8na3huYZEboWYIQjuS37PZAPjyVkTCi2uqpZvIobCaOhwjJOFca5WeHncxmZqQPsn3Qa1z+ECJYuFqZWNRbbLRRY37jNVSqtDaKXRm+7MzefS3hzfizBwnt\/izm1Tnru3MRprnDHJiTO1OkaWkjHtnbhukll2d6xYSjt9kgMDe2YSeayZQyDLMbkWJcQs\/Z+463fWg0+\/CQmmO1xOKwkaFon70czPOQiu4UrHG4rrxgLRuQxYOLbxdXgl63026AJpr38VtJt3dbYDc5bEYNuQQZ+izmb6waf7stlyIR\/R2rXW8YGLTqMFW8R2Ao9zYN9JybWxUOk6gpzcWSOFs9kIF5Iy4iwVi5Ey\/nEUGW3dYOGWSS+\/2xeDxRyJjC2AaZKNMGjTj0DIjxobFNLsTktnipmYppB+KeLZPLJglWl+TzXuiYMxsX03RCn35KN0MU8+lCiKxxgJjRcYfbw0QILFFTa9ZEzKrCxvJNTBZvtxZL710ZA3LOUHOjwAv8C1GSZOnpIYOYERG7HshSk\/P+ska8hLiSxEliy4y\/XJQd8qMrlVDgyW2J05IntuNkW6JRG+1yOB6UrtVcshX1cEamF0zatt12l7VDEc\/pZQducZAACens3Nyo7kZ2dWF+Dp30Ovq5eg40CjZyKYjA6hBV6yaZQlXkzFHmI8SnEjaVJSI7ZUu\/77BD\/7W54PMrUX\/jYClgYon0dcWsCUkRwEuxINAudMJYinGHO2U0TvusDY1huvF38PtDQuCmXCK3Os\/9GfSHOGAXOksGrdhR5KCf9YRz+coQKuK\/WTBd\/oNIKZg9FeF180gDAfNO7MToiEfwGqSXpnE234xG3X5dBb\/4+quvzchNmDU0P9mlT9H\/Nt2gdRf9\/5NWVjDLQZ\/oA8USszF3ypsiuxvpCN2js4lUFw8mYsFweerLzWOr\/hnvqgEoSN\/Mm51NlKZ32bJcjMXYq0ZgfIS2d5blcsqsZUNqmhcxryq4D\/SOvrJR+\/OOBrbBBze6dJkNTIXhgXBgQ0XaDHbmwVe9v+1vC4KbDQGhKsGFJxBiWVi68maGxwc6n+07J2Z3hDtZwxkCxSkJxmgjjFMJgVTl4NCa\/xcxyun4S1K2FGZj2rPGVLjjirPlBT9Gs3gb100IRfQn+fw6wycimRftOaBCQz47keHBT4gYBW1aQmiG30JA9KVyFw+eB05zjExYZvuMrpyQakRJlveUpIHCSZIAO6Xf7+blEO2\/8HEn+FXGH3Z2TiQG8\/zK9WT\/WMU\/TkkVgXR7\/oh0uEetSZpmWLTddBNmyC9pn1xSkGzu9q4hlYLfhd2HdBE6LjGkyBE8Xp\/fS1FW0iqLa9fqajd3oFDIMZ0kJKlky6f81FsrhMUMZMNTzEH1rrVYQa7l7JkhOWXqw0VyZGbGJw9FtdKbNsLziCz\/VRqYBJOIx22RBqFozVvblmJdvNtIp92UzJN78T3q08FB6jYumXXCTczMvPe2y4wcFryum8fwk9OblmCxSKMetbJpuRnBuuhimPDXECszLPYqjrVAsWT0hsvVNCPziqIuDt0A7w07MzqdXeSE2lUp+FMyzOkSC8RwPllO51yUOTDZo9ksKRmNrgzYITmTIpGde817eTweL0mxIjPM0IAAzJCxjXLYA+lMkGi1xp9SV75kffzxir9YvJcA0g7HOZ\/vfPRLRuNNPMHTeaA72oJeWHRy9\/1FioJs9Vz9DY5wqeLSSd66iycj2Y0mXtKH2\/oQe1YJcp\/kULNkPPEhASSB2yrYS9mwA3b+p+yePZNiu+3SCZIUtuyv64atRgj2cDHy+9VhuploZFd9CR+8nH3AtutTalmznjfMJvWBMQQ9yLfb16allBD4bAVC9xHswM1TqlojFDVGSljzm0YamU\/yJOB3YUBOfLz\/koGbnCX\/q2hLUhxoVtDi4TtkpqLUOqRAwJbt4ZNr+kbi9Dn4\/CuNtBm+S88B6vdr3cLlgkORga0NIpoT2nKwmb4Dc\/UnDzJCee3U1GPH7HYE2oRU8Lk0flJlzVc8jE0Svzhn03kB9lnBA3L2IhoHrkxIXIkLIOj8WHd73ImECVBDPGYNlEXlq+YdazEn\/hBlINfncuRO4zp9qQ2lDsPBcghtOjLASxbDttfWxQzGt12CVXvLafyoWOBO8itYzGrFjZh3RygUjQZjfn8kF+Gbi+UHVPpTCmoYVYGbc+N4bstBDmXNjOSMEvWmnIwJjgvjnInIASIO5yp6yWbzpcA6DfxBVGd5o7\/6MG8oVEoqDyVjusC3qXJRQpcDdKB7tyfaYkduu5s2Fb3\/fgMF4685gbFdc9xgeCDlqEo1Auhug+Gx5Htez7UW2kWeTFyNRYRHO7CY0\/5oSKk8p79aj6B0dh8XCfmQT1zCXHnCfsW6hiVa42HbKtmvaib\/KLjwyUeLKyvTn35C0YIENh2J2liU3jwra4y16Mbj5InBcLXpjHYYkBdHMJxyUW\/lNeI+f\/Q+n92kZEhqec1W96D\/IblZA5dXuZVTXNxGkMIZoeC43uGwOGA1Um4f6c6d0yeUDwN8vq+PA8oIBZ+KRxJQ1TlU6wWm3jrVqGTG8GIJHxh54blLH0xc+uTt12BXDb7Kku5S8tzvTe2qYdpr6kqqa+PV1IucPxRqcsh07yIRSYYSsfqWoMKeTUAccWmXgtzrBmhWPIa3NGjDbp\/7TrhUiMshSlOlBRmXDlYjoo2XQOFLzMEwbgDoOJyrmjIKGava2dhedj5Ry0mdziiDJCfFECRcJ2agA3akfDaZYE8goARK65m3D4fz28670CPSYDOZLhiua2x6qFL5\/YOSRDDKQRo6otETymcagtdgSe6SUFnNNkwkkcsVOMawQ4R0D9tcW+Pt7nBiPFS3sJQd7QSLhRAjO\/o1Nu3NAKgP1fWyB6FAMOQL+QMu3EgnQf6CHAiEYlkvKikx+LIpCT0+w1Kz0JfjDkOgWj4h95GjgtHvwQ5D3wcDi2aWtL5sTBcI+FNJAwatjHSxMB05sjoZy2elki3oKQF4OJzb6IokSIockxK4QKKEIMFxHhqTZZFfKeFBd5lKSKMS+Cyhk0j4lEWK7TablqiqfWL74clIVlPirZd2DIFDz4tSWczHhYWTNwxO3aKeyLM6IlQGtH9iEs1CVMG0nGuKiXBY8SnYQS4jEPI8YowfwVHMKNref1iSgCNvGmJ1oo3FsEnRzlMPaRKK3e810Mm+xWJLXSsQEzHxUDgtLbu9xMQ4HsX0e5yFWN1NWgt0llQqsYbBYC0QC3jNIZvII87ipbhUrVNgGCWY\/s1OnYDP6eTZckmFMxqk+gGaa+4476b9OVvcBcjRa7ovE5OXuq5+nmGjrhsU8T\/YFV2D8PjKsoLM5YOTzUXbNjV3k6b3VnnvcvnwiZugR3oCJNpV1sl91jieVfn0\/TdyoMIuO+hkE7VYvHQ6dP4Z52BSbzqKGjBjr8iIpRLgl358\/4KimRSOIISA2iCoCkJA4gq1jvFYamF5+e9bc+OpxV2wc3rCFVHe2doNQRpdUOJaPhLXt\/Wk75TeoGmBCIkSx3IAIQA3aGIkBRj+yVnqMLErs9SyPkqDfqVzAyjnRljFHsnMv0vOAEZuS99hJiFTxnbbqKBP0YAhzrKAPUJ6PEcwoDSwe9Om1fOezLtCuz\/qzz5+RHo8JBOJsimePR9jU6vLua0ZVOscGF1MpeZQrKvo0Sn6nz4kjqM6lwmdd3uEhxiu9uQumbEpfMmuB5Lewf9LfdXsn214fYZ9UvgiCMsK7AE+8nt5P2Da14nv3Z\/90r82B2z6GNWXtxgwqODYA\/vUYWh1TXL1gI3wzeU5vE8+JqqGXSMoLCBa1EID+2BtvhjrcZEc4VQuG8V4c74plrg0aiNW9KmMPvgHXhUUtIxMcXV2uxchI1uFXqs7oO4V28ZTFbxHk2GtROAhx7VIEU6OzaZTamAGtiMkUlOps10l8k34xnxdJuCRl0Qbi\/jw4FuXCQFIUKms31cOgmtnshLmAuwVcslj007YRNQOh6oFY7MkFrIc3MESKmU2GGFB21eUIocsu4CixUcjepoRcHGVweoszMjAcq+HuplHf5PLJxew1\/xHJ9Ok0dgyetZt+8D4M050w31z09WUsh3JBw2UpNHlSo2VNWPCsVHPpSiuD1NJLaW0u8688qMRc18A3OeL5aPAtcsBf0befTPmju1LXam7VUfN7gX0crSF+Ajff84HKm0I3wET2D8YCK7+IoKz+aM8NQ+CIYyaP6bQPyDu5+5zV3L1U0c2AY+MInLALkhUb8GYv2A\/i5z+CDpz1RJc4KoZ2VwqmoMoga9Egc2wISrmfXXN+cDu4s4ZlGgdwXCJcjl1p9GJynIYSRYLq55b7SR1jW2CeEWrDxZ5gWGzKtkU+QA5qRR1R+V8SmVHYqNJzn\/WRoejVxpfQ\/nUShRBfJFxW9PcHptAWcBrHX5JUdeArkb0gqSGXkIrjvkaTwEkUY0IBhk4ImwrvQiqfkWqqLZYEakQ6dX6gO5OL6\/2opdaTvu+6rG\/oRQF3fu+4jKoUYOFa1pUYybUKVRdTtd2jtNHGVbkGFWyX5turgi2tg3gJ45JdvB0mlBhIkgNVRzr3KZ2KVQ9zkqeo38XdZzTkya69yQ+ecFQohBz7r+vlByFP38Wasvm9vjDn\/\/VHNusKhCApS38w19X7Qe1SVadnYFwxNUevXzP9j2dQuVlW4xxZqqDyYs\/47DUQmXRTpjxlgiwrXMinkLEoVSjkYpDh6z4+5DFApzc8P\/n32y44cqpL74e9aRove3d8EMFvf0H\/YwG2jF24XjJj19O7POleiH6PVXy6kpapoV85hotSKCJ0MgwD6oV9YBhLnIYGgkOjslOYsL7S0Kt3caMrFmYj1rO5orKkRw3pcmeDd7RwoJCEf3LU00AfmDgoqSCYqs8ug0bDyEJ0NxTbXv\/9LUC9MghNfX5U\/ROxMf5f0tSi8y8+qp0OwJ8Oy1mMpM+\/iHt0oLqPsr9UHq5eYGWEfbrLZx9ngKQ+6vABCwKlUkKxiupLElWkVO9SwX+ffTz\/zTYW4TAmNOS\/xinsr4CSxk9UHL2cDHFBdUX8qMYe4disnLWN2i\/oXbWd4ZQJ3n+H1AtCnuwEMJq2UD5pKuQ0jIa6EDWxzjk1jJ\/KCPa147WQdsTb2NdCKSNghiV1XVu6g1oN\/bYdsy1Z6C3r0UvL6+r6fOHBPX7aZ4TvYZQP2L6hqLZnHGZ5ljQ0+Rq0HJavtr\/YvA2nenQ02aCKweWdBa6wMLXMEWuNvu9Ng8YmrtKObDmtx0uViR4dQSaPcpmQ9NbYiOLiehJl8cR6uGhzigrcDTDDlu4LiujSa4gj6e7FciD3uS0jnIYfeGXRbZ9KuhirgDrIfd8X2TNMJ33pbiiPDSfMRpBsOEnQQ+j1Uoa5Vd+xo8NhALquSlbeRDUKVdVtbhwEgUke9iKnDgx6ummZlzpmNU33nga5ciqKqnHC5cEsbhbraxRNg0oIbAow4zWvju5jZD1MOa0cTa5WNt5\/PTDGExoyIPSdDa0I5Ev\/+BMS63gI3PGM63ncLcM41S4Mx977pNWw2IqrBRGPJ5ccdyo3QlKJnVpCjywJGIn\/yKo6luqspp9PtmsTu\/eVAsnOy3jQlXJmz2UQ6JGBR5jN169Oz2r8AutfJ4YcRSIwSG1X05p+Z5qW0FlqZ86RjlGCB04am3arU07Z5gek5rG7xftku49nR0QaPBQSozRznhHwf0BCHX47czH512AYoAO9J7w+dQ\/5ulrvFfxwUSzwDpc+Gcg3KtKejqB8Q4EJN70wMEMzQ8wcul1ETrX89Wrp+Z8Np0HfDo1ZS3U+zCmEbA49hzrDaMKvFfDNuQD\/93wOJviySOTRjKQ7yyE9C5toWcsjN81JTujAQoIkWT04pjn+gV745l7x4ZCt4lJgOnqNh5Ywld599tXvlrq2wZCs5E2K+TWCbEPzY8KUXONd1q\/Yacx8UWZ8QyI774Z9sQ5MCETw0DFtzxRhGUIIrcP08aFMrqwqGwSC5pTzzAGZuCap754WqIjgnYQ381b9tbFRQH5GDDEih0KHOkSzYhUOE8lRgdS4IDwyG7lvezitXGS2tC9sC+Ap\/P5TwZzgjiRlFLVXlLFxSwGU38J04\/Z2Mglcv2FxaZZNHAWOWIPhIAJkm2pY6TGnDH6FqkjuFpq1VqxQC8XmfYf60mDZcW7Hkj8tJshb75CoVvvx4JBUPBn3LTD+h3K6RGyuntSkYY9fiU8hjTJLoC\/IVyof5C2iyZSeVuGwWALsXkH1vmzN9rPIqN11OOc1nzkep0lM4GRy0u4YLiOC+OEcsGM7CX0WK2mgeSKplJB9lly7Y88W6uRkCDajasKgM1lZPzU5qFzMQJscxpuiazpLdoAUE93mvEsRjPTHpZW6xoHu5oXWcOvduDHEPhxpK+LDC51EfuaewoAKP0NtPjOLZvXpd1en1dKMMMmfko6ys5l6Y98bBLdQv2hRhwCVjeePfXn66W13DGS4wDu\/EeRFxaQt\/wc2Z4YZnF7Zbhu5MbJG2clkMw3ErxD\/jqk7Tr\/VhmUzA2I4+yBcE6ZjLLd6NBLhwxudyGv691a4LlbN\/ZTFBdyCoXRm2hcUKPpTmpMUAkHzS5Xv0JOOgoWlLcTswUgGvqX9an4WvS3sWHatwVWx+ZuYt9LS3n4lwczjQPUcCy6\/wTA+B4zeEgmDR4zK59uGo3Z3khdSeussSoz33rupDMnbQFnKtF5HFQ8alYV6vkB5pM8yL+xfc6hj5LFwxQ0kSGGwEJcIEbqDJjaiRoy\/5TjWZ9tbj7\/Xl6qLYcRdY6W104AgQPEr8SYYaRUVaY7P77PdPjoz8\/1nVTeDZivGkqZmLW+KzR7nZXK0bjruLuB8qvrKBY\/CbMA+zk1v4BCEvJ0WVMZCabWaI\/NS2qAZlNoDxbcmddSUbbp0TRM1SpacZFsBRMfrZ8chTOYlulxJqfHKaIQmsVc95K\/DyZZ9W3n0B1Su0r1qPAL38pWEcDsbOWMS5c+RkzP\/\/jj2+zxMxlLAY\/hLrOGZ4GN2G0jL25hkvIT3KqPoBiiWRml2ACI15LP4OnHl1NB5V\/jolv\/v7NyTLsgRUveKmtB7W8\/H1gUlCl4ZXN5GUAAzooVfs6o33zv\/XspggEAfLLfopPCkc+v++rN\/M2NEYAABgra\/phHc\/Q+m8B\/gjng8t2I5TSxAvwIIPZz\/0tT\/i93it70No2iCF+j97Hlf6Cf7xanMa2bZCJookAaQH90w45hUH0Dmg2Q\/ZAtvpNPYyK9TV5FU+7Fo8roX6AWKJgG647RjF4eYSGRTE1WFKx1IOnz\/R0Tzj7MM447xUKWnn4pi9cxQPFldiWSpjyau\/kEmqZ6vvRPbGaXzabw8icm43PO4IhI2\/UGMxoOpEUwJVIxbCJvN6w0WDU\/3TWT0Yh5KXsQJErX5pgz8Ki87\/F\/JX2u8NjJM\/nc1NaH0wMBGnevzb6U7Pt+Ra9pyEqlU23JgCObcmbdFty\/2KyWx+\/kCSyX0jPFuiyUtmhEpx8ycf1JPTrRqVj4P0hjJIsjBxRhOYn+kFZ\/S210RO7nQXwKk2\/jY\/8X070vulI34CGcg0YohmPQBCe1ZsS342w1NWcHIXOQZ4SFoKxmxG2PrgqhAOehH4aht\/5yG682ZR4KVBHXTATQRnE20m0N2ju4MWHNqfacMUiE8eaSkIH6OS7J+9hBS4p6WMVfkds4znZIFLbnwv3bNfSgcQAaAF4K4gE8Bq1rTmUw9K2twtWcgFyvuOukBhVrIZSxaLNnvOIwMpd9wYBkmkP9EJ82vxiD6YGXMA6XWw7C7xdFR\/pj70HoAITHCXMM+dGeyzGC5DyUTv+HsHAALOxDFO4Qoh94M5SQ6INIvZYdlss3YTs\/hp18EXr4TNvrvqBLiJkSbG+RBh1IDpbE2gz6wIEQu4Z\/oEHI3QrzKN4JUaGAKj2ncjR7a5Syiz21HMv+R3CWVTHnQnJ+mwn7gQD2Qu8TP4TsPDgLxsMgwxZN8kc5DF3fgsIAAXht409K9K+BDBjXo7MutvxbA5s8uk6GAu8ZgAHOROAucufuAjzjulZnXy7wsomLu965sl6XY9RxgIMA2wHmBNgGcC7gtbkoqy0xjPs43\/gE8ElaQLvvvui4rOVzd9S80ZcrSZL\/fbPyy9xAwNZAgkWCBrnoIf7ojAmbz2QCcFIaD2FVBeMmR3AtG0mQFY27fhSBtuJGsXEhBBy7wSVEA9dwK30RSvbcajZadJaZFscxzpIQYdzjCfMI5c4zMWVdEb0UYXSJOA6Wt\/yzgLXkyrGBVKCC+XnZMnzjCy4LFFg70AJsX6hkbVRIsaLpDcHGLL7kW52v\/gq5aiUHHZ5ZniMj9tZ4ybrQ9Gp7U5p0BaXFZT9C+touFS0F9NKoV8yziRebnm8bU0il1qVSBZppoTc92jnQ+UcmkNcpq79Q8VycplB1w0wUs3iTjNKdhVys7H2jQ8B06YK0SaJGOOkxWU+iIHUVQrd0Y7Fwa8a9\/bK2GxVzzMqmlhfLb3qxkFNycRLCFJ0yHQ167NXPlenMN5mLIwqtMrmtPa2Q0TbG4ekKJXE2ufvGJVPnjNhFSni1Pdjl1uof1fpKtgaA2Jikx09ukPrxSyGwJwO1+EZgGwIiU3y2HB3snPBT1ylqRmx6flaBPRNFP1lm8SVZnK63M1TU9VHy8yklsCYhzUbfT5b9Z3UO04j8+WJ1TtMdttMQHX0jdP7sqaNnYMSntMOiLLm4VVaSiMMf1pFXC4zRL0og+GcmX5gK5v+TkiLcl0Xy9tR2QmgYWLi+KguhVTJkyY5YZiTkpHJoexY132i9ck6uWY+MXoBNNsqTHwMTC7tAQXFwCy5HbquN+Hu8ChWQ0eaStwZsEctvrUYLskLFbq0jT05b2HceptRm+ygUK0mpmEpJR4VXWoTIyqiLqpym7aLTqijG1n6hbwulsqgDyloveknEmcWeoDh9XlD\/kxUvvnYvhdFVaFQZkQGcgJDoG3KXyntb1wYtuVisUfAX\/zfrGRR+me4zm1kIBNjs5eOnEUAXh6GUAPxflKtQKRETaT8rv2Dj8BGWIJF1h1SrUatOvYYanaOv1hMP4NjluG01EhASte4UFppeJ1wlSkxSBz1bmPf\/TvjXnvMO6TKfGgHzWtLvfW9D13Uk9mugmoaWrnErLKfTXz2jRq1v7aGpn6GnVDXIyMTcTsMsCFY2dg5OLm4yhaANsr9mg2lmzkIt2JzmLJTgOyvVGWVBsHOkpRn9p0\/6rFkcNYfBwhgTmMQ0TP3iUmlj2Y7r+VJCJlcoVSRFMyynDtdodXqDsYmpmbmFpZW1ja2dvYOjk7OVwrUjazq\/nU+E2Num9cG+uA2mSfHYwoAtp50teT6W6DaML3Xk7F4wrwULxKhVwqQuKRt5FxsmmBDfI8CVvz0sluTq0V2nEJhR2jwZ4bZgXSoQhJht+YBTDlTMjpQLJV+KaGzrzkUIwihvAhx17rCQF\/Bhet8kz+efwqAUvLqBclcgX+KgWsZqtQMsZ0KmlnWlQmBGAwvEqHQHBKirt+lraZHiW9O6tF2uuR4pukpx2RGbkSI0r5VbEb0I\/mQFrZwL3TUtnkIJv9OhrMjDRPBpnshdq7mw1rdNwLvYIgovkQBrqgqHg9BdW\/BkRJITV8rKQWBb\/rb0rymdH2AWTZ0P4ksYBXugCN2Yqk6Wwj99zJ2On8YBTbOABeW7V2sJpFRgZzXWSaXxKdtWcuuxLKasSzvAutpn3LFWc+ub4SkUwg4WXMhpGqKM\/tVwd0L+Txn5YwWULK3MZyGT6CieREIMFwm7DV\/npjD8wECTtIO+JWk3ZcNTM1m5JiGkqSEjZXTycD6lJUhbkSHFReodt4fTYo2kkFYi6RoE7C3RrBBMJxlxsAgj1dL98iFsHYxUqftAzq7VS1RFTTcx9wLEXNh+oo6yg7irNqdaeNk0iq1cPpgQs0+G3mYas6QmgYkq6fiUaz5XJxY8Oc1cq\/TJNzFpkko0T3gkOr2l5PF8O1bo4kaRPZYGtKRLkAmnaeu0orAps6O9Skwdlo9ltDrpcyStiqDqTOVEoVAY9QCVJ4ZJDFRJdYBJkJnmoQM6qK6WtZ16r+\/Kmqr96mrZIbxdzjsjziFeWLvxr2RF6\/nEf5h\/etZMc+Nazi1lvbeVNnClkKVMtlJZymS1lOVc1lSyrpbVUi4COE8IVhtsK0mm7cb783JPAhyTKSiTKrgY50QtFl0MhwAwSAHs0ogHI4VroKQHJS8iBaDE2DEA1AhQaGkEHRC3+YyBO7CIACi0KiccAsAgBcBFoQECtgwoAADgAgDAOwAoAEEHFGbAZyBBLLZhmc3SeRkuFupVtGFpxyK2OpGch2Y3LRkTZMfoLELoDTbl0a2BcoDYKhl5FSBNjyfmqEXZVtlFyBvvMlGHijtTnn7KYnbYpDpx0ihnQHqyUMUD5xjSeV4uJV1ytqp8yQnBRQNq+jl0TvqqVefVvdMXZnBs0K7SK7h7g69bVRWc475sdu8b+Oub\/O+tVOPGtr6lrLKFFPhOptSc8346O7drii\/bdd6xwatb9YF1o8N8eEC+AfDu9AENEXWZPB0dZmbKXoPHhYXNCrF69JwPDg660u+52chPhVXWFv21BSLfbDkQnFH2tmzfs9KsIlqcMl1jjMazQ2b8XwM59Dn\/r63DCgAAAA==\") format(\"woff2\");\r\n  font-weight: 100 900;\r\n  font-display: swap;\r\n}\r\n@font-face {\r\n  font-family: \"Mrs Saint Delafield\";\r\n  src: url(\"data:font\/woff2;base64,d09GMgABAAAAAEl8AA8AAAAAqUAAAEkfAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbpH4cKAZgAIFMEQgKgpUYgeNZC4MwAAE2AiQDhlwEIAWEOgeDagwHG8mNE+4wbBwAMWwZGIU0i5JqHUW5Ik1J\/qsEnoxXOx2AL1oxYChVLJ8Qiz6NtYLtTpvxc63cqrA9zLu8f4TGPskdoLl1q1snbGyMwRhsLNjoVTPYRuSAEVWimCAKVmHna79++Opb\/\/rlv\/ERLf+Pv5dv69w3ycjSKGriKQrhmio1vqpqfBUaoQiaIMFIhKqKoObvIT3j2ml4Tp3+PYETINRI0yeTQpcHZGGuvS47sVqgpyKIvqDB+wO8\/\/aZWt37WbX719NNiXJmSDYJUJk2KKdIYVnTRXs2jxZjgJclgAL48+ou18P9dRhq7DyTqbBmEjlDjWwqk9JQUnXX4OiN8oK6mHng2+9bnYvOiwMet7GNHxoes+is+cP88dPDV1IALwm6SzKNmzgkEiVaCYRQKYG\/V1e20u4F7hxxFXPnonXRunPtonKH3pO06H8JDgnWSMAGcSzxkriE9rCRRDo5xFDGyK0DXHYIqYt1bEOc3lVHuaXL+jy1llpk4aIT4yLRaQAYDwQun72EF4Kgo4CpQKwIeDyBuqurS+Q7W0APKH2Uq7Co6itUzVYqRVx1waPIWIFl0x+fvPnpd6\/cDqkVseItCXnjdx1jWl0xW73v29VIBAVk6CMtuT8WgAAAnEsJBSntj5y3AQCMaErQV193BwDCFx91tQAEcAAAWMaEzz\/raAFQgJK94KArqPar3v\/i4vtCCo98gNxEziWjSL+QdpFqSDzigzutd\/LukEwhvEq4SDhDaCMk47\/ED+AVuK9xp3AdOBr2A+w57CS2CcvAPMVMYvowNZhY9NfoG+gBtBvNQf2I+hp1CjWP6kI5UTjkc+Qu5AKkG2lFxiJB8Aa4EQyASpCE+BxxEbERMYfoQMgQBPi\/8Ffh6+Ej8Dp4JOxL2BnYLthGWIjCg6WibyA+h6mhX0M3Q0HIbcRFyOpHa7yPHRQDPAEAsoLAwvmJgnd1IT0iszKJQrHRoVKYU03yqEtejSlbT\/IZSDlGU67FyW8mBWxNQcdSnssp35upwK1U6J3\/MUUo0FJR6dEY0Lkw9GGKwdKGTYdjLS45HhpLgL1rDjlcYdw9yE4lpysE0XmJaZIkHBDbFlkKCVmS10HZKHURkkuVSig9tYxwwEw4gAAhD0YePCmqFWjeRPcmhu2YVmA5jG0Djke48vGsILSFGNr\/qBOhbQH62jAWxpwCa+XYU+DsddwRAN5EzA6xuMmqn80advs4HOK0lcsZbmt4bOX1k2w3+EzLsVyuR\/xGBS2XZ5V8hxVYpNC0IksUW6XEkFKLHINChVYCrw5VFZqd6BoxDGGqkta41RzB8hMpuCh45cmWJpdFPqeSNlSyasmt05dOv7Piqg8LoSCFRmVBM4UuG0MIUwuWBdjacTXI6R\/hGh7HfnvVwvxYsNI202PUELuInYxKyd4bd3s3KGYa7O7BcTrAIPenyOkPjiQGqQwyzn8vFyWhZHbaYDoKaQzSlchoQmUJ8KgSiNlJ7BRnP8XQgMZOWkfpfCPF+1L9JM1n0r1hxk6UwKLmL5MnoVPy1il6omyPukEajbQa6SClKAWSXqfJiGeGf1MEKiOaPExGbEYlaYCopGgU4pSZWJrZbcZ0hbUrrRyYGgGzo8O4NHJAYhvE7K7SMWK7yMGUBKpsJ+S+SIyIJCLbIQyRk1Yogrc7ACchmQ21y6X\/MEhUYjQr0CVjyMVEw1KOLRUZYj4Y7cOPU\/ixZz1wnK0YOxyJ2\/rUm8CxHdcfeN4k3JSQWTexfDuv7dp1M5oR9KVkcNHBFfXupsJLTQgHiC+VQZlS2dU27bgSZGKafkQ7x\/TJtZ25GSXUnrc4IXaZeLobDXy9KQXtXieoXbOQbF3dIWrSTZkV1mj0cDoeuVTRYDRYcOQjhLueuOCJr\/Oj6KbJMLqIS7K0RN5+Xtqc5pQxyVGdy2hlpYkwfygSeDBiAqQkyBHQ+ETEImyXPVR2N3zaGOxdXtfyr1cUpjigJISXFkNyLdBiXX0UlxYS0KFMmQwdR8txmEA6ZB0PwQKTS6pqxgVHjJpyxGw5ies\/nKeaUC8UPDWqQuHlaue19tKoEK19a5awlPpN8alWpr8tX8Z1ppKDuhaLNmspfS5Yob1zEY6wWUY+7ZcvlaUvGEvcau\/DFj8dlkRAHCOFfTRGaPXRuSrFZqnOS3NeulMR+GpwklQSQqXp6PQAvOhonc4umKmm7clNQi0ZJxCUa\/DREMEUMNBIRaVDi026IQxb6myLKTz1ITxqOEiRjd\/nGJY1OJ7jShfvmSw7BTtWlFJJx0pTwEL7CnUctDWhbxhjw5ijYK0JexLcxeONz0uIAu0xis9Rx0CbE33jGGvCHBpgrSpoG2enY+8PeiFrFfSyI8XWkP3RiEefpVrlWXR0Ho6NeMnQdrRXMFFI1MpD0I\/vdWgfWN4sFxoZYLOdjjZGV6M70f1oa3SzsDGICr2hdXGv8pLKVuUzgZPUz2\/BUURSNBh8dMyOcNrDSEGuHLx7KEOkIilrJSFQdPw8Ai7NvJpk88sXcGx4lVTqRSMHhnSer8OBQ42LI56XTDElkWDn6NDkaMbQeTDYMcmx6HEEWbpiDWPvgUuL5ilPGqNJ\/jTQTmAwR18pTeVyxKujJWDSUfmcyBhcXislu3Hx\/vkkZbF0yobK3g5Xm9zwrVE5qZXkY+l+KAx6LEU4drJ4Om7fhd2a30PysXUSxYQd9LE\/feGOc2G+GMXYoXlZHtALlWC29ME77pEPPXLMuFNhb+GFNpZv4RKLTjZZHLJ4rZaTUi4TP4d8dY7JcpkDCVURmpMYrmIKYjmKrZKOxskIksQTL5JMPqU8aTbLclIwJTy0XFQL0dxAdw7DQWOzdXwjzgCAq6Y7lmLlOW+4HI\/nRNHZkT3yyC\/hl2Jkd5S5f\/+NxIsgqZ9FOi8no6ehsCRmbZ+9Pa5Oua+jvSlkN8fnteREkzs6EBCMIL9V2CxqXbFhOL24ADfB\/dNHM4phFEtFZoLCBko1dFbLEkiAVx31QrL0f06pc0RKiA66ygACRhAeXZPs1lH+jgSptcNBfr7s3ZyMkhqNB51+YIkZrRIdnZjv8qIOkgikHOKlSrScTjSLPP6+XdZ2SCy5O4QwPip4FZCJ4GwjsUCk8MgfjlIMahKMINyEeBHpowpVri62wTLdLNrtlO8y+b73NGTwFuGaRGweqWpkmyn0i3G6xu0Vr0P6YKGmDLbpZqlua76L5vve1nckpKUs6tFIOSDbu1MqQk2F3Qlue3h6tXBbamw1YPoTjo\/2Dh4SBVwdanS0l09LRiDaI0G1rFatjtXeaAp4jXANRkPiDAlv4WOkBJU0eiyHyBy2oweLcrMCtzXfZfJ9r5NCx6JiBMWKoFsYWF35uLrwmhD3ag0GG3CzHLc132Xyfe9oInjpcKl6vQwpX2S7ldE9oxyC6jVkBgg\/QZ1ixcrKOgiqgujbhrtgzuu0H9OBmCPSTSL\/oR1RYqMG0EVh4eKmxGtbjb0aRRkwazAbN+t2W\/NdLt\/3tr5DzPfmSZBdwrWEWKJ4ErUBEMC8hqnc0+tSd6SrJQLRlOPIgksZsa0k5ZrRiogqBhBxNQ2Jo+KMkttK4QBN+2Zaq+jckeK0VKel+Um6a2YcxQPoHE7OjXCZnBwljqu4UvGkEqsmSSHWVnH2kYoSbx0ZpUTvk1NSKEd1X1b4uViGruB8hRQgeAFI8BLQlKGrx2AZuIlN2rn0G6i5MWKmUwAbv4UCPGsY+nSQOQOx9q9nGQBYsbBA\/qD0dxPxcuQYQGIflxft\/9AcAPQA4X3YsqddAAD75jQ+AQDItPrpgQCA4BkstAgDADRDIW4Q7pwuJVhZzMcz4pCXZtL85\/WDHNkTmoAjiBQIBTGCVIFZ0CU4FCUUUigXBXY4gi\/MPYYqYAl4p0x5SkjahAlqKeVpffFXfWUBwYpFc3o0C9H3ycKhWVum1RCQ\/hHnI48DkJ8CkH8D8j\/3ybx3EZ4phS5ZxKnDQRZCJyBgOcERVxReS2ErCnNZBAaMHXxAKDccBQ6rwFAXwnHtGuCEECFx2ojThSh18qHwO0W4CuIwCgoMG10Kv+McINFPgZU7UPE45nbDp91QiCvBIMCRgAIR3R+6wpWT+PsDeR8aWgemkyfukW1Ho3Y5BuhgsB1xJWxTSmCMnX6uuLXEFlPZBFxElIr0cQdXnT8gz88K6xMdIc5EMyLhVBoD2QP94wPRsM\/uecTJ5W3OGbEavfE5feLrl9NG+pZvpBqlQEjJfJC46E8aCAKirPcRzFtB0IDmqp7u1JK1Fok5bxbdoqfRJHzIyo+yFxagSz0nEvasQsKGlFzGezQmMeojGGM+HIqEY8wexlifbHs4ow4UfSIeRsyIdyFgGWbx\/dDOV54H10qsVmYFzNRMzMwMWJogPmCiYV8JK1jDek8JJImTHaq+cSWMYEzID\/\/KU4sNpiM1EiMz8kbC5ZOlNJ5TQVKMYEwSCLYhCUlIChcpW55wfW6aU9awXuhg5C4xYihUVEXUTA0gIeYj6r4SMQ8G4IaWORAZwJPavQQE\/mWRkD3EkSGnhztO\/76GCfhmJEukGe4+9KEsA3F+GizmESkcHlJMFry49GiejHBN0TeY7kUDiGQjmY0txjwZmNoZwmn9548RaQpKcwuV58J27f+h3LG0boBiasS\/XViv7DkLqhaJ7Lmw736k\/fFjcTxbU0ws8EuXvsp+FbpzwyH9HhBpf3RUsQJFbYrYVexmrCB6WfMiSXXT8y8WiVQGRM\/p0aIZcrF2UHXov6+AdRWUonEzWtPfFr3Ab8q+ATIwRbN30xQfwZXHkKLWosf7bbXx3sMpsgXN9U5tmQZX6KpP6BeT3QCljn8Cj+hclkUUFzqRrj5DzGtjH4mnFLsAVuCxu\/X41t8MxMcUfUgLyaJkS7\/3uqsyrVXoOWOptgFJkPZX8fFF6DF9yEHm6B1TuAITX0ZvslYdVvstmX7Oh\/VnRrxPUEffcnZxgkhB6TOBKdB4ejREsEYmQlpiF7tijGRmeN1GtRniAa2XkfQ5g6mXpCjVHk7J3CtyaSA\/8Qr1Te3D\/EvDJTurHjKekL9\/rob\/XoWOmwZNsqS4D2UJIFI0tRMQefjZ3qKYyIkqkWuLRYg9rRgoq4YpdviVG32LUevdhFmtAWzxJcUUW0sfTUu2Ig9p+j1bmxWiCCdCGkvy1to9W6oIlrLeEVKJeK0wl3NyVAbkEjXm+4BcTUoZcQgjGTE3AcIDBqq2kndEHaPVfq33G4RPet8yd6iSvTAbaz49RqBOSANu4tidH7sK\/0qQ9xrCKTVNwfK0pDR\/kd+GYnrh3fBkLJl63JsRcquPYut9l1joadMfSgvUCFBnsWlGsUSSLuUB9g6jmKSxrv23nk5Tjz4V0kJ04LzuCyQLCf9St2yKzpgjNyPLXVDHKVKB4+KKyOUgim\/7cfsOo2pG6pL1vjZFBh2+hN27qdgH+wT\/wqbQnMhlW4SUal58I8afeR2bnZ0h+gZsy\/i7FnVTMli+oZhOSXYV66bIdOMhExZWNdfqev9dA5hiN8hEami1eocwIPzi+qC\/IW\/p23ouqcYCQTFxFzUHPOTL3gO5oNKJsBRfukNY\/HRQKqqAJ00Rx46gqDdkySoiDdAI5dtq3j381kzHVQE5WxRZQKTq0Bkpd13DFBzkmlFakPECYMAU+FZWwMj1oq+oGZiWwqmbomdRGYCDpQl5VXlZq2yAWCL3rI\/SmnEkRgijvpaFLZW8xBsqwHYKkleTMZE\/Ra7kK1HSn5aqzSLsdRVrTnGEsmKz2b2x20cMxFtToMibTvyGA0CrYELzDWemtk9qizcc\/e73ZaKYalPVd5drca7nmryituBmFN12o1N2sBzX7CXROkRa7hCHeQp3uAtQ0kZQSeGb+oGgFLbtJeNh3GrYbAtf3B+IkxYSFl3x+6h5HgABiibb1HVQppV6bQoyGe5q5WP3Ekfp+MUNy7PsytwlLCTmDAYcHa3VyzyBmr9MpwAdkKKo4a1FrucWWTR3fBKIG7EbCDOdjHCLlR8pNdGh\/zRvPPCGw2Gr9QmQa7ag0V\/buMANps4zVTUuXoQ5zUFBXmIR3r608zgjmR4LBV+leKi5MxkKwjaovngNmLmlbq2FRue7JNeDK+MD1MJDfdZBcqUvxMfoA4Iw6p\/ufZxclAMezFVmR9DKLW8NDoYnQ2j+scg5wxSvSHT\/hgFr9vt7QNpnZH\/R3ARFNFldD7JRcxo1\/5UBs9\/CyZVmtqcsnt4+Xv5ACHRkjkm8zMU9oO4S71D11PS6tTFVRhykuPQPCvo1D8tqisg3JGIfrzX1hl6Y+WQne2seIjTUS22mXsurNU27e4NvjG2ptmw9W6icBKv2Hw13RvbiIn+Mvmyb2Phm3bJX+MfaUUGk57+E6NO63jE\/GqjGFP0O+Fevdt80rGoxKNrFgyYovYpajxTOGtBuE6jO5cIM8pxe9DLAEJrX9LCefNBL9OrfE9xg3Xa7L0pW+u\/GBhYZ3xm454pbGVM+bVZKSX1Z+sNGp1etR3MI1mU6ZQ0eHvjLGdC6FqCvIs0OhZx6UT9GoKZRtspE2kHm7ajJ1DcDxoeufyawvQYeUvHuzGhGuCwGdHkbFOLZ\/oS6aUc75yd7eFmvnLU8mCrNLyKBO7fZim6FH1dEAL9I0kJBDEBO+C4cJiIEqnhq7PKFi069tghR7WNAlkhbuGtHY1M0FRE+VixdOJBIV8zMrVNcMWkLWHA29hmENluKIlScda28knHcA3Y+fsCtwSmKEZ2g89Lp1xhBcEWyx9DZ2RbEVwdvEfl4F7sLr9E49N7r+Eq0dYhupwMJn\/qwdNAAi0NX49kOinM1ssqudMryVjFdfeE3FplE+hDR7FSYGtJvxhO4WVWxIAa4nEebFX5lWjIjV0+DL9B\/3JoY7fNleovpQ+enXelJ+5azEh3Qkh8pkHL1YI2iiYblAkpIWhXXrYuMLRtbQhDpkI1xvJfg0ey4rumS9FiSqhMCSITTQXrDCWdAZdMsqkkx7CpH1w56ixKxz7nLJoZPxuuFdaCTB2eb1sWGBAxunQYaYxjwYzgKkg5JxFzY8pLa92lyiaSUHWJC1b0GLPZVOdKdF1UB1YYEdupdXkLIb5VlIP1CZr78I1M8cxqXVxXpmF\/hD23SMQtEfirz9uAmGa0\/3zDlQdzsUx0eVGeIp7qEyP5++VdsKAIVMlMBueJDcytvas67hRq77JgeDiHkiCGU43tAd95Djk5Nhv+hN3Rpxqycmkc92amMiAK58xmAqR8VXo8O4HWfOg3lG\/sFoC\/gVulA5hi0d\/AXeLvICUreX748myVEfc0oJsAjRNqzYUgpzvqJ6FvAstLWf+aKZI5S\/UsOENEZidPecJtu5TDhf7jnKPUQ1XNmmUnx4wTi558SWLnd7QOJBwKOg8g4ErgkQ8U8J0pTxcpbm4jRS6aoY3e8\/QkkDLDarAJD2oX+8y8GRCYL3TWx9zLDYdmTNSBNcpDQtOBDgxRN4ZQEoaE4pjkf5QQRwEjlsWAPrkk9n1J4AaNMj+mJ3nWMJA5LG5+wuV6SK9W+uhZ3bmPv4BdE5pPCbptEKqOYo8VpasqLrJjNQc+lBFGqr8\/WenhYd2rW2Z5VQyyhOV\/I8hZjyviA\/uQgzw2u96IjyLZMPwLSlOueyEQ9OIxrlzOu+dmUSR1GWI+Xpeiczol5tiorD9CpabAD7YnJneiUJM+M4tpCADVO9cxPhE7egt2hmRPCNvSiWyWBuffsxjd5KKT1lj3R9Ckaq+OLNDtWAf\/aGSFVXx9gAjlJ4dFb8guRQwTPfYTu9W2NS7XBApZqdedhqfEcgufrDgib2iQ9Mrt4YrC1SfoWu9JOAVPDDSV4Ku4xuC22UQbUCNvGefAPoFA21qoKafBZU7y44Vrsb3kyEBvDG78PhJjeKPpFld\/RglUks\/XmTCBAB8Fpjrx7V+15eL4JfkY0cd2AY37PgrhEJEQM8MXiM4004SozIPKthwvru5yX+DwDAe6ReVkda\/EvWiZ\/p1OYUW0Yy16QIVXfHA5F3rI34L05yZRqJiBeiNdCzCpI4KbjtPipJFicrrZGvIiNpjhjl9+y73eaIldHH7y\/0vAhKHzYKcIfRCZDNRWKWkirj4FoYeoDBVTKJ13J9mAIZNmhRmto7aiXuqIql9OGjVc0XcGCATylQ+lpJIM8nMj97V9do+MyIWvaliwvAyBDIYE2pUpCZC+Z89WN9F4R4pw\/2uCMWBDSgi9pnNAGxr2+RUjCXIo1\/rkI3oLSKI9LkjJYabxl3NTov1fnxT4v2Zlz8otGEvDhsG5lc0znhLS8rcaWND\/+oVBAGEzzh2oLlWJsbqdAvTfa2NCdxeUpvJCnBFW3i2AtHjbgrjSu+WevqL7cQjDpPjssCfRhHtCrj5RmfCC35OVsT5+zj4AyPrz7OoJHYjfhIVVbllzRO5nM4gTydQ4paepfFrsTJgNBb+JG6Sh27lHc\/tG9N6QIaZQU+W5XCgZYi6qtZJrJtb0CE3OU46oR71vbZWmL3dHD7FzeN38fiBr6MJ9xKbQjZ1cZXRb6Tc93iSy0qXWzQjI9UTrtX3dwEkhMsqqDYrLSH6Fh5t44IUcPyt39BKXDBakIx9OccEK2\/N9GSd8Aco0M2cmMWLPaGhz\/qhx8d0sOTFTvO\/i3R2yGjp9sUezPHG3VOz73+0CIgiTsl4K7l0qHne7SmhYhMZdcitZjk3RPLFIe2kwmwECMvJVHBwm2TY8uXavYkjoVop9QO4B7IU2Jau90ueluNGdPrUZROSRxUZ1Gb3fFd+X4aCwmgrgGKjNSYGX4MqraI7mvRUet4Euazocg4PNHVtmWhwvOkyATmoJLeW4K93lFqlPIrcCFViMc1oQThuJ4bykBD102gzvCMommvr5SOq+Yt9SDyq93z6ZwctFEMsuy0ElCtFqomXHMLIy6EUE8A6LAo9WWf\/arCLlH5LmPYvuCUtDJVVRZHhQKFaz9Mmxl\/FqLL6o9yz2ShRRvGknAkaQHnp6b3et6FvUg4XN0i0ROoR7dVoafAcvAUG0akBdgQrNPyEbf3SxwdvGy6EInE4bOozaNRex+fv86joUI+RtyubhmJ1N8GXKhXjYaLtDBNsjUHxa5tVuVh90P2fQjmHyPf0w7fGWyXly9s1Yogjy6mF960RSf29QMCti7JlOg9kux0qqh0lC8tR3bQ57bpKaLtTWUtJWysgvNZPCJCIEIibmR0vrI7XifR6RRO+chIgMq\/7BGBpQXr+RRtqV+vW4KXrzlhGuMsPd+mkLKplGV\/YDIM6ldMH+IPBEWR8qjk8tgSILnRdX3Z8CqdQHHiwONB9UvdC+7cXJR2y3HLbSuo4jXmElz9XXJenSHvlucJatAJrcOENQLx4Tjcx55k4Z2kNqOgcUs4quaD7MtLnV+\/VhR\/OjJ54dsXvAzdCs\/SjEU0AzygTzQBhuveQYShOTo6V67RGQeVvHQKo6RgWnSmrs9JvBIXhYfrEkDfNpbzsQMfsYUl5zKVXILztEZ\/xIsVfcs5p9Hp3KV0Vm9mEenZz+H\/09i5tMf0O8edIdqHW6hYj6d\/sMuZNkArMkm8P5T0uTR3X\/Qsckl2xOct0qwE7ZKLaLya9H5nYXSuKcYyy3N5nOhfdMyS20sT5+LU5ays4Xl7owZNSi+1lbn0AeosbQo45gEYC1KInHK2RY6yyF8vUBxrLDkCL8gd0mcw46hdHRev78BbsdKyt0u5zpGKsq53rHeKzPSuTnduHV9ZEqv1kQmNzqL7Ymx2kjk3XYI4Kp1DW+\/ZwBrtaxvik4ie441TjBbNsR55OiMe4yI05AUlh0+aVgIj8FkSHovTzQsVI+Jecg6V\/+jpmwHqyVLiiFbaZPmlhPV3RZOayJ97ah3wbo+nRPVnuxICX+l4GmYwcUC\/M6Gmp8fVSrJxirZpabWu5tPscigXmPzN5Wkw1FvHQj2eQqFbYe9GdKFGqzRkPbnECvesF7QTVmGv1Tu5CY1nFLzbaZLB6xzVPG0qT0JcWSaT0bDeKQ05jOYPVu382NTjIfOVgpsXmVV7Ugh\/IJ2i+kN\/OgIES\/QdIYid8vUEWKuPrIzvRDjKjzmbSz6R5yhWiIs\/2PX\/0eA9dDJ6bGgZ1FxqfYl\/P9MRwKBFcjmvS7Lsywpas6KKdoRLbQXHPJvfnQj3FvovWTZwiRXPiu9FQO3XISj5tPMsGiGzmZ6r2izqdGusRHgzocgBz11IdvxQfXG12jwmJzIIi6y9m6Mxst2MQdXvQ4jhbkE5Oh2GBycd6G7ECUWRFVuT72YTWtrlcDfBXkb6gYulbOkvWECWdmAPbmk33nYp8h7VLwOI9XYFJSJ8bPdlwXbhkmegm7H2f6pjbXjyV1mDbk4X3VV19spDRft+f3QzQO7wXkgy8DF3nk2l1h4go\/G5cMfFEVy5seOxc9fYCI3HCLM76vAMZ8nqw6UP3RzjrfrzIY\/z6PTN6ve7ZrDnYtCw6Jh\/+fBidZF03UrjfPuPlAqO6SGHgXaxPqhIl\/OgykKm3EH1hliJUpHw9jUYNHD2z+oE7Guz+ODqm1k8Ozm5xPwS63ZcV1+stqY5tcOHtO57carhkUzDw1u02HSWsd9XBD3DE8hmPczcCG3913XrGFouhcY\/HYCkIepkfSVJcBOX4q\/D11KFu1AhPQ7mNrO1KsI+XpPrbyxB7LTt0T68nd9M9POm0vmvCVn9qU\/fsQHFWjIqm2LeggRXzbZWpB5Xtjt7mritdkbsy+ATKZUmakakxO1Ks9ij1CfSoSDr856flixQDiax32Jy8eaUzGvI5fks9oUNQimYYH3LGkXu\/JV7G1RM8Hwn82hYWFW22SevBuYYtCHKH0VEHNc4MeMmgZgU88i200b2nEN27p9fUY4pqmpqHWnRgajJGeuQPaGVSYW9Yqyx4h7bdWsfITu2dMdGBQWofjNGH+BtY1xkXwakKrhYn91PRKBFbtaCtE4PfGjvzYAR8gRireX5Yjb0IglYFQoCN2NgPHwiCZoShEUAcI4V5thojAdvQTk+CW+BGEVAtsH\/nzWHYGi4Ks7TtsjUGR8BT9\/CXY9KKwAxFQlg\/X3klOMqMIkHyza\/kNgKvJN5AmfhWXUWjy6bpGZeLxwVoU9xJv\/04332BWGRdUt9F\/WJzfPnl\/BMa32lAhNs2frEXcXMojY+MPo5MGEzoeUnq3TAZWt1JDKN0iK9n1GLnWVp1tGJbWGmXzmq63XUCtAVYS9M1MTnWT4I8p4\/TSL8UY8YTkzxnJzBAGc\/7MqYpgxVLhr82hOXomt\/NyWZe41rI\/nwa6t54gQJPogggFoNTy20Lxo1LPfGDSnLRjO2Vay71BAO0Y+icWLdNfugkLh+n4Kq+dnvhx47Qo1HoFiAMR6eVxFsqOy2KBeSnYYsvLNXHKEzmHQ3VvQpS5Sz+gTC4dtSWkV5UKfFIugVEuVIUNVs77TETD9dySOnV3ZcWNzYpNRVTNWXpMlyyY280QZTDraQcKCK6g8umbcFEfsivPc8tTG3cUQI90+mt+ebLFK\/xoBcP\/nulj0fejpXHo+ASn6Oq5pLX+tpsda7\/Z6DMlGafnvUCB+xzAZHq\/bEGOa3tTvIkQYcvJ+7jkkGkoXK3GYLkkKikxIsYlhSBJ8W2IDDoQwY9qhKIwqtVTblcID9bHwhbQiYQEDdwBJt\/\/fTKSDJwsB2SjpIDKmaRD+FOhJjKTxCsxKDKgW9y8qJWJwPwP3ihFoNmR4v7f1Ip4Ca2MPMu4zNpN\/A4TXU4NDcRNx08L2arrD1BQtrr\/7RMHwuVx+1hVMTVpdMtMzsNY1Y\/RO6vbU7Bheuj5gL\/wHxCHxuml7wq1fsM7D66KwZx5Wkl69FvsTveHxnXFSg17nWLips2O348zoY6o16Q0AnnXjVOdYwtuu\/7mR+\/+p8lHLK4MiCr88Ii2jJFx8cvQv0koSAv\/jr+dKk+H2zQVkJHDyk+GqwguRw8Nun8EodO8KYOHkFkXWlw3P35yaNCXEJbXX+CK\/bRs4QNz19p7VRp21UF1VdGtcN4ZEE5MHFhUnnDapAnnOCWXn1Yicjt67XG3ADnBmgBM2s1rm2HyyMSExgYgnRzN\/n\/nXwGg6LUFYbdSoB8WSoQM2f6HISf8SClI31MQ8O58WJajokeXl1sVHB61UNx1NTBqvTcm0pdRUr0weNCeGVy8fPuBm4JP9P64HABErShHfVcVIKQtkNVzYfOCNgW1SgcfDBIlKh4saPb6jbXJT2eEUT16MG5+6ruYmgUVDkWjtTwxHJjlqG5sE7sUWc3PNBPkCGR\/wfoyNfYEnxH82tvMQzMPEJwuDC8+g7HTruc9B8EQe07q4Vlez1ptqEp2GEiIVqDWQZmtYdVqCiHQdhiGMyXlzWn+RqIrxD\/YPDCp9m2M\/7r9qbP9CVkcgW1HM4ZWrXVBf0p8mzPZNUmqoFgbchwV83mxUbl66d3S4Vh0dNkzWQX03rVAQJSiIywKbagedVv\/movdWXLoyXqzfcSGajN4\/vnpnV\/sB23Xnxpz57MLKIXPBX4i0hWo\/8NtOiABP5Ua5Ydf4lcfFa3c593llJKZk39e38h3RGIQBu6x4fXnRvrzmhG673n7Tddpo1GGbURE76wy6krC7JPaU\/WyRczY+0qlp3JGbm7\/OB\/xvznRk8YpukaIAyrlr8XWV6x1sazfRB3I1yyaL46bbb9syDGpDprc6coe5dWBoz3xrkc6qVlvBeo5+H2\/uqpip6y27X0waZ8iUclpJKCcwpAckKdaifN5Ap1JokEx1ZgL425EE7IHHc5u62w\/Yr9tme+zLu72bMv0OVRO0t50C82hvnjq6Mn2konWFa9rkndTuqto2MDnrn9Yyi7K1r0LVTcvemQFz6yxi2rGLdw4DpfZkdKcQqLy8nVF\/UBBNCPzpmEQ0DAHU4+FIEkeLI0S+kxEA\/90Mw\/3Ph9WVMuzDxZb6gKPfKt\/SMJJcFNKYjbi9baoEGW2tmzL0k2GTrjPgqnIEknUWMYtxHP6kJoHdt45gL4iuxjAI41eHRgVYtj4+6wKWgEcEf85no2ik6pWDJsm96TO1PStTCtfIykQ7ISCKti49LVSolWctWn+\/+ZBTHe+5uL5fIESVgiSYVaPROcuGPemEhIilwEIyu4iR5kCW5BZHLWfTc3e1QrTkVGt0dqlpV1TzilMQT8ACqf\/JunxSy0Sve3aXgCLt8CCGodWvS3nn4gtSjbdml76mdBLwaCxy9kP\/moVd\/wKl4E\/tfBkRxu1taEArCspHj95+s7Q7XSJkjukA11K74KMif9yiTtElGR4rpNXa5Ld7Bn7MNqbuV2\/ypvbk989IKLx24PX9kpoz8W98mxTJt+Ea96+PsJt+\/xLXPJdLUKeM+LDZ+D4xBm0pWJFgx+kJBuZgWsQKP6v42yGs5eb8iE6YdPvkWHzEvx2ubWumP1frmC83nNLyb0IKAXOj5mn3JOZ8SSKTv7zzk\/5Gka+06miKryZlqe3VtUQUQvXMHt8tTR6p6N5x\/Z8Txxnp2rR7m6vbSwQXG9rLGAQAQeRWlaa63+EYPmq1r2uamCrKNM+0fxPofGNRcDfjLSRBjz1Zq7eVLeyWpvqZ6Dy8V04WpwQt5X8WN7kiGYkfvleXlllua2idvWM0yqlYZO7jzmx1cV+qt2pWLL5btl6IW6z74HXC87zuod+G1Vlrx6tP2Vr+w0e3T5evylcdPScmAgfOM+q\/EAg1kYoTXodgja22KDEmKL\/MswyaUWgEypkF+YEj6NMn1FWs8c5Z6rREFOWLyFq\/WHpz2WrNL5B9lAVoPAO0w+8Q544fSR6QkTPqYJOJt8aAvxbAYCpTrtbk6z0+ehoP5i7xQjc+CxXv4VyzVsBRSCgTzd1E4EUfxir7yL1VbQkkXp\/knRyizVS88GuVdxZDZ6B9+VGYRAptCRw5\/+PoDZvRoteKeNTHET8dc\/j0LVT7+xggK4DWc82xDxO7lViYUWKQXMl2tFhiC+ZZiKWg+5gpeH9xdgIzYrDqXJ4DFYzIasr4MNQa3NhnLcBvwFX59NsOhcYWvrJTT+pWXsJgiTOZObSKPlfk247b5KDMFFLv6lCaC\/H3BgTEtPuSZcGAqo1vngCyOj6S7Z5aX10yNPaigE35LDc3DwPnjLoEGeXll1xNuxpykutn7r8jZZJ1B3asqy9dNPKjNus7bONnLtJnXH6TaFIU1ydBopMXhgR1lIBUv3XxGQPqeGWKuvX4\/y\/Pd4zVLH\/7kp6SNVvHm9kc6Ea94kNnVOXwJhZk1\/y2Nx0E9JPKg8AKtskXnbZgKekMdtcHVDIL\/y4OToLSmqbLlnbQ0zv7b50XTTd7vNu7grW\/DZ\/e3VgfW0VsWP9\/fnsUAgawtjwogmtrlfnrC39YI3w3L1y3q8vSVy+aCKyoaSo13GjvvRNqrANvFqoe0QvKXjbOtHnFwYBY6YGn1X0FejGrhqeCnuHM5hDBqFVisMdKJJKt+DSXrwbzCS9e4VI8wL1Z2V8yt3Hi09J+8GncWTEGcbJ6Wfil8f8TIuJmT4vPxgznpBDQsMh9lpgSiyOtvWx3U41Bpk3mTyJBOLMzKcpiN4u73pCNZ3vTUxmi4XYpQ\/FinpQJvbL7vZVwU+QfJ79blhjDMvOiH77GnGyTa8APdr4TMqrOMswia1JDOaW0eQNmBT\/tiuEDkpBMRrbdts+XCexpYRydwszx09GAJun4tlKiJNi+I9Aae0vzrgyPHMXmJe24qD312rCaFfVK63R8xnVkUzHMmHJm7e\/22PWtPpwtyF58wAwvaFs8qBEuE9XXu6o85M3LRAQ1DF04tb1VvD7IJADlNFryzwkTTfKwzmTKOjDcvVEmEGuGGp\/vIBDUlNmJgQSJf7CvY21umsetFAUq7enR7kUfGPONBVBI4eWj20clzMTebb179Vx+VWY3Bo4zpoRV0YpsY3tb++JbWAzrj8edrb35+41ICDCBYWdlty3f+o+UREuqy3dtQlrqOfdJtsn2utv\/i7EAfgDZCByoqNJKDMrkpQdvT+bIkYUxuZs6M3D\/4Wjz7+\/8LoHHlweDt9Eg+c8yjUieXbkrzbP1thBEpixpdK9FWRLZdMMnwKru5OZMd07mkb7BDQkxSuFwzkqpK1+PR0S4T2xFXtMWC84v2P4IY1s03HjlCy0SSP9OrjwZa6\/YReksWVUkakf6nM6Q7f4qY5Z9dej9uauvTRbHrf8dqrbZkXj+F0zelrHCU+7tc+j64BZ2SLWWalWc4f7l9KcVgvmlS42r6wfmclzEB69KfqLnHB+bOBt827wYUGmoJbvn8gSLP7MWEhVWZVBi1UfTOmGICJ1fpkzyy9SsU2w9uSQHX8DXGRNB\/r0D\/Uqpom3T9oE0C9xKwiDvGGmJo4N5K\/gMZvXd04KyS5xbD+Wsg0n\/Zds3zE59EaNAAG98MrL7U\/auFZ46Y3lCtS16IQ59c6RaVFYlbbBu6q14a0AVzRY2tR0p8XI+Xzt6D+rLa3UddUxWF7WIExavr+tPsDCxRF5P++HyrGBKfMXA2ra72dFUOll\/oqUu7xV28kpnqAh4cgD9Y1L4wq97dqSwdLTcg6sAz5703227GPRIO9POE2dScWK\/pornl2tX\/\/nyfYbPEfBlJOt3F1dqYuUjW\/cPaoVbADBDhq9h27UmK3+OCEd\/HpSFMs3MLmTTELK4Z06AILOPiZiJM0P1c0IKZfjUp8w1Gw7\/IK3csvjbqHQkYK4cLQDZAWptbLhypAo9ih11N3tkOYaGr0q6a7ms1CsXtjbKi\/uXYx7B4Nh6J2MFTlMSrlHl2oumbc3iTyVE1L94X99hl9QhNuZq43z5itwbz0CLpTjFYx4dLlm3XooxGKZTrrI9tdnRSffvjcHzfYjAxFF\/u8kNUQoAbM4TDPRDDGlXJJGM+T6SNkKY7Fqk5ZhVsurqmc81AbW367CTK89MwEIAPFGJgGtGHivztjxxWA\/RL8+GaoodmAb+BTrAP\/cQ2qZxCAQOTWywb6x5n9dRaVJ3Xbbmnf9cw4t2ru4WFax\/tHFWQqUkPoFPtk+JsixsmxgA4fQ6pcZljTi5qSfIfqny9rZNae2TR+3JnvRpW0uls0EUp5HmJ6fa7LHxZMRirK6k8vsJXtVAeCits736xPtiJODEl\/77ovF2voopEQVzTuXgo7X\/FWEKCf\/GopHBlR2k185WU4x87CYvrX78cGOkwGafWz1IvSQEj1LeO08hOGARn20ZqHVNn\/gqFvVvEqV1c1rDlVM+GPAaCkfgPzgmJBDjZxeYNnwXn0lnk+wXPhxuUvWYjvxmxJRSRplNrPeL6f9Fo86TMeAUnNfN41ZGmpONeim6jOIYmq2qTOC5to8l4EUR4urJKHgUeC00ORGeyrgVSd\/6dRKKi+zo050\/eeOyr+fmWAVDvP1R1lhLw+YrEhC49aKh06Y7c2pG95QF\/w\/v82KgVhgXeXF+ofZoVq5N6o03bwCZ60OK+JZWg6jlw9O+wo\/n8Qh5lZBrT9qzkJnns691NzZa2iWJSdb5VVKTCMTjYK0qKwmOQLNg0NsG+TZLrMKdJguOjnXv9wNvrUPj+OWfdia3WTj9vVuW12WL0+7JBcg3oWT6vPZmRkF4cihXTbeasgc6FnYsyZ5MTAtYLpavXG+Ra2PzZQRzFmUlHU0rr1xVGIoQ6Ga2vtdb1F6V5F7UMj46sdbM4Ml6izff+ZMUy6MnfvHz6s7WVUWjXanfbjrQy19YORX+5Z40noznKRY2cP\/Qt1XvP89GAvfnKZEGQRWqA1dFMCTGZO0wfP5GwvJQXyB3dpV2L7h+PDEqeXeuIBQmE14ZluVGlmtPBegLjA+DZjLVnFWdPiELNC3yPt2262B9l2tf9BurdMksfUQ5ph1fTtTHRCo5qI1W\/ZDWlEVGY3kH3c0ZMYDoYRST+75o9PDSuLmPiSjkJ4RvCFjSw6vgIdh3JAD7cFmFTHB\/7H\/KtjGGlrHuLcYKNiA8dNZh31i37gV9iajlHSoEgSPRId15ESARGOGWIvb5mjQ8ky5espoI+iM2HAAeJRd7id7p\/v23SBwS6tYfaOcmEE\/UDYB\/B7PEX4QtP0xj6SbOKDhZxpSKdSP79m3EECORUOsNqKdjgxViQl7Ljzwk1D0mq5J6Rhbwk98lM1rIbawhPYoOVOzuwiKhXsveep2sfmTQmbOf4iVC0fAlBAJWUN8m5jk2OGTODODs9I8CmHTxKAeJYlcHfpDd3Ssjx34PgXaUxXCo0lM7kpH9FV97p\/kY9sEHWdkNhxKoWDxoUsTKwzgk0LZ7K0+F2uDSoC5BZphYksDmWdeXYKIsPZ4EU+psGsPsuPyvQc8FksIqiuu6nvHxtmpUxO9lQjQuoW3Ie4yH2zAaEiUQUzNXFw82BeIjmAm\/lT8FVa+o8NGG+ufJUFhe8YJhn8\/ryhifmJ835\/20jEcmdu8n1MyMaVwSJ6fAYNd1YZHAempeBKHsqjfGM\/JW3iD+TKQqFf7+sqoTjupjR6lQ6HZvQpojYKlRZvNoTi0ZDnYx4ymyzXN8dIQlkb7DSnoF0bd3tsQgMWiBk3vCOBDmNbhUrpQ0Fsc1iIbjF3aQBETG1RLqdjEOeXTwiHzjFytQSOBlC6OjzrM9LVH0Tc6k58CnCeagiye70CAM3pG\/IJ8cwYqo2s4kc4o72YShTeW07Ooq7rXsgGg2nbMSIn8kxG9+h4ZG0ezm1Dp6xRLpNTQSC33AEez5koIEhamZUhUBsR4VsflxN6jGIaNKxB\/Tc3N6qj2pHCrgZaHZDvUHN6EgpgzFqa4vKwrjFGAN8iYddLyWdhoBouuX4vbg7mz7pAiOVJ74WkEl2fDgAGXLTtl+fI18aO3zCMLm5aemLuIQP3zf7jVRojaMR4rQl2kZiawHv9vTgZC0V5Uci1ohVZoOgY\/va9kMLfjvSEG01aneYo0zpsyskr77k6WvI+fDb0VooOswB0HHRZpr4Khjy6PZmVk+DQp\/djEHS8uv4gpi5uV0YUHYg6PKCBYtxYNEbG0nIjeClD27EQgQOdnMfAt\/hiA+sx9AzI9bSxRSwzwGVpIR780aJRBwBK1D40BDkbnpmVYdn0\/EtE1jkR9tZyHfQuDqJynsZU7Fi5wwDgQuBnWeTHhFjg2l2P4nKyZotV7UP85YJ06xK\/pfOJRkkZ1vDbho6q7DxivAw8tNnrx5jEKG8j5YpdRivydaiKbplvxRCAyuzLe8lqmM\/XwgxMAty7LbombScLHZuQfJEXa74v5FG74Tz9den2h9D2UBgXnOraoFjo21Wj1O23Bj6XoJloSlvi\/P74SAcIyUxxTk1y\/LT+PHX6TD8VuGsUSaYvusCB\/nNqqu0eD2XKSCpv7r7wx3Bo6JAolOhzuc1hMDQgnvKQE3+VnsTFtVJ2Qn\/\/YF\/qkRWJH5bAbNXlVO2I9pqrsYHb8O9yfVYWXgsISCs3rZFKBxCqqWp43Ep4zLmBYsk10hRpBfn5035Vgk5h6jk4KwSD1ZwLK902BBHmjCjs+MH4gjMZe7kp7nhDEqfZPIiQksCvcU1ac1ow+r2gggbwVLNcsexCzIgxCv9W8gYIAJHPEuEzzQYqcTolvXMBFLEDXdZDicOlxti8SjrqDuV7DphP8pLcDf+jv1wjyfvJxo6kPDHxHQqpmomKQAAbnur\/lRIgQAz5LeA0IT5ahBygGCqrUxnfAjdycOJFf55TxWTNsSFhFrcpbQ8bGLmza\/dIhTW\/TeBBxa7PcCPiQSvuGwQfkW4SYiOI8lklB\/DBbSwI1waLnGmtRKiSLjbfHrpuRhLApya688NglN3fpyFTC0X\/1Zc5sFFXow0tVno2EwssWQVpHdIYk69uOJ0flvQZSVhPvsgYwErxwXohFF7Tw05cAqGngQyVh5ZNLZWZbThUHAEJ35FaZqlTXvITfR0xZy8tHfMptvt2U4nvHfAFYtZrW2Vm+tqTGu3+ci1s+RCKewFxDpgydnRoScCKmu8klhSZ3B9JCIhh17t9jLxGKYetWXmee+KXTIuBFpp8OdKChvdzMAft5Bg9OCF8i9sAZp7Y0wSVrzdkJc\/zUo+ApiWSyiUF7zMJEb7kLCFmxMzuaT1dYigH29EUmERm57Kxi6tg9LwFsnftvAmUXW+gH39IzHrJTSUjSDU4tAi78Q+lHsaiaIFl8H+PwWlOmaNSrsddeqBg4\/d2XePvBMQW5pefNTccVeKFhoRKH+Wciau5rV71MnisumyG1TKug3wlCNIeRkLR8TEKDFCLQVcBxTex\/CwpaUN\/bqU5yJaF3VPmHO+g\/d8Oz2kRCUm7h9bRHDP1QYwq2YRd\/WvAxZIigeM9vrMOPJ7dq2ygz2dJ3nk19fHFOCzTCXLK2HPaUj0Fdt33bDnwL5NbFHGarsWo3JmOgvjTGbS1L0ZjiKCWxJb+o3pII4MthxUUay6PQmNwp8ode75Blxy4+Y8CiY+PQYIPgHDl\/D9TWQbIwofpvqQBvAhDMpc0sFwFb7BcknOxszl5fLY1VeAmgkPYmHJ2AkSAX\/tFGHB\/SHR60Gn2Hv45EBjwVebKsUh7+aF03jY3BbY952m97raGLYk88MBMGRdWYoiwyDdcwY7GVM4Av35n1YAmP2IZIIpbcEcNlI9GghwOiTfm27hmdm42hufl+tLl7XyuzN3sxkT6wp3UgzW3XuZpGhpt7R1ldUpfpeTsNjpNTADr+potQZaJgec0nUOS5TeZG7PheeMWHZ6JakFyf68Bl4+vqk\/IyX1sMOXbp1fF2m1G7IlAVtodKg6eWbCTD+WcHy9QVpi+WBqT3FAtE5Rp1nxCePDtRUp4\/H4T7FvQpH1DyBgZiIYBGfyU+b6cd6rJQX+OzBlc6SGlNPK3DnBwsUcTiRLls17uYxiAAFge5eb1HXMQyh+kYuhkFoNm9gYGGazSt4\/Er92FgAA0LdGYsKmdx1cgBKtuqh\/usnICAcLHuajQRCkhd4GgEOJVUoQ4k4IsO2mHuDDC9EINcIEqDwxz9XIHqQUHyuNDcWg6OqC+PeJUML4PCGJAaIKJQtBepjIUDCeH0rGYf5Eiv+OD3ENh240OSwmAedU4urXLHrhj+Y+z9TP2dN+wXJfq8OboE\/qumkYVCMyrFXU3GJPuKeJeTitQEWEk6zcyL0\/rxcuLLOrzgfu0kQdFlXgeLNEVCnVssic0uDwuf6gm\/YWGbBMUYpiMAA5\/BCr4+JRsv+RBLC\/eExfw2DBKzgko4FYZUcFBF3CwnI2gQGq5zeL8+0K+m9hyMyjpIEAt5lIGMe4Zqmrq\/WCfMLRW0MD5A4CNtB3IWY5j8utOUxO3matoMu1xuVn6ZYjAgQHxuT4MnoSrJLGNxkc4aCwjQ5auarOsLlMbyo5G9sLQewaIHD1ySV94dP76EoDWa0EgWQ6qrTc+FoxO+vjzZFS6oqMjxUeuolHIiO8GQKY8qG3FnuFH6+vyxxh3QbR1bRqOc+i0RTZNOyLCuOFZN8vNdR80sv6knsXzEm4Ms0sjduK0iMF9OZgCHWXtK4iIZYAj5lvTaF80e6nAA29cFr5phIs8ZZu4X2PhHDizUBN1\/kr82FZSYVrjn7x6tf4guKw2A+V\/maCmYDjWT\/qb8qF9\/4mvDl1ODmzm37KLMoayAaBcu7djFXxVNbcjI7pMDHA6r\/8NzgRq2DIzFpPrGY9TJ+a8wLBDLiQuAMQw2krYzpgpjdLbV9FCTHQnnxx6YUOu3rWQtxqPkhLbtaBEP9+s0aL40AR0UAf9DlRvXDXEsGUtBYSRM4X1mbUqFO8v0g0G3M\/I7MzTx\/dJ2a78zkeeQEXEOEHaCOqzswVoM8HfAPfI2Urrb6nsx3H18sXLjdFcZoTALNi2LCZmL8cQwKAw\/FsiJ8UBQSvRXBYdtLRbrq2o1b+gyJbOrHBDjmdyeWUjjaVDiVyFDHaOMbNLXRYRycElRXoK6KU4J5lJ0HESfi8ZoVZRjIv7JNpYpDSapr1S+mP0hlifl+foo7a8hdFiP0ZEagQdylVDrVU5FRJYkebXr9dwQaAfykr7Y6anqPJ1PSmdYs2bSMgo58pudWNMo426SQijNPsKaYv2KfAKWXS3VY8An8OIMl1lkCyVWOgEvX2WNRjG3KaGvNEJxOKB5YlExEI062NaurCq06TVFoJFnTWpqurs+2lziyU9Q2VJcq+1LBVHgWIgnWPlAeJ3YDLFm6KFHj2Un1II6GtFS5fxYKRtPy92lJK1UEj8XYSTX+83NqmpPxPp6tkl5li2MsaSKSLFqOpoiWuZ3aCGKdhvPoRzo2S\/t85fudH3t42UrI4OW5aDzJDZx5tR+56kJBXTKpeuiPvT2msHwxQ+Na91O0Td3p5qvG3LHVjGqRJ8Mk00NzmolFORJ\/rsNRnlqlLJajdXYPFNwMtU3c+Cz50cPRs7aKLOm0RXaAWKSwDd\/1Q7CCPV8I6hnCW2OTiXWwDLJs4Ejy8YKr6FUYkIFHTeyj\/AJZrbm5TCp+5ctICopYp52zrPHWVSTo+wQ\/cCBZThQCjTIPWi7z5MGYxNqiOZtTcMKriNQA\/7xGmkR12xVaXhAn6dBaOrVREdYre0OnC0ArL7t\/OvUkyKQk6LQMFn1M\/NX3+vCzLtngR49rrnnoaeXvgv5PcWDumBM6dL6g+NoHuyZHYPZWhx5zLt8SNOtRdAZxD5LUon79Sgv\/anYBT9GmuT4C3mG9GYKRtVGo5bxfMwJOTKiYJos0mbL7o2Hj\/oWTxZ60Oi5GbJakYoOdCRQki6nCS5pRXaoCkc0ElUeva3gKDg64ApllbiEczYmpywuUqiB4gb94dbZGAWcSYdQvaECWxV8Z2+fZn9L\/asx9wZenTokl5w0bRvpqfxn+3Mz+9YrvdePCRoikekVe98W\/hqPJ17yofQsvFbFcOn\/h6K+tOIUe1lVoaYLUZIRqWav3kpvhIBBPHy7GZmOB7Shjln1l8cOpi5eWFSC1ISyKUclFtr5ZBWMsMxD+svkwtictXmtSjKUKV39T1R81VWMY\/0SC1UGl+Z64ptW5NOtmlR7KEov3t3QkxiePXDq6Lv1bLxQr5sJH4xiUqqPDKdU739s8FxMu89grX+dOjdZe\/kiOAD5fz8JSIpjp7ywK9lw5rWIzFPtvNJYpGlAgwhLvyTwdxrVNLnJJW7\/PjL5tDpT71lwU4rBR2\/Y6G0KFQ5+3beveF97e\/EUkH2AlaueENl0XKbU9KXIO1NQSJgXX2X9qv+Pwryo8tUQtmNuPkhYuTmoJA1ca4L7iUTCIVX3O3QDU5e0wDkW1oVhg6bFJHRlt9Vg251\/TD1lGmibq6tDoR21Mk\/0UTp9GQAKRHSg2KiIn3g\/7NWmZEMY0XqVyabLbFfzY6GrBIxlLbDSYqdCioegaTE+KcagKGAKRg4eRyL6uoIfPqa4jNk+MxvpwCGrXB9b7KMPREOtnYadS2d61PIsRjiXhtaGpZN\/TD8Z\/lN02ETn0Kotlh2qw1bGSFqAQUYHt6xYEKPxF8VS5LyXw3HGz8CcsFAZCYdGtHPHYGP1DrZl83W\/6Ju0nyxxAQty4QWGbnLSszQjBVc9Rm1rFLrmLQZTCniJel\/FYf9FqDcaw\/tyuQNkqcuCezJL9SseLMb6VkygIfCC8YjzcpUaFpANyOiknUV4gyZBeVwsA5Hd8ZyWKjBDbRLE84RhjePY0D3KpB19DHkJ9SyUJ8yGDVyyOxMpv+FRtPo7+QMfVf\/r3C7wMmmq\/+u6MCIYifODaLosjSPXny8CMwM39NFdhVwATOKy95s4BykaSWOZSWsDNdwjlD+0BPw\/08O+9U7nExqnOCKE7pKTIHQRPDFuStQea9XvIt8mJjcyE32v5+Xg4\/+HRuKtHpE00VA92b9jGKWpLiudFhaP+9A0kmuuw0E2tzMD6ckTu\/3ArrDu6WQ\/0rxBR19CfcFk\/0U0OmR+xsyTZ2GGMwbrcWEfRbOnJXUuKiCHYg97C41ndf\/+qIx\/IOrCvaOH29PonjWNpATmhkFeVy1SRIf9Sm+FG6bKdtp7sRNviJb0XreMVn6rKflsE1YEqT\/OL5Ry8iJ0LNQVu3uKi4WeSJeDj7FaDpOJFhRGi5lw9DIr0OnbmVJrCjR2Vp5LoST+8WGtWPKFdEdJUa94GpnDQxA+KMQDxf4b9OGsa20nb8+CdEwgq9jYSsLWTfIfgjwS+duxm3Do8cOf2bzYSes0fy9OTKHf8W8R6yJyhDQ37IlG0PW0KdXZP9J9iExrNu\/IbYQaXOoNTL8PUMHcAHi7lEoHgtEMBPsO5inP9QXJbpKLgOdI8IKpK+v9kk9b4ReXsDAJMXyWu6feUt+mOjbLQaU8RaBNgVzfZqhrz2N6W97i1zblXYFhnj0TkvZq0vO+3F0XkoI4ztmcDI5pw\/zs77FE06WdH5tJzU9qusnD80Tn9X7f8tLrzvdDnw5HgS1QYZ8XMQkcxAV4L7YQANgwCDv3LN5GuoOHZLYTvfaMZuQwC5R0MggGFUhPcynzyScUwdgKKbK4e4oHsr7\/Pb2WhkbS8xj8gkN+JbFVJiIninf4TASN8nkgWVIXkPAF9EUuAI8q9oyPQ9\/i5HhYeifU3cdA461IQitwlJrDclVIYPuBo0s9XhbBQFH3sRR9yn4vbXhqfKLfT\/0OhYV8CAOCt\/5NLAAAAbr3Qwfn\/k9Yg1l7LAAAKNFD9ZzBNEM8BiMwjPDoupcfeBMCZkDcB+dcBeYNvRODa3g2eauA1p+zE9uBt\/6tio2cZHe7FkYXpvN3fodrmF+EtVnNaRC4JAH0csp\/WjxvOIUc4QZEnSfkZE3nG0UIgvGZvCK2Hzn7eysMQPtEgl6DBCw1AdggAewCA\/oi\/dd0PAkB\/CJ0nAPpKh4ee4jIGwJ4HOT5liCfZJAD2BfuAeeZDgXzfyakB2WjqQ0hwNgDQ30OvQ5CtJ5rfielJ7Xr3gGfPUjsZAPiSyK84o6WbAZAw5EuHxeU2E6SL+M7ffOln9udnybsJuwXUvgDOd6McPndPWLwB7hLBogAQAH09OP7vf76KfJvVNuqan2pvsGydLbO1sH7eKw4A+Y30\/MnrU3MCvexXJzC7dDKak+yQ\/NM7JNE76uhKrdxV3JbjLgA5u4ZFZXUW402NJ0VcsY90X2CeOEvP39LvsSspGduCJPecBW7dNXeoCw0c09OsG4A64cxjll1YSt5n8RR0AL1MyMs330ruPWfePQPg1x4HAkmoQeMUdRJmrjOQCt2rRMHNQAfQC1yAmXUFQVYMlO\/F6g1tgcrtNX0mTM\/r2AJedlnpUMuc2MtU1l4\/tsL71SEdvHRzfa2VcG+GnSL78SlkkB05BQlYAkAppHxc77ItlBowkFtoAADuzSh\/HESMj4+DIrh3HIzPWDfcbxKBA3UcSEktEZoiANTpehzVJpV8zU5VOtR7UlcbTNQpNdliqw61SG02KzePjiXoVzGoRRezak0q1KjPHRWWIDdVq7su2CGPdgBKrVStQJJECgorGS56tQZQbxFeyq18KkIzqQRo3YL1OQjW6E2VkD5q7HZASKZLqk0\/+1StOs87x6oSB31OArIRwRpDpM4mFdYlINvqry\/VE1XZ2mZxZPB6U7lLHQFt2ilSsUe18JKxaiVc9KrQnK4PASGjrBDU5XRfLlGaeQyA\/PDs1xMBhISChoGFg0dAREJGQUVDx8DEwsbBxRMhEp9AFCGRaGIxJGLFkYonkyCRXN0vQ0lFTSOZlk6KVGnSZciURc\/AyMTMwsrGzsHJ1b3+v72y+eTI5RcQlCdfgUJFipUoVaZcSIWdFlrkkrW+NGnaclvst8syH5gw62e\/mLLOEtd97CdbHfCbX\/1u3mE3veGISlVmhN1S7U1vueu2O972lRoP3XPfUbV+tMoj73hXnW98Z6kG9Ro1a9Jiu1bt2nRornfpSd\/hr\/UZ0G\/QsCHn7DBqxJhx3\/reeY8dc9x7nnjfCSedcdYNp5z2msUOuuyKi4NB4MAKP9zO+qpeoVAocDVfd3f8OyEC\/4\/S1nPmy6qf4VMAAAA=\") format(\"woff2\");\r\n  font-weight: 400;\r\n  font-display: swap;\r\n}#acwl-tour-catalogue{\r\n  --ink: #2a2a2a;\r\n  --muted: #545e66;\r\n  --blue: #27547f;\r\n  --dark: #224b70;\r\n  --brand-blue: #6f9fd4;\r\n  --pale: #eff5fb;\r\n  --warm: #f8fafc;\r\n  --line: #dce5ee;\r\n  --radius: 12px;\r\n}#acwl-tour-catalogue{\r\n  color: var(--ink);\r\n  background: #fff;\r\n  font: 16px\/1.52 Inter, \"Segoe UI\", Arial, sans-serif;\r\n}#acwl-tour-catalogue .wrap{ width: min(1184px, calc(100% - 70px)); }#acwl-tour-catalogue .brand-strip{ background: #769fcb; color: #102b44; font-size: 12px; letter-spacing: .025em; }#acwl-tour-catalogue .brand-strip .wrap{ display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 32px; }#acwl-tour-catalogue .brand-strip span:last-child{ font-weight: 600; }#acwl-tour-catalogue .top .wrap{ min-height: 95px; }#acwl-tour-catalogue .brand img{ width: 126px; height: 76px; object-fit: contain; }#acwl-tour-catalogue .brand-menu{ display: flex; align-items: center; gap: clamp(12px, 2vw, 30px); font-size: 14px; }#acwl-tour-catalogue .brand-menu a{ padding: 6px 0; text-decoration: none; }#acwl-tour-catalogue .brand-menu a:hover,#acwl-tour-catalogue .brand-menu a[aria-current=\"page\"]{ border-bottom: 2px solid var(--brand-blue); }#acwl-tour-catalogue .top-actions{ margin-left: auto; }#acwl-tour-catalogue .top-actions .line-btn,#acwl-tour-catalogue .line-btn,#acwl-tour-catalogue .solid-btn{ border-radius: 30px; }#acwl-tour-catalogue .line-btn{ border-color: var(--brand-blue); }#acwl-tour-catalogue .badge{ background: #f4f8fd; border-color: #d6e5f4; }#acwl-tour-catalogue .hero{\r\n  display: grid;\r\n  grid-template-columns: 1fr;\r\n  place-items: center;\r\n  min-height: 222px;\r\n  isolation: isolate;\r\n  overflow: hidden;\r\n  margin: 0;\r\n  border-radius: 0;\r\n  color: white;\r\n  background: #264c67;\r\n}#acwl-tour-catalogue .hero-media{ position: absolute; inset: 0; min-height: 0; z-index: -1; }#acwl-tour-catalogue .hero-media img{ object-position: center 50%; }#acwl-tour-catalogue .hero-media::after{ background: #0c29455e; box-shadow: none; }#acwl-tour-catalogue .hero-copy{ width: min(950px, calc(100% - 28px)); padding: 28px 8px 26px; text-align: center; }#acwl-tour-catalogue .hero .eyebrow{ color: #fff; letter-spacing: .18em; margin-bottom: 5px; text-shadow: 0 1px 8px #18324f; }#acwl-tour-catalogue .hero h1{\r\n  color: #fff;\r\n  font-family: \"Mrs Saint Delafield\", \"Segoe Script\", \"Brush Script MT\", cursive;\r\n  font-size: clamp(59px, 7.4vw, 104px);\r\n  font-weight: 400;\r\n  letter-spacing: 0;\r\n  line-height: .94;\r\n  margin: 12px 0 5px;\r\n  text-shadow: 0 2px 14px #0c294577;\r\n}#acwl-tour-catalogue .hero-copy > p:not(.eyebrow){ margin: 0 auto; max-width: 590px; color: #fff; font-size: 14px; text-shadow: 0 1px 9px #142b45; }#acwl-tour-catalogue .breadcrumb{ padding: 13px 0; color: var(--muted); font-size: 14px; border-bottom: 1px solid var(--line); }#acwl-tour-catalogue .breadcrumb a{ color: var(--blue); text-decoration: none; }#acwl-tour-catalogue .breadcrumb a:hover{ text-decoration: underline; }#acwl-tour-catalogue .catalog{ padding-top: 30px; }#acwl-tour-catalogue .catalog h2,#acwl-tour-catalogue .cost h2{ font-size: clamp(30px, 3.6vw, 43px); letter-spacing: -.035em; font-weight: 700; }#acwl-tour-catalogue .catalog-head p{ margin-bottom: 6px; }#acwl-tour-catalogue .eyebrow{ font-weight: 700; color: #325f88; }#acwl-tour-catalogue .search{ border-color: #bac9d9; border-radius: 9px; min-width: min(310px, 100%); }#acwl-tour-catalogue .filters{ margin-top: 13px; }#acwl-tour-catalogue .chip{ border-color: #cfdfef; color: #2b4e6e; font-weight: 600; }#acwl-tour-catalogue .chip:hover,#acwl-tour-catalogue .chip[aria-pressed=true]{ background: var(--dark); }#acwl-tour-catalogue .card{ border-color: #e0e6ec; box-shadow: 0 2px 8px #233c5410; }#acwl-tour-catalogue .card:hover{ box-shadow: 0 7px 20px #233c5420; }#acwl-tour-catalogue .card-media{ aspect-ratio: 1.83; background: #edf4fc; color: #325f88; }#acwl-tour-catalogue .photo-count{ color: #244b6e; }#acwl-tour-catalogue .meta{ color: #315a80; font-weight: 700; }#acwl-tour-catalogue .card h3{ font-weight: 700; letter-spacing: -.025em; }#acwl-tour-catalogue .tags span,#acwl-tour-catalogue .close,#acwl-tour-catalogue .gallery-controls button{ color: #285274; background: #edf5fd; }#acwl-tour-catalogue .price{ font-weight: 700; }#acwl-tour-catalogue .footer{ background: #f1f6fc; color: #2a506f; }#acwl-tour-catalogue .gallery{ background: #e6f0fc; }#acwl-tour-catalogue .option-box,#acwl-tour-catalogue .cost-note{ background: #f1f6fc; border-color: #dce8f3; }#acwl-tour-catalogue .option-box select,#acwl-tour-catalogue .option-box input{ border-color: #bccfdf; }#acwl-tour-catalogue .quote-output{ border-color: #c9dbe9; }#acwl-tour-catalogue th{ background: #edf5fc; }\r\n@media(max-width:950px) {#acwl-tour-catalogue .wrap{ width: calc(100% - 40px); }#acwl-tour-catalogue .brand-menu{ gap: 13px; }#acwl-tour-catalogue .hero-copy{ padding: 25px 9px; }\r\n}\r\n@media(max-width:640px) {#acwl-tour-catalogue .wrap{ width: calc(100% - 24px); }#acwl-tour-catalogue .brand-menu{ display: none; }#acwl-tour-catalogue .brand-strip{ font-size: 10px; }#acwl-tour-catalogue .brand-strip .wrap{ min-height: 24px; }#acwl-tour-catalogue .top .wrap{ min-height: 70px; }#acwl-tour-catalogue .brand img{ width: 98px; height: 60px; }#acwl-tour-catalogue .hero{ min-height: 185px; }#acwl-tour-catalogue .hero h1{ font-size: clamp(45px, 12vw, 66px); }#acwl-tour-catalogue .hero-copy > p:not(.eyebrow){ max-width: 32em; font-size: 12px; }#acwl-tour-catalogue .catalog{ padding-top: 20px; }\r\n}#acwl-tour-catalogue .option-box .planner-heading{ color: #27547f; font-size: 14px; font-weight: 750; margin: 12px 0 7px; }#acwl-tour-catalogue .option-box .field-list{ margin: 6px 0 9px; }#acwl-tour-catalogue .option-box select{ margin-bottom: 3px; }#acwl-tour-catalogue .schedule-note{ margin: 6px 0 10px; padding: 9px 10px; background: #fff; border: 1px solid #dce8f3; border-radius: 8px; }#acwl-tour-catalogue .schedule-note p{ margin: 0 0 3px; }#acwl-tour-catalogue .schedule-note a{ color: #27547f; font-size: 12px; }#acwl-tour-catalogue .schedule-note [data-warning]{ color: #893b22; font-weight: 650; }#acwl-tour-catalogue .option-box .plan-summary{ background: #fff; margin-top: 10px; padding: 10px; border-radius: 8px; }#acwl-tour-catalogue .plan-summary dl{ margin: 0; display: grid; grid-template-columns: auto 1fr; gap: 4px 8px; font-size: 12px; }#acwl-tour-catalogue .plan-summary dt{ color: #52646b; }#acwl-tour-catalogue .plan-summary dd{ margin: 0; font-weight: 600; }#acwl-tour-catalogue #preview-request{ width: 100%; margin-top: 5px; }\r\n@media(max-width: 520px) {#acwl-tour-catalogue .option-box .field-list{ grid-template-columns: 1fr; } }#acwl-tour-catalogue .description-language{display:flex;align-items:center;gap:9px;margin:8px 0;color:var(--muted);font-size:13px}#acwl-tour-catalogue .description-language select{border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);padding:4px 8px}\r\n\r\n#acwl-tour-catalogue{max-width:1184px;width:calc(100% - 70px);margin:0 auto}\r\n#acwl-tour-catalogue .wrap{max-width:1184px;width:100%;margin:auto}\r\n#acwl-tour-catalogue .description-language label{display:inline;flex:0 0 auto;font-size:13px;font-weight:400;margin:0}\r\n#acwl-tour-catalogue .description-language select{width:auto;min-width:105px;margin:0}\r\n#acwl-tour-catalogue button{font-family:inherit;text-transform:none;letter-spacing:normal}\r\n#acwl-tour-catalogue .card h3{margin-bottom:8px}\r\n#acwl-tour-catalogue dialog{background:#fff;z-index:99999}\r\n@media(max-width:950px){#acwl-tour-catalogue{width:calc(100% - 40px)}}\r\n@media(max-width:640px){#acwl-tour-catalogue{width:calc(100% - 24px)}}\r\n<\/style><div id=\"catalog-view\"><section class=\"catalog\" id=\"experiences\" aria-labelledby=\"catalog-title\">\r\n<div class=\"catalog-head\"><div><p class=\"eyebrow\">Find your experience<\/p><h2 id=\"catalog-title\">Discover Campania<\/h2><p>Choose a destination or explore by the kind of day you want.<\/p><\/div><label class=\"search\"><span aria-hidden=\"true\">\u2315<\/span><input id=\"search\" type=\"search\" aria-label=\"Search tours\" placeholder=\"Search by destination or tour\"><\/label><\/div>\r\n<div class=\"filters\" id=\"filters\" aria-label=\"Tour categories\"><\/div>\r\n<div class=\"description-language\"><label for=\"description-language\">Tour descriptions \/ Descrizioni<\/label><select id=\"description-language\">\r\n  <option value=\"en\" lang=\"en\">English<\/option><option value=\"it\" lang=\"it\">Italiano<\/option>\r\n<\/select><\/div>\r\n<p class=\"count\" id=\"count\" aria-live=\"polite\"><\/p><noscript><p>Enable JavaScript to use the filters, galleries and tour planner.<\/p><\/noscript>\r\n<div class=\"grid\" id=\"tour-grid\"><article class=\"card\">\r\n      <button type=\"button\" class=\"card-media\" data-tour=\"amalfi-uncovered\" aria-label=\"Open Amalfi Uncovered\">\r\n        <img decoding=\"async\" src=\"https:\/\/www.amalficoastwithlocals.com\/wp-content\/uploads\/2026\/11\/acwl2027-82331b0556404554c20a.webp\" alt=\"Amalfi Uncovered\">\r\n        <span class=\"photo-count\">7 photos<\/span>\r\n      <\/button>\r\n      <div class=\"card-content\">\r\n        <div class=\"meta\">Amalfi \u00b7 Walking tours<\/div>\r\n        <h3><button type=\"button\" data-tour=\"amalfi-uncovered\">Amalfi Uncovered<\/button><\/h3>\r\n        <p class=\"desc\">Step beyond Amalfi\u2019s waterfront into a world of stone passages, lively squares and maritime stories. Explore with a local guide and make the walk your own with an optional Cathedral or Paper Museum visit.<\/p>\r\n        <div class=\"tags\"><span>Shared<\/span><span>Private<\/span><span>2 hours<\/span><\/div>\r\n        <div class=\"card-foot\"><div class=\"price\">From \u20ac150.00<small>shared guide \u00b7 1\u20132 guests<\/small><\/div>\r\n        <button type=\"button\" class=\"line-btn\" data-tour=\"amalfi-uncovered\">Options &amp; availability <span aria-hidden=\"true\">\u2192<\/span><\/button><\/div>\r\n      <\/div>\r\n    <\/article>\r\n<article class=\"card\">\r\n      <button type=\"button\" class=\"card-media\" data-tour=\"sorrento-walk\" aria-label=\"Open Sorrento Old Town &amp; Limoncello\">\r\n        <img decoding=\"async\" src=\"https:\/\/www.amalficoastwithlocals.com\/wp-content\/uploads\/2026\/11\/acwl2027-0f28b39573ac31d13ded.webp\" alt=\"Sorrento Old Town &amp; Limoncello\">\r\n        <span class=\"photo-count\">10 photos<\/span>\r\n      <\/button>\r\n      <div class=\"card-content\">\r\n        <div class=\"meta\">Sorrento \u00b7 Walking tours<\/div>\r\n        <h3><button type=\"button\" data-tour=\"sorrento-walk\">Sorrento Old Town &amp; Limoncello<\/button><\/h3>\r\n        <p class=\"desc\">Get to know Sorrento through its historic lanes, peaceful cloister and sweeping sea views. A guided walk from Piazza Tasso brings the town\u2019s stories to life, with a limoncello tasting included for adults.<\/p>\r\n        <div class=\"tags\"><span>Shared<\/span><span>Private<\/span><span>2 hours<\/span><\/div>\r\n        <div class=\"card-foot\"><div class=\"price\">\u20ac170.00<small>for 1 adult \u00b7 shared<\/small><\/div>\r\n        <button type=\"button\" class=\"line-btn\" data-tour=\"sorrento-walk\">Options &amp; availability <span aria-hidden=\"true\">\u2192<\/span><\/button><\/div>\r\n      <\/div>\r\n    <\/article>\r\n<article class=\"card\">\r\n      <button type=\"button\" class=\"card-media\" data-tour=\"pompeii-archaeology\" aria-label=\"Open Pompeii Archaeological Walk\">\r\n        <img decoding=\"async\" src=\"https:\/\/www.amalficoastwithlocals.com\/wp-content\/uploads\/2026\/11\/acwl2027-49c480e94bc3ecee7089.webp\" alt=\"Pompeii Archaeological Walk\">\r\n        <span class=\"photo-count\">17 photos<\/span>\r\n      <\/button>\r\n      <div class=\"card-content\">\r\n        <div class=\"meta\">Pompeii \u00b7 Archaeology<\/div>\r\n        <h3><button type=\"button\" data-tour=\"pompeii-archaeology\">Pompeii Archaeological Walk<\/button><\/h3>\r\n        <p class=\"desc\">Walk into everyday life in ancient Pompeii. With a licensed guide, its streets and public spaces become stories of the people who lived here. Choose a shared or private two-hour visit and your admission option.<\/p>\r\n        <div class=\"tags\"><span>Shared<\/span><span>Private<\/span><span>2 hours<\/span><\/div>\r\n        <div class=\"card-foot\"><div class=\"price\">\u20ac90.00<small>per adult \u00b7 shared with admission<\/small><\/div>\r\n        <button type=\"button\" class=\"line-btn\" data-tour=\"pompeii-archaeology\">Options &amp; availability <span aria-hidden=\"true\">\u2192<\/span><\/button><\/div>\r\n      <\/div>\r\n    <\/article>\r\n<article class=\"card\">\r\n      <button type=\"button\" class=\"card-media\" data-tour=\"ravello\" aria-label=\"Open Ravello: Villa Rufolo and Villa Cimbrone\">\r\n        <img decoding=\"async\" src=\"https:\/\/www.amalficoastwithlocals.com\/wp-content\/uploads\/2026\/11\/acwl2027-37b03c5eae51b041e8a1.webp\" alt=\"Ravello\u2019s gardens overlooking the Amalfi Coast\">\r\n        <span class=\"photo-count\">5 photos<\/span>\r\n      <\/button>\r\n      <div class=\"card-content\">\r\n        <div class=\"meta\">Ravello \u00b7 Walking tours<\/div>\r\n        <h3><button type=\"button\" data-tour=\"ravello\">Ravello: Villa Rufolo &amp; Villa Cimbrone<\/button><\/h3>\r\n        <p class=\"desc\">Above the coast, Ravello invites you into gardens, quiet lanes and extraordinary sea views. Explore with a local guide and choose Villa Rufolo, Villa Cimbrone\u2019s gardens or an extended experience that brings both together.<\/p>\r\n        <div class=\"tags\"><span>Shared<\/span><span>Private<\/span><span>Luxury option<\/span><\/div>\r\n        <div class=\"card-foot\"><div class=\"price\">From \u20ac190.00<small>guide + Villa Rufolo \u00b7 1 adult<\/small><\/div>\r\n        <button type=\"button\" class=\"line-btn\" data-tour=\"ravello\">Options &amp; availability <span aria-hidden=\"true\">\u2192<\/span><\/button><\/div>\r\n      <\/div>\r\n    <\/article>\r\n<article class=\"card\">\r\n      <button type=\"button\" class=\"card-media\" data-tour=\"sorrento-farm\" aria-label=\"Open Sorrento Coast: Lemons, Olive Oil &amp; Mozzarella\">\r\n        <img decoding=\"async\" src=\"https:\/\/www.amalficoastwithlocals.com\/wp-content\/uploads\/2026\/11\/acwl2027-3040e60ac2a84627072f.webp\" alt=\"Sorrento Coast: Lemons, Olive Oil &amp; Mozzarella\">\r\n        <span class=\"photo-count\">22 photos<\/span>\r\n      <\/button>\r\n      <div class=\"card-content\">\r\n        <div class=\"meta\">Sorrento Coast \u00b7 Food &amp; wine<\/div>\r\n        <h3><button type=\"button\" data-tour=\"sorrento-farm\">Sorrento Coast: Lemons, Olive Oil &amp; Mozzarella<\/button><\/h3>\r\n        <p class=\"desc\">Taste the Sorrento countryside through its lemons, olive oil and mozzarella. A farm experience brings local flavours into focus, with shared and private options and the possibility of adding lunch to your day.<\/p>\r\n        <div class=\"tags\"><span>Shared<\/span><span>Private<\/span><span>Duration to confirm<\/span><\/div>\r\n        <div class=\"card-foot\"><div class=\"price\">\u20ac100.00<small>per guest shared \u00b7 \u20ac150.00 private<\/small><\/div>\r\n        <button type=\"button\" class=\"line-btn\" data-tour=\"sorrento-farm\">Options &amp; availability <span aria-hidden=\"true\">\u2192<\/span><\/button><\/div>\r\n      <\/div>\r\n    <\/article>\r\n<article class=\"card\">\r\n      <button type=\"button\" class=\"card-media\" data-tour=\"pompeii-from-amalfi\" aria-label=\"Open Pompeii Day Trip from Amalfi\">\r\n        <img decoding=\"async\" src=\"https:\/\/www.amalficoastwithlocals.com\/wp-content\/uploads\/2026\/11\/acwl2027-4aac7a84248d1b46dd22.webp\" alt=\"Pompeii Day Trip from Amalfi\">\r\n        <span class=\"photo-count\">17 photos<\/span>\r\n      <\/button>\r\n      <div class=\"card-content\">\r\n        <div class=\"meta\">Amalfi \u2192 Pompeii \u00b7 Archaeology<\/div>\r\n        <h3><button type=\"button\" data-tour=\"pompeii-from-amalfi\">Pompeii Day Trip from Amalfi<\/button><\/h3>\r\n        <p class=\"desc\">Bring ancient Pompeii into your Amalfi Coast holiday. Travel from the coast for a guided visit with round-trip transport and admission, then choose whether to complete the day with lunch and a local wine tasting.<\/p>\r\n        <div class=\"tags\"><span>Shared<\/span><span>Private<\/span><span>Full day<\/span><\/div>\r\n        <div class=\"card-foot\"><div class=\"price\">From \u20ac220.00<small>per adult \u00b7 shared \u00b7 6 confirmed seats \u00b7 tasting optional<\/small><\/div>\r\n        <button type=\"button\" class=\"line-btn\" data-tour=\"pompeii-from-amalfi\">Options &amp; availability <span aria-hidden=\"true\">\u2192<\/span><\/button><\/div>\r\n      <\/div>\r\n    <\/article>\r\n<article class=\"card\">\r\n      <button type=\"button\" class=\"card-media\" data-tour=\"pompeii-wine\" aria-label=\"Open Pompeii &amp; Wine Tasting\">\r\n        <img decoding=\"async\" src=\"https:\/\/www.amalficoastwithlocals.com\/wp-content\/uploads\/2026\/11\/acwl2027-fcf6bdd7066f085d2a96.webp\" alt=\"Pompeii &amp; Wine Tasting\">\r\n        <span class=\"photo-count\">14 photos<\/span>\r\n      <\/button>\r\n      <div class=\"card-content\">\r\n        <div class=\"meta\">Pompeii \u00b7 Food &amp; wine<\/div>\r\n        <h3><button type=\"button\" data-tour=\"pompeii-wine\">Pompeii &amp; Wine Tasting<\/button><\/h3>\r\n        <p class=\"desc\">Ancient streets, volcanic landscapes and local wines come together in one full day. Explore Pompeii with a guide, then enjoy lunch at a winery with a Classic five-wine or Superior seven-wine tasting.<\/p>\r\n        <div class=\"tags\"><span>Shared<\/span><span>Private<\/span><span>Full day<\/span><\/div>\r\n        <div class=\"card-foot\"><div class=\"price\">From \u20ac250.00<small>per adult shared \u00b7 6 confirmed seats \u00b7 lunch included<\/small><\/div>\r\n        <button type=\"button\" class=\"line-btn\" data-tour=\"pompeii-wine\">Options &amp; availability <span aria-hidden=\"true\">\u2192<\/span><\/button><\/div>\r\n      <\/div>\r\n    <\/article>\r\n<article class=\"card\">\r\n      <button type=\"button\" class=\"card-media\" data-tour=\"coast-from-sorrento\" aria-label=\"Open Amalfi Coast from Sorrento\">\r\n        <img decoding=\"async\" src=\"https:\/\/www.amalficoastwithlocals.com\/wp-content\/uploads\/2026\/11\/acwl2027-8fdf9ec65ea7a60f5da5.webp\" alt=\"Amalfi Coast from Sorrento\">\r\n        <span class=\"photo-count\">10 photos<\/span>\r\n      <\/button>\r\n      <div class=\"card-content\">\r\n        <div class=\"meta\">Sorrento \u2192 Amalfi Coast \u00b7 Day trips<\/div>\r\n        <h3><button type=\"button\" data-tour=\"coast-from-sorrento\">Amalfi Coast from Sorrento<\/button><\/h3>\r\n        <p class=\"desc\">Make a day of the Amalfi Coast from Sorrento, between seaside villages and sweeping views. Choose shared or private transport, then shape the experience with a local guide and optional cultural visits along your route.<\/p>\r\n        <div class=\"tags\"><span>Shared<\/span><span>Private<\/span><span>Full day<\/span><\/div>\r\n        <div class=\"card-foot\"><div class=\"price\">From \u20ac100.00<small>per adult shared \u00b7 6 confirmed seats \u00b7 guide optional<\/small><\/div>\r\n        <button type=\"button\" class=\"line-btn\" data-tour=\"coast-from-sorrento\">Options &amp; availability <span aria-hidden=\"true\">\u2192<\/span><\/button><\/div>\r\n      <\/div>\r\n    <\/article>\r\n<article class=\"card\">\r\n      <button type=\"button\" class=\"card-media\" data-tour=\"coast-from-salerno\" aria-label=\"Open Private Amalfi Coast from Salerno\">\r\n        <img decoding=\"async\" src=\"https:\/\/www.amalficoastwithlocals.com\/wp-content\/uploads\/2026\/11\/acwl2027-bcfb86edffc7ca53ee2b.webp\" alt=\"Private Amalfi Coast from Salerno\">\r\n        <span class=\"photo-count\">8 photos<\/span>\r\n      <\/button>\r\n      <div class=\"card-content\">\r\n        <div class=\"meta\">Salerno \u2192 Amalfi Coast \u00b7 Day trips<\/div>\r\n        <h3><button type=\"button\" data-tour=\"coast-from-salerno\">Private Amalfi Coast from Salerno<\/button><\/h3>\r\n        <p class=\"desc\">Your Amalfi Coast day begins at Salerno Port or in the city centre, with pick-up included. Enjoy private full-day transport and personalise the journey with a local guide, Ravello\u2019s gardens and Amalfi\u2019s cultural treasures.<\/p>\r\n        <div class=\"tags\"><span>Private<\/span><span>Full day<\/span><\/div>\r\n        <div class=\"card-foot\"><div class=\"price\">From \u20ac600.00<small>per private group \u00b7 guide and tickets optional<\/small><\/div>\r\n        <button type=\"button\" class=\"line-btn\" data-tour=\"coast-from-salerno\">Options &amp; availability <span aria-hidden=\"true\">\u2192<\/span><\/button><\/div>\r\n      <\/div>\r\n    <\/article>\r\n<article class=\"card\">\r\n      <button type=\"button\" class=\"card-media\" data-tour=\"exclusive-coast\" aria-label=\"Open Amalfi Coast Highlights &amp; Hidden Gems\">\r\n        <img decoding=\"async\" src=\"https:\/\/www.amalficoastwithlocals.com\/wp-content\/uploads\/2026\/11\/acwl2027-8781c8ed54aea09ae940.webp\" alt=\"Amalfi Coast Highlights &amp; Hidden Gems\">\r\n        <span class=\"photo-count\">1 photo<\/span>\r\n      <\/button>\r\n      <div class=\"card-content\">\r\n        <div class=\"meta\">Amalfi Coast \u00b7 Day trips<\/div>\r\n        <h3><button type=\"button\" data-tour=\"exclusive-coast\">Amalfi Coast Highlights &amp; Hidden Gems<\/button><\/h3>\r\n        <p class=\"desc\">Find your own way into the Amalfi Coast, from village lanes to gardens overlooking the sea. A private full-day drive lets you build a personal itinerary, with an optional local guide and visits that match your interests.<\/p>\r\n        <div class=\"tags\"><span>Private<\/span><span>Full day<\/span><\/div>\r\n        <div class=\"card-foot\"><div class=\"price\">From \u20ac600.00<small>per private group \u00b7 guide and tickets optional<\/small><\/div>\r\n        <button type=\"button\" class=\"line-btn\" data-tour=\"exclusive-coast\">Options &amp; availability <span aria-hidden=\"true\">\u2192<\/span><\/button><\/div>\r\n      <\/div>\r\n    <\/article>\r\n<article class=\"card\">\r\n      <button type=\"button\" class=\"card-media\" data-tour=\"coast-by-boat\" aria-label=\"Open Exclusive Amalfi Coast Boat Tour\">\r\n        <img decoding=\"async\" src=\"https:\/\/www.amalficoastwithlocals.com\/wp-content\/uploads\/2026\/11\/acwl2027-076ad5455e43530cfd95.webp\" alt=\"Exclusive Amalfi Coast Boat Tour\">\r\n        <span class=\"photo-count\">5 photos<\/span>\r\n      <\/button>\r\n      <div class=\"card-content\">\r\n        <div class=\"meta\">Amalfi Coast \u00b7 Boat tours<\/div>\r\n        <h3><button type=\"button\" data-tour=\"coast-by-boat\">Exclusive Amalfi Coast Boat Tour<\/button><\/h3>\r\n        <p class=\"desc\">Discover the Amalfi Coast from its most striking viewpoint, the sea. Board in Salerno or Amalfi for a private boat experience among cliffs and colourful waterfronts, with two-hour, four-hour and full-day options.<\/p>\r\n        <div class=\"tags\"><span>Private<\/span><span>2 hours \u00b7 4 hours \u00b7 full day<\/span><\/div>\r\n        <div class=\"card-foot\"><div class=\"price\">From \u20ac300.00<small>per private boat \u00b7 minimum 2 hours<\/small><\/div>\r\n        <button type=\"button\" class=\"line-btn\" data-tour=\"coast-by-boat\">Options &amp; availability <span aria-hidden=\"true\">\u2192<\/span><\/button><\/div>\r\n      <\/div>\r\n    <\/article>\r\n<article class=\"card\">\r\n      <button type=\"button\" class=\"card-media\" data-tour=\"old-vines\" aria-label=\"Open Amalfi Coast Wine &amp; Ancient Vines\">\r\n        <img decoding=\"async\" src=\"https:\/\/www.amalficoastwithlocals.com\/wp-content\/uploads\/2026\/11\/acwl2027-5c15b0e14abb3cede36b.webp\" alt=\"Amalfi Coast Wine &amp; Ancient Vines\">\r\n        <span class=\"photo-count\">1 photo<\/span>\r\n      <\/button>\r\n      <div class=\"card-content\">\r\n        <div class=\"meta\">Amalfi Coast \u00b7 Food &amp; wine<\/div>\r\n        <h3><button type=\"button\" data-tour=\"old-vines\">Amalfi Coast Wine &amp; Ancient Vines<\/button><\/h3>\r\n        <p class=\"desc\">Discover the Amalfi Coast through its wines and vineyard landscapes. Choose a shared or private tasting for up to eight guests, with optional full-day transport. Share the driver cost or enjoy an exclusive vehicle for your private group.<\/p>\r\n        <div class=\"tags\"><span>Shared<\/span><span>Private<\/span><span>Max 8 guests<\/span><\/div>\r\n        <div class=\"card-foot\"><div class=\"price\">\u20ac70.00<small>per adult tasting \u00b7 \u20ac145.00 shared with driver on 8 confirmed guests<\/small><\/div>\r\n        <button type=\"button\" class=\"line-btn\" data-tour=\"old-vines\">Options &amp; availability <span aria-hidden=\"true\">\u2192<\/span><\/button><\/div>\r\n      <\/div>\r\n    <\/article>\r\n<article class=\"card\">\r\n      <button type=\"button\" class=\"card-media\" data-tour=\"royal-caserta\" aria-label=\"Open Royal Palace of Caserta\">\r\n        <img decoding=\"async\" src=\"https:\/\/www.amalficoastwithlocals.com\/wp-content\/uploads\/2026\/11\/acwl2027-7ff5ba7b416c00547355.webp\" alt=\"Royal Palace of Caserta\">\r\n        <span class=\"photo-count\">1 photo<\/span>\r\n      <\/button>\r\n      <div class=\"card-content\">\r\n        <div class=\"meta\">Caserta \u00b7 Culture<\/div>\r\n        <h3><button type=\"button\" data-tour=\"royal-caserta\">Royal Palace of Caserta<\/button><\/h3>\r\n        <p class=\"desc\">Step into the world of the Bourbon court with a guided visit to the Royal Palace of Caserta. Choose shared or private guiding, explore the apartments or gardens, and meet on site or add a transfer.<\/p>\r\n        <div class=\"tags\"><span>Shared<\/span><span>Private<\/span><span>2 hours<\/span><\/div>\r\n        <div class=\"card-foot\"><div class=\"price\">\u20ac90.00<small>per adult \u00b7 shared with admission<\/small><\/div>\r\n        <button type=\"button\" class=\"line-btn\" data-tour=\"royal-caserta\">Options &amp; availability <span aria-hidden=\"true\">\u2192<\/span><\/button><\/div>\r\n      <\/div>\r\n    <\/article><\/div>\r\n<\/section><\/div><dialog id=\"tour-dialog\" aria-labelledby=\"dialog-title\"><div class=\"dialog-head\"><strong id=\"dialog-title\"><\/strong><button class=\"close\" aria-label=\"Close experience\" type=\"button\">\u00d7<\/button><\/div><div class=\"dialog-body\" id=\"dialog-body\"><\/div><\/dialog><script src=\"data:text\/javascript;charset=utf-8;base64,KGZ1bmN0aW9uKCl7Cid1c2Ugc3RyaWN0JzsKCmNvbnN0IHZlbnVlQnlUb3VyID0gewogICdwb21wZWlpLWFyY2hhZW9sb2d5JzogJ3BvbXBlaWknLAogICdwb21wZWlpLWZyb20tYW1hbGZpJzogJ3BvbXBlaWknLAogICdwb21wZWlpLXdpbmUnOiAncG9tcGVpaScsCiAgJ2FtYWxmaS11bmNvdmVyZWQnOiAnYW1hbGZpJywKICAnY29hc3QtZnJvbS1zb3JyZW50byc6ICdhbWFsZmknLAogICdjb2FzdC1mcm9tLXNhbGVybm8nOiAnYW1hbGZpJywKICAnZXhjbHVzaXZlLWNvYXN0JzogJ2FtYWxmaScsCiAgcmF2ZWxsbzogJ3JhdmVsbG8nLAogICdyb3lhbC1jYXNlcnRhJzogJ2Nhc2VydGEnLAp9OwoKY29uc3QgdmVudWVzID0gewogIHBvbXBlaWk6IHsKICAgIG5hbWU6ICdQb21wZWlpIEFyY2hhZW9sb2dpY2FsIFBhcmsnLAogICAgdXJsOiAnaHR0cHM6Ly9wb21wZWlpc2l0ZXMub3JnL2VuL3Zpc2l0aW5nLWluZm8vdGltZXRhYmxlcy1hbmQtdGlja2V0cy8nLAogICAgbm90ZTogJ1RpbWVkIGFkbWlzc2lvbiBhbmQgdGlja2V0IGNhcGFjaXR5IGFwcGx5LiBUaGUgdHJhbnNmZXIgdGltZSBpcyBhcnJhbmdlZCBzZXBhcmF0ZWx5LicsCiAgfSwKICBhbWFsZmk6IHsKICAgIG5hbWU6ICdBbWFsZmkgQ2F0aGVkcmFsIGNvbXBsZXgnLAogICAgdXJsOiAnaHR0cHM6Ly93d3cudmlzaXRhbWFsZmkuaW5mby9lbi9wb2kvbW9udW1lbnRhbC1jb21wbGV4LW9mLXRoZS1jYXRoZWRyYWwtb2Ytc2FudGFuZHJlYS8nLAogICAgbm90ZTogJ0FjY2VzcyBjYW4gY2hhbmdlIGZvciBzZXJ2aWNlcyBhbmQgc3BlY2lhbCBldmVudHMuJywKICB9LAogIHJhdmVsbG86IHsKICAgIG5hbWU6ICdWaWxsYSBSdWZvbG8nLAogICAgdXJsOiAnaHR0cHM6Ly93d3cuZm9uZGF6aW9uZXJhdmVsbG8uY29tL3ZpbGxhLXJ1Zm9sby9vcmFyaS8nLAogICAgbm90ZTogJ1RoZSBjdXJyZW50IHB1Ymxpc2hlZCBob3VycyBhcmUgYSBwbGFubmluZyByZWZlcmVuY2UuIENoZWNrIHNlYXNvbmFsIHVwZGF0ZXMgZm9yIHlvdXIgZGF0ZS4nLAogIH0sCiAgY2ltYnJvbmU6IHsKICAgIG5hbWU6ICdWaWxsYSBDaW1icm9uZSBHYXJkZW5zJywKICAgIHVybDogJ2h0dHBzOi8vd3d3LmhvdGVsdmlsbGFjaW1icm9uZS5jb20vdmlsbGEtY2ltYnJvbmUtZ2FyZGVucy0yLycsCiAgICBub3RlOiAnQ2hlY2sgdGhlIGdhcmRlbnPigJkgb3BlbmluZyBob3VycyBmb3IgeW91ciBkYXRlLicsCiAgfSwKICBjYXNlcnRhOiB7CiAgICBuYW1lOiAnUm95YWwgUGFsYWNlIG9mIENhc2VydGEnLAogICAgdXJsOiAnaHR0cHM6Ly9yZWdnaWFkaWNhc2VydGEuY3VsdHVyYS5nb3YuaXQvb3JhcmkvJywKICAgIG5vdGU6ICdUaGUgd2luZG93IGlzIGZvciBwYWxhY2UgYWNjZXNzLiBUaGUgUm95YWwgUGFyayBhbmQgRW5nbGlzaCBHYXJkZW4gaGF2ZSBzZXBhcmF0ZSBzZWFzb25hbCBob3Vycy4nLAogIH0sCn07CgpmdW5jdGlvbiByb21lRGF0ZUFuZFRpbWUobm93ID0gbmV3IERhdGUoKSkgewogIGNvbnN0IHBhcnRzID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoJ2VuLUdCJywgewogICAgdGltZVpvbmU6ICdFdXJvcGUvUm9tZScsIHllYXI6ICdudW1lcmljJywgbW9udGg6ICcyLWRpZ2l0JywgZGF5OiAnMi1kaWdpdCcsCiAgICBob3VyOiAnMi1kaWdpdCcsIG1pbnV0ZTogJzItZGlnaXQnLCBob3VyQ3ljbGU6ICdoMjMnLAogIH0pLmZvcm1hdFRvUGFydHMobm93KTsKICBjb25zdCBmaWVsZHMgPSBPYmplY3QuZnJvbUVudHJpZXMocGFydHMubWFwKCh7IHR5cGUsIHZhbHVlIH0pID0+IFt0eXBlLCB2YWx1ZV0pKTsKICByZXR1cm4geyBkYXRlOiBmaWVsZHMueWVhciArICctJyArIGZpZWxkcy5tb250aCArICctJyArIGZpZWxkcy5kYXksIHRpbWU6IGZpZWxkcy5ob3VyICsgJzonICsgZmllbGRzLm1pbnV0ZSB9Owp9CgpmdW5jdGlvbiBlbnRyeVdpbmRvdyh2ZW51ZSwgZGF0ZSkgewogIGNvbnN0IFssIG1vbnRoLCBkYXldID0gZGF0ZS5zcGxpdCgnLScpLm1hcChOdW1iZXIpOwogIGNvbnN0IGRheU9mWWVhciA9IG1vbnRoICogMTAwICsgZGF5OwogIGNvbnN0IHB1YmxpY0hvbGlkYXkgPSBkYXlPZlllYXIgPT09IDEwMSB8fCBkYXlPZlllYXIgPT09IDEyMjU7CgogIGlmICh2ZW51ZSA9PT0gJ3BvbXBlaWknKSB7CiAgICBpZiAocHVibGljSG9saWRheSkgcmV0dXJuIHsgY2xvc2VkOiAnT3JkaW5hcmlseSBjbG9zZWQgb24gMSBKYW51YXJ5IGFuZCAyNSBEZWNlbWJlci4nIH07CiAgICBjb25zdCBzdW1tZXIgPSBkYXlPZlllYXIgPj0gMzE2ICYmIGRheU9mWWVhciA8PSAxMDE0OwogICAgcmV0dXJuIHsgZmlyc3Q6ICcwOTowMCcsIGxhc3Q6IHN1bW1lciA\/ICcxNzozMCcgOiAnMTU6MzAnLCBjbG9zZXM6IHN1bW1lciA\/ICcxOTowMCcgOiAnMTc6MDAnIH07CiAgfQogIGlmICh2ZW51ZSA9PT0gJ2Nhc2VydGEnKSB7CiAgICBpZiAocHVibGljSG9saWRheSB8fCBuZXcgRGF0ZShkYXRlICsgJ1QxMjowMDowMFonKS5nZXRVVENEYXkoKSA9PT0gMikgewogICAgICByZXR1cm4geyBjbG9zZWQ6ICdPcmRpbmFyaWx5IGNsb3NlZCBvbiBUdWVzZGF5cywgMSBKYW51YXJ5IGFuZCAyNSBEZWNlbWJlci4nIH07CiAgICB9CiAgICByZXR1cm4geyBmaXJzdDogJzA4OjMwJywgbGFzdDogJzE4OjAwJywgY2xvc2VzOiAnMTk6MTUnIH07CiAgfQogIGlmICh2ZW51ZSA9PT0gJ3JhdmVsbG8nKSByZXR1cm4geyBmaXJzdDogJzA5OjAwJywgbGFzdDogJzE2OjMwJywgY2xvc2VzOiAnMTc6MDAnIH07CiAgaWYgKHZlbnVlID09PSAnY2ltYnJvbmUnKSByZXR1cm4geyBmaXJzdDogJzA5OjAwJywgbGFzdDogJzE3OjAwJywgY2xvc2VzOiAnMTc6MzAnIH07CiAgaWYgKHZlbnVlID09PSAnYW1hbGZpJykgewogICAgaWYgKGRheU9mWWVhciA+PSAxMDcgJiYgZGF5T2ZZZWFyIDw9IDIyOSkgewogICAgICByZXR1cm4geyBjbG9zZWQ6ICdUaGUgcHVibGlzaGVkIHNjaGVkdWxlIHNob3dzIGEgc2Vhc29uYWwgY2xvc3VyZSBmcm9tIDcgSmFudWFyeSB0aHJvdWdoIEZlYnJ1YXJ5LicgfTsKICAgIH0KICAgIGlmIChkYXlPZlllYXIgPj0gMTEwMyAmJiBkYXlPZlllYXIgPD0gMTIyNCkgcmV0dXJuIHsgZmlyc3Q6ICcxMDowMCcsIGxhc3Q6ICcxNDozMCcgfTsKICAgIGlmIChkYXlPZlllYXIgPT09IDEyMjUpIHJldHVybiB7IHJldmlldzogJ05vIG9wZW5pbmcgaG91cnMgYXJlIGxpc3RlZCBmb3IgQ2hyaXN0bWFzIERheS4gRW50cnkgbmVlZHMgdG8gYmUgY29uZmlybWVkLicgfTsKICAgIHJldHVybiB7IGZpcnN0OiAnMDk6MDAnLCBsYXN0OiBkYXlPZlllYXIgPj0gNzAxICYmIGRheU9mWWVhciA8PSA4MzEgPyAnMTk6MzAnIDogJzE4OjMwJyB9OwogIH0KICByZXR1cm4gbnVsbDsKfQoKZnVuY3Rpb24gbGF0ZXN0U2l0ZUVudHJ5KHRvdXJTbHVnLCBzY2hlZHVsZSkgewogIGlmICghWydwb21wZWlpLWFyY2hhZW9sb2d5JywgJ3JveWFsLWNhc2VydGEnXS5pbmNsdWRlcyh0b3VyU2x1ZykgfHwgIXNjaGVkdWxlLmNsb3NlcykgcmV0dXJuIHNjaGVkdWxlLmxhc3Q7CiAgLy8gTGVhdmUgZW5vdWdoIHRpbWUgZm9yIHRoZSB0d28taG91ciBndWlkZWQgd2Fsay4KICBjb25zdCBbaG91cnMsIG1pbnV0ZXNdID0gc2NoZWR1bGUuY2xvc2VzLnNwbGl0KCc6JykubWFwKE51bWJlcik7CiAgY29uc3Qgd2Fsa0N1dG9mZiA9IFN0cmluZyhob3VycyAtIDIpLnBhZFN0YXJ0KDIsICcwJykgKyAnOicgKyBTdHJpbmcobWludXRlcykucGFkU3RhcnQoMiwgJzAnKTsKICByZXR1cm4gd2Fsa0N1dG9mZiA8IHNjaGVkdWxlLmxhc3QgPyB3YWxrQ3V0b2ZmIDogc2NoZWR1bGUubGFzdDsKfQoKY29uc3QgdHJhbnNmZXJUYXJpZmYgPSB7IG9uZVdheTogMTgwMDAsIHdhaXRpbmdQZXJIb3VyOiA0MDAwIH07CmNvbnN0IHByaXZhdGVHdWlkZVRpZXJzID0gWwogIHsgbWF4OiA1LCBwcmljZTogMjUwMDAgfSwKICB7IG1heDogMTAsIHByaWNlOiAzMDAwMCB9LApdOwpjb25zdCBwcml2YXRlR3VpZGVSYXRlID0gZ3Vlc3RzID0+IHByaXZhdGVHdWlkZVRpZXJzLmZpbmQoKHsgbWF4IH0pID0+IGd1ZXN0cyA8PSBtYXgpPy5wcmljZTsKY29uc3QgdHJhbnNmZXJMb2NhdGlvbnMgPSB7CiAgbWVldDogJ0luY29udHJvIHN1bCBwb3N0bycsCiAgYW1hbGZpOiAnQW1hbGZpJywKICByYXZlbGxvOiAnUmF2ZWxsbycsCiAgbmVhcmJ5OiAnWm9uZSBsaW1pdHJvZmUnLAogIHNhbGVybm86ICdTYWxlcm5vJywKICBzb3JyZW50bzogJ1NvcnJlbnRvJywKICBuYXBsZXM6ICdOYXBvbGknLAp9OwoKY29uc3QgYW1hbGZpQ29zdGluZyA9IHsKICBndWlkZTogMjAwMDAsCiAgc2hhcmVkQ2FwYWNpdHk6IDEwLAogIHNoYXJlZEJhc2U6IHsgZ3Vlc3RzOiAyLCBwcmljZTogMTUwMDAgfSwKICBwcml2YXRlQmFzZTogeyBndWVzdHM6IDUsIHByaWNlOiAyNTAwMCB9LAogIGV4dHJhR3Vlc3Q6IDMwMDAsCiAgdGlja2V0OiB7IHNhbGU6IDYwMCwgY29zdDogNDAwIH0sCn07CgpmdW5jdGlvbiBhbWFsZmlHdWlkZVJhdGUoZ3Vlc3RzLCBzaGFyZWQpIHsKICBjb25zdCBiYXNlID0gc2hhcmVkID8gYW1hbGZpQ29zdGluZy5zaGFyZWRCYXNlIDogYW1hbGZpQ29zdGluZy5wcml2YXRlQmFzZTsKICByZXR1cm4gYmFzZS5wcmljZSArIE1hdGgubWF4KDAsIGd1ZXN0cyAtIGJhc2UuZ3Vlc3RzKSAqIGFtYWxmaUNvc3RpbmcuZXh0cmFHdWVzdDsKfQoKY29uc3Qgc29ycmVudG9EcmFmdHMgPSB7CiAgJ3NvcnJlbnRvLXdhbGsnOiB7CiAgICBkdXJhdGlvbjogJzIgaG91cnMnLAogICAgZ3VpZGVDb3N0OiAyMDAwMCwKICAgIHBpY2t1cFByaWNlczogeyBzb3JyZW50bzogMTAwMDAsIG5lYXJieTogMTAwMDAgfSwKICAgIGd1aWRlUHJpY2VzOiB7CiAgICAgIHNoYXJlZDogeyBzbWFsbFBhcnR5OiB7IG1heDogMiwgcHJpY2U6IDE1MDAwIH0sIHN0YW5kYXJkOiAyNTAwMCB9LAogICAgfSwKICB9LAogICdzb3JyZW50by1mYXJtJzogewogICAgZHVyYXRpb246ICdEdXJhdGlvbiB0byBjb25maXJtJywKICAgIGZhcm1QcmljZTogMTAwMDAsCiAgICBwcml2YXRlRmFybVByaWNlOiAxNTAwMCwKICAgIHBpY2t1cFByaWNlczogeyBzb3JyZW50bzogMTAwMDAgfSwKICB9LAp9Owpjb25zdCBzb3JyZW50b0V4dHJhcyA9IHsgbGltb25jZWxsbzogMjAwMCwgbHVuY2g6IDcwMDAsIHNoYXJlZENhcGFjaXR5OiAxMCB9Owpjb25zdCB0b3VyUGlja3VwUHJpY2VzID0gewogICdhbWFsZmktdW5jb3ZlcmVkJzogeyBhbWFsZmk6IDEwMDAwLCByYXZlbGxvOiAxMDAwMCB9LAogIHJhdmVsbG86IHsgYW1hbGZpOiAxMDAwMCwgbmVhcmJ5OiAxMDAwMCB9LAogICdjb2FzdC1mcm9tLXNhbGVybm8nOiB7ICdzYWxlcm5vLXBvcnQnOiAwLCAnc2FsZXJuby1jZW50cmUnOiAwIH0sCiAgJ2NvYXN0LWJ5LWJvYXQnOiB7IGFtYWxmaTogMTAwMDAsIHJhdmVsbG86IDEwMDAwLCBuZWFyYnk6IDEwMDAwIH0sCn07CmNvbnN0IHRyYW5zZmVyUHJpY2VGb3IgPSAocGlja3VwLCB0b3VyU2x1ZykgPT4KICB0b3VyUGlja3VwUHJpY2VzW3RvdXJTbHVnXT8uW3BpY2t1cF0gPz8gc29ycmVudG9EcmFmdHNbdG91clNsdWddPy5waWNrdXBQcmljZXM\/LltwaWNrdXBdID8\/IHRyYW5zZmVyVGFyaWZmLm9uZVdheTsKCmNvbnN0IHBvbXBlaWlEcmFmdCA9IHsKICBzaGFyZWQ6IHsgZ3VpZGVDb3N0OiAyMDAwMCwgYWR1bHRXaXRoQWRtaXNzaW9uOiA5MDAwLCBjYXBhY2l0eTogMTAsIG9mZmVyU2VhdHM6IDIsIGRpc2NvdW50OiAwLjA1IH0sCn07CmNvbnN0IHBvbXBlaWlEYXlUcmlwID0gewogIGNhcGFjaXR5OiA2LAogIHRyYW5zZmVyOiA2MDAwMCwKICBndWlkZTogNDAwMDAsCiAgcHJpdmF0ZUJhc2U6IDEwMDAwMCwKICBwcml2YXRlQmFzZUd1ZXN0czogMiwKICBleHRyYVByaXZhdGVHdWVzdDogNTAwMCwKICBzaGFyZWRQcmljZTogMjIwMDAsCn07CmNvbnN0IHBvbXBlaWlXaW5lVGFzdGluZ3MgPSB7IHN0YW5kYXJkOiA2MDAwLCBzdXBlcmlvcjogNzAwMCB9Owpjb25zdCBwb21wZWlpV2luZUd1aWRlID0gMjAwMDA7CmNvbnN0IHBvbXBlaWlXaW5lUHJpdmF0ZUJhc2UgPSBwb21wZWlpRGF5VHJpcC5wcml2YXRlQmFzZSAtIHBvbXBlaWlEYXlUcmlwLmd1aWRlICsgcG9tcGVpaVdpbmVHdWlkZTsKY29uc3QgcG9tcGVpaVdpbmVTaGFyZWRCYXNlID0gMTkwMDA7CmNvbnN0IGlzUG9tcGVpaUZ1bGxEYXlUb3VyID0gc2x1ZyA9PiBbJ3BvbXBlaWktZnJvbS1hbWFsZmknLCAncG9tcGVpaS13aW5lJ10uaW5jbHVkZXMoc2x1Zyk7CmNvbnN0IGNvYXN0RGF5VHJpcCA9IHsgdHJhbnNmZXI6IDYwMDAwLCBoYWxmRGF5R3VpZGU6IDIzMDAwLCBndWlkZTogNTAwMDAsIGNhcGFjaXR5OiA2IH07CmNvbnN0IGlzQ29hc3RGdWxsRGF5VG91ciA9IHNsdWcgPT4gWydjb2FzdC1mcm9tLXNvcnJlbnRvJywgJ2NvYXN0LWZyb20tc2FsZXJubycsICdleGNsdXNpdmUtY29hc3QnXS5pbmNsdWRlcyhzbHVnKTsKY29uc3QgYm9hdERyYWZ0ID0gewogIHBhY2thZ2VzOiB7CiAgICAndHdvLWhvdXJzJzogeyBob3VyczogMiwgbGFiZWw6ICcyIGhvdXJzJywgcHJpY2U6IDMwMDAwIH0sCiAgICAnZm91ci1ob3Vycyc6IHsgaG91cnM6IDQsIGxhYmVsOiAnNCBob3VycycsIHByaWNlOiA1MDAwMCB9LAogICAgJ2Z1bGwtZGF5JzogeyBob3VyczogbnVsbCwgbGFiZWw6ICdGdWxsIGRheScsIHByaWNlOiA4MDAwMCB9LAogIH0sCiAgZXh0cmFIb3VyOiAxNTAwMCwKICBjb25kaXRpb25zOiB7CiAgICBlbjogJ0JvYXQgZGVwYXJ0dXJlcyBhcmUgc3ViamVjdCB0byB3ZWF0aGVyIGFuZCBzZWEgY29uZGl0aW9ucy4gQmFkIHdlYXRoZXIsIGFkdmVyc2Ugc2VhIGNvbmRpdGlvbnMgb3Igb3RoZXIgY2lyY3Vtc3RhbmNlcyBhZmZlY3RpbmcgbmF2aWdhdGlvbiBtYXkgbGVhZCB0byBjYW5jZWxsYXRpb24uIEFDV0wgd2lsbCBjb250YWN0IHlvdSBpZiB0aGUgdHJpcCBjYW5ub3QgdGFrZSBwbGFjZS4nLAogICAgaXQ6ICdMZSBwYXJ0ZW56ZSBpbiBiYXJjYSBkaXBlbmRvbm8gZGFsbGUgY29uZGl6aW9uaSBtZXRlbyBlIGRlbCBtYXJlLiBJbiBjYXNvIGRpIG1hbHRlbXBvLCBtYXJlIGF2dmVyc28gbyBhbHRyZSBjaXJjb3N0YW56ZSBjaGUgY29tcHJvbWV0dG9ubyBsYSBuYXZpZ2F6aW9uZSwgaWwgdG91ciBwdcOyIGVzc2VyZSBjYW5jZWxsYXRvLiBBQ1dMIHRpIGNvbnRhdHRlcsOgIHNlIGzigJl1c2NpdGEgbm9uIHBvdHLDoCBzdm9sZ2Vyc2kuJywKICB9LAp9Owpjb25zdCBhbmNpZW50VmluZXNEcmFmdCA9IHsgdGFzdGluZzogNzAwMCwgZnVsbERheVRyYW5zcG9ydDogNjAwMDAsIGNhcGFjaXR5OiA4IH07CmNvbnN0IGFuY2llbnRWaW5lc1NoYXJlZFRyYW5zcG9ydCA9IGFuY2llbnRWaW5lc0RyYWZ0LmZ1bGxEYXlUcmFuc3BvcnQgLyBhbmNpZW50VmluZXNEcmFmdC5jYXBhY2l0eTsKY29uc3QgY2FzZXJ0YURyYWZ0ID0gewogIGd1aWRlQ29zdDogcG9tcGVpaURyYWZ0LnNoYXJlZC5ndWlkZUNvc3QsCiAgc2hhcmVkQ2FwYWNpdHk6IHBvbXBlaWlEcmFmdC5zaGFyZWQuY2FwYWNpdHksCiAgYWR1bHRXaXRoQWRtaXNzaW9uOiBwb21wZWlpRHJhZnQuc2hhcmVkLmFkdWx0V2l0aEFkbWlzc2lvbiwKICBvbmxpbmVGZWU6IDEwMCwKICB0aWNrZXRTdXBwbGVtZW50OiAyMDAsCiAgaGVhZHNldHM6IDI1MCwKICB0aWNrZXRTb3VyY2U6ICdodHRwczovL3JlZ2dpYWRpY2FzZXJ0YS5jdWx0dXJhLmdvdi5pdC9iaWdsaWV0dGkvJywKICBoZWFkc2V0U291cmNlOiAnaHR0cHM6Ly9yZWdnaWFkaWNhc2VydGEuY3VsdHVyYS5nb3YuaXQvc2Vydml6aS9hdXJpY29sYXJpLXBlci1ncnVwcGkvJywKICBjaGVja2VkT246ICcyMDI2LTExLTA2JywKICB0aWNrZXRzOiB7CiAgICBjb21wbGV0ZTogeyBsYWJlbDogJ1JveWFsIEFwYXJ0bWVudHMsIFJveWFsIFBhcmsgJiBFbmdsaXNoIEdhcmRlbicsIGNvc3Q6IDE4MDAgfSwKICAgIGdhcmRlbnM6IHsgbGFiZWw6ICdSb3lhbCBQYXJrICYgRW5nbGlzaCBHYXJkZW4nLCBjb3N0OiA5MDAgfSwKICAgIHBhbGFjZTogeyBsYWJlbDogJ1JveWFsIEFwYXJ0bWVudHMgb25seSDCtyB3aGVuIHBhcmsgb3IgZ2FyZGVuIGlzIGNsb3NlZCcsIGNvc3Q6IDEyMDAgfSwKICAgIGV2ZW5pbmc6IHsgbGFiZWw6ICdFdmVuaW5nIFJveWFsIEFwYXJ0bWVudHMgwrcgZnJvbSAxNzowMCcsIGNvc3Q6IDUwMCB9LAogIH0sCn07CmNvbnN0IGNhc2VydGFUaWNrZXRQcmljZSA9IHRpY2tldCA9PiBjYXNlcnRhRHJhZnQudGlja2V0c1t0aWNrZXRdLmNvc3QgKyBjYXNlcnRhRHJhZnQub25saW5lRmVlICsgY2FzZXJ0YURyYWZ0LnRpY2tldFN1cHBsZW1lbnQ7CmNvbnN0IGNhc2VydGFTaGFyZWRHdWlkZVByaWNlID0gKHRpY2tldCA9ICdjb21wbGV0ZScpID0+IGNhc2VydGFEcmFmdC5hZHVsdFdpdGhBZG1pc3Npb24gLSBjYXNlcnRhVGlja2V0UHJpY2UodGlja2V0KTsKY29uc3QgaXNDYXNlcnRhRnJlZVN1bmRheSA9IGRhdGUgPT4gQm9vbGVhbihkYXRlKSAmJiBuZXcgRGF0ZShkYXRlICsgJ1QxMjowMDowMFonKS5nZXRVVENEYXkoKSA9PT0gMCAmJgogIE51bWJlcihkYXRlLnNsaWNlKDgpKSA8PSA3OwoKZnVuY3Rpb24gY2FzZXJ0YUFkbWlzc2lvbkVycm9yKHRpY2tldCwgZGF0ZSwgdGltZSkgewogIGlmICh0aWNrZXQgPT09ICdldmVuaW5nJyAmJiB0aW1lICYmIHRpbWUgPCAnMTc6MDAnKSByZXR1cm4gJ0V2ZW5pbmcgYWRtaXNzaW9uIHN0YXJ0cyBhdCAxNzowMC4gQ2hvb3NlIGEgbGF0ZXIgdGltZSBvciBhbm90aGVyIHRpY2tldC4nOwogIGlmIChbJ2NvbXBsZXRlJywgJ2dhcmRlbnMnXS5pbmNsdWRlcyh0aWNrZXQpICYmIGlzQ2FzZXJ0YUZyZWVTdW5kYXkoZGF0ZSkpIHsKICAgIHJldHVybiAnVGhlIEVuZ2xpc2ggR2FyZGVuIGlzIGNsb3NlZCBvbiB0aGUgZmlyc3QgU3VuZGF5IG9mIHRoZSBtb250aC4gQ2hvb3NlIGFub3RoZXIgZGF0ZSBvciBhIHBhbGFjZSB2aXNpdC4nOwogIH0KICBpZiAodGlja2V0ID09PSAncGFsYWNlJyAmJiBkYXRlPy5zdGFydHNXaXRoKCcyMDI2LTExJykgJiYgdGltZSAmJiB0aW1lIDwgJzE1OjAwJykgewogICAgcmV0dXJuICdUaGUgcGFsYWNlLW9ubHkgdGlja2V0IGlzIHJlc3RyaWN0ZWQgdG8gdGltZXMgd2hlbiB0aGUgcGFyayBvciBFbmdsaXNoIEdhcmRlbiBpcyBjbG9zZWQuIEZvciB0aGlzIE5vdmVtYmVyIHZpc2l0LCBjaG9vc2UgMTU6MDAgb3IgbGF0ZXIsIG9yIHNlbGVjdCB0aGUgY29tcGxldGUgdGlja2V0Lic7CiAgfQogIHJldHVybiAnJzsKfQpjb25zdCBlbWVyYWxkR3JvdHRvVG91cnMgPSBuZXcgU2V0KFsKICAnYW1hbGZpLXVuY292ZXJlZCcsICdyYXZlbGxvJywgJ3NvcnJlbnRvLWZhcm0nLCAncG9tcGVpaS1mcm9tLWFtYWxmaScsICdwb21wZWlpLXdpbmUnLCAnY29hc3QtZnJvbS1zb3JyZW50bycsCiAgJ2NvYXN0LWZyb20tc2FsZXJubycsICdleGNsdXNpdmUtY29hc3QnLApdKTsKCmNvbnN0IHJhdmVsbG9EcmFmdCA9IHsKICBzaGFyZWQ6IFsKICAgIHsgbWF4OiAyLCBwcmljZTogMTgwMDAgfSwKICAgIHsgbWF4OiA0LCBwcmljZTogMjAwMDAgfSwKICAgIHsgbWF4OiA3LCBwcmljZTogMjI1MDAgfSwKICAgIHsgbWF4OiAxMCwgcHJpY2U6IDI1MDAwIH0sCiAgXSwKfTsKY29uc3QgcG9tcGVpaVVuaWZpZWRGcm9tID0gJzIwMjctMDEtMDEnOwpjb25zdCB2aXNpdFRpY2tldHMgPSB7CiAgcG9tcGVpaUV4cHJlc3M6IHsKICAgIG5hbWU6ICdQb21wZWlpIEV4cHJlc3MgYWRtaXNzaW9uJywKICAgIGNvc3Q6IDIwMDAsCiAgICBzb3VyY2U6IHZlbnVlcy5wb21wZWlpLnVybCwKICB9LAogIHBvbXBlaWlQbHVzOiB7CiAgICBuYW1lOiAnUG9tcGVpaSBQbHVzIGFkbWlzc2lvbicsCiAgICBjb3N0OiAyNTAwLAogICAgc291cmNlOiB2ZW51ZXMucG9tcGVpaS51cmwsCiAgfSwKICBwb21wZWlpVW5pZmllZDogewogICAgbmFtZTogJ0dyYW5kZSBQb21wZWlpIHVuaWZpZWQgYWRtaXNzaW9uJywKICAgIGNvc3Q6IDI2MDAsCiAgICBzb3VyY2U6ICdodHRwczovL3BvbXBlaWlzaXRlcy5vcmcvY29tdW5pY2F0aS9udW92by1zaXN0ZW1hLXRhcmlmZmFyaW8taW4tdmlnb3JlLWRhbC0xLWdlbm5haW8tMjAyNy8nLAogIH0sCiAgcnVmb2xvOiB7CiAgICBuYW1lOiAnVmlsbGEgUnVmb2xvJywKICAgIGNvc3Q6IDgwMCwKICAgIHNvdXJjZTogdmVudWVzLnJhdmVsbG8udXJsLAogIH0sCiAgY2ltYnJvbmU6IHsKICAgIG5hbWU6ICdWaWxsYSBDaW1icm9uZSBHYXJkZW5zJywKICAgIGNvc3Q6IDEwMDAsCiAgICBzb3VyY2U6ICdodHRwczovL3d3dy5ob3RlbHZpbGxhY2ltYnJvbmUuY29tL3ZpbGxhLWNpbWJyb25lLycsCiAgfSwKICBwYXBlck11c2V1bTogewogICAgbmFtZTogJ0FtYWxmaSBQYXBlciBNdXNldW0gwrcgc3RhbmRhcmQgYWRtaXNzaW9uJywKICAgIGNvc3Q6IDQ1MCwKICAgIHNvdXJjZTogJ2h0dHBzOi8vd3d3LmFtYWxmaXBhcGVybXVzZXVtLmNvbS90aWNrZXQtaW5mb3JtYXRpb24vJywKICAgIGhvdXJzOiAnaHR0cHM6Ly93d3cubXVzZW9kZWxsYWNhcnRhLml0LycsCiAgfSwKICBlbWVyYWxkR3JvdHRvOiB7CiAgICBuYW1lOiAnRW1lcmFsZCBHcm90dG8gYWRtaXNzaW9uJywKICAgIGNvc3Q6IDEwMDAsCiAgICBzb3VyY2U6ICdodHRwczovL3d3dy5wb3NpdGFuby5jb20vaXQvZS9sYS1ncm90dGEtZGVsbG8tc21lcmFsZG8tYWQtYW1hbGZpJywKICB9LAp9Owpjb25zdCB2aXNpdFRpY2tldFByaWNlID0ga2V5ID0+IHZpc2l0VGlja2V0c1trZXldLmNvc3QgKyAyMDA7CmNvbnN0IHBvbXBlaWlTaGFyZWRHdWlkZVByaWNlID0gKHRpY2tldCA9ICdwb21wZWlpVW5pZmllZCcpID0+CiAgcG9tcGVpaURyYWZ0LnNoYXJlZC5hZHVsdFdpdGhBZG1pc3Npb24gLSB2aXNpdFRpY2tldFByaWNlKHRpY2tldCk7CmNvbnN0IGlzUG9tcGVpaVRvdXIgPSBzbHVnID0+IHZlbnVlQnlUb3VyW3NsdWddID09PSAncG9tcGVpaSc7CgpmdW5jdGlvbiBwb21wZWlpQWRtaXNzaW9uRmllbGQodG91ciwgb3B0aW9uLCBkYXRlKSB7CiAgY29uc3QgY3VycmVudFRhcmlmZnMgPSBkYXRlID8gZGF0ZSA8IHBvbXBlaWlVbmlmaWVkRnJvbSA6CiAgICB0b3VyLnNsdWcgPT09ICdwb21wZWlpLWFyY2hhZW9sb2d5JyB8fCBpc1BvbXBlaWlGdWxsRGF5VG91cih0b3VyLnNsdWcpOwogIGNvbnN0IHRpY2tldHMgPSBjdXJyZW50VGFyaWZmcyA\/IFsncG9tcGVpaUV4cHJlc3MnLCAncG9tcGVpaVBsdXMnXSA6IFsncG9tcGVpaVVuaWZpZWQnXTsKICBpZiAoaXNQb21wZWlpRnVsbERheVRvdXIodG91ci5zbHVnKSkgewogICAgcmV0dXJuIHsga2V5OiAndGlja2V0cycsIGxhYmVsOiAnUGFyayBhZG1pc3Npb24nLCBpbml0aWFsOiB0aWNrZXRzLmF0KC0xKSwKICAgICAgY2hvaWNlczogdGlja2V0cy5tYXAodGlja2V0ID0+IFt0aWNrZXQsIHZpc2l0VGlja2V0c1t0aWNrZXRdLm5hbWUgKyAnIMK3ICcgKwogICAgICAgIG1vbmV5KHZpc2l0VGlja2V0UHJpY2UodGlja2V0KSkgKyAnIHBlciBhZHVsdCDCtyBpbmNsdWRlZCddKSB9OwogIH0KICBjb25zdCBvd25UaWNrZXRMYWJlbCA9IHRvdXIuc2x1ZyA9PT0gJ3BvbXBlaWktYXJjaGFlb2xvZ3knID8gJ0d1aWRlIG9ubHkgwrcgYXJyYW5nZSB5b3VyIG93biB0aWNrZXQnIDogJ0FycmFuZ2UgeW91ciBvd24gcGFyayBhZG1pc3Npb24nOwogIGNvbnN0IGRlZmF1bHRUaWNrZXQgPSBjb25maWd1cmVkRXh0cmFzW29wdGlvbi5jb2RlXT8udGlja2V0czsKICBjb25zdCBjaG9pY2VzID0gW1snb3duJywgb3duVGlja2V0TGFiZWxdLCAuLi50aWNrZXRzLm1hcChrZXkgPT4gWwogICAga2V5LCB2aXNpdFRpY2tldHNba2V5XS5uYW1lICsgJyDCtyAnICsgbW9uZXkodmlzaXRUaWNrZXRQcmljZShrZXkpKSArICcgcGVyIGFkdWx0JywKICBdKV07CiAgaWYgKGRlZmF1bHRUaWNrZXQgPT09ICdjb25maXJtJykgY2hvaWNlcy51bnNoaWZ0KFsnY29uZmlybScsICdEZWNpZGUgd2hlbiBwcmljaW5nIHRoZSB0b3VyJ10pOwogIHJldHVybiB7CiAgICBrZXk6ICd0aWNrZXRzJywKICAgIGxhYmVsOiAnUGFyayBhZG1pc3Npb24nLAogICAgaW5pdGlhbDogZGVmYXVsdFRpY2tldCA9PT0gJ2luY2x1ZGUnIHx8IHRvdXIuc2x1ZyA9PT0gJ3BvbXBlaWktYXJjaGFlb2xvZ3knID8gdGlja2V0cy5hdCgtMSkgOiBjaG9pY2VzWzBdWzBdLAogICAgY2hvaWNlcywKICB9Owp9Cgpjb25zdCBleHRyYXNCeVRvdXIgPSB7fTsKCmNvbnN0IGNvbmZpZ3VyZWRFeHRyYXMgPSB7CiAgJzIwMTkxNVAxNyc6IHsgcGlja3VwOiAncGFja2FnZScsIHRpY2tldHM6ICdpbmNsdWRlJyB9LAogICcyMDE5MTVQMTInOiB7IHRpY2tldHM6ICdjb25maXJtJyB9LAogICcyMDE5MTVQNCc6IHsgcGlja3VwOiAncGFja2FnZScsIHRhc3Rpbmc6ICdjb25maXJtJyB9LAogICcyMDE5MTVQMTEnOiB7IHBpY2t1cDogJ3BhY2thZ2UnIH0sCiAgJzIwMTkxNVA3JzogeyBwaWNrdXA6ICdwYWNrYWdlJywgdGFzdGluZzogJ2luY2x1ZGUnIH0sCiAgJzIwMTkxNVAzJzogeyB0aWNrZXRzOiAnY29uZmlybScgfSwKfTsKCmZ1bmN0aW9uIG9wdGlvbkZpZWxkcyh0b3VyLCBvcHRpb24sIGRhdGUpIHsKICBpZiAodG91ci5zbHVnID09PSAncm95YWwtY2FzZXJ0YScpIHsKICAgIHJldHVybiBbCiAgICAgIHsga2V5OiAnZm9ybWF0JywgbGFiZWw6ICdUb3VyIHR5cGUnLCBpbml0aWFsOiAnc2hhcmVkJywgY2hvaWNlczogWwogICAgICAgIFsnc2hhcmVkJywgJ1NoYXJlZCB0b3VyIMK3ICcgKyBtb25leShjYXNlcnRhRHJhZnQuYWR1bHRXaXRoQWRtaXNzaW9uKSArICcgcGVyIGFkdWx0IHdpdGggYWRtaXNzaW9uIMK3IG1heCAxMCddLAogICAgICAgIFsncHJpdmF0ZScsICdQcml2YXRlIGd1aWRlIMK3IGZyb20gJyArIG1vbmV5KHByaXZhdGVHdWlkZVJhdGUoMSkpICsgJyBwZXIgZ3JvdXAnXSwKICAgICAgXSB9LAogICAgICB7IGtleTogJ3RpY2tldHMnLCBsYWJlbDogJ0FkbWlzc2lvbiDCtyB3aXRoIG9yIHdpdGhvdXQgZ2FyZGVucycsIGluaXRpYWw6ICdjb21wbGV0ZScsIGNob2ljZXM6IFsKICAgICAgICBbJ293bicsICdXaXRob3V0IGVudHJ5IHRpY2tldHMgwrcgYXJyYW5nZSB5b3VyIG93biBhZG1pc3Npb24nXSwKICAgICAgICAuLi5PYmplY3QuZW50cmllcyhjYXNlcnRhRHJhZnQudGlja2V0cykubWFwKChba2V5LCB0aWNrZXRdKSA9PgogICAgICAgICAgW2tleSwgdGlja2V0LmxhYmVsICsgJyDCtyAnICsgbW9uZXkoY2FzZXJ0YVRpY2tldFByaWNlKGtleSkpICsgJyBwZXIgYWR1bHQnXSksCiAgICAgIF0gfSwKICAgICAgeyBrZXk6ICdwaWNrdXAnLCBsYWJlbDogJ09wdGlvbmFsIHRyYW5zZmVyIHRvIENhc2VydGEnLCBpbml0aWFsOiAnbWVldCcsIGNob2ljZXM6IFsKICAgICAgICBbJ21lZXQnLCAnTWVldCB0aGUgZ3VpZGUgYXQgdGhlIFJveWFsIFBhbGFjZSDCtyBubyB0cmFuc2ZlciBjaGFyZ2UnXSwKICAgICAgICAuLi5bWydzb3JyZW50bycsICdTb3JyZW50byddLCBbJ25hcGxlcycsICdOYXBsZXMnXSwgWydzYWxlcm5vJywgJ1NhbGVybm8nXSwgWydhbWFsZmknLCAnQW1hbGZpJ10sIFsncmF2ZWxsbycsICdSYXZlbGxvJ11dLm1hcCgoW2tleSwgbGFiZWxdKSA9PgogICAgICAgICAgW2tleSwgJ1BpY2stdXAgZnJvbSAnICsgbGFiZWwgKyAnIMK3ICcgKyBtb25leSh0cmFuc2ZlclByaWNlRm9yKGtleSwgdG91ci5zbHVnKSkgKyAnIHBlciB2ZWhpY2xlIC8gbGVnJ10pLAogICAgICBdIH0sCiAgICBdOwogIH0KICBpZiAodG91ci5zbHVnID09PSAnb2xkLXZpbmVzJykgewogICAgcmV0dXJuIFsKICAgICAgeyBrZXk6ICdmb3JtYXQnLCBsYWJlbDogJ1RvdXIgdHlwZSDCtyBtYXhpbXVtIDggZ3Vlc3RzJywgaW5pdGlhbDogJ3NoYXJlZCcsIGNob2ljZXM6IFsKICAgICAgICBbJ3NoYXJlZCcsICdTaGFyZWQgZXhwZXJpZW5jZSDCtyBtYXggOCBndWVzdHMnXSwgWydwcml2YXRlJywgJ1ByaXZhdGUgZXhwZXJpZW5jZSDCtyBleGNsdXNpdmUgZ3JvdXAgwrcgbWF4IDggZ3Vlc3RzJ10sCiAgICAgIF0gfSwKICAgICAgeyBrZXk6ICd0cmFuc3BvcnQnLCBsYWJlbDogJ1dpbmVyeSB2aXNpdCDCtyB0cmFuc3BvcnQgb3B0aW9ucycsIGluaXRpYWw6ICdtZWV0JywgY2hvaWNlczogWwogICAgICAgIFsnbWVldCcsICdNYWtlIHlvdXIgb3duIHdheSB0byB0aGUgd2luZXJ5J10sCiAgICAgICAgWydmdWxsLWRheScsICdGdWxsLWRheSB2ZWhpY2xlLCBkcml2ZXIgJiB0b3VyIGVzY29ydCddLAogICAgICBdIH0sCiAgICAgIHsga2V5OiAncGlja3VwJywgbGFiZWw6ICdGdWxsLWRheSBwaWNrLXVwIHBvaW50JywgaW5pdGlhbDogJycsIHJlcXVpcmVkOiB0cnVlLCBjaG9pY2VzOiBbCiAgICAgICAgWycnLCAnQ2hvb3NlIGEgcGljay11cCBhcmVhJ10sIFsnYW1hbGZpJywgJ0FtYWxmaSddLCBbJ3JhdmVsbG8nLCAnUmF2ZWxsbyddLAogICAgICAgIFsnc2FsZXJubycsICdTYWxlcm5vJ10sIFsnc29ycmVudG8nLCAnU29ycmVudG8nXSwgWyduYXBsZXMnLCAnTmFwbGVzJ10sIFsnbmVhcmJ5JywgJ05lYXJieSBhcmVhcyddLAogICAgICBdIH0sCiAgICBdOwogIH0KICBpZiAodG91ci5zbHVnID09PSAnY29hc3QtYnktYm9hdCcpIHsKICAgIHJldHVybiBbCiAgICAgIHsga2V5OiAncGlja3VwJywgbGFiZWw6ICdFbWJhcmthdGlvbiBwb3J0JywgaW5pdGlhbDogJ2FtYWxmaScsCiAgICAgICAgY2hvaWNlczogW1snYW1hbGZpJywgJ0FtYWxmaSDCtyBib2F0IGJvYXJkaW5nJ10sIFsnc2FsZXJubycsICdTYWxlcm5vIMK3IGJvYXQgYm9hcmRpbmcnXV0gfSwKICAgICAgeyBrZXk6ICdib2F0LWR1cmF0aW9uJywgbGFiZWw6ICdQcml2YXRlIGJvYXQgZHVyYXRpb24gwrcgbWluaW11bSAyIGhvdXJzJywgaW5pdGlhbDogJ3R3by1ob3VycycsCiAgICAgICAgY2hvaWNlczogT2JqZWN0LmVudHJpZXMoYm9hdERyYWZ0LnBhY2thZ2VzKS5tYXAoKFtrZXksIHBhY2tdKSA9PgogICAgICAgICAgW2tleSwgcGFjay5sYWJlbCArICcgwrcgJyArIG1vbmV5KHBhY2sucHJpY2UpICsgJyBwZXIgcHJpdmF0ZSBib2F0J10pIH0sCiAgICAgIHsga2V5OiAndHJhbnNmZXItcGlja3VwJywgbGFiZWw6ICdPcHRpb25hbCBsYW5kIHRyYW5zZmVyIHRvIHRoZSBlbWJhcmthdGlvbiBwb3J0JywgaW5pdGlhbDogJ21lZXQnLAogICAgICAgIGNob2ljZXM6IFtbJ21lZXQnLCAnTWFrZSB5b3VyIG93biB3YXkgdG8gdGhlIHNlbGVjdGVkIHBvcnQnXSwKICAgICAgICAgIC4uLltbJ2FtYWxmaScsICdBbWFsZmknXSwgWydyYXZlbGxvJywgJ1JhdmVsbG8nXSwgWyduZWFyYnknLCAnTmVhcmJ5IGFyZWFzJ10sCiAgICAgICAgICAgIFsnc29ycmVudG8nLCAnU29ycmVudG8nXSwgWyduYXBsZXMnLCAnTmFwbGVzJ10sIFsnc2FsZXJubycsICdTYWxlcm5vJ11dLm1hcCgoW2tleSwgbGFiZWxdKSA9PgogICAgICAgICAgICBba2V5LCAnUGljay11cCBmcm9tICcgKyBsYWJlbCArICcgwrcgJyArIG1vbmV5KHRyYW5zZmVyUHJpY2VGb3Ioa2V5LCB0b3VyLnNsdWcpKSArICcgcGVyIHZlaGljbGUgLyBsZWcnXSldIH0sCiAgICBdOwogIH0KICBjb25zdCBkZWZhdWx0cyA9IGNvbmZpZ3VyZWRFeHRyYXNbb3B0aW9uLmNvZGVdIHx8IHt9OwogIGNvbnN0IGZpZWxkcyA9IFsKICAgIHsKICAgICAga2V5OiAncGlja3VwJywKICAgICAgbGFiZWw6ICdUcmFuc2ZlciAvIHBpY2stdXAnLAogICAgICBpbml0aWFsOiBkZWZhdWx0cy5waWNrdXAgfHwgJ21lZXQnLAogICAgICBjaG9pY2VzOiBbCiAgICAgICAgWydtZWV0JywgJ01lZXQgYXQgdGhlIHRvdXIgbWVldGluZyBwb2ludCddLAogICAgICAgIFsnc29ycmVudG8nLCAnUGljay11cCBmcm9tIFNvcnJlbnRvJ10sCiAgICAgICAgWyduYXBsZXMnLCAnUGljay11cCBmcm9tIE5hcGxlcyddLAogICAgICAgIFsnc2FsZXJubycsICdQaWNrLXVwIGZyb20gU2FsZXJubyddLAogICAgICBdLAogICAgfSwKICBdOwogIGlmIChkZWZhdWx0cy5waWNrdXAgPT09ICdwYWNrYWdlJykgZmllbGRzWzBdLmNob2ljZXMudW5zaGlmdChbJ3BhY2thZ2UnLCAnVHJhbnNmZXIgYXMgbGlzdGVkIGluIHRoaXMgcGFja2FnZSddKTsKCiAgaWYgKHRvdXIuc2x1ZyA9PT0gJ3BvbXBlaWktYXJjaGFlb2xvZ3knKSB7CiAgICBmaWVsZHNbMF0uY2hvaWNlcy5wdXNoKFsnYW1hbGZpJywgJ1BpY2stdXAgZnJvbSBBbWFsZmknXSk7CiAgfQogIGlmICh0b3VyLnNsdWcgPT09ICdyYXZlbGxvJykgewogICAgZmllbGRzWzBdLmNob2ljZXMucHVzaChbJ2FtYWxmaScsICdQaWNrLXVwIGZyb20gQW1hbGZpJ10sIFsnbmVhcmJ5JywgJ1BpY2stdXAgZnJvbSBuZWFyYnkgYXJlYXMnXSk7CiAgfQogIGlmICh0b3VyLnNsdWcgPT09ICdjb2FzdC1mcm9tLXNhbGVybm8nKSB7CiAgICBmaWVsZHNbMF0uaW5pdGlhbCA9ICdzYWxlcm5vLWNlbnRyZSc7CiAgICBmaWVsZHNbMF0uY2hvaWNlcyA9IFtbJ3NhbGVybm8tcG9ydCcsICdTYWxlcm5vIFBvcnQnXSwgWydzYWxlcm5vLWNlbnRyZScsICdTYWxlcm5vIENpdHkgQ2VudHJlJ11dOwogIH0KICBpZiAodG91ci5zbHVnID09PSAnYW1hbGZpLXVuY292ZXJlZCcgfHwgc29ycmVudG9EcmFmdHNbdG91ci5zbHVnXSkgewogICAgZmllbGRzWzBdLmNob2ljZXMucHVzaChbJ2FtYWxmaScsICdQaWNrLXVwIGZyb20gQW1hbGZpJ10sIFsncmF2ZWxsbycsICdQaWNrLXVwIGZyb20gUmF2ZWxsbyddLAogICAgICBbJ25lYXJieScsICdQaWNrLXVwIGZyb20gbmVhcmJ5IGFyZWFzJ10pOwogIH0KICBpZiAodG91ci5zbHVnID09PSAncG9tcGVpaS1mcm9tLWFtYWxmaScpIHsKICAgIGZpZWxkc1swXS5pbml0aWFsID0gJ2FtYWxmaSc7CiAgICBmaWVsZHNbMF0ubGFiZWwgPSAnRnVsbC1kYXkgcGljay11cCDCtyByb3VuZCB0cmlwIGluY2x1ZGVkJzsKICAgIGZpZWxkc1swXS5jaG9pY2VzID0gW1snYW1hbGZpJywgJ0FtYWxmaSddLCBbJ2NvYXN0JywgJ090aGVyIEFtYWxmaSBDb2FzdCB0b3duJ11dLm1hcCgoW2tleSwgbGFiZWxdKSA9PgogICAgICBba2V5LCBsYWJlbCArICcgwrcgJyArIG1vbmV5KHBvbXBlaWlEYXlUcmlwLnRyYW5zZmVyKSArICcgcGVyIHZlaGljbGUnXSk7CiAgfSBlbHNlIGlmICh0b3VyLnNsdWcgPT09ICdwb21wZWlpLXdpbmUnIHx8IHRvdXIuc2x1ZyA9PT0gJ2NvYXN0LWZyb20tc29ycmVudG8nIHx8IHRvdXIuc2x1ZyA9PT0gJ2V4Y2x1c2l2ZS1jb2FzdCcpIHsKICAgIGZpZWxkc1swXS5pbml0aWFsID0gdG91ci5zbHVnID09PSAnY29hc3QtZnJvbS1zb3JyZW50bycgPyAnc29ycmVudG8nIDogJ3BhY2thZ2UnOwogICAgZmllbGRzWzBdLmxhYmVsID0gJ0Z1bGwtZGF5IHBpY2stdXAgwrcgcm91bmQgdHJpcCBpbmNsdWRlZCc7CiAgICBjb25zdCB0cmFuc2ZlciA9IGlzQ29hc3RGdWxsRGF5VG91cih0b3VyLnNsdWcpID8gY29hc3REYXlUcmlwLnRyYW5zZmVyIDogcG9tcGVpaURheVRyaXAudHJhbnNmZXI7CiAgICBmaWVsZHNbMF0uY2hvaWNlcyA9IFtbJ3BhY2thZ2UnLCAnUGlja3VwIHRvIGNvbmZpcm0nXSwgWydhbWFsZmknLCAnQW1hbGZpJ10sIFsnY29hc3QnLCAnT3RoZXIgQW1hbGZpIENvYXN0IHRvd24nXSwKICAgICAgWydzb3JyZW50bycsICdTb3JyZW50byddLCBbJ25lYXJieScsICdOZWFyYnkgYXJlYXMnXSwgWyduYXBsZXMnLCAnTmFwbGVzJ10sIFsnc2FsZXJubycsICdTYWxlcm5vJ11dLm1hcCgoW2tleSwgbGFiZWxdKSA9PgogICAgICBba2V5LCBsYWJlbCArICcgwrcgJyArIG1vbmV5KHRyYW5zZmVyKSArICcgcGVyIHZlaGljbGUnXSk7CiAgfSBlbHNlIHsKICAgIGZpZWxkc1swXS5jaG9pY2VzID0gZmllbGRzWzBdLmNob2ljZXMubWFwKChbdmFsdWUsIGxhYmVsXSkgPT4gewogICAgICBjb25zdCBwcmljZSA9IHRyYW5zZmVyUHJpY2VGb3IodmFsdWUsIHRvdXIuc2x1Zyk7CiAgICAgIHJldHVybiBbdmFsdWUsIHZhbHVlID09PSAnbWVldCcgfHwgdmFsdWUgPT09ICdwYWNrYWdlJyA\/IGxhYmVsIDogbGFiZWwgKwogICAgICAgIChwcmljZSA9PT0gMCA\/ICcgwrcgRnJlZSBwaWNrLXVwJyA6ICcgwrcgJyArIG1vbmV5KHByaWNlKSArICcgcGVyIGxlZycpXTsKICAgIH0pOwogIH0KICBpZiAodG91ci5zbHVnID09PSAnYW1hbGZpLXVuY292ZXJlZCcgfHwgc29ycmVudG9EcmFmdHNbdG91ci5zbHVnXSB8fCB0b3VyLnNsdWcgPT09ICdwb21wZWlpLWFyY2hhZW9sb2d5JyB8fAogICAgICBpc1BvbXBlaWlGdWxsRGF5VG91cih0b3VyLnNsdWcpIHx8IHRvdXIuc2x1ZyA9PT0gJ3JhdmVsbG8nIHx8IGlzQ29hc3RGdWxsRGF5VG91cih0b3VyLnNsdWcpKSB7CiAgICBjb25zdCBwcml2YXRlT25seSA9IHRvdXIuc2x1ZyA9PT0gJ2NvYXN0LWZyb20tc2FsZXJubycgfHwgdG91ci5zbHVnID09PSAnZXhjbHVzaXZlLWNvYXN0JzsKICAgIGZpZWxkcy51bnNoaWZ0KHsKICAgICAga2V5OiAnZm9ybWF0JywKICAgICAgbGFiZWw6ICdUb3VyIHR5cGUnLAogICAgICBpbml0aWFsOiBwcml2YXRlT25seSA\/ICdwcml2YXRlJyA6ICdzaGFyZWQnLAogICAgICBjaG9pY2VzOiBwcml2YXRlT25seSA\/IFtbJ3ByaXZhdGUnLCAnUHJpdmF0ZSB0b3VyJ11dIDogW1snc2hhcmVkJywgJ1NoYXJlZCB0b3VyJ10sIFsncHJpdmF0ZScsICdQcml2YXRlIHRvdXInXV0sCiAgICB9KTsKICB9CgogIGlmIChpc1BvbXBlaWlUb3VyKHRvdXIuc2x1ZykpIGZpZWxkcy5wdXNoKHBvbXBlaWlBZG1pc3Npb25GaWVsZCh0b3VyLCBvcHRpb24sIGRhdGUpKTsKCiAgaWYgKGlzUG9tcGVpaUZ1bGxEYXlUb3VyKHRvdXIuc2x1ZykpIHsKICAgIGNvbnN0IGNob2ljZXMgPSBbCiAgICAgIFsnc3RhbmRhcmQnLCAnQ2xhc3NpYyDCtyA1IHdpbmVzIMK3ICcgKyBtb25leShwb21wZWlpV2luZVRhc3RpbmdzLnN0YW5kYXJkKSArICcgcGVyIGFkdWx0J10sCiAgICAgIFsnc3VwZXJpb3InLCAnU3VwZXJpb3IgwrcgNyB3aW5lcyDCtyAnICsgbW9uZXkocG9tcGVpaVdpbmVUYXN0aW5ncy5zdXBlcmlvcikgKyAnIHBlciBhZHVsdCddLAogICAgXTsKICAgIGNvbnN0IHdpbmVUb3VyID0gdG91ci5zbHVnID09PSAncG9tcGVpaS13aW5lJzsKICAgIGlmICghd2luZVRvdXIpIGNob2ljZXMudW5zaGlmdChbJ2V4Y2x1ZGUnLCAnV2l0aG91dCBsdW5jaCAmIHdpbmUgdGFzdGluZyddKTsKICAgIGZpZWxkcy5wdXNoKHsga2V5OiAndGFzdGluZycsIGxhYmVsOiB3aW5lVG91ciA\/ICdMdW5jaCAmIHdpbmUgdGFzdGluZyDCtyBpbmNsdWRlZCcgOiAnT3B0aW9uYWwgbHVuY2ggJiB3aW5lIHRhc3RpbmcnLAogICAgICBpbml0aWFsOiB3aW5lVG91ciA\/ICdzdGFuZGFyZCcgOiAnZXhjbHVkZScsIGNob2ljZXMgfSk7CiAgfQoKICBpZiAoaXNDb2FzdEZ1bGxEYXlUb3VyKHRvdXIuc2x1ZykpIHsKICAgIGZpZWxkcy5wdXNoKHsga2V5OiAnZ3VpZGUnLCBsYWJlbDogJ0xvY2FsIGd1aWRlJywgaW5pdGlhbDogJ25vbmUnLCBjaG9pY2VzOiBbCiAgICAgIFsnbm9uZScsICdXaXRob3V0IGEgZ3VpZGUnXSwKICAgICAgWydoYWxmLWRheScsICdIRCDCtyBoYWxmLWRheSBndWlkZSDCtyAnICsgbW9uZXkoY29hc3REYXlUcmlwLmhhbGZEYXlHdWlkZSkgKyAnIHBlciBncm91cCddLAogICAgICBbJ2Z1bGwtZGF5JywgJ0ZEIMK3IGZ1bGwtZGF5IGd1aWRlIMK3ICcgKyBtb25leShjb2FzdERheVRyaXAuZ3VpZGUpICsgJyBwZXIgZ3JvdXAnXSwKICAgIF0gfSk7CiAgfQoKICBpZiAoc29ycmVudG9EcmFmdHNbdG91ci5zbHVnXT8uZmFybVByaWNlKSB7CiAgICBmaWVsZHMucHVzaCh7CiAgICAgIGtleTogJ21lYWwnLAogICAgICBsYWJlbDogJ09wdGlvbmFsIGx1bmNoJywKICAgICAgaW5pdGlhbDogJ25vbmUnLAogICAgICBjaG9pY2VzOiBbCiAgICAgICAgWydub25lJywgJ05vIGx1bmNoJ10sCiAgICAgICAgWydsdW5jaCcsICdBZGQgbHVuY2ggwrcgJyArIG1vbmV5KHNvcnJlbnRvRXh0cmFzLmx1bmNoKSArICcgcGVyIGd1ZXN0J10sCiAgICAgIF0sCiAgICB9KTsKICB9CgogIGlmICh0b3VyLnNsdWcgPT09ICdhbWFsZmktdW5jb3ZlcmVkJyB8fCBpc0NvYXN0RnVsbERheVRvdXIodG91ci5zbHVnKSkgewogICAgZmllbGRzLnB1c2goewogICAgICBrZXk6ICdjYXRoZWRyYWwnLAogICAgICBsYWJlbDogJ0FtYWxmaSBDYXRoZWRyYWwgwrcgb3B0aW9uYWwgdmlzaXQnLAogICAgICBpbml0aWFsOiAnb3V0c2lkZScsCiAgICAgIGNob2ljZXM6IFsKICAgICAgICBbJ291dHNpZGUnLCBpc0NvYXN0RnVsbERheVRvdXIodG91ci5zbHVnKSA\/ICdXaXRob3V0IGNhdGhlZHJhbCBlbnRyeScgOiAnV2Fsa2luZyB0b3VyIHdpdGhvdXQgY2F0aGVkcmFsIGVudHJ5J10sCiAgICAgICAgWydvd24nLCAnVmlzaXQgdGhlIGNhdGhlZHJhbCDCtyBhcnJhbmdlIHlvdXIgb3duIHRpY2tldCddLAogICAgICAgIFsnaW5jbHVkZScsICdWaXNpdCB0aGUgY2F0aGVkcmFsIMK3IGFkZCBhIHRpY2tldCAoJyArIG1vbmV5KGFtYWxmaUNvc3RpbmcudGlja2V0LnNhbGUpICsgJyBlYWNoKSddLAogICAgICBdLAogICAgfSk7CiAgfQogIGlmIChpc0NvYXN0RnVsbERheVRvdXIodG91ci5zbHVnKSkgewogICAgZm9yIChjb25zdCB2aWxsYSBvZiBbJ3J1Zm9sbycsICdjaW1icm9uZSddKSB7CiAgICAgIGZpZWxkcy5wdXNoKHsga2V5OiB2aWxsYSArICctdGlja2V0JywgbGFiZWw6IHZpc2l0VGlja2V0c1t2aWxsYV0ubmFtZSArICcgwrcgb3B0aW9uYWwgdmlzaXQnLCBpbml0aWFsOiAnZXhjbHVkZScsIGNob2ljZXM6IFsKICAgICAgICBbJ2V4Y2x1ZGUnLCAnV2l0aG91dCAnICsgdmlzaXRUaWNrZXRzW3ZpbGxhXS5uYW1lICsgJyBhZG1pc3Npb24nXSwKICAgICAgICBbJ2luY2x1ZGUnLCAnSW5jbHVkZSBhZG1pc3Npb24gwrcgJyArIG1vbmV5KHZpc2l0VGlja2V0UHJpY2UodmlsbGEpKSArICcgcGVyIGFkdWx0J10sCiAgICAgIF0gfSk7CiAgICB9CiAgfQogIGlmICh0b3VyLnNsdWcgPT09ICdhbWFsZmktdW5jb3ZlcmVkJykgewogICAgZmllbGRzLnB1c2goewogICAgICBrZXk6ICdwYXBlci1tdXNldW0nLAogICAgICBsYWJlbDogJ1BhcGVyIE11c2V1bSB2aXNpdCcsCiAgICAgIGluaXRpYWw6ICdza2lwJywKICAgICAgY2hvaWNlczogW1snc2tpcCcsICdTa2lwIHRoZSBQYXBlciBNdXNldW0nXSwgWydpbmNsdWRlJywgJ0FkZCBzdGFuZGFyZCBhZG1pc3Npb24gKCcgKyBtb25leSh2aXNpdFRpY2tldFByaWNlKCdwYXBlck11c2V1bScpKSArICcgYWR1bHQpJ11dLAogICAgfSk7CiAgfQoKICBpZiAodG91ci5zbHVnID09PSAncmF2ZWxsbycpIHsKICAgIGZpZWxkcy5wdXNoKHsKICAgICAga2V5OiAndmlsbGEnLAogICAgICBsYWJlbDogJ1ZpbGxhIHZpc2l0IChyZXF1aXJlZCknLAogICAgICBpbml0aWFsOiAnJywKICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgIGNob2ljZXM6IFsKICAgICAgICBbJycsICdDaG9vc2UgYXQgbGVhc3Qgb25lIHZpbGxhJ10sCiAgICAgICAgWydydWZvbG8nLCAnVmlsbGEgUnVmb2xvIMK3ICcgKyBtb25leSh2aXNpdFRpY2tldFByaWNlKCdydWZvbG8nKSkgKyAnIGFkdWx0J10sCiAgICAgICAgWydjaW1icm9uZScsICdMdXh1cnkgwrcgVmlsbGEgQ2ltYnJvbmUgR2FyZGVucyDCtyAnICsgbW9uZXkodmlzaXRUaWNrZXRQcmljZSgnY2ltYnJvbmUnKSkgKyAnIGFkdWx0J10sCiAgICAgICAgWydib3RoJywgJ0JvdGggdmlsbGFzIMK3ICcgKyBtb25leSh2aXNpdFRpY2tldFByaWNlKCdydWZvbG8nKSArIHZpc2l0VGlja2V0UHJpY2UoJ2NpbWJyb25lJykpICsgJyBhZHVsdCddLAogICAgICBdLAogICAgfSk7CiAgfQoKICBmb3IgKGNvbnN0IGtleSBvZiBleHRyYXNCeVRvdXJbdG91ci5zbHVnXSB8fCBbXSkgewogICAgY29uc3QgbGFiZWwgPSBrZXkgPT09ICd0aWNrZXRzJyA\/ICdBZG1pc3Npb24gdGlja2V0cycgOiBrZXkgPT09ICdsdW5jaCcgPyAnTHVuY2gnIDogJ1dpbmUgdGFzdGluZyc7CiAgICBjb25zdCBjaG9pY2VzID0gWwogICAgICBbJ2V4Y2x1ZGUnLCBrZXkgPT09ICd0aWNrZXRzJyA\/ICdUaWNrZXRzIGV4Y2x1ZGVkIMK3IGFycmFuZ2Ugc2VwYXJhdGVseScgOiAnV2l0aG91dCAnICsgbGFiZWwudG9Mb3dlckNhc2UoKV0sCiAgICAgIFsnaW5jbHVkZScsICdJbmNsdWRlICcgKyBsYWJlbC50b0xvd2VyQ2FzZSgpXSwKICAgIF07CiAgICBjb25zdCBpbml0aWFsID0gZGVmYXVsdHNba2V5XSB8fCAnZXhjbHVkZSc7CiAgICBpZiAoaW5pdGlhbCA9PT0gJ2NvbmZpcm0nKSBjaG9pY2VzLnVuc2hpZnQoWydjb25maXJtJywgJ0RlY2lkZSB3aGVuIHByaWNpbmcgdGhlIHRvdXInXSk7CiAgICBmaWVsZHMucHVzaCh7IGtleSwgbGFiZWwsIGluaXRpYWwsIGNob2ljZXMgfSk7CiAgfQogIGlmIChlbWVyYWxkR3JvdHRvVG91cnMuaGFzKHRvdXIuc2x1ZykpIHsKICAgIGZpZWxkcy5wdXNoKHsga2V5OiAnZ3JvdHRvJywgbGFiZWw6ICdFbWVyYWxkIEdyb3R0byDCtyBvcHRpb25hbCBzdG9wJywgaW5pdGlhbDogJ3NraXAnLCBjaG9pY2VzOiBbCiAgICAgIFsnc2tpcCcsICdObyBFbWVyYWxkIEdyb3R0byBzdG9wJ10sCiAgICAgIFsnb3duJywgJ1Zpc2l0IMK3IGFkbWlzc2lvbiB0aWNrZXQgZXhjbHVkZWQnXSwKICAgICAgWydpbmNsdWRlJywgJ1Zpc2l0IMK3IGFkbWlzc2lvbiBpbmNsdWRlZCDCtyAnICsgbW9uZXkodmlzaXRUaWNrZXRQcmljZSgnZW1lcmFsZEdyb3R0bycpKSArICcgcGVyIGFkdWx0IChpbmRpY2F0aXZlKSddLAogICAgXSB9KTsKICB9CiAgcmV0dXJuIGZpZWxkczsKfQoKJ3VzZSBzdHJpY3QnOwoKY29uc3QgZXhwZXJpZW5jZUNvcHkgPSB7CiAgJ2FtYWxmaS11bmNvdmVyZWQnOiB7CiAgICBlbjogJ1N0ZXAgYmV5b25kIEFtYWxmaeKAmXMgd2F0ZXJmcm9udCBpbnRvIGEgd29ybGQgb2Ygc3RvbmUgcGFzc2FnZXMsIGxpdmVseSBzcXVhcmVzIGFuZCBtYXJpdGltZSBzdG9yaWVzLiBFeHBsb3JlIHdpdGggYSBsb2NhbCBndWlkZSBhbmQgbWFrZSB0aGUgd2FsayB5b3VyIG93biB3aXRoIGFuIG9wdGlvbmFsIENhdGhlZHJhbCBvciBQYXBlciBNdXNldW0gdmlzaXQuJywKICAgIGl0OiAnT2x0cmUgaWwgbHVuZ29tYXJlIGRpIEFtYWxmaSB0aSBhc3BldHRhbm8gdmljb2xpIGluIHBpZXRyYSwgcGlhenplIHZpdmFjaSBlIHN0b3JpZSBkaSBtYXJlLiBTY29wcmlsaSBjb24gdW5hIGd1aWRhIGxvY2FsZSBlIGFycmljY2hpc2NpIGxhIHBhc3NlZ2dpYXRhIGNvbiBsYSB2aXNpdGEgZmFjb2x0YXRpdmEgYWwgRHVvbW8gbyBhbCBNdXNlbyBkZWxsYSBDYXJ0YS4nLAogICAgZGV0YWlsczogewogICAgICBlbjogJ1RoZXJlIGlzIG1vcmUgdG8gQW1hbGZpIHRoYW4gaXRzIGZhbW91cyBzZWFmcm9udC4gRm9sbG93IGEgbG9jYWwgZ3VpZGUgdGhyb3VnaCB0aGUgb2xkIG1hcml0aW1lIHJlcHVibGljLCB3aGVyZSBuYXJyb3cgbGFuZXMgYW5kIHN0b25lIHBhc3NhZ2VzIHJldmVhbCBhIGRpZmZlcmVudCBzaWRlIG9mIHRoZSB0b3duLiBIZWFyIHRoZSBzdG9yaWVzIGJlaGluZCB0aGUgcGxhY2VzIHlvdSBwYXNzIGFuZCBlbmpveSB0aGUgYXRtb3NwaGVyZSBvZiB0aGUgaGlzdG9yaWMgY2VudHJlLiBDaG9vc2UgYSBzaGFyZWQgb3IgcHJpdmF0ZSB0d28taG91ciB3YWxrLCB0aGVuIHBlcnNvbmFsaXNlIHlvdXIgZXhwZXJpZW5jZSB3aXRoIENhdGhlZHJhbCBhZG1pc3Npb24gb3IgYSB2aXNpdCB0byB0aGUgUGFwZXIgTXVzZXVtLiBBZGRpdGlvbmFsIHZpc2l0cyBtYXkgcmVxdWlyZSBhIGxvbmdlciBpdGluZXJhcnkuJywKICAgICAgaXQ6ICdBbWFsZmkgc2kgcmFjY29udGEgYW5jaGUgbG9udGFubyBkYWwgc3VvIGNlbGVicmUgbHVuZ29tYXJlLiBTZWd1aSB1bmEgZ3VpZGEgbG9jYWxlIHRyYSB2aWNvbGkgZSBwYXNzYWdnaSBpbiBwaWV0cmEgZGVsbOKAmWFudGljYSByZXB1YmJsaWNhIG1hcmluYXJhIGUgc2NvcHJpIGxlIHN0b3JpZSBjaGUgZGFubm8gdml0YSBhbCBjZW50cm8gc3Rvcmljby4gVW5hIHBhc3NlZ2dpYXRhIHBlciBndWFyZGFyZSBsYSBjaXR0w6AgY29uIG9jY2hpIG51b3ZpIGUgYXNzYXBvcmFybmUgbOKAmWF0bW9zZmVyYS4gU2NlZ2xpIGlsIHRvdXIgZGkgZHVlIG9yZSBjb25kaXZpc28gbyBwcml2YXRvIGUgcGVyc29uYWxpenphbG8gY29uIGzigJlpbmdyZXNzbyBhbCBEdW9tbyBvIGxhIHZpc2l0YSBhbCBNdXNlbyBkZWxsYSBDYXJ0YS4gTGUgdmlzaXRlIGFnZ2l1bnRpdmUgcG9zc29ubyByaWNoaWVkZXJlIHVuIGl0aW5lcmFyaW8gcGnDuSBsdW5nby4nLAogICAgfSwKICB9LAogICdzb3JyZW50by13YWxrJzogewogICAgZW46ICdHZXQgdG8ga25vdyBTb3JyZW50byB0aHJvdWdoIGl0cyBoaXN0b3JpYyBsYW5lcywgcGVhY2VmdWwgY2xvaXN0ZXIgYW5kIHN3ZWVwaW5nIHNlYSB2aWV3cy4gQSBndWlkZWQgd2FsayBmcm9tIFBpYXp6YSBUYXNzbyBicmluZ3MgdGhlIHRvd27igJlzIHN0b3JpZXMgdG8gbGlmZSwgd2l0aCBhIGxpbW9uY2VsbG8gdGFzdGluZyBpbmNsdWRlZCBmb3IgYWR1bHRzLicsCiAgICBpdDogJ1ZpdmkgU29ycmVudG8gdHJhIHZpY29saSBkZWwgY2VudHJvLCBsYSBxdWlldGUgZGVsIGNoaW9zdHJvIGUgdGVycmF6emUgc3VsIG1hcmUuIFVuYSBwYXNzZWdnaWF0YSBndWlkYXRhIGRhIFBpYXp6YSBUYXNzbyB0aSBhY2NvbXBhZ25hIHRyYSBsZSBzdG9yaWUgZGVsbGEgY2l0dMOgLCBjb24gZGVndXN0YXppb25lIGRpIGxpbW9uY2VsbG8gaW5jbHVzYSBwZXIgZ2xpIGFkdWx0aS4nLAogICAgZGV0YWlsczogewogICAgICBlbjogJ0Rpc2NvdmVyIHRoZSBTb3JyZW50byB0aGF0IHVuZm9sZHMgYmV0d2VlbiBhIGJ1c3RsaW5nIHBpYXp6YSBhbmQgYSBxdWlldCBzZWEtZmFjaW5nIHRlcnJhY2UuIFN0YXJ0aW5nIGluIFBpYXp6YSBUYXNzbywgeW91ciBndWlkZWQgd2FsayB0YWtlcyBpbiB0aGUgVmFsbGV5IG9mIHRoZSBNaWxscywgdGhlIENsb2lzdGVyIG9mIFNhbiBGcmFuY2VzY28gYW5kIHRoZSB2aWV3cyBmcm9tIFZpbGxhIENvbXVuYWxlLiBDb25uZWN0IHRoZSB0b3du4oCZcyBoaXN0b3J5IHdpdGggdGhlIGxpZmUgb2YgaXRzIG9sZCBzdHJlZXRzLCB0aGVuIGZpbmlzaCB3aXRoIGFuIGluY2x1ZGVkIGxpbW9uY2VsbG8gdGFzdGluZyBmb3IgYWR1bHRzLiBDaG9vc2UgYSBzaGFyZWQgb3IgcHJpdmF0ZSB0d28taG91ciBleHBlcmllbmNlIGFuZCBhZGQgYSB0cmFuc2ZlciBpZiBuZWVkZWQuJywKICAgICAgaXQ6ICdUcmEgdW5hIHBpYXp6YSBhbmltYXRhIGUgdW5hIHRlcnJhenphIHN1bCBtYXJlLCBTb3JyZW50byBzdmVsYSB0dXR0byBpbCBzdW8gY2FyYXR0ZXJlLiBQYXJ0aSBkYSBQaWF6emEgVGFzc28gZSBzY29wcmkgY29uIGxhIGd1aWRhIGlsIFZhbGxvbmUgZGVpIE11bGluaSwgaWwgQ2hpb3N0cm8gZGkgU2FuIEZyYW5jZXNjbyBlIGkgcGFub3JhbWkgZGVsbGEgVmlsbGEgQ29tdW5hbGUuIExlIHN0b3JpZSBkZWxsYSBjaXR0w6Agc2kgaW50cmVjY2lhbm8gYWxsYSB2aXRhIGRlaSB2aWNvbGksIGZpbm8gYWxsYSBkZWd1c3RhemlvbmUgZGkgbGltb25jZWxsbyBpbmNsdXNhIHBlciBnbGkgYWR1bHRpLiBTY2VnbGkgbGEgcGFzc2VnZ2lhdGEgZGkgZHVlIG9yZSBjb25kaXZpc2EgbyBwcml2YXRhIGUgYWdnaXVuZ2kgaWwgdHJhbnNmZXIgc2UgdGkgc2VydmUuJywKICAgIH0sCiAgfSwKICAncG9tcGVpaS1hcmNoYWVvbG9neSc6IHsKICAgIGVuOiAnV2FsayBpbnRvIGV2ZXJ5ZGF5IGxpZmUgaW4gYW5jaWVudCBQb21wZWlpLiBXaXRoIGEgbGljZW5zZWQgZ3VpZGUsIGl0cyBzdHJlZXRzIGFuZCBwdWJsaWMgc3BhY2VzIGJlY29tZSBzdG9yaWVzIG9mIHRoZSBwZW9wbGUgd2hvIGxpdmVkIGhlcmUuIENob29zZSBhIHNoYXJlZCBvciBwcml2YXRlIHR3by1ob3VyIHZpc2l0IGFuZCB5b3VyIGFkbWlzc2lvbiBvcHRpb24uJywKICAgIGl0OiAnRW50cmEgbmVsbGEgdml0YSBxdW90aWRpYW5hIGRlbGzigJlhbnRpY2EgUG9tcGVpLiBDb24gdW5hIGd1aWRhIGFiaWxpdGF0YSwgc3RyYWRlIGUgc3BhemkgcHViYmxpY2kgZGl2ZW50YW5vIGlsIHJhY2NvbnRvIGRlbGxlIHBlcnNvbmUgY2hlIGxpIGFiaXRhdmFuby4gU2NlZ2xpIGxhIHZpc2l0YSBkaSBkdWUgb3JlIGNvbmRpdmlzYSBvIHByaXZhdGEgZSBs4oCZb3B6aW9uZSBkaSBpbmdyZXNzby4nLAogICAgZGV0YWlsczogewogICAgICBlbjogJ1BvbXBlaWkgaXMgYSBjaXR5IHdob3NlIHN0cmVldHMgc3RpbGwgdGVsbCB0aGUgc3Rvcnkgb2YgZGFpbHkgbGlmZSBpbiB0aGUgUm9tYW4gd29ybGQuIFNwZW5kIHR3byBob3VycyB3aXRoIGEgbGljZW5zZWQgZ3VpZGUgd2hvIGhlbHBzIHlvdSB1bmRlcnN0YW5kIGhvdyBwZW9wbGUgd29ya2VkLCBtZXQgYW5kIGxpdmVkIGJlZm9yZSB0aGUgZXJ1cHRpb24uIENob29zZSBhIHNoYXJlZCB3YWxrIG9yIGEgcHJpdmF0ZSB2aXNpdCBmb3IgeW91ciBncm91cCwgdGhlbiBzZWxlY3QgdGhlIGFkbWlzc2lvbiBhdmFpbGFibGUgZm9yIHlvdXIgZGF0ZSBvciBhcnJhbmdlIHlvdXIgb3duIHRpY2tldC4gT3B0aW9uYWwgdHJhbnNmZXJzIG1ha2UgaXQgZWFzaWVyIHRvIHBsYW4geW91ciBqb3VybmV5IHRvIHRoZSBzaXRlLicsCiAgICAgIGl0OiAnUG9tcGVpIMOoIHVuYSBjaXR0w6AgZGEgbGVnZ2VyZSBhdHRyYXZlcnNvIGxlIHRyYWNjZSBkaSBjaGkgbOKAmWhhIHZpc3N1dGEuIEluIGR1ZSBvcmUsIHVuYSBndWlkYSBhYmlsaXRhdGEgdGkgYWl1dGEgYSByaWNvbm9zY2VyZSBuZWxsZSBzdHJhZGUgZSBuZWdsaSBzcGF6aSBwdWJibGljaSBpIGdlc3RpIGRlbGxhIHZpdGEgcm9tYW5hLCBpbCBsYXZvcm8gZSBpIGx1b2doaSBk4oCZaW5jb250cm8gcHJpbWEgZGVsbOKAmWVydXppb25lLiBTY2VnbGkgdW5hIHBhc3NlZ2dpYXRhIGNvbmRpdmlzYSBvcHB1cmUgdW5hIHZpc2l0YSBwcml2YXRhIHBlciBpbCB0dW8gZ3J1cHBvLiBQdW9pIHNlbGV6aW9uYXJlIGzigJlpbmdyZXNzbyBkaXNwb25pYmlsZSBwZXIgbGEgZGF0YSBzY2VsdGEsIHVzYXJlIHVuIHR1byBiaWdsaWV0dG8gZSBhZ2dpdW5nZXJlIHVuIHRyYW5zZmVyIHBlciByYWdnaXVuZ2VyZSBnbGkgc2NhdmkuJywKICAgIH0sCiAgfSwKICByYXZlbGxvOiB7CiAgICBlbjogJ0Fib3ZlIHRoZSBjb2FzdCwgUmF2ZWxsbyBpbnZpdGVzIHlvdSBpbnRvIGdhcmRlbnMsIHF1aWV0IGxhbmVzIGFuZCBleHRyYW9yZGluYXJ5IHNlYSB2aWV3cy4gRXhwbG9yZSB3aXRoIGEgbG9jYWwgZ3VpZGUgYW5kIGNob29zZSBWaWxsYSBSdWZvbG8sIFZpbGxhIENpbWJyb25l4oCZcyBnYXJkZW5zIG9yIGFuIGV4dGVuZGVkIGV4cGVyaWVuY2UgdGhhdCBicmluZ3MgYm90aCB0b2dldGhlci4nLAogICAgaXQ6ICdJbiBhbHRvIHN1bGxhIENvc3RpZXJhLCBSYXZlbGxvIHRpIGFjY29nbGllIHRyYSBnaWFyZGluaSwgdmljb2xpIHRyYW5xdWlsbGkgZSBwYW5vcmFtaSBjaGUgc2kgYXByb25vIHN1bCBtYXJlLiBTY29wcmlsYSBjb24gdW5hIGd1aWRhIGxvY2FsZSBlIHNjZWdsaSBWaWxsYSBSdWZvbG8sIGkgZ2lhcmRpbmkgZGkgVmlsbGEgQ2ltYnJvbmUgbyBlbnRyYW1iZS4nLAogICAgZGV0YWlsczogewogICAgICBlbjogJ1NlZSB0aGUgQW1hbGZpIENvYXN0IGZyb20gYSBkaWZmZXJlbnQgcGVyc3BlY3RpdmUgaW4gUmF2ZWxsby4gV2FsayBpdHMgaGlzdG9yaWMgbGFuZXMgd2l0aCBhIGxvY2FsIGd1aWRlLCB0aGVuIHN0ZXAgaW50byB0aGUgdmlsbGEgZ2FyZGVucyB0aGF0IG1ha2UgdGhpcyBoaWxsdG9wIHRvd24gc28gbWVtb3JhYmxlLiBDaG9vc2UgVmlsbGEgUnVmb2xvIGZvciBnYXJkZW5zIGFuZCBzZWEgdmlld3MsIG9yIFZpbGxhIENpbWJyb25lIGZvciBhIGd1aWRlZCBnYXJkZW4gdmlzaXQgbGVhZGluZyB0byB0aGUgVGVycmFjZSBvZiBJbmZpbml0eS4gU2VsZWN0IGJvdGggdmlsbGFzIGZvciBhIGxvbmdlciBleHBlcmllbmNlLiBTaGFyZWQgYW5kIHByaXZhdGUgZm9ybWF0cyBhcmUgYXZhaWxhYmxlLCB3aXRoIG9wdGlvbmFsIHBpY2stdXAgZnJvbSBBbWFsZmkgb3IgbmVhcmJ5IGFyZWFzLicsCiAgICAgIGl0OiAnQSBSYXZlbGxvIGxhIENvc3RpZXJhIGNhbWJpYSBwcm9zcGV0dGl2YS4gUGFzc2VnZ2lhIGNvbiB1bmEgZ3VpZGEgbG9jYWxlIHRyYSBpIHZpY29saSBkZWwgY2VudHJvIGUgc2NlZ2xpIHF1YWxlIGRlaSBzdW9pIGNlbGVicmkgZ2lhcmRpbmkgc2NvcHJpcmUuIFZpbGxhIFJ1Zm9sbyB1bmlzY2Ugc2NvcmNpIHN1bCBtYXJlIGUgZ2lhcmRpbmksIG1lbnRyZSBWaWxsYSBDaW1icm9uZSB0aSBhY2NvbXBhZ25hIHRyYSB2aWFsaSBlIHRlcnJhenplIGZpbm8gYWxsYSBUZXJyYXp6YSBkZWxs4oCZSW5maW5pdG8uIFB1b2kgdmlzaXRhcmUgdW5hIHZpbGxhIG9wcHVyZSBkZWRpY2FyZSBwacO5IHRlbXBvIGEgZW50cmFtYmUuIEzigJllc3BlcmllbnphIMOoIGRpc3BvbmliaWxlIGNvbmRpdmlzYSBvIHByaXZhdGEsIGNvbiBwaWNrLXVwIGZhY29sdGF0aXZvIGRhIEFtYWxmaSBlIGRhbGxlIHpvbmUgbGltaXRyb2ZlLicsCiAgICB9LAogIH0sCiAgJ3NvcnJlbnRvLWZhcm0nOiB7CiAgICBlbjogJ1Rhc3RlIHRoZSBTb3JyZW50byBjb3VudHJ5c2lkZSB0aHJvdWdoIGl0cyBsZW1vbnMsIG9saXZlIG9pbCBhbmQgbW96emFyZWxsYS4gQSBmYXJtIGV4cGVyaWVuY2UgYnJpbmdzIGxvY2FsIGZsYXZvdXJzIGludG8gZm9jdXMsIHdpdGggc2hhcmVkIGFuZCBwcml2YXRlIG9wdGlvbnMgYW5kIHRoZSBwb3NzaWJpbGl0eSBvZiBhZGRpbmcgbHVuY2ggdG8geW91ciBkYXkuJywKICAgIGl0OiAnQXNzYXBvcmEgbGEgY2FtcGFnbmEgc29ycmVudGluYSBhdHRyYXZlcnNvIGkgc3VvaSBsaW1vbmksIGzigJlvbGlvIGTigJlvbGl2YSBlIGxhIG1venphcmVsbGEuIFVu4oCZZXNwZXJpZW56YSBpbiBmYXR0b3JpYSBkZWRpY2F0YSBhaSBzYXBvcmkgZGVsIHRlcnJpdG9yaW8sIGNvbmRpdmlzYSBvIHByaXZhdGEsIGNvbiBsYSBwb3NzaWJpbGl0w6AgZGkgYWdnaXVuZ2VyZSBpbCBwcmFuem8uJywKICAgIGRldGFpbHM6IHsKICAgICAgZW46ICdUYWtlIHlvdXIgdGltZSB3aXRoIHRoZSBmbGF2b3VycyB0aGF0IGdpdmUgdGhlIFNvcnJlbnRvIENvYXN0IGl0cyBjaGFyYWN0ZXIuIFRoaXMgZmFybSBleHBlcmllbmNlIGJyaW5ncyB0b2dldGhlciBsb2NhbCBsZW1vbnMsIG9saXZlcyBhbmQgb2xpdmUgb2lsLCBhbmQgbW96emFyZWxsYSBpbiBhIHRhc3Rpbmcgcm9vdGVkIGluIHRoZSBzdXJyb3VuZGluZyBjb3VudHJ5c2lkZS4gRGlzY292ZXIgYSBkaWZmZXJlbnQgc2lkZSBvZiB0aGUgcGVuaW5zdWxhIHRocm91Z2ggaXRzIGZvb2QuIENob29zZSB0aGUgc2hhcmVkIG9yIHByaXZhdGUgZXhwZXJpZW5jZSwgYWRkIGx1bmNoIGZvciBhIGxvbmdlciBtb21lbnQgYXJvdW5kIHRoZSB0YWJsZSwgYW5kIHNlbGVjdCBhIHRyYW5zZmVyIGZyb20gU29ycmVudG8gaWYgeW91IHdvdWxkIGxpa2UgdHJhbnNwb3J0IGFycmFuZ2VkLicsCiAgICAgIGl0OiAnTGFzY2lhdGkgZ3VpZGFyZSBkYWkgc2Fwb3JpIGNoZSByYWNjb250YW5vIGxhIENvc3RpZXJhIFNvcnJlbnRpbmEuIEluIGZhdHRvcmlhLCBsaW1vbmksIG9saXZlLCBvbGlvIGTigJlvbGl2YSBlIG1venphcmVsbGEgZGl2ZW50YW5vIHVuIHBlcmNvcnNvIGRpIGRlZ3VzdGF6aW9uZSBsZWdhdG8gYWxsYSBjYW1wYWduYSBlIGFsbGUgc3VlIHRyYWRpemlvbmkuIFVu4oCZb2NjYXNpb25lIHBlciBjb25vc2NlcmUgbGEgcGVuaXNvbGEgYW5jaGUgYXR0cmF2ZXJzbyBjacOyIGNoZSBwb3J0YSBpbiB0YXZvbGEuIFNjZWdsaSBs4oCZZXNwZXJpZW56YSBjb25kaXZpc2EgbyBwcml2YXRhIGUsIHNlIHZ1b2kgcHJvbHVuZ2FyZSBpbCBwaWFjZXJlIGRlbGxhIHZpc2l0YSwgYWdnaXVuZ2kgaWwgcHJhbnpvLiDDiCBkaXNwb25pYmlsZSBhbmNoZSBpbCB0cmFuc2ZlciBmYWNvbHRhdGl2byBkYSBTb3JyZW50by4nLAogICAgfSwKICB9LAogICdwb21wZWlpLWZyb20tYW1hbGZpJzogewogICAgZW46ICdCcmluZyBhbmNpZW50IFBvbXBlaWkgaW50byB5b3VyIEFtYWxmaSBDb2FzdCBob2xpZGF5LiBUcmF2ZWwgZnJvbSB0aGUgY29hc3QgZm9yIGEgZ3VpZGVkIHZpc2l0IHdpdGggcm91bmQtdHJpcCB0cmFuc3BvcnQgYW5kIGFkbWlzc2lvbiwgdGhlbiBjaG9vc2Ugd2hldGhlciB0byBjb21wbGV0ZSB0aGUgZGF5IHdpdGggbHVuY2ggYW5kIGEgbG9jYWwgd2luZSB0YXN0aW5nLicsCiAgICBpdDogJ0FnZ2l1bmdpIGxhIG1lcmF2aWdsaWEgZGkgUG9tcGVpIGFsbGEgdHVhIHZhY2FuemEgaW4gQ29zdGllcmEuIFBhcnRpIHBlciB1bmEgdmlzaXRhIGd1aWRhdGEgY29uIHRyYW5zZmVyIGRpIGFuZGF0YSBlIHJpdG9ybm8gZSBpbmdyZXNzbywgcG9pIHNjZWdsaSBzZSBjb21wbGV0YXJlIGxhIGdpb3JuYXRhIGNvbiBwcmFuem8gZSBkZWd1c3RhemlvbmUgZGkgdmluaS4nLAogICAgZGV0YWlsczogewogICAgICBlbjogJ1N3YXAgY29hc3RhbCB2aWV3cyBmb3IgdGhlIHN0cmVldHMgb2YgYW4gYW5jaWVudCBSb21hbiBjaXR5IG9uIGEgZnVsbC1kYXkgZXhwZXJpZW5jZSBmcm9tIEFtYWxmaSBvciB0aGUgQW1hbGZpIENvYXN0LiBSb3VuZC10cmlwIHRyYW5zcG9ydCwgYSBndWlkZSBhbmQgcGFyayBhZG1pc3Npb24gYnJpbmcgdGhlIGVzc2VudGlhbHMgdG9nZXRoZXIuIENob29zZSBhIHByaXZhdGUgZGF5IGZvciB5b3VyIGdyb3VwIG9yIHRoZSBzaGFyZWQgb3B0aW9uLCBhdmFpbGFibGUgd2l0aCBzaXggY29uZmlybWVkIHBhcnRpY2lwYW50cy4gQWRkIGx1bmNoIHdpdGggYSBDbGFzc2ljIHRhc3Rpbmcgb2YgZml2ZSB3aW5lcyBvciBhIFN1cGVyaW9yIHNlbGVjdGlvbiBvZiBzZXZlbiB3aW5lcyB0byBjb21wbGV0ZSB5b3VyIGRheS4nLAogICAgICBpdDogJ0RhaSBwYW5vcmFtaSBkZWxsYSBDb3N0aWVyYSBhbGxlIHN0cmFkZSBkaSB1buKAmWFudGljYSBjaXR0w6Agcm9tYW5hLCB2aXZpIHVuYSBnaW9ybmF0YSBkZWRpY2F0YSBhbGxhIHNjb3BlcnRhIGRpIFBvbXBlaS4gSWwgdG91ciBkYSBBbWFsZmkgbyBkYWxsYSBDb3N0aWVyYSBjb21wcmVuZGUgdHJhbnNmZXIgZGkgYW5kYXRhIGUgcml0b3JubywgZ3VpZGEgZSBpbmdyZXNzbyBhbCBwYXJjby4gU2NlZ2xpIGxhIGZvcm11bGEgcHJpdmF0YSBvcHB1cmUgcXVlbGxhIGNvbmRpdmlzYSwgY29uIHBhcnRlbnphIGNvbmZlcm1hdGEgYWwgcmFnZ2l1bmdpbWVudG8gZGkgc2VpIHBhcnRlY2lwYW50aS4gUHVvaSBhZ2dpdW5nZXJlIGlsIHByYW56byBjb24gZGVndXN0YXppb25lIENsYXNzaWNhIGRpIGNpbnF1ZSB2aW5pIG8gU3VwZXJpb3IgZGkgc2V0dGUgdmluaS4nLAogICAgfSwKICB9LAogICdwb21wZWlpLXdpbmUnOiB7CiAgICBlbjogJ0FuY2llbnQgc3RyZWV0cywgdm9sY2FuaWMgbGFuZHNjYXBlcyBhbmQgbG9jYWwgd2luZXMgY29tZSB0b2dldGhlciBpbiBvbmUgZnVsbCBkYXkuIEV4cGxvcmUgUG9tcGVpaSB3aXRoIGEgZ3VpZGUsIHRoZW4gZW5qb3kgbHVuY2ggYXQgYSB3aW5lcnkgd2l0aCBhIENsYXNzaWMgZml2ZS13aW5lIG9yIFN1cGVyaW9yIHNldmVuLXdpbmUgdGFzdGluZy4nLAogICAgaXQ6ICdTdHJhZGUgYW50aWNoZSwgcGFlc2FnZ2kgdnVsY2FuaWNpIGUgdmluaSBkZWwgdGVycml0b3JpbyBzaSBpbmNvbnRyYW5vIGluIHVu4oCZdW5pY2EgZ2lvcm5hdGEuIFNjb3ByaSBQb21wZWkgY29uIHVuYSBndWlkYSwgcG9pIGNvbmNlZGl0aSB1biBwcmFuem8gaW4gY2FudGluYSBjb24gZGVndXN0YXppb25lIENsYXNzaWNhIGRpIGNpbnF1ZSB2aW5pIG8gU3VwZXJpb3IgZGkgc2V0dGUgdmluaS4nLAogICAgZGV0YWlsczogewogICAgICBlbjogJ0NvbWJpbmUgdGhlIGZhc2NpbmF0aW9uIG9mIFBvbXBlaWkgd2l0aCBhIG1lYWwgYW5kIHdpbmVzIG5lYXIgVmVzdXZpdXMuIEJlZ2luIHdpdGggYSBndWlkZWQgdmlzaXQgdG8gdGhlIGFyY2hhZW9sb2dpY2FsIHBhcmssIHRoZW4gY29udGludWUgdG8gYSB3aW5lcnkgZm9yIGx1bmNoIGFuZCBhIHRhc3RpbmcuIEx1bmNoIGlzIGluY2x1ZGVkIGluIGJvdGggb3B0aW9ucy4gQ2hvb3NlIENsYXNzaWMgd2l0aCBmaXZlIHdpbmVzIG9yIFN1cGVyaW9yIHdpdGggYSBzZWxlY3Rpb24gb2Ygc2V2ZW4gd2luZXMuIFJvdW5kLXRyaXAgdHJhbnNwb3J0IGFuZCBhZHVsdCBwYXJrIGFkbWlzc2lvbiBjb21wbGV0ZSB0aGUgZXhwZXJpZW5jZS4gQm9vayBwcml2YXRlbHkgb3Igc2VsZWN0IHRoZSBzaGFyZWQgZm9ybWF0LCB3aG9zZSBkZXBhcnR1cmUgaXMgY29uZmlybWVkIHdpdGggc2l4IHBhcnRpY2lwYW50cy4nLAogICAgICBpdDogJ1VuaXNjaSBpbCBmYXNjaW5vIGRpIFBvbXBlaSBhbCBwaWFjZXJlIGRlbGxhIHRhdm9sYSBlIGRlaSB2aW5pIGRlbCB0ZXJyaXRvcmlvIHZlc3V2aWFuby4gRG9wbyBsYSB2aXNpdGEgZ3VpZGF0YSBhZ2xpIHNjYXZpLCBwcm9zZWd1aSBpbiBjYW50aW5hIHBlciBpbCBwcmFuem8gZSBsYSBkZWd1c3RhemlvbmUuIElsIHByYW56byDDqCBpbmNsdXNvIGluIGVudHJhbWJlIGxlIGZvcm11bGUuIFNjZWdsaSBsYSBDbGFzc2ljYSBjb24gY2lucXVlIHZpbmkgb3BwdXJlIGxhIFN1cGVyaW9yIGNvbiB1bmEgc2VsZXppb25lIGRpIHNldHRlIHZpbmkuIFRyYW5zZmVyIGRpIGFuZGF0YSBlIHJpdG9ybm8gZSBpbmdyZXNzbyBwZXIgZ2xpIGFkdWx0aSBjb21wbGV0YW5vIGzigJllc3BlcmllbnphLiBQdW9pIHNjZWdsaWVyZSBpbCBwcml2YXRvIG8gbG8gc2hhcmVkLCBjb24gcGFydGVuemEgY29uZmVybWF0YSBhIHNlaSBwYXJ0ZWNpcGFudGkuJywKICAgIH0sCiAgfSwKICAnY29hc3QtZnJvbS1zb3JyZW50byc6IHsKICAgIGVuOiAnTWFrZSBhIGRheSBvZiB0aGUgQW1hbGZpIENvYXN0IGZyb20gU29ycmVudG8sIGJldHdlZW4gc2Vhc2lkZSB2aWxsYWdlcyBhbmQgc3dlZXBpbmcgdmlld3MuIENob29zZSBzaGFyZWQgb3IgcHJpdmF0ZSB0cmFuc3BvcnQsIHRoZW4gc2hhcGUgdGhlIGV4cGVyaWVuY2Ugd2l0aCBhIGxvY2FsIGd1aWRlIGFuZCBvcHRpb25hbCBjdWx0dXJhbCB2aXNpdHMgYWxvbmcgeW91ciByb3V0ZS4nLAogICAgaXQ6ICdEZWRpY2EgdW5hIGdpb3JuYXRhIGFsbGEgQ29zdGllcmEgQW1hbGZpdGFuYSBwYXJ0ZW5kbyBkYSBTb3JyZW50bywgdHJhIGJvcmdoaSBzdWwgbWFyZSBlIGdyYW5kaSBwYW5vcmFtaS4gU2NlZ2xpIGlsIHRvdXIgY29uZGl2aXNvIG8gcHJpdmF0byBlIHBlcnNvbmFsaXp6YWxvIGNvbiB1bmEgZ3VpZGEgbG9jYWxlIGUgbGUgdmlzaXRlIGZhY29sdGF0aXZlIGx1bmdvIGlsIHBlcmNvcnNvLicsCiAgICBkZXRhaWxzOiB7CiAgICAgIGVuOiAnRm9sbG93IHRoZSBjb2FzdGxpbmUgZnJvbSBTb3JyZW50byBmb3IgYSBmdWxsIGRheSBvZiB2aWxsYWdlIGF0bW9zcGhlcmUgYW5kIE1lZGl0ZXJyYW5lYW4gdmlld3MuIFJvdW5kLXRyaXAgdHJhbnNwb3J0IGZvcm1zIHRoZSBoZWFydCBvZiB0aGUgZXhwZXJpZW5jZS4gQWRkIGEgbG9jYWwgZ3VpZGUgZm9yIGhhbGYgYSBkYXkgb3IgdGhlIGZ1bGwgZGF5LCBhbmQgc2VsZWN0IGFkbWlzc2lvbiB0byBBbWFsZmkgQ2F0aGVkcmFsLCBWaWxsYSBSdWZvbG8gb3IgVmlsbGEgQ2ltYnJvbmUuIEFuIG9wdGlvbmFsIEVtZXJhbGQgR3JvdHRvIHN0b3AgY2FuIGFsc28gYmUgcmVxdWVzdGVkLiBDaG9vc2UgcHJpdmF0ZSB0cmF2ZWwgb3IgdGhlIHNoYXJlZCBkZXBhcnR1cmUgd2l0aCBzaXggY29uZmlybWVkIHBhcnRpY2lwYW50cy4gVmlzaXRzIGFyZSBjb29yZGluYXRlZCB3aXRoIHRoZSByb3V0ZSBhbmQgb3BlbmluZyBob3Vycy4nLAogICAgICBpdDogJ0RhIFNvcnJlbnRvLCBzZWd1aSBsYSBjb3N0YSBwZXIgdW5hIGdpb3JuYXRhIHRyYSBs4oCZYXRtb3NmZXJhIGRlaSBib3JnaGkgZSBpIGNvbG9yaSBkZWwgTWVkaXRlcnJhbmVvLiBJbCB0cmFzcG9ydG8gZGkgYW5kYXRhIGUgcml0b3JubyDDqCBsYSBiYXNlIGRlbGxhIHR1YSBlc3BlcmllbnphLiBQdW9pIGFnZ2l1bmdlcmUgdW5hIGd1aWRhIHBlciBtZXp6YSBnaW9ybmF0YSBvIHBlciBs4oCZaW50ZXJhIGdpb3JuYXRhIGUgc2NlZ2xpZXJlIGdsaSBpbmdyZXNzaSBhbCBEdW9tbyBkaSBBbWFsZmksIGEgVmlsbGEgUnVmb2xvIGUgYSBWaWxsYSBDaW1icm9uZS4gw4ggZGlzcG9uaWJpbGUgbGEgc29zdGEgZmFjb2x0YXRpdmEgYWxsYSBHcm90dGEgZGVsbG8gU21lcmFsZG8uIFNjZWdsaSBpbCBwcml2YXRvIG8gbG8gc2hhcmVkIGNvbiBzZWkgcGFydGVjaXBhbnRpIGNvbmZlcm1hdGkuIExlIHZpc2l0ZSBzaSBjb29yZGluYW5vIGNvbiBwZXJjb3JzbyBlIG9yYXJpLicsCiAgICB9LAogIH0sCiAgJ2NvYXN0LWZyb20tc2FsZXJubyc6IHsKICAgIGVuOiAnWW91ciBBbWFsZmkgQ29hc3QgZGF5IGJlZ2lucyBhdCBTYWxlcm5vIFBvcnQgb3IgaW4gdGhlIGNpdHkgY2VudHJlLCB3aXRoIHBpY2stdXAgaW5jbHVkZWQuIEVuam95IHByaXZhdGUgZnVsbC1kYXkgdHJhbnNwb3J0IGFuZCBwZXJzb25hbGlzZSB0aGUgam91cm5leSB3aXRoIGEgbG9jYWwgZ3VpZGUsIFJhdmVsbG\/igJlzIGdhcmRlbnMgYW5kIEFtYWxmaeKAmXMgY3VsdHVyYWwgdHJlYXN1cmVzLicsCiAgICBpdDogJ0xhIHR1YSBnaW9ybmF0YSBpbiBDb3N0aWVyYSBpbml6aWEgZGFsIHBvcnRvIG8gZGFsIGNlbnRybyBkaSBTYWxlcm5vLCBjb24gcGljay11cCBpbmNsdXNvLiBWaWFnZ2lhIGluIHByaXZhdG8gcGVyIGzigJlpbnRlcmEgZ2lvcm5hdGEgZSBwZXJzb25hbGl6emEgaWwgcGVyY29yc28gY29uIHVuYSBndWlkYSwgaSBnaWFyZGluaSBkaSBSYXZlbGxvIGUgaSB0ZXNvcmkgZGkgQW1hbGZpLicsCiAgICBkZXRhaWxzOiB7CiAgICAgIGVuOiAnU3RhcnQgZnJvbSBTYWxlcm5vIFBvcnQgb3IgU2FsZXJubyBDaXR5IENlbnRyZSBhbmQgZGlzY292ZXIgdGhlIEFtYWxmaSBDb2FzdCB3aXRoIHlvdXIgb3duIGdyb3VwLiBQcml2YXRlIGZ1bGwtZGF5IHJvdW5kLXRyaXAgdHJhbnNwb3J0IGdpdmVzIHlvdSBhIHNpbXBsZSBzdGFydGluZyBwb2ludCBmb3IgYSBwZXJzb25hbGlzZWQgaXRpbmVyYXJ5LiBBZGQgYSBoYWxmLWRheSBvciBmdWxsLWRheSBndWlkZSwgdGhlbiBjaG9vc2UgQW1hbGZpIENhdGhlZHJhbCwgVmlsbGEgUnVmb2xvIGFuZCBWaWxsYSBDaW1icm9uZSBpbmRpdmlkdWFsbHkuIFlvdSBjYW4gcmVxdWVzdCBhbiBFbWVyYWxkIEdyb3R0byBzdG9wLCB3aXRoIGFkbWlzc2lvbiBpbmNsdWRlZCBvciBhcnJhbmdlZCBzZXBhcmF0ZWx5LiBQaWNrLXVwIGF0IGVpdGhlciBTYWxlcm5vIG1lZXRpbmcgcG9pbnQgaXMgaW5jbHVkZWQuIFRoZSBmaW5hbCByb3V0ZSBmb2xsb3dzIHlvdXIgc2VsZWN0ZWQgdmlzaXRzIGFuZCB0aGVpciBvcGVuaW5nIGhvdXJzLicsCiAgICAgIGl0OiAnUGFydGkgZGFsIHBvcnRvIG8gZGFsIGNlbnRybyBkaSBTYWxlcm5vIGUgc2NvcHJpIGxhIENvc3RpZXJhIGNvbiBsZSBwZXJzb25lIGNoZSBoYWkgc2NlbHRvLiBQZXJzb25hbGl6emEgbGEgZ2lvcm5hdGEgaW4gYXV0byBwcml2YXRhIGFnZ2l1bmdlbmRvIHVuYSBndWlkYSBwZXIgbWV6emEgZ2lvcm5hdGEgbyBwZXIgbOKAmWludGVyYSBnaW9ybmF0YS4gRHVvbW8gZGkgQW1hbGZpLCBWaWxsYSBSdWZvbG8gZSBWaWxsYSBDaW1icm9uZSBzb25vIHNlbGV6aW9uYWJpbGkgc2VwYXJhdGFtZW50ZS4gUHVvaSByaWNoaWVkZXJlIGFuY2hlIGxhIEdyb3R0YSBkZWxsbyBTbWVyYWxkbywgY29uIGJpZ2xpZXR0byBpbmNsdXNvIG8gYWNxdWlzdGF0byBhIHBhcnRlLiBJbCBwaWNrLXVwIG5laSBkdWUgcHVudGkgZGkgU2FsZXJubyDDqCBpbmNsdXNvIG5lbCB0cmFzcG9ydG8uIElsIHBlcmNvcnNvIHJpc3BldHRhIGxlIHZpc2l0ZSBzY2VsdGUgZSBnbGkgb3JhcmkgZGkgYXBlcnR1cmEuJywKICAgIH0sCiAgfSwKICAnZXhjbHVzaXZlLWNvYXN0JzogewogICAgZW46ICdGaW5kIHlvdXIgb3duIHdheSBpbnRvIHRoZSBBbWFsZmkgQ29hc3QsIGZyb20gdmlsbGFnZSBsYW5lcyB0byBnYXJkZW5zIG92ZXJsb29raW5nIHRoZSBzZWEuIEEgcHJpdmF0ZSBmdWxsLWRheSBkcml2ZSBsZXRzIHlvdSBidWlsZCBhIHBlcnNvbmFsIGl0aW5lcmFyeSwgd2l0aCBhbiBvcHRpb25hbCBsb2NhbCBndWlkZSBhbmQgdmlzaXRzIHRoYXQgbWF0Y2ggeW91ciBpbnRlcmVzdHMuJywKICAgIGl0OiAnU2NvcHJpIGxhIHR1YSBDb3N0aWVyYSwgZGFpIHZpY29saSBkZWkgYm9yZ2hpIGFpIGdpYXJkaW5pIGFmZmFjY2lhdGkgc3VsIG1hcmUuIFVuIGl0aW5lcmFyaW8gcHJpdmF0byBpbiBhdXRvIHBlciBs4oCZaW50ZXJhIGdpb3JuYXRhLCBkYSBwZXJzb25hbGl6emFyZSBjb24gdW5hIGd1aWRhIGxvY2FsZSBmYWNvbHRhdGl2YSBlIGxlIHZpc2l0ZSBjaGUgcmlzcGVjY2hpYW5vIGkgdHVvaSBpbnRlcmVzc2kuJywKICAgIGRldGFpbHM6IHsKICAgICAgZW46ICdCcmluZyB0b2dldGhlciB0aGUgcGxhY2VzIHRoYXQgbWFrZSB0aGUgQW1hbGZpIENvYXN0IHNwZWNpYWwgdG8geW91LiBUaGlzIHByaXZhdGUgZnVsbC1kYXkgZHJpdmUgb2ZmZXJzIGFuIGl0aW5lcmFyeSBzaGFwZWQgYXJvdW5kIGNvYXN0YWwgc2NlbmVyeSwgdmlsbGFnZSBsaWZlIGFuZCBjdWx0dXJhbCBkaXNjb3Zlcmllcy4gQ2hvb3NlIHRvIHRyYXZlbCB3aXRob3V0IGEgZ3VpZGUgb3IgYWRkIGxvY2FsIGd1aWRpbmcgZm9yIGhhbGYgYSBkYXkgb3IgdGhlIGZ1bGwgZGF5LiBBbWFsZmkgQ2F0aGVkcmFsLCBWaWxsYSBSdWZvbG8gYW5kIFZpbGxhIENpbWJyb25lIGNhbiBlYWNoIGJlIHNlbGVjdGVkIHNlcGFyYXRlbHksIGFsb25nc2lkZSBhbiBvcHRpb25hbCBFbWVyYWxkIEdyb3R0byBzdG9wLiBXZSBjb29yZGluYXRlIHRoZSBmaW5hbCByb3V0ZSBhcm91bmQgeW91ciBjaG9pY2VzLCBvcGVuaW5nIGhvdXJzIGFuZCBjb25kaXRpb25zIG9uIHRoZSBkYXkuJywKICAgICAgaXQ6ICdSaXVuaXNjaSBpbiB1bmEgZ2lvcm5hdGEgaSBsdW9naGkgZGVsbGEgQ29zdGllcmEgY2hlIGRlc2lkZXJpIGNvbm9zY2VyZS4gSWwgdG91ciBwcml2YXRvIGluIGF1dG8gw6ggaWwgcHVudG8gZGkgcGFydGVuemEgcGVyIHVuIGl0aW5lcmFyaW8gdHJhIHBhZXNhZ2dpLCB2aXRhIGRlaSBib3JnaGkgZSBzY29wZXJ0ZSBjdWx0dXJhbGkuIFB1b2kgdmlhZ2dpYXJlIHNlbnphIGd1aWRhIG9wcHVyZSBhZ2dpdW5nZXJlIHVuYSBndWlkYSBsb2NhbGUgcGVyIG1lenphIGdpb3JuYXRhIG8gcGVyIGzigJlpbnRlcmEgZ2lvcm5hdGEuIER1b21vIGRpIEFtYWxmaSwgVmlsbGEgUnVmb2xvIGUgVmlsbGEgQ2ltYnJvbmUgc29ubyBzZWxlemlvbmFiaWxpIHNlcGFyYXRhbWVudGUsIGluc2llbWUgYWxsYSBzb3N0YSBmYWNvbHRhdGl2YSBhbGxhIEdyb3R0YSBkZWxsbyBTbWVyYWxkby4gSWwgcGVyY29yc28gdmllbmUgY29vcmRpbmF0byBzZWNvbmRvIGxlIHR1ZSBzY2VsdGUsIGdsaSBvcmFyaSBlIGxlIGNvbmRpemlvbmkgZGVsbGEgZ2lvcm5hdGEuJywKICAgIH0sCiAgfSwKICAnY29hc3QtYnktYm9hdCc6IHsKICAgIGVuOiAnRGlzY292ZXIgdGhlIEFtYWxmaSBDb2FzdCBmcm9tIGl0cyBtb3N0IHN0cmlraW5nIHZpZXdwb2ludCwgdGhlIHNlYS4gQm9hcmQgaW4gU2FsZXJubyBvciBBbWFsZmkgZm9yIGEgcHJpdmF0ZSBib2F0IGV4cGVyaWVuY2UgYW1vbmcgY2xpZmZzIGFuZCBjb2xvdXJmdWwgd2F0ZXJmcm9udHMsIHdpdGggdHdvLWhvdXIsIGZvdXItaG91ciBhbmQgZnVsbC1kYXkgb3B0aW9ucy4nLAogICAgaXQ6ICdTY29wcmkgbGEgQ29zdGllcmEgQW1hbGZpdGFuYSBkYWxsYSBzdWEgcHJvc3BldHRpdmEgcGnDuSBzdWdnZXN0aXZhLCBpbCBtYXJlLiBJbWJhcmNhdGkgYSBTYWxlcm5vIG8gYWQgQW1hbGZpIHBlciB1buKAmWVzcGVyaWVuemEgaW4gYmFyY2EgcHJpdmF0YSB0cmEgc2NvZ2xpZXJlIGUgYm9yZ2hpIGNvbG9yYXRpLCBzY2VnbGllbmRvIGR1ZSBvcmUsIHF1YXR0cm8gb3JlIG8gbOKAmWludGVyYSBnaW9ybmF0YS4nLAogICAgZGV0YWlsczogewogICAgICBlbjogJ0xldCB0aGUgY29hc3RsaW5lIHVuZm9sZCBmcm9tIHRoZSB3YXRlciwgd2hlcmUgY2xpZmZzLCB0ZXJyYWNlZCBoaWxsc2lkZXMgYW5kIGNvbG91cmZ1bCB3YXRlcmZyb250cyBmb3JtIGEgZGlmZmVyZW50IHZpZXcgb2YgdGhlIEFtYWxmaSBDb2FzdC4gQm9hcmQgaW4gU2FsZXJubyBvciBBbWFsZmkgZm9yIHR3byBob3VycywgZm91ciBob3VycyBvciBhIGZ1bGwgZGF5LCB3aXRoIGV4dHJhIGhvdXJzIGF2YWlsYWJsZS4gQWRkIGEgbGFuZCB0cmFuc2ZlciB0byByZWFjaCB5b3VyIGNob3NlbiBwb3J0LCBvbmUgd2F5IG9yIHJvdW5kIHRyaXAgb24gcmVxdWVzdC4gWW91ciBpdGluZXJhcnkgZm9sbG93cyB0aGUgQW1hbGZpIENvYXN0IGFjY29yZGluZyB0byB0aGUgZHVyYXRpb24sIGJvYXJkaW5nIHBvcnQgYW5kIHNlYSBjb25kaXRpb25zLiBUaGUgdmVzc2VsLCBjYXBhY2l0eSBhbmQgZGVwYXJ0dXJlIGRldGFpbHMgYXJlIGNvbmZpcm1lZCBmb3IgeW91ciBncm91cC4nLAogICAgICBpdDogJ0RhbCBtYXJlLCBzY29nbGllcmUsIHRlcnJhenphbWVudGkgZSBib3JnaGkgY29sb3JhdGkgZGlzZWduYW5vIHVuIHZvbHRvIGRpdmVyc28gZGVsbGEgQ29zdGllcmEgQW1hbGZpdGFuYS4gU2NlZ2xpIGzigJlpbWJhcmNvIGEgU2FsZXJubyBvIGFkIEFtYWxmaSBwZXIgZHVlIG9yZSwgcXVhdHRybyBvcmUgbyBs4oCZaW50ZXJhIGdpb3JuYXRhLCBjb24gbGEgcG9zc2liaWxpdMOgIGRpIGFnZ2l1bmdlcmUgb3JlIGV4dHJhLiBQdW9pIHJhZ2dpdW5nZXJlIGlsIHBvcnRvIGNvbiB1biB0cmFuc2ZlciB0ZXJyZXN0cmUgZGkgc29sYSBhbmRhdGEgbyBkaSBhbmRhdGEgZSByaXRvcm5vIHN1IHJpY2hpZXN0YS4gTOKAmWl0aW5lcmFyaW8gc2kgc3ZvbGdlIGluIENvc3RpZXJhIGUgc2VndWUgbGEgZHVyYXRhIHNjZWx0YSBlIGxlIGNvbmRpemlvbmkgZGVsIG1hcmUuIEltYmFyY2F6aW9uZSwgY2FwaWVuemEgZSBkZXR0YWdsaSBkZWxsYSBwYXJ0ZW56YSB2ZW5nb25vIGNvbmZlcm1hdGkgcGVyIGlsIHR1byBncnVwcG8uJywKICAgIH0sCiAgfSwKICAnb2xkLXZpbmVzJzogewogICAgZW46ICdEaXNjb3ZlciB0aGUgQW1hbGZpIENvYXN0IHRocm91Z2ggaXRzIHdpbmVzIGFuZCB2aW5leWFyZCBsYW5kc2NhcGVzLiBDaG9vc2UgYSBzaGFyZWQgb3IgcHJpdmF0ZSB0YXN0aW5nIGZvciB1cCB0byBlaWdodCBndWVzdHMsIHdpdGggb3B0aW9uYWwgZnVsbC1kYXkgdHJhbnNwb3J0LiBTaGFyZSB0aGUgZHJpdmVyIGNvc3Qgb3IgZW5qb3kgYW4gZXhjbHVzaXZlIHZlaGljbGUgZm9yIHlvdXIgcHJpdmF0ZSBncm91cC4nLAogICAgaXQ6ICdTY29wcmkgbGEgQ29zdGllcmEgYXR0cmF2ZXJzbyBpIHN1b2kgdmluaSBlIGkgcGFlc2FnZ2kgZGVpIHZpZ25ldGkuIFNjZWdsaSBsYSBkZWd1c3RhemlvbmUgY29uZGl2aXNhIG8gcHJpdmF0YSBwZXIgdW4gbWFzc2ltbyBkaSBvdHRvIHBlcnNvbmUgZSBhZ2dpdW5naSwgc2UgdnVvaSwgaWwgc2Vydml6aW8gZnVsbCBkYXkgY29uZGl2aWRlbmRvIGlsIGRyaXZlciBvIHJpc2VydmFuZG9sbyBhbCB0dW8gZ3J1cHBvLicsCiAgICBkZXRhaWxzOiB7CiAgICAgIGVuOiAnTG9vayBiZXlvbmQgdGhlIGNvYXN04oCZcyBjZWxlYnJhdGVkIHZpZXdzIGFuZCBkaXNjb3ZlciBpdHMgY2hhcmFjdGVyIHRocm91Z2ggYSB3aW5lIHRhc3RpbmcuIENob29zZSBhIHNoYXJlZCBvciBwcml2YXRlIGV4cGVyaWVuY2UgZm9yIHVwIHRvIGVpZ2h0IGd1ZXN0cywgd2l0aCBvcHRpb25hbCBmdWxsLWRheSB0cmFuc3BvcnQsIGRyaXZlciBhbmQgdG91ciBlc2NvcnQuIEluIHRoZSBzaGFyZWQgZm9ybWF0LCB0aGUgdmVoaWNsZSBjb3N0IGlzIHNwbGl0IGFjcm9zcyBlaWdodCBjb25maXJtZWQgZnVsbC1mYXJlIHBhcnRpY2lwYW50czsgdGhlIHByaXZhdGUgZm9ybWF0IGdpdmVzIHlvdXIgZ3JvdXAgZXhjbHVzaXZlIHVzZSBvZiB0aGUgdmVoaWNsZS4gWW91IGNhbiBhbHNvIG1ha2UgeW91ciBvd24gd2F5IHRvIHRoZSB3aW5lcnkuIFRoZSBwcm9ncmFtbWUsIHBpY2stdXAgcm91dGUgYW5kIHRpbWluZ3MgYXJlIGNvbmZpcm1lZCBmb3IgeW91ciBkYXRlLicsCiAgICAgIGl0OiAnT2x0cmUgaSBwYW5vcmFtaSBwacO5IGNlbGVicmksIGxhIENvc3RpZXJhIHNpIGxhc2NpYSBzY29wcmlyZSBhdHRyYXZlcnNvIGlsIGNhcmF0dGVyZSBkZWkgc3VvaSB2aW5pLiBTY2VnbGkgdW7igJllc3BlcmllbnphIGNvbmRpdmlzYSBvIHByaXZhdGEgcGVyIHVuIG1hc3NpbW8gZGkgb3R0byBwZXJzb25lLCBjb24gYXV0bywgYXV0aXN0YSBlIGFjY29tcGFnbmF0b3JlIGZ1bGwgZGF5IGZhY29sdGF0aXZpLiBOZWxsbyBzaGFyZWQgaWwgY29zdG8gZGVsIHZlaWNvbG8gc2kgcmlwYXJ0aXNjZSBzdSBvdHRvIHBhcnRlY2lwYW50aSBwYWdhbnRpIGNvbmZlcm1hdGk7IG5lbCBwcml2YXRvIGzigJlhdXRvIMOoIHJpc2VydmF0YSBlc2NsdXNpdmFtZW50ZSBhbCB0dW8gZ3J1cHBvLiBQdW9pIGFuY2hlIHJhZ2dpdW5nZXJlIGxhIGNhbnRpbmEgYXV0b25vbWFtZW50ZS4gUHJvZ3JhbW1hLCBwZXJjb3JzbyBkZWwgcGljay11cCBlIG9yYXJpIHZlbmdvbm8gY29uZmVybWF0aSBwZXIgbGEgdHVhIGRhdGEuJywKICAgIH0sCiAgfSwKICAncm95YWwtY2FzZXJ0YSc6IHsKICAgIGVuOiAnU3RlcCBpbnRvIHRoZSB3b3JsZCBvZiB0aGUgQm91cmJvbiBjb3VydCB3aXRoIGEgZ3VpZGVkIHZpc2l0IHRvIHRoZSBSb3lhbCBQYWxhY2Ugb2YgQ2FzZXJ0YS4gQ2hvb3NlIHNoYXJlZCBvciBwcml2YXRlIGd1aWRpbmcsIGV4cGxvcmUgdGhlIGFwYXJ0bWVudHMgb3IgZ2FyZGVucywgYW5kIG1lZXQgb24gc2l0ZSBvciBhZGQgYSB0cmFuc2Zlci4nLAogICAgaXQ6ICdFbnRyYSBuZWwgbW9uZG8gZGVsbGEgY29ydGUgYm9yYm9uaWNhIGNvbiB1bmEgdmlzaXRhIGd1aWRhdGEgYWxsYSBSZWdnaWEgZGkgQ2FzZXJ0YS4gU2NlZ2xpIGxhIGZvcm11bGEgY29uZGl2aXNhIG8gcHJpdmF0YSwgZ2xpIGFwcGFydGFtZW50aSBvIGkgZ2lhcmRpbmkgZSBpbmNvbnRyYSBsYSBndWlkYSBzdWwgcG9zdG8gb3BwdXJlIGFnZ2l1bmdpIGlsIHRyYW5zZmVyLicsCiAgICBkZXRhaWxzOiB7CiAgICAgIGVuOiAnRGlzY292ZXIgdGhlIFJveWFsIFBhbGFjZSBvZiBDYXNlcnRhIG9uIGEgdHdvLWhvdXIgZ3VpZGVkIHdhbGsgdGhhdCBicmluZ3MgdGhlIEJvdXJib24gY291cnQgaW50byBmb2N1cy4gQ2hvb3NlIGEgc2hhcmVkIG9yIHByaXZhdGUgdmlzaXQgYW5kIHNlbGVjdCB0aGUgYWRtaXNzaW9uIHRoYXQgbWF0Y2hlcyB5b3VyIGludGVyZXN0cywgZnJvbSB0aGUgUm95YWwgQXBhcnRtZW50cyB0byB0aGUgUm95YWwgUGFyayBhbmQgRW5nbGlzaCBHYXJkZW4uIFRoZSBndWlkZWQgcm91dGUgZm9jdXNlcyBvbiB0aGUgYXJlYXMgYWdyZWVkIGZvciB5b3VyIHZpc2l0OyBhZGRpdGlvbmFsIGFyZWFzIGNvdmVyZWQgYnkgeW91ciB0aWNrZXQgY2FuIGJlIGV4cGxvcmVkIGluZGVwZW5kZW50bHkgd2hpbGUgb3Blbi4gTWVldCB0aGUgZ3VpZGUgb24gc2l0ZSBvciBhZGQgYSB0cmFuc2ZlciwgYW5kIGFycmFuZ2UgeW91ciBvd24gYWRtaXNzaW9uIGlmIHByZWZlcnJlZC4nLAogICAgICBpdDogJ1Njb3ByaSBsYSBSZWdnaWEgZGkgQ2FzZXJ0YSBjb24gdW5hIHBhc3NlZ2dpYXRhIGd1aWRhdGEgZGkgZHVlIG9yZSBjaGUgZMOgIHZvY2UgYWxsYSBzdG9yaWEgZGVsbGEgY29ydGUgYm9yYm9uaWNhLiBTY2VnbGkgbGEgZm9ybXVsYSBjb25kaXZpc2EgbyBwcml2YXRhIGUgbOKAmWluZ3Jlc3NvIHNlY29uZG8gaSB0dW9pIGludGVyZXNzaSwgZGFnbGkgQXBwYXJ0YW1lbnRpIFJlYWxpIGFsIFBhcmNvIFJlYWxlIGUgYWwgR2lhcmRpbm8gSW5nbGVzZS4gSWwgcGVyY29yc28gZ3VpZGF0byBzaSBjb25jZW50cmEgc3VsbGUgYXJlZSBjb25jb3JkYXRlIHBlciBsYSB2aXNpdGE7IGdsaSBhbHRyaSBzcGF6aSBjb21wcmVzaSBuZWwgYmlnbGlldHRvIHBvc3Nvbm8gZXNzZXJlIHNjb3BlcnRpIGluIGF1dG9ub21pYSBkdXJhbnRlIGzigJlhcGVydHVyYS4gSW5jb250cmEgbGEgZ3VpZGEgc3VsIHBvc3RvIG9wcHVyZSBhZ2dpdW5naSBpbCB0cmFuc2ZlciBlLCBzZSBwcmVmZXJpc2NpLCBvcmdhbml6emEgYXV0b25vbWFtZW50ZSBpIHR1b2kgYmlnbGlldHRpLicsCiAgICB9LAogIH0sCn07Cgpjb25zdCBjaW1icm9uZUNvcHkgPSB7CiAgZW46ICdEaXNjb3ZlciBSYXZlbGxvIHRocm91Z2ggdGhlIGdhcmRlbnMgb2YgVmlsbGEgQ2ltYnJvbmUuIEZvbGxvdyBhIGxvY2FsIGd1aWRlIGFsb25nIHNoYWRlZCBwYXRocyBhbmQgZ2FyZGVuIHRlcnJhY2VzIHRvIHRoZSBUZXJyYWNlIG9mIEluZmluaXR5LCB3aGVyZSB0aGUgQW1hbGZpIENvYXN0IG9wZW5zIG91dCBiZWxvdyB5b3UuIENob29zZSB0aGUgc2hhcmVkIG9yIHByaXZhdGUgZm9ybWF0IGFuZCBhZGQgYSB0cmFuc2ZlciBmcm9tIEFtYWxmaSBvciBuZWFyYnkgYXJlYXMgaWYgbmVlZGVkLiBHYXJkZW4gYWRtaXNzaW9uIGlzIGluY2x1ZGVkIGluIHlvdXIgc2VsZWN0ZWQgcXVvdGUuJywKICBpdDogJ1Njb3ByaSBSYXZlbGxvIGF0dHJhdmVyc28gaSBnaWFyZGluaSBkaSBWaWxsYSBDaW1icm9uZS4gU2VndWkgdW5hIGd1aWRhIGxvY2FsZSB0cmEgdmlhbGkgb21icmVnZ2lhdGkgZSB0ZXJyYXp6ZSBmaW5vIGFsbGEgVGVycmF6emEgZGVsbOKAmUluZmluaXRvLCBkb3ZlIGxhIENvc3RpZXJhIHNpIGFwcmUgc290dG8gZGkgdGUuIFNjZWdsaSBsYSBmb3JtdWxhIGNvbmRpdmlzYSBvIHByaXZhdGEgZSBhZ2dpdW5naSBpbCB0cmFuc2ZlciBkYSBBbWFsZmkgbyBkYWxsZSB6b25lIHZpY2luZSBzZSB0aSBzZXJ2ZS4gTOKAmWluZ3Jlc3NvIGFpIGdpYXJkaW5pIMOoIGNvbXByZXNvIG5lbCBwcmV2ZW50aXZvIHNlbGV6aW9uYXRvLicsCn07CgoKJ3VzZSBzdHJpY3QnOwpjb25zdCB0b3VycyA9IFt7InNsdWciOiAiYW1hbGZpLXVuY292ZXJlZCIsICJ0aXRsZSI6ICJBbWFsZmkgVW5jb3ZlcmVkIiwgInBsYWNlIjogIkFtYWxmaSIsICJraW5kIjogIldhbGtpbmcgdG91cnMiLCAiYmx1cmIiOiAiU3RlcCBiZXlvbmQgQW1hbGZp4oCZcyB3YXRlcmZyb250IGludG8gYSB3b3JsZCBvZiBzdG9uZSBwYXNzYWdlcywgbGl2ZWx5IHNxdWFyZXMgYW5kIG1hcml0aW1lIHN0b3JpZXMuIEV4cGxvcmUgd2l0aCBhIGxvY2FsIGd1aWRlIGFuZCBtYWtlIHRoZSB3YWxrIHlvdXIgb3duIHdpdGggYW4gb3B0aW9uYWwgQ2F0aGVkcmFsIG9yIFBhcGVyIE11c2V1bSB2aXNpdC4iLCAib3B0aW9ucyI6IFt7ImNvZGUiOiAiMjAxOTE1UDE5IiwgImxhYmVsIjogIkd1aWRlZCB3YWxrIiwgImR1cmF0aW9uIjogIjIgaG91cnMiLCAic3VtbWFyeSI6ICJFeHBsb3JlIEFtYWxmaeKAmXMgaGlzdG9yaWMgY2VudHJlIGFuZCB0aGUgY2F0aGVkcmFsIHdpdGggYSBsb2NhbCBndWlkZS4iLCAiaW5jbHVkZWQiOiAiR3VpZGVkIHdhbGssIGFkbWlzc2lvbiBhbmQgc25hY2tzLiIsICJleHRyYSI6ICIiLCAidHlwZXMiOiBbIlNoYXJlZCJdLCAicmF0ZXMiOiBbeyJhZ2UiOiAiQWR1bHQifSwgeyJhZ2UiOiAiSW5mYW50In0sIHsiYWdlIjogIkNoaWxkIn0sIHsiYWdlIjogIllvdXRoIn0sIHsiYWdlIjogIlNlbmlvciJ9XSwgInRpdGxlIjogIkFtYWxmaSBVbmNvdmVyZWQiLCAic291cmNlIjogbnVsbCwgInZlcmlmaWVkIjogdHJ1ZX1dLCAicGhvdG9zIjogWzEsIDIsIDMsIDQsIDUsIDYsIDddfSwgeyJzbHVnIjogInNvcnJlbnRvLXdhbGsiLCAidGl0bGUiOiAiU29ycmVudG8gT2xkIFRvd24gJiBMaW1vbmNlbGxvIiwgInBsYWNlIjogIlNvcnJlbnRvIiwgImtpbmQiOiAiV2Fsa2luZyB0b3VycyIsICJibHVyYiI6ICJHZXQgdG8ga25vdyBTb3JyZW50byB0aHJvdWdoIGl0cyBoaXN0b3JpYyBsYW5lcywgcGVhY2VmdWwgY2xvaXN0ZXIgYW5kIHN3ZWVwaW5nIHNlYSB2aWV3cy4gQSBndWlkZWQgd2FsayBmcm9tIFBpYXp6YSBUYXNzbyBicmluZ3MgdGhlIHRvd27igJlzIHN0b3JpZXMgdG8gbGlmZSwgd2l0aCBhIGxpbW9uY2VsbG8gdGFzdGluZyBpbmNsdWRlZCBmb3IgYWR1bHRzLiIsICJvcHRpb25zIjogW3siY29kZSI6ICIyMDE5MTVQMzEiLCAibGFiZWwiOiAiSGlzdG9yaWMgY2VudHJlIHdpdGggdGFzdGluZyIsICJkdXJhdGlvbiI6ICIyIGhvdXJzIiwgInN1bW1hcnkiOiAiTWVldCBhdCBCYXIgRmF1bm8gaW4gUGlhenphIFRhc3NvLiBTZWUgdGhlIFZhbGxleSBvZiB0aGUgTWlsbHMsIHRoZSBDbG9pc3RlciBvZiBTYW4gRnJhbmNlc2NvIGFuZCB0aGUgdmlld3MgZnJvbSBWaWxsYSBDb211bmFsZSBiZWZvcmUgdGhlIHRhc3RpbmcuIiwgImluY2x1ZGVkIjogIkd1aWRlZCB2aXNpdCBhbmQgbGltb25jZWxsbyB0YXN0aW5nLiIsICJleHRyYSI6ICIiLCAidHlwZXMiOiBbIlNoYXJlZCJdLCAicmF0ZXMiOiBbeyJhZ2UiOiAiQWR1bHQifSwgeyJhZ2UiOiAiQ2hpbGQifV0sICJ0aXRsZSI6ICJTb3JyZW50byBUb3VyIGF0IFBpYXp6YSBUYXNzbyBIaXN0b3JpYyBDZW50ZXIgd2l0aCBUYXN0aW5nIiwgInNvdXJjZSI6IG51bGwsICJ2ZXJpZmllZCI6IHRydWV9XSwgInBob3RvcyI6IFs4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMTddfSwgeyJzbHVnIjogInBvbXBlaWktYXJjaGFlb2xvZ3kiLCAidGl0bGUiOiAiUG9tcGVpaSBBcmNoYWVvbG9naWNhbCBXYWxrIiwgInBsYWNlIjogIlBvbXBlaWkiLCAia2luZCI6ICJBcmNoYWVvbG9neSIsICJibHVyYiI6ICJXYWxrIGludG8gZXZlcnlkYXkgbGlmZSBpbiBhbmNpZW50IFBvbXBlaWkuIFdpdGggYSBsaWNlbnNlZCBndWlkZSwgaXRzIHN0cmVldHMgYW5kIHB1YmxpYyBzcGFjZXMgYmVjb21lIHN0b3JpZXMgb2YgdGhlIHBlb3BsZSB3aG8gbGl2ZWQgaGVyZS4gQ2hvb3NlIGEgc2hhcmVkIG9yIHByaXZhdGUgdHdvLWhvdXIgdmlzaXQgYW5kIHlvdXIgYWRtaXNzaW9uIG9wdGlvbi4iLCAib3B0aW9ucyI6IFt7ImNvZGUiOiAiMjAxOTE1UDEwIiwgImxhYmVsIjogIlNtYWxsIGdyb3VwIMK3IGd1aWRlIG9ubHkiLCAiZHVyYXRpb24iOiAiMiBob3VycyIsICJzdW1tYXJ5IjogIk1lZXQgaW4gUG9tcGVpaSBmb3IgYSBndWlkZWQgd2FsayB0aHJvdWdoIHRoZSBhcmNoYWVvbG9naWNhbCBzaXRlLiIsICJpbmNsdWRlZCI6ICJMaWNlbnNlZCBndWlkZS4iLCAiZXh0cmEiOiAiIiwgInR5cGVzIjogWyJTaGFyZWQiXSwgInJhdGVzIjogW3siYWdlIjogIkFkdWx0In0sIHsiYWdlIjogIkNoaWxkIn1dLCAidGl0bGUiOiAiUG9tcGVpaSB0b3VyIGluIGEgc21hbGwgZ3JvdXAgd2l0aCBMaWNlbnNlZCBHdWlkZSIsICJzb3VyY2UiOiBudWxsLCAidmVyaWZpZWQiOiB0cnVlfSwgeyJjb2RlIjogIjIwMTkxNVAxNCIsICJsYWJlbCI6ICJHdWlkZWQgdmlzaXQgwrcgYWRtaXNzaW9uIGluY2x1ZGVkIiwgImR1cmF0aW9uIjogIjIgaG91cnMiLCAic3VtbWFyeSI6ICJFeHBsb3JlIHRoZSBhbmNpZW50IGNpdHkgd2l0aCBhIGd1aWRlLCB3aXRoIHRoZSBlbnRyYW5jZSB0aWNrZXQgYnVuZGxlZCBpbi4iLCAiaW5jbHVkZWQiOiAiR3VpZGVkIHZpc2l0IGFuZCBhZG1pc3Npb24uIiwgImV4dHJhIjogIiIsICJ0eXBlcyI6IFsiRm9ybWF0IHRvIGNvbmZpcm0iXSwgInJhdGVzIjogW3siYWdlIjogIkFkdWx0In0sIHsiYWdlIjogIkNoaWxkIn1dLCAidGl0bGUiOiAiUG9tcGVpIFRvdXIgY29uIGJpZ2xpZXR0aSBzYWx0YSBsYSBmaWxhIFBSSVZBVEUiLCAic291cmNlIjogbnVsbCwgInZlcmlmaWVkIjogdHJ1ZX1dLCAicGhvdG9zIjogWzE4LCAxOSwgMjAsIDIxLCAyMiwgMjMsIDI0LCAyNSwgMjYsIDI3LCAyOCwgMjksIDMwLCAzMSwgMzIsIDMzLCAzNF19LCB7InNsdWciOiAicmF2ZWxsbyIsICJ0aXRsZSI6ICJSYXZlbGxvOiBWaWxsYSBSdWZvbG8gJiBWaWxsYSBDaW1icm9uZSIsICJwbGFjZSI6ICJSYXZlbGxvIiwgImtpbmQiOiAiV2Fsa2luZyB0b3VycyIsICJibHVyYiI6ICJBYm92ZSB0aGUgY29hc3QsIFJhdmVsbG8gaW52aXRlcyB5b3UgaW50byBnYXJkZW5zLCBxdWlldCBsYW5lcyBhbmQgZXh0cmFvcmRpbmFyeSBzZWEgdmlld3MuIEV4cGxvcmUgd2l0aCBhIGxvY2FsIGd1aWRlIGFuZCBjaG9vc2UgVmlsbGEgUnVmb2xvLCBWaWxsYSBDaW1icm9uZeKAmXMgZ2FyZGVucyBvciBhbiBleHRlbmRlZCBleHBlcmllbmNlIHRoYXQgYnJpbmdzIGJvdGggdG9nZXRoZXIuIiwgIm9wdGlvbnMiOiBbeyJjb2RlIjogIjIwMTkxNVAyOSIsICJsYWJlbCI6ICJSYXZlbGxvIEV4cGVyaWVuY2UiLCAiZHVyYXRpb24iOiAiMiBob3VycyIsICJzdW1tYXJ5IjogIldhbGsgdGhyb3VnaCBSYXZlbGxvIGFuZCB2aXNpdCBWaWxsYSBSdWZvbG8sIGEgc2V0dGluZyBzaGFwZWQgYnkgZ2FyZGVucywgbXVzaWMgYW5kIHNlYSB2aWV3cy4iLCAiaW5jbHVkZWQiOiAiVmlsbGEgUnVmb2xvIGFkbWlzc2lvbiBhbmQgZ3VpZGVkIGV4cGVyaWVuY2UuIiwgImV4dHJhIjogIiIsICJ0eXBlcyI6IFsiU2hhcmVkIl0sICJyYXRlcyI6IFt7ImFnZSI6ICJBZHVsdCJ9LCB7ImFnZSI6ICJDaGlsZCJ9XSwgInRpdGxlIjogIlJhdmVsbG8gRXhwZXJpZW5jZSBEaXNjb3ZlciB0aGUgUGVhcmwgb2YgdGhlIEFtYWxmaSBDb2FzdCIsICJzb3VyY2UiOiBudWxsLCAidmVyaWZpZWQiOiB0cnVlfV0sICJwaG90b3MiOiBbMzUsIDM2LCAzNywgMzgsIDM5XX0sIHsic2x1ZyI6ICJzb3JyZW50by1mYXJtIiwgInRpdGxlIjogIlNvcnJlbnRvIENvYXN0OiBMZW1vbnMsIE9saXZlIE9pbCAmIE1venphcmVsbGEiLCAicGxhY2UiOiAiU29ycmVudG8gQ29hc3QiLCAia2luZCI6ICJGb29kICYgd2luZSIsICJibHVyYiI6ICJUYXN0ZSB0aGUgU29ycmVudG8gY291bnRyeXNpZGUgdGhyb3VnaCBpdHMgbGVtb25zLCBvbGl2ZSBvaWwgYW5kIG1venphcmVsbGEuIEEgZmFybSBleHBlcmllbmNlIGJyaW5ncyBsb2NhbCBmbGF2b3VycyBpbnRvIGZvY3VzLCB3aXRoIHNoYXJlZCBhbmQgcHJpdmF0ZSBvcHRpb25zIGFuZCB0aGUgcG9zc2liaWxpdHkgb2YgYWRkaW5nIGx1bmNoIHRvIHlvdXIgZGF5LiIsICJvcHRpb25zIjogW3siY29kZSI6ICIyMDE5MTVQMTYiLCAibGFiZWwiOiAiU2hhcmVkIMK3IGxlbW9ucywgb2lsICYgbW96emFyZWxsYSIsICJkdXJhdGlvbiI6ICI2IGhvdXJzIiwgInN1bW1hcnkiOiAiQSBmYXJtIHZpc2l0IHdpdGggY2l0cnVzLCBvbGl2ZSBvaWwgYW5kIGxvY2FsIGZvb2QgdHJhZGl0aW9ucy4iLCAiaW5jbHVkZWQiOiAiVHJhbnNwb3J0IGFuZCBvbGl2ZSBvaWwsIG1venphcmVsbGEgYW5kIGxpbW9uY2VsbG8gdGFzdGluZy4iLCAiZXh0cmEiOiAiIiwgInR5cGVzIjogWyJTaGFyZWQiXSwgInJhdGVzIjogW3siYWdlIjogIkFkdWx0In0sIHsiYWdlIjogIkNoaWxkIn1dLCAidGl0bGUiOiAiTGVtb24gT2xpdmUgT2lsIGFuZCBNb3p6YXJlbGxhIGluIFNvcnJlbnRvIENvYXN0IiwgInNvdXJjZSI6IG51bGwsICJ2ZXJpZmllZCI6IHRydWV9LCB7ImNvZGUiOiAiMjAxOTE1UDE1IiwgImxhYmVsIjogIlByaXZhdGUgwrcgbGVtb25zLCBvaWwgJiBtb3p6YXJlbGxhIiwgImR1cmF0aW9uIjogIjYgaG91cnMiLCAic3VtbWFyeSI6ICJFeHBsb3JlIHRoZSBjaXRydXMgYW5kIG9saXZlIGdyb3ZlcyB3aXRoIHlvdXIgb3duIGdyb3VwLiIsICJpbmNsdWRlZCI6ICJQcml2YXRlIHRyYW5zcG9ydCBpbiBhbiBhaXItY29uZGl0aW9uZWQgdmVoaWNsZS4iLCAiZXh0cmEiOiAiIiwgInR5cGVzIjogWyJQcml2YXRlIl0sICJyYXRlcyI6IFt7ImFnZSI6ICJBZHVsdCJ9LCB7ImFnZSI6ICJDaGlsZCJ9XSwgInRpdGxlIjogIkxlbW9uIE9saXZlIE9pbCBhbmQgTW96emFyZWxsYSBpbiBTb3JyZW50byBDb2FzdCIsICJzb3VyY2UiOiBudWxsLCAidmVyaWZpZWQiOiB0cnVlfSwgeyJjb2RlIjogIjIwMTkxNVA4IiwgImxhYmVsIjogIlByaXZhdGUgwrcgbGVtb25zICYgb2xpdmUgb2lsIiwgImR1cmF0aW9uIjogIjUgaG91cnMiLCAic3VtbWFyeSI6ICJBIHNob3J0ZXIgZmFybSB2aXNpdCB0aHJvdWdoIGNpdHJ1cyBhbmQgb2xpdmUgZ3JvdmVzLiIsICJpbmNsdWRlZCI6ICJQcml2YXRlIHRyYW5zcG9ydCBhbmQgc25hY2tzLiIsICJleHRyYSI6ICIiLCAidHlwZXMiOiBbIlByaXZhdGUiXSwgInJhdGVzIjogW3siYWdlIjogIkFkdWx0In0sIHsiYWdlIjogIkNoaWxkIn1dLCAidGl0bGUiOiAiTGVtb24gYW5kIG9saXZlIG9pbCBpbiBTb3JyZW50byBDb2FzdCIsICJzb3VyY2UiOiBudWxsLCAidmVyaWZpZWQiOiB0cnVlfV0sICJwaG90b3MiOiBbNDAsIDQxLCA0MiwgNDMsIDQ0LCA0NSwgNDYsIDQ3LCA0OCwgNDksIDUwLCA1MSwgNTIsIDUzLCA1NCwgNTUsIDU2LCA1NywgNTgsIDU5LCA2MCwgNjFdfSwgeyJzbHVnIjogInBvbXBlaWktZnJvbS1hbWFsZmkiLCAidGl0bGUiOiAiUG9tcGVpaSBEYXkgVHJpcCBmcm9tIEFtYWxmaSIsICJwbGFjZSI6ICJBbWFsZmkg4oaSIFBvbXBlaWkiLCAia2luZCI6ICJBcmNoYWVvbG9neSIsICJibHVyYiI6ICJCcmluZyBhbmNpZW50IFBvbXBlaWkgaW50byB5b3VyIEFtYWxmaSBDb2FzdCBob2xpZGF5LiBUcmF2ZWwgZnJvbSB0aGUgY29hc3QgZm9yIGEgZ3VpZGVkIHZpc2l0IHdpdGggcm91bmQtdHJpcCB0cmFuc3BvcnQgYW5kIGFkbWlzc2lvbiwgdGhlbiBjaG9vc2Ugd2hldGhlciB0byBjb21wbGV0ZSB0aGUgZGF5IHdpdGggbHVuY2ggYW5kIGEgbG9jYWwgd2luZSB0YXN0aW5nLiIsICJvcHRpb25zIjogW3siY29kZSI6ICIyMDE5MTVQMTciLCAibGFiZWwiOiAiU2hhcmVkIMK3IHRyYW5zZmVyIGFuZCBhZG1pc3Npb24gaW5jbHVkZWQiLCAiZHVyYXRpb24iOiAiOCBob3VycyIsICJzdW1tYXJ5IjogIlRyYXZlbCBmcm9tIHRoZSBBbWFsZmkgQ29hc3QgZm9yIGEgZ3VpZGVkIHZpc2l0IG9mIHRoZSBhcmNoYWVvbG9naWNhbCBwYXJrLiIsICJpbmNsdWRlZCI6ICJUcmFuc3BvcnQsIHBhcmtpbmcsIGd1aWRlIGFuZCBhZG1pc3Npb24uIiwgImV4dHJhIjogIiIsICJ0eXBlcyI6IFsiU2hhcmVkIl0sICJyYXRlcyI6IFt7ImFnZSI6ICJBZHVsdCJ9LCB7ImFnZSI6ICJDaGlsZCJ9XSwgInRpdGxlIjogIkd1aWRlZCBQb21wZWlpIFRvdXIgZnJvbSBBbWFsZmkgd2l0aCBza2lwIHRoZSBsaW5lIHRpY2tldCIsICJzb3VyY2UiOiBudWxsLCAidmVyaWZpZWQiOiB0cnVlfSwgeyJjb2RlIjogIjIwMTkxNVAxMiIsICJsYWJlbCI6ICJQcml2YXRlIMK3IGN1c3RvbSBkYXkgdHJpcCIsICJkdXJhdGlvbiI6ICI24oCTOCBob3VycyIsICJzdW1tYXJ5IjogIlZpc2l0IHRoZSBleGNhdmF0aW9ucyBvbiBhIHByaXZhdGUgcHJvZ3JhbW1lIHdpdGggdGhlIG9wdGlvbiBvZiBhIGxvY2FsIHRhc3RpbmcuIiwgImluY2x1ZGVkIjogIkJvdHRsZWQgd2F0ZXIuIiwgImV4dHJhIjogIiIsICJ0eXBlcyI6IFsiUHJpdmF0ZSJdLCAicmF0ZXMiOiBbeyJhZ2UiOiAiQWR1bHQifSwgeyJhZ2UiOiAiSW5mYW50In1dLCAidGl0bGUiOiAiVG91ciBQcml2YXRvIGRpIFBvbXBlaSBkYSBBbWFsZmkiLCAic291cmNlIjogbnVsbCwgInZlcmlmaWVkIjogdHJ1ZX1dLCAicGhvdG9zIjogWzYyLCA2MywgNjQsIDY1LCA2NiwgNjcsIDY4LCAzMSwgMjUsIDY5LCAyNiwgNzAsIDM0LCA3MSwgMjksIDMwLCA3Ml19LCB7InNsdWciOiAicG9tcGVpaS13aW5lIiwgInRpdGxlIjogIlBvbXBlaWkgJiBXaW5lIFRhc3RpbmciLCAicGxhY2UiOiAiUG9tcGVpaSIsICJraW5kIjogIkZvb2QgJiB3aW5lIiwgImJsdXJiIjogIkFuY2llbnQgc3RyZWV0cywgdm9sY2FuaWMgbGFuZHNjYXBlcyBhbmQgbG9jYWwgd2luZXMgY29tZSB0b2dldGhlciBpbiBvbmUgZnVsbCBkYXkuIEV4cGxvcmUgUG9tcGVpaSB3aXRoIGEgZ3VpZGUsIHRoZW4gZW5qb3kgbHVuY2ggYXQgYSB3aW5lcnkgd2l0aCBhIENsYXNzaWMgZml2ZS13aW5lIG9yIFN1cGVyaW9yIHNldmVuLXdpbmUgdGFzdGluZy4iLCAib3B0aW9ucyI6IFt7ImNvZGUiOiAiMjAxOTE1UDQiLCAibGFiZWwiOiAiUHJpdmF0ZSDCtyBQb21wZWlpIGFuZCB3aW5lIiwgImR1cmF0aW9uIjogIjHigJM2IGhvdXJzIiwgInN1bW1hcnkiOiAiQ29tYmluZSBQb21wZWlpIHdpdGggYSB0YXN0aW5nIGV4cGVyaWVuY2UuIENvbmZpcm0gdGhlIGV4YWN0IGl0aW5lcmFyeSB3aGVuIHJlcXVlc3RpbmcgdGhlIHRvdXIuIiwgImluY2x1ZGVkIjogIlByaXZhdGUgdHJhbnNwb3J0LiIsICJleHRyYSI6ICIiLCAidHlwZXMiOiBbIlByaXZhdGUiXSwgInJhdGVzIjogW3siYWdlIjogIkFkdWx0In1dLCAidGl0bGUiOiAiUG9tcGVpaSB0b3VyIGFuZCB3aW5lIHRhc3RpbmciLCAic291cmNlIjogbnVsbCwgInZlcmlmaWVkIjogdHJ1ZX1dLCAicGhvdG9zIjogWzczLCA3NCwgNzUsIDc2LCA3NywgNzgsIDc5LCA4MCwgODEsIDgyLCA4MywgODQsIDg1LCA4Nl19LCB7InNsdWciOiAiY29hc3QtZnJvbS1zb3JyZW50byIsICJ0aXRsZSI6ICJBbWFsZmkgQ29hc3QgZnJvbSBTb3JyZW50byIsICJwbGFjZSI6ICJTb3JyZW50byDihpIgQW1hbGZpIENvYXN0IiwgImtpbmQiOiAiRGF5IHRyaXBzIiwgImJsdXJiIjogIk1ha2UgYSBkYXkgb2YgdGhlIEFtYWxmaSBDb2FzdCBmcm9tIFNvcnJlbnRvLCBiZXR3ZWVuIHNlYXNpZGUgdmlsbGFnZXMgYW5kIHN3ZWVwaW5nIHZpZXdzLiBDaG9vc2Ugc2hhcmVkIG9yIHByaXZhdGUgdHJhbnNwb3J0LCB0aGVuIHNoYXBlIHRoZSBleHBlcmllbmNlIHdpdGggYSBsb2NhbCBndWlkZSBhbmQgb3B0aW9uYWwgY3VsdHVyYWwgdmlzaXRzIGFsb25nIHlvdXIgcm91dGUuIiwgIm9wdGlvbnMiOiBbeyJjb2RlIjogIjIwMTkxNVAxMSIsICJsYWJlbCI6ICJQcml2YXRlIGRlcGFydHVyZSBmcm9tIFNvcnJlbnRvIiwgImR1cmF0aW9uIjogIjbigJM4IGhvdXJzIiwgInN1bW1hcnkiOiAiVHJhdmVsIGZyb20gU29ycmVudG8gYWxvbmcgdGhlIGNvYXN0bGluZSB0byBBbWFsZmksIHN0b3BwaW5nIGF0IHBhbm9yYW1pYyBwb2ludHMuIiwgImluY2x1ZGVkIjogIlByaXZhdGUgdHJhbnNwb3J0LCBndWlkZSBhbmQgV2ktRmkgb24gYm9hcmQuIiwgImV4dHJhIjogIiIsICJ0eXBlcyI6IFsiUHJpdmF0ZSJdLCAicmF0ZXMiOiBbeyJhZ2UiOiAiQWR1bHQifSwgeyJhZ2UiOiAiQ2hpbGQifV0sICJ0aXRsZSI6ICJWaXNpdGluZyB0aGUgQW1hbGZpIENvYXN0IGZyb20gU29ycmVudG8iLCAic291cmNlIjogbnVsbCwgInZlcmlmaWVkIjogdHJ1ZX1dLCAicGhvdG9zIjogWzg3LCA4OCwgODksIDkwLCA5MSwgOTIsIDkzLCA5NCwgMzYsIDk1XX0sIHsic2x1ZyI6ICJjb2FzdC1mcm9tLXNhbGVybm8iLCAidGl0bGUiOiAiUHJpdmF0ZSBBbWFsZmkgQ29hc3QgZnJvbSBTYWxlcm5vIiwgInBsYWNlIjogIlNhbGVybm8g4oaSIEFtYWxmaSBDb2FzdCIsICJraW5kIjogIkRheSB0cmlwcyIsICJibHVyYiI6ICJZb3VyIEFtYWxmaSBDb2FzdCBkYXkgYmVnaW5zIGF0IFNhbGVybm8gUG9ydCBvciBpbiB0aGUgY2l0eSBjZW50cmUsIHdpdGggcGljay11cCBpbmNsdWRlZC4gRW5qb3kgcHJpdmF0ZSBmdWxsLWRheSB0cmFuc3BvcnQgYW5kIHBlcnNvbmFsaXNlIHRoZSBqb3VybmV5IHdpdGggYSBsb2NhbCBndWlkZSwgUmF2ZWxsb+KAmXMgZ2FyZGVucyBhbmQgQW1hbGZp4oCZcyBjdWx0dXJhbCB0cmVhc3VyZXMuIiwgIm9wdGlvbnMiOiBbeyJjb2RlIjogIjIwMTkxNVAxMyIsICJsYWJlbCI6ICJQcml2YXRlIGRlcGFydHVyZSBmcm9tIFNhbGVybm8iLCAiZHVyYXRpb24iOiAiNuKAkzggaG91cnMiLCAic3VtbWFyeSI6ICJFeHBsb3JlIHRoZSBjb2FzdCB3aXRoIGEgbG9jYWwgcGVyc3BlY3RpdmUsIGRlcGFydGluZyBmcm9tIFNhbGVybm8uIiwgImluY2x1ZGVkIjogIkJvdHRsZWQgd2F0ZXIuIiwgImV4dHJhIjogIiIsICJ0eXBlcyI6IFsiUHJpdmF0ZSJdLCAicmF0ZXMiOiBbeyJhZ2UiOiAiQWR1bHQifSwgeyJhZ2UiOiAiSW5mYW50In1dLCAidGl0bGUiOiAiVG91ciBQcml2YXRvIEV4Y2x1c2l2byBpbiBBbWFsZmkgQ29hc3QgZGEgU2FsZXJubyIsICJzb3VyY2UiOiBudWxsLCAidmVyaWZpZWQiOiB0cnVlfV0sICJwaG90b3MiOiBbODksIDkyLCA5MywgOTQsIDk2LCA5NywgMzYsIDk4XX0sIHsic2x1ZyI6ICJleGNsdXNpdmUtY29hc3QiLCAidGl0bGUiOiAiQW1hbGZpIENvYXN0IEhpZ2hsaWdodHMgJiBIaWRkZW4gR2VtcyIsICJwbGFjZSI6ICJBbWFsZmkgQ29hc3QiLCAia2luZCI6ICJEYXkgdHJpcHMiLCAiYmx1cmIiOiAiRmluZCB5b3VyIG93biB3YXkgaW50byB0aGUgQW1hbGZpIENvYXN0LCBmcm9tIHZpbGxhZ2UgbGFuZXMgdG8gZ2FyZGVucyBvdmVybG9va2luZyB0aGUgc2VhLiBBIHByaXZhdGUgZnVsbC1kYXkgZHJpdmUgbGV0cyB5b3UgYnVpbGQgYSBwZXJzb25hbCBpdGluZXJhcnksIHdpdGggYW4gb3B0aW9uYWwgbG9jYWwgZ3VpZGUgYW5kIHZpc2l0cyB0aGF0IG1hdGNoIHlvdXIgaW50ZXJlc3RzLiIsICJvcHRpb25zIjogW3siY29kZSI6ICIyMDE5MTVQMSIsICJsYWJlbCI6ICJQcml2YXRlIGhpZ2hsaWdodHMgZXhwZXJpZW5jZSIsICJkdXJhdGlvbiI6ICJEdXJhdGlvbiB0byBjb25maXJtIiwgInN1bW1hcnkiOiAiUHJpdmF0ZSBleHBlcmllbmNlIG9uIHRoZSBBbWFsZmkgQ29hc3QuIiwgImluY2x1ZGVkIjogIlByb2dyYW1tZSB0byBjb25maXJtLiIsICJleHRyYSI6ICIiLCAidHlwZXMiOiBbIlByaXZhdGUiXSwgInJhdGVzIjogW10sICJ0aXRsZSI6ICJQcml2YXRlICYgZXhjbHVzaXZlIHRvdXIgaW4gQW1hbGZpIENvYXN0IGxpa2UgYSBsb2NhbDpoaWdodGxpZ2h0IGFuZCBoaWRkZW4gZ2VtcyIsICJzb3VyY2UiOiBudWxsLCAidmVyaWZpZWQiOiBmYWxzZX1dLCAicGhvdG9zIjogWzk5XX0sIHsic2x1ZyI6ICJjb2FzdC1ieS1ib2F0IiwgInRpdGxlIjogIkV4Y2x1c2l2ZSBBbWFsZmkgQ29hc3QgQm9hdCBUb3VyIiwgInBsYWNlIjogIkFtYWxmaSBDb2FzdCIsICJraW5kIjogIkJvYXQgdG91cnMiLCAiYmx1cmIiOiAiRGlzY292ZXIgdGhlIEFtYWxmaSBDb2FzdCBmcm9tIGl0cyBtb3N0IHN0cmlraW5nIHZpZXdwb2ludCwgdGhlIHNlYS4gQm9hcmQgaW4gU2FsZXJubyBvciBBbWFsZmkgZm9yIGEgcHJpdmF0ZSBib2F0IGV4cGVyaWVuY2UgYW1vbmcgY2xpZmZzIGFuZCBjb2xvdXJmdWwgd2F0ZXJmcm9udHMsIHdpdGggdHdvLWhvdXIsIGZvdXItaG91ciBhbmQgZnVsbC1kYXkgb3B0aW9ucy4iLCAib3B0aW9ucyI6IFt7ImNvZGUiOiAiMjAxOTE1UDIiLCAibGFiZWwiOiAiUHJpdmF0ZSBib2F0IHRvdXIiLCAiZHVyYXRpb24iOiAiMiBob3VycyDCtyA0IGhvdXJzIMK3IGZ1bGwgZGF5IiwgInN1bW1hcnkiOiAiRGlzY292ZXIgdGhlIEFtYWxmaSBDb2FzdCBmcm9tIGl0cyBtb3N0IHN0cmlraW5nIHZpZXdwb2ludCwgdGhlIHNlYS4gQm9hcmQgaW4gU2FsZXJubyBvciBBbWFsZmkgZm9yIGEgcHJpdmF0ZSBib2F0IGV4cGVyaWVuY2UgYW1vbmcgY2xpZmZzIGFuZCBjb2xvdXJmdWwgd2F0ZXJmcm9udHMsIHdpdGggdHdvLWhvdXIsIGZvdXItaG91ciBhbmQgZnVsbC1kYXkgb3B0aW9ucy4iLCAiaW5jbHVkZWQiOiAiUHJpdmF0ZSBib2F0IGR1cmF0aW9uIHNlbGVjdGVkIGluIHRoZSBBQ1dMIHBsYW5uZXIuIFZlc3NlbCBhbmQgc2VydmljZXMgYXJlIGNvbmZpcm1lZCBmb3IgdGhlIGRlcGFydHVyZS4iLCAiZXh0cmEiOiAiIiwgInR5cGVzIjogWyJQcml2YXRlIl0sICJyYXRlcyI6IFtdLCAidGl0bGUiOiAiRXhjbHVzaXZlIGJvYXQgdG91ciBpbiBBbWFsZmkgQ29hc3QiLCAic291cmNlIjogbnVsbCwgInZlcmlmaWVkIjogZmFsc2V9XSwgInBob3RvcyI6IFsxMDAsIDk4LCAyLCAzLCA4OV19LCB7InNsdWciOiAib2xkLXZpbmVzIiwgInRpdGxlIjogIkFtYWxmaSBDb2FzdCBXaW5lICYgQW5jaWVudCBWaW5lcyIsICJwbGFjZSI6ICJBbWFsZmkgQ29hc3QiLCAia2luZCI6ICJGb29kICYgd2luZSIsICJibHVyYiI6ICJEaXNjb3ZlciB0aGUgQW1hbGZpIENvYXN0IHRocm91Z2ggaXRzIHdpbmVzIGFuZCB2aW5leWFyZCBsYW5kc2NhcGVzLiBDaG9vc2UgYSBzaGFyZWQgb3IgcHJpdmF0ZSB0YXN0aW5nIGZvciB1cCB0byBlaWdodCBndWVzdHMsIHdpdGggb3B0aW9uYWwgZnVsbC1kYXkgdHJhbnNwb3J0LiBTaGFyZSB0aGUgZHJpdmVyIGNvc3Qgb3IgZW5qb3kgYW4gZXhjbHVzaXZlIHZlaGljbGUgZm9yIHlvdXIgcHJpdmF0ZSBncm91cC4iLCAib3B0aW9ucyI6IFt7ImNvZGUiOiAiMjAxOTE1UDciLCAibGFiZWwiOiAiUHJpdmF0ZSB2aW5leWFyZCBhbmQgY2VsbGFyIHZpc2l0IiwgImR1cmF0aW9uIjogIlRhc3RpbmcgwrcgdGltaW5nIHRvIGNvbmZpcm0iLCAic3VtbWFyeSI6ICJEaXNjb3ZlciB0aGUgQW1hbGZpIENvYXN0IHRocm91Z2ggaXRzIHdpbmVzIGFuZCB2aW5leWFyZCBsYW5kc2NhcGVzLiBDaG9vc2UgYSBzaGFyZWQgb3IgcHJpdmF0ZSB0YXN0aW5nIGZvciB1cCB0byBlaWdodCBndWVzdHMsIHdpdGggb3B0aW9uYWwgZnVsbC1kYXkgdHJhbnNwb3J0LiBTaGFyZSB0aGUgZHJpdmVyIGNvc3Qgb3IgZW5qb3kgYW4gZXhjbHVzaXZlIHZlaGljbGUgZm9yIHlvdXIgcHJpdmF0ZSBncm91cC4iLCAiaW5jbHVkZWQiOiAiV2luZSB0YXN0aW5nLiBGdWxsLWRheSB2ZWhpY2xlLCBkcml2ZXIgYW5kIHRvdXIgZXNjb3J0IGNhbiBiZSBhZGRlZCBmb3IgdGhlIGdyb3VwLiIsICJleHRyYSI6ICIiLCAidHlwZXMiOiBbIlNoYXJlZCIsICJQcml2YXRlIl0sICJyYXRlcyI6IFtdLCAidGl0bGUiOiAiV2luZSBleHBlcmllbmNlIGluIGEgcHJlLXBoaWxsb3hlcmEgV2luZXJ5IGluIEFtYWxmaSBDb2FzdCEiLCAic291cmNlIjogbnVsbCwgInZlcmlmaWVkIjogZmFsc2V9XSwgInBob3RvcyI6IFsxMDFdfSwgeyJzbHVnIjogInJveWFsLWNhc2VydGEiLCAidGl0bGUiOiAiUm95YWwgUGFsYWNlIG9mIENhc2VydGEiLCAicGxhY2UiOiAiQ2FzZXJ0YSIsICJraW5kIjogIkN1bHR1cmUiLCAiYmx1cmIiOiAiU3RlcCBpbnRvIHRoZSB3b3JsZCBvZiB0aGUgQm91cmJvbiBjb3VydCB3aXRoIGEgZ3VpZGVkIHZpc2l0IHRvIHRoZSBSb3lhbCBQYWxhY2Ugb2YgQ2FzZXJ0YS4gQ2hvb3NlIHNoYXJlZCBvciBwcml2YXRlIGd1aWRpbmcsIGV4cGxvcmUgdGhlIGFwYXJ0bWVudHMgb3IgZ2FyZGVucywgYW5kIG1lZXQgb24gc2l0ZSBvciBhZGQgYSB0cmFuc2Zlci4iLCAib3B0aW9ucyI6IFt7ImNvZGUiOiAiMjAxOTE1UDMiLCAibGFiZWwiOiAiUHJpdmF0ZSBwYWxhY2UgZXhwZXJpZW5jZSIsICJkdXJhdGlvbiI6ICIyIGhvdXJzIiwgInN1bW1hcnkiOiAiU3RlcCBpbnRvIHRoZSB3b3JsZCBvZiB0aGUgQm91cmJvbiBjb3VydCB3aXRoIGEgZ3VpZGVkIHZpc2l0IHRvIHRoZSBSb3lhbCBQYWxhY2Ugb2YgQ2FzZXJ0YS4gQ2hvb3NlIHNoYXJlZCBvciBwcml2YXRlIGd1aWRpbmcsIGV4cGxvcmUgdGhlIGFwYXJ0bWVudHMgb3IgZ2FyZGVucywgYW5kIG1lZXQgb24gc2l0ZSBvciBhZGQgYSB0cmFuc2Zlci4iLCAiaW5jbHVkZWQiOiAiR3VpZGUgc2VydmljZSBpbiB0aGUgc2VsZWN0ZWQgZm9ybWF0LiBBZG1pc3Npb24gYW5kIHRyYW5zZmVyIGRlcGVuZCBvbiB5b3VyIHNlbGVjdGVkIG9wdGlvbnMuIiwgImV4dHJhIjogIiIsICJ0eXBlcyI6IFsiU2hhcmVkIiwgIlByaXZhdGUiXSwgInJhdGVzIjogW10sICJ0aXRsZSI6ICJWaXNpdCB0aGUgQ2FzZXJ0YSBSb3lhbCBQYWxhY2UiLCAic291cmNlIjogbnVsbCwgInZlcmlmaWVkIjogZmFsc2V9XSwgInBob3RvcyI6IFsxMDJdfV07CmNvbnN0IHBob3RvQXNzZXRzID0gWyJhc3NldHMvYmYzMTMzYTY2NmQ5ZDE4YmMyN2Mud2VicCIsICJodHRwczovL3d3dy5hbWFsZmljb2FzdHdpdGhsb2NhbHMuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzExL2Fjd2wyMDI3LTgyMzMxYjA1NTY0MDQ1NTRjMjBhLndlYnAiLCAiaHR0cHM6Ly93d3cuYW1hbGZpY29hc3R3aXRobG9jYWxzLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8xMS9hY3dsMjAyNy0wZWNiZDM2NGIzZDE3OGI4NmQ4OS0xLndlYnAiLCAiaHR0cHM6Ly93d3cuYW1hbGZpY29hc3R3aXRobG9jYWxzLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8xMS9hY3dsMjAyNy05N2Q3YjdhZDQ4NjlmNmMwMjhjMC53ZWJwIiwgImh0dHBzOi8vd3d3LmFtYWxmaWNvYXN0d2l0aGxvY2Fscy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMTEvYWN3bDIwMjctNGQzODJmMWZlMzdjMWQyZDEzYjIud2VicCIsICJodHRwczovL3d3dy5hbWFsZmljb2FzdHdpdGhsb2NhbHMuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzExL2Fjd2wyMDI3LTU0YzhlMzdiODQ2NWUxOWZhMWRmLndlYnAiLCAiaHR0cHM6Ly93d3cuYW1hbGZpY29hc3R3aXRobG9jYWxzLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8xMS9hY3dsMjAyNy0xMDM2NTY5YTBlMWU4YTY3OThlOC53ZWJwIiwgImh0dHBzOi8vd3d3LmFtYWxmaWNvYXN0d2l0aGxvY2Fscy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMTEvYWN3bDIwMjctZDE3MDFhN2M2Nzg1YzUzZThkNmQud2VicCIsICJodHRwczovL3d3dy5hbWFsZmljb2FzdHdpdGhsb2NhbHMuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzExL2Fjd2wyMDI3LTBmMjhiMzk1NzNhYzMxZDEzZGVkLndlYnAiLCAiaHR0cHM6Ly93d3cuYW1hbGZpY29hc3R3aXRobG9jYWxzLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8xMS9hY3dsMjAyNy1lZDdmZmMyZmUyMzNiMjQyYjJhNS53ZWJwIiwgImh0dHBzOi8vd3d3LmFtYWxmaWNvYXN0d2l0aGxvY2Fscy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMTEvYWN3bDIwMjctZjNjMzU2YjYzZDIxNmQ1YjIwNWUud2VicCIsICJodHRwczovL3d3dy5hbWFsZmljb2FzdHdpdGhsb2NhbHMuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzExL2Fjd2wyMDI3LWYwNWY2MzVjM2RjYmFhN2U0M2U2LndlYnAiLCAiaHR0cHM6Ly93d3cuYW1hbGZpY29hc3R3aXRobG9jYWxzLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8xMS9hY3dsMjAyNy01YTE0ZjhkZjkyYTk0MGFhYjMzNi53ZWJwIiwgImh0dHBzOi8vd3d3LmFtYWxmaWNvYXN0d2l0aGxvY2Fscy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMTEvYWN3bDIwMjctNjdmNjM2MTk5ZWM0Mzc1NzE4MTMud2VicCIsICJodHRwczovL3d3dy5hbWFsZmljb2FzdHdpdGhsb2NhbHMuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzExL2Fjd2wyMDI3LTBjMGMyNzkxZDFkMTIxMTBmYmEwLndlYnAiLCAiaHR0cHM6Ly93d3cuYW1hbGZpY29hc3R3aXRobG9jYWxzLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8xMS9hY3dsMjAyNy0wMTdkZGFkNWI2ZDEzN2ViODMyMS53ZWJwIiwgImh0dHBzOi8vd3d3LmFtYWxmaWNvYXN0d2l0aGxvY2Fscy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMTEvYWN3bDIwMjctMWRmYjNlZDA2MjA0YmE1NmRlYmMud2VicCIsICJodHRwczovL3d3dy5hbWFsZmljb2FzdHdpdGhsb2NhbHMuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzExL2Fjd2wyMDI3LThhZTQzZDJkMjViMDM2MzVhN2I1LndlYnAiLCAiaHR0cHM6Ly93d3cuYW1hbGZpY29hc3R3aXRobG9jYWxzLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8xMS9hY3dsMjAyNy00OWM0ODBlOTRiYzNlY2VlNzA4OS53ZWJwIiwgImh0dHBzOi8vd3d3LmFtYWxmaWNvYXN0d2l0aGxvY2Fscy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMTEvYWN3bDIwMjctZGIzMWUwYWM5YTY2ODBlODljZmEud2VicCIsICJodHRwczovL3d3dy5hbWFsZmljb2FzdHdpdGhsb2NhbHMuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzExL2Fjd2wyMDI3LWNiNTA1MTJmODlhNmM1NGE0YzA1LndlYnAiLCAiaHR0cHM6Ly93d3cuYW1hbGZpY29hc3R3aXRobG9jYWxzLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8xMS9hY3dsMjAyNy00YzY1ZWM1ZGNjMmQyMTA3MTQ1Zi53ZWJwIiwgImh0dHBzOi8vd3d3LmFtYWxmaWNvYXN0d2l0aGxvY2Fscy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMTEvYWN3bDIwMjctZGEwZjg2ZDg0NWJiNTdiYmExYjkud2VicCIsICJodHRwczovL3d3dy5hbWFsZmljb2FzdHdpdGhsb2NhbHMuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzExL2Fjd2wyMDI3LTY0NGNkZTU1NzY3M2M1NzMwNjZlLndlYnAiLCAiaHR0cHM6Ly93d3cuYW1hbGZpY29hc3R3aXRobG9jYWxzLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8xMS9hY3dsMjAyNy0yMzU2MzYyY2ExMzQ1YzM2NTg0ZS53ZWJwIiwgImh0dHBzOi8vd3d3LmFtYWxmaWNvYXN0d2l0aGxvY2Fscy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMTEvYWN3bDIwMjctY2I4NThhMTk0MzA2YzhjY2FjYzQud2VicCIsICJodHRwczovL3d3dy5hbWFsZmljb2FzdHdpdGhsb2NhbHMuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzExL2Fjd2wyMDI3LTdlMWIyNDRhZWQ3ZmVjZTI2NjI4LndlYnAiLCAiaHR0cHM6Ly93d3cuYW1hbGZpY29hc3R3aXRobG9jYWxzLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8xMS9hY3dsMjAyNy0yZWY3NjUwYmJlYjc5YWRhOTJjZS53ZWJwIiwgImh0dHBzOi8vd3d3LmFtYWxmaWNvYXN0d2l0aGxvY2Fscy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMTEvYWN3bDIwMjctMGViMDgzMzM3NTFlMGY3MjlhYTYud2VicCIsICJodHRwczovL3d3dy5hbWFsZmljb2FzdHdpdGhsb2NhbHMuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzExL2Fjd2wyMDI3LWFlMzlhMGVkZWYzNGZkNWY5MDE2LndlYnAiLCAiaHR0cHM6Ly93d3cuYW1hbGZpY29hc3R3aXRobG9jYWxzLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8xMS9hY3dsMjAyNy00YmQyMzVlNDYwMzJlZjQwOTQ4Yi53ZWJwIiwgImh0dHBzOi8vd3d3LmFtYWxmaWNvYXN0d2l0aGxvY2Fscy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMTEvYWN3bDIwMjctMTI3OTlhMjBmYjNlMzIwZGRjODMud2VicCIsICJodHRwczovL3d3dy5hbWFsZmljb2FzdHdpdGhsb2NhbHMuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzExL2Fjd2wyMDI3LTk3N2M4M2YzZWJmMTIxODRmMmRiLndlYnAiLCAiaHR0cHM6Ly93d3cuYW1hbGZpY29hc3R3aXRobG9jYWxzLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8xMS9hY3dsMjAyNy03ZTU3MmI3YTFkNWI5ZmFlZmQ2My53ZWJwIiwgImh0dHBzOi8vd3d3LmFtYWxmaWNvYXN0d2l0aGxvY2Fscy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMTEvYWN3bDIwMjctYTA4ZjUyZDAzMWUzMTk2ZjRmNGQud2VicCIsICJodHRwczovL3d3dy5hbWFsZmljb2FzdHdpdGhsb2NhbHMuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzExL2Fjd2wyMDI3LTM3YjAzYzVlYWU1MWIwNDFlOGExLndlYnAiLCAiaHR0cHM6Ly93d3cuYW1hbGZpY29hc3R3aXRobG9jYWxzLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8xMS9hY3dsMjAyNy0yNmQyMDBmMjQ4OWMzZjFjM2ZmNS53ZWJwIiwgImh0dHBzOi8vd3d3LmFtYWxmaWNvYXN0d2l0aGxvY2Fscy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMTEvYWN3bDIwMjctMTAxN2QxNWM5M2JjZTQwZjU1Njkud2VicCIsICJodHRwczovL3d3dy5hbWFsZmljb2FzdHdpdGhsb2NhbHMuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzExL2Fjd2wyMDI3LWI4ZTMxMzVjNjcwYjAxOGJkZDVjLndlYnAiLCAiaHR0cHM6Ly93d3cuYW1hbGZpY29hc3R3aXRobG9jYWxzLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8xMS9hY3dsMjAyNy1iZjFkZjE3OTVmZTU4M2EwMTRhMi53ZWJwIiwgImh0dHBzOi8vd3d3LmFtYWxmaWNvYXN0d2l0aGxvY2Fscy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMTEvYWN3bDIwMjctMzA0MGU2MGFjMmE4NDYyNzA3MmYud2VicCIsICJodHRwczovL3d3dy5hbWFsZmljb2FzdHdpdGhsb2NhbHMuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzExL2Fjd2wyMDI3LWJlZmZlYWNiMTBhZmVmMWU2NWVhLndlYnAiLCAiaHR0cHM6Ly93d3cuYW1hbGZpY29hc3R3aXRobG9jYWxzLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8xMS9hY3dsMjAyNy04MjdmOWExNWUxOGMwMmY3NDg0OS53ZWJwIiwgImh0dHBzOi8vd3d3LmFtYWxmaWNvYXN0d2l0aGxvY2Fscy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMTEvYWN3bDIwMjctNDA1OTIzY2FkZmViNzRlNjcxOTYud2VicCIsICJodHRwczovL3d3dy5hbWFsZmljb2FzdHdpdGhsb2NhbHMuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzExL2Fjd2wyMDI3LTFjNTRiNWFlYzhhNDYxMzEzNGExLndlYnAiLCAiaHR0cHM6Ly93d3cuYW1hbGZpY29hc3R3aXRobG9jYWxzLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8xMS9hY3dsMjAyNy1jZTY3YjkxZTRjZTAzNDUyMDJhZS53ZWJwIiwgImh0dHBzOi8vd3d3LmFtYWxmaWNvYXN0d2l0aGxvY2Fscy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMTEvYWN3bDIwMjctZjljODBmNzdkN2U0ZGNmZDRjMDMud2VicCIsICJodHRwczovL3d3dy5hbWFsZmljb2FzdHdpdGhsb2NhbHMuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzExL2Fjd2wyMDI3LTJiNGI0NmVlYWE2ODFhZDA4N2Y5LndlYnAiLCAiaHR0cHM6Ly93d3cuYW1hbGZpY29hc3R3aXRobG9jYWxzLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8xMS9hY3dsMjAyNy0wODlhMjU5YzljNzdmZDQxMmEyNy53ZWJwIiwgImh0dHBzOi8vd3d3LmFtYWxmaWNvYXN0d2l0aGxvY2Fscy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMTEvYWN3bDIwMjctZmU2MzU4NDk3YmU5YTljNTY0Y2Iud2VicCIsICJodHRwczovL3d3dy5hbWFsZmljb2FzdHdpdGhsb2NhbHMuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzExL2Fjd2wyMDI3LTY0NmJjZWUxNzdkODliMGVmYzI1LndlYnAiLCAiaHR0cHM6Ly93d3cuYW1hbGZpY29hc3R3aXRobG9jYWxzLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8xMS9hY3dsMjAyNy1hMzA4NGQwZDA2YzA1MjhhZTRkMS53ZWJwIiwgImh0dHBzOi8vd3d3LmFtYWxmaWNvYXN0d2l0aGxvY2Fscy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMTEvYWN3bDIwMjctMzBkNTMwMTA0YWM3OWM1ODRjMjEud2VicCIsICJodHRwczovL3d3dy5hbWFsZmljb2FzdHdpdGhsb2NhbHMuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzExL2Fjd2wyMDI3LTAwY2VhYTEyMjAzOGY2MTVhZjYzLndlYnAiLCAiaHR0cHM6Ly93d3cuYW1hbGZpY29hc3R3aXRobG9jYWxzLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8xMS9hY3dsMjAyNy01MDNlZjQ3ZjE2ZTNmMWE0YzY3OC53ZWJwIiwgImh0dHBzOi8vd3d3LmFtYWxmaWNvYXN0d2l0aGxvY2Fscy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMTEvYWN3bDIwMjctN2MzZTU0MjQ2ODg2ZWJhMmE3MjUud2VicCIsICJodHRwczovL3d3dy5hbWFsZmljb2FzdHdpdGhsb2NhbHMuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzExL2Fjd2wyMDI3LWUzOWFjNTIwMDFjYmQyMmU0NThlLndlYnAiLCAiaHR0cHM6Ly93d3cuYW1hbGZpY29hc3R3aXRobG9jYWxzLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8xMS9hY3dsMjAyNy0zNzZkYzYwNDMyZWZkMDUwYzM5Yi53ZWJwIiwgImh0dHBzOi8vd3d3LmFtYWxmaWNvYXN0d2l0aGxvY2Fscy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMTEvYWN3bDIwMjctYmQ5NzA0MGQzNmIwMjEzMTI3Y2Mud2VicCIsICJodHRwczovL3d3dy5hbWFsZmljb2FzdHdpdGhsb2NhbHMuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzExL2Fjd2wyMDI3LTQzMWJkZTM1YmVkMmFjYWE5ZjMyLndlYnAiLCAiaHR0cHM6Ly93d3cuYW1hbGZpY29hc3R3aXRobG9jYWxzLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8xMS9hY3dsMjAyNy01YzFkZmE2ODk2ZTUzMTJlZjUyOS53ZWJwIiwgImh0dHBzOi8vd3d3LmFtYWxmaWNvYXN0d2l0aGxvY2Fscy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMTEvYWN3bDIwMjctNDI1MWQ3NDU4NWIzM2RlYWM0Yjgud2VicCIsICJodHRwczovL3d3dy5hbWFsZmljb2FzdHdpdGhsb2NhbHMuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzExL2Fjd2wyMDI3LTRhYWM3YTg0MjQ4ZDFiNDZkZDIyLndlYnAiLCAiaHR0cHM6Ly93d3cuYW1hbGZpY29hc3R3aXRobG9jYWxzLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8xMS9hY3dsMjAyNy1kYjUyM2FmYmM4MWE4MDZiNWY1Zi53ZWJwIiwgImh0dHBzOi8vd3d3LmFtYWxmaWNvYXN0d2l0aGxvY2Fscy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMTEvYWN3bDIwMjctZGQzYTJmNjFjZDEwMzBmOTMzNDQud2VicCIsICJodHRwczovL3d3dy5hbWFsZmljb2FzdHdpdGhsb2NhbHMuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzExL2Fjd2wyMDI3LTYwMjllNzJmYWViZDU1ODNmNDU1LndlYnAiLCAiaHR0cHM6Ly93d3cuYW1hbGZpY29hc3R3aXRobG9jYWxzLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8xMS9hY3dsMjAyNy00YTYyZjg1NmYwZWViMTY4NjU4OS53ZWJwIiwgImh0dHBzOi8vd3d3LmFtYWxmaWNvYXN0d2l0aGxvY2Fscy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMTEvYWN3bDIwMjctNzNiMDVmOGE4NWQ2OGFmZDhmNWEud2VicCIsICJodHRwczovL3d3dy5hbWFsZmljb2FzdHdpdGhsb2NhbHMuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzExL2Fjd2wyMDI3LTM5YjQ5ZWMzY2ZiM2Y3NWU2OThhLndlYnAiLCAiaHR0cHM6Ly93d3cuYW1hbGZpY29hc3R3aXRobG9jYWxzLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8xMS9hY3dsMjAyNy04YjNkOGI2NDUxM2VmYTgyNTBhMy53ZWJwIiwgImh0dHBzOi8vd3d3LmFtYWxmaWNvYXN0d2l0aGxvY2Fscy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMTEvYWN3bDIwMjctNzVjNTg3MTcwZWRkMDFlNjY5NDMud2VicCIsICJodHRwczovL3d3dy5hbWFsZmljb2FzdHdpdGhsb2NhbHMuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzExL2Fjd2wyMDI3LWU5ZDI2YTA0YjdjNWYzMDgyN2M2LndlYnAiLCAiaHR0cHM6Ly93d3cuYW1hbGZpY29hc3R3aXRobG9jYWxzLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8xMS9hY3dsMjAyNy1kMDU0MDZhNzQ0OTY2N2EzYjE4MC53ZWJwIiwgImh0dHBzOi8vd3d3LmFtYWxmaWNvYXN0d2l0aGxvY2Fscy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMTEvYWN3bDIwMjctZmNmNmJkZDcwNjZmMDg1ZDJhOTYud2VicCIsICJodHRwczovL3d3dy5hbWFsZmljb2FzdHdpdGhsb2NhbHMuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzExL2Fjd2wyMDI3LTE1OTYzNGRhN2NkNjZlNmNjN2JhLndlYnAiLCAiaHR0cHM6Ly93d3cuYW1hbGZpY29hc3R3aXRobG9jYWxzLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8xMS9hY3dsMjAyNy01NWYzZmMxMzdjMGNkNGQ2MzJjZC53ZWJwIiwgImh0dHBzOi8vd3d3LmFtYWxmaWNvYXN0d2l0aGxvY2Fscy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMTEvYWN3bDIwMjctNzU3OTBkZGU4ZDNlM2U4ZDAzZjEud2VicCIsICJodHRwczovL3d3dy5hbWFsZmljb2FzdHdpdGhsb2NhbHMuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzExL2Fjd2wyMDI3LWJmOTEyMzc5OWM2ZDczZjQyMWUxLndlYnAiLCAiaHR0cHM6Ly93d3cuYW1hbGZpY29hc3R3aXRobG9jYWxzLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8xMS9hY3dsMjAyNy1hYTljNmZhYTZlMDRkMDg0NGEwZS53ZWJwIiwgImh0dHBzOi8vd3d3LmFtYWxmaWNvYXN0d2l0aGxvY2Fscy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMTEvYWN3bDIwMjctYWU2MDIxMmU3YzI4NmY1ZjdiOWMud2VicCIsICJodHRwczovL3d3dy5hbWFsZmljb2FzdHdpdGhsb2NhbHMuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzExL2Fjd2wyMDI3LTVhNTJmNjdjMzAxNmY1ODY2YjM1LndlYnAiLCAiaHR0cHM6Ly93d3cuYW1hbGZpY29hc3R3aXRobG9jYWxzLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8xMS9hY3dsMjAyNy01Y2ZhYWExZmIyYmNlZGRkMzkyMC53ZWJwIiwgImh0dHBzOi8vd3d3LmFtYWxmaWNvYXN0d2l0aGxvY2Fscy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMTEvYWN3bDIwMjctNDdmYmZmNDBiODVhNjcwNzA3OTQud2VicCIsICJodHRwczovL3d3dy5hbWFsZmljb2FzdHdpdGhsb2NhbHMuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzExL2Fjd2wyMDI3LTNhZmZmOTg0OTllODMwYjRlYjI4LndlYnAiLCAiaHR0cHM6Ly93d3cuYW1hbGZpY29hc3R3aXRobG9jYWxzLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8xMS9hY3dsMjAyNy1iNjlkMWNiNTcyNzcwYWY1YjQyZi53ZWJwIiwgImh0dHBzOi8vd3d3LmFtYWxmaWNvYXN0d2l0aGxvY2Fscy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMTEvYWN3bDIwMjctZWExM2VhMjQ1MmVlNjRmMDhlZTcud2VicCIsICJodHRwczovL3d3dy5hbWFsZmljb2FzdHdpdGhsb2NhbHMuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzExL2Fjd2wyMDI3LWVjYjhlYzlhMjNmZTk2ZDM3NDE0LndlYnAiLCAiaHR0cHM6Ly93d3cuYW1hbGZpY29hc3R3aXRobG9jYWxzLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8xMS9hY3dsMjAyNy04ZmRmOWVjNjVlYTdhNjBmNWRhNS53ZWJwIiwgImh0dHBzOi8vd3d3LmFtYWxmaWNvYXN0d2l0aGxvY2Fscy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMTEvYWN3bDIwMjctMDRiMWJjZGQ4N2VkYjEzZjFjZmEud2VicCIsICJodHRwczovL3d3dy5hbWFsZmljb2FzdHdpdGhsb2NhbHMuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzExL2Fjd2wyMDI3LWJjZmI4NmVkZmZjN2NhNTNlZTJiLndlYnAiLCAiaHR0cHM6Ly93d3cuYW1hbGZpY29hc3R3aXRobG9jYWxzLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8xMS9hY3dsMjAyNy00Yjk3NTFhM2Q2NjI1OWU5Nzg5Mi53ZWJwIiwgImh0dHBzOi8vd3d3LmFtYWxmaWNvYXN0d2l0aGxvY2Fscy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMTEvYWN3bDIwMjctOWZlZWU1ZmI2ZDcxYzVhMzQ1NTgud2VicCIsICJodHRwczovL3d3dy5hbWFsZmljb2FzdHdpdGhsb2NhbHMuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzExL2Fjd2wyMDI3LWJiNjMxNGUyMTE5M2MxOGNhMmQwLndlYnAiLCAiaHR0cHM6Ly93d3cuYW1hbGZpY29hc3R3aXRobG9jYWxzLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8xMS9hY3dsMjAyNy1lMGNlMjhjMmMwOTQ5ZWE0MmYwYi53ZWJwIiwgImh0dHBzOi8vd3d3LmFtYWxmaWNvYXN0d2l0aGxvY2Fscy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMTEvYWN3bDIwMjctZDJlZDIwMjU2ZTA4YzYyOTc0MDcud2VicCIsICJodHRwczovL3d3dy5hbWFsZmljb2FzdHdpdGhsb2NhbHMuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzExL2Fjd2wyMDI3LTYyN2UxN2ZjZWYzMGE4NzE3NTQ3LndlYnAiLCAiaHR0cHM6Ly93d3cuYW1hbGZpY29hc3R3aXRobG9jYWxzLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8xMS9hY3dsMjAyNy0wODg5NmRiN2MyODZlZmUxZGQwOS53ZWJwIiwgImh0dHBzOi8vd3d3LmFtYWxmaWNvYXN0d2l0aGxvY2Fscy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMTEvYWN3bDIwMjctMmFmOGU1YTllMDExMjMwNGY1MTcud2VicCIsICJodHRwczovL3d3dy5hbWFsZmljb2FzdHdpdGhsb2NhbHMuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzExL2Fjd2wyMDI3LWJhODAzYzdlZGIxNDRiY2U5MGVhLndlYnAiLCAiaHR0cHM6Ly93d3cuYW1hbGZpY29hc3R3aXRobG9jYWxzLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8xMS9hY3dsMjAyNy04NzgxYzhlZDU0YWVhMDlhZTk0MC53ZWJwIiwgImh0dHBzOi8vd3d3LmFtYWxmaWNvYXN0d2l0aGxvY2Fscy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMTEvYWN3bDIwMjctMDc2YWQ1NDU1ZTQzNTMwY2ZkOTUud2VicCIsICJodHRwczovL3d3dy5hbWFsZmljb2FzdHdpdGhsb2NhbHMuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzExL2Fjd2wyMDI3LTVjMTViMGUxNGFiYjNjZWRlMzZiLndlYnAiLCAiaHR0cHM6Ly93d3cuYW1hbGZpY29hc3R3aXRobG9jYWxzLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8xMS9hY3dsMjAyNy03ZmY1YmE3YjQxNmMwMDU0NzM1NS53ZWJwIl07CmNvbnN0IGV1cm8gPSBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuLUlFJywge3N0eWxlOidjdXJyZW5jeScsY3VycmVuY3k6J0VVUid9KTsKY29uc3QgZXVyb0lUID0gbmV3IEludGwuTnVtYmVyRm9ybWF0KCdpdC1JVCcsIHtzdHlsZTonY3VycmVuY3knLGN1cnJlbmN5OidFVVInfSk7CmNvbnN0IGRpcmVjdCA9IGNlbnRzID0+IE1hdGgucm91bmQoY2VudHMgKiA3IC8gOCk7CmNvbnN0IG1vbmV5ID0gKGNlbnRzLCBsYW5ndWFnZSA9ICdlbicpID0+IChsYW5ndWFnZSA9PT0gJ2l0JyA\/IGV1cm9JVCA6IGV1cm8pLmZvcm1hdChjZW50cyAvIDEwMCk7CmNvbnN0ICQgPSBpZCA9PiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjYWN3bC10b3VyLWNhdGFsb2d1ZSBbaWQ9IicgKyBpZCArICciXScpOwpjb25zdCBlc2MgPSB2YWx1ZSA9PiBTdHJpbmcodmFsdWUpLnJlcGxhY2UoL1smPD4iJ10vZywgY2ggPT4gKHsnJic6JyZhbXA7JywnPCc6JyZsdDsnLCc+JzonJmd0OycsJyInOicmcXVvdDsnLCInIjonJiMzOTsnfVtjaF0pKTsKY29uc3QgaW1hZ2UgPSAoYXNzZXRJZCwgYWx0LCBsYXp5ID0gdHJ1ZSkgPT4gJzxpbWcgc3JjPSInICsgZXNjKHBob3RvQXNzZXRzW2Fzc2V0SWRdKSArICciIGFsdD0iJyArIGVzYyhhbHQpICsgJyInICsgKGxhenkgPyAnIGxvYWRpbmc9ImxhenkiJyA6ICcnKSArICc+JzsKY29uc3QgZmFsbGJhY2sgPSAnPHNwYW4gY2xhc3M9ImJsYW5rLXBob3RvIj5HYWxsZXJ5IHRvIGNvbmZpcm08L3NwYW4+JzsKY29uc3QgY2F0YWxvZ3VlID0gJCgnY2F0YWxvZy12aWV3Jyk7CmNvbnN0IGRpYWxvZyA9ICQoJ3RvdXItZGlhbG9nJyk7CmNvbnN0IGNhdGVnb3JpZXMgPSBbJ0FsbCcsICdXYWxraW5nIHRvdXJzJywgJ0FyY2hhZW9sb2d5JywgJ0Zvb2QgJiB3aW5lJywgJ0RheSB0cmlwcycsICdCb2F0IHRvdXJzJywgJ0N1bHR1cmUnXTsKY29uc3QgYWdlSXQgPSB7QWR1bHQ6J0FkdWx0bycsQ2hpbGQ6J0JhbWJpbm8nLEluZmFudDonTmVvbmF0bycsWW91dGg6J0dpb3ZhbmUnLFNlbmlvcjonQW56aWFubyd9Owpjb25zdCBwYWdlUGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhsb2NhdGlvbi5zZWFyY2gpOwpsZXQgZGVzY3JpcHRpb25MYW5ndWFnZSA9IHBhZ2VQYXJhbXMuZ2V0KCd0b3VyX2xhbmcnKSA9PT0gJ2l0JyA\/ICdpdCcgOiAnZW4nOwpsZXQgY2F0ZWdvcnkgPSAnQWxsJzsKbGV0IGN1cnJlbnRUb3VyOwpsZXQgYWN0aXZlUGhvdG8gPSAwOwpsZXQgbGFzdFRyaWdnZXI7Cgpjb25zdCB1c2VzRGlyZWN0RHJhZnQgPSBzbHVnID0+IFsnYW1hbGZpLXVuY292ZXJlZCcsICdyYXZlbGxvJywgJ3BvbXBlaWktYXJjaGFlb2xvZ3knLCAnY29hc3QtYnktYm9hdCcsICdvbGQtdmluZXMnLCAncm95YWwtY2FzZXJ0YSddLmluY2x1ZGVzKHNsdWcpIHx8CiAgaXNQb21wZWlpRnVsbERheVRvdXIoc2x1ZykgfHwgaXNDb2FzdEZ1bGxEYXlUb3VyKHNsdWcpIHx8IEJvb2xlYW4oc29ycmVudG9EcmFmdHNbc2x1Z10pOwoKZnVuY3Rpb24gbG93ZXJQcmljZSh0b3VyKSB7CiAgaWYgKHVzZXNEaXJlY3REcmFmdCh0b3VyLnNsdWcpIHx8IHRvdXIub3B0aW9ucy5ldmVyeShvcHRpb24gPT4gb3B0aW9uLnR5cGVzLmluY2x1ZGVzKCdQcml2YXRlJykpKSByZXR1cm4gbnVsbDsKICBjb25zdCByYXRlcyA9IHRvdXIub3B0aW9ucy5mbGF0TWFwKG9wdGlvbiA9PiBvcHRpb24ucmF0ZXMuZmlsdGVyKHJvdyA9PiByb3cuYWdlID09PSAnQWR1bHQnKSk7CiAgcmV0dXJuIHJhdGVzLnJlZHVjZSgobG93ZXN0LCByb3cpID0+IGxvd2VzdCA9PT0gbnVsbCB8fCByb3cub3RhIDwgbG93ZXN0Lm90YSA\/IHJvdyA6IGxvd2VzdCwgbnVsbCk7Cn0KZnVuY3Rpb24gc2hvd0ZpbHRlcnMoKSB7CiAgJCgnZmlsdGVycycpLmlubmVySFRNTCA9IGNhdGVnb3JpZXMubWFwKGxhYmVsID0+ICc8YnV0dG9uIGNsYXNzPSJjaGlwIiB0eXBlPSJidXR0b24iIGFyaWEtcHJlc3NlZD0iJyArCiAgICBTdHJpbmcobGFiZWwgPT09IGNhdGVnb3J5KSArICciIGRhdGEtY2F0ZWdvcnk9IicgKyBlc2MobGFiZWwpICsgJyI+JyArIGVzYyhsYWJlbCkgKyAnPC9idXR0b24+Jykuam9pbignJyk7Cn0KZnVuY3Rpb24gcmVuZGVyR3JpZCgpIHsKICBjb25zdCB0ZXJtID0gJCgnc2VhcmNoJykudmFsdWUudHJpbSgpLnRvTG93ZXJDYXNlKCk7CiAgY29uc3QgdmlzaWJsZSA9IHRvdXJzLmZpbHRlcih0b3VyID0+IChjYXRlZ29yeSA9PT0gJ0FsbCcgfHwgdG91ci5raW5kID09PSBjYXRlZ29yeSkgJiYKICAgIFt0b3VyLnRpdGxlLCB0b3VyLnBsYWNlLCB0b3VyLmtpbmQsIGV4cGVyaWVuY2VDb3B5W3RvdXIuc2x1Z10uZW4sIGV4cGVyaWVuY2VDb3B5W3RvdXIuc2x1Z10uaXQsCiAgICAgIC4uLnRvdXIub3B0aW9ucy5tYXAob3B0aW9uID0+IG9wdGlvbi50aXRsZSldLmpvaW4oJyAnKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRlcm0pKTsKICAkKCdjb3VudCcpLnRleHRDb250ZW50ID0gdmlzaWJsZS5sZW5ndGggKyAodmlzaWJsZS5sZW5ndGggPT09IDEgPyAnIGV4cGVyaWVuY2UnIDogJyBleHBlcmllbmNlcycpOwogICQoJ3RvdXItZ3JpZCcpLmlubmVySFRNTCA9IHZpc2libGUubGVuZ3RoID8gdmlzaWJsZS5tYXAodG91ciA9PiB7CiAgICBjb25zdCBsb3cgPSBsb3dlclByaWNlKHRvdXIpOwogICAgY29uc3Qgc29ycmVudG8gPSBzb3JyZW50b0RyYWZ0c1t0b3VyLnNsdWddOwogICAgY29uc3QgYW1hbGZpV2FsayA9IHRvdXIuc2x1ZyA9PT0gJ2FtYWxmaS11bmNvdmVyZWQnOwogICAgY29uc3QgcG9tcGVpaVdhbGsgPSB0b3VyLnNsdWcgPT09ICdwb21wZWlpLWFyY2hhZW9sb2d5JzsKICAgIGNvbnN0IGZ1bGxEYXkgPSB0b3VyLnNsdWcgPT09ICdwb21wZWlpLWZyb20tYW1hbGZpJzsKICAgIGNvbnN0IHdpbmVGdWxsRGF5ID0gdG91ci5zbHVnID09PSAncG9tcGVpaS13aW5lJzsKICAgIGNvbnN0IGNvYXN0RnVsbERheSA9IHRvdXIuc2x1ZyA9PT0gJ2NvYXN0LWZyb20tc29ycmVudG8nOwogICAgY29uc3QgcHJpdmF0ZUNvYXN0ID0gdG91ci5zbHVnID09PSAnY29hc3QtZnJvbS1zYWxlcm5vJyB8fCB0b3VyLnNsdWcgPT09ICdleGNsdXNpdmUtY29hc3QnOwogICAgY29uc3QgcmF2ZWxsbyA9IHRvdXIuc2x1ZyA9PT0gJ3JhdmVsbG8nOwogICAgY29uc3QgYm9hdCA9IHRvdXIuc2x1ZyA9PT0gJ2NvYXN0LWJ5LWJvYXQnOwogICAgY29uc3QgdmluZXlhcmQgPSB0b3VyLnNsdWcgPT09ICdvbGQtdmluZXMnOwogICAgY29uc3QgY2FzZXJ0YSA9IHRvdXIuc2x1ZyA9PT0gJ3JveWFsLWNhc2VydGEnOwogICAgY29uc3QgZmFybVByaWNlID0gc29ycmVudG8\/LmZhcm1QcmljZTsKICAgIGNvbnN0IHNoYXJlZEd1aWRlID0gc29ycmVudG8\/Lmd1aWRlUHJpY2VzPy5zaGFyZWQuc21hbGxQYXJ0eS5wcmljZTsKICAgIGNvbnN0IHByaWNlID0gYW1hbGZpV2FsayA\/ICdGcm9tICcgKyBtb25leShhbWFsZmlDb3N0aW5nLnNoYXJlZEJhc2UucHJpY2UpIDoKICAgICAgcmF2ZWxsbyA\/ICdGcm9tICcgKyBtb25leShyYXZlbGxvRHJhZnQuc2hhcmVkWzBdLnByaWNlICsgdmlzaXRUaWNrZXRQcmljZSgncnVmb2xvJykpIDoKICAgICAgcG9tcGVpaVdhbGsgPyBtb25leShwb21wZWlpRHJhZnQuc2hhcmVkLmFkdWx0V2l0aEFkbWlzc2lvbikgOgogICAgICBmdWxsRGF5ID8gJ0Zyb20gJyArIG1vbmV5KHBvbXBlaWlEYXlUcmlwLnNoYXJlZFByaWNlKSA6CiAgICAgIHdpbmVGdWxsRGF5ID8gJ0Zyb20gJyArIG1vbmV5KHBvbXBlaWlXaW5lU2hhcmVkQmFzZSArIHBvbXBlaWlXaW5lVGFzdGluZ3Muc3RhbmRhcmQpIDoKICAgICAgY29hc3RGdWxsRGF5ID8gJ0Zyb20gJyArIG1vbmV5KE1hdGguY2VpbChjb2FzdERheVRyaXAudHJhbnNmZXIgLyBjb2FzdERheVRyaXAuY2FwYWNpdHkpKSA6CiAgICAgIHByaXZhdGVDb2FzdCA\/ICdGcm9tICcgKyBtb25leShjb2FzdERheVRyaXAudHJhbnNmZXIpIDoKICAgICAgYm9hdCA\/ICdGcm9tICcgKyBtb25leShib2F0RHJhZnQucGFja2FnZXNbJ3R3by1ob3VycyddLnByaWNlKSA6CiAgICAgIHZpbmV5YXJkID8gbW9uZXkoYW5jaWVudFZpbmVzRHJhZnQudGFzdGluZykgOgogICAgICBjYXNlcnRhID8gbW9uZXkoY2FzZXJ0YURyYWZ0LmFkdWx0V2l0aEFkbWlzc2lvbikgOgogICAgICBmYXJtUHJpY2UgPyBtb25leShmYXJtUHJpY2UpIDogc2hhcmVkR3VpZGUgPyBtb25leShzaGFyZWRHdWlkZSArIHNvcnJlbnRvRXh0cmFzLmxpbW9uY2VsbG8pIDoKICAgICAgbG93ID8gJ0Zyb20gJyArIG1vbmV5KGRpcmVjdChsb3cub3RhKSkgOiAnUmF0ZSB0byBjb25maXJtJzsKICAgIGNvbnN0IGJhc2lzID0gYW1hbGZpV2FsayA\/ICdzaGFyZWQgZ3VpZGUgwrcgMeKAkzIgZ3Vlc3RzJyA6CiAgICAgIHJhdmVsbG8gPyAnZ3VpZGUgKyBWaWxsYSBSdWZvbG8gwrcgMSBhZHVsdCcgOiBwb21wZWlpV2FsayA\/ICdwZXIgYWR1bHQgwrcgc2hhcmVkIHdpdGggYWRtaXNzaW9uJyA6CiAgICAgIGZ1bGxEYXkgPyAncGVyIGFkdWx0IMK3IHNoYXJlZCDCtyAnICsgcG9tcGVpaURheVRyaXAuY2FwYWNpdHkgKyAnIGNvbmZpcm1lZCBzZWF0cyDCtyB0YXN0aW5nIG9wdGlvbmFsJyA6CiAgICAgIHdpbmVGdWxsRGF5ID8gJ3BlciBhZHVsdCBzaGFyZWQgwrcgNiBjb25maXJtZWQgc2VhdHMgwrcgbHVuY2ggaW5jbHVkZWQnIDoKICAgICAgY29hc3RGdWxsRGF5ID8gJ3BlciBhZHVsdCBzaGFyZWQgwrcgNiBjb25maXJtZWQgc2VhdHMgwrcgZ3VpZGUgb3B0aW9uYWwnIDoKICAgICAgcHJpdmF0ZUNvYXN0ID8gJ3BlciBwcml2YXRlIGdyb3VwIMK3IGd1aWRlIGFuZCB0aWNrZXRzIG9wdGlvbmFsJyA6CiAgICAgIGJvYXQgPyAncGVyIHByaXZhdGUgYm9hdCDCtyBtaW5pbXVtIDIgaG91cnMnIDoKICAgICAgdmluZXlhcmQgPyAncGVyIGFkdWx0IHRhc3RpbmcgwrcgJyArIG1vbmV5KGFuY2llbnRWaW5lc0RyYWZ0LnRhc3RpbmcgKyBhbmNpZW50VmluZXNTaGFyZWRUcmFuc3BvcnQpICsgJyBzaGFyZWQgd2l0aCBkcml2ZXIgb24gOCBjb25maXJtZWQgZ3Vlc3RzJyA6CiAgICAgIGNhc2VydGEgPyAncGVyIGFkdWx0IMK3IHNoYXJlZCB3aXRoIGFkbWlzc2lvbicgOgogICAgICBmYXJtUHJpY2UgPyAncGVyIGd1ZXN0IHNoYXJlZCDCtyAnICsgbW9uZXkoc29ycmVudG8ucHJpdmF0ZUZhcm1QcmljZSkgKyAnIHByaXZhdGUnIDogc2hhcmVkR3VpZGUgPyAnZm9yIDEgYWR1bHQgwrcgc2hhcmVkJyA6CiAgICAgIGxvdyA\/ICgncGVyIGFkdWx0JyArIChsb3cubWluID4gMSA\/ICcgwrcgJyArIGxvdy5taW4gKyAnIGFkdWx0cycgOiAnJykpIDogJ09uIHJlcXVlc3QnOwogICAgY29uc3QgdGFncyA9IHJhdmVsbG8gPyBbJ1NoYXJlZCcsICdQcml2YXRlJywgJ0x1eHVyeSBvcHRpb24nXSA6IHRvdXIuc2x1ZyA9PT0gJ2FtYWxmaS11bmNvdmVyZWQnIHx8IHNvcnJlbnRvIHx8IHBvbXBlaWlXYWxrIHx8IHdpbmVGdWxsRGF5IHx8IGNvYXN0RnVsbERheSB8fCBjYXNlcnRhIHx8IHZpbmV5YXJkID8gWydTaGFyZWQnLCAnUHJpdmF0ZSddIDoKICAgICAgWy4uLm5ldyBTZXQodG91ci5vcHRpb25zLmZsYXRNYXAob3B0aW9uID0+IG9wdGlvbi50eXBlcykpXTsKICAgIGlmICghcmF2ZWxsbykgewogICAgICBpZiAoZnVsbERheSB8fCB3aW5lRnVsbERheSB8fCBjb2FzdEZ1bGxEYXkgfHwgcHJpdmF0ZUNvYXN0KSB0YWdzLnB1c2goJ0Z1bGwgZGF5Jyk7CiAgICAgIGVsc2UgaWYgKGJvYXQpIHRhZ3MucHVzaCgnMiBob3VycyDCtyA0IGhvdXJzIMK3IGZ1bGwgZGF5Jyk7CiAgICAgIGVsc2UgaWYgKHZpbmV5YXJkKSB0YWdzLnB1c2goJ01heCA4IGd1ZXN0cycpOwogICAgICBlbHNlIGlmIChjYXNlcnRhKSB0YWdzLnB1c2goJzIgaG91cnMnKTsKICAgICAgZWxzZSBpZiAocG9tcGVpaVdhbGspIHRhZ3MucHVzaCh0b3VyLm9wdGlvbnNbMF0uZHVyYXRpb24pOwogICAgICBlbHNlIGlmIChzb3JyZW50bykgdGFncy5wdXNoKHNvcnJlbnRvLmR1cmF0aW9uKTsKICAgICAgZWxzZSBpZiAodG91ci5vcHRpb25zLmxlbmd0aCA+IDEpIHRhZ3MucHVzaCh0b3VyLm9wdGlvbnMubGVuZ3RoICsgJyBvcHRpb25zJyk7CiAgICAgIGVsc2UgdGFncy5wdXNoKHRvdXIub3B0aW9uc1swXS5kdXJhdGlvbik7CiAgICB9CiAgICByZXR1cm4gJzxhcnRpY2xlIGNsYXNzPSJjYXJkIj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImNhcmQtbWVkaWEiIGRhdGEtdG91cj0iJyArIHRvdXIuc2x1ZyArCiAgICAgICciIGFyaWEtbGFiZWw9Ik9wZW4gJyArIGVzYyh0b3VyLnRpdGxlKSArICciPicgKyAodG91ci5waG90b3MubGVuZ3RoID8gaW1hZ2UodG91ci5waG90b3NbMF0sdG91ci50aXRsZSkgKwogICAgICAnPHNwYW4gY2xhc3M9InBob3RvLWNvdW50Ij4nICsgdG91ci5waG90b3MubGVuZ3RoICsgKHRvdXIucGhvdG9zLmxlbmd0aCA9PT0gMSA\/ICcgcGhvdG88L3NwYW4+JyA6ICcgcGhvdG9zPC9zcGFuPicpIDogZmFsbGJhY2spICsgJzwvYnV0dG9uPicgKwogICAgICAnPGRpdiBjbGFzcz0iY2FyZC1jb250ZW50Ij48ZGl2IGNsYXNzPSJtZXRhIj4nICsgZXNjKHRvdXIucGxhY2UpICsgJyDCtyAnICsgZXNjKHRvdXIua2luZCkgKyAnPC9kaXY+JyArCiAgICAgICc8aDM+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGRhdGEtdG91cj0iJyArIHRvdXIuc2x1ZyArICciPicgKyBlc2ModG91ci50aXRsZSkgKyAnPC9idXR0b24+PC9oMz4nICsKICAgICAgJzxwIGNsYXNzPSJkZXNjIiBsYW5nPSInICsgZGVzY3JpcHRpb25MYW5ndWFnZSArICciPicgKyBlc2MoZXhwZXJpZW5jZUNvcHlbdG91ci5zbHVnXVtkZXNjcmlwdGlvbkxhbmd1YWdlXSkgKwogICAgICAnPC9wPjxkaXYgY2xhc3M9InRhZ3MiPicgKyB0YWdzLm1hcCh4ID0+ICc8c3Bhbj4nK2VzYyh4KSsnPC9zcGFuPicpLmpvaW4oJycpICsKICAgICAgJzwvZGl2PjxkaXYgY2xhc3M9ImNhcmQtZm9vdCI+PGRpdiBjbGFzcz0icHJpY2UiPicgKyBwcmljZSArICc8c21hbGw+JytiYXNpcysnPC9zbWFsbD48L2Rpdj4nICsKICAgICAgJzxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ibGluZS1idG4iIGRhdGEtdG91cj0iJyt0b3VyLnNsdWcrJyI+T3B0aW9ucyAmYW1wOyBhdmFpbGFiaWxpdHkgPHNwYW4gYXJpYS1oaWRkZW49InRydWUiPuKGkjwvc3Bhbj48L2J1dHRvbj48L2Rpdj48L2Rpdj48L2FydGljbGU+JzsKICB9KS5qb2luKCcnKSA6ICc8cCBjbGFzcz0iZW1wdHkiPk5vIG1hdGNoaW5nIGV4cGVyaWVuY2UuIFRyeSBhbm90aGVyIHBsYWNlIG9yIGNhdGVnb3J5LjwvcD4nOwp9CmZ1bmN0aW9uIGdhbGxlcnlNYXJrdXAodG91cikgewogIGlmICghdG91ci5waG90b3MubGVuZ3RoKSByZXR1cm4gJzxkaXYgY2xhc3M9ImdhbGxlcnkiPicgKyBmYWxsYmFjayArICc8L2Rpdj4nOwogIHJldHVybiAnPGRpdiBjbGFzcz0iZ2FsbGVyeSI+PGRpdiBpZD0ibWFpbi1waG90byIgc3R5bGU9ImhlaWdodDoxMDAlIj4nICsgaW1hZ2UodG91ci5waG90b3NbMF0sdG91ci50aXRsZSxmYWxzZSkgKwogICAgJzwvZGl2PjxkaXYgY2xhc3M9ImdhbGxlcnktY29udHJvbHMiPjxidXR0b24gdHlwZT0iYnV0dG9uIiBkYXRhLXN0ZXA9Ii0xIiBhcmlhLWxhYmVsPSJQcmV2aW91cyBwaG90byI+4oC5PC9idXR0b24+JyArCiAgICAnPHNwYW4gaWQ9InBob3RvLW51bWJlciIgYXJpYS1saXZlPSJwb2xpdGUiPjEgLyAnK3RvdXIucGhvdG9zLmxlbmd0aCsnPC9zcGFuPjxidXR0b24gdHlwZT0iYnV0dG9uIiBkYXRhLXN0ZXA9IjEiIGFyaWEtbGFiZWw9Ik5leHQgcGhvdG8iPuKAujwvYnV0dG9uPjwvZGl2PjwvZGl2PicgKwogICAgJzxkaXYgY2xhc3M9ImZpbG0iIGFyaWEtbGFiZWw9IkdhbGxlcnkgdGh1bWJuYWlscyI+JyArIHRvdXIucGhvdG9zLm1hcCgodXJsLGkpID0+CiAgICAgICc8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgYXJpYS1sYWJlbD0iVmlldyBwaG90byAnKyhpKzEpKyciIGFyaWEtcHJlc3NlZD0iJysoaSA9PT0gMCkrJyIgZGF0YS1waG90bz0iJytpKyciPicrIGltYWdlKHVybCwnJykrJzwvYnV0dG9uPicpLmpvaW4oJycpKyc8L2Rpdj4nOwp9CmZ1bmN0aW9uIHNob3dQaG90byhpbmRleCkgewogIGNvbnN0IGNvdW50ID0gY3VycmVudFRvdXIucGhvdG9zLmxlbmd0aDsKICBpZiAoIWNvdW50KSByZXR1cm47CiAgYWN0aXZlUGhvdG8gPSAoaW5kZXggKyBjb3VudCkgJSBjb3VudDsKICAkKCdtYWluLXBob3RvJykuaW5uZXJIVE1MID0gaW1hZ2UoY3VycmVudFRvdXIucGhvdG9zW2FjdGl2ZVBob3RvXSxjdXJyZW50VG91ci50aXRsZSxmYWxzZSk7CiAgJCgncGhvdG8tbnVtYmVyJykudGV4dENvbnRlbnQgPSAoYWN0aXZlUGhvdG8rMSkgKyAnIC8gJyArIGNvdW50OwogIGRpYWxvZy5xdWVyeVNlbGVjdG9yQWxsKCdbZGF0YS1waG90b10nKS5mb3JFYWNoKGIgPT4gYi5zZXRBdHRyaWJ1dGUoJ2FyaWEtcHJlc3NlZCcsU3RyaW5nKE51bWJlcihiLmRhdGFzZXQucGhvdG8pID09PSBhY3RpdmVQaG90bykpKTsKfQpmdW5jdGlvbiBvcGVuVG91cih0b3VyLCB0cmlnZ2VyKSB7CiAgY3VycmVudFRvdXIgPSB0b3VyOwogIGxhc3RUcmlnZ2VyID0gdHJpZ2dlcjsKICBhY3RpdmVQaG90byA9IDA7CiAgJCgnZGlhbG9nLXRpdGxlJykudGV4dENvbnRlbnQgPSB0b3VyLnRpdGxlOwogICQoJ2RpYWxvZy1ib2R5JykuaW5uZXJIVE1MID0gJzxkaXYgY2xhc3M9InRvdXItbGF5b3V0Ij48ZGl2PicgKyBnYWxsZXJ5TWFya3VwKHRvdXIpICsKICAgICh0b3VyLnNsdWcgPT09ICdjb2FzdC1ieS1ib2F0JyA\/ICc8cCBjbGFzcz0ic21hbGwiIGlkPSJib2F0LWdhbGxlcnktbm90ZSI+PC9wPicgOiAnJykgKyAnPGRpdiBjbGFzcz0idG91ci1jb3B5Ij4nICsKICAgICc8cCBjbGFzcz0ibWV0YSI+JyArIGVzYyh0b3VyLnBsYWNlKSArICcgwrcgJyArIGVzYyh0b3VyLmtpbmQpICsgJzwvcD48ZGl2IGlkPSJvcHRpb24tY29weSI+PC9kaXY+PC9kaXY+PC9kaXY+JyArCiAgICAnPHNlY3Rpb24gY2xhc3M9Im9wdGlvbi1ib3giIGFyaWEtbGFiZWw9IlBsYW4geW91ciB0b3VyIj48cCBjbGFzcz0iZXllYnJvdyI+UGxhbiB5b3VyIHRvdXI8L3A+JyArCiAgICAnPGZvcm0gaWQ9InRvdXItcGxhbm5lciIgbm92YWxpZGF0ZT48aDMgY2xhc3M9InBsYW5uZXItaGVhZGluZyI+MS4gQ2hvb3NlIHlvdXIgb3B0aW9uczwvaDM+PGRpdicgKwogICAgKHVzZXNEaXJlY3REcmFmdCh0b3VyLnNsdWcpID8gJyBoaWRkZW4nIDogJycpICsgJz48bGFiZWwgZm9yPSJvcHRpb24iPlJlZmVyZW5jZSBwYWNrYWdlPC9sYWJlbD4nICsKICAgICc8c2VsZWN0IGlkPSJvcHRpb24iPicgKyB0b3VyLm9wdGlvbnMubWFwKChvcHRpb24sIGkpID0+ICc8b3B0aW9uIHZhbHVlPSInICsgaSArICciPicgKyBlc2Mob3B0aW9uLmxhYmVsKSArICc8L29wdGlvbj4nKS5qb2luKCcnKSArCiAgICAnPC9zZWxlY3Q+PC9kaXY+PGRpdiBjbGFzcz0iZmllbGQtbGlzdCIgaWQ9InRvdXItZXh0cmFzIj48L2Rpdj4nICsKICAgICh0b3VyLnNsdWcgPT09ICdjb2FzdC1ieS1ib2F0JyA\/ICc8ZGl2IGNsYXNzPSJmaWVsZC1saXN0Ij48ZGl2IGNsYXNzPSJmdWxsIj4nICsKICAgICAgJzxsYWJlbCBmb3I9ImJvYXQtZXh0cmEtaG91cnMiPkV4dHJhIGhvdXJzIMK3ICcgKyBtb25leShib2F0RHJhZnQuZXh0cmFIb3VyKSArICcgcGVyIGhvdXI8L2xhYmVsPicgKwogICAgICAnPGlucHV0IGlkPSJib2F0LWV4dHJhLWhvdXJzIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIgc3RlcD0iMSIgdmFsdWU9IjAiIHJlcXVpcmVkIGlucHV0bW9kZT0ibnVtZXJpYyI+JyArCiAgICAgICc8cCBjbGFzcz0ic21hbGwiPkFkZGVkIHRvIHRoZSBzZWxlY3RlZCBwYWNrYWdlLiBGdWxsLWRheSBob3VycyBhcmUgY29uZmlybWVkIHdpdGggQUNXTC48L3A+PC9kaXY+PC9kaXY+JyA6ICcnKSArCiAgICAnPGRpdiBpZD0idHJhbnNmZXItd2FpdC1maWVsZCIgY2xhc3M9ImZpZWxkLWxpc3QiIGhpZGRlbj48ZGl2IGNsYXNzPSJmdWxsIj4nICsKICAgICc8bGFiZWwgZm9yPSJ0cmFuc2Zlci1kaXJlY3Rpb24iPlRyYW5zZmVyIGRpcmVjdGlvbjwvbGFiZWw+PHNlbGVjdCBpZD0idHJhbnNmZXItZGlyZWN0aW9uIiBkaXNhYmxlZD4nICsKICAgICc8b3B0aW9uIHZhbHVlPSJvbmUtd2F5Ij5PbmUgd2F5PC9vcHRpb24+JyArCiAgICAnPG9wdGlvbiB2YWx1ZT0icmV0dXJuIj5Sb3VuZCB0cmlwIG9uIHJlcXVlc3Q8L29wdGlvbj48L3NlbGVjdD48L2Rpdj48ZGl2IGNsYXNzPSJmdWxsIj4nICsKICAgICc8bGFiZWwgZm9yPSJ0cmFuc2Zlci13YWl0LWhvdXJzIj5Ecml2ZXIgd2FpdGluZyBob3VycyDCtyAnICsgbW9uZXkodHJhbnNmZXJUYXJpZmYud2FpdGluZ1BlckhvdXIpICsgJyBwZXIgaG91cjwvbGFiZWw+JyArCiAgICAnPGlucHV0IGlkPSJ0cmFuc2Zlci13YWl0LWhvdXJzIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIgc3RlcD0iYW55IiB2YWx1ZT0iMCIgcmVxdWlyZWQgaW5wdXRtb2RlPSJkZWNpbWFsIiBkaXNhYmxlZD48L2Rpdj48L2Rpdj4nICsKICAgICc8aDMgY2xhc3M9InBsYW5uZXItaGVhZGluZyI+Mi4gQ2hvb3NlIGEgZGF0ZSBhbmQgdGltZTwvaDM+PGRpdiBjbGFzcz0iZmllbGQtbGlzdCI+JyArCiAgICAnPGRpdj48bGFiZWwgZm9yPSJkYXRlIj5QcmVmZXJyZWQgZGF0ZTwvbGFiZWw+PGlucHV0IHR5cGU9ImRhdGUiIGlkPSJkYXRlIiByZXF1aXJlZD48L2Rpdj4nICsKICAgICc8ZGl2PjxsYWJlbCBpZD0idGltZS1sYWJlbCIgZm9yPSJ0aW1lIj5QcmVmZXJyZWQgc3RhcnQgdGltZTwvbGFiZWw+JyArCiAgICAnPGlucHV0IHR5cGU9InRpbWUiIGlkPSJ0aW1lIiByZXF1aXJlZCBhcmlhLWRlc2NyaWJlZGJ5PSJzY2hlZHVsZS1ub3RlIj48L2Rpdj48L2Rpdj4nICsKICAgICc8ZGl2IGlkPSJzY2hlZHVsZS1ub3RlIiBjbGFzcz0ic2NoZWR1bGUtbm90ZSIgYXJpYS1saXZlPSJwb2xpdGUiPjwvZGl2PicgKwogICAgJzxoMyBjbGFzcz0icGxhbm5lci1oZWFkaW5nIj4zLiBBZGQgdHJhdmVsbGVyczwvaDM+PGRpdiBjbGFzcz0iZmllbGQtbGlzdCIgaWQ9ImFnZS1maWVsZHMiPjwvZGl2PicgKwogICAgKGlzUG9tcGVpaVRvdXIodG91ci5zbHVnKSA\/ICc8ZmllbGRzZXQgaWQ9InRpY2tldC1ob2xkZXJzIiBoaWRkZW4gZGlzYWJsZWQ+PGxlZ2VuZD5OYW1lcyBmb3IgUG9tcGVpaSB0aWNrZXRzPC9sZWdlbmQ+JyArCiAgICAgICc8cCBjbGFzcz0ic21hbGwiIGlkPSJ0aWNrZXQtaG9sZGVycy1ub3RlIj48L3A+PGRpdiBpZD0idGlja2V0LWhvbGRlci1maWVsZHMiPjwvZGl2PjwvZmllbGRzZXQ+JyA6ICcnKSArCiAgICAnPGRpdiBjbGFzcz0icXVvdGUtb3V0cHV0IiBpZD0icXVvdGUiIGFyaWEtbGl2ZT0icG9saXRlIj48L2Rpdj4nICsKICAgICc8cCBjbGFzcz0ic21hbGwiPlByZXZpZXcgb25seS4gQUNXTCBjb25maXJtcyB0aGUgaXRpbmVyYXJ5LCB2ZW51ZSBhZG1pc3Npb24gYW5kIGZpbmFsIHByaWNlIHNlcGFyYXRlbHkuPC9wPicgKwogICAgJzxidXR0b24gY2xhc3M9InNvbGlkLWJ0biIgdHlwZT0ic3VibWl0IiBpZD0icHJldmlldy1yZXF1ZXN0Ij4nICsKICAgICh0b3VyLnNsdWcgPT09ICdhbWFsZmktdW5jb3ZlcmVkJyA\/ICdQcmV2aWV3IGNoZWNrb3V0JyA6ICdQcmV2aWV3IHJlcXVlc3QnKSArICc8L2J1dHRvbj4nICsKICAgICc8ZGl2IGlkPSJwbGFuLXN1bW1hcnkiIGNsYXNzPSJwbGFuLXN1bW1hcnkiIGhpZGRlbiBhcmlhLWxpdmU9InBvbGl0ZSI+PC9kaXY+PC9mb3JtPjwvc2VjdGlvbj48L2Rpdj4nOwogICQoJ2RhdGUnKS5taW4gPSByb21lRGF0ZUFuZFRpbWUoKS5kYXRlOwogICQoJ29wdGlvbicpLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScscmVuZGVyT3B0aW9uKTsKICAkKCd0b3VyLXBsYW5uZXInKS5hZGRFdmVudExpc3RlbmVyKCdpbnB1dCcscmVmcmVzaFBsYW5uZXIpOwogICQoJ3RvdXItcGxhbm5lcicpLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScscmVmcmVzaFBsYW5uZXIpOwogICQoJ3RvdXItcGxhbm5lcicpLmFkZEV2ZW50TGlzdGVuZXIoJ3N1Ym1pdCcscHJldmlld1JlcXVlc3QpOwogIHJlbmRlck9wdGlvbigpOwogIGRpYWxvZy5zaG93TW9kYWwoKTsKICBkaWFsb2cucXVlcnlTZWxlY3RvcignLmNsb3NlJykuZm9jdXMoKTsKfQoKZnVuY3Rpb24gc2VsZWN0ZWRPcHRpb24oKSB7CiAgcmV0dXJuIGN1cnJlbnRUb3VyLm9wdGlvbnNbTnVtYmVyKCQoJ29wdGlvbicpLnZhbHVlKV07Cn0KCmZ1bmN0aW9uIHJlbmRlck9wdGlvbigpIHsKICBjb25zdCBvcHRpb24gPSBzZWxlY3RlZE9wdGlvbigpOwogIGNvbnN0IGZpZWxkcyA9IG9wdGlvbkZpZWxkcyhjdXJyZW50VG91ciwgb3B0aW9uLCAkKCdkYXRlJykudmFsdWUpOwogIGNvbnN0IHByZXZpb3VzID0gT2JqZWN0LmZyb21FbnRyaWVzKEFycmF5LmZyb20oJCgnYWdlLWZpZWxkcycpLnF1ZXJ5U2VsZWN0b3JBbGwoJ2lucHV0JyksIGZpZWxkID0+CiAgICBbZmllbGQuZGF0YXNldC5hZ2UsIGZpZWxkLnZhbHVlXSkpOwogICQoJ3RvdXItZXh0cmFzJykuaW5uZXJIVE1MID0gZmllbGRzLm1hcChmaWVsZCA9PiAnPGRpdiBjbGFzcz0iZnVsbCI+PGxhYmVsIGZvcj0iZXh0cmEtJyArCiAgICBmaWVsZC5rZXkgKyAnIj4nICsgZXNjKGZpZWxkLmxhYmVsKSArICc8L2xhYmVsPjxzZWxlY3QgaWQ9ImV4dHJhLScgKyBmaWVsZC5rZXkgKyAnIicgKyAoZmllbGQucmVxdWlyZWQgPyAnIHJlcXVpcmVkJyA6ICcnKSArICc+JyArCiAgICBleHRyYU9wdGlvbnNNYXJrdXAoZmllbGQpICsgJzwvc2VsZWN0PjwvZGl2PicpLmpvaW4oJycpOwogIGNvbnN0IGFnZXMgPSBpc1BvbXBlaWlGdWxsRGF5VG91cihjdXJyZW50VG91ci5zbHVnKSB8fCBpc0NvYXN0RnVsbERheVRvdXIoY3VycmVudFRvdXIuc2x1ZykgPyBbJ0FkdWx0JywgJ0NoaWxkJ10gOgogICAgb3B0aW9uLnJhdGVzLmxlbmd0aCA\/IFsuLi5uZXcgU2V0KG9wdGlvbi5yYXRlcy5tYXAocm93ID0+IHJvdy5hZ2UpKV0gOiBbJ0FkdWx0JywgJ0NoaWxkJ107CiAgJCgnYWdlLWZpZWxkcycpLmlubmVySFRNTCA9IGFnZXMubWFwKGFnZSA9PiAnPGRpdj48bGFiZWwgZm9yPSJwYXgtJyArIGFnZSArICciPicgKyBhZ2UgKyAnPC9sYWJlbD48aW5wdXQgaWQ9InBheC0nICsKICAgIGFnZSArICciIGRhdGEtYWdlPSInICsgYWdlICsgJyIgdHlwZT0ibnVtYmVyIiBzdGVwPSIxIiBtaW49IicgKyAoYWdlID09PSAnQWR1bHQnID8gMSA6IDApICsgJyIgdmFsdWU9IicgKwogICAgZXNjKHByZXZpb3VzW2FnZV0gPz8gKGFnZSA9PT0gJ0FkdWx0JyA\/ICcxJyA6ICcwJykpICsgJyIgcmVxdWlyZWQgaW5wdXRtb2RlPSJudW1lcmljIj48L2Rpdj4nKS5qb2luKCcnKTsKICByZWZyZXNoUGxhbm5lcigpOwp9CgpmdW5jdGlvbiBleHRyYU9wdGlvbnNNYXJrdXAoZmllbGQpIHsKICByZXR1cm4gZmllbGQuY2hvaWNlcy5tYXAoKFt2YWx1ZSwgbGFiZWxdKSA9PiAnPG9wdGlvbiB2YWx1ZT0iJyArIGVzYyh2YWx1ZSkgKyAnIicgKwogICAgKGZpZWxkLmluaXRpYWwgPT09IHZhbHVlID8gJyBzZWxlY3RlZCcgOiAnJykgKyAnPicgKyBlc2MobGFiZWwpICsgJzwvb3B0aW9uPicpLmpvaW4oJycpOwp9CgpmdW5jdGlvbiB1cGRhdGVQb21wZWlpQWRtaXNzaW9uKG9wdGlvbikgewogIGlmICghaXNQb21wZWlpVG91cihjdXJyZW50VG91ci5zbHVnKSkgcmV0dXJuOwogIGNvbnN0IHNlbGVjdCA9ICQoJ2V4dHJhLXRpY2tldHMnKTsKICBjb25zdCBmaWVsZCA9IHBvbXBlaWlBZG1pc3Npb25GaWVsZChjdXJyZW50VG91ciwgb3B0aW9uLCAkKCdkYXRlJykudmFsdWUpOwogIGNvbnN0IGF2YWlsYWJsZSA9IGZpZWxkLmNob2ljZXMubWFwKChbdmFsdWVdKSA9PiB2YWx1ZSk7CiAgaWYgKFsuLi5zZWxlY3Qub3B0aW9uc10ubWFwKGl0ZW0gPT4gaXRlbS52YWx1ZSkuam9pbigpID09PSBhdmFpbGFibGUuam9pbigpKSByZXR1cm47CiAgY29uc3QgcHJldmlvdXMgPSBzZWxlY3QudmFsdWU7CiAgc2VsZWN0LmlubmVySFRNTCA9IGV4dHJhT3B0aW9uc01hcmt1cChmaWVsZCk7CiAgc2VsZWN0LnZhbHVlID0gYXZhaWxhYmxlLmluY2x1ZGVzKHByZXZpb3VzKSA\/IHByZXZpb3VzIDogYXZhaWxhYmxlLmF0KC0xKTsKfQoKZnVuY3Rpb24gc2VsZWN0ZWRQb21wZWlpVGlja2V0KCkgewogIGlmICghaXNQb21wZWlpVG91cihjdXJyZW50VG91ci5zbHVnKSkgcmV0dXJuIG51bGw7CiAgY29uc3Qga2V5ID0gJCgnZXh0cmEtdGlja2V0cycpLnZhbHVlOwogIHJldHVybiBPYmplY3QuaGFzT3duKHZpc2l0VGlja2V0cywga2V5KSA\/IGtleSA6IG51bGw7Cn0KCmZ1bmN0aW9uIHVwZGF0ZVRpY2tldEhvbGRlcnMoKSB7CiAgY29uc3Qgc2VjdGlvbiA9ICQoJ3RpY2tldC1ob2xkZXJzJyk7CiAgaWYgKCFzZWN0aW9uKSByZXR1cm4gdHJ1ZTsKICBjb25zdCBuZWVkc05hbWVzID0gQm9vbGVhbihzZWxlY3RlZFBvbXBlaWlUaWNrZXQoKSk7CiAgc2VjdGlvbi5oaWRkZW4gPSAhbmVlZHNOYW1lczsKICBzZWN0aW9uLmRpc2FibGVkID0gIW5lZWRzTmFtZXM7CiAgaWYgKCFuZWVkc05hbWVzKSByZXR1cm4gdHJ1ZTsKICBjb25zdCBjb3VudHMgPSBbLi4uJCgnYWdlLWZpZWxkcycpLnF1ZXJ5U2VsZWN0b3JBbGwoJ2lucHV0JyldOwogIGNvbnN0IGNvdW50ID0gY291bnRzLnJlZHVjZSgodG90YWwsIGZpZWxkKSA9PiB0b3RhbCArIGZpZWxkLnZhbHVlQXNOdW1iZXIsIDApOwogIGNvbnN0IHRvb01hbnkgPSBjb3VudCA+IDEwMDsKICAkKCd0aWNrZXQtaG9sZGVycy1ub3RlJykudGV4dENvbnRlbnQgPSB0b29NYW55ID8gJ0ZvciBncm91cHMgb3ZlciAxMDAsIGNvbnRhY3QgQUNXTCB0byBhcnJhbmdlIG5hbWVkIHRpY2tldHMuJyA6CiAgICAnRW50ZXIgZWFjaCB0cmF2ZWxsZXLigJlzIGZ1bGwgbmFtZSBleGFjdGx5IGFzIHNob3duIG9uIHRoZWlyIElELCBpbmNsdWRpbmcgY2hpbGRyZW4uIEJyaW5nIGEgdmFsaWQgSUQgb24gdGhlIGRheS4gVXNlIHNhbXBsZSBuYW1lcyBpbiB0aGlzIHByZXZpZXcuJzsKICBzZWN0aW9uLmRpc2FibGVkID0gdG9vTWFueSB8fCBjb3VudHMuc29tZShmaWVsZCA9PiAhZmllbGQudmFsaWRpdHkudmFsaWQpOwogIGlmIChzZWN0aW9uLmRpc2FibGVkKSByZXR1cm4gIXRvb01hbnk7CiAgY29uc3QgdHJhdmVsbGVycyA9IGNvdW50cy5mbGF0TWFwKGZpZWxkID0+IEFycmF5LmZyb20oe2xlbmd0aDogZmllbGQudmFsdWVBc051bWJlcn0sIChfLCBpKSA9PiBmaWVsZC5kYXRhc2V0LmFnZSArICcgJyArIChpICsgMSkpKTsKICBjb25zdCByb3dzID0gJCgndGlja2V0LWhvbGRlci1maWVsZHMnKTsKICBjb25zdCBzaWduYXR1cmUgPSB0cmF2ZWxsZXJzLmpvaW4oJ3wnKTsKICBpZiAocm93cy5kYXRhc2V0LnRyYXZlbGxlcnMgPT09IHNpZ25hdHVyZSkgcmV0dXJuIHRydWU7CiAgY29uc3QgcHJldmlvdXMgPSBPYmplY3QuZnJvbUVudHJpZXMoWy4uLnJvd3MucXVlcnlTZWxlY3RvckFsbCgnaW5wdXQnKV0ubWFwKGZpZWxkID0+IFtmaWVsZC5pZCwgZmllbGQudmFsdWVdKSk7CiAgcm93cy5kYXRhc2V0LnRyYXZlbGxlcnMgPSBzaWduYXR1cmU7CiAgcm93cy5pbm5lckhUTUwgPSB0cmF2ZWxsZXJzLm1hcCh0cmF2ZWxsZXIgPT4gewogICAgY29uc3QgaWQgPSAndGlja2V0LWhvbGRlci0nICsgdHJhdmVsbGVyLnJlcGxhY2UoJyAnLCAnLScpOwogICAgcmV0dXJuICc8ZGl2IHJvbGU9Imdyb3VwIiBhcmlhLWxhYmVsbGVkYnk9IicgKyBpZCArICciPjxwIGNsYXNzPSJzbWFsbCIgaWQ9IicgKyBpZCArICciPjxzdHJvbmc+JyArIGVzYyh0cmF2ZWxsZXIpICsKICAgICAgJzwvc3Ryb25nPjwvcD48ZGl2IGNsYXNzPSJmaWVsZC1saXN0Ij4nICsgW1snZmlyc3QnLCAnRmlyc3QgbmFtZShzKSddLCBbJ2xhc3QnLCAnTGFzdCBuYW1lKHMpJ11dLm1hcCgoW3BhcnQsIGxhYmVsXSkgPT4gewogICAgICAgIGNvbnN0IGZpZWxkSWQgPSBpZCArICctJyArIHBhcnQ7CiAgICAgICAgcmV0dXJuICc8ZGl2PjxsYWJlbCBmb3I9IicgKyBmaWVsZElkICsgJyI+JyArIGxhYmVsICsgJzwvbGFiZWw+PGlucHV0IGlkPSInICsgZmllbGRJZCArCiAgICAgICAgICAnIiB0eXBlPSJ0ZXh0IiBhdXRvY29tcGxldGU9Im9mZiIgcmVxdWlyZWQgdmFsdWU9IicgKyBlc2MocHJldmlvdXNbZmllbGRJZF0gfHwgJycpICsgJyI+PC9kaXY+JzsKICAgICAgfSkuam9pbignJykgKyAnPC9kaXY+PC9kaXY+JzsKICB9KS5qb2luKCcnKTsKICByZXR1cm4gdHJ1ZTsKfQoKZnVuY3Rpb24gc2VsZWN0ZWRFeHRyYXMob3B0aW9uKSB7CiAgcmV0dXJuIG9wdGlvbkZpZWxkcyhjdXJyZW50VG91ciwgb3B0aW9uLCAkKCdkYXRlJykudmFsdWUpLmZpbHRlcihmaWVsZCA9PgogICAgY3VycmVudFRvdXIuc2x1ZyAhPT0gJ29sZC12aW5lcycgfHwgZmllbGQua2V5ICE9PSAncGlja3VwJyB8fCAkKCdleHRyYS10cmFuc3BvcnQnKS52YWx1ZSA9PT0gJ2Z1bGwtZGF5JykubWFwKGZpZWxkID0+IHsKICAgIGNvbnN0IGNvbnRyb2wgPSAkKCdleHRyYS0nICsgZmllbGQua2V5KTsKICAgIHJldHVybiB7IGxhYmVsOiBmaWVsZC5sYWJlbCwgdmFsdWU6IGNvbnRyb2wudmFsdWUsIGluaXRpYWw6IGZpZWxkLmluaXRpYWwsIHRleHQ6IGNvbnRyb2wuc2VsZWN0ZWRPcHRpb25zWzBdLnRleHQgfTsKICB9KTsKfQoKZnVuY3Rpb24gcmVmcmVzaFBsYW5uZXIoKSB7CiAgJCgncGxhbi1zdW1tYXJ5JykuaGlkZGVuID0gdHJ1ZTsKICBjb25zdCBvcHRpb24gPSBzZWxlY3RlZE9wdGlvbigpOwogIHVwZGF0ZVBvbXBlaWlBZG1pc3Npb24ob3B0aW9uKTsKICBjb25zdCB2aW5leWFyZCA9IGN1cnJlbnRUb3VyLnNsdWcgPT09ICdvbGQtdmluZXMnOwogIGlmICh2aW5leWFyZCkgewogICAgY29uc3QgcGlja3VwID0gJCgnZXh0cmEtcGlja3VwJyk7CiAgICBjb25zdCB3aXRoVHJhbnNwb3J0ID0gJCgnZXh0cmEtdHJhbnNwb3J0JykudmFsdWUgPT09ICdmdWxsLWRheSc7CiAgICBwaWNrdXAuZGlzYWJsZWQgPSAhd2l0aFRyYW5zcG9ydDsKICAgIHBpY2t1cC5jbG9zZXN0KCdkaXYnKS5oaWRkZW4gPSAhd2l0aFRyYW5zcG9ydDsKICAgICQoJ2V4dHJhLXRyYW5zcG9ydCcpLm9wdGlvbnNbMV0udGV4dENvbnRlbnQgPSAkKCdleHRyYS1mb3JtYXQnKS52YWx1ZSA9PT0gJ3NoYXJlZCcgPwogICAgICAnU2hhcmVkIGZ1bGwtZGF5IHZlaGljbGUsIGRyaXZlciAmIHRvdXIgZXNjb3J0IMK3ICcgKyBtb25leShhbmNpZW50VmluZXNTaGFyZWRUcmFuc3BvcnQpICsgJyBwZXIgYWR1bHQgwrcgOCBjb25maXJtZWQgZ3Vlc3RzJyA6CiAgICAgICdFeGNsdXNpdmUgZnVsbC1kYXkgdmVoaWNsZSwgZHJpdmVyICYgdG91ciBlc2NvcnQgwrcgJyArIG1vbmV5KGFuY2llbnRWaW5lc0RyYWZ0LmZ1bGxEYXlUcmFuc3BvcnQpICsgJyBwZXIgZ3JvdXAnOwogIH0KICBjb25zdCBleHRyYXMgPSBzZWxlY3RlZEV4dHJhcyhvcHRpb24pOwogIGNvbnN0IGN1c3RvbWl6ZWQgPSBleHRyYXMuc29tZShmaWVsZCA9PiBmaWVsZC52YWx1ZSAhPT0gZmllbGQuaW5pdGlhbCk7CiAgY29uc3QgZGlyZWN0SXRpbmVyYXJ5ID0gdXNlc0RpcmVjdERyYWZ0KGN1cnJlbnRUb3VyLnNsdWcpOwogIGNvbnN0IHNvcnJlbnRvID0gc29ycmVudG9EcmFmdHNbY3VycmVudFRvdXIuc2x1Z107CiAgY29uc3QgdmlsbGEgPSAkKCdleHRyYS12aWxsYScpPy52YWx1ZTsKICBjb25zdCBncm90dG8gPSAkKCdleHRyYS1ncm90dG8nKT8udmFsdWU7CiAgY29uc3QgZXh0ZW5kZWQgPSB2aWxsYSA9PT0gJ2JvdGgnIHx8ICQoJ2V4dHJhLXBhcGVyLW11c2V1bScpPy52YWx1ZSA9PT0gJ2luY2x1ZGUnIHx8IChncm90dG8gJiYgZ3JvdHRvICE9PSAnc2tpcCcpOwogIGNvbnN0IGJvYXQgPSBjdXJyZW50VG91ci5zbHVnID09PSAnY29hc3QtYnktYm9hdCc7CiAgY29uc3QgYm9hdFBhY2thZ2UgPSBib2F0ID8gYm9hdERyYWZ0LnBhY2thZ2VzWyQoJ2V4dHJhLWJvYXQtZHVyYXRpb24nKS52YWx1ZV0gOiBudWxsOwogIGNvbnN0IGV4dHJhSG91cnMgPSBib2F0ID8gJCgnYm9hdC1leHRyYS1ob3VycycpLnZhbHVlQXNOdW1iZXIgOiAwOwogIGNvbnN0IGR1cmF0aW9uID0gaXNQb21wZWlpRnVsbERheVRvdXIoY3VycmVudFRvdXIuc2x1ZykgfHwgaXNDb2FzdEZ1bGxEYXlUb3VyKGN1cnJlbnRUb3VyLnNsdWcpID8gJ0Z1bGwgZGF5JyA6CiAgICBjdXJyZW50VG91ci5zbHVnID09PSAncm95YWwtY2FzZXJ0YScgPyAnMi1ob3VyIGd1aWRlZCB2aXNpdCcgOgogICAgdmluZXlhcmQgPyAoJCgnZXh0cmEtdHJhbnNwb3J0JykudmFsdWUgPT09ICdmdWxsLWRheScgPyAnVGFzdGluZyDCtyBmdWxsLWRheSB0cmFuc3BvcnQnIDogJ1Rhc3RpbmcgwrcgdGltaW5nIHRvIGNvbmZpcm0nKSA6CiAgICBib2F0ID8gYm9hdFBhY2thZ2UubGFiZWwgKyAoTnVtYmVyLmlzU2FmZUludGVnZXIoZXh0cmFIb3VycykgJiYgZXh0cmFIb3VycyA+IDAgPyAnICsgJyArIGV4dHJhSG91cnMgKyAnIGV4dHJhIGgnIDogJycpIDoKICAgIGV4dGVuZGVkID8gJ0V4dGVuZGVkIHJvdXRlIMK3IHRpbWluZyB0byBjb25maXJtJyA6IChzb3JyZW50bz8uZHVyYXRpb24gfHwgb3B0aW9uLmR1cmF0aW9uKTsKICBjb25zdCBoZWFkaW5nID0gdmlsbGEgPT09ICdjaW1icm9uZScgPyAnTHV4dXJ5IFZpbGxhIENpbWJyb25lJyA6ICdBYm91dCB0aGlzIGV4cGVyaWVuY2UnOwogIGNvbnN0IGNvcHkgPSB2aWxsYSA9PT0gJ2NpbWJyb25lJyA\/IGNpbWJyb25lQ29weSA6IGV4cGVyaWVuY2VDb3B5W2N1cnJlbnRUb3VyLnNsdWddOwogIGNvbnN0IHN1bW1hcnkgPSBjb3B5LmRldGFpbHM\/LltkZXNjcmlwdGlvbkxhbmd1YWdlXSB8fCBjb3B5W2Rlc2NyaXB0aW9uTGFuZ3VhZ2VdOwogIGlmIChib2F0KSAkKCdib2F0LWdhbGxlcnktbm90ZScpLnRleHRDb250ZW50ID0gZGVzY3JpcHRpb25MYW5ndWFnZSA9PT0gJ2l0JyA\/CiAgICAnRm90byBkZWxsYSBiYXJjYSBlIGRlbGxhIENvc3RpZXJhIGRhbCBjYXRhbG9nbyBBQ1dMLiBM4oCZaW1iYXJjYXppb25lIHZpZW5lIGNvbmZlcm1hdGEgcGVyIGxhIHR1YSB1c2NpdGEuJyA6CiAgICAnQm9hdCBhbmQgY29hc3RhbCBpbWFnZXMgZnJvbSB0aGUgQUNXTCBjYXRhbG9ndWUuIFRoZSB2ZXNzZWwgaXMgY29uZmlybWVkIGZvciB5b3VyIGRlcGFydHVyZS4nOwogICQoJ29wdGlvbi1jb3B5JykuaW5uZXJIVE1MID0gJzxoMz4nICsgaGVhZGluZyArICcgwrcgJyArIGVzYyhkdXJhdGlvbikgKyAnPC9oMz48cCBsYW5nPSInICsgZGVzY3JpcHRpb25MYW5ndWFnZSArICciPicgKwogICAgZXNjKHN1bW1hcnkpICsgJzwvcD4nICsKICAgIChib2F0ID8gJzxwIGNsYXNzPSJzbWFsbCIgbGFuZz0iJyArIGRlc2NyaXB0aW9uTGFuZ3VhZ2UgKyAnIj4nICsgZXNjKGJvYXREcmFmdC5jb25kaXRpb25zW2Rlc2NyaXB0aW9uTGFuZ3VhZ2VdKSArICc8L3A+JyA6ICcnKSArCiAgICAoZGlyZWN0SXRpbmVyYXJ5IHx8IGN1c3RvbWl6ZWQgPyAnPGgzPllvdXIgc2VsZWN0ZWQgb3B0aW9uczwvaDM+PHA+JyArIGV4dHJhcy5tYXAoZmllbGQgPT4gZXNjKGZpZWxkLnRleHQpKS5qb2luKCcgwrcgJykgKwogICAgICAnPC9wPjxwIGNsYXNzPSJzbWFsbCI+SW5jbHVzaW9ucyBmb3IgdGhpcyBjb21iaW5hdGlvbiB3aWxsIGJlIGNvbmZpcm1lZCB3aXRoIHRoZSBxdW90ZS48L3A+JyA6CiAgICAgICc8aDM+UmVmZXJlbmNlIHBhY2thZ2UgaW5jbHVzaW9uczwvaDM+PHA+JyArIGVzYyhvcHRpb24uaW5jbHVkZWQpICsgJzwvcD48cCBjbGFzcz0ic21hbGwiPicgKyBlc2Mob3B0aW9uLmV4dHJhKSArICc8L3A+Jyk7CiAgdXBkYXRlU2NoZWR1bGUoKTsKICBjYWxjdWxhdGVRdW90ZShvcHRpb24sIGN1c3RvbWl6ZWQsIGV4dHJhcyk7CiAgdXBkYXRlVGlja2V0SG9sZGVycygpOwp9CgpmdW5jdGlvbiB1cGRhdGVTY2hlZHVsZSgpIHsKICBsZXQgdmVudWVJZCA9ICQoJ2V4dHJhLWNhdGhlZHJhbCcpPy52YWx1ZSA9PT0gJ291dHNpZGUnID8gbnVsbCA6IHZlbnVlQnlUb3VyW2N1cnJlbnRUb3VyLnNsdWddOwogIGNvbnN0IHZpbGxhID0gJCgnZXh0cmEtdmlsbGEnKT8udmFsdWU7CiAgaWYgKGN1cnJlbnRUb3VyLnNsdWcgPT09ICdyYXZlbGxvJykgewogICAgdmVudWVJZCA9IHZpbGxhID09PSAnY2ltYnJvbmUnID8gJ2NpbWJyb25lJyA6IHZpbGxhID8gJ3JhdmVsbG8nIDogbnVsbDsKICB9CiAgY29uc3QgY2FzZXJ0YVRpY2tldCA9IGN1cnJlbnRUb3VyLnNsdWcgPT09ICdyb3lhbC1jYXNlcnRhJyA\/ICQoJ2V4dHJhLXRpY2tldHMnKS52YWx1ZSA6IG51bGw7CiAgY29uc3QgY2FzZXJ0YUdhcmRlbnMgPSBbJ2NvbXBsZXRlJywgJ2dhcmRlbnMnXS5pbmNsdWRlcyhjYXNlcnRhVGlja2V0KTsKICBjb25zdCB2ZW51ZSA9IGNhc2VydGFHYXJkZW5zID8geyAuLi52ZW51ZXNbdmVudWVJZF0sIG5hbWU6ICdFbmdsaXNoIEdhcmRlbiBhdCBDYXNlcnRhJywKICAgIG5vdGU6ICdUaGlzIHdpbmRvdyBpcyBmb3IgdGhlIGdhcmRlbi4gVGhlIHBhbGFjZSBmb2xsb3dzIGl0cyBvd24gb3BlbmluZyBob3Vycy4nIH0gOiB2ZW51ZXNbdmVudWVJZF07CiAgJCgndGltZS1sYWJlbCcpLnRleHRDb250ZW50ID0gdmVudWUgPyAnUHJlZmVycmVkIHNpdGUgZW50cnknIDogJ1ByZWZlcnJlZCBzdGFydCB0aW1lJzsKICBjb25zdCBkYXRlRmllbGQgPSAkKCdkYXRlJyk7CiAgY29uc3QgdGltZUZpZWxkID0gJCgndGltZScpOwogIGNvbnN0IGRhdGUgPSBkYXRlRmllbGQudmFsdWU7CiAgY29uc3QgdGltZSA9IHRpbWVGaWVsZC52YWx1ZTsKICBjb25zdCBub3cgPSByb21lRGF0ZUFuZFRpbWUoKTsKICBsZXQgc2NoZWR1bGUgPSBkYXRlICYmIHZlbnVlID8gZW50cnlXaW5kb3codmVudWVJZCwgZGF0ZSkgOiBudWxsOwogIGlmIChzY2hlZHVsZSAmJiAhc2NoZWR1bGUuY2xvc2VkICYmIGNhc2VydGFUaWNrZXQpIHsKICAgIGlmIChjYXNlcnRhVGlja2V0ID09PSAnZXZlbmluZycpIHNjaGVkdWxlID0geyAuLi5zY2hlZHVsZSwgZmlyc3Q6ICcxNzowMCcgfTsKICAgIGlmIChjYXNlcnRhR2FyZGVucykgewogICAgICBzY2hlZHVsZSA9IGRhdGUuc3RhcnRzV2l0aCgnMjAyNi0xMScpID8geyBmaXJzdDogJzA4OjMwJywgbGFzdDogJzE0OjAwJywgY2xvc2VzOiAnMTU6MDAnIH0gOgogICAgICAgIHsgcmV2aWV3OiAnR2FyZGVuIGhvdXJzIGNoYW5nZSBieSBzZWFzb24uIFlvdXIgcHJlZmVycmVkIHRpbWUgYW5kIHRoZSBjb21wbGV0ZSByb3V0ZSBtdXN0IGJlIGNvbmZpcm1lZCBmb3IgdGhpcyBkYXRlLicgfTsKICAgIH0KICB9CiAgY29uc3Qgbm9ybWFsSG91cnMgPSBzY2hlZHVsZT8uZmlyc3Q7CiAgY29uc3QgbGluayA9IHZlbnVlID8gJzxhIGhyZWY9IicgKyB2ZW51ZS51cmwgKyAnIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciBub3JlZmVycmVyIj5PZmZpY2lhbCB2ZW51ZSBob3VycyDihpc8L2E+JyA6ICcnOwogIGxldCBkZXNjcmlwdGlvbiA9IHZlbnVlID8gJ0Nob29zZSBhIGRhdGUgdG8gc2VlIHRoZSBlbnRyeSB3aW5kb3cgZm9yICcgKyB2ZW51ZS5uYW1lICsgJy4nIDoKICAgICdSZXF1ZXN0IGFueSBkYXRlIGFuZCBwcmVmZXJyZWQgc3RhcnQgdGltZSAoSXRhbHkgdGltZSkuJzsKICBsZXQgZGF0ZUVycm9yID0gJyc7CiAgbGV0IHRpbWVFcnJvciA9ICcnOwogIGNvbnN0IGFkZGl0aW9uYWxWaXNpdHMgPSBbXTsKICBpZiAoY2FzZXJ0YVRpY2tldCkgewogICAgYWRkaXRpb25hbFZpc2l0cy5wdXNoKHsgdGV4dDogY2FzZXJ0YVRpY2tldCA9PT0gJ3BhbGFjZScgPwogICAgICAnUGFsYWNlLW9ubHkgYWRtaXNzaW9uIGlzIHJlc3RyaWN0ZWQgdG8gcGVyaW9kcyB3aGVuIHRoZSBwYXJrIG9yIEVuZ2xpc2ggR2FyZGVuIGlzIGNsb3NlZC4gRWxpZ2liaWxpdHkgaXMgY29uZmlybWVkIGZvciB5b3VyIGRhdGUuJyA6CiAgICAgIGNhc2VydGFUaWNrZXQgPT09ICdvd24nID8gJ1lvdXIgb3duIHRpY2tldCBtdXN0IGNvdmVyIHRoZSBhcmVhcyB5b3Ugd2lzaCB0byB2aXNpdC4gVGVsbCBBQ1dMIGlmIHlvdSBwbGFuIHRvIGluY2x1ZGUgdGhlIGdhcmRlbnMuJyA6CiAgICAgICdHYXJkZW4gYWNjZXNzIGZvbGxvd3MgYSBzZXBhcmF0ZSBzZWFzb25hbCBzY2hlZHVsZSBhbmQgY2FuIGNsb3NlIGJlZm9yZSB0aGUgcGFsYWNlLiBZb3VyIHNlbGVjdGVkIHZpc2l0IG11c3QgZml0IHRob3NlIGhvdXJzLicsCiAgICAgIHVybDogdmVudWVzLmNhc2VydGEudXJsLCBsYWJlbDogJ1BhbGFjZSBhbmQgZ2FyZGVuIG9wZW5pbmcgaG91cnMnIH0pOwogIH0KICBmb3IgKGNvbnN0IHZpbGxhS2V5IG9mIFsncnVmb2xvJywgJ2NpbWJyb25lJ10pIHsKICAgIGlmICgkKCdleHRyYS0nICsgdmlsbGFLZXkgKyAnLXRpY2tldCcpPy52YWx1ZSA9PT0gJ2luY2x1ZGUnKSB7CiAgICAgIGFkZGl0aW9uYWxWaXNpdHMucHVzaCh7IHRleHQ6IHZpc2l0VGlja2V0c1t2aWxsYUtleV0ubmFtZSArICcgdGltaW5nIG5lZWRzIGNvbmZpcm1hdGlvbiBmb3IgeW91ciBpdGluZXJhcnkuJywKICAgICAgICB1cmw6IHZpc2l0VGlja2V0c1t2aWxsYUtleV0uc291cmNlLCBsYWJlbDogJ1ZpbGxhIHZpc2l0b3IgaW5mb3JtYXRpb24nIH0pOwogICAgfQogIH0KICBpZiAoJCgnZXh0cmEtZ3JvdHRvJykgJiYgJCgnZXh0cmEtZ3JvdHRvJykudmFsdWUgIT09ICdza2lwJykgewogICAgYWRkaXRpb25hbFZpc2l0cy5wdXNoKHsgdGV4dDogJ0VtZXJhbGQgR3JvdHRvIGFjY2VzcyBkZXBlbmRzIG9uIG9wZW5pbmcgaG91cnMgYW5kIHNlYSBjb25kaXRpb25zLiBUaGUgc3RvcCBtdXN0IGZpdCB0aGUgcm91dGUuJywKICAgICAgdXJsOiB2aXNpdFRpY2tldHMuZW1lcmFsZEdyb3R0by5zb3VyY2UsIGxhYmVsOiAnR3JvdHRvIHZpc2l0b3IgaW5mb3JtYXRpb24nIH0pOwogIH0KICBpZiAodmlsbGEgPT09ICdib3RoJykgewogICAgYWRkaXRpb25hbFZpc2l0cy5wdXNoKHsgdGV4dDogJ1ZpbGxhIENpbWJyb25lIGlzIHRoZSBzZWNvbmQgdmlzaXQuIFRpbWluZyBmb3IgYm90aCB2aWxsYXMgbmVlZHMgY29uZmlybWF0aW9uLicsCiAgICAgIHVybDogdmVudWVzLmNpbWJyb25lLnVybCwgbGFiZWw6ICdWaWxsYSBDaW1icm9uZSBob3VycycgfSk7CiAgfQogIGlmICgkKCdleHRyYS1wYXBlci1tdXNldW0nKT8udmFsdWUgPT09ICdpbmNsdWRlJykgewogICAgYWRkaXRpb25hbFZpc2l0cy5wdXNoKHsgdGV4dDogJ1RoZSBQYXBlciBNdXNldW0gc3RvcCBuZWVkcyB0byBiZSBzY2hlZHVsZWQgd2l0aGluIG11c2V1bSBob3Vycy4nLAogICAgICB1cmw6IHZpc2l0VGlja2V0cy5wYXBlck11c2V1bS5ob3VycywgbGFiZWw6ICdQYXBlciBNdXNldW0gaG91cnMnIH0pOwogIH0KCiAgdGltZUZpZWxkLmRpc2FibGVkID0gQm9vbGVhbihzY2hlZHVsZT8uY2xvc2VkKTsKICB0aW1lRmllbGQucmVtb3ZlQXR0cmlidXRlKCdtaW4nKTsKICB0aW1lRmllbGQucmVtb3ZlQXR0cmlidXRlKCdtYXgnKTsKICBpZiAoc2NoZWR1bGU\/LmNsb3NlZCkgewogICAgZGF0ZUVycm9yID0gdmVudWUubmFtZSArICcgwrcgJyArIHNjaGVkdWxlLmNsb3NlZCArICcgQ2hvb3NlIGEgZGlmZmVyZW50IGRhdGUuJzsKICB9IGVsc2UgaWYgKHNjaGVkdWxlPy5yZXZpZXcpIHsKICAgIGRlc2NyaXB0aW9uID0gc2NoZWR1bGUucmV2aWV3OwogIH0gZWxzZSBpZiAobm9ybWFsSG91cnMpIHsKICAgIGNvbnN0IGxhdGVzdCA9IGxhdGVzdFNpdGVFbnRyeShjdXJyZW50VG91ci5zbHVnLCBzY2hlZHVsZSk7CiAgICB0aW1lRmllbGQubWluID0gc2NoZWR1bGUuZmlyc3Q7CiAgICB0aW1lRmllbGQubWF4ID0gbGF0ZXN0OwogICAgZGVzY3JpcHRpb24gPSB2ZW51ZS5uYW1lICsgJyDCtyBlbnRyeSAnICsgc2NoZWR1bGUuZmlyc3QgKyAn4oCTJyArIHNjaGVkdWxlLmxhc3QgKwogICAgICAoc2NoZWR1bGUuY2xvc2VzID8gJyDCtyBjbG9zZXMgYXQgJyArIHNjaGVkdWxlLmNsb3NlcyA6ICcnKSArICcgKEl0YWx5IHRpbWUpLicgKwogICAgICAobGF0ZXN0ICE9PSBzY2hlZHVsZS5sYXN0ID8gJyBGb3IgdGhlIHR3by1ob3VyIHdhbGssIHN0YXJ0IGJ5ICcgKyBsYXRlc3QgKyAnLicgOiAnJyk7CiAgICBpZiAodGltZSAmJiAodGltZSA8IHNjaGVkdWxlLmZpcnN0IHx8IHRpbWUgPiBsYXRlc3QpKSB7CiAgICAgIHRpbWVFcnJvciA9ICdDaG9vc2UgYSBzaXRlIGVudHJ5IHRpbWUgYmV0d2VlbiAnICsgc2NoZWR1bGUuZmlyc3QgKyAnIGFuZCAnICsgbGF0ZXN0ICsgJy4nOwogICAgfQogIH0KICBpZiAoZGF0ZSAmJiBkYXRlIDwgbm93LmRhdGUpIGRhdGVFcnJvciA9ICdDaG9vc2UgdG9kYXkgb3IgYSBmdXR1cmUgZGF0ZS4nOwogIGlmIChjYXNlcnRhVGlja2V0KSB7CiAgICBjb25zdCBlcnJvciA9IGNhc2VydGFBZG1pc3Npb25FcnJvcihjYXNlcnRhVGlja2V0LCBkYXRlLCB0aW1lKTsKICAgIGlmIChlcnJvciAmJiBpc0Nhc2VydGFGcmVlU3VuZGF5KGRhdGUpKSBkYXRlRXJyb3IgPSBlcnJvcjsKICAgIGVsc2UgaWYgKGVycm9yKSB0aW1lRXJyb3IgPSBlcnJvcjsKICB9CiAgaWYgKCF0aW1lRXJyb3IgJiYgZGF0ZSA9PT0gbm93LmRhdGUgJiYgdGltZSAmJiB0aW1lIDwgbm93LnRpbWUpIHRpbWVFcnJvciA9ICdDaG9vc2UgYSB0aW1lIHRoYXQgaGFzIG5vdCBwYXNzZWQgaW4gSXRhbHkuJzsKCiAgZGF0ZUZpZWxkLnNldEN1c3RvbVZhbGlkaXR5KGRhdGVFcnJvcik7CiAgdGltZUZpZWxkLnNldEN1c3RvbVZhbGlkaXR5KHRpbWVFcnJvcik7CiAgY29uc3QgZXJyb3IgPSBkYXRlRXJyb3IgfHwgdGltZUVycm9yOwogICQoJ3NjaGVkdWxlLW5vdGUnKS5pbm5lckhUTUwgPSAnPHAgY2xhc3M9InNtYWxsIicgKyAoZXJyb3IgPyAnIGRhdGEtd2FybmluZycgOiAnJykgKyAnPicgKwogICAgZXNjKGVycm9yIHx8IGRlc2NyaXB0aW9uKSArICc8L3A+JyArICh2ZW51ZSAmJiAhZGF0ZUVycm9yID8gJzxwIGNsYXNzPSJzbWFsbCI+JyArIGVzYyh2ZW51ZS5ub3RlKSArICc8L3A+JyA6ICcnKSArIGxpbmsgKwogICAgYWRkaXRpb25hbFZpc2l0cy5tYXAodmlzaXQgPT4gJzxwIGNsYXNzPSJzbWFsbCI+JyArIGVzYyh2aXNpdC50ZXh0KSArICcgPGEgaHJlZj0iJyArIGVzYyh2aXNpdC51cmwpICsKICAgICAgJyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciI+JyArIGVzYyh2aXNpdC5sYWJlbCkgKyAnIOKGlzwvYT48L3A+Jykuam9pbignJyk7Cn0KCmZ1bmN0aW9uIGNhbGN1bGF0ZVRyYW5zZmVyKHBpY2t1cCwgZGlyZWN0aW9uRmllbGQsIHdhaXRpbmdGaWVsZCwgdG91clNsdWcpIHsKICBjb25zdCBvbmVXYXkgPSB0cmFuc2ZlclByaWNlRm9yKHBpY2t1cCwgdG91clNsdWcpOwogIGNvbnN0IGFkZGVkID0gcGlja3VwICE9PSAnbWVldCcgJiYgcGlja3VwICE9PSAncGFja2FnZScgJiYgb25lV2F5ID4gMDsKICBkaXJlY3Rpb25GaWVsZC5kaXNhYmxlZCA9ICFhZGRlZDsKICB3YWl0aW5nRmllbGQuZGlzYWJsZWQgPSAhYWRkZWQ7CiAgY29uc3Qgcm91bmRUcmlwID0gYWRkZWQgJiYgZGlyZWN0aW9uRmllbGQudmFsdWUgPT09ICdyZXR1cm4nOwogIGNvbnN0IGZhcmUgPSBhZGRlZCA\/IG9uZVdheSAqIChyb3VuZFRyaXAgPyAyIDogMSkgOiAwOwogIGNvbnN0IGhvdXJzID0gYWRkZWQgPyB3YWl0aW5nRmllbGQudmFsdWVBc051bWJlciA6IDA7CiAgY29uc3Qgd2FpdGluZyA9IE1hdGgucm91bmQoaG91cnMgKiB0cmFuc2ZlclRhcmlmZi53YWl0aW5nUGVySG91cik7CiAgY29uc3QgdG90YWwgPSBmYXJlICsgd2FpdGluZzsKICBjb25zdCB2YWxpZCA9IHdhaXRpbmdGaWVsZC52YWxpZGl0eS52YWxpZCAmJiBOdW1iZXIuaXNTYWZlSW50ZWdlcih0b3RhbCk7CiAgcmV0dXJuIHsgYWRkZWQsIHJvdW5kVHJpcCwgb25lV2F5LCBmYXJlLCBob3Vycywgd2FpdGluZywgdG90YWwsIHZhbGlkIH07Cn0KCmZ1bmN0aW9uIHNlbGVjdGVkVHJhbnNmZXIoKSB7CiAgY29uc3QgZGlyZWN0aW9uID0gJCgndHJhbnNmZXItZGlyZWN0aW9uJyk7CiAgY29uc3QgcGlja3VwID0gY3VycmVudFRvdXIuc2x1ZyA9PT0gJ2NvYXN0LWJ5LWJvYXQnID8gJCgnZXh0cmEtdHJhbnNmZXItcGlja3VwJykudmFsdWUgOgogICAgaXNQb21wZWlpRnVsbERheVRvdXIoY3VycmVudFRvdXIuc2x1ZykgfHwgaXNDb2FzdEZ1bGxEYXlUb3VyKGN1cnJlbnRUb3VyLnNsdWcpIHx8CiAgICBjdXJyZW50VG91ci5zbHVnID09PSAnb2xkLXZpbmVzJyA\/ICdwYWNrYWdlJyA6ICQoJ2V4dHJhLXBpY2t1cCcpLnZhbHVlOwogIGNvbnN0IHRyYW5zZmVyID0gY2FsY3VsYXRlVHJhbnNmZXIocGlja3VwLCBkaXJlY3Rpb24sICQoJ3RyYW5zZmVyLXdhaXQtaG91cnMnKSwgY3VycmVudFRvdXIuc2x1Zyk7CiAgZGlyZWN0aW9uLm9wdGlvbnNbMF0udGV4dENvbnRlbnQgPSAnT25lIHdheSDCtyAnICsgbW9uZXkodHJhbnNmZXIub25lV2F5KTsKICBkaXJlY3Rpb24ub3B0aW9uc1sxXS50ZXh0Q29udGVudCA9ICdSb3VuZCB0cmlwIG9uIHJlcXVlc3QgwrcgJyArIG1vbmV5KDIgKiB0cmFuc2Zlci5vbmVXYXkpOwogICQoJ3RyYW5zZmVyLXdhaXQtZmllbGQnKS5oaWRkZW4gPSAhdHJhbnNmZXIuYWRkZWQ7CiAgcmV0dXJuIHRyYW5zZmVyOwp9CgpmdW5jdGlvbiB0cmFuc2ZlckJyZWFrZG93bih0cmFuc2ZlcikgewogIGlmICghdHJhbnNmZXIuYWRkZWQpIHJldHVybiAnJzsKICByZXR1cm4gJzxwPicgKyAodHJhbnNmZXIucm91bmRUcmlwID8gJ1JvdW5kLXRyaXAgdHJhbnNmZXIgb24gcmVxdWVzdCDCtyAnIDogJ09uZS13YXkgdHJhbnNmZXIgwrcgJykgKyBtb25leSh0cmFuc2Zlci5mYXJlKSArICc8L3A+JyArCiAgICAodHJhbnNmZXIud2FpdGluZyA\/ICc8cD5Ecml2ZXIgd2FpdGluZyDCtyAnICsgdHJhbnNmZXIuaG91cnMgKyAnIGggw5cgJyArIG1vbmV5KHRyYW5zZmVyVGFyaWZmLndhaXRpbmdQZXJIb3VyKSArCiAgICAgICcgwrcgJyArIG1vbmV5KHRyYW5zZmVyLndhaXRpbmcpICsgJzwvcD4nIDogJycpOwp9CgpmdW5jdGlvbiBwcml2YXRlR3VpZGVCcmVha2Rvd24oZ3Vlc3RzLCBsYWJlbCA9ICdQcml2YXRlIGd1aWRlJykgewogIGNvbnN0IHByaWNlID0gcHJpdmF0ZUd1aWRlUmF0ZShndWVzdHMpOwogIHJldHVybiAnPHA+JyArIGxhYmVsICsgJyDCtyAnICsgKHByaWNlID8gJ2Zyb20gJyArIG1vbmV5KHByaWNlKSArICcgcGVyIGdyb3VwJyA6ICdxdW90ZWQgb24gcmVxdWVzdCcpICsgJzwvcD4nOwp9CgpmdW5jdGlvbiBjYWxjdWxhdGVRdW90ZShvcHRpb24sIGN1c3RvbWl6ZWQsIGV4dHJhcykgewogIGNhbGN1bGF0ZUJhc2VRdW90ZShvcHRpb24sIGN1c3RvbWl6ZWQsIGV4dHJhcyk7CiAgY29uc3QgZ3JvdHRvID0gJCgnZXh0cmEtZ3JvdHRvJyk\/LnZhbHVlOwogIGlmICghZ3JvdHRvIHx8IGdyb3R0byA9PT0gJ3NraXAnKSByZXR1cm47CiAgY29uc3QgYWdlcyA9IFsuLi4kKCdhZ2UtZmllbGRzJykucXVlcnlTZWxlY3RvckFsbCgnaW5wdXQnKV07CiAgaWYgKGFnZXMuc29tZShmaWVsZCA9PiAhZmllbGQudmFsaWRpdHkudmFsaWQpKSByZXR1cm47CiAgY29uc3QgYWR1bHRzID0gJCgncGF4LUFkdWx0JykudmFsdWVBc051bWJlcjsKICBjb25zdCBhZG1pc3Npb24gPSBncm90dG8gPT09ICdpbmNsdWRlJyA\/IGFkdWx0cyAqIHZpc2l0VGlja2V0UHJpY2UoJ2VtZXJhbGRHcm90dG8nKSA6IDA7CiAgY29uc3QgcXVvdGUgPSAkKCdxdW90ZScpOwogIGNvbnN0IGVzdGltYXRlID0gcXVvdGUucXVlcnlTZWxlY3RvcignW2RhdGEtYW1vdW50XScpOwogIGlmIChlc3RpbWF0ZSkgewogICAgY29uc3QgdG90YWwgPSBOdW1iZXIoZXN0aW1hdGUuZGF0YXNldC5hbW91bnQpICsgYWRtaXNzaW9uOwogICAgZXN0aW1hdGUuZGF0YXNldC5hbW91bnQgPSB0b3RhbDsKICAgIGVzdGltYXRlLnRleHRDb250ZW50ID0gKGVzdGltYXRlLmlkID09PSAncmF2ZWxsby1lc3RpbWF0ZScgPyAnRnJvbSAnIDogJycpICsgbW9uZXkodG90YWwpOwogIH0KICBxdW90ZS5pbnNlcnRBZGphY2VudEhUTUwoJ2JlZm9yZWVuZCcsIGdyb3R0byA9PT0gJ2luY2x1ZGUnID8KICAgICc8cD5FbWVyYWxkIEdyb3R0byBhZG1pc3Npb24gwrcgJyArIGFkdWx0cyArICcgw5cgJyArIG1vbmV5KHZpc2l0VGlja2V0UHJpY2UoJ2VtZXJhbGRHcm90dG8nKSkgKwogICAgICAnLiBJbmRpY2F0aXZlIHJhdGUsIGNvbmZpcm1lZCBiZWZvcmUgYm9va2luZy48L3A+JyA6ICc8cD5FbWVyYWxkIEdyb3R0byBhZG1pc3Npb24gaXMgYXJyYW5nZWQgc2VwYXJhdGVseS48L3A+Jyk7CiAgY29uc3QgZXh0cmFUcmFuc3BvcnQgPSBbJ2FtYWxmaS11bmNvdmVyZWQnLCAncmF2ZWxsbycsICdzb3JyZW50by1mYXJtJywgJ29sZC12aW5lcyddLmluY2x1ZGVzKGN1cnJlbnRUb3VyLnNsdWcpOwogIGlmIChlc3RpbWF0ZSAmJiAoZ3JvdHRvID09PSAnb3duJyB8fCBleHRyYVRyYW5zcG9ydCkpIHsKICAgIGVzdGltYXRlLmRhdGFzZXQubGFiZWwgPSAnU3VidG90YWwgZm9yIHByaWNlZCBpdGVtcyc7CiAgICBpZiAoZXN0aW1hdGUubmV4dEVsZW1lbnRTaWJsaW5nKSBlc3RpbWF0ZS5uZXh0RWxlbWVudFNpYmxpbmcudGV4dENvbnRlbnQgPSAnU3VidG90YWwgZm9yIHByaWNlZCBpdGVtcy4nOwogIH0KICBxdW90ZS5pbnNlcnRBZGphY2VudEhUTUwoJ2JlZm9yZWVuZCcsICc8cCBjbGFzcz0ic21hbGwiPicgKyAoZXh0cmFUcmFuc3BvcnQgPwogICAgJ0FuIGV4dGVuZGVkIHJvdXRlIGFuZCBhbnkgYWRkaXRpb25hbCB0cmFuc3BvcnQgYXJlIHF1b3RlZCBzZXBhcmF0ZWx5LiAnIDogJycpICsKICAgICdUaGUgZ3JvdHRvIHN0b3AgaXMgc3ViamVjdCB0byB0aGUgaXRpbmVyYXJ5LCBvcGVuaW5nIGhvdXJzIGFuZCBzZWEgY29uZGl0aW9ucy4gT3RoZXIgYWdlIHJhdGVzIGFyZSBjb25maXJtZWQgc2VwYXJhdGVseS48L3A+Jyk7Cn0KCmZ1bmN0aW9uIGNhbGN1bGF0ZUJhc2VRdW90ZShvcHRpb24sIGN1c3RvbWl6ZWQsIGV4dHJhcykgewogIGNvbnN0IHRyYW5zZmVyID0gc2VsZWN0ZWRUcmFuc2ZlcigpOwogIGlmICghdHJhbnNmZXIudmFsaWQpIHsKICAgICQoJ3F1b3RlJykudGV4dENvbnRlbnQgPSAnRW50ZXIgdmFsaWQgZHJpdmVyIHdhaXRpbmcgaG91cnMuJzsKICAgIHJldHVybjsKICB9CiAgaWYgKGN1cnJlbnRUb3VyLnNsdWcgPT09ICdjb2FzdC1ieS1ib2F0JykgewogICAgcmVuZGVyQm9hdFF1b3RlKHRyYW5zZmVyKTsKICAgIHJldHVybjsKICB9CiAgaWYgKGN1cnJlbnRUb3VyLnNsdWcgPT09ICdvbGQtdmluZXMnKSB7CiAgICByZW5kZXJBbmNpZW50VmluZXNRdW90ZSgpOwogICAgcmV0dXJuOwogIH0KICBpZiAoY3VycmVudFRvdXIuc2x1ZyA9PT0gJ3JveWFsLWNhc2VydGEnKSB7CiAgICByZW5kZXJDYXNlcnRhUXVvdGUodHJhbnNmZXIpOwogICAgcmV0dXJuOwogIH0KICBpZiAoY3VycmVudFRvdXIuc2x1ZyA9PT0gJ2FtYWxmaS11bmNvdmVyZWQnKSB7CiAgICByZW5kZXJBbWFsZmlRdW90ZSh0cmFuc2Zlcik7CiAgICByZXR1cm47CiAgfQogIGlmIChjdXJyZW50VG91ci5zbHVnID09PSAncmF2ZWxsbycpIHsKICAgIHJlbmRlclJhdmVsbG9RdW90ZSh0cmFuc2Zlcik7CiAgICByZXR1cm47CiAgfQogIGlmIChjdXJyZW50VG91ci5zbHVnID09PSAncG9tcGVpaS1hcmNoYWVvbG9neScpIHsKICAgIHJlbmRlclBvbXBlaWlRdW90ZSh0cmFuc2Zlcik7CiAgICByZXR1cm47CiAgfQogIGlmIChpc1BvbXBlaWlGdWxsRGF5VG91cihjdXJyZW50VG91ci5zbHVnKSkgewogICAgcmVuZGVyUG9tcGVpaURheVRyaXBRdW90ZSgpOwogICAgcmV0dXJuOwogIH0KICBpZiAoaXNDb2FzdEZ1bGxEYXlUb3VyKGN1cnJlbnRUb3VyLnNsdWcpKSB7CiAgICByZW5kZXJDb2FzdERheVRyaXBRdW90ZSgpOwogICAgcmV0dXJuOwogIH0KICBjb25zdCBzb3JyZW50byA9IHNvcnJlbnRvRHJhZnRzW2N1cnJlbnRUb3VyLnNsdWddOwogIGlmIChzb3JyZW50bykgewogICAgcmVuZGVyU29ycmVudG9RdW90ZShzb3JyZW50bywgdHJhbnNmZXIpOwogICAgcmV0dXJuOwogIH0KICBjb25zdCBwb21wZWlpVGlja2V0ID0gc2VsZWN0ZWRQb21wZWlpVGlja2V0KCk7CiAgY29uc3QgcHJpdmF0ZVBhY2thZ2UgPSBvcHRpb24udHlwZXMuaW5jbHVkZXMoJ1ByaXZhdGUnKTsKICBpZiAocG9tcGVpaVRpY2tldCB8fCBwcml2YXRlUGFja2FnZSkgewogICAgY29uc3QgYWdlcyA9IFsuLi4kKCdhZ2UtZmllbGRzJykucXVlcnlTZWxlY3RvckFsbCgnaW5wdXQnKV07CiAgICBjb25zdCBhZHVsdHMgPSAkKCdwYXgtQWR1bHQnKS52YWx1ZUFzTnVtYmVyOwogICAgY29uc3QgZ3Vlc3RzID0gYWdlcy5yZWR1Y2UoKHRvdGFsLCBmaWVsZCkgPT4gdG90YWwgKyBmaWVsZC52YWx1ZUFzTnVtYmVyLCAwKTsKICAgIGlmIChhZ2VzLnNvbWUoZmllbGQgPT4gIWZpZWxkLnZhbGlkaXR5LnZhbGlkKSkgewogICAgICAkKCdxdW90ZScpLnRleHRDb250ZW50ID0gJ0VudGVyIGEgdmFsaWQgbnVtYmVyIG9mIHRyYXZlbGxlcnMgZm9yIGVhY2ggYWdlIGJhbmQuJzsKICAgICAgcmV0dXJuOwogICAgfQogICAgJCgncXVvdGUnKS5pbm5lckhUTUwgPSAnPHN0cm9uZz5QYWNrYWdlIHByaWNlIHRvIGJlIGNvbmZpcm1lZDwvc3Ryb25nPicgKwogICAgICAocHJpdmF0ZVBhY2thZ2UgPyBwcml2YXRlR3VpZGVCcmVha2Rvd24oZ3Vlc3RzLCAnUHJpdmF0ZSBndWlkZSBpZiBpbmNsdWRlZCBvciByZXF1ZXN0ZWQnKSA6ICcnKSArCiAgICAgIChwb21wZWlpVGlja2V0ID8gdmlzaXRUaWNrZXRCcmVha2Rvd24oW3BvbXBlaWlUaWNrZXRdLCBhZHVsdHMsIGd1ZXN0cykgOiAnJykgKwogICAgICB0cmFuc2ZlckJyZWFrZG93bih0cmFuc2Zlcik7CiAgICByZXR1cm47CiAgfQogIGNvbnN0IHBlbmRpbmcgPSBjdXN0b21pemVkIHx8IGV4dHJhcy5zb21lKGZpZWxkID0+IGZpZWxkLnZhbHVlID09PSAnY29uZmlybScpOwogIGlmICghb3B0aW9uLnJhdGVzLmxlbmd0aCB8fCBwZW5kaW5nKSB7CiAgICAkKCdxdW90ZScpLmlubmVySFRNTCA9ICc8c3Ryb25nPlByaWNlIHRvIGJlIGNvbmZpcm1lZDwvc3Ryb25nPjxwIGNsYXNzPSJzbWFsbCI+JyArCiAgICAgIChwZW5kaW5nID8gJ1RoZSBzZWxlY3RlZCBjb21iaW5hdGlvbiBuZWVkcyBhIHNlcGFyYXRlIHF1b3RlLicgOiAnQSByZWZlcmVuY2UgcmF0ZSBpcyBzdGlsbCBwZW5kaW5nLicpICsgJzwvcD4nICsKICAgICAgdHJhbnNmZXJCcmVha2Rvd24odHJhbnNmZXIpOwogICAgcmV0dXJuOwogIH0KICBsZXQgdG90YWwgPSAwOwogIGNvbnN0IGxpbmVzID0gW107CiAgZm9yIChjb25zdCBmaWVsZCBvZiAkKCdhZ2UtZmllbGRzJykucXVlcnlTZWxlY3RvckFsbCgnaW5wdXQnKSkgewogICAgY29uc3QgY291bnQgPSBmaWVsZC52YWx1ZUFzTnVtYmVyOwogICAgaWYgKCFOdW1iZXIuaXNJbnRlZ2VyKGNvdW50KSB8fCAhZmllbGQudmFsaWRpdHkudmFsaWQpIHsKICAgICAgJCgncXVvdGUnKS50ZXh0Q29udGVudCA9ICdFbnRlciBhIHZhbGlkIG51bWJlciBvZiB0cmF2ZWxsZXJzIGZvciBlYWNoIGFnZSBiYW5kLic7CiAgICAgIHJldHVybjsKICAgIH0KICAgIGlmIChjb3VudCA9PT0gMCkgY29udGludWU7CiAgICBjb25zdCBjYW5kaWRhdGVzID0gb3B0aW9uLnJhdGVzLmZpbHRlcihyb3cgPT4gcm93LmFnZSA9PT0gZmllbGQuZGF0YXNldC5hZ2UgJiYgKHJvdy5taW4gPT09IG51bGwgfHwgY291bnQgPj0gcm93Lm1pbikgJiYgKHJvdy5tYXggPT09IG51bGwgfHwgY291bnQgPD0gcm93Lm1heCkpOwogICAgaWYgKGNhbmRpZGF0ZXMubGVuZ3RoICE9PSAxKSB7CiAgICAgICQoJ3F1b3RlJykudGV4dENvbnRlbnQgPSAnQUNXTCB3aWxsIGNvbmZpcm0gdGhlIHJhdGUgZm9yIHRoaXMgcGFydHkgc2l6ZS4nOwogICAgICByZXR1cm47CiAgICB9CiAgICBjb25zdCB1bml0ID0gZGlyZWN0KGNhbmRpZGF0ZXNbMF0ub3RhKTsKICAgIHRvdGFsICs9IGNvdW50ICogdW5pdDsKICAgIGxpbmVzLnB1c2goJzxwPicgKyBjb3VudCArICcgw5cgJyArIGZpZWxkLmRhdGFzZXQuYWdlICsgJyDCtyAnICsgbW9uZXkodW5pdCkgKyAnPC9wPicpOwogIH0KICAkKCdxdW90ZScpLmlubmVySFRNTCA9IGxpbmVzLmpvaW4oJycpICsgJzxzdHJvbmc+JyArIG1vbmV5KHRvdGFsKSArICc8L3N0cm9uZz48cCBjbGFzcz0ic21hbGwiPkluZGljYXRpdmUgcmVmZXJlbmNlIHN1YnRvdGFsPC9wPic7Cn0KCmZ1bmN0aW9uIHJlbmRlclBvbXBlaWlRdW90ZSh0cmFuc2ZlcikgewogIGNvbnN0IHF1b3RlID0gJCgncXVvdGUnKTsKICBjb25zdCBhZHVsdHMgPSAkKCdwYXgtQWR1bHQnKTsKICBjb25zdCBjaGlsZHJlbiA9ICQoJ3BheC1DaGlsZCcpOwogIGFkdWx0cy5zZXRDdXN0b21WYWxpZGl0eSgnJyk7CiAgaWYgKCFhZHVsdHMudmFsaWRpdHkudmFsaWQgfHwgIWNoaWxkcmVuLnZhbGlkaXR5LnZhbGlkKSB7CiAgICBxdW90ZS50ZXh0Q29udGVudCA9ICdFbnRlciBhIHZhbGlkIG51bWJlciBvZiB0cmF2ZWxsZXJzIGZvciBlYWNoIGFnZSBiYW5kLic7CiAgICByZXR1cm47CiAgfQogIGNvbnN0IHRyYXZlbGxlcnMgPSBhZHVsdHMudmFsdWVBc051bWJlciArIGNoaWxkcmVuLnZhbHVlQXNOdW1iZXI7CiAgY29uc3Qgc2hhcmVkID0gJCgnZXh0cmEtZm9ybWF0JykudmFsdWUgPT09ICdzaGFyZWQnOwogIGNvbnN0IHsgY2FwYWNpdHksIGFkdWx0V2l0aEFkbWlzc2lvbiB9ID0gcG9tcGVpaURyYWZ0LnNoYXJlZDsKICBpZiAoc2hhcmVkICYmIHRyYXZlbGxlcnMgPiBjYXBhY2l0eSkgewogICAgY29uc3QgbWVzc2FnZSA9ICdVcCB0byAnICsgY2FwYWNpdHkgKyAnIHRyYXZlbGxlcnMgcGVyIHNoYXJlZCBkZXBhcnR1cmUsIGluY2x1ZGluZyBjaGlsZHJlbi4nOwogICAgYWR1bHRzLnNldEN1c3RvbVZhbGlkaXR5KG1lc3NhZ2UpOwogICAgcXVvdGUudGV4dENvbnRlbnQgPSBtZXNzYWdlOwogICAgcmV0dXJuOwogIH0KICBjb25zdCB0aWNrZXQgPSBzZWxlY3RlZFBvbXBlaWlUaWNrZXQoKTsKICBjb25zdCBzZWF0UHJpY2UgPSBwb21wZWlpU2hhcmVkR3VpZGVQcmljZSh0aWNrZXQgfHwgdW5kZWZpbmVkKTsKICBjb25zdCBndWlkZSA9IHNoYXJlZCA\/IHRyYXZlbGxlcnMgKiBzZWF0UHJpY2UgOiBwcml2YXRlR3VpZGVSYXRlKHRyYXZlbGxlcnMpOwogIGNvbnN0IHRpY2tldEluY2x1ZGVkID0gQm9vbGVhbih0aWNrZXQpOwogIGNvbnN0IGxhYmVsID0gdGlja2V0SW5jbHVkZWQgJiYgY2hpbGRyZW4udmFsdWVBc051bWJlciA+IDAgPwogICAgJ1N1YnRvdGFsIGZvciBwcmljZWQgaXRlbXMnIDogc2hhcmVkID8gJ1Byb3Bvc2VkIHRvdGFsJyA6ICdFc3RpbWF0ZWQgc3RhcnRpbmcgdG90YWwnOwogIGNvbnN0IHRvdGFsID0gKGd1aWRlIHx8IDApICsgdHJhbnNmZXIudG90YWwgKyAodGlja2V0SW5jbHVkZWQgPyBhZHVsdHMudmFsdWVBc051bWJlciAqIHZpc2l0VGlja2V0UHJpY2UodGlja2V0KSA6IDApOwogIHF1b3RlLmlubmVySFRNTCA9IChzaGFyZWQgPyAnPHA+U2hhcmVkIGd1aWRlIMK3ICcgKyB0cmF2ZWxsZXJzICsgJyDDlyAnICsgbW9uZXkoc2VhdFByaWNlKSArICc8L3A+JyA6CiAgICBwcml2YXRlR3VpZGVCcmVha2Rvd24odHJhdmVsbGVycykpICsKICAgIChzaGFyZWQgJiYgdGlja2V0SW5jbHVkZWQgPyAnPHA+PHN0cm9uZz4nICsgbW9uZXkoYWR1bHRXaXRoQWRtaXNzaW9uKSArCiAgICAgICcgcGVyIGFkdWx0PC9zdHJvbmc+IMK3IHNoYXJlZCBndWlkZSBhbmQgYWRtaXNzaW9uPC9wPicgOiAnJykgKwogICAgKHRpY2tldEluY2x1ZGVkID8gdmlzaXRUaWNrZXRCcmVha2Rvd24oW3RpY2tldF0sIGFkdWx0cy52YWx1ZUFzTnVtYmVyLCB0cmF2ZWxsZXJzKSA6ICcnKSArCiAgICAodGlja2V0ID09PSAncG9tcGVpaVBsdXMnID8KICAgICAgJzxwIGNsYXNzPSJzbWFsbCI+VGhlIGd1aWRlZCB3YWxrIGNvdmVycyB0aGUgYW5jaWVudCBjaXR5LiBUaGUgUGx1cyB0aWNrZXQgYWxzbyBnaXZlcyBhY2Nlc3MgdG8gdGhlIHN1YnVyYmFuIHZpbGxhcy48L3A+JyA6ICcnKSArCiAgICAodGlja2V0ID09PSAncG9tcGVpaVVuaWZpZWQnID8KICAgICAgJzxwIGNsYXNzPSJzbWFsbCI+Rm9yIHZpc2l0cyBmcm9tIDEgSmFudWFyeSAyMDI3LiBUaGUgdGlja2V0IGNvdmVycyBvbmUgYWRtaXNzaW9uIHBlciBwYXJrIHNpdGUgb3ZlciAzMCBkYXlzLiBUaGUgZ3VpZGVkIHdhbGsgdGFrZXMgcGxhY2UgaW4gYW5jaWVudCBQb21wZWlpLjwvcD4nIDogJycpICsKICAgIHRyYW5zZmVyQnJlYWtkb3duKHRyYW5zZmVyKSArCiAgICAoZ3VpZGUgPyAnPHN0cm9uZyBpZD0icG9tcGVpaS1lc3RpbWF0ZSIgZGF0YS1hbW91bnQ9IicgKyB0b3RhbCArICciIGRhdGEtbGFiZWw9IicgKyBsYWJlbCArICciPicgKyBtb25leSh0b3RhbCkgKwogICAgICAnPC9zdHJvbmc+PHAgY2xhc3M9InNtYWxsIj4nICsgbGFiZWwgKyAnPC9wPicgOiAnJyk7Cn0KCmZ1bmN0aW9uIHJlbmRlclBvbXBlaWlEYXlUcmlwUXVvdGUoKSB7CiAgY29uc3QgcXVvdGUgPSAkKCdxdW90ZScpOwogIGNvbnN0IGFkdWx0cyA9ICQoJ3BheC1BZHVsdCcpOwogIGNvbnN0IGNoaWxkcmVuID0gJCgncGF4LUNoaWxkJyk7CiAgY29uc3QgeyBjYXBhY2l0eSwgdHJhbnNmZXIsIHByaXZhdGVCYXNlR3Vlc3RzLCBleHRyYVByaXZhdGVHdWVzdCB9ID0gcG9tcGVpaURheVRyaXA7CiAgY29uc3Qgd2luZVRvdXIgPSBjdXJyZW50VG91ci5zbHVnID09PSAncG9tcGVpaS13aW5lJzsKICBjb25zdCBndWlkZSA9IHdpbmVUb3VyID8gcG9tcGVpaVdpbmVHdWlkZSA6IHBvbXBlaWlEYXlUcmlwLmd1aWRlOwogIGNvbnN0IHByaXZhdGVCYXNlID0gd2luZVRvdXIgPyBwb21wZWlpV2luZVByaXZhdGVCYXNlIDogcG9tcGVpaURheVRyaXAucHJpdmF0ZUJhc2U7CiAgY29uc3QgdGFzdGluZ0Nob2ljZSA9ICQoJ2V4dHJhLXRhc3RpbmcnKT8udmFsdWU7CiAgY29uc3QgdGFzdGluZyA9IHBvbXBlaWlXaW5lVGFzdGluZ3NbdGFzdGluZ0Nob2ljZV0gfHwgMDsKICBjb25zdCBzaGFyZWRQcmljZSA9ICh3aW5lVG91ciA\/IHBvbXBlaWlXaW5lU2hhcmVkQmFzZSA6IHBvbXBlaWlEYXlUcmlwLnNoYXJlZFByaWNlKSArIHRhc3Rpbmc7CiAgYWR1bHRzLnNldEN1c3RvbVZhbGlkaXR5KCcnKTsKICBpZiAoIWFkdWx0cy52YWxpZGl0eS52YWxpZCB8fCAhY2hpbGRyZW4udmFsaWRpdHkudmFsaWQpIHsKICAgIHF1b3RlLnRleHRDb250ZW50ID0gJ0VudGVyIGEgdmFsaWQgbnVtYmVyIG9mIHRyYXZlbGxlcnMuJzsKICAgIHJldHVybjsKICB9CiAgY29uc3QgY291bnQgPSBhZHVsdHMudmFsdWVBc051bWJlcjsKICBjb25zdCBndWVzdHMgPSBjb3VudCArIGNoaWxkcmVuLnZhbHVlQXNOdW1iZXI7CiAgaWYgKGd1ZXN0cyA+IGNhcGFjaXR5KSB7CiAgICBjb25zdCBtZXNzYWdlID0gJ1VwIHRvICcgKyBjYXBhY2l0eSArICcgdHJhdmVsbGVycywgaW5jbHVkaW5nIGNoaWxkcmVuLic7CiAgICBhZHVsdHMuc2V0Q3VzdG9tVmFsaWRpdHkobWVzc2FnZSk7CiAgICBxdW90ZS50ZXh0Q29udGVudCA9IG1lc3NhZ2U7CiAgICByZXR1cm47CiAgfQogIGNvbnN0IHNoYXJlZCA9ICQoJ2V4dHJhLWZvcm1hdCcpLnZhbHVlID09PSAnc2hhcmVkJzsKICBjb25zdCB0aWNrZXQgPSBzZWxlY3RlZFBvbXBlaWlUaWNrZXQoKTsKICBjb25zdCBzdXBwbGVtZW50ID0gTWF0aC5tYXgoMCwgZ3Vlc3RzIC0gcHJpdmF0ZUJhc2VHdWVzdHMpICogZXh0cmFQcml2YXRlR3Vlc3Q7CiAgY29uc3QgdG90YWwgPSBzaGFyZWQgPyBjb3VudCAqIHNoYXJlZFByaWNlIDogcHJpdmF0ZUJhc2UgKyBzdXBwbGVtZW50ICsgY291bnQgKiAodGFzdGluZyArIHZpc2l0VGlja2V0UHJpY2UodGlja2V0KSk7CiAgY29uc3QgbGFiZWwgPSBjaGlsZHJlbi52YWx1ZUFzTnVtYmVyID8gJ1N1YnRvdGFsIGZvciBwcmljZWQgaXRlbXMnIDogc2hhcmVkID8gJ1NoYXJlZCBwYWNrYWdlIHRvdGFsJyA6ICdQcml2YXRlIHBhY2thZ2UgdG90YWwnOwogIGNvbnN0IHRhc3RpbmdMYWJlbCA9IHRhc3RpbmdDaG9pY2UgPT09ICdzdXBlcmlvcicgPyAnTHVuY2ggJiBTdXBlcmlvciB0YXN0aW5nIMK3IDcgd2luZXMnIDogJ0x1bmNoICYgQ2xhc3NpYyB0YXN0aW5nIMK3IDUgd2luZXMnOwogIHF1b3RlLmlubmVySFRNTCA9ICc8cD5GdWxsLWRheSByb3VuZC10cmlwIHRyYW5zcG9ydCwgZ3VpZGVkIHZpc2l0JyArICh0YXN0aW5nID8gJywgd2luZSB0YXN0aW5nJyA6ICcnKSArCiAgICAodGFzdGluZyA\/ICcsIGx1bmNoJyA6ICcnKSArICcgYW5kIGFkdWx0IGFkbWlzc2lvbiBpbmNsdWRlZC48L3A+JyArCiAgICAoc2hhcmVkID8gJzxwPicgKyBjb3VudCArICcgw5cgJyArIG1vbmV5KHNoYXJlZFByaWNlKSArICcgcGVyIGFkdWx0LiBUaGUgc2hhcmVkIGRlcGFydHVyZSBpcyBjb25maXJtZWQgd2hlbiBhbGwgJyArCiAgICAgIGNhcGFjaXR5ICsgJyBwbGFjZXMgYXJlIGJvb2tlZC48L3A+JyA6CiAgICAgICc8cD5GdWxsLWRheSByb3VuZC10cmlwIHRyYW5zZmVyIMK3ICcgKyBtb25leSh0cmFuc2ZlcikgKyAnIHBlciB2ZWhpY2xlPC9wPicgKwogICAgICAnPHA+RnVsbC1kYXkgZ3VpZGUgwrcgJyArIG1vbmV5KGd1aWRlKSArICc8L3A+JyArCiAgICAgIChzdXBwbGVtZW50ID8gJzxwPlByaXZhdGUgZ3JvdXAgc3VwcGxlbWVudCDCtyAnICsgbW9uZXkoc3VwcGxlbWVudCkgKyAnPC9wPicgOiAnJykgKwogICAgICAodGFzdGluZyA\/ICc8cD4nICsgdGFzdGluZ0xhYmVsICsgJyDCtyAnICsgY291bnQgKyAnIMOXICcgKyBtb25leSh0YXN0aW5nKSArICc8L3A+JyA6ICcnKSArCiAgICAgIHZpc2l0VGlja2V0QnJlYWtkb3duKFt0aWNrZXRdLCBjb3VudCwgZ3Vlc3RzKSkgKwogICAgKGNoaWxkcmVuLnZhbHVlQXNOdW1iZXIgPyAnPHAgY2xhc3M9InNtYWxsIj5DaGlsZCBhZG1pc3Npb24gYW5kIGEgbm9uLWFsY29ob2xpYyBvcHRpb24gYXJlIHF1b3RlZCBzZXBhcmF0ZWx5LjwvcD4nIDogJycpICsKICAgICc8c3Ryb25nIGlkPSJwb21wZWlpLWVzdGltYXRlIiBkYXRhLWFtb3VudD0iJyArIHRvdGFsICsgJyIgZGF0YS1sYWJlbD0iJyArIGxhYmVsICsgJyI+JyArIG1vbmV5KHRvdGFsKSArCiAgICAnPC9zdHJvbmc+PHAgY2xhc3M9InNtYWxsIj4nICsgbGFiZWwgKyAnLiBQaWNrdXAgdGltZSBpcyBhcnJhbmdlZCBzZXBhcmF0ZWx5LjwvcD4nOwp9CgpmdW5jdGlvbiByZW5kZXJDYXNlcnRhUXVvdGUodHJhbnNmZXIpIHsKICBjb25zdCBxdW90ZSA9ICQoJ3F1b3RlJyk7CiAgY29uc3QgYWR1bHRzID0gJCgncGF4LUFkdWx0Jyk7CiAgY29uc3QgY2hpbGRyZW4gPSAkKCdwYXgtQ2hpbGQnKTsKICBhZHVsdHMuc2V0Q3VzdG9tVmFsaWRpdHkoJycpOwogIGNvbnN0IGd1ZXN0cyA9IGFkdWx0cy52YWx1ZUFzTnVtYmVyICsgY2hpbGRyZW4udmFsdWVBc051bWJlcjsKICBpZiAoIWFkdWx0cy52YWxpZGl0eS52YWxpZCB8fCAhY2hpbGRyZW4udmFsaWRpdHkudmFsaWQgfHwgIU51bWJlci5pc1NhZmVJbnRlZ2VyKGd1ZXN0cykpIHsKICAgIHF1b3RlLnRleHRDb250ZW50ID0gJ0VudGVyIGEgdmFsaWQgbnVtYmVyIG9mIHRyYXZlbGxlcnMuJzsKICAgIHJldHVybjsKICB9CiAgaWYgKGd1ZXN0cyA+IGNhc2VydGFEcmFmdC5zaGFyZWRDYXBhY2l0eSkgewogICAgY29uc3QgbWVzc2FnZSA9ICdUaGlzIGRyYWZ0IHByaWNlcyB1cCB0byAxMCB0cmF2ZWxsZXJzLiBSZXF1ZXN0IGEgcXVvdGUgZm9yIGEgbGFyZ2VyIGdyb3VwLic7CiAgICBhZHVsdHMuc2V0Q3VzdG9tVmFsaWRpdHkobWVzc2FnZSk7CiAgICBxdW90ZS50ZXh0Q29udGVudCA9IG1lc3NhZ2U7CiAgICByZXR1cm47CiAgfQogIGNvbnN0IHRpY2tldCA9ICQoJ2V4dHJhLXRpY2tldHMnKS52YWx1ZTsKICBjb25zdCBlcnJvciA9IGNhc2VydGFBZG1pc3Npb25FcnJvcih0aWNrZXQsICQoJ2RhdGUnKS52YWx1ZSwgJCgndGltZScpLnZhbHVlKTsKICBpZiAoZXJyb3IpIHsKICAgIHF1b3RlLnRleHRDb250ZW50ID0gZXJyb3I7CiAgICByZXR1cm47CiAgfQogIGNvbnN0IHNoYXJlZCA9ICQoJ2V4dHJhLWZvcm1hdCcpLnZhbHVlID09PSAnc2hhcmVkJzsKICBjb25zdCB1bml0ID0gY2FzZXJ0YVNoYXJlZEd1aWRlUHJpY2UodGlja2V0ID09PSAnb3duJyA\/ICdjb21wbGV0ZScgOiB0aWNrZXQpOwogIGNvbnN0IGd1aWRlID0gc2hhcmVkID8gZ3Vlc3RzICogdW5pdCA6IHByaXZhdGVHdWlkZVJhdGUoZ3Vlc3RzKTsKICBjb25zdCBoZWFkc2V0Q291bnQgPSAhc2hhcmVkICYmIGd1ZXN0cyA+IDYgPyBndWVzdHMgOiAwOwogIGNvbnN0IGhlYWRzZXRzID0gaGVhZHNldENvdW50ICogY2FzZXJ0YURyYWZ0LmhlYWRzZXRzOwogIGNvbnN0IHNwZWNpYWxBZG1pc3Npb24gPSB0aWNrZXQgIT09ICdvd24nICYmIGlzQ2FzZXJ0YUZyZWVTdW5kYXkoJCgnZGF0ZScpLnZhbHVlKTsKICBjb25zdCBhZG1pc3Npb24gPSB0aWNrZXQgPT09ICdvd24nIHx8IHNwZWNpYWxBZG1pc3Npb24gPyAwIDogYWR1bHRzLnZhbHVlQXNOdW1iZXIgKiBjYXNlcnRhVGlja2V0UHJpY2UodGlja2V0KTsKICBjb25zdCB0b3RhbCA9IGd1aWRlICsgaGVhZHNldHMgKyBhZG1pc3Npb24gKyB0cmFuc2Zlci50b3RhbDsKICBjb25zdCBsYWJlbCA9IHNwZWNpYWxBZG1pc3Npb24gPyAnU3VidG90YWwgYmVmb3JlIHNwZWNpYWwtZGF0ZSBhZG1pc3Npb24gcmV2aWV3JyA6CiAgICBjaGlsZHJlbi52YWx1ZUFzTnVtYmVyID8gJ1N1YnRvdGFsIGJlZm9yZSBjaGlsZCBwcmljaW5nJyA6ICdQcm9wb3NlZCB0b3VyIHRvdGFsJzsKICBxdW90ZS5pbm5lckhUTUwgPSAoc2hhcmVkID8gJzxwPlNoYXJlZCBndWlkZWQgd2FsayDCtyAnICsgZ3Vlc3RzICsgJyDDlyAnICsgbW9uZXkodW5pdCkgKyAnPC9wPicgKwogICAgKHRpY2tldCAhPT0gJ293bicgJiYgIXNwZWNpYWxBZG1pc3Npb24gPyAnPHA+PHN0cm9uZz4nICsgbW9uZXkoY2FzZXJ0YURyYWZ0LmFkdWx0V2l0aEFkbWlzc2lvbikgKwogICAgICAnIHBlciBhZHVsdDwvc3Ryb25nPiDCtyBzaGFyZWQgZ3VpZGUgYW5kIHNlbGVjdGVkIGFkbWlzc2lvbjwvcD4nIDogJycpICsKICAgICc8cCBjbGFzcz0ic21hbGwiPk1heGltdW0gMTAgdHJhdmVsbGVycy4gQW55IHJlcXVpcmVkIGdyb3VwIGhlYWRzZXRzIGFyZSBpbmNsdWRlZCBpbiB0aGUgc2hhcmVkIHJhdGUuPC9wPicgOgogICAgJzxwPlByaXZhdGUgZ3VpZGUgwrcgJyArIG1vbmV5KGd1aWRlKSArICcgcGVyIGdyb3VwPC9wPicpICsKICAgIChoZWFkc2V0cyA\/ICc8cD5SZXF1aXJlZCBncm91cCBoZWFkc2V0cyDCtyAnICsgaGVhZHNldENvdW50ICsgJyDDlyAnICsgbW9uZXkoY2FzZXJ0YURyYWZ0LmhlYWRzZXRzKSArCiAgICAgICc8L3A+PHAgY2xhc3M9InNtYWxsIj5IZWFkc2V0cyBhcmUgcmVxdWlyZWQgYWJvdmUgNiB2aXNpdG9ycy48L3A+JyA6ICcnKSArCiAgICAodGlja2V0ID09PSAnb3duJyA\/ICc8cD5BZG1pc3Npb24gaXMgZXhjbHVkZWQuIEFycmFuZ2UgeW91ciBvd24gdGlja2V0IGZvciB0aGUgYXJlYXMgeW91IHdpc2ggdG8gdmlzaXQuPC9wPicgOgogICAgICBzcGVjaWFsQWRtaXNzaW9uID8gJzxwPkZyZWUtYWRtaXNzaW9uIFN1bmRheS4gQWRtaXNzaW9uIGFycmFuZ2VtZW50cyBhcmUgY29uZmlybWVkIHNlcGFyYXRlbHkuPC9wPicgOgogICAgICAnPHA+JyArIGVzYyhjYXNlcnRhRHJhZnQudGlja2V0c1t0aWNrZXRdLmxhYmVsKSArICcgwrcgJyArIGFkdWx0cy52YWx1ZUFzTnVtYmVyICsgJyDDlyAnICsgbW9uZXkoY2FzZXJ0YVRpY2tldFByaWNlKHRpY2tldCkpICsgJzwvcD4nKSArCiAgICB0cmFuc2ZlckJyZWFrZG93bih0cmFuc2ZlcikgKwogICAgJzxzdHJvbmcgaWQ9ImNhc2VydGEtZXN0aW1hdGUiIGRhdGEtYW1vdW50PSInICsgdG90YWwgKyAnIiBkYXRhLWxhYmVsPSInICsgbGFiZWwgKyAnIj4nICsgbW9uZXkodG90YWwpICsgJzwvc3Ryb25nPicgKwogICAgJzxwIGNsYXNzPSJzbWFsbCI+JyArIGxhYmVsICsgJy4gVHdvLWhvdXIgZ3VpZGVkIHdhbGsuIFRoZSByb3V0ZSBmb2xsb3dzIHlvdXIgY2hvc2VuIGFyZWFzIGFuZCB0aGVpciBvcGVuaW5nIGhvdXJzOyBvdGhlciBhcmVhcyBjb3ZlcmVkIGJ5IHRoZSB0aWNrZXQgY2FuIGJlIHZpc2l0ZWQgaW5kZXBlbmRlbnRseSB3aGlsZSBvcGVuLjwvcD4nICsKICAgIChjaGlsZHJlbi52YWx1ZUFzTnVtYmVyID8gJzxwIGNsYXNzPSJzbWFsbCI+Q2hpbGQgcmF0ZXMsIGNvbmNlc3Npb25zIGFuZCBhZG1pc3Npb24gZWxpZ2liaWxpdHkgYXJlIGNvbmZpcm1lZCBzZXBhcmF0ZWx5LjwvcD4nIDogJycpICsKICAgICh0aWNrZXQgIT09ICdvd24nICYmICFzcGVjaWFsQWRtaXNzaW9uID8gJzxwIGNsYXNzPSJzbWFsbCI+QWR1bHQgYWRtaXNzaW9uIGluY2x1ZGVzICcgKyBtb25leShjYXNlcnRhRHJhZnQub25saW5lRmVlKSArCiAgICAgICcgb25saW5lIHByZXNhbGUgYW5kICcgKyBtb25leShjYXNlcnRhRHJhZnQudGlja2V0U3VwcGxlbWVudCkgKyAnIEFDV0wgc3VwcGxlbWVudC4gQ2hlY2tlZCA2IE5vdmVtYmVyIDIwMjYuICcgKwogICAgICAnPGEgaHJlZj0iJyArIGNhc2VydGFEcmFmdC50aWNrZXRTb3VyY2UgKyAnIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciBub3JlZmVycmVyIj5PZmZpY2lhbCB0aWNrZXQgcmVmZXJlbmNlIOKGlzwvYT48L3A+JyA6ICcnKTsKfQoKZnVuY3Rpb24gcmVuZGVyQW5jaWVudFZpbmVzUXVvdGUoKSB7CiAgY29uc3QgcXVvdGUgPSAkKCdxdW90ZScpOwogIGNvbnN0IGFkdWx0cyA9ICQoJ3BheC1BZHVsdCcpOwogIGNvbnN0IGNoaWxkcmVuID0gJCgncGF4LUNoaWxkJyk7CiAgYWR1bHRzLnNldEN1c3RvbVZhbGlkaXR5KCcnKTsKICBjb25zdCBndWVzdHMgPSBhZHVsdHMudmFsdWVBc051bWJlciArIGNoaWxkcmVuLnZhbHVlQXNOdW1iZXI7CiAgaWYgKCFhZHVsdHMudmFsaWRpdHkudmFsaWQgfHwgIWNoaWxkcmVuLnZhbGlkaXR5LnZhbGlkIHx8ICFOdW1iZXIuaXNTYWZlSW50ZWdlcihndWVzdHMpKSB7CiAgICBxdW90ZS50ZXh0Q29udGVudCA9ICdFbnRlciBhIHZhbGlkIG51bWJlciBvZiB0cmF2ZWxsZXJzLic7CiAgICByZXR1cm47CiAgfQogIGlmIChndWVzdHMgPiBhbmNpZW50VmluZXNEcmFmdC5jYXBhY2l0eSkgewogICAgY29uc3QgbWVzc2FnZSA9ICdNYXhpbXVtIDggdHJhdmVsbGVycyBwZXIgZ3JvdXAsIGluY2x1ZGluZyBjaGlsZHJlbi4nOwogICAgYWR1bHRzLnNldEN1c3RvbVZhbGlkaXR5KG1lc3NhZ2UpOwogICAgcXVvdGUudGV4dENvbnRlbnQgPSBtZXNzYWdlOwogICAgcmV0dXJuOwogIH0KICBjb25zdCBzaGFyZWQgPSAkKCdleHRyYS1mb3JtYXQnKS52YWx1ZSA9PT0gJ3NoYXJlZCc7CiAgY29uc3Qgd2l0aFRyYW5zcG9ydCA9ICQoJ2V4dHJhLXRyYW5zcG9ydCcpLnZhbHVlID09PSAnZnVsbC1kYXknOwogIGNvbnN0IHRhc3RpbmcgPSBhZHVsdHMudmFsdWVBc051bWJlciAqIGFuY2llbnRWaW5lc0RyYWZ0LnRhc3Rpbmc7CiAgY29uc3QgdHJhbnNwb3J0ID0gd2l0aFRyYW5zcG9ydCA\/IChzaGFyZWQgPyBhZHVsdHMudmFsdWVBc051bWJlciAqIGFuY2llbnRWaW5lc1NoYXJlZFRyYW5zcG9ydCA6IGFuY2llbnRWaW5lc0RyYWZ0LmZ1bGxEYXlUcmFuc3BvcnQpIDogMDsKICBjb25zdCB0b3RhbCA9IHRhc3RpbmcgKyB0cmFuc3BvcnQ7CiAgaWYgKCFOdW1iZXIuaXNTYWZlSW50ZWdlcih0b3RhbCkpIHsKICAgIHF1b3RlLnRleHRDb250ZW50ID0gJ0NvbnRhY3QgQUNXTCB0byBwcmljZSB0aGlzIGdyb3VwLic7CiAgICByZXR1cm47CiAgfQogIGNvbnN0IGxhYmVsID0gY2hpbGRyZW4udmFsdWVBc051bWJlciA\/ICdTdWJ0b3RhbCBiZWZvcmUgY2hpbGQgcHJpY2luZycgOiAnUHJvcG9zZWQgZXhwZXJpZW5jZSB0b3RhbCc7CiAgcXVvdGUuaW5uZXJIVE1MID0gJzxwPldpbmUgdGFzdGluZyDCtyAnICsgYWR1bHRzLnZhbHVlQXNOdW1iZXIgKyAnIMOXICcgKyBtb25leShhbmNpZW50VmluZXNEcmFmdC50YXN0aW5nKSArICc8L3A+JyArCiAgICAod2l0aFRyYW5zcG9ydCA\/IChzaGFyZWQgPyAnPHA+U2hhcmVkIGZ1bGwtZGF5IHZlaGljbGUsIGRyaXZlciAmIHRvdXIgZXNjb3J0IMK3ICcgKyBhZHVsdHMudmFsdWVBc051bWJlciArICcgw5cgJyArCiAgICAgIG1vbmV5KGFuY2llbnRWaW5lc1NoYXJlZFRyYW5zcG9ydCkgKyAnPC9wPjxwIGNsYXNzPSJzbWFsbCI+VGhlICcgKyBtb25leShhbmNpZW50VmluZXNEcmFmdC5mdWxsRGF5VHJhbnNwb3J0KSArCiAgICAgICcgdmVoaWNsZSBjb3N0IGlzIHNwbGl0IGFjcm9zcyA4IGNvbmZpcm1lZCBmdWxsLWZhcmUgcGFydGljaXBhbnRzLiBEZXBhcnR1cmUgYW5kIHNoYXJlZCBwcmljZSBhcmUgY29uZmlybWVkIHdoZW4gdGhlIGdyb3VwIGlzIGNvbXBsZXRlLjwvcD4nIDoKICAgICAgJzxwPkV4Y2x1c2l2ZSBmdWxsLWRheSB2ZWhpY2xlLCBkcml2ZXIgJiB0b3VyIGVzY29ydCDCtyAnICsgbW9uZXkodHJhbnNwb3J0KSArICcgcGVyIHByaXZhdGUgZ3JvdXA8L3A+JykgOgogICAgICAnPHA+TWVldCBhdCB0aGUgd2luZXJ5LiBUcmFuc3BvcnQgaXMgbm90IHNlbGVjdGVkLjwvcD4nKSArCiAgICAnPHN0cm9uZyBpZD0idmluZXMtZXN0aW1hdGUiIGRhdGEtYW1vdW50PSInICsgdG90YWwgKyAnIiBkYXRhLWxhYmVsPSInICsgbGFiZWwgKyAnIj4nICsgbW9uZXkodG90YWwpICsgJzwvc3Ryb25nPicgKwogICAgJzxwIGNsYXNzPSJzbWFsbCI+JyArIGxhYmVsICsgJy4gV2luZXJ5LCB0YXN0aW5nIGRldGFpbHMgYW5kIHRpbWluZ3MgYXJlIGNvbmZpcm1lZCBiZWZvcmUgYm9va2luZy4nICsKICAgICh3aXRoVHJhbnNwb3J0ID8gJyBQaWNrLXVwIHJvdXRlIGFuZCB2ZWhpY2xlIGNhcGFjaXR5IGFyZSBjb25maXJtZWQgZm9yIHlvdXIgZ3JvdXAuJyA6ICcnKSArICc8L3A+JyArCiAgICAoY2hpbGRyZW4udmFsdWVBc051bWJlciA\/ICc8cCBjbGFzcz0ic21hbGwiPkNoaWxkIHBhcnRpY2lwYXRpb24gYW5kIGEgbm9uLWFsY29ob2xpYyBhbHRlcm5hdGl2ZSBhcmUgcXVvdGVkIHNlcGFyYXRlbHkuPC9wPicgOiAnJyk7Cn0KCmZ1bmN0aW9uIHJlbmRlckJvYXRRdW90ZSh0cmFuc2ZlcikgewogIGNvbnN0IHF1b3RlID0gJCgncXVvdGUnKTsKICBjb25zdCBhZ2VzID0gWy4uLiQoJ2FnZS1maWVsZHMnKS5xdWVyeVNlbGVjdG9yQWxsKCdpbnB1dCcpXTsKICBjb25zdCBndWVzdHMgPSBhZ2VzLnJlZHVjZSgodG90YWwsIGZpZWxkKSA9PiB0b3RhbCArIGZpZWxkLnZhbHVlQXNOdW1iZXIsIDApOwogIGNvbnN0IGhvdXJzID0gJCgnYm9hdC1leHRyYS1ob3VycycpOwogIGNvbnN0IGV4dHJhSG91cnMgPSBob3Vycy52YWx1ZUFzTnVtYmVyOwogIGlmIChhZ2VzLnNvbWUoZmllbGQgPT4gIWZpZWxkLnZhbGlkaXR5LnZhbGlkKSB8fCAhTnVtYmVyLmlzU2FmZUludGVnZXIoZ3Vlc3RzKSkgewogICAgcXVvdGUudGV4dENvbnRlbnQgPSAnRW50ZXIgYSB2YWxpZCBudW1iZXIgb2YgdHJhdmVsbGVycy4nOwogICAgcmV0dXJuOwogIH0KICBpZiAoIWhvdXJzLnZhbGlkaXR5LnZhbGlkIHx8ICFOdW1iZXIuaXNTYWZlSW50ZWdlcihleHRyYUhvdXJzKSkgewogICAgcXVvdGUudGV4dENvbnRlbnQgPSAnRW50ZXIgYSB3aG9sZSBudW1iZXIgb2YgZXh0cmEgaG91cnMsIHplcm8gb3IgbW9yZS4nOwogICAgcmV0dXJuOwogIH0KICBjb25zdCBwYWNrID0gYm9hdERyYWZ0LnBhY2thZ2VzWyQoJ2V4dHJhLWJvYXQtZHVyYXRpb24nKS52YWx1ZV07CiAgY29uc3QgZXh0cmEgPSBleHRyYUhvdXJzICogYm9hdERyYWZ0LmV4dHJhSG91cjsKICBjb25zdCB0b3RhbCA9IHBhY2sucHJpY2UgKyBleHRyYSArIHRyYW5zZmVyLnRvdGFsOwogIGlmICghTnVtYmVyLmlzU2FmZUludGVnZXIodG90YWwpKSB7CiAgICBxdW90ZS50ZXh0Q29udGVudCA9ICdDb250YWN0IEFDV0wgdG8gcHJpY2UgdGhpcyBkdXJhdGlvbi4nOwogICAgcmV0dXJuOwogIH0KICBjb25zdCBwb3J0ID0gJCgnZXh0cmEtcGlja3VwJykudmFsdWUgPT09ICdzYWxlcm5vJyA\/ICdTYWxlcm5vJyA6ICdBbWFsZmknOwogIGNvbnN0IHRvdGFsTGFiZWwgPSB0cmFuc2Zlci5hZGRlZCA\/ICdQcm9wb3NlZCBib2F0ICYgbGFuZCB0cmFuc2ZlciB0b3RhbCcgOiAnUHJvcG9zZWQgcHJpdmF0ZSBib2F0IHRvdGFsJzsKICBxdW90ZS5pbm5lckhUTUwgPSAnPHA+UHJpdmF0ZSBBbWFsZmkgQ29hc3QgYm9hdCB0b3VyIMK3IGJvYXJkaW5nIGluICcgKyBwb3J0ICsgJzwvcD4nICsKICAgICc8cD4nICsgcGFjay5sYWJlbCArICcgcGFja2FnZSDCtyAnICsgbW9uZXkocGFjay5wcmljZSkgKyAnIHBlciBwcml2YXRlIGJvYXQ8L3A+JyArCiAgICAoZXh0cmFIb3VycyA\/ICc8cD5FeHRyYSB0aW1lIMK3ICcgKyBleHRyYUhvdXJzICsgJyBoIMOXICcgKyBtb25leShib2F0RHJhZnQuZXh0cmFIb3VyKSArICcgwrcgJyArIG1vbmV5KGV4dHJhKSArICc8L3A+JyA6ICcnKSArCiAgICB0cmFuc2ZlckJyZWFrZG93bih0cmFuc2ZlcikgKwogICAgJzxzdHJvbmcgaWQ9ImJvYXQtZXN0aW1hdGUiIGRhdGEtYW1vdW50PSInICsgdG90YWwgKyAnIiBkYXRhLWxhYmVsPSInICsgdG90YWxMYWJlbCArICciPicgKyBtb25leSh0b3RhbCkgKyAnPC9zdHJvbmc+JyArCiAgICAnPHAgY2xhc3M9InNtYWxsIj4nICsgKHRyYW5zZmVyLmFkZGVkID8gJ1ByaXZhdGUgYm9hdCBhbmQgc2VsZWN0ZWQgbGFuZCB0cmFuc2ZlciBmb3IgeW91ciBncm91cC4gJyA6ICdQcml2YXRlIGJvYXQgZm9yIHlvdXIgZ3JvdXAuICcpICsKICAgICdWZXNzZWwsIHZlaGljbGUgY2FwYWNpdHksIHRpbWluZ3MgYW5kIGluY2x1c2lvbnMgYXJlIGNvbmZpcm1lZCBiZWZvcmUgYm9va2luZy48L3A+JyArCiAgICAnPHAgY2xhc3M9InNtYWxsIj5EZXBhcnR1cmVzIGFyZSBzdWJqZWN0IHRvIHdlYXRoZXIsIHNlYSBjb25kaXRpb25zIGFuZCBzYWZlIG5hdmlnYXRpb24uPC9wPic7Cn0KCmZ1bmN0aW9uIHJlbmRlckNvYXN0RGF5VHJpcFF1b3RlKCkgewogIGNvbnN0IHF1b3RlID0gJCgncXVvdGUnKTsKICBjb25zdCBhZHVsdHMgPSAkKCdwYXgtQWR1bHQnKTsKICBjb25zdCBjaGlsZHJlbiA9ICQoJ3BheC1DaGlsZCcpOwogIGNvbnN0IHsgdHJhbnNmZXIsIGhhbGZEYXlHdWlkZSwgZ3VpZGUsIGNhcGFjaXR5IH0gPSBjb2FzdERheVRyaXA7CiAgYWR1bHRzLnNldEN1c3RvbVZhbGlkaXR5KCcnKTsKICBpZiAoIWFkdWx0cy52YWxpZGl0eS52YWxpZCB8fCAhY2hpbGRyZW4udmFsaWRpdHkudmFsaWQpIHsKICAgIHF1b3RlLnRleHRDb250ZW50ID0gJ0VudGVyIGEgdmFsaWQgbnVtYmVyIG9mIHRyYXZlbGxlcnMuJzsKICAgIHJldHVybjsKICB9CiAgY29uc3QgY291bnQgPSBhZHVsdHMudmFsdWVBc051bWJlcjsKICBjb25zdCBndWVzdHMgPSBjb3VudCArIGNoaWxkcmVuLnZhbHVlQXNOdW1iZXI7CiAgaWYgKGd1ZXN0cyA+IGNhcGFjaXR5KSB7CiAgICBjb25zdCBtZXNzYWdlID0gJ1VwIHRvICcgKyBjYXBhY2l0eSArICcgdHJhdmVsbGVycywgaW5jbHVkaW5nIGNoaWxkcmVuLic7CiAgICBhZHVsdHMuc2V0Q3VzdG9tVmFsaWRpdHkobWVzc2FnZSk7CiAgICBxdW90ZS50ZXh0Q29udGVudCA9IG1lc3NhZ2U7CiAgICByZXR1cm47CiAgfQogIGNvbnN0IHNoYXJlZCA9ICQoJ2V4dHJhLWZvcm1hdCcpLnZhbHVlID09PSAnc2hhcmVkJzsKICBjb25zdCBndWlkZUNob2ljZSA9ICQoJ2V4dHJhLWd1aWRlJykudmFsdWU7CiAgY29uc3QgZ3VpZGVQcmljZSA9IGd1aWRlQ2hvaWNlID09PSAnaGFsZi1kYXknID8gaGFsZkRheUd1aWRlIDogZ3VpZGVDaG9pY2UgPT09ICdmdWxsLWRheScgPyBndWlkZSA6IDA7CiAgY29uc3Qgd2l0aEd1aWRlID0gZ3VpZGVQcmljZSA+IDA7CiAgY29uc3Qgd2l0aEFkbWlzc2lvbiA9ICQoJ2V4dHJhLWNhdGhlZHJhbCcpLnZhbHVlID09PSAnaW5jbHVkZSc7CiAgY29uc3QgdmlsbGFzID0gWydydWZvbG8nLCAnY2ltYnJvbmUnXS5maWx0ZXIodmlsbGEgPT4gJCgnZXh0cmEtJyArIHZpbGxhICsgJy10aWNrZXQnKS52YWx1ZSA9PT0gJ2luY2x1ZGUnKTsKICBjb25zdCBncm91cFByaWNlID0gdHJhbnNmZXIgKyBndWlkZVByaWNlOwogIGNvbnN0IHVuaXQgPSBNYXRoLmNlaWwoZ3JvdXBQcmljZSAvIGNhcGFjaXR5KTsKICBjb25zdCBhZG1pc3Npb24gPSAod2l0aEFkbWlzc2lvbiA\/IGNvdW50ICogYW1hbGZpQ29zdGluZy50aWNrZXQuc2FsZSA6IDApICsKICAgIGNvdW50ICogdmlsbGFzLnJlZHVjZSgoc3VtLCB2aWxsYSkgPT4gc3VtICsgdmlzaXRUaWNrZXRQcmljZSh2aWxsYSksIDApOwogIGNvbnN0IHRvdGFsID0gKHNoYXJlZCA\/IGNvdW50ICogdW5pdCA6IGdyb3VwUHJpY2UpICsgYWRtaXNzaW9uOwogIGNvbnN0IGxhYmVsID0gY2hpbGRyZW4udmFsdWVBc051bWJlciA\/ICdTdWJ0b3RhbCBiZWZvcmUgY2hpbGQgcHJpY2luZycgOiBzaGFyZWQgPyAnU2hhcmVkIHBhY2thZ2UgdG90YWwnIDogJ1ByaXZhdGUgcGFja2FnZSB0b3RhbCc7CiAgcXVvdGUuaW5uZXJIVE1MID0gJzxwPkZ1bGwtZGF5IHJvdW5kLXRyaXAgdHJhbnNwb3J0IMK3ICcgKyBtb25leSh0cmFuc2ZlcikgKyAnIHBlciB2ZWhpY2xlPC9wPicgKwogICAgKHdpdGhHdWlkZSA\/ICc8cD5Mb2NhbCBndWlkZSDCtyAnICsgKGd1aWRlQ2hvaWNlID09PSAnaGFsZi1kYXknID8gJ0hEIMK3IGhhbGYgZGF5JyA6ICdGRCDCtyBmdWxsIGRheScpICsKICAgICAgJyDCtyAnICsgbW9uZXkoZ3VpZGVQcmljZSkgKyAnIHBlciBncm91cDwvcD4nIDogJzxwPkxvY2FsIGd1aWRlIG5vdCBzZWxlY3RlZC48L3A+JykgKwogICAgKHNoYXJlZCA\/ICc8cD4nICsgY291bnQgKyAnIMOXICcgKyBtb25leSh1bml0KSArICcgZm9yIHRyYW5zcG9ydCcgKyAod2l0aEd1aWRlID8gJyBhbmQgZ3VpZGUnIDogJycpICsKICAgICAgJy4gVGhlIHNoYXJlZCBkZXBhcnR1cmUgaXMgY29uZmlybWVkIHdpdGggJyArIGNhcGFjaXR5ICsgJyBwYXJ0aWNpcGFudHMuPC9wPicgOiAnJykgKwogICAgKHdpdGhBZG1pc3Npb24gPyAnPHA+QW1hbGZpIENhdGhlZHJhbCBhZG1pc3Npb24gwrcgJyArIGNvdW50ICsgJyDDlyAnICsgbW9uZXkoYW1hbGZpQ29zdGluZy50aWNrZXQuc2FsZSkgKyAnPC9wPicgOiAnJykgKwogICAgdmlzaXRUaWNrZXRCcmVha2Rvd24odmlsbGFzLCBjb3VudCwgZ3Vlc3RzKSArCiAgICAoY2hpbGRyZW4udmFsdWVBc051bWJlciA\/ICc8cCBjbGFzcz0ic21hbGwiPkNoaWxkIHJhdGVzIGFuZCBhZG1pc3Npb24gZWxpZ2liaWxpdHkgYXJlIGNvbmZpcm1lZCBzZXBhcmF0ZWx5LjwvcD4nIDogJycpICsKICAgICc8c3Ryb25nIGlkPSJjb2FzdC1lc3RpbWF0ZSIgZGF0YS1hbW91bnQ9IicgKyB0b3RhbCArICciIGRhdGEtbGFiZWw9IicgKyBsYWJlbCArICciPicgKyBtb25leSh0b3RhbCkgKyAnPC9zdHJvbmc+PHAgY2xhc3M9InNtYWxsIj4nICsgbGFiZWwgKwogICAgJy4gVGltaW5nIGFuZCBwaWNrdXAgZGV0YWlscyBhcmUgY29uZmlybWVkIHNlcGFyYXRlbHkuPC9wPic7Cn0KCmZ1bmN0aW9uIHJlbmRlclNvcnJlbnRvUXVvdGUoZHJhZnQsIHRyYW5zZmVyKSB7CiAgY29uc3QgcXVvdGUgPSAkKCdxdW90ZScpOwogIGNvbnN0IGFkdWx0cyA9ICQoJ3BheC1BZHVsdCcpOwogIGNvbnN0IGNoaWxkcmVuID0gJCgncGF4LUNoaWxkJyk7CiAgYWR1bHRzLnNldEN1c3RvbVZhbGlkaXR5KCcnKTsKICBpZiAoIWFkdWx0cy52YWxpZGl0eS52YWxpZCB8fCAhY2hpbGRyZW4udmFsaWRpdHkudmFsaWQpIHsKICAgIHF1b3RlLnRleHRDb250ZW50ID0gJ0VudGVyIGEgdmFsaWQgbnVtYmVyIG9mIHRyYXZlbGxlcnMgZm9yIGVhY2ggYWdlIGJhbmQuJzsKICAgIHJldHVybjsKICB9CiAgY29uc3QgdHJhdmVsbGVycyA9IGFkdWx0cy52YWx1ZUFzTnVtYmVyICsgY2hpbGRyZW4udmFsdWVBc051bWJlcjsKICBjb25zdCBmb3JtYXQgPSAkKCdleHRyYS1mb3JtYXQnKS52YWx1ZTsKICBjb25zdCBzaGFyZWQgPSBmb3JtYXQgPT09ICdzaGFyZWQnOwogIGNvbnN0IHsgbGltb25jZWxsbywgbHVuY2gsIHNoYXJlZENhcGFjaXR5IH0gPSBzb3JyZW50b0V4dHJhczsKICBpZiAoc2hhcmVkICYmIHRyYXZlbGxlcnMgPiBzaGFyZWRDYXBhY2l0eSkgewogICAgY29uc3QgbWVzc2FnZSA9ICdVcCB0byAnICsgc2hhcmVkQ2FwYWNpdHkgKyAnIHRyYXZlbGxlcnMgcGVyIHNoYXJlZCBkZXBhcnR1cmUsIGluY2x1ZGluZyBjaGlsZHJlbi4nOwogICAgYWR1bHRzLnNldEN1c3RvbVZhbGlkaXR5KG1lc3NhZ2UpOwogICAgcXVvdGUudGV4dENvbnRlbnQgPSBtZXNzYWdlOwogICAgcmV0dXJuOwogIH0KICBjb25zdCB3YWxrID0gQm9vbGVhbihkcmFmdC5ndWlkZVByaWNlcyk7CiAgY29uc3QgbHVuY2hTZWxlY3RlZCA9ICQoJ2V4dHJhLW1lYWwnKT8udmFsdWUgPT09ICdsdW5jaCc7CiAgbGV0IHdhbGtHdWlkZTsKICBpZiAod2FsayAmJiB0cmF2ZWxsZXJzIDw9IHNoYXJlZENhcGFjaXR5KSB7CiAgICBjb25zdCB7IHNtYWxsUGFydHksIHN0YW5kYXJkIH0gPSBkcmFmdC5ndWlkZVByaWNlcy5zaGFyZWQ7CiAgICBjb25zdCBzaGFyZWRHdWlkZSA9IHRyYXZlbGxlcnMgPD0gc21hbGxQYXJ0eS5tYXggPyBzbWFsbFBhcnR5LnByaWNlIDogc3RhbmRhcmQ7CiAgICB3YWxrR3VpZGUgPSBzaGFyZWQgPyBzaGFyZWRHdWlkZSA6IHByaXZhdGVHdWlkZVJhdGUodHJhdmVsbGVycyk7CiAgfQogIGNvbnN0IGxpbmVzID0gW107CiAgaWYgKHdhbGtHdWlkZSkgbGluZXMucHVzaChbc2hhcmVkID8gJ1NoYXJlZCB3YWxraW5nIHRvdXIgwrcgZ3VpZGUgcGVyIGJvb2tpbmcnIDogJ1ByaXZhdGUgd2Fsa2luZyB0b3VyIMK3IGd1aWRlIHBlciBncm91cCcsIDEsIHdhbGtHdWlkZV0pOwogIGlmIChkcmFmdC5mYXJtUHJpY2UpIGxpbmVzLnB1c2goW3NoYXJlZCA\/ICdTaGFyZWQgZmFybSB0YXN0aW5nJyA6ICdQcml2YXRlIGZhcm0gdGFzdGluZycsCiAgICB0cmF2ZWxsZXJzLCBzaGFyZWQgPyBkcmFmdC5mYXJtUHJpY2UgOiBkcmFmdC5wcml2YXRlRmFybVByaWNlXSk7CiAgaWYgKHdhbGspIGxpbmVzLnB1c2goWydJbmNsdWRlZCBsaW1vbmNlbGxvIHRhc3RpbmcnLCBhZHVsdHMudmFsdWVBc051bWJlciwgbGltb25jZWxsb10pOwogIGlmIChsdW5jaFNlbGVjdGVkKSBsaW5lcy5wdXNoKFsnTHVuY2gnLCB0cmF2ZWxsZXJzLCBsdW5jaF0pOwoKICBjb25zdCBpdGVtcyA9IGxpbmVzLnJlZHVjZSgodG90YWwsIFssIGNvdW50LCB1bml0XSkgPT4gdG90YWwgKyBjb3VudCAqIHVuaXQsIDApOwogIGNvbnN0IGluY2x1ZGVzQmFzZSA9IEJvb2xlYW4od2Fsa0d1aWRlIHx8IGRyYWZ0LmZhcm1QcmljZSk7CiAgY29uc3QgYW1vdW50ID0gbW9uZXkoaXRlbXMgKyB0cmFuc2Zlci50b3RhbCk7CiAgY29uc3QgbGFiZWwgPSBpbmNsdWRlc0Jhc2UgPyAnUHJvcG9zZWQgdG90YWwnIDogJ1N1YnRvdGFsIGZvciBzZWxlY3RlZCBpdGVtcyc7CiAgcXVvdGUuaW5uZXJIVE1MID0gbGluZXMubWFwKChbbmFtZSwgY291bnQsIHVuaXRdKSA9PiAnPHA+JyArIG5hbWUgKyAnIMK3ICcgKyBjb3VudCArICcgw5cgJyArIG1vbmV5KHVuaXQpICsgJzwvcD4nKS5qb2luKCcnKSArCiAgICB0cmFuc2ZlckJyZWFrZG93bih0cmFuc2ZlcikgKwogICAgKCFzaGFyZWQgJiYgZHJhZnQuZmFybVByaWNlID8gcHJpdmF0ZUd1aWRlQnJlYWtkb3duKHRyYXZlbGxlcnMsICdPcHRpb25hbCBwcml2YXRlIGd1aWRlLCBxdW90ZWQgc2VwYXJhdGVseScpIDogJycpICsKICAgIChsaW5lcy5sZW5ndGggfHwgdHJhbnNmZXIuYWRkZWQgPyAnPHN0cm9uZyBpZD0ic29ycmVudG8tZXN0aW1hdGUiIGRhdGEtYW1vdW50PSInICsgKGl0ZW1zICsgdHJhbnNmZXIudG90YWwpICsgJyIgZGF0YS1sYWJlbD0iJyArIGxhYmVsICsgJyI+JyArIGFtb3VudCArCiAgICAgICc8L3N0cm9uZz48cCBjbGFzcz0ic21hbGwiPicgKyBsYWJlbCArICc8L3A+JyA6ICcnKSArCiAgICAoIWluY2x1ZGVzQmFzZSA\/ICc8cCBjbGFzcz0ic21hbGwiPlRoZSBndWlkZWQgd2FsayByYXRlIGZvciB0aGlzIGdyb3VwIGlzIHRvIGJlIGNvbmZpcm1lZC48L3A+JyA6ICcnKSArCiAgICAod2FsayA\/ICc8cCBjbGFzcz0ic21hbGwiPkxpbW9uY2VsbG8gdGFzdGluZyBpcyBpbmNsdWRlZCBmb3IgYWR1bHRzLjwvcD4nIDogJycpICsKICAgICc8cCBjbGFzcz0ic21hbGwiPk9wdGlvbmFsIHNlcnZpY2VzIGFyZSBzdWJqZWN0IHRvIGNvbmZpcm1hdGlvbi48L3A+JzsKfQoKZnVuY3Rpb24gdmlzaXRUaWNrZXRCcmVha2Rvd24oa2V5cywgYWR1bHRzLCB0cmF2ZWxsZXJzLCBzdWJ0b3RhbExhYmVsID0gJ0FkdWx0IGFkbWlzc2lvbiBzdWJ0b3RhbCcpIHsKICBpZiAoIWtleXMubGVuZ3RoKSByZXR1cm4gJyc7CiAgY29uc3Qgc3VidG90YWwgPSBrZXlzLnJlZHVjZSgodG90YWwsIGtleSkgPT4gdG90YWwgKyBhZHVsdHMgKiB2aXNpdFRpY2tldFByaWNlKGtleSksIDApOwogIHJldHVybiBrZXlzLm1hcChrZXkgPT4gJzxwPicgKyBlc2ModmlzaXRUaWNrZXRzW2tleV0ubmFtZSkgKyAnIMK3ICcgKyBhZHVsdHMgKyAnIMOXICcgKwogICAgbW9uZXkodmlzaXRUaWNrZXRQcmljZShrZXkpKSArICc8L3A+Jykuam9pbignJykgKwogICAgJzxwPicgKyBzdWJ0b3RhbExhYmVsICsgJyDCtyA8c3Ryb25nIGlkPSJ2aXNpdC10aWNrZXQtZXN0aW1hdGUiPicgKyBtb25leShzdWJ0b3RhbCkgKyAnPC9zdHJvbmc+PC9wPicgKwogICAgKHRyYXZlbGxlcnMgPiBhZHVsdHMgPyAnPHAgY2xhc3M9InNtYWxsIj5PdGhlciB0cmF2ZWxsZXJz4oCZIHRpY2tldHMgYXJlIGNvbmZpcm1lZCBieSBhZ2UgYW5kIGVsaWdpYmlsaXR5LjwvcD4nIDogJycpICsKICAgICc8cCBjbGFzcz0ic21hbGwiPk9yZGluYXJ5IGFkdWx0IHJhdGVzLiBDb25jZXNzaW9ucyBjb25maXJtZWQgc2VwYXJhdGVseS48L3A+JzsKfQoKZnVuY3Rpb24gcmVuZGVyUmF2ZWxsb1F1b3RlKHRyYW5zZmVyKSB7CiAgY29uc3QgcXVvdGUgPSAkKCdxdW90ZScpOwogIGNvbnN0IHZpbGxhID0gJCgnZXh0cmEtdmlsbGEnKS52YWx1ZTsKICBjb25zdCBhZHVsdHMgPSAkKCdwYXgtQWR1bHQnKTsKICBjb25zdCBjaGlsZHJlbiA9ICQoJ3BheC1DaGlsZCcpOwogIGFkdWx0cy5zZXRDdXN0b21WYWxpZGl0eSgnJyk7CiAgaWYgKCFhZHVsdHMudmFsaWRpdHkudmFsaWQgfHwgIWNoaWxkcmVuLnZhbGlkaXR5LnZhbGlkKSB7CiAgICBxdW90ZS50ZXh0Q29udGVudCA9ICdFbnRlciBhIHZhbGlkIG51bWJlciBvZiB0cmF2ZWxsZXJzIGZvciBlYWNoIGFnZSBiYW5kLic7CiAgICByZXR1cm47CiAgfQogIGNvbnN0IHRyYXZlbGxlcnMgPSBhZHVsdHMudmFsdWVBc051bWJlciArIGNoaWxkcmVuLnZhbHVlQXNOdW1iZXI7CiAgY29uc3Qgc2hhcmVkID0gJCgnZXh0cmEtZm9ybWF0JykudmFsdWUgPT09ICdzaGFyZWQnOwogIGNvbnN0IHRpZXIgPSByYXZlbGxvRHJhZnQuc2hhcmVkLmZpbmQoKHsgbWF4IH0pID0+IHRyYXZlbGxlcnMgPD0gbWF4KTsKICBpZiAoc2hhcmVkICYmICF0aWVyKSB7CiAgICBjb25zdCBtZXNzYWdlID0gJ1VwIHRvICcgKyByYXZlbGxvRHJhZnQuc2hhcmVkLmF0KC0xKS5tYXggKyAnIHRyYXZlbGxlcnMgcGVyIHNoYXJlZCBkZXBhcnR1cmUsIGluY2x1ZGluZyBjaGlsZHJlbi4nOwogICAgYWR1bHRzLnNldEN1c3RvbVZhbGlkaXR5KG1lc3NhZ2UpOwogICAgcXVvdGUudGV4dENvbnRlbnQgPSBtZXNzYWdlOwogICAgcmV0dXJuOwogIH0KICBjb25zdCBndWlkZVByaWNlID0gc2hhcmVkID8gdGllci5wcmljZSA6IHByaXZhdGVHdWlkZVJhdGUodHJhdmVsbGVycyk7CiAgY29uc3QgZ3VpZGUgPSBzaGFyZWQgPyAnPHA+TG9jYWwgZ3VpZGUgwrcgJyArIG1vbmV5KGd1aWRlUHJpY2UpICsgJyBwZXIgYm9va2luZzwvcD4nIDoKICAgIHByaXZhdGVHdWlkZUJyZWFrZG93bih0cmF2ZWxsZXJzKTsKICBpZiAoIXZpbGxhKSB7CiAgICBxdW90ZS5pbm5lckhUTUwgPSBndWlkZSArICc8cD5DaG9vc2UgVmlsbGEgUnVmb2xvLCBWaWxsYSBDaW1icm9uZSBHYXJkZW5zIG9yIGJvdGggdG8gY2FsY3VsYXRlIGFkbWlzc2lvbi48L3A+JyArCiAgICAgIHRyYW5zZmVyQnJlYWtkb3duKHRyYW5zZmVyKTsKICAgIHJldHVybjsKICB9CiAgY29uc3QgdmlzaXRzID0gdmlsbGEgPT09ICdib3RoJyA\/IFsncnVmb2xvJywgJ2NpbWJyb25lJ10gOiBbdmlsbGFdOwogIGNvbnN0IHRvdGFsID0gdmlzaXRzLnJlZHVjZSgoc3VtLCBrZXkpID0+IHN1bSArIGFkdWx0cy52YWx1ZUFzTnVtYmVyICogdmlzaXRUaWNrZXRQcmljZShrZXkpLCAoZ3VpZGVQcmljZSB8fCAwKSArIHRyYW5zZmVyLnRvdGFsKTsKICBxdW90ZS5pbm5lckhUTUwgPSBndWlkZSArIHZpc2l0VGlja2V0QnJlYWtkb3duKHZpc2l0cywgYWR1bHRzLnZhbHVlQXNOdW1iZXIsIHRyYXZlbGxlcnMpICsKICAgIHRyYW5zZmVyQnJlYWtkb3duKHRyYW5zZmVyKSArIChndWlkZVByaWNlID8gJzxzdHJvbmcgaWQ9InJhdmVsbG8tZXN0aW1hdGUiIGRhdGEtYW1vdW50PSInICsgdG90YWwgKyAnIj5Gcm9tICcgKyBtb25leSh0b3RhbCkgKyAnPC9zdHJvbmc+JyArCiAgICAgICc8cCBjbGFzcz0ic21hbGwiPkd1aWRlLCBvcmRpbmFyeSBhZHVsdCBhZG1pc3Npb24gYW5kIHNlbGVjdGVkIHRyYW5zZmVyLjwvcD4nIDogJycpICsKICAgICh2aWxsYSA9PT0gJ2JvdGgnID8gJzxwIGNsYXNzPSJzbWFsbCI+Q29uZmlybSB0aW1pbmcgYW5kIGFueSBhZGRpdGlvbmFsIGd1aWRpbmcgZm9yIGJvdGggdmlsbGFzLjwvcD4nIDogJycpOwp9CgpmdW5jdGlvbiByZW5kZXJBbWFsZmlRdW90ZSh0cmFuc2ZlcikgewogIGNvbnN0IHsgc2hhcmVkQ2FwYWNpdHksIHRpY2tldCB9ID0gYW1hbGZpQ29zdGluZzsKICBjb25zdCBmaWVsZHMgPSBbLi4uJCgnYWdlLWZpZWxkcycpLnF1ZXJ5U2VsZWN0b3JBbGwoJ2lucHV0JyldOwogIGNvbnN0IGFkdWx0ID0gJCgncGF4LUFkdWx0Jyk7CiAgY29uc3Qgc2hhcmVkID0gJCgnZXh0cmEtZm9ybWF0JykudmFsdWUgPT09ICdzaGFyZWQnOwogIGNvbnN0IHF1b3RlID0gJCgncXVvdGUnKTsKICBhZHVsdC5zZXRDdXN0b21WYWxpZGl0eSgnJyk7CiAgaWYgKGZpZWxkcy5zb21lKGZpZWxkID0+ICFmaWVsZC52YWxpZGl0eS52YWxpZCkpIHsKICAgIHF1b3RlLnRleHRDb250ZW50ID0gJ0VudGVyIGEgdmFsaWQgbnVtYmVyIG9mIHRyYXZlbGxlcnMgZm9yIGVhY2ggYWdlIGJhbmQuJzsKICAgIHJldHVybjsKICB9CiAgY29uc3QgdHJhdmVsbGVycyA9IGZpZWxkcy5yZWR1Y2UoKHRvdGFsLCBmaWVsZCkgPT4gdG90YWwgKyBmaWVsZC52YWx1ZUFzTnVtYmVyLCAwKTsKICBjb25zdCBjYXBhY2l0eU5vdGUgPSAnVXAgdG8gJyArIHNoYXJlZENhcGFjaXR5ICsgJyB0cmF2ZWxsZXJzIHBlciBzaGFyZWQgZGVwYXJ0dXJlLCBpbmNsdWRpbmcgY2hpbGRyZW4uJzsKICBpZiAoc2hhcmVkICYmIHRyYXZlbGxlcnMgPiBzaGFyZWRDYXBhY2l0eSkgewogICAgYWR1bHQuc2V0Q3VzdG9tVmFsaWRpdHkoY2FwYWNpdHlOb3RlKTsKICAgIHF1b3RlLnRleHRDb250ZW50ID0gY2FwYWNpdHlOb3RlOwogICAgcmV0dXJuOwogIH0KICBjb25zdCB0aWNrZXRJbmNsdWRlZCA9ICQoJ2V4dHJhLWNhdGhlZHJhbCcpLnZhbHVlID09PSAnaW5jbHVkZSc7CiAgY29uc3QgcGFwZXJNdXNldW0gPSAkKCdleHRyYS1wYXBlci1tdXNldW0nKS52YWx1ZSA9PT0gJ2luY2x1ZGUnOwogIGNvbnN0IGd1aWRlID0gdHJhdmVsbGVycyA8PSBzaGFyZWRDYXBhY2l0eSA\/IGFtYWxmaUd1aWRlUmF0ZSh0cmF2ZWxsZXJzLCBzaGFyZWQpIDogbnVsbDsKICBjb25zdCBhZHVsdHMgPSBhZHVsdC52YWx1ZUFzTnVtYmVyOwogIGNvbnN0IHRvdGFsID0gKGd1aWRlIHx8IDApICsgdHJhbnNmZXIudG90YWwgKyBhZHVsdHMgKiAoKHRpY2tldEluY2x1ZGVkID8gdGlja2V0LnNhbGUgOiAwKSArCiAgICAocGFwZXJNdXNldW0gPyB2aXNpdFRpY2tldFByaWNlKCdwYXBlck11c2V1bScpIDogMCkpOwogIGNvbnN0IGxhYmVsID0gdHJhdmVsbGVycyA+IGFkdWx0cyAmJiAodGlja2V0SW5jbHVkZWQgfHwgcGFwZXJNdXNldW0pID8gJ1N1YnRvdGFsIGZvciBwcmljZWQgaXRlbXMnIDoKICAgICdQcm9wb3NlZCB0b3RhbCc7CiAgcXVvdGUuaW5uZXJIVE1MID0gKGd1aWRlID8gJzxwPlR3by1ob3VyICcgKyAoc2hhcmVkID8gJ3NoYXJlZCBndWlkZSDCtyAnIDogJ3ByaXZhdGUgZ3VpZGUgwrcgJykgKyBtb25leShndWlkZSkgKwogICAgKHNoYXJlZCA\/ICcgcGVyIGJvb2tpbmcnIDogJyBwZXIgZ3JvdXAnKSArICc8L3A+JyA6ICc8cD5HdWlkZSByYXRlIGZvciB0aGlzIGdyb3VwIHNpemUgdG8gYmUgY29uZmlybWVkLjwvcD4nKSArCiAgICB0cmFuc2ZlckJyZWFrZG93bih0cmFuc2ZlcikgKwogICAgKHRpY2tldEluY2x1ZGVkID8gJzxwPkNhdGhlZHJhbCBhZG1pc3Npb24gwrcgJyArIGFkdWx0cyArICcgw5cgJyArIG1vbmV5KHRpY2tldC5zYWxlKSArICc8L3A+JyA6ICcnKSArCiAgICAocGFwZXJNdXNldW0gPyB2aXNpdFRpY2tldEJyZWFrZG93bihbJ3BhcGVyTXVzZXVtJ10sIGFkdWx0cywgdHJhdmVsbGVycywgJ1BhcGVyIE11c2V1bSBzdWJ0b3RhbCBmb3IgYWR1bHRzJykgOiAnJykgKwogICAgKHRpY2tldEluY2x1ZGVkICYmIHRyYXZlbGxlcnMgPiBhZHVsdHMgJiYgIXBhcGVyTXVzZXVtID8gJzxwIGNsYXNzPSJzbWFsbCI+T3RoZXIgdHJhdmVsbGVyc+KAmSB0aWNrZXRzIGFyZSBjb25maXJtZWQgYnkgYWdlLjwvcD4nIDogJycpICsKICAgIChndWlkZSA\/ICc8c3Ryb25nIGlkPSJhbWFsZmktZXN0aW1hdGUiIGRhdGEtYW1vdW50PSInICsgdG90YWwgKyAnIiBkYXRhLWxhYmVsPSInICsgbGFiZWwgKyAnIj4nICsgbW9uZXkodG90YWwpICsKICAgICAgJzwvc3Ryb25nPjxwIGNsYXNzPSJzbWFsbCI+JyArIGxhYmVsICsgJzwvcD4nIDogJycpICsKICAgIChzaGFyZWQgPyAnPHAgY2xhc3M9InNtYWxsIj4nICsgY2FwYWNpdHlOb3RlICsgJzwvcD4nIDogJycpOwp9CgpmdW5jdGlvbiBwcmV2aWV3UmVxdWVzdChldmVudCkgewogIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CiAgY29uc3Qgb3B0aW9uID0gc2VsZWN0ZWRPcHRpb24oKTsKICB1cGRhdGVQb21wZWlpQWRtaXNzaW9uKG9wdGlvbik7CiAgY29uc3QgdmFsaWRUaWNrZXRHcm91cCA9IHVwZGF0ZVRpY2tldEhvbGRlcnMoKTsKICBjb25zdCBuYW1lRmllbGRzID0gc2VsZWN0ZWRQb21wZWlpVGlja2V0KCkgPyBbLi4uJCgndGlja2V0LWhvbGRlci1maWVsZHMnKS5xdWVyeVNlbGVjdG9yQWxsKCdpbnB1dCcpXSA6IFtdOwogIGZvciAoY29uc3QgZmllbGQgb2YgbmFtZUZpZWxkcykgewogICAgZmllbGQuc2V0Q3VzdG9tVmFsaWRpdHkoZmllbGQudmFsdWUudHJpbSgpID8gJycgOiAnRW50ZXIgdGhlIG5hbWUgYXMgc2hvd24gb24gdGhlIHRyYXZlbGxlcuKAmXMgSUQuJyk7CiAgfQogIHVwZGF0ZVNjaGVkdWxlKCk7CiAgY29uc3QgdHJhbnNmZXIgPSBzZWxlY3RlZFRyYW5zZmVyKCk7CiAgaWYgKCFldmVudC5jdXJyZW50VGFyZ2V0LnJlcG9ydFZhbGlkaXR5KCkgfHwgIXRyYW5zZmVyLnZhbGlkIHx8ICF2YWxpZFRpY2tldEdyb3VwKSByZXR1cm47CiAgY29uc3QgZGV0YWlscyA9IFsKICAgIFsnRGF0ZSAmIHRpbWUnLCAkKCdkYXRlJykudmFsdWUgKyAnIMK3ICcgKyAkKCd0aW1lJykudmFsdWUgKyAnIChJdGFseSB0aW1lKSddLAogICAgLi4uc2VsZWN0ZWRFeHRyYXMob3B0aW9uKS5tYXAoZmllbGQgPT4gW2ZpZWxkLmxhYmVsLCBmaWVsZC50ZXh0XSksCiAgICBbJ1RyYXZlbGxlcnMnLCBbLi4uJCgnYWdlLWZpZWxkcycpLnF1ZXJ5U2VsZWN0b3JBbGwoJ2lucHV0JyldLmZpbHRlcihmaWVsZCA9PiBOdW1iZXIoZmllbGQudmFsdWUpID4gMCkKICAgICAgLm1hcChmaWVsZCA9PiBmaWVsZC52YWx1ZSArICcgJyArIGZpZWxkLmRhdGFzZXQuYWdlLnRvTG93ZXJDYXNlKCkpLmpvaW4oJyDCtyAnKV0sCiAgXTsKICBmb3IgKGxldCBpID0gMDsgaSA8IG5hbWVGaWVsZHMubGVuZ3RoOyBpICs9IDIpIHsKICAgIGRldGFpbHMucHVzaChbJ1RpY2tldCBob2xkZXIgJyArIChpIC8gMiArIDEpLCBuYW1lRmllbGRzW2ldLnZhbHVlLnRyaW0oKSArICcgJyArIG5hbWVGaWVsZHNbaSArIDFdLnZhbHVlLnRyaW0oKV0pOwogIH0KICBpZiAodHJhbnNmZXIuYWRkZWQpIGRldGFpbHMucHVzaChbdHJhbnNmZXIucm91bmRUcmlwID8gJ1JvdW5kLXRyaXAgdHJhbnNmZXIgwrcgb24gcmVxdWVzdCcgOiAnT25lLXdheSB0cmFuc2ZlcicsIG1vbmV5KHRyYW5zZmVyLmZhcmUpXSk7CiAgaWYgKHRyYW5zZmVyLndhaXRpbmcpIGRldGFpbHMucHVzaChbJ0RyaXZlciB3YWl0aW5nIMK3ICcgKyB0cmFuc2Zlci5ob3VycyArICcgaCcsIG1vbmV5KHRyYW5zZmVyLndhaXRpbmcpXSk7CiAgY29uc3QgYWRtaXNzaW9uRXN0aW1hdGUgPSAkKCd2aXNpdC10aWNrZXQtZXN0aW1hdGUnKTsKICBjb25zdCBpc0FtYWxmaVdhbGsgPSBjdXJyZW50VG91ci5zbHVnID09PSAnYW1hbGZpLXVuY292ZXJlZCc7CiAgaWYgKGFkbWlzc2lvbkVzdGltYXRlKSBkZXRhaWxzLnB1c2goW2lzQW1hbGZpV2FsayA\/ICdQYXBlciBNdXNldW0gc3VidG90YWwgZm9yIGFkdWx0cycgOiAnQWR1bHQgYWRtaXNzaW9uIHN1YnRvdGFsJywKICAgIGFkbWlzc2lvbkVzdGltYXRlLnRleHRDb250ZW50XSk7CiAgY29uc3Qgc29ycmVudG9Fc3RpbWF0ZSA9ICQoJ3NvcnJlbnRvLWVzdGltYXRlJyk7CiAgaWYgKHNvcnJlbnRvRHJhZnRzW2N1cnJlbnRUb3VyLnNsdWddPy5ndWlkZVByaWNlcykgZGV0YWlscy5wdXNoKFsnTGltb25jZWxsbyB0YXN0aW5nJywgJ0luY2x1ZGVkIGZvciBhZHVsdHMnXSk7CiAgaWYgKHNvcnJlbnRvRXN0aW1hdGUpIGRldGFpbHMucHVzaChbc29ycmVudG9Fc3RpbWF0ZS5kYXRhc2V0LmxhYmVsLCBzb3JyZW50b0VzdGltYXRlLnRleHRDb250ZW50XSk7CiAgY29uc3QgcG9tcGVpaUVzdGltYXRlID0gJCgncG9tcGVpaS1lc3RpbWF0ZScpOwogIGlmIChwb21wZWlpRXN0aW1hdGUpIGRldGFpbHMucHVzaChbcG9tcGVpaUVzdGltYXRlLmRhdGFzZXQubGFiZWwsIHBvbXBlaWlFc3RpbWF0ZS50ZXh0Q29udGVudF0pOwogIGNvbnN0IGNvYXN0RXN0aW1hdGUgPSAkKCdjb2FzdC1lc3RpbWF0ZScpOwogIGlmIChjb2FzdEVzdGltYXRlKSBkZXRhaWxzLnB1c2goW2NvYXN0RXN0aW1hdGUuZGF0YXNldC5sYWJlbCwgY29hc3RFc3RpbWF0ZS50ZXh0Q29udGVudF0pOwogIGNvbnN0IHJhdmVsbG9Fc3RpbWF0ZSA9ICQoJ3JhdmVsbG8tZXN0aW1hdGUnKTsKICBpZiAocmF2ZWxsb0VzdGltYXRlKSBkZXRhaWxzLnB1c2goWydFc3RpbWF0ZWQgc3RhcnRpbmcgdG90YWwnLCByYXZlbGxvRXN0aW1hdGUudGV4dENvbnRlbnRdKTsKICBjb25zdCBib2F0RXN0aW1hdGUgPSAkKCdib2F0LWVzdGltYXRlJyk7CiAgaWYgKGJvYXRFc3RpbWF0ZSkgewogICAgZGV0YWlscy5wdXNoKFsnRXh0cmEgaG91cnMnLCAkKCdib2F0LWV4dHJhLWhvdXJzJykudmFsdWUgKyAnIMOXICcgKyBtb25leShib2F0RHJhZnQuZXh0cmFIb3VyKV0pOwogICAgZGV0YWlscy5wdXNoKFtib2F0RXN0aW1hdGUuZGF0YXNldC5sYWJlbCwgYm9hdEVzdGltYXRlLnRleHRDb250ZW50XSk7CiAgICBkZXRhaWxzLnB1c2goWydEZXBhcnR1cmUgY29uZGl0aW9ucycsIGJvYXREcmFmdC5jb25kaXRpb25zW2Rlc2NyaXB0aW9uTGFuZ3VhZ2VdXSk7CiAgfQogIGNvbnN0IHZpbmVzRXN0aW1hdGUgPSAkKCd2aW5lcy1lc3RpbWF0ZScpOwogIGlmICh2aW5lc0VzdGltYXRlKSBkZXRhaWxzLnB1c2goW3ZpbmVzRXN0aW1hdGUuZGF0YXNldC5sYWJlbCwgdmluZXNFc3RpbWF0ZS50ZXh0Q29udGVudF0pOwogIGNvbnN0IGNhc2VydGFFc3RpbWF0ZSA9ICQoJ2Nhc2VydGEtZXN0aW1hdGUnKTsKICBpZiAoY2FzZXJ0YUVzdGltYXRlKSBkZXRhaWxzLnB1c2goW2Nhc2VydGFFc3RpbWF0ZS5kYXRhc2V0LmxhYmVsLCBjYXNlcnRhRXN0aW1hdGUudGV4dENvbnRlbnRdKTsKICBpZiAoaXNBbWFsZmlXYWxrKSB7CiAgICBjb25zdCBlc3RpbWF0ZSA9ICQoJ2FtYWxmaS1lc3RpbWF0ZScpOwogICAgaWYgKGVzdGltYXRlKSBkZXRhaWxzLnB1c2goW2VzdGltYXRlLmRhdGFzZXQubGFiZWwsIGVzdGltYXRlLnRleHRDb250ZW50XSk7CiAgICBkZXRhaWxzLnB1c2goWydQYXltZW50IG1ldGhvZCcsICdDcmVkaXQgY2FyZCB2aWEgU3RyaXBlJ10pOwogIH0KICAkKCdwbGFuLXN1bW1hcnknKS5pbm5lckhUTUwgPSAnPHA+PHN0cm9uZz4nICsgKGlzQW1hbGZpV2FsayA\/ICdDaGVja291dCBwcmV2aWV3JyA6ICdZb3VyIHJlcXVlc3QgcHJldmlldycpICsKICAgICc8L3N0cm9uZz48L3A+PGRsPicgKwogICAgZGV0YWlscy5tYXAoKFtsYWJlbCwgdmFsdWVdKSA9PiAnPGR0PicgKyBlc2MobGFiZWwpICsgJzwvZHQ+PGRkPicgKyBlc2ModmFsdWUpICsgJzwvZGQ+Jykuam9pbignJykgKwogICAgJzwvZGw+JyArIChpc0FtYWxmaVdhbGsgPyAnPGJ1dHRvbiBjbGFzcz0ic29saWQtYnRuIiB0eXBlPSJidXR0b24iIGRpc2FibGVkPkNvbnRpbnVlIHRvIFN0cmlwZTwvYnV0dG9uPicgKwogICAgICAnPHAgY2xhc3M9InNtYWxsIj5QcmV2aWV3IG9ubHkuIENhcmQgcGF5bWVudCBvcGVucyBhZnRlciB0aGUgdG90YWwgaXMgY29uZmlybWVkIGFuZCBTdHJpcGUgY2hlY2tvdXQgaXMgY29ubmVjdGVkLjwvcD4nIDoKICAgICAgJzxwIGNsYXNzPSJzbWFsbCI+VGhpcyBkcmFmdCBoYXMgbm90IGJlZW4gc2VudC48L3A+Jyk7CiAgJCgncGxhbi1zdW1tYXJ5JykuaGlkZGVuID0gZmFsc2U7Cn0KCiQoJ3NlYXJjaCcpLmFkZEV2ZW50TGlzdGVuZXIoJ2lucHV0JywgcmVuZGVyR3JpZCk7CiQoJ2Rlc2NyaXB0aW9uLWxhbmd1YWdlJykudmFsdWUgPSBkZXNjcmlwdGlvbkxhbmd1YWdlOwokKCdkZXNjcmlwdGlvbi1sYW5ndWFnZScpLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsICgpID0+IHsKICBkZXNjcmlwdGlvbkxhbmd1YWdlID0gJCgnZGVzY3JpcHRpb24tbGFuZ3VhZ2UnKS52YWx1ZTsKICBjb25zdCBwYWdlID0gbmV3IFVSTChsb2NhdGlvbi5ocmVmKTsKICBpZiAoZGVzY3JpcHRpb25MYW5ndWFnZSA9PT0gJ2l0JykgcGFnZS5zZWFyY2hQYXJhbXMuc2V0KCd0b3VyX2xhbmcnLCAnaXQnKTsKICBlbHNlIHBhZ2Uuc2VhcmNoUGFyYW1zLmRlbGV0ZSgndG91cl9sYW5nJyk7CiAgaGlzdG9yeS5yZXBsYWNlU3RhdGUoaGlzdG9yeS5zdGF0ZSwgJycsIHBhZ2UpOwogIHJlbmRlckdyaWQoKTsKfSk7CiQoJ2ZpbHRlcnMnKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsZSA9PiB7CiAgY29uc3QgYnV0dG9uID0gZS50YXJnZXQuY2xvc2VzdCgnW2RhdGEtY2F0ZWdvcnldJyk7CiAgaWYgKCFidXR0b24pIHJldHVybjsKICBjYXRlZ29yeSA9IGJ1dHRvbi5kYXRhc2V0LmNhdGVnb3J5OwogIGZvciAoY29uc3QgY2hpcCBvZiAkKCdmaWx0ZXJzJykucXVlcnlTZWxlY3RvckFsbCgnW2RhdGEtY2F0ZWdvcnldJykpIGNoaXAuc2V0QXR0cmlidXRlKCdhcmlhLXByZXNzZWQnLFN0cmluZyhjaGlwID09PSBidXR0b24pKTsKICByZW5kZXJHcmlkKCk7Cn0pOwokKCd0b3VyLWdyaWQnKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsZSA9PiB7CiAgY29uc3QgdHJpZ2dlciA9IGUudGFyZ2V0LmNsb3Nlc3QoJ1tkYXRhLXRvdXJdJyk7CiAgaWYgKHRyaWdnZXIpIG9wZW5Ub3VyKHRvdXJzLmZpbmQodG91ciA9PiB0b3VyLnNsdWcgPT09IHRyaWdnZXIuZGF0YXNldC50b3VyKSx0cmlnZ2VyKTsKfSk7CmRpYWxvZy5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGUgPT4gewogIGlmIChlLnRhcmdldC5jbG9zZXN0KCcuY2xvc2UnKSB8fCBlLnRhcmdldCA9PT0gZGlhbG9nKSBkaWFsb2cuY2xvc2UoKTsKICBjb25zdCBzdGVwID0gZS50YXJnZXQuY2xvc2VzdCgnW2RhdGEtc3RlcF0nKTsKICBjb25zdCBwaG90byA9IGUudGFyZ2V0LmNsb3Nlc3QoJ1tkYXRhLXBob3RvXScpOwogIGlmIChzdGVwKSBzaG93UGhvdG8oYWN0aXZlUGhvdG8gKyBOdW1iZXIoc3RlcC5kYXRhc2V0LnN0ZXApKTsKICBpZiAocGhvdG8pIHNob3dQaG90byhOdW1iZXIocGhvdG8uZGF0YXNldC5waG90bykpOwp9KTsKZGlhbG9nLmFkZEV2ZW50TGlzdGVuZXIoJ2Nsb3NlJywgKCkgPT4gewogIGNvbnN0IHBhZ2UgPSBuZXcgVVJMKGxvY2F0aW9uLmhyZWYpOwogIGlmIChwYWdlLnNlYXJjaFBhcmFtcy5oYXMoJ3RvdXInKSkgewogICAgcGFnZS5zZWFyY2hQYXJhbXMuZGVsZXRlKCd0b3VyJyk7CiAgICBoaXN0b3J5LnJlcGxhY2VTdGF0ZShoaXN0b3J5LnN0YXRlLCAnJywgcGFnZSk7CiAgfQogIGxhc3RUcmlnZ2VyPy5mb2N1cygpOwp9KTsKZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLGV2ZW50ID0+IHsKICBjb25zdCBpbWcgPSBldmVudC50YXJnZXQ7CiAgaWYgKGltZyBpbnN0YW5jZW9mIEhUTUxJbWFnZUVsZW1lbnQgJiYgKGltZy5jbG9zZXN0KCcuY2FyZC1tZWRpYScpIHx8IGltZy5jbG9zZXN0KCcjbWFpbi1waG90bycpKSkgewogICAgY29uc3QgbWVzc2FnZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTsKICAgIG1lc3NhZ2UuY2xhc3NOYW1lID0gJ2JsYW5rLXBob3RvJzsKICAgIG1lc3NhZ2UudGV4dENvbnRlbnQgPSAnUGhvdG8gdW5hdmFpbGFibGUnOwogICAgaW1nLnJlcGxhY2VXaXRoKG1lc3NhZ2UpOwogIH0KfSx0cnVlKTsKc2hvd0ZpbHRlcnMoKTsKcmVuZGVyR3JpZCgpOwoKY29uc3QgcmVxdWVzdGVkU2x1ZyA9IHBhZ2VQYXJhbXMuZ2V0KCd0b3VyJyk7CmNvbnN0IHJlcXVlc3RlZFRvdXIgPSB0b3Vycy5maW5kKHRvdXIgPT4gdG91ci5zbHVnID09PSByZXF1ZXN0ZWRTbHVnKTsKaWYgKHJlcXVlc3RlZFRvdXIpIHsKICBjb25zdCB0cmlnZ2VyID0gJCgndG91ci1ncmlkJykucXVlcnlTZWxlY3RvcignaDMgYnV0dG9uW2RhdGEtdG91cj0iJyArIHJlcXVlc3RlZFRvdXIuc2x1ZyArICciXScpOwogIG9wZW5Ub3VyKHJlcXVlc3RlZFRvdXIsIHRyaWdnZXIpOwp9Cgp9KSgpOw==\"><\/script><\/div>\r\n","protected":false},"excerpt":{"rendered":"<p>Find your experience Discover Campania Choose a destination or explore by the kind of day you want. \u2315 Tour descriptions \/ DescrizioniEnglishItaliano Enable JavaScript to use the filters, galleries and tour planner. 7 photos Amalfi [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":1401,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"templates\/template-fullwidth.php","meta":{"footnotes":""},"class_list":["post-2225","page","type-page","status-publish","has-post-thumbnail","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Esperienze - Amalfi Coast With Locals<\/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.amalficoastwithlocals.com\/it\/esperienze-2\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Esperienze - Amalfi Coast With Locals\" \/>\n<meta property=\"og:description\" content=\"Find your experience Discover Campania Choose a destination or explore by the kind of day you want. \u2315 Tour descriptions \/ DescrizioniEnglishItaliano Enable JavaScript to use the filters, galleries and tour planner. 7 photos Amalfi [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.amalficoastwithlocals.com\/it\/esperienze-2\/\" \/>\n<meta property=\"og:site_name\" content=\"Amalfi Coast With Locals\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/amalficoastwithlocals\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.amalficoastwithlocals.com\/wp-content\/uploads\/2024\/01\/path-of-gods.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1280\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minuto\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.amalficoastwithlocals.com\\\/it\\\/esperienze-2\\\/\",\"url\":\"https:\\\/\\\/www.amalficoastwithlocals.com\\\/it\\\/esperienze-2\\\/\",\"name\":\"Esperienze - Amalfi Coast With Locals\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.amalficoastwithlocals.com\\\/it\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.amalficoastwithlocals.com\\\/it\\\/esperienze-2\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.amalficoastwithlocals.com\\\/it\\\/esperienze-2\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.amalficoastwithlocals.com\\\/wp-content\\\/uploads\\\/2024\\\/01\\\/path-of-gods.jpg\",\"datePublished\":\"2026-11-07T16:31:32+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.amalficoastwithlocals.com\\\/it\\\/esperienze-2\\\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.amalficoastwithlocals.com\\\/it\\\/esperienze-2\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/www.amalficoastwithlocals.com\\\/it\\\/esperienze-2\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.amalficoastwithlocals.com\\\/wp-content\\\/uploads\\\/2024\\\/01\\\/path-of-gods.jpg\",\"contentUrl\":\"https:\\\/\\\/www.amalficoastwithlocals.com\\\/wp-content\\\/uploads\\\/2024\\\/01\\\/path-of-gods.jpg\",\"width\":1920,\"height\":1280},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.amalficoastwithlocals.com\\\/it\\\/esperienze-2\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.amalficoastwithlocals.com\\\/it\\\/home\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Esperienze\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.amalficoastwithlocals.com\\\/it\\\/#website\",\"url\":\"https:\\\/\\\/www.amalficoastwithlocals.com\\\/it\\\/\",\"name\":\"Amalfi Coast With Locals\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.amalficoastwithlocals.com\\\/it\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.amalficoastwithlocals.com\\\/it\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.amalficoastwithlocals.com\\\/it\\\/#organization\",\"name\":\"Amalfi Coast With Locals\",\"url\":\"https:\\\/\\\/www.amalficoastwithlocals.com\\\/it\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/www.amalficoastwithlocals.com\\\/it\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.amalficoastwithlocals.com\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/acwl-logo-web.webp\",\"contentUrl\":\"https:\\\/\\\/www.amalficoastwithlocals.com\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/acwl-logo-web.webp\",\"width\":400,\"height\":244,\"caption\":\"Amalfi Coast With Locals\"},\"image\":{\"@id\":\"https:\\\/\\\/www.amalficoastwithlocals.com\\\/it\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/amalficoastwithlocals\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/mariagrazia-torre-0bab05208\\\/?originalSubdomain=it\",\"https:\\\/\\\/www.instagram.com\\\/amalficoastwithlocals\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Esperienze - Amalfi Coast With Locals","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.amalficoastwithlocals.com\/it\/esperienze-2\/","og_locale":"it_IT","og_type":"article","og_title":"Esperienze - Amalfi Coast With Locals","og_description":"Find your experience Discover Campania Choose a destination or explore by the kind of day you want. \u2315 Tour descriptions \/ DescrizioniEnglishItaliano Enable JavaScript to use the filters, galleries and tour planner. 7 photos Amalfi [&hellip;]","og_url":"https:\/\/www.amalficoastwithlocals.com\/it\/esperienze-2\/","og_site_name":"Amalfi Coast With Locals","article_publisher":"https:\/\/www.facebook.com\/amalficoastwithlocals","og_image":[{"width":1920,"height":1280,"url":"https:\/\/www.amalficoastwithlocals.com\/wp-content\/uploads\/2024\/01\/path-of-gods.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Tempo di lettura stimato":"1 minuto"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.amalficoastwithlocals.com\/it\/esperienze-2\/","url":"https:\/\/www.amalficoastwithlocals.com\/it\/esperienze-2\/","name":"Esperienze - Amalfi Coast With Locals","isPartOf":{"@id":"https:\/\/www.amalficoastwithlocals.com\/it\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.amalficoastwithlocals.com\/it\/esperienze-2\/#primaryimage"},"image":{"@id":"https:\/\/www.amalficoastwithlocals.com\/it\/esperienze-2\/#primaryimage"},"thumbnailUrl":"https:\/\/www.amalficoastwithlocals.com\/wp-content\/uploads\/2024\/01\/path-of-gods.jpg","datePublished":"2026-11-07T16:31:32+00:00","breadcrumb":{"@id":"https:\/\/www.amalficoastwithlocals.com\/it\/esperienze-2\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.amalficoastwithlocals.com\/it\/esperienze-2\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.amalficoastwithlocals.com\/it\/esperienze-2\/#primaryimage","url":"https:\/\/www.amalficoastwithlocals.com\/wp-content\/uploads\/2024\/01\/path-of-gods.jpg","contentUrl":"https:\/\/www.amalficoastwithlocals.com\/wp-content\/uploads\/2024\/01\/path-of-gods.jpg","width":1920,"height":1280},{"@type":"BreadcrumbList","@id":"https:\/\/www.amalficoastwithlocals.com\/it\/esperienze-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.amalficoastwithlocals.com\/it\/home\/"},{"@type":"ListItem","position":2,"name":"Esperienze"}]},{"@type":"WebSite","@id":"https:\/\/www.amalficoastwithlocals.com\/it\/#website","url":"https:\/\/www.amalficoastwithlocals.com\/it\/","name":"Amalfi Coast With Locals","description":"","publisher":{"@id":"https:\/\/www.amalficoastwithlocals.com\/it\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.amalficoastwithlocals.com\/it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/www.amalficoastwithlocals.com\/it\/#organization","name":"Amalfi Coast With Locals","url":"https:\/\/www.amalficoastwithlocals.com\/it\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.amalficoastwithlocals.com\/it\/#\/schema\/logo\/image\/","url":"https:\/\/www.amalficoastwithlocals.com\/wp-content\/uploads\/2024\/04\/acwl-logo-web.webp","contentUrl":"https:\/\/www.amalficoastwithlocals.com\/wp-content\/uploads\/2024\/04\/acwl-logo-web.webp","width":400,"height":244,"caption":"Amalfi Coast With Locals"},"image":{"@id":"https:\/\/www.amalficoastwithlocals.com\/it\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/amalficoastwithlocals","https:\/\/www.linkedin.com\/in\/mariagrazia-torre-0bab05208\/?originalSubdomain=it","https:\/\/www.instagram.com\/amalficoastwithlocals\/"]}]}},"_links":{"self":[{"href":"https:\/\/www.amalficoastwithlocals.com\/it\/wp-json\/wp\/v2\/pages\/2225","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.amalficoastwithlocals.com\/it\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.amalficoastwithlocals.com\/it\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.amalficoastwithlocals.com\/it\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.amalficoastwithlocals.com\/it\/wp-json\/wp\/v2\/comments?post=2225"}],"version-history":[{"count":1,"href":"https:\/\/www.amalficoastwithlocals.com\/it\/wp-json\/wp\/v2\/pages\/2225\/revisions"}],"predecessor-version":[{"id":2367,"href":"https:\/\/www.amalficoastwithlocals.com\/it\/wp-json\/wp\/v2\/pages\/2225\/revisions\/2367"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.amalficoastwithlocals.com\/it\/wp-json\/wp\/v2\/media\/1401"}],"wp:attachment":[{"href":"https:\/\/www.amalficoastwithlocals.com\/it\/wp-json\/wp\/v2\/media?parent=2225"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}